From 6f2b229bf266e090cbca5ac3d0027b35133ec409 Mon Sep 17 00:00:00 2001 From: Feenie <62373791+FeenieRU@users.noreply.github.com> Date: Wed, 23 Oct 2024 01:15:25 +0300 Subject: [PATCH 001/344] qdel optimize (#3558) ## About The Pull Request That PR optimizes qdel and SSgarbage procs. Based on: https://github.com/tgstation/tgstation/pull/79568 https://github.com/tgstation/tgstation/pull/76956 https://github.com/tgstation/tgstation/pull/80443 https://github.com/tgstation/tgstation/pull/80628 ## Why It's Good For The Game Better performance. Tested on downstream: https://github.com/CeladonSS13/Shiptest/pull/1025 ## Changelog :cl: code: Changing qdel() and SSgarbage procs code: rewrite /Destroy(force, silent) to /Destroy(force) /:cl: --------- Signed-off-by: Feenie <62373791+FeenieRU@users.noreply.github.com> --- code/__DEFINES/dcs/signals/signals.dm | 1 + code/controllers/master.dm | 4 + code/controllers/subsystem.dm | 27 +- code/controllers/subsystem/garbage.dm | 243 ++++++++++-------- code/datums/aquarium.dm | 2 +- code/datums/components/admin_popup.dm | 2 +- code/datums/components/aquarium.dm | 2 +- code/datums/components/attachment.dm | 2 +- code/datums/components/attachment_holder.dm | 2 +- code/datums/components/creamed.dm | 2 +- code/datums/components/deadchat_control.dm | 2 +- code/datums/components/food/edible.dm | 2 +- code/datums/components/food/food_storage.dm | 2 +- code/datums/components/gunpoint.dm | 2 +- code/datums/components/manual_blinking.dm | 2 +- code/datums/components/manual_breathing.dm | 2 +- code/datums/components/pellet_cloud.dm | 2 +- code/datums/components/shielded.dm | 2 +- code/datums/components/weatherannouncer.dm | 2 +- code/datums/datum.dm | 22 +- code/datums/elements/food/edible.dm | 2 +- code/datums/progressbar.dm | 8 +- code/game/machinery/camera/camera.dm | 5 + code/modules/admin/verbs/debug.dm | 3 + .../view_variables/reference_tracking.dm | 224 +++++++++------- code/modules/clothing/chameleon.dm | 92 +++---- code/modules/unit_tests/create_and_destroy.dm | 3 + .../unit_tests/find_reference_sanity.dm | 46 ++-- 28 files changed, 426 insertions(+), 284 deletions(-) diff --git a/code/__DEFINES/dcs/signals/signals.dm b/code/__DEFINES/dcs/signals/signals.dm index 638b5220bc3c..ce91420033dc 100644 --- a/code/__DEFINES/dcs/signals/signals.dm +++ b/code/__DEFINES/dcs/signals/signals.dm @@ -42,6 +42,7 @@ #define COMSIG_COMPONENT_REMOVING "component_removing" /// before a datum's Destroy() is called: (force), returning a nonzero value will cancel the qdel operation #define COMSIG_PARENT_PREQDELETED "parent_preqdeleted" +#define COMSIG_PREQDELETED "parent_preqdeleted" /// just before a datum's Destroy() is called: (force), at this point none of the other components chose to interrupt qdel and Destroy will be called #define COMSIG_PARENT_QDELETING "parent_qdeleting" /// generic topic handler (usr, href_list) diff --git a/code/controllers/master.dm b/code/controllers/master.dm index 302c0de4a427..46090ebb48c5 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -489,6 +489,10 @@ GLOBAL_REAL(Master, /datum/controller/master) = new continue if ((SS_flags & (SS_TICKER|SS_KEEP_TIMING)) == SS_KEEP_TIMING && SS.last_fire + (SS.wait * 0.75) > world.time) continue + if (SS.postponed_fires >= 1) + SS.postponed_fires-- + SS.update_nextfire() + continue SS.enqueue() . = 1 diff --git a/code/controllers/subsystem.dm b/code/controllers/subsystem.dm index f6e35bec6e59..332fcef0787c 100644 --- a/code/controllers/subsystem.dm +++ b/code/controllers/subsystem.dm @@ -75,6 +75,9 @@ /// Tracks the amount of completed runs for the subsystem var/times_fired = 0 + /// How many fires have we been requested to postpone + var/postponed_fires = 0 + /// Time the subsystem entered the queue, (for timing and priority reasons) var/queued_time = 0 @@ -132,6 +135,26 @@ Master.subsystems -= src return ..() +/datum/controller/subsystem/proc/update_nextfire(reset_time = FALSE) + var/queue_node_flags = flags + + if (reset_time) + postponed_fires = 0 + if (queue_node_flags & SS_TICKER) + next_fire = world.time + (world.tick_lag * wait) + else + next_fire = world.time + wait + return + + if (queue_node_flags & SS_TICKER) + next_fire = world.time + (world.tick_lag * wait) + else if (queue_node_flags & SS_POST_FIRE_TIMING) + next_fire = world.time + wait + (world.tick_lag * (tick_overrun/100)) + else if (queue_node_flags & SS_KEEP_TIMING) + next_fire += wait + else + next_fire = queued_time + wait + (world.tick_lag * (tick_overrun/100)) + //Queue it to run. // (we loop thru a linked list until we get to the end or find the right point) // (this lets us sort our run order correctly without having to re-sort the entire already sorted list) @@ -251,8 +274,8 @@ //could be used to postpone a costly subsystem for (default one) var/cycles, cycles //for instance, during cpu intensive operations like explosions /datum/controller/subsystem/proc/postpone(cycles = 1) - if(next_fire - world.time < wait) - next_fire += (wait*cycles) + if (can_fire && cycles >= 1) + postponed_fires += cycles //usually called via datum/controller/subsystem/New() when replacing a subsystem (i.e. due to a recurring crash) //should attempt to salvage what it can from the old instance of subsystem diff --git a/code/controllers/subsystem/garbage.dm b/code/controllers/subsystem/garbage.dm index da58d4764516..60372d39d95b 100644 --- a/code/controllers/subsystem/garbage.dm +++ b/code/controllers/subsystem/garbage.dm @@ -94,32 +94,38 @@ SUBSYSTEM_DEF(garbage) /datum/controller/subsystem/garbage/Shutdown() //Adds the del() log to the qdel log file - var/list/dellog = list() + var/list/del_log = list() //sort by how long it's wasted hard deleting sortTim(items, cmp=/proc/cmp_qdel_item_time, associative = TRUE) for(var/path in items) var/datum/qdel_item/I = items[path] - dellog += "Path: [path]" + var/list/entry = list() + del_log[path] = entry + if (I.qdel_flags & QDEL_ITEM_SUSPENDED_FOR_LAG) - dellog += "\tSUSPENDED FOR LAG" + entry["SUSPENDED FOR LAG"] = TRUE if (I.failures) - dellog += "\tFailures: [I.failures]" - dellog += "\tqdel() Count: [I.qdels]" - dellog += "\tDestroy() Cost: [I.destroy_time]ms" + entry["Failures"] = I.failures + entry["qdel() Count"] = I.qdels + entry["Destroy() Cost (ms)"] = I.destroy_time + if (I.hard_deletes) - dellog += "\tTotal Hard Deletes: [I.hard_deletes]" - dellog += "\tTime Spent Hard Deleting: [I.hard_delete_time]ms" - dellog += "\tHighest Time Spent Hard Deleting: [I.hard_delete_max]ms" + entry["Total Hard Deletes"] = I.hard_deletes + entry["Time Spend Hard Deleting (ms)"] = I.hard_delete_time + entry["Highest Time Spend Hard Deleting (ms)"] = I.hard_delete_max if (I.hard_deletes_over_threshold) - dellog += "\tHard Deletes Over Threshold: [I.hard_deletes_over_threshold]" + entry["Hard Deletes Over Threshold"] = I.hard_deletes_over_threshold if (I.slept_destroy) - dellog += "\tSleeps: [I.slept_destroy]" + entry["Total Sleeps"] = I.slept_destroy if (I.no_respect_force) - dellog += "\tIgnored force: [I.no_respect_force] times" + entry["Total Ignored Force"] = I.no_respect_force if (I.no_hint) - dellog += "\tNo hint: [I.no_hint] times" - log_qdel(dellog.Join("\n")) + entry["Total No Hint"] = I.no_hint + if(LAZYLEN(I.extra_details)) + entry["Deleted Metadata"] = I.extra_details + + log_qdel("", del_log) /datum/controller/subsystem/garbage/fire() //the fact that this resets its processing each fire (rather then resume where it left off) is intentional. @@ -139,8 +145,6 @@ SUBSYSTEM_DEF(garbage) state = SS_RUNNING break - - /datum/controller/subsystem/garbage/proc/InitQueues() if (isnull(queues)) // Only init the queues if they don't already exist, prevents overriding of recovered lists queues = new(GC_QUEUE_COUNT) @@ -167,7 +171,10 @@ SUBSYSTEM_DEF(garbage) lastlevel = level - //We do this rather then for(var/refID in queue) because that sort of for loop copies the whole list. +// 1 from the hard reference in the queue, and 1 from the variable used before this +#define REFS_WE_EXPECT 2 + + //We do this rather then for(var/list/ref_info in queue) because that sort of for loop copies the whole list. //Normally this isn't expensive, but the gc queue can grow to 40k items, and that gets costly/causes overrun. for (var/i in 1 to length(queue)) var/list/L = queue[i] @@ -178,21 +185,19 @@ SUBSYSTEM_DEF(garbage) continue var/queued_at_time = L[GC_QUEUE_ITEM_QUEUE_TIME] - var/GCd_at_time = L[GC_QUEUE_ITEM_GCD_DESTROYED] if(queued_at_time > cut_off_time) break // Everything else is newer, skip them count++ - var/refID = L[GC_QUEUE_ITEM_REF] - var/datum/D - D = locate(refID) + var/datum/D = L[GC_QUEUE_ITEM_REF] - if (!D || D.gc_destroyed != GCd_at_time) // So if something else coincidently gets the same ref, it's not deleted by mistake + // If that's all we've got, send er off + if (refcount(D) == REFS_WE_EXPECT) ++gcedlasttick ++totalgcs pass_counts[level]++ #ifdef REFERENCE_TRACKING - reference_find_on_fail -= refID //It's deleted we don't care anymore. + reference_find_on_fail -= text_ref(D) //It's deleted we don't care anymore. #endif if (MC_TICK_CHECK) return @@ -208,20 +213,30 @@ SUBSYSTEM_DEF(garbage) switch (level) if (GC_QUEUE_CHECK) #ifdef REFERENCE_TRACKING - if(reference_find_on_fail[refID]) - INVOKE_ASYNC(D, TYPE_PROC_REF(/datum, find_references)) + // Decides how many refs to look for (potentially) + // Based off the remaining and the ones we can account for + var/remaining_refs = refcount(D) - REFS_WE_EXPECT + if(reference_find_on_fail[text_ref(D)]) + INVOKE_ASYNC(D, TYPE_PROC_REF(/datum,find_references), remaining_refs) ref_searching = TRUE #ifdef GC_FAILURE_HARD_LOOKUP else - INVOKE_ASYNC(D, TYPE_PROC_REF(/datum, find_references)) + INVOKE_ASYNC(D, TYPE_PROC_REF(/datum,find_references), remaining_refs) ref_searching = TRUE #endif - reference_find_on_fail -= refID + reference_find_on_fail -= text_ref(D) #endif var/type = D.type var/datum/qdel_item/I = items[type] - log_world("## TESTING: GC: -- [text_ref(D)] | [type] was unable to be GC'd --") + var/message = "## TESTING: GC: -- [text_ref(D)] | [type] was unable to be GC'd --" + message = "[message] (ref count of [refcount(D)])" + log_world(message) + + var/detail = D.dump_harddel_info() + if(detail) + LAZYADD(I.extra_details, detail) + #ifdef TESTING for(var/c in GLOB.admins) //Using testing() here would fill the logs with ADMIN_VV garbage var/client/admin = c @@ -231,6 +246,12 @@ SUBSYSTEM_DEF(garbage) #endif I.failures++ + if (I.qdel_flags & QDEL_ITEM_SUSPENDED_FOR_LAG) + #ifdef REFERENCE_TRACKING + if(ref_searching) + return //ref searching intentionally cancels all further fires while running so things that hold references don't end up getting deleted, so we want to return here instead of continue + #endif + continue if (GC_QUEUE_HARDDELETE) HardDelete(D) if (MC_TICK_CHECK) @@ -250,41 +271,41 @@ SUBSYSTEM_DEF(garbage) queue.Cut(1,count+1) count = 0 +#undef REFS_WE_EXPECT + /datum/controller/subsystem/garbage/proc/Queue(datum/D, level = GC_QUEUE_FILTER) if (isnull(D)) return if (level > GC_QUEUE_COUNT) - HardDelete(D, TRUE) + HardDelete(D) return var/queue_time = world.time - var/refid = text_ref(D) if (D.gc_destroyed <= 0) D.gc_destroyed = queue_time var/list/queue = queues[level] - - queue[++queue.len] = list(queue_time, refid, D.gc_destroyed) // not += for byond reasons + queue[++queue.len] = list(queue_time, D, D.gc_destroyed) // not += for byond reasons //this is mainly to separate things profile wise. -/datum/controller/subsystem/garbage/proc/HardDelete(datum/D, force) +/datum/controller/subsystem/garbage/proc/HardDelete(datum/D) ++delslasttick ++totaldels var/type = D.type var/refID = text_ref(D) - var/datum/qdel_item/I = items[type] - - if (!force && I.qdel_flags & QDEL_ITEM_SUSPENDED_FOR_LAG) - return + var/datum/qdel_item/type_info = items[type] + var/detail = D.dump_harddel_info() + if(detail) + LAZYADD(type_info.extra_details, detail) var/tick_usage = TICK_USAGE del(D) tick_usage = TICK_USAGE_TO_MS(tick_usage) - I.hard_deletes++ - I.hard_delete_time += tick_usage - if (tick_usage > I.hard_delete_max) - I.hard_delete_max = tick_usage + type_info.hard_deletes++ + type_info.hard_delete_time += tick_usage + if (tick_usage > type_info.hard_delete_max) + type_info.hard_delete_max = tick_usage if (tick_usage > highest_del_ms) highest_del_ms = tick_usage highest_del_type_string = "[type]" @@ -295,14 +316,14 @@ SUBSYSTEM_DEF(garbage) postpone(time) var/threshold = CONFIG_GET(number/hard_deletes_overrun_threshold) if (threshold && (time > threshold SECONDS)) - if (!(I.qdel_flags & QDEL_ITEM_ADMINS_WARNED)) + if (!(type_info.qdel_flags & QDEL_ITEM_ADMINS_WARNED)) log_game("Error: [type]([refID]) took longer than [threshold] seconds to delete (took [round(time/10, 0.1)] seconds to delete)") message_admins("Error: [type]([refID]) took longer than [threshold] seconds to delete (took [round(time/10, 0.1)] seconds to delete).") - I.qdel_flags |= QDEL_ITEM_ADMINS_WARNED - I.hard_deletes_over_threshold++ + type_info.qdel_flags |= QDEL_ITEM_ADMINS_WARNED + type_info.hard_deletes_over_threshold++ var/overrun_limit = CONFIG_GET(number/hard_deletes_overrun_limit) - if (overrun_limit && I.hard_deletes_over_threshold >= overrun_limit) - I.qdel_flags |= QDEL_ITEM_SUSPENDED_FOR_LAG + if (overrun_limit && type_info.hard_deletes_over_threshold >= overrun_limit) + type_info.qdel_flags |= QDEL_ITEM_SUSPENDED_FOR_LAG /datum/controller/subsystem/garbage/Recover() InitQueues() //We first need to create the queues before recovering data @@ -324,79 +345,85 @@ SUBSYSTEM_DEF(garbage) var/no_hint = 0 //!Number of times it's not even bother to give a qdel hint var/slept_destroy = 0 //!Number of times it's slept in its destroy var/qdel_flags = 0 //!Flags related to this type's trip thru qdel. + var/list/extra_details //!Lazylist of string metadata about the deleted objects /datum/qdel_item/New(mytype) name = "[mytype]" - /// Should be treated as a replacement for the 'del' keyword. /// /// Datums passed to this will be given a chance to clean up references to allow the GC to collect them. -/proc/qdel(datum/D, force=FALSE, ...) - if(!istype(D)) - del(D) +/proc/qdel(datum/to_delete, force = FALSE) + if(!istype(to_delete)) + del(to_delete) return - var/datum/qdel_item/I = SSgarbage.items[D.type] - if (!I) - I = SSgarbage.items[D.type] = new /datum/qdel_item(D.type) - I.qdels++ + var/datum/qdel_item/trash = SSgarbage.items[to_delete.type] + if (isnull(trash)) + trash = SSgarbage.items[to_delete.type] = new /datum/qdel_item(to_delete.type) + trash.qdels++ - if(isnull(D.gc_destroyed)) - if (SEND_SIGNAL(D, COMSIG_PARENT_PREQDELETED, force)) // Give the components a chance to prevent their parent from being deleted - return - D.gc_destroyed = GC_CURRENTLY_BEING_QDELETED - var/start_time = world.time - var/start_tick = world.tick_usage - SEND_SIGNAL(D, COMSIG_PARENT_QDELETING, force) // Let the (remaining) components know about the result of Destroy - var/hint = D.Destroy(arglist(args.Copy(2))) // Let our friend know they're about to get fucked up. - if(world.time != start_time) - I.slept_destroy++ - else - I.destroy_time += TICK_USAGE_TO_MS(start_tick) - if(!D) + if(!isnull(to_delete.gc_destroyed)) + if(to_delete.gc_destroyed == GC_CURRENTLY_BEING_QDELETED) + CRASH("[to_delete.type] destroy proc was called multiple times, likely due to a qdel loop in the Destroy logic") + return + + if (SEND_SIGNAL(to_delete, COMSIG_PREQDELETED, force)) // Give the components a chance to prevent their parent from being deleted + return + + to_delete.gc_destroyed = GC_CURRENTLY_BEING_QDELETED + var/start_time = world.time + var/start_tick = world.tick_usage + SEND_SIGNAL(to_delete, COMSIG_PARENT_QDELETING, force) // Let the (remaining) components know about the result of Destroy + var/hint = to_delete.Destroy(force) // Let our friend know they're about to get fucked up. + + if(world.time != start_time) + trash.slept_destroy++ + else + trash.destroy_time += TICK_USAGE_TO_MS(start_tick) + + if(isnull(to_delete)) + return + + switch(hint) + if (QDEL_HINT_QUEUE) //qdel should queue the object for deletion. + SSgarbage.Queue(to_delete) + if (QDEL_HINT_IWILLGC) + to_delete.gc_destroyed = world.time return - switch(hint) - if (QDEL_HINT_QUEUE) //qdel should queue the object for deletion. - SSgarbage.Queue(D) - if (QDEL_HINT_IWILLGC) - D.gc_destroyed = world.time + if (QDEL_HINT_LETMELIVE) //qdel should let the object live after calling destory. + if(!force) + to_delete.gc_destroyed = null //clear the gc variable (important!) return - if (QDEL_HINT_LETMELIVE) //qdel should let the object live after calling destory. - if(!force) - D.gc_destroyed = null //clear the gc variable (important!) - return - // Returning LETMELIVE after being told to force destroy - // indicates the objects Destroy() does not respect force - #ifdef TESTING - if(!I.no_respect_force) - testing("WARNING: [D.type] has been force deleted, but is \ - returning an immortal QDEL_HINT, indicating it does \ - not respect the force flag for qdel(). It has been \ - placed in the queue, further instances of this type \ - will also be queued.") - #endif - I.no_respect_force++ + // Returning LETMELIVE after being told to force destroy + // indicates the objects Destroy() does not respect force + #ifdef TESTING + if(!trash.no_respect_force) + testing("WARNING: [to_delete.type] has been force deleted, but is \ + returning an immortal QDEL_HINT, indicating it does \ + not respect the force flag for qdel(). It has been \ + placed in the queue, further instances of this type \ + will also be queued.") + #endif + trash.no_respect_force++ - SSgarbage.Queue(D) - if (QDEL_HINT_HARDDEL) //qdel should assume this object won't gc, and queue a hard delete - SSgarbage.Queue(D, GC_QUEUE_HARDDELETE) - if (QDEL_HINT_HARDDEL_NOW) //qdel should assume this object won't gc, and hard del it post haste. - SSgarbage.HardDelete(D, TRUE) - #ifdef REFERENCE_TRACKING - if (QDEL_HINT_FINDREFERENCE) //qdel will, if REFERENCE_TRACKING is enabled, display all references to this object, then queue the object for deletion. - SSgarbage.Queue(D) - D.find_references() - if (QDEL_HINT_IFFAIL_FINDREFERENCE) //qdel will, if REFERENCE_TRACKING is enabled and the object fails to collect, display all references to this object. - SSgarbage.Queue(D) - SSgarbage.reference_find_on_fail[text_ref(D)] = TRUE + SSgarbage.Queue(to_delete) + if (QDEL_HINT_HARDDEL) //qdel should assume this object won't gc, and queue a hard delete + SSgarbage.Queue(to_delete, GC_QUEUE_HARDDELETE) + if (QDEL_HINT_HARDDEL_NOW) //qdel should assume this object won't gc, and hard del it post haste. + SSgarbage.HardDelete(to_delete) + #ifdef REFERENCE_TRACKING + if (QDEL_HINT_FINDREFERENCE) //qdel will, if REFERENCE_TRACKING is enabled, display all references to this object, then queue the object for deletion. + SSgarbage.Queue(to_delete) + INVOKE_ASYNC(to_delete, TYPE_PROC_REF(/datum, find_references)) + if (QDEL_HINT_IFFAIL_FINDREFERENCE) //qdel will, if REFERENCE_TRACKING is enabled and the object fails to collect, display all references to this object. + SSgarbage.Queue(to_delete) + SSgarbage.reference_find_on_fail[text_ref(to_delete)] = TRUE + #endif + else + #ifdef TESTING + if(!trash.no_hint) + testing("WARNING: [to_delete.type] is not returning a qdel hint. It is being placed in the queue. Further instances of this type will also be queued.") #endif - else - #ifdef TESTING - if(!I.no_hint) - testing("WARNING: [D.type] is not returning a qdel hint. It is being placed in the queue. Further instances of this type will also be queued.") - #endif - I.no_hint++ - SSgarbage.Queue(D) - else if(D.gc_destroyed == GC_CURRENTLY_BEING_QDELETED) - CRASH("[D.type] destroy proc was called multiple times, likely due to a qdel loop in the Destroy logic") + trash.no_hint++ + SSgarbage.Queue(to_delete) diff --git a/code/datums/aquarium.dm b/code/datums/aquarium.dm index da8c3afeb531..37a38f7849e6 100644 --- a/code/datums/aquarium.dm +++ b/code/datums/aquarium.dm @@ -136,7 +136,7 @@ . = ..() REMOVE_TRAIT(parent, TRAIT_FISH_CASE_COMPATIBILE, REF(src)) -/datum/component/aquarium_content/Destroy(force, silent) +/datum/component/aquarium_content/Destroy(force) if(current_aquarium) remove_from_aquarium() QDEL_NULL(vc_obj) diff --git a/code/datums/components/admin_popup.dm b/code/datums/components/admin_popup.dm index 88ef0d97fabf..98d0eccfbf2a 100644 --- a/code/datums/components/admin_popup.dm +++ b/code/datums/components/admin_popup.dm @@ -26,7 +26,7 @@ PROC_REF(delete_self), ) -/datum/component/admin_popup/Destroy(force, silent) +/datum/component/admin_popup/Destroy(force) var/client/parent_client = parent parent_client?.screen -= admin_popup diff --git a/code/datums/components/aquarium.dm b/code/datums/components/aquarium.dm index da8c3afeb531..37a38f7849e6 100644 --- a/code/datums/components/aquarium.dm +++ b/code/datums/components/aquarium.dm @@ -136,7 +136,7 @@ . = ..() REMOVE_TRAIT(parent, TRAIT_FISH_CASE_COMPATIBILE, REF(src)) -/datum/component/aquarium_content/Destroy(force, silent) +/datum/component/aquarium_content/Destroy(force) if(current_aquarium) remove_from_aquarium() QDEL_NULL(vc_obj) diff --git a/code/datums/components/attachment.dm b/code/datums/components/attachment.dm index 01e3abedd80b..1d1edcd44545 100644 --- a/code/datums/components/attachment.dm +++ b/code/datums/components/attachment.dm @@ -52,7 +52,7 @@ for(var/signal in signals) RegisterSignal(parent, signal, signals[signal]) -/datum/component/attachment/Destroy(force, silent) +/datum/component/attachment/Destroy(force) REMOVE_TRAIT(parent, TRAIT_ATTACHABLE, "attachable") if(actions && length(actions)) var/obj/item/gun/parent = src.parent diff --git a/code/datums/components/attachment_holder.dm b/code/datums/components/attachment_holder.dm index 82968a17604b..f83a55eb201a 100644 --- a/code/datums/components/attachment_holder.dm +++ b/code/datums/components/attachment_holder.dm @@ -57,7 +57,7 @@ SIGNAL_HANDLER qdel(src) -/datum/component/attachment_holder/Destroy(force, silent) +/datum/component/attachment_holder/Destroy(force) QDEL_LIST(attachments) attachments = null return ..() diff --git a/code/datums/components/creamed.dm b/code/datums/components/creamed.dm index 019bb7362bd2..c2cf5d07a28e 100644 --- a/code/datums/components/creamed.dm +++ b/code/datums/components/creamed.dm @@ -39,7 +39,7 @@ GLOBAL_LIST_INIT(creamable, typecacheof(list( var/atom/A = parent A.add_overlay(creamface) -/datum/component/creamed/Destroy(force, silent) +/datum/component/creamed/Destroy(force) var/atom/A = parent A.cut_overlay(creamface) qdel(creamface) diff --git a/code/datums/components/deadchat_control.dm b/code/datums/components/deadchat_control.dm index f34960db1072..6030214bf8b7 100644 --- a/code/datums/components/deadchat_control.dm +++ b/code/datums/components/deadchat_control.dm @@ -24,7 +24,7 @@ notify_ghosts("[parent] is now deadchat controllable!", source = parent, action = NOTIFY_ORBIT, header="Something Interesting!") -/datum/component/deadchat_control/Destroy(force, silent) +/datum/component/deadchat_control/Destroy(force) inputs = null orbiters = null ckey_to_cooldown = null diff --git a/code/datums/components/food/edible.dm b/code/datums/components/food/edible.dm index cde77f969911..729c50f2349f 100644 --- a/code/datums/components/food/edible.dm +++ b/code/datums/components/food/edible.dm @@ -142,7 +142,7 @@ Behavior that's still missing from this component that original food items had t src.after_eat = after_eat src.on_consume = on_consume -/datum/component/edible/Destroy(force, silent) +/datum/component/edible/Destroy(force) QDEL_NULL(pre_eat) QDEL_NULL(on_compost) QDEL_NULL(after_eat) diff --git a/code/datums/components/food/food_storage.dm b/code/datums/components/food/food_storage.dm index 259ef4a8b6c6..6bc3641711b3 100644 --- a/code/datums/components/food/food_storage.dm +++ b/code/datums/components/food/food_storage.dm @@ -29,7 +29,7 @@ bad_chance_of_discovery = _bad_chance good_chance_of_discovery = _good_chance -/datum/component/food_storage/Destroy(force, silent) +/datum/component/food_storage/Destroy(force) if(stored_item) stored_item.forceMove(stored_item.drop_location()) stored_item.dropped() diff --git a/code/datums/components/gunpoint.dm b/code/datums/components/gunpoint.dm index 85701e9c7626..ab7b1e641410 100644 --- a/code/datums/components/gunpoint.dm +++ b/code/datums/components/gunpoint.dm @@ -46,7 +46,7 @@ addtimer(CALLBACK(src, PROC_REF(update_stage), 2), GUNPOINT_DELAY_STAGE_2) -/datum/component/gunpoint/Destroy(force, silent) +/datum/component/gunpoint/Destroy(force) var/mob/living/shooter = parent shooter.remove_status_effect(STATUS_EFFECT_HOLDUP) target.remove_status_effect(STATUS_EFFECT_HELDUP) diff --git a/code/datums/components/manual_blinking.dm b/code/datums/components/manual_blinking.dm index d97e88ca8fe9..e33d5f558d81 100644 --- a/code/datums/components/manual_blinking.dm +++ b/code/datums/components/manual_blinking.dm @@ -22,7 +22,7 @@ last_blink = world.time to_chat(C, "You suddenly realize you're blinking manually.") -/datum/component/manual_blinking/Destroy(force, silent) +/datum/component/manual_blinking/Destroy(force) E = null STOP_PROCESSING(SSdcs, src) to_chat(parent, "You revert back to automatic blinking.") diff --git a/code/datums/components/manual_breathing.dm b/code/datums/components/manual_breathing.dm index bcae15536ca7..882887f0ccc5 100644 --- a/code/datums/components/manual_breathing.dm +++ b/code/datums/components/manual_breathing.dm @@ -22,7 +22,7 @@ last_breath = world.time to_chat(C, "You suddenly realize you're breathing manually.") -/datum/component/manual_breathing/Destroy(force, silent) +/datum/component/manual_breathing/Destroy(force) L = null STOP_PROCESSING(SSdcs, src) to_chat(parent, "You revert back to automatic breathing.") diff --git a/code/datums/components/pellet_cloud.dm b/code/datums/components/pellet_cloud.dm index 19b1e2094993..9ef5b57d1fa1 100644 --- a/code/datums/components/pellet_cloud.dm +++ b/code/datums/components/pellet_cloud.dm @@ -60,7 +60,7 @@ else if(isgrenade(parent) || islandmine(parent) || issupplypod(parent)) radius = magnitude -/datum/component/pellet_cloud/Destroy(force, silent) +/datum/component/pellet_cloud/Destroy(force) purple_hearts = null pellets = null targets_hit = null diff --git a/code/datums/components/shielded.dm b/code/datums/components/shielded.dm index 81cb0c2b4d40..7c2c3473e2d0 100644 --- a/code/datums/components/shielded.dm +++ b/code/datums/components/shielded.dm @@ -50,7 +50,7 @@ if(recharge_start_delay) START_PROCESSING(SSdcs, src) -/datum/component/shielded/Destroy(force, silent) +/datum/component/shielded/Destroy(force) if(wearer) shield_icon = "broken" UnregisterSignal(wearer, COMSIG_ATOM_UPDATE_OVERLAYS) diff --git a/code/datums/components/weatherannouncer.dm b/code/datums/components/weatherannouncer.dm index a5e622d8669e..7da27dcbba2f 100644 --- a/code/datums/components/weatherannouncer.dm +++ b/code/datums/components/weatherannouncer.dm @@ -38,7 +38,7 @@ speaker.update_appearance(UPDATE_ICON) update_light_color() -/datum/component/weather_announcer/Destroy(force, silent) +/datum/component/weather_announcer/Destroy(force) STOP_PROCESSING(SSprocessing, src) return ..() diff --git a/code/datums/datum.dm b/code/datums/datum.dm index e2f478ba7834..97da48745fae 100644 --- a/code/datums/datum.dm +++ b/code/datums/datum.dm @@ -44,8 +44,12 @@ var/datum/weakref/weak_reference #ifdef REFERENCE_TRACKING - var/running_find_references + /// When was this datum last touched by a reftracker? + /// If this value doesn't match with the start of the search + /// We know this datum has never been seen before, and we should check it var/last_find_references = 0 + /// How many references we're trying to find when searching + var/references_to_clear = 0 #ifdef REFERENCE_TRACKING_DEBUG ///Stores info about where refs are found, used for sanity checks and testing var/list/found_refs @@ -226,3 +230,19 @@ qdel(D) else return returned + +/// Return text from this proc to provide extra context to hard deletes that happen to it +/// Optional, you should use this for cases where replication is difficult and extra context is required +/// Can be called more then once per object, use harddel_deets_dumped to avoid duplicate calls (I am so sorry) +/datum/proc/dump_harddel_info() + return + +/image + var/harddel_deets_dumped = FALSE + +///images are pretty generic, this should help a bit with tracking harddels related to them +/image/dump_harddel_info() + if(harddel_deets_dumped) + return + harddel_deets_dumped = TRUE + return "Image icon: [icon] - icon_state: [icon_state] [loc ? "loc: [loc] ([loc.x],[loc.y],[loc.z])" : ""]" diff --git a/code/datums/elements/food/edible.dm b/code/datums/elements/food/edible.dm index a06a5ec28b79..615422198d88 100644 --- a/code/datums/elements/food/edible.dm +++ b/code/datums/elements/food/edible.dm @@ -143,7 +143,7 @@ Behavior that's still missing from this component that original food items had t src.after_eat = after_eat src.on_consume = on_consume -/datum/component/edible/Destroy(force, silent) +/datum/component/edible/Destroy(force) QDEL_NULL(pre_eat) QDEL_NULL(on_compost) QDEL_NULL(after_eat) diff --git a/code/datums/progressbar.dm b/code/datums/progressbar.dm index 7134d2e8ecef..9dea05393577 100644 --- a/code/datums/progressbar.dm +++ b/code/datums/progressbar.dm @@ -16,7 +16,8 @@ var/last_progress = 0 ///Variable to ensure smooth visual stacking on multiple progress bars. var/listindex = 0 - + ///The type of our last value for bar_loc, for debugging + var/location_type /datum/progressbar/New(mob/User, goal_number, atom/target) . = ..() @@ -32,6 +33,7 @@ return goal = goal_number bar_loc = target + location_type = bar_loc.type bar = image('icons/effects/progressbar.dmi', bar_loc, "prog_bar_0", HUD_LAYER) bar.plane = ABOVE_HUD_PLANE bar.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA @@ -135,6 +137,10 @@ QDEL_IN(src, PROGRESSBAR_ANIMATION_TIME) +///Progress bars are very generic, and what hangs a ref to them depends heavily on the context in which they're used +///So let's make hunting harddels easier yeah? +/datum/progressbar/dump_harddel_info() + return "Owner's type: [location_type]" #undef PROGRESSBAR_ANIMATION_TIME #undef PROGRESSBAR_HEIGHT diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index fda41eab7789..21eb3cc362b7 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -99,6 +99,11 @@ /obj/machinery/camera/proc/create_prox_monitor() if(!proximity_monitor) proximity_monitor = new(src, 1) + RegisterSignal(proximity_monitor, COMSIG_PARENT_QDELETING, PROC_REF(proximity_deleted)) + +/obj/machinery/camera/proc/proximity_deleted() + SIGNAL_HANDLER + proximity_monitor = null /obj/machinery/camera/proc/set_area_motion(area/A) area_motion = A diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 2c269ce1ee9a..61d8b2757836 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -614,6 +614,9 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that dellog += "
  • Ignored force: [I.no_respect_force]
  • " if (I.no_hint) dellog += "
  • No hint: [I.no_hint]
  • " + if(LAZYLEN(I.extra_details)) + var/details = I.extra_details.Join("
  • ") + dellog += "
  • Extra Info: " dellog += "
  • " dellog += "" diff --git a/code/modules/admin/view_variables/reference_tracking.dm b/code/modules/admin/view_variables/reference_tracking.dm index a9a84986416d..b9fd0e6d2ad6 100644 --- a/code/modules/admin/view_variables/reference_tracking.dm +++ b/code/modules/admin/view_variables/reference_tracking.dm @@ -1,36 +1,29 @@ #ifdef REFERENCE_TRACKING +#define REFSEARCH_RECURSE_LIMIT 64 -/datum/proc/find_references(skip_alert) - running_find_references = type +/datum/proc/find_references(references_to_clear = INFINITY) if(usr?.client) - if(usr.client.running_find_references) - log_reftracker("CANCELLED search for references to a [usr.client.running_find_references].") - usr.client.running_find_references = null - running_find_references = null - //restart the garbage collector - SSgarbage.can_fire = TRUE - SSgarbage.next_fire = world.time + world.tick_lag + if(tgui_alert(usr,"Running this will lock everything up for about 5 minutes. Would you like to begin the search?", "Find References", list("Yes", "No")) != "Yes") return - #ifndef FIND_REF_NO_CHECK_TICK - if(!skip_alert && alert("Running this will lock everything up for about 5 minutes. Would you like to begin the search?", "Find References", "Yes", "No") != "Yes") - running_find_references = null - return - #endif - + src.references_to_clear = references_to_clear //this keeps the garbage collector from failing to collect objects being searched for in here SSgarbage.can_fire = FALSE - if(usr?.client) - usr.client.running_find_references = type + _search_references() + //restart the garbage collector + SSgarbage.can_fire = TRUE + SSgarbage.update_nextfire(reset_time = TRUE) - log_reftracker("Beginning search for references to a [type].") +/datum/proc/_search_references() + log_reftracker("Beginning search for references to a [type], looking for [references_to_clear] refs.") var/starting_time = world.time - //Time to search the whole game for our ref - DoSearchVar(GLOB, "GLOB", search_time = starting_time) //globals + DoSearchVar(GLOB, "GLOB", starting_time) //globals log_reftracker("Finished searching globals") + if(src.references_to_clear == 0) + return //Yes we do actually need to do this. The searcher refuses to read weird lists //And global.vars is a really weird list @@ -38,45 +31,46 @@ for(var/key in global.vars) global_vars[key] = global.vars[key] - DoSearchVar(global_vars, "Native Global", search_time = starting_time) + DoSearchVar(global_vars, "Native Global", starting_time) log_reftracker("Finished searching native globals") + if(src.references_to_clear == 0) + return for(var/datum/thing in world) //atoms (don't beleive its lies) - DoSearchVar(thing, "World -> [thing.type]", search_time = starting_time) + DoSearchVar(thing, "World -> [thing.type]", starting_time) + if(src.references_to_clear == 0) + break log_reftracker("Finished searching atoms") + if(src.references_to_clear == 0) + return for(var/datum/thing) //datums - DoSearchVar(thing, "Datums -> [thing.type]", search_time = starting_time) + DoSearchVar(thing, "Datums -> [thing.type]", starting_time) + if(src.references_to_clear == 0) + break log_reftracker("Finished searching datums") + if(src.references_to_clear == 0) + return -#ifndef REFERENCE_DOING_IT_LIVE //Warning, attempting to search clients like this will cause crashes if done on live. Watch yourself +#ifndef REFERENCE_DOING_IT_LIVE for(var/client/thing) //clients - DoSearchVar(thing, "Clients -> [thing.type]", search_time = starting_time) + DoSearchVar(thing, "Clients -> [thing.type]", starting_time) + if(src.references_to_clear == 0) + break log_reftracker("Finished searching clients") - - log_reftracker("Completed search for references to a [type].") + if(src.references_to_clear == 0) + return #endif - if(usr?.client) - usr.client.running_find_references = null - running_find_references = null - - //restart the garbage collector - SSgarbage.can_fire = TRUE - SSgarbage.next_fire = world.time + world.tick_lag - -/datum/proc/DoSearchVar(potential_container, container_name, recursive_limit = 64, search_time = world.time) - #ifdef REFERENCE_TRACKING_DEBUG - if(SSgarbage.should_save_refs && !found_refs) - found_refs = list() - #endif + log_reftracker("Completed search for references to a [type].") - if(usr?.client && !usr.client.running_find_references) +/datum/proc/DoSearchVar(potential_container, container_name, search_time, recursion_count, is_special_list) + if(recursion_count >= REFSEARCH_RECURSE_LIMIT) + log_reftracker("Recursion limit reached. [container_name]") return - if(!recursive_limit) - log_reftracker("Recursion limit reached. [container_name]") + if(references_to_clear == 0) return //Check each time you go down a layer. This makes it a bit slow, but it won't effect the rest of the game at all @@ -84,7 +78,7 @@ CHECK_TICK #endif - if(istype(potential_container, /datum)) + if(isdatum(potential_container)) var/datum/datum_container = potential_container if(datum_container.last_find_references == search_time) return @@ -92,68 +86,122 @@ datum_container.last_find_references = search_time var/list/vars_list = datum_container.vars + var/is_atom = FALSE + var/is_area = FALSE + if(isatom(datum_container)) + is_atom = TRUE + if(isarea(datum_container)) + is_area = TRUE for(var/varname in vars_list) - #ifndef FIND_REF_NO_CHECK_TICK - CHECK_TICK - #endif - if (varname == "vars" || varname == "vis_locs") //Fun fact, vis_locs don't count for references - continue var/variable = vars_list[varname] - - if(variable == src) + if(islist(variable)) + //Fun fact, vis_locs don't count for references + if(varname == "vars" || (is_atom && (varname == "vis_locs" || varname == "overlays" || varname == "underlays" || varname == "filters" || varname == "verbs" || (is_area && varname == "contents")))) + continue + // We do this after the varname check to avoid area contents (reading it incures a world loop's worth of cost) + if(!length(variable)) + continue + DoSearchVar(variable,\ + "[container_name] [datum_container.ref_search_details()] -> [varname] (list)",\ + search_time,\ + recursion_count + 1,\ + /*is_special_list = */ is_atom && (varname == "contents" || varname == "vis_contents" || varname == "locs")) + else if(variable == src) #ifdef REFERENCE_TRACKING_DEBUG if(SSgarbage.should_save_refs) + if(!found_refs) + found_refs = list() found_refs[varname] = TRUE continue //End early, don't want these logging + else + log_reftracker("Found [type] [text_ref(src)] in [datum_container.type]'s [datum_container.ref_search_details()] [varname] var. [container_name]") + #else + log_reftracker("Found [type] [text_ref(src)] in [datum_container.type]'s [datum_container.ref_search_details()] [varname] var. [container_name]") #endif - log_reftracker("Found [type] [text_ref(src)] in [datum_container.type]'s [text_ref(datum_container)] [varname] var. [container_name]") + references_to_clear -= 1 + if(references_to_clear == 0) + log_reftracker("All references to [type] [text_ref(src)] found, exiting.") + return continue - if(islist(variable)) - DoSearchVar(variable, "[container_name] [text_ref(datum_container)] -> [varname] (list)", recursive_limit - 1, search_time) - else if(islist(potential_container)) - var/normal = IS_NORMAL_LIST(potential_container) var/list/potential_cache = potential_container for(var/element_in_list in potential_cache) - #ifndef FIND_REF_NO_CHECK_TICK - CHECK_TICK - #endif + //Check normal sublists + if(islist(element_in_list)) + if(length(element_in_list)) + DoSearchVar(element_in_list, "[container_name] -> [element_in_list] (list)", search_time, recursion_count + 1) //Check normal entrys - if(element_in_list == src) + else if(element_in_list == src) #ifdef REFERENCE_TRACKING_DEBUG if(SSgarbage.should_save_refs) + if(!found_refs) + found_refs = list() found_refs[potential_cache] = TRUE - continue //End early, don't want these logging - #endif + continue + else + log_reftracker("Found [type] [text_ref(src)] in list [container_name].") + #else log_reftracker("Found [type] [text_ref(src)] in list [container_name].") - continue - - var/assoc_val = null - if(!isnum(element_in_list) && normal) - assoc_val = potential_cache[element_in_list] - //Check assoc entrys - if(assoc_val == src) - #ifdef REFERENCE_TRACKING_DEBUG - if(SSgarbage.should_save_refs) - found_refs[potential_cache] = TRUE - continue //End early, don't want these logging #endif - log_reftracker("Found [type] [text_ref(src)] in list [container_name]\[[element_in_list]\]") - continue - //We need to run both of these checks, since our object could be hiding in either of them - //Check normal sublists - if(islist(element_in_list)) - DoSearchVar(element_in_list, "[container_name] -> [element_in_list] (list)", recursive_limit - 1, search_time) - //Check assoc sublists - if(islist(assoc_val)) - DoSearchVar(potential_container[element_in_list], "[container_name]\[[element_in_list]\] -> [assoc_val] (list)", recursive_limit - 1, search_time) -/proc/qdel_and_find_ref_if_fail(datum/thing_to_del, force = FALSE) - thing_to_del.qdel_and_find_ref_if_fail(force) + // This is dumb as hell I'm sorry + // I don't want the garbage subsystem to count as a ref for the purposes of this number + // If we find all other refs before it I want to early exit, and if we don't I want to keep searching past it + var/ignore_ref = FALSE + var/list/queues = SSgarbage.queues + for(var/list/queue in queues) + if(potential_cache in queue) + ignore_ref = TRUE + break + if(ignore_ref) + log_reftracker("[container_name] does not count as a ref for our count") + else + references_to_clear -= 1 + if(references_to_clear == 0) + log_reftracker("All references to [type] [text_ref(src)] found, exiting.") + return + + if(!isnum(element_in_list) && !is_special_list) + // This exists to catch an error that throws when we access a special list + // is_special_list is a hint, it can be wrong + try + var/assoc_val = potential_cache[element_in_list] + //Check assoc sublists + if(islist(assoc_val)) + if(length(assoc_val)) + DoSearchVar(potential_container[element_in_list], "[container_name]\[[element_in_list]\] -> [assoc_val] (list)", search_time, recursion_count + 1) + //Check assoc entry + else if(assoc_val == src) + #ifdef REFERENCE_TRACKING_DEBUG + if(SSgarbage.should_save_refs) + if(!found_refs) + found_refs = list() + found_refs[potential_cache] = TRUE + continue + else + log_reftracker("Found [type] [text_ref(src)] in list [container_name]\[[element_in_list]\]") + #else + log_reftracker("Found [type] [text_ref(src)] in list [container_name]\[[element_in_list]\]") + #endif + references_to_clear -= 1 + if(references_to_clear == 0) + log_reftracker("All references to [type] [text_ref(src)] found, exiting.") + return + catch + // So if it goes wrong we kill it + is_special_list = TRUE + log_reftracker("Curiosity: [container_name] lead to an error when acessing [element_in_list], what is it?") + +#undef REFSEARCH_RECURSE_LIMIT +#endif -/datum/proc/qdel_and_find_ref_if_fail(force = FALSE) - SSgarbage.reference_find_on_fail[text_ref(src)] = TRUE - qdel(src, force) +// Kept outside the ifdef so overrides are easy to implement -#endif +/// Return info about us for reference searching purposes +/// Will be logged as a representation of this datum if it's a part of a search chain +/datum/proc/ref_search_details() + return text_ref(src) + +/datum/callback/ref_search_details() + return "[text_ref(src)] (obj: [object] proc: [delegate] args: [json_encode(arguments)] user: [user?.resolve() || "null"])" diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index f5c37b18997d..7fb618f34ddb 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -12,10 +12,12 @@ // Damn our lack of abstract interfeces if (istype(target, /obj/item/clothing/head/chameleon/drone)) var/obj/item/clothing/head/chameleon/drone/X = target - X.chameleon_action.random_look(owner) + var/datum/action/item_action/chameleon/change/chameleon_action_x = locate() in X.actions + chameleon_action_x.random_look(owner) if (istype(target, /obj/item/clothing/mask/chameleon/drone)) var/obj/item/clothing/mask/chameleon/drone/Z = target - Z.chameleon_action.random_look(owner) + var/datum/action/item_action/chameleon/change/chameleon_action_z = locate() in Z.actions + chameleon_action_z.random_look(owner) return 1 @@ -133,7 +135,8 @@ if(helmet_type) var/obj/item/clothing/head/chameleon/hat = H.head - hat.chameleon_action.update_look(user, helmet_type) + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in hat.actions + chameleon_action.update_look(user, helmet_type) // ID card sechud if(outfit.job_icon) @@ -320,11 +323,9 @@ can_adjust = FALSE armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) - var/datum/action/item_action/chameleon/change/chameleon_action - /obj/item/clothing/under/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/clothing/under chameleon_action.chameleon_name = "Jumpsuit" chameleon_action.chameleon_blacklist = typecacheof(list(/obj/item/clothing/under, /obj/item/clothing/under/color, /obj/item/clothing/under/rank, /obj/item/clothing/under/changeling), only_root_path = TRUE) @@ -334,10 +335,12 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/clothing/under/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) /obj/item/clothing/suit/chameleon @@ -351,11 +354,9 @@ resistance_flags = NONE armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) - var/datum/action/item_action/chameleon/change/chameleon_action - /obj/item/clothing/suit/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/clothing/suit chameleon_action.chameleon_name = "Suit" chameleon_action.chameleon_blacklist = typecacheof(list(/obj/item/clothing/suit/armor/abductor, /obj/item/clothing/suit/changeling), only_root_path = TRUE) @@ -365,10 +366,12 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/clothing/suit/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) /obj/item/clothing/glasses/chameleon @@ -379,11 +382,9 @@ resistance_flags = NONE armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) - var/datum/action/item_action/chameleon/change/chameleon_action - /obj/item/clothing/glasses/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/clothing/glasses chameleon_action.chameleon_name = "Glasses" chameleon_action.chameleon_blacklist = typecacheof(/obj/item/clothing/glasses/changeling, only_root_path = TRUE) @@ -393,10 +394,12 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/clothing/glasses/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) /obj/item/clothing/gloves/chameleon @@ -408,11 +411,9 @@ resistance_flags = NONE armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) - var/datum/action/item_action/chameleon/change/chameleon_action - /obj/item/clothing/gloves/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/clothing/gloves chameleon_action.chameleon_name = "Gloves" chameleon_action.chameleon_blacklist = typecacheof(list(/obj/item/clothing/gloves, /obj/item/clothing/gloves/color, /obj/item/clothing/gloves/changeling), only_root_path = TRUE) @@ -422,10 +423,12 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/clothing/gloves/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) /obj/item/clothing/head/chameleon @@ -436,11 +439,9 @@ resistance_flags = NONE armor = list("melee" = 5, "bullet" = 5, "laser" = 5, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) - var/datum/action/item_action/chameleon/change/chameleon_action - /obj/item/clothing/head/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/clothing/head chameleon_action.chameleon_name = "Hat" chameleon_action.chameleon_blacklist = typecacheof(/obj/item/clothing/head/changeling, only_root_path = TRUE) @@ -450,10 +451,12 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/clothing/head/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) /obj/item/clothing/head/chameleon/drone @@ -465,6 +468,7 @@ /obj/item/clothing/head/chameleon/drone/Initialize() . = ..() ADD_TRAIT(src, TRAIT_NODROP, ABSTRACT_ITEM_TRAIT) + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.random_look() var/datum/action/item_action/chameleon/drone/togglehatmask/togglehatmask_action = new(src) togglehatmask_action.UpdateButtonIcon() @@ -486,11 +490,9 @@ var/voice_change = 1 ///This determines if the voice changer is on or off. - var/datum/action/item_action/chameleon/change/chameleon_action - /obj/item/clothing/mask/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/clothing/mask chameleon_action.chameleon_name = "Mask" chameleon_action.chameleon_blacklist = typecacheof(/obj/item/clothing/mask/changeling, only_root_path = TRUE) @@ -500,10 +502,12 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/clothing/mask/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) /obj/item/clothing/mask/chameleon/attack_self(mob/user) @@ -519,6 +523,7 @@ /obj/item/clothing/mask/chameleon/drone/Initialize() . = ..() ADD_TRAIT(src, TRAIT_NODROP, ABSTRACT_ITEM_TRAIT) + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.random_look() var/datum/action/item_action/chameleon/drone/togglehatmask/togglehatmask_action = new(src) togglehatmask_action.UpdateButtonIcon() @@ -537,11 +542,9 @@ armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) pocket_storage_component_path = /datum/component/storage/concrete/pockets/shoes - var/datum/action/item_action/chameleon/change/chameleon_action - /obj/item/clothing/shoes/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/clothing/shoes chameleon_action.chameleon_name = "Shoes" chameleon_action.chameleon_blacklist = typecacheof(/obj/item/clothing/shoes/changeling, only_root_path = TRUE) @@ -551,6 +554,7 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/clothing/shoes/chameleon/noslip @@ -562,15 +566,15 @@ /obj/item/clothing/shoes/chameleon/noslip/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) /obj/item/storage/backpack/chameleon name = "backpack" - var/datum/action/item_action/chameleon/change/chameleon_action /obj/item/storage/backpack/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/storage/backpack chameleon_action.chameleon_name = "Backpack" chameleon_action.initialize_disguises() @@ -579,21 +583,22 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/storage/backpack/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) /obj/item/storage/belt/chameleon name = "toolbelt" desc = "Holds tools." - var/datum/action/item_action/chameleon/change/chameleon_action /obj/item/storage/belt/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/storage/belt chameleon_action.chameleon_name = "Belt" chameleon_action.initialize_disguises() @@ -607,19 +612,17 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/storage/belt/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) -/obj/item/radio/headset/chameleon - name = "radio headset" - var/datum/action/item_action/chameleon/change/chameleon_action - /obj/item/radio/headset/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/radio/headset chameleon_action.chameleon_name = "Headset" chameleon_action.initialize_disguises() @@ -628,19 +631,17 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/radio/headset/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) -/obj/item/pda/chameleon - name = "PDA" - var/datum/action/item_action/chameleon/change/pda/chameleon_action - /obj/item/pda/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/pda chameleon_action.chameleon_name = "PDA" chameleon_action.chameleon_blacklist = typecacheof(list(/obj/item/pda/heads, /obj/item/pda/ai, /obj/item/pda/ai/pai), only_root_path = TRUE) @@ -650,24 +651,24 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/pda/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) -/obj/item/stamp/chameleon - var/datum/action/item_action/chameleon/change/chameleon_action - /obj/item/stamp/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/stamp chameleon_action.chameleon_name = "Stamp" chameleon_action.initialize_disguises() /obj/item/stamp/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) /obj/item/clothing/neck/chameleon @@ -677,12 +678,9 @@ resistance_flags = NONE armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) -/obj/item/clothing/neck/chameleon - var/datum/action/item_action/chameleon/change/chameleon_action - /obj/item/clothing/neck/chameleon/Initialize() . = ..() - chameleon_action = new(src) + var/datum/action/item_action/chameleon/change/chameleon_action = new(src) chameleon_action.chameleon_type = /obj/item/clothing/neck chameleon_action.chameleon_name = "Neck Accessory" chameleon_action.initialize_disguises() @@ -691,8 +689,10 @@ . = ..() if(. & EMP_PROTECT_SELF) return + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise() /obj/item/clothing/neck/chameleon/broken/Initialize() . = ..() + var/datum/action/item_action/chameleon/change/chameleon_action = locate() in actions chameleon_action.emp_randomise(INFINITY) diff --git a/code/modules/unit_tests/create_and_destroy.dm b/code/modules/unit_tests/create_and_destroy.dm index 9aee2ca10624..a91153219883 100644 --- a/code/modules/unit_tests/create_and_destroy.dm +++ b/code/modules/unit_tests/create_and_destroy.dm @@ -202,6 +202,9 @@ TEST_FAIL("[item.name] failed to respect force deletion [item.no_respect_force] times out of a total del count of [item.qdels]") if(item.no_hint) TEST_FAIL("[item.name] failed to return a qdel hint [item.no_hint] times out of a total del count of [item.qdels]") + if(LAZYLEN(item.extra_details)) + var/details = item.extra_details.Join("\n") + TEST_FAIL("[item.name] failed with extra info: \n[details]") cache_for_sonic_speed = SSatoms.BadInitializeCalls for(var/path in cache_for_sonic_speed) diff --git a/code/modules/unit_tests/find_reference_sanity.dm b/code/modules/unit_tests/find_reference_sanity.dm index 67b6072d3b96..f6736ccb1d58 100644 --- a/code/modules/unit_tests/find_reference_sanity.dm +++ b/code/modules/unit_tests/find_reference_sanity.dm @@ -15,6 +15,8 @@ return ..() /atom/movable/ref_test + // Gotta make sure we do a full check + references_to_clear = INFINITY var/atom/movable/ref_test/self_ref /atom/movable/ref_test/Destroy(force) @@ -27,8 +29,8 @@ SSgarbage.should_save_refs = TRUE //Sanity check - victim.DoSearchVar(testbed, "Sanity Check", search_time = 1) //We increment search time to get around an optimization - TEST_ASSERT(!victim.found_refs.len, "The ref-tracking tool found a ref where none existed") + victim.DoSearchVar(testbed, "Sanity Check") //We increment search time to get around an optimization + TEST_ASSERT(!LAZYLEN(victim.found_refs), "The ref-tracking tool found a ref where none existed") SSgarbage.should_save_refs = FALSE /datum/unit_test/find_reference_baseline/Run() @@ -41,11 +43,11 @@ testbed.test_list += victim testbed.test_assoc_list["baseline"] = victim - victim.DoSearchVar(testbed, "First Run", search_time = 2) + victim.DoSearchVar(testbed, "First Run") - TEST_ASSERT(victim.found_refs["test"], "The ref-tracking tool failed to find a regular value") - TEST_ASSERT(victim.found_refs[testbed.test_list], "The ref-tracking tool failed to find a list entry") - TEST_ASSERT(victim.found_refs[testbed.test_assoc_list], "The ref-tracking tool failed to find an assoc list value") + TEST_ASSERT(LAZYACCESS(victim.found_refs, "test"), "The ref-tracking tool failed to find a regular value") + TEST_ASSERT(LAZYACCESS(victim.found_refs, testbed.test_list), "The ref-tracking tool failed to find a list entry") + TEST_ASSERT(LAZYACCESS(victim.found_refs, testbed.test_assoc_list), "The ref-tracking tool failed to find an assoc list value") SSgarbage.should_save_refs = FALSE /datum/unit_test/find_reference_exotic/Run() @@ -58,12 +60,12 @@ testbed.vis_contents += victim testbed.test_assoc_list[victim] = TRUE - victim.DoSearchVar(testbed, "Second Run", search_time = 3) + victim.DoSearchVar(testbed, "Second Run") //This is another sanity check - TEST_ASSERT(!victim.found_refs[testbed.overlays], "The ref-tracking tool found an overlays entry? That shouldn't be possible") - TEST_ASSERT(victim.found_refs[testbed.vis_contents], "The ref-tracking tool failed to find a vis_contents entry") - TEST_ASSERT(victim.found_refs[testbed.test_assoc_list], "The ref-tracking tool failed to find an assoc list key") + TEST_ASSERT(!LAZYACCESS(victim.found_refs, testbed.overlays), "The ref-tracking tool found an overlays entry? That shouldn't be possible") + TEST_ASSERT(LAZYACCESS(victim.found_refs, testbed.vis_contents), "The ref-tracking tool failed to find a vis_contents entry") + TEST_ASSERT(LAZYACCESS(victim.found_refs, testbed.test_assoc_list), "The ref-tracking tool failed to find an assoc list key") SSgarbage.should_save_refs = FALSE /datum/unit_test/find_reference_esoteric/Run() @@ -78,11 +80,11 @@ var/list/to_find_assoc = list(victim) testbed.test_assoc_list["Nesting"] = to_find_assoc - victim.DoSearchVar(victim, "Third Run Self", search_time = 4) - victim.DoSearchVar(testbed, "Third Run Testbed", search_time = 4) - TEST_ASSERT(victim.found_refs["self_ref"], "The ref-tracking tool failed to find a self reference") - TEST_ASSERT(victim.found_refs[to_find], "The ref-tracking tool failed to find a nested list entry") - TEST_ASSERT(victim.found_refs[to_find_assoc], "The ref-tracking tool failed to find a nested assoc list entry") + victim.DoSearchVar(victim, "Third Run Self") + victim.DoSearchVar(testbed, "Third Run Testbed") + TEST_ASSERT(LAZYACCESS(victim.found_refs, "self_ref"), "The ref-tracking tool failed to find a self reference") + TEST_ASSERT(LAZYACCESS(victim.found_refs, to_find), "The ref-tracking tool failed to find a nested list entry") + TEST_ASSERT(LAZYACCESS(victim.found_refs, to_find_assoc), "The ref-tracking tool failed to find a nested assoc list entry") SSgarbage.should_save_refs = FALSE /datum/unit_test/find_reference_null_key_entry/Run() @@ -93,8 +95,8 @@ //Calm before the storm testbed.test_assoc_list = list(null = victim) - victim.DoSearchVar(testbed, "Fourth Run", search_time = 5) - TEST_ASSERT(testbed.test_assoc_list, "The ref-tracking tool failed to find a null key'd assoc list entry") + victim.DoSearchVar(testbed, "Fourth Run") + TEST_ASSERT(LAZYACCESS(victim.found_refs, testbed.test_assoc_list), "The ref-tracking tool failed to find a null key'd assoc list entry") /datum/unit_test/find_reference_assoc_investigation/Run() var/atom/movable/ref_test/victim = allocate(/atom/movable/ref_test) @@ -107,9 +109,9 @@ var/list/to_find_null_assoc_nested = list(victim) testbed.test_assoc_list[null] = to_find_null_assoc_nested - victim.DoSearchVar(testbed, "Fifth Run", search_time = 6) - TEST_ASSERT(victim.found_refs[to_find_in_key], "The ref-tracking tool failed to find a nested assoc list key") - TEST_ASSERT(victim.found_refs[to_find_null_assoc_nested], "The ref-tracking tool failed to find a null key'd nested assoc list entry") + victim.DoSearchVar(testbed, "Fifth Run") + TEST_ASSERT(LAZYACCESS(victim.found_refs, to_find_in_key), "The ref-tracking tool failed to find a nested assoc list key") + TEST_ASSERT(LAZYACCESS(victim.found_refs, to_find_null_assoc_nested), "The ref-tracking tool failed to find a null key'd nested assoc list entry") SSgarbage.should_save_refs = FALSE /datum/unit_test/find_reference_static_investigation/Run() @@ -126,7 +128,7 @@ for(var/key in global.vars) global_vars[key] = global.vars[key] - victim.DoSearchVar(global_vars, "Sixth Run", search_time = 7) + victim.DoSearchVar(global_vars, "Sixth Run") - TEST_ASSERT(victim.found_refs[global_vars], "The ref-tracking tool failed to find a natively global variable") + TEST_ASSERT(LAZYACCESS(victim.found_refs, global_vars), "The ref-tracking tool failed to find a natively global variable") SSgarbage.should_save_refs = FALSE From ea928b3adf462fbc53c7397b537187487bd60ae4 Mon Sep 17 00:00:00 2001 From: Feenie <62373791+FeenieRU@users.noreply.github.com> Date: Sat, 9 Nov 2024 09:56:29 +0300 Subject: [PATCH 002/344] Fix donuts inbox states (#3631) ## About The Pull Request Fixing unavailable inbox donuts ## Why It's Good For The Game No ERROR in box ## Changelog :cl: imageadd: added icons for inbox donuts /:cl: Signed-off-by: Feenie <62373791+FeenieRU@users.noreply.github.com> --- icons/obj/food/donuts.dmi | Bin 9365 -> 9392 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/food/donuts.dmi b/icons/obj/food/donuts.dmi index 07c8d7ed162c80ab794c751ea488898ef1817019..31b4d3188f39f83b5645b7226b48fee09a6cbd48 100644 GIT binary patch literal 9392 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⋘Kuc{F1|pxjV?cbCHOCdqvJmR0t)o35x&z1Y2hK2bwU!aN zLm64(j*+ZLloKDa&^y5@=qc45jX(+=;LUUHZ<{PKDML{vJ?+hNLCKqGLW!RaO;Bep8#s|(oquxt>CssxbytHp7GbZdbQJI=y|H$zee2Md z8tN8#;WI19vuA5_2${P7y+`%`H;Vtt?fTo3W%NhBH#H5>+a5-~o_9XFKa2rx@+QL0 z0)BTsT{|u$UlqRNwIk%Mi=eqnoXG1*6^M698A9qxy-$Dn8r^`%AfB^|+0q z4}QSDZ~6IzNN!V`T-jEubB`ZaotXW6FUvaser=n!DATkMMg=}SdpF@I%iJ+*U9!VR zzPA=h2nX1Qz2@6J}x^M8nsX0hwpjaETLP29N zQB)5vOH0cNeCIN=3j{8O@Q@?CY`AZ&pSuw}ay$FBeT3z?f%a{UZ2P!uUfPC`#Z2+r za+-GiK74;;T(y!R{Cefj2^iC!lPhU|@uVlNzOdYuaR9Sh(oL2(w`kPWqu-+XDORa&NmJk55X_7Y|HB zBs9}Jm}sB9c=QO(_ngy{eZJG#oJ8<78#8hfPXR>a)Q|UeBV$#~8`?GgzKlL?*JCga z;{ys!GjU0%K$^SXceMOw@oaM0zF1#MK}`xZ`}Xj|KW-j{*$D?v_Qlo;<;wm5#D7Wn zrLdfDhZlw*O9rjDDqxFtIKQxC31lYX?NqPxrHhx|+ZzS?+uvdzzdb(c&(9;MyM4DH zPvh&5C$26UaXj?EjOE(1I&>NE7*!w)Bg& zYEeJ^8Re-86{e$Fyj7LDAv$w?2edjj1Tj8;E|x_^=3rzE4CTjPW5013@8=wHY2!_F z?YqHH`X;BwM|Vl1Trcw4c+Rbw+r!xx?P;@YQS@ASCqv3i6fAlG1F-ruo%s96Tsq`b zmr8fwJ;qbv!u@^2v-f|~jJpaiReq{`QYx|Of87;Svi*4J$0Wuc^~_6jDb`k9`B%A*G@-)$!0w-(lbg-An{>5t1dw28?0=t~=Vb~h<@ z2&tauFAo44vN26+7FeDw?mJ8P$PYuomD4ZRNKKhWijPtSxy-g=t2RDP^}_Tzl>@MUC? z)qD@y_BKK8lIHL0D}h-fw6^r7M&^yh5T|YBc2)4prI+;s&eraV-d@J`2?b;${bWAc zjpV6J(EaDj8dTxd%j}7OFzHO@`H{qAyPnb7$9iRvYGoI%zO0mAmJZ%PR^=&-O8`$# z7kKOFJw^751;>Q0pN>Vw3U;4{8i*u}$}RY5Zj|5myHqPM{gsAzn4TDd>!-)*?sNfV ztM|#F>|36wF~7DQrw(BGvFX9nr~&m7hVbzoX5lWn$Qqdn?eU@MAC4L;%iM7pB=2wW ze)!5?+S5(IU%UUSA}h;3_51(VxipKV(_YZJ=-TjAa4Ql1@%W=d7k{FG z{35z9IHu*833Pud@CvL)@zdR1+_=GT)}(UJ%bAbp2JpZ!gJEXqYJA^)rml=1lVJy& zc2^?#*42LMXK4L?ncH$fjyfrIU;Z)fqJ$D zC!={2r-7WE_W*Men-5v0*tvRDZI60eY^#Wuuqx^(b3s zP%Gnv`+iaY{)oG@D-aOEydInYusnAT2n0^_008VKU6E`6fD+ID>qY+Y2+2QwH&YVP X2%9o}VFEeS!T@sFF@HFfqzV*p@)WnVhl9oKWVM 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 Date: Mon, 7 Oct 2024 00:04:47 -0400 Subject: [PATCH 003/344] Removes A Lot Of Cruft (#3447) Removes the following: Swarmers Bloodcult Soulstones Everything Devils Meteor Gamemode Area/shuttle - [x] Compiles and runs on my local I'm fairly sure none of this stuff fits regardless of if it works with the game. And area/shuttle is annoying to see in sdmm. God I hate it when you start pulling one thing out and it's easier to just pull the rest out than to adjust it to work in the event that someone might use it for an event once. :cl: code: A large amount of cruft has been deleted. /:cl: --- .../RandomRuins/ReebeRuins/reebe_swarmers.dmm | 471 ------ .../shuttles/nanotrasen/nanotrasen_mimir.dmm | 169 +-- check_regex.yaml | 4 +- code/__DEFINES/atom_hud.dm | 30 +- code/__DEFINES/cinematics.dm | 3 - code/__DEFINES/cult.dm | 29 - code/__DEFINES/is_helpers.dm | 4 - code/__DEFINES/language.dm | 1 - code/__DEFINES/misc.dm | 5 - code/__DEFINES/mobs.dm | 4 - code/__DEFINES/preferences.dm | 1 - code/__DEFINES/role_preferences.dm | 4 - code/__DEFINES/status_effects.dm | 2 - code/__DEFINES/traits.dm | 4 - code/__HELPERS/areas.dm | 1 - code/__HELPERS/game.dm | 1 - code/_globalvars/game_modes.dm | 3 - code/_globalvars/lists/maintenance_loot.dm | 1 - code/_globalvars/lists/poll_ignore.dm | 2 - code/_onclick/hud/_defines.dm | 1 - code/_onclick/hud/alert.dm | 109 -- code/_onclick/hud/devil.dm | 69 - code/_onclick/hud/hud.dm | 2 - code/_onclick/hud/human.dm | 33 - code/_onclick/hud/swarmer.dm | 98 -- code/_onclick/other_mobs.dm | 8 - code/controllers/subsystem/shuttle.dm | 2 +- code/controllers/subsystem/ticker.dm | 6 - code/controllers/subsystem/traumas.dm | 14 +- code/datums/ai_laws.dm | 15 - code/datums/cinematic.dm | 53 - code/datums/components/soulstoned.dm | 33 - code/datums/hud.dm | 4 - code/datums/map_zones.dm | 2 +- code/datums/mind.dm | 20 +- .../mood_events/generic_positive_events.dm | 5 - code/datums/ruins/reebe.dm | 7 - code/datums/saymode.dm | 6 +- code/datums/status_effects/buffs.dm | 29 - code/datums/status_effects/debuffs.dm | 13 - code/game/alternate_appearance.dm | 28 - code/game/area/Space_Station_13_areas.dm | 1350 ----------------- code/game/area/areas.dm | 2 +- code/game/area/areas/shuttles.dm | 185 --- code/game/area/ship_areas.dm | 14 + code/game/atoms.dm | 60 - code/game/gamemodes/cult/cult.dm | 182 --- .../devil/devil_agent/devil_agent.dm | 44 - code/game/gamemodes/devil/devil_game_mode.dm | 106 -- code/game/gamemodes/devil/game_mode.dm | 26 - code/game/gamemodes/devil/objectives.dm | 113 -- .../gamemodes/dynamic/dynamic_rulesets.dm | 2 +- .../dynamic/dynamic_rulesets_roundstart.dm | 149 -- code/game/gamemodes/events.dm | 9 +- code/game/gamemodes/game_mode.dm | 3 - code/game/gamemodes/meteor/meteor.dm | 61 - code/game/gamemodes/objective.dm | 15 +- code/game/machinery/computer/arcade.dm | 1 - code/game/machinery/doors/airlock.dm | 20 - code/game/machinery/doors/airlock_types.dm | 109 -- code/game/machinery/drone_dispenser.dm | 22 - code/game/machinery/shieldgen.dm | 21 - code/game/machinery/syndicatebeacon.dm | 4 - code/game/objects/effects/blessing.dm | 7 - code/game/objects/effects/forcefields.dm | 8 - code/game/objects/items/AI_modules.dm | 2 +- code/game/objects/items/blueprints.dm | 1 - .../items/implants/implant_mindshield.dm | 5 +- code/game/objects/items/robot/robot_parts.dm | 1 - code/game/objects/items/shuttle_creator.dm | 1 - .../items/stacks/sheets/sheet_types.dm | 1 - code/game/objects/items/storage/belt.dm | 26 - .../game/objects/items/storage/uplink_kits.dm | 9 - code/game/objects/items/toys.dm | 25 - code/game/objects/structures/ai_core.dm | 1 - code/game/objects/structures/bedsheet_bin.dm | 2 +- .../objects/structures/door_assembly_types.dm | 14 - .../objects/structures/ghost_role_spawners.dm | 52 - code/game/objects/structures/girders.dm | 54 - code/game/turfs/closed/wall/misc_walls.dm | 12 - code/game/turfs/open/floor.dm | 5 - code/game/turfs/open/floor/reinf_floor.dm | 30 - code/modules/admin/admin.dm | 16 - code/modules/admin/fun_balloon.dm | 5 - code/modules/admin/sql_ban_system.dm | 4 +- code/modules/admin/topic.dm | 21 - code/modules/admin/verbs/one_click_antag.dm | 33 - code/modules/admin/verbs/pray.dm | 5 - code/modules/antagonists/borer/borer.dm | 4 - code/modules/antagonists/cult/blood_magic.dm | 803 ---------- code/modules/antagonists/cult/cult.dm | 397 ----- code/modules/antagonists/cult/cult_comms.dm | 461 ------ code/modules/antagonists/cult/cult_items.dm | 524 ------- .../antagonists/cult/cult_structures.dm | 291 ---- .../antagonists/cult/cult_turf_overlay.dm | 32 - .../antagonists/cult/rune_spawn_action.dm | 115 -- code/modules/antagonists/cult/runes.dm | 1029 ------------- code/modules/antagonists/devil/devil.dm | 506 ------ code/modules/antagonists/devil/imp/imp.dm | 68 - .../devil/sintouched/objectives.dm | 23 - .../devil/sintouched/sintouched.dm | 76 - .../devil/true_devil/_true_devil.dm | 221 --- .../antagonists/devil/true_devil/inventory.dm | 48 - .../antagonists/disease/disease_datum.dm | 10 - .../nukeop/equipment/nuclear_challenge.dm | 3 - .../nukeop/equipment/nuclearbomb.dm | 2 - .../revenant/revenant_abilities.dm | 2 +- code/modules/antagonists/swarmer/swarmer.dm | 677 --------- .../antagonists/swarmer/swarmer_event.dm | 28 - .../antagonists/wizard/equipment/soulstone.dm | 354 ----- .../antagonists/wizard/equipment/spellbook.dm | 12 - code/modules/asset_cache/asset_list_items.dm | 1 - .../awaymissions/mission_code/snowdin.dm | 6 - .../mission_code/stationCollision.dm | 155 -- code/modules/cargo/exports/lavaland.dm | 4 - code/modules/cargo/exports/parts.dm | 7 - code/modules/client/preferences.dm | 3 - code/modules/clothing/outfits/standard.dm | 7 - code/modules/clothing/shoes/miscellaneous.dm | 23 - code/modules/clothing/under/color.dm | 9 +- code/modules/events/devil.dm | 53 - code/modules/events/major_dust.dm | 19 - code/modules/events/meateor_wave.dm | 11 - code/modules/events/meteor_wave.dm | 76 - code/modules/language/language_holder.dm | 5 - code/modules/library/lib_codex_gigas.dm | 104 -- code/modules/mapping/writer.dm | 2 +- .../mining/lavaland/necropolis_chests.dm | 10 +- code/modules/mining/shelters.dm | 2 +- code/modules/mob/living/carbon/human/death.dm | 2 - .../mob/living/carbon/human/examine.dm | 2 - code/modules/mob/living/living.dm | 18 - code/modules/mob/living/living_defense.dm | 26 - code/modules/mob/living/silicon/laws.dm | 10 - code/modules/mob/living/silicon/login.dm | 2 - code/modules/mob/living/silicon/robot/laws.dm | 6 - code/modules/mob/living/silicon/silicon.dm | 24 - .../mob/living/simple_animal/constructs.dm | 501 ------ .../mob/living/simple_animal/friendly/dog.dm | 44 - .../hostile/megafauna/swarmer.dm | 285 ---- .../modules/mob/living/simple_animal/shade.dm | 66 - code/modules/mob/mob_helpers.dm | 3 - code/modules/mob/transform_procs.dm | 5 - code/modules/paperwork/contract.dm | 314 ---- code/modules/paperwork/photocopier.dm | 33 +- code/modules/power/singularity/narsie.dm | 238 --- .../chemistry/reagents/other_reagents.dm | 61 +- .../chemistry/recipes/pyrotechnics.dm | 10 - code/modules/recycling/conveyor2.dm | 4 +- code/modules/shuttle/shuttle.dm | 10 +- code/modules/shuttle/supply.dm | 167 -- code/modules/spells/spell.dm | 14 - .../spells/spell_types/construct_spells.dm | 327 ---- code/modules/spells/spell_types/devil.dm | 236 --- .../modules/spells/spell_types/devil_boons.dm | 76 - .../spell_types/pointed/mind_transfer.dm | 2 +- code/modules/spells/spell_types/shapeshift.dm | 3 +- code/modules/spells/spell_types/wizard.dm | 26 - code/modules/station_goals/shield.dm | 23 - code/modules/surgery/bodyparts/head.dm | 5 - code/modules/surgery/bodyparts/parts.dm | 29 - .../surgery/experimental_dissection.dm | 2 +- code/modules/surgery/organs/vocal_cords.dm | 26 +- code/modules/unit_tests/create_and_destroy.dm | 2 - code/modules/uplink/uplink_items.dm | 7 - shiptest.dme | 42 - 166 files changed, 167 insertions(+), 12801 deletions(-) delete mode 100644 _maps/RandomRuins/ReebeRuins/reebe_swarmers.dmm delete mode 100644 code/__DEFINES/cult.dm delete mode 100644 code/_onclick/hud/devil.dm delete mode 100644 code/_onclick/hud/swarmer.dm delete mode 100644 code/datums/components/soulstoned.dm delete mode 100644 code/game/area/Space_Station_13_areas.dm delete mode 100644 code/game/area/areas/shuttles.dm delete mode 100644 code/game/gamemodes/cult/cult.dm delete mode 100644 code/game/gamemodes/devil/devil_agent/devil_agent.dm delete mode 100644 code/game/gamemodes/devil/devil_game_mode.dm delete mode 100644 code/game/gamemodes/devil/game_mode.dm delete mode 100644 code/game/gamemodes/devil/objectives.dm delete mode 100644 code/game/gamemodes/meteor/meteor.dm delete mode 100644 code/modules/antagonists/cult/blood_magic.dm delete mode 100644 code/modules/antagonists/cult/cult.dm delete mode 100644 code/modules/antagonists/cult/cult_comms.dm delete mode 100644 code/modules/antagonists/cult/cult_items.dm delete mode 100644 code/modules/antagonists/cult/cult_structures.dm delete mode 100644 code/modules/antagonists/cult/cult_turf_overlay.dm delete mode 100644 code/modules/antagonists/cult/rune_spawn_action.dm delete mode 100644 code/modules/antagonists/cult/runes.dm delete mode 100644 code/modules/antagonists/devil/devil.dm delete mode 100644 code/modules/antagonists/devil/imp/imp.dm delete mode 100644 code/modules/antagonists/devil/sintouched/objectives.dm delete mode 100644 code/modules/antagonists/devil/sintouched/sintouched.dm delete mode 100644 code/modules/antagonists/devil/true_devil/_true_devil.dm delete mode 100644 code/modules/antagonists/devil/true_devil/inventory.dm delete mode 100644 code/modules/antagonists/swarmer/swarmer.dm delete mode 100644 code/modules/antagonists/swarmer/swarmer_event.dm delete mode 100644 code/modules/antagonists/wizard/equipment/soulstone.dm delete mode 100644 code/modules/awaymissions/mission_code/stationCollision.dm delete mode 100644 code/modules/events/devil.dm delete mode 100644 code/modules/events/major_dust.dm delete mode 100644 code/modules/events/meateor_wave.dm delete mode 100644 code/modules/events/meteor_wave.dm delete mode 100644 code/modules/library/lib_codex_gigas.dm delete mode 100644 code/modules/mob/living/simple_animal/constructs.dm delete mode 100644 code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm delete mode 100644 code/modules/mob/living/simple_animal/shade.dm delete mode 100644 code/modules/power/singularity/narsie.dm delete mode 100644 code/modules/spells/spell_types/construct_spells.dm delete mode 100644 code/modules/spells/spell_types/devil.dm delete mode 100644 code/modules/spells/spell_types/devil_boons.dm diff --git a/_maps/RandomRuins/ReebeRuins/reebe_swarmers.dmm b/_maps/RandomRuins/ReebeRuins/reebe_swarmers.dmm deleted file mode 100644 index 7c864f829fda..000000000000 --- a/_maps/RandomRuins/ReebeRuins/reebe_swarmers.dmm +++ /dev/null @@ -1,471 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"a" = ( -/turf/template_noop, -/area/template_noop) -"t" = ( -/turf/open/floor/grass/fairy/reebe, -/area/overmap_encounter/planetoid/reebe) -"u" = ( -/obj/structure/flora/tree/jungle{ - icon = 'icons/obj/flora/chapeltree.dmi'; - icon_state = "churchtree"; - pixel_x = -16; - pixel_y = 0 - }, -/turf/open/floor/grass/fairy/reebe, -/area/overmap_encounter/planetoid/reebe) -"x" = ( -/mob/living/simple_animal/hostile/asteroid/hivelord/legion/crystal, -/turf/open/floor/grass/fairy/reebe, -/area/overmap_encounter/planetoid/reebe) -"N" = ( -/turf/closed/mineral/random/reebe, -/area/ruin/reebe) -"R" = ( -/mob/living/simple_animal/hostile/megafauna/swarmer_swarm_beacon, -/turf/open/floor/grass/fairy/reebe, -/area/ruin/reebe) -"X" = ( -/turf/closed/mineral/random/reebe, -/area/overmap_encounter/planetoid/reebe) - -(1,1,1) = {" -a -a -a -a -a -a -a -a -t -t -t -a -a -a -a -a -a -a -a -a -"} -(2,1,1) = {" -a -a -t -t -t -t -a -a -N -u -t -t -N -N -t -t -t -t -a -a -"} -(3,1,1) = {" -a -t -N -t -N -x -t -t -t -N -N -t -t -t -t -N -N -t -a -a -"} -(4,1,1) = {" -a -t -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -a -a -"} -(5,1,1) = {" -t -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -u -a -a -"} -(6,1,1) = {" -a -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -t -t -a -"} -(7,1,1) = {" -a -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -a -"} -(8,1,1) = {" -a -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -a -"} -(9,1,1) = {" -a -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -a -"} -(10,1,1) = {" -t -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -a -"} -(11,1,1) = {" -t -u -t -N -N -N -N -N -N -R -N -N -N -N -N -N -N -t -t -a -"} -(12,1,1) = {" -t -t -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -a -"} -(13,1,1) = {" -t -N -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -t -a -"} -(14,1,1) = {" -t -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -a -a -"} -(15,1,1) = {" -a -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -t -a -"} -(16,1,1) = {" -t -t -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -a -"} -(17,1,1) = {" -t -t -t -t -N -N -N -N -N -N -N -N -N -N -N -N -N -N -t -a -"} -(18,1,1) = {" -a -a -a -t -N -N -N -N -N -N -N -t -t -t -t -N -N -t -t -a -"} -(19,1,1) = {" -a -a -a -t -t -t -t -t -t -t -t -t -N -X -u -t -t -t -a -a -"} -(20,1,1) = {" -a -a -a -a -a -a -a -a -a -a -a -a -t -t -t -a -a -a -a -a -"} diff --git a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm index 716d68f653a9..7791494023f4 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm @@ -2314,20 +2314,6 @@ /obj/item/reagent_containers/food/snacks/urinalcake, /turf/open/floor/plasteel/white, /area/ship/crew/toilet) -"nb" = ( -/obj/structure/table/wood, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 8 - }, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 4 - }, -/obj/item/flashlight/lamp{ - pixel_y = 13 - }, -/obj/item/book/codex_gigas, -/turf/open/floor/wood, -/area/ship/crew/dorm) "nh" = ( /turf/closed/wall/r_wall, /area/ship/crew/dorm/dormtwo) @@ -2804,32 +2790,6 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/ship/crew/hydroponics) -"qe" = ( -/obj/structure/closet/secure_closet/freezer{ - name = "Refrigerator"; - desc = "A refrigerated cabinet for food." - }, -/obj/effect/turf_decal/siding/wideplating/light/end{ - dir = 4 - }, -/obj/item/storage/fancy/egg_box, -/obj/item/storage/fancy/egg_box, -/obj/item/reagent_containers/condiment/milk, -/obj/item/reagent_containers/condiment/milk, -/obj/item/reagent_containers/condiment/milk, -/obj/item/reagent_containers/condiment/soymilk, -/obj/item/reagent_containers/condiment/soymilk, -/obj/item/reagent_containers/condiment/soymilk, -/obj/item/reagent_containers/condiment/flour, -/obj/item/reagent_containers/condiment/flour, -/obj/item/reagent_containers/condiment/flour, -/obj/item/reagent_containers/condiment/sugar, -/obj/item/reagent_containers/condiment/sugar, -/obj/item/reagent_containers/condiment/rice, -/obj/item/reagent_containers/food/snacks/tofu, -/obj/item/reagent_containers/food/snacks/tofu, -/turf/open/floor/plasteel/mono/white, -/area/ship/crew/canteen/kitchen) "qh" = ( /obj/machinery/hydroponics/constructable{ pixel_y = 8 @@ -3876,27 +3836,6 @@ /obj/structure/table, /turf/open/floor/plasteel, /area/ship/crew/canteen/kitchen) -"xb" = ( -/obj/structure/table, -/obj/item/reagent_containers/condiment/sugar{ - pixel_y = 4 - }, -/obj/item/reagent_containers/condiment/rice{ - pixel_y = 10; - pixel_x = 3 - }, -/obj/item/reagent_containers/condiment/enzyme{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/plasteel/mono/white, -/area/ship/crew/canteen/kitchen) "xc" = ( /obj/effect/turf_decal/siding/wood/end{ dir = 8 @@ -4100,10 +4039,6 @@ "ys" = ( /turf/closed/wall/r_wall, /area/ship/crew/dorm) -"yu" = ( -/obj/item/clothing/mask/gas/monkeymask, -/turf/open/floor/plating, -/area/ship/maintenance/fore) "yw" = ( /obj/effect/decal/cleanable/food/tomato_smudge, /obj/effect/turf_decal/siding/wood{ @@ -4460,21 +4395,6 @@ }, /turf/open/floor/plasteel/tech/grid, /area/ship/maintenance/starboard) -"AH" = ( -/obj/structure/table, -/obj/item/toy/figure/chef, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/item/reagent_containers/condiment/saltshaker{ - pixel_y = 10; - pixel_x = -7 - }, -/obj/item/reagent_containers/condiment/peppermill{ - pixel_x = 8; - pixel_y = 9 - }, -/turf/open/floor/plasteel/mono/white, -/area/ship/crew/canteen/kitchen) "AI" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer4{ dir = 6 @@ -4567,6 +4487,19 @@ }, /turf/open/floor/plasteel, /area/ship/security/prison) +"Bf" = ( +/obj/structure/table/wood, +/obj/structure/window/reinforced/tinted/frosted{ + dir = 8 + }, +/obj/structure/window/reinforced/tinted/frosted{ + dir = 4 + }, +/obj/item/flashlight/lamp{ + pixel_y = 13 + }, +/turf/open/floor/wood, +/area/ship/crew/dorm) "Bi" = ( /obj/structure/cable{ icon_state = "1-2" @@ -4921,6 +4854,27 @@ /obj/effect/spawner/lootdrop/ration, /turf/open/floor/plasteel, /area/ship/security/prison) +"Dj" = ( +/obj/structure/table, +/obj/item/reagent_containers/condiment/sugar{ + pixel_y = 4 + }, +/obj/item/reagent_containers/condiment/rice{ + pixel_y = 10; + pixel_x = 3 + }, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/canteen/kitchen) "Dm" = ( /obj/structure/window/reinforced/spawner{ dir = 1 @@ -5863,6 +5817,21 @@ /obj/effect/turf_decal/siding/yellow, /turf/open/floor/plasteel, /area/ship/security/prison) +"Ie" = ( +/obj/structure/table, +/obj/item/toy/figure/chef, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_y = 10; + pixel_x = -7 + }, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 8; + pixel_y = 9 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/canteen/kitchen) "Ig" = ( /obj/machinery/door/poddoor/shutters/preopen{ id = "quickpoint_shut"; @@ -6210,6 +6179,10 @@ }, /turf/open/floor/plasteel, /area/ship/security) +"Kc" = ( +/obj/item/clothing/mask/gas/monkeymask, +/turf/open/floor/plating, +/area/ship/maintenance/fore) "Kg" = ( /obj/effect/turf_decal/siding/red{ dir = 8 @@ -8459,6 +8432,32 @@ }, /turf/open/floor/wood, /area/ship/crew/dorm/dormfour) +"Xf" = ( +/obj/structure/closet/secure_closet/freezer{ + name = "Refrigerator"; + desc = "A refrigerated cabinet for food." + }, +/obj/effect/turf_decal/siding/wideplating/light/end{ + dir = 4 + }, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/soymilk, +/obj/item/reagent_containers/condiment/soymilk, +/obj/item/reagent_containers/condiment/soymilk, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/sugar, +/obj/item/reagent_containers/condiment/sugar, +/obj/item/reagent_containers/condiment/rice, +/obj/item/reagent_containers/food/snacks/tofu, +/obj/item/reagent_containers/food/snacks/tofu, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/canteen/kitchen) "Xg" = ( /obj/machinery/door/window{ dir = 4 @@ -9144,7 +9143,7 @@ Mv Lu rq Hm -nb +Bf dJ VG oM @@ -9550,8 +9549,8 @@ PP td VK Fg -AH -xb +Ie +Dj nR zq mU @@ -9674,7 +9673,7 @@ pe Rr KQ wa -qe +Xf Ad gZ eF @@ -10356,7 +10355,7 @@ oI VU Dy nh -yu +Kc nK jY jY diff --git a/check_regex.yaml b/check_regex.yaml index 41174bd9aa22..a56bd83644d3 100644 --- a/check_regex.yaml +++ b/check_regex.yaml @@ -29,7 +29,7 @@ standards: - exactly: [1, "/area text paths", '"/area'] - exactly: [17, "/datum text paths", '"/datum'] - exactly: [4, "/mob text paths", '"/mob'] - - exactly: [42, "/obj text paths", '"/obj'] + - exactly: [36, "/obj text paths", '"/obj'] - exactly: [0, "/turf text paths", '"/turf'] - exactly: [115, "text2path uses", "text2path"] @@ -38,7 +38,7 @@ standards: - exactly: [ - 262, + 261, "non-bitwise << uses", '(?[souls]" - switch(souls) - if(0,null) - icon_state = "Devil-1" - if(1,2) - icon_state = "Devil-2" - if(3 to 5) - icon_state = "Devil-3" - if(6 to 8) - icon_state = "Devil-4" - if(9 to INFINITY) - icon_state = "Devil-5" - else - icon_state = "Devil-6" - -/atom/movable/screen/devil/soul_counter/proc/clear() - invisibility = INVISIBILITY_ABSTRACT - /atom/movable/screen/ling icon = 'icons/hud/screen_changeling.dmi' invisibility = INVISIBILITY_ABSTRACT @@ -338,10 +309,6 @@ lingstingdisplay.hud = src infodisplay += lingstingdisplay - devilsouldisplay = new /atom/movable/screen/devil/soul_counter - devilsouldisplay.hud = src - infodisplay += devilsouldisplay - zone_select = new /atom/movable/screen/zone_sel() zone_select.icon = ui_style zone_select.hud = src diff --git a/code/_onclick/hud/swarmer.dm b/code/_onclick/hud/swarmer.dm deleted file mode 100644 index 6aba23fab5c7..000000000000 --- a/code/_onclick/hud/swarmer.dm +++ /dev/null @@ -1,98 +0,0 @@ - - -/atom/movable/screen/swarmer - icon = 'icons/mob/swarmer.dmi' - -/atom/movable/screen/swarmer/FabricateTrap - icon_state = "ui_trap" - name = "Create trap (Costs 5 Resources)" - desc = "Creates a trap that will nonlethally shock any non-swarmer that attempts to cross it. (Costs 5 resources)" - -/atom/movable/screen/swarmer/FabricateTrap/Click() - if(isswarmer(usr)) - var/mob/living/simple_animal/hostile/swarmer/S = usr - S.CreateTrap() - -/atom/movable/screen/swarmer/Barricade - icon_state = "ui_barricade" - name = "Create barricade (Costs 5 Resources)" - desc = "Creates a destructible barricade that will stop any non swarmer from passing it. Also allows disabler beams to pass through. (Costs 5 resources)" - -/atom/movable/screen/swarmer/Barricade/Click() - if(isswarmer(usr)) - var/mob/living/simple_animal/hostile/swarmer/S = usr - S.CreateBarricade() - -/atom/movable/screen/swarmer/Replicate - icon_state = "ui_replicate" - name = "Replicate (Costs 50 Resources)" - desc = "Creates another of our kind." - -/atom/movable/screen/swarmer/Replicate/Click() - if(isswarmer(usr)) - var/mob/living/simple_animal/hostile/swarmer/S = usr - S.CreateSwarmer() - -/atom/movable/screen/swarmer/RepairSelf - icon_state = "ui_self_repair" - name = "Repair self" - desc = "Repairs damage to our body." - -/atom/movable/screen/swarmer/RepairSelf/Click() - if(isswarmer(usr)) - var/mob/living/simple_animal/hostile/swarmer/S = usr - S.RepairSelf() - -/atom/movable/screen/swarmer/ToggleLight - icon_state = "ui_light" - name = "Toggle light" - desc = "Toggles our inbuilt light on or off." - -/atom/movable/screen/swarmer/ToggleLight/Click() - if(isswarmer(usr)) - var/mob/living/simple_animal/hostile/swarmer/S = usr - S.ToggleLight() - -/atom/movable/screen/swarmer/ContactSwarmers - icon_state = "ui_contact_swarmers" - name = "Contact swarmers" - desc = "Sends a message to all other swarmers, should they exist." - -/atom/movable/screen/swarmer/ContactSwarmers/Click() - if(isswarmer(usr)) - var/mob/living/simple_animal/hostile/swarmer/S = usr - S.ContactSwarmers() - -/datum/hud/swarmer/New(mob/owner) - ..() - var/atom/movable/screen/using - - using = new /atom/movable/screen/swarmer/FabricateTrap() - using.screen_loc = ui_hand_position(2) - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/swarmer/Barricade() - using.screen_loc = ui_hand_position(1) - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/swarmer/Replicate() - using.screen_loc = ui_zonesel - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/swarmer/RepairSelf() - using.screen_loc = ui_storage1 - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/swarmer/ToggleLight() - using.screen_loc = ui_back - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/swarmer/ContactSwarmers() - using.screen_loc = ui_inventory - using.hud = src - static_inventory += using diff --git a/code/_onclick/other_mobs.dm b/code/_onclick/other_mobs.dm index 806e3e6df328..8e848963567e 100644 --- a/code/_onclick/other_mobs.dm +++ b/code/_onclick/other_mobs.dm @@ -177,14 +177,6 @@ /atom/proc/attack_drone(mob/living/simple_animal/drone/user) attack_hand(user) //defaults to attack_hand. Override it when you don't want drones to do same stuff as humans. - -/* - True Devil -*/ - -/mob/living/carbon/true_devil/UnarmedAttack(atom/A, proximity) - A.attack_hand(src) - /* Brain */ diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index c9666d85608d..19df8eaf236c 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -151,7 +151,7 @@ SUBSYSTEM_DEF(shuttle) mapzone.parallax_movedir = travel_dir - var/area/shuttle/transit/transit_area = new() + var/area/hyperspace/transit_area = new() vlevel.fill_in(transit_path, transit_area) diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index c9be29ce95bc..f12de2427f75 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -445,12 +445,6 @@ SUBSYSTEM_DEF(ticker) news_message = "[station_name()] has been evacuated after transmitting the following distress beacon:\n\n[emergency_reason]" else news_message = "The crew of [station_name()] has been evacuated amid unconfirmed reports of enemy activity." - if(CULT_ESCAPE) - news_message = "Security Alert: A group of religious fanatics have escaped from [station_name()]." - if(CULT_FAILURE) - news_message = "Following the dismantling of a restricted cult aboard [station_name()], we would like to remind all employees that worship outside of the Chapel is strictly prohibited, and cause for termination." - if(CULT_SUMMON) - news_message = "Company officials would like to clarify that [station_name()] was scheduled to be decommissioned following meteor damage earlier this year. Earlier reports of an unknowable eldritch horror were made in error." if(NUKE_MISS) news_message = "The Syndicate have bungled a terrorist attack [station_name()], detonating a nuclear weapon in empty space nearby." if(OPERATIVES_KILLED) diff --git a/code/controllers/subsystem/traumas.dm b/code/controllers/subsystem/traumas.dm index ecf43af5cc9d..2cc479a6c0a2 100644 --- a/code/controllers/subsystem/traumas.dm +++ b/code/controllers/subsystem/traumas.dm @@ -44,10 +44,9 @@ SUBSYSTEM_DEF(traumas) "skeletons" = typecacheof(list(/mob/living/simple_animal/hostile/human/skeleton)), "snakes" = typecacheof(list(/mob/living/simple_animal/hostile/retaliate/poison/snake)), "robots" = typecacheof(list(/mob/living/silicon/robot, /mob/living/silicon/ai, - /mob/living/simple_animal/drone, /mob/living/simple_animal/bot, /mob/living/simple_animal/hostile/swarmer)), + /mob/living/simple_animal/drone, /mob/living/simple_animal/bot)), "doctors" = typecacheof(list(/mob/living/simple_animal/bot/medbot)), - "the supernatural" = typecacheof(list(/mob/living/simple_animal/hostile/construct, - /mob/living/simple_animal/revenant, /mob/living/simple_animal/shade)), + "the supernatural" = typecacheof(list(/mob/living/simple_animal/revenant)), "aliens" = typecacheof(list(/mob/living/carbon/alien, /mob/living/simple_animal/slime, /mob/living/simple_animal/hostile/facehugger)), "conspiracies" = typecacheof(list(/mob/living/simple_animal/bot/secbot, /mob/living/simple_animal/drone, /mob/living/simple_animal/pet/penguin)), @@ -104,7 +103,7 @@ SUBSYSTEM_DEF(traumas) "robots" = typecacheof(list( /obj/machinery/computer/upload, /obj/item/aiModule/, /obj/machinery/recharge_station, - /obj/item/aicard, /obj/item/deactivated_swarmer, /obj/effect/mob_spawn/swarmer)), + /obj/item/aicard)), "doctors" = typecacheof(list( /obj/item/clothing/under/rank/medical, @@ -124,11 +123,6 @@ SUBSYSTEM_DEF(traumas) /obj/item/card/id/captains_spare, /obj/item/card/id/centcom, /obj/machinery/door/airlock/command)), "the supernatural" = typecacheof(list( - /obj/structure/destructible/cult, /obj/item/tome, - /obj/item/restraints/legcuffs/bola/cult, /obj/item/clothing/suit/space/hardsuit/cult, - /obj/effect/rune, - /obj/machinery/door/airlock/cult, /obj/singularity/narsie, - /obj/item/soulstone, /obj/item/clothing/suit/wizrobe, /obj/item/clothing/head/wizard, /obj/item/spellbook, /obj/item/staff, /obj/item/clothing/suit/space/hardsuit/shielded/wizard, /obj/item/clothing/suit/space/hardsuit/wizard, /obj/item/clothing/under/rank/civilian/chaplain)), @@ -160,7 +154,7 @@ SUBSYSTEM_DEF(traumas) phobia_turfs = list( "space" = typecacheof(list(/turf/open/space, /turf/open/floor/holofloor/space, /turf/open/floor/fakespace)), - "the supernatural" = typecacheof(list(/turf/open/floor/plasteel/cult, /turf/closed/wall/mineral/cult)), + "the supernatural" = typecacheof(/turf/closed/wall/mineral/cult, /turf/open/floor/plasteel/cult), "aliens" = typecacheof(list( /turf/open/floor/plating/abductor, /turf/open/floor/plating/abductor2, /turf/open/floor/mineral/abductor, /turf/closed/wall/mineral/abductor)), diff --git a/code/datums/ai_laws.dm b/code/datums/ai_laws.dm index 372e51280f4a..3f07eb3b15be 100644 --- a/code/datums/ai_laws.dm +++ b/code/datums/ai_laws.dm @@ -1,4 +1,3 @@ -#define LAW_DEVIL "devil" #define LAW_ZEROTH "zeroth" #define LAW_INHERENT "inherent" #define LAW_SUPPLIED "supplied" @@ -15,7 +14,6 @@ var/list/ion = list() var/list/hacked = list() var/mob/living/silicon/owner - var/list/devillaws = list() var/id = DEFAULT_AI_LAWID /datum/ai_laws/Destroy(force, ...) @@ -408,8 +406,6 @@ /datum/ai_laws/proc/get_law_amount(groups) var/law_amount = 0 - if(devillaws && (LAW_DEVIL in groups)) - law_amount++ if(zeroth && (LAW_ZEROTH in groups)) law_amount++ if(ion.len && (LAW_ION in groups)) @@ -425,9 +421,6 @@ law_amount++ return law_amount -/datum/ai_laws/proc/set_law_sixsixsix(laws) - devillaws = laws - /datum/ai_laws/proc/set_zeroth_law(law, law_borg = null) zeroth = law if(law_borg) //Making it possible for slaved borgs to see a different law 0 than their AI. --NEO @@ -564,10 +557,6 @@ zeroth = null zeroth_borg = null -/datum/ai_laws/proc/clear_law_sixsixsix(force) - if(force || !is_devil(owner)) - devillaws = null - /datum/ai_laws/proc/associate(mob/living/silicon/M) if(!owner) owner = M @@ -583,10 +572,6 @@ /datum/ai_laws/proc/get_law_list(include_zeroth = FALSE, show_numbers = TRUE, render_html = TRUE) var/list/data = list() - if (include_zeroth && devillaws) - for(var/law in devillaws) - data += "[show_numbers ? "666:" : ""] [render_html ? "[law]" : law]" - if (include_zeroth && zeroth) data += "[show_numbers ? "0:" : ""] [render_html ? "[zeroth]" : zeroth]" diff --git a/code/datums/cinematic.dm b/code/datums/cinematic.dm index cbb7df599326..9529cd19567a 100644 --- a/code/datums/cinematic.dm +++ b/code/datums/cinematic.dm @@ -182,47 +182,6 @@ special() screen.icon_state = "summary_malf" -/datum/cinematic/cult - id = CINEMATIC_CULT - -/datum/cinematic/cult/content() - screen.icon_state = null - flick("intro_cult",screen) - sleep(25) - cinematic_sound(sound('sound/magic/enter_blood.ogg')) - sleep(28) - cinematic_sound(sound('sound/machines/terminal_off.ogg')) - sleep(20) - flick("station_corrupted",screen) - cinematic_sound(sound('sound/effects/ghost.ogg')) - sleep(70) - special() - -/datum/cinematic/cult_nuke - id = CINEMATIC_CULT_NUKE - -/datum/cinematic/cult_nuke/content() - flick("intro_nuke",screen) - sleep(35) - flick("station_explode_fade_red",screen) - cinematic_sound(sound('sound/effects/explosion_distant.ogg')) - special() - screen.icon_state = "summary_cult" - -/datum/cinematic/cult_fail - id = CINEMATIC_CULT_FAIL - -/datum/cinematic/cult_fail/content() - screen.icon_state = "station_intact" - sleep(20) - cinematic_sound(sound('sound/creatures/narsie_rises.ogg')) - sleep(60) - cinematic_sound(sound('sound/effects/explosion_distant.ogg')) - sleep(10) - cinematic_sound(sound('sound/magic/demon_dies.ogg')) - sleep(30) - special() - /datum/cinematic/nuke_annihilation id = CINEMATIC_ANNIHILATION @@ -274,15 +233,3 @@ cinematic_sound(sound('sound/items/airhorn.ogg')) flick("summary_selfdes",screen) //??? special() - -/* Intended usage. -Nuke.Explosion() - -> Cinematic(NUKE_BOOM,world) - -> ActualExplosion() - -> Mode.OnExplosion() - - -Narsie() - -> Cinematic(CULT,world) -*/ - diff --git a/code/datums/components/soulstoned.dm b/code/datums/components/soulstoned.dm deleted file mode 100644 index 04e514062879..000000000000 --- a/code/datums/components/soulstoned.dm +++ /dev/null @@ -1,33 +0,0 @@ -//adds godmode while in the container, prevents moving, and clears these effects up after leaving the stone -/datum/component/soulstoned - var/atom/movable/container - -/datum/component/soulstoned/Initialize(atom/movable/container) - if(!isanimal(parent)) - return COMPONENT_INCOMPATIBLE - var/mob/living/simple_animal/S = parent - - src.container = container - - S.forceMove(container) - - S.status_flags |= GODMODE - ADD_TRAIT(S, TRAIT_IMMOBILIZED, SOULSTONE_TRAIT) - ADD_TRAIT(S, TRAIT_HANDS_BLOCKED, SOULSTONE_TRAIT) - S.health = S.maxHealth - S.bruteloss = 0 - - RegisterSignal(S, COMSIG_MOVABLE_MOVED, PROC_REF(free_prisoner)) - -/datum/component/soulstoned/proc/free_prisoner() - SIGNAL_HANDLER - - var/mob/living/simple_animal/S = parent - if(S.loc != container) - qdel(src) - -/datum/component/soulstoned/UnregisterFromParent() - var/mob/living/simple_animal/S = parent - S.status_flags &= ~GODMODE - REMOVE_TRAIT(S, TRAIT_IMMOBILIZED, SOULSTONE_TRAIT) - REMOVE_TRAIT(S, TRAIT_HANDS_BLOCKED, SOULSTONE_TRAIT) diff --git a/code/datums/hud.dm b/code/datums/hud.dm index 24865387794a..4703a31ea0f8 100644 --- a/code/datums/hud.dm +++ b/code/datums/hud.dm @@ -14,7 +14,6 @@ GLOBAL_LIST_INIT(huds, list( DATA_HUD_SENTIENT_DISEASE = new/datum/atom_hud/sentient_disease(), DATA_HUD_AI_DETECT = new/datum/atom_hud/ai_detector(), DATA_HUD_FAN = new/datum/atom_hud/data/human/fan_hud(), - ANTAG_HUD_CULT = new/datum/atom_hud/antag(), ANTAG_HUD_REV = new/datum/atom_hud/antag(), ANTAG_HUD_OPS = new/datum/atom_hud/antag(), ANTAG_HUD_WIZ = new/datum/atom_hud/antag(), @@ -23,9 +22,6 @@ GLOBAL_LIST_INIT(huds, list( ANTAG_HUD_NINJA = new/datum/atom_hud/antag/hidden(), ANTAG_HUD_CHANGELING = new/datum/atom_hud/antag/hidden(), ANTAG_HUD_ABDUCTOR = new/datum/atom_hud/antag/hidden(), - ANTAG_HUD_DEVIL = new/datum/atom_hud/antag(), - ANTAG_HUD_SINTOUCHED = new/datum/atom_hud/antag/hidden(), - ANTAG_HUD_SOULLESS = new/datum/atom_hud/antag/hidden(), ANTAG_HUD_BROTHER = new/datum/atom_hud/antag/hidden(), ANTAG_HUD_OBSESSED = new/datum/atom_hud/antag/hidden(), ANTAG_HUD_FUGITIVE = new/datum/atom_hud/antag(), diff --git a/code/datums/map_zones.dm b/code/datums/map_zones.dm index c4e304fb5394..bf103242c8db 100644 --- a/code/datums/map_zones.dm +++ b/code/datums/map_zones.dm @@ -637,7 +637,7 @@ var/ty = destination_y var/turf/DT = locate(tx, ty, destination_z) var/itercount = 0 - while(DT.density || istype(DT.loc,/area/shuttle)) // Extend towards the center of the map, trying to look for a better place to arrive + while(DT.density) // Extend towards the center of the map, trying to look for a better place to arrive if (itercount++ >= 100) log_game("SPACE Z-TRANSIT ERROR: Could not find a safe place to land [arrived] within 100 iterations.") break diff --git a/code/datums/mind.dm b/code/datums/mind.dm index ee3ca3631332..395b1a3e4431 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -345,12 +345,6 @@ remove_antag_datum(/datum/antagonist/wizard) special_role = null -/datum/mind/proc/remove_cultist() - if(src in SSticker.mode.cult) - SSticker.mode.remove_cultist(src, 0, 0) - special_role = null - remove_antag_equip() - /datum/mind/proc/remove_antag_equip() var/list/Mob_Contents = current.get_contents() for(var/obj/item/I in Mob_Contents) @@ -363,7 +357,6 @@ remove_traitor() remove_nukeop() remove_wizard() - remove_cultist() /datum/mind/proc/equip_traitor(employer = "The Syndicate", silent = FALSE, datum/antagonist/uplink_owner) if(!current) @@ -436,10 +429,7 @@ //Link a new mobs mind to the creator of said mob. They will join any team they are currently on, and will only switch teams when their creator does. /datum/mind/proc/enslave_mind_to_creator(mob/living/creator) - if(iscultist(creator)) - SSticker.mode.add_cultist(src) - - else if(is_nuclear_operative(creator)) + if(is_nuclear_operative(creator)) var/datum/antagonist/nukeop/converter = creator.mind.has_antag_datum(/datum/antagonist/nukeop,TRUE) var/datum/antagonist/nukeop/N = new() N.send_to_spawnpoint = FALSE @@ -708,14 +698,6 @@ assigned_role = ROLE_WIZARD add_antag_datum(/datum/antagonist/wizard) - -/datum/mind/proc/make_Cultist() - if(!has_antag_datum(/datum/antagonist/cult,TRUE)) - SSticker.mode.add_cultist(src,FALSE,equip=TRUE) - special_role = ROLE_CULTIST - to_chat(current, "You catch a glimpse of the Realm of Nar'Sie, The Geometer of Blood. You now see how flimsy your world is, you see that it should be open to the knowledge of Nar'Sie.") - to_chat(current, "Assist your new brethren in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back.") - /datum/mind/proc/AddSpell(obj/effect/proc_holder/spell/S) spell_list += S S.action.Grant(current) diff --git a/code/datums/mood_events/generic_positive_events.dm b/code/datums/mood_events/generic_positive_events.dm index f9e339c3c081..1ab201bc0186 100644 --- a/code/datums/mood_events/generic_positive_events.dm +++ b/code/datums/mood_events/generic_positive_events.dm @@ -96,11 +96,6 @@ mood_change = 3 hidden = TRUE -/datum/mood_event/cult - description = "I have seen the truth, praise the almighty one!\n" - mood_change = 10 //maybe being a cultist isnt that bad after all - hidden = TRUE - /datum/mood_event/family_heirloom description = "My family heirloom is safe with me.\n" mood_change = 1 diff --git a/code/datums/ruins/reebe.dm b/code/datums/ruins/reebe.dm index bec9986d75b8..d1a9de3e024f 100644 --- a/code/datums/ruins/reebe.dm +++ b/code/datums/ruins/reebe.dm @@ -11,13 +11,6 @@ suffix = "reebe_arena.dmm" ruin_tags = list(RUIN_TAG_BOSS_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_LIVEABLE) -/datum/map_template/ruin/reebe/swarmers - name = "Swarmer Island" - id = "swarmers" - description = "Looks like someone has occupied Reebe in the cultists' absence." - suffix = "reebe_swarmers.dmm" - ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MINOR_LOOT, RUIN_TAG_LIVEABLE) - /datum/map_template/ruin/reebe/island name = "Island Cache" id = "islandcache" diff --git a/code/datums/saymode.dm b/code/datums/saymode.dm index 848940d4e9d9..708a81107313 100644 --- a/code/datums/saymode.dm +++ b/code/datums/saymode.dm @@ -95,15 +95,11 @@ return FALSE -/datum/saymode/binary //everything that uses .b (silicons, drones, swarmers) +/datum/saymode/binary //everything that uses .b (silicons, drones) key = MODE_KEY_BINARY mode = MODE_BINARY /datum/saymode/binary/handle_message(mob/living/user, message, datum/language/language) - if(isswarmer(user)) - var/mob/living/simple_animal/hostile/swarmer/S = user - S.swarmer_chat(message) - return FALSE if(isdrone(user)) var/mob/living/simple_animal/drone/D = user D.drone_chat(message) diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index 749745dd6a7c..93d2cda195c0 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -85,35 +85,6 @@ desc = "You are being resurrected!" icon_state = "wish_granter" -/datum/status_effect/cult_master - id = "The Cult Master" - duration = -1 - alert_type = null - on_remove_on_mob_delete = TRUE - var/alive = TRUE - -/datum/status_effect/cult_master/proc/deathrattle() - if(!QDELETED(GLOB.cult_narsie)) - return //if Nar'Sie is alive, don't even worry about it - var/area/A = get_area(owner) - for(var/datum/mind/B in SSticker.mode.cult) - if(isliving(B.current)) - var/mob/living/M = B.current - SEND_SOUND(M, sound('sound/hallucinations/veryfar_noise.ogg')) - to_chat(M, "The Cult's Master, [owner], has fallen in \the [A]!") - -/datum/status_effect/cult_master/tick() - if(owner.stat != DEAD && !alive) - alive = TRUE - return - if(owner.stat == DEAD && alive) - alive = FALSE - deathrattle() - -/datum/status_effect/cult_master/on_remove() - deathrattle() - . = ..() - /datum/status_effect/blooddrunk id = "blooddrunk" duration = 10 diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index 17e2208cdebe..6d803d98ec47 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -253,19 +253,6 @@ /datum/status_effect/pacify/on_remove() REMOVE_TRAIT(owner, TRAIT_PACIFISM, "status_effect") -/datum/status_effect/cultghost //is a cult ghost and can't use manifest runes - id = "cult_ghost" - duration = -1 - alert_type = null - -/datum/status_effect/cultghost/on_apply() - owner.see_invisible = SEE_INVISIBLE_OBSERVER - owner.see_in_dark = 2 - -/datum/status_effect/cultghost/tick() - if(owner.reagents) - owner.reagents.del_reagent(/datum/reagent/water/holywater) //can't be deconverted - /datum/status_effect/crusher_mark id = "crusher_mark" duration = 300 //if you leave for 30 seconds you lose the mark, deal with it diff --git a/code/game/alternate_appearance.dm b/code/game/alternate_appearance.dm index 96f09636fec3..873828d2c260 100644 --- a/code/game/alternate_appearance.dm +++ b/code/game/alternate_appearance.dm @@ -130,32 +130,6 @@ GLOBAL_LIST_EMPTY(active_alternate_appearances) /datum/atom_hud/alternate_appearance/basic/observers/mobShouldSee(mob/M) return isobserver(M) -/datum/atom_hud/alternate_appearance/basic/noncult - -/datum/atom_hud/alternate_appearance/basic/noncult/New() - ..() - for(var/mob in GLOB.player_list) - if(mobShouldSee(mob)) - add_hud_to(mob) - -/datum/atom_hud/alternate_appearance/basic/noncult/mobShouldSee(mob/M) - if(!iscultist(M)) - return TRUE - return FALSE - -/datum/atom_hud/alternate_appearance/basic/cult - -/datum/atom_hud/alternate_appearance/basic/cult/New() - ..() - for(var/mob in GLOB.player_list) - if(mobShouldSee(mob)) - add_hud_to(mob) - -/datum/atom_hud/alternate_appearance/basic/cult/mobShouldSee(mob/M) - if(iscultist(M)) - return TRUE - return FALSE - /datum/atom_hud/alternate_appearance/basic/blessedAware /datum/atom_hud/alternate_appearance/basic/blessedAware/New() @@ -167,8 +141,6 @@ GLOBAL_LIST_EMPTY(active_alternate_appearances) /datum/atom_hud/alternate_appearance/basic/blessedAware/mobShouldSee(mob/M) if(M.mind && (M.mind.assigned_role == "Chaplain")) return TRUE - if (istype(M, /mob/living/simple_animal/hostile/construct/wraith)) - return TRUE if(isrevenant(M) || iswizard(M)) return TRUE return FALSE diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm deleted file mode 100644 index 3fb4fcd5efeb..000000000000 --- a/code/game/area/Space_Station_13_areas.dm +++ /dev/null @@ -1,1350 +0,0 @@ -/* - -### This file contains a list of all the areas in your station. Format is as follows: - -/area/CATEGORY/OR/DESCRIPTOR/NAME (you can make as many subdivisions as you want) - name = "NICE NAME" (not required but makes things really nice) - icon = 'ICON FILENAME' (defaults to 'icons/turf/areas.dmi') - icon_state = "NAME OF ICON" (defaults to "unknown" (blank)) - requires_power = FALSE (defaults to true) - ambientsounds = list() (defaults to GENERIC from sound.dm. override it as "ambientsounds = list('sound/ambience/signal.ogg')" or using another define. - -NOTE: there are two lists of areas in the end of this file: centcom and station itself. Please maintain these lists valid. --rastaf0 - -*/ - - -/*-----------------------------------------------------------------------------*/ - -/* Shiptest Begin - -/area/ai_monitored //stub defined ai_monitored.dm - -/area/ai_monitored/turret_protected - -/area/space - icon_state = "space" - requires_power = TRUE - always_unpowered = TRUE - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED - power_light = FALSE - power_equip = FALSE - power_environ = FALSE - area_flags = UNIQUE_AREA | CAVES_ALLOWED | MOB_SPAWN_ALLOWED - outdoors = TRUE - ambientsounds = SPACE - flags_1 = CAN_BE_DIRTY_1 - sound_environment = SOUND_AREA_SPACE - -/area/space/nearstation - icon_state = "space_near" - dynamic_lighting = DYNAMIC_LIGHTING_IFSTARLIGHT - -/area/start - name = "start area" - icon_state = "start" - requires_power = FALSE - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED - has_gravity = STANDARD_GRAVITY - - -/area/testroom - requires_power = FALSE - name = "Test Room" - icon_state = "storage" - -//EXTRA - -/area/asteroid - name = "Asteroid" - icon_state = "asteroid" - requires_power = FALSE - has_gravity = STANDARD_GRAVITY - area_flags = UNIQUE_AREA | CAVES_ALLOWED | MOB_SPAWN_ALLOWED - ambientsounds = MINING - flags_1 = CAN_BE_DIRTY_1 - sound_environment = SOUND_AREA_ASTEROID - -/area/asteroid/nearstation - dynamic_lighting = DYNAMIC_LIGHTING_FORCED - ambientsounds = RUINS - always_unpowered = FALSE - requires_power = TRUE - area_flags = UNIQUE_AREA - -/area/asteroid/nearstation/bomb_site - name = "Bomb Testing Asteroid" - -//STATION13 - -//Maintenance - -/area/maintenance - ambientsounds = MAINTENANCE - lighting_colour_tube = "#ffe5cb" - lighting_colour_bulb = "#ffdbb4" - area_flags = UNIQUE_AREA - sound_environment = SOUND_AREA_TUNNEL_ENCLOSED - -//Departments - -/area/maintenance/department/chapel - name = "Chapel Maintenance" - icon_state = "maint_chapel" - -/area/maintenance/department/chapel/monastery - name = "Monastery Maintenance" - icon_state = "maint_monastery" - -/area/maintenance/department/crew_quarters/bar - name = "Bar Maintenance" - icon_state = "maint_bar" - sound_environment = SOUND_AREA_WOODFLOOR - -/area/maintenance/department/crew_quarters/dorms - name = "Dormitory Maintenance" - icon_state = "maint_dorms" - -/area/maintenance/department/eva - name = "EVA Maintenance" - icon_state = "maint_eva" - -/area/maintenance/department/electrical - name = "Electrical Maintenance" - icon_state = "maint_electrical" - -/area/maintenance/department/engine/atmos - name = "Atmospherics Maintenance" - icon_state = "maint_atmos" - -/area/maintenance/department/security - name = "Security Maintenance" - icon_state = "maint_sec" - -/area/maintenance/department/security/upper - name = "Upper Security Maintenance" - -/area/maintenance/department/security/brig - name = "Brig Maintenance" - icon_state = "maint_brig" - -/area/maintenance/department/medical - name = "Medbay Maintenance" - icon_state = "medbay_maint" - -/area/maintenance/department/medical/central - name = "Central Medbay Maintenance" - icon_state = "medbay_maint_central" - -/area/maintenance/department/medical/morgue - name = "Morgue Maintenance" - icon_state = "morgue_maint" - -/area/maintenance/department/science - name = "Science Maintenance" - icon_state = "maint_sci" - -/area/maintenance/department/science/central - name = "Central Science Maintenance" - icon_state = "maint_sci_central" - -/area/maintenance/department/cargo - name = "Cargo Maintenance" - icon_state = "maint_cargo" - -/area/maintenance/department/bridge - name = "Bridge Maintenance" - icon_state = "maint_bridge" - -/area/maintenance/department/engine - name = "Engineering Maintenance" - icon_state = "maint_engi" - -/area/maintenance/department/science/xenobiology - name = "Xenobiology Maintenance" - icon_state = "xenomaint" - area_flags = VALID_TERRITORY | BLOBS_ALLOWED | UNIQUE_AREA | XENOBIOLOGY_COMPATIBLE - - -//Maintenance - Generic - -/area/maintenance/aft - name = "Aft Maintenance" - icon_state = "amaint" - -/area/maintenance/aft/upper - name = "Upper Aft Maintenance" - -/area/maintenance/aft/secondary - name = "Aft Maintenance" - icon_state = "amaint_2" - -/area/maintenance/central - name = "Central Maintenance" - icon_state = "maintcentral" - -/area/maintenance/central/secondary - name = "Central Maintenance" - icon_state = "maintcentral" - -/area/maintenance/fore - name = "Fore Maintenance" - icon_state = "fmaint" - -/area/maintenance/fore/upper - name = "Upper Fore Maintenance" - -/area/maintenance/fore/secondary - name = "Fore Maintenance" - icon_state = "fmaint_2" - -/area/maintenance/starboard - name = "Starboard Maintenance" - icon_state = "smaint" - -/area/maintenance/starboard/upper - name = "Upper Starboard Maintenance" - -/area/maintenance/starboard/central - name = "Central Starboard Maintenance" - icon_state = "smaint" - -/area/maintenance/starboard/secondary - name = "Secondary Starboard Maintenance" - icon_state = "smaint_2" - -/area/maintenance/starboard/aft - name = "Starboard Quarter Maintenance" - icon_state = "asmaint" - -/area/maintenance/starboard/aft/secondary - name = "Secondary Starboard Quarter Maintenance" - icon_state = "asmaint_2" - -/area/maintenance/starboard/fore - name = "Starboard Bow Maintenance" - icon_state = "fsmaint" - -/area/maintenance/port - name = "Port Maintenance" - icon_state = "pmaint" - -/area/maintenance/port/central - name = "Central Port Maintenance" - icon_state = "maintcentral" - -/area/maintenance/port/aft - name = "Port Quarter Maintenance" - icon_state = "apmaint" - -/area/maintenance/port/fore - name = "Port Bow Maintenance" - icon_state = "fpmaint" - -/area/maintenance/disposal - name = "Waste Disposal" - icon_state = "disposal" - -/area/maintenance/disposal/incinerator - name = "Incinerator" - icon_state = "disposal" - - -//Hallway -/area/hallway - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/hallway - lighting_colour_tube = "#ffce99" - lighting_colour_bulb = "#ffdbb4" - lighting_brightness_tube = 7 - - -/area/hallway/primary/aft - name = "Aft Primary Hallway" - icon_state = "hallA" - -/area/hallway/primary/fore - name = "Fore Primary Hallway" - icon_state = "hallF" - -/area/hallway/primary/starboard - name = "Starboard Primary Hallway" - icon_state = "hallS" - -/area/hallway/primary/port - name = "Port Primary Hallway" - icon_state = "hallP" - -/area/hallway/primary/central - name = "Central Primary Hallway" - icon_state = "hallC" - -/area/hallway/primary/upper - name = "Upper Central Primary Hallway" - icon_state = "hallC" - - -/area/hallway/secondary/command - name = "Command Hallway" - icon_state = "bridge_hallway" - -/area/hallway/secondary/construction - name = "Construction Area" - icon_state = "construction" - -/area/hallway/secondary/exit - name = "Escape Shuttle Hallway" - icon_state = "escape" - -/area/hallway/secondary/exit/departure_lounge - name = "Departure Lounge" - icon_state = "escape_lounge" - -/area/hallway/secondary/entry - name = "Arrival Shuttle Hallway" - icon_state = "entry" - -/area/hallway/secondary/service - name = "Service Hallway" - icon_state = "hall_service" - -//Command - -/area/bridge - name = "Bridge" - icon_state = "bridge" - ambientsounds = list('sound/ambience/signal.ogg') - lighting_colour_tube = "#ffce99" - lighting_colour_bulb = "#ffdbb4" - lighting_brightness_tube = 6 - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/bridge/meeting_room - name = "Heads of Staff Meeting Room" - icon_state = "meeting" - sound_environment = SOUND_AREA_MEDIUM_SOFTFLOOR - -/area/bridge/meeting_room/council - name = "Council Chamber" - icon_state = "meeting" - sound_environment = SOUND_AREA_MEDIUM_SOFTFLOOR - -/area/bridge/showroom/corporate - name = "Corporate Showroom" - icon_state = "showroom" - sound_environment = SOUND_AREA_MEDIUM_SOFTFLOOR - -/area/crew_quarters/heads/captain - name = "Captain's Office" - icon_state = "captain" - sound_environment = SOUND_AREA_WOODFLOOR - -/area/crew_quarters/heads/captain/private - name = "Captain's Quarters" - icon_state = "captain" - sound_environment = SOUND_AREA_WOODFLOOR - -/area/crew_quarters/heads/chief - name = "Chief Engineer's Office" - icon_state = "ce_office" - -/area/crew_quarters/heads/cmo - name = "Chief Medical Officer's Office" - icon_state = "cmo_office" - -/area/crew_quarters/heads/head_of_personnel - name = "Head of Personnel's Office" - icon_state = "hop_office" - -/area/crew_quarters/heads/hos - name = "Head of Security's Office" - icon_state = "hos_office" - -/area/crew_quarters/heads/hor - name = "Research Director's Office" - icon_state = "rd_office" - -/area/comms - name = "Communications Relay" - icon_state = "tcomsatcham" - lighting_colour_tube = "#e2feff" - lighting_colour_bulb = "#d5fcff" - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/server - name = "Messaging Server Room" - icon_state = "server" - sound_environment = SOUND_AREA_STANDARD_STATION - -//Crew - -/area/crew_quarters - lighting_colour_tube = "#ffce99" - lighting_colour_bulb = "#ffdbb4" - lighting_brightness_tube = 6 - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/crew_quarters/dorms - name = "Dormitories" - icon_state = "Sleep" - area_flags = VALID_TERRITORY | BLOBS_ALLOWED | UNIQUE_AREA - -/area/crew_quarters/dorms/barracks - name = "Sleep Barracks" - -/area/crew_quarters/dorms/barracks/male - name = "Male Sleep Barracks" - -/area/crew_quarters/dorms/barracks/female - name = "Female Sleep Barracks" - -/area/crew_quarters/toilet - name = "Dormitory Toilets" - icon_state = "toilet" - lighting_colour_tube = "#e3ffff" - lighting_colour_bulb = "#d5ffff" - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/crew_quarters/toilet/auxiliary - name = "Auxiliary Restrooms" - icon_state = "toilet" - -/area/crew_quarters/toilet/locker - name = "Locker Toilets" - icon_state = "toilet" - -/area/crew_quarters/toilet/restrooms - name = "Restrooms" - icon_state = "toilet" - -/area/crew_quarters/locker - name = "Locker Room" - icon_state = "locker" - -/area/crew_quarters/lounge - name = "Lounge" - icon_state = "yellow" - sound_environment = SOUND_AREA_SMALL_SOFTFLOOR - -/area/crew_quarters/fitness - name = "Fitness Room" - icon_state = "fitness" - -/area/crew_quarters/fitness/locker_room - name = "Unisex Locker Room" - icon_state = "fitness" - -/area/crew_quarters/fitness/locker_room/male - name = "Male Locker Room" - -/area/crew_quarters/fitness/locker_room/female - name = "Female Locker Room" - - -/area/crew_quarters/fitness/recreation - name = "Recreation Area" - icon_state = "fitness" - -/area/crew_quarters/cafeteria - name = "Cafeteria" - icon_state = "cafeteria" - -/area/crew_quarters/kitchen - name = "Kitchen" - icon_state = "kitchen" - lighting_colour_tube = "#e3ffff" - lighting_colour_bulb = "#d5ffff" - -/area/crew_quarters/kitchen/coldroom - name = "Kitchen Cold Room" - icon_state = "kitchen_cold" - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/crew_quarters/bar - name = "Bar" - icon_state = "bar" - mood_bonus = 5 - mood_message = "I love being in the bar!\n" - lighting_colour_tube = "#fff4d6" - lighting_colour_bulb = "#ffebc1" - sound_environment = SOUND_AREA_WOODFLOOR - -/area/crew_quarters/bar/atrium - name = "Atrium" - icon_state = "bar" - sound_environment = SOUND_AREA_WOODFLOOR - -/area/crew_quarters/electronic_marketing_den - name = "Electronic Marketing Den" - icon_state = "bar" - -/area/crew_quarters/abandoned_gambling_den - name = "Abandoned Gambling Den" - icon_state = "abandoned_g_den" - -/area/crew_quarters/abandoned_gambling_den/secondary - icon_state = "abandoned_g_den_2" - -/area/crew_quarters/theatre - name = "Theatre" - icon_state = "Theatre" - sound_environment = SOUND_AREA_WOODFLOOR - -/area/crew_quarters/theatre/abandoned - name = "Abandoned Theatre" - icon_state = "Theatre" - -/area/library - name = "Library" - icon_state = "library" - flags_1 = CULT_PERMITTED_1 - lighting_colour_tube = "#ffce99" - lighting_colour_bulb = "#ffdbb4" - sound_environment = SOUND_AREA_LARGE_SOFTFLOOR - -/area/library/lounge - name = "Library Lounge" - icon_state = "library" - sound_environment = SOUND_AREA_LARGE_SOFTFLOOR - -/area/library/artgallery - name = " Art Gallery" - icon_state = "library" - -/area/library/private - name = "Library Private Study" - icon_state = "library" - -/area/library/upper - name = "Library Upper Floor" - icon_state = "library" - -/area/library/printer - name = "Library Printer Room" - icon_state = "library" - -/area/library/abandoned - name = "Abandoned Library" - icon_state = "library" - flags_1 = CULT_PERMITTED_1 - -/area/chapel - icon_state = "chapel" - ambientsounds = HOLY - flags_1 = NONE - sound_environment = SOUND_AREA_LARGE_ENCLOSED - -/area/chapel/main - name = "Chapel" - -/area/chapel/main/monastery - name = "Monastery" - -/area/chapel/office - name = "Chapel Office" - icon_state = "chapeloffice" - -/area/chapel/asteroid - name = "Chapel Asteroid" - icon_state = "explored" - sound_environment = SOUND_AREA_ASTEROID - -/area/chapel/asteroid/monastery - name = "Monastery Asteroid" - -/area/chapel/dock - name = "Chapel Dock" - icon_state = "construction" - -/area/lawoffice - name = "Law Office" - icon_state = "law" - sound_environment = SOUND_AREA_SMALL_SOFTFLOOR - - -//Engineering - -/area/engine - ambientsounds = ENGINEERING - lighting_colour_tube = "#ffce93" - lighting_colour_bulb = "#ffbc6f" - sound_environment = SOUND_AREA_LARGE_ENCLOSED - -/area/engine/engine_smes - name = "Engineering SMES" - icon_state = "engine_smes" - -/area/engine/engineering - name = "Engineering" - icon_state = "engine" - -/area/engine/atmos - name = "Atmospherics" - icon_state = "atmos" - flags_1 = CULT_PERMITTED_1 - -/area/engine/atmos/upper - name = "Upper Atmospherics" - -/area/engine/atmospherics_engine - name = "Atmospherics Engine" - icon_state = "atmos_engine" - area_flags = BLOBS_ALLOWED | UNIQUE_AREA - sound_environment = SOUND_AREA_LARGE_ENCLOSED - -/area/engine/engine_room //donut station specific - name = "Engine Room" - icon_state = "atmos_engine" - -/area/engine/lobby - name = "Engineering Lobby" - icon_state = "engi_lobby" - -/area/engine/engine_room/external - name = "Supermatter External Access" - icon_state = "engine_foyer" - -/area/engine/supermatter - name = "Supermatter Engine" - icon_state = "engine_sm" - area_flags = BLOBS_ALLOWED | UNIQUE_AREA - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/engine/break_room - name = "Engineering Foyer" - icon_state = "engine_foyer" - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/engine/gravity_generator - name = "Gravity Generator Room" - icon_state = "grav_gen" - -/area/engine/storage - name = "Engineering Storage" - icon_state = "engi_storage" - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/engine/storage_shared - name = "Shared Engineering Storage" - icon_state = "engi_storage" - -/area/engine/transit_tube - name = "Transit Tube" - icon_state = "transit_tube" - - -//Solars - -/area/solar - requires_power = FALSE - dynamic_lighting = DYNAMIC_LIGHTING_IFSTARLIGHT - area_flags = UNIQUE_AREA - flags_1 = NONE - ambientsounds = ENGINEERING - sound_environment = SOUND_AREA_SPACE - -/area/solar/fore - name = "Fore Solar Array" - icon_state = "yellow" - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/solar/aft - name = "Aft Solar Array" - icon_state = "yellow" - -/area/solar/aux/port - name = "Port Bow Auxiliary Solar Array" - icon_state = "panelsA" - -/area/solar/aux/starboard - name = "Starboard Bow Auxiliary Solar Array" - icon_state = "panelsA" - -/area/solar/starboard - name = "Starboard Solar Array" - icon_state = "panelsS" - -/area/solar/starboard/aft - name = "Starboard Quarter Solar Array" - icon_state = "panelsAS" - -/area/solar/starboard/fore - name = "Starboard Bow Solar Array" - icon_state = "panelsFS" - -/area/solar/port - name = "Port Solar Array" - icon_state = "panelsP" - -/area/solar/port/aft - name = "Port Quarter Solar Array" - icon_state = "panelsAP" - -/area/solar/port/fore - name = "Port Bow Solar Array" - icon_state = "panelsFP" - -/area/solar/aisat - name = "AI Satellite Solars" - icon_state = "yellow" - - -//Solar Maint - -/area/maintenance/solars - name = "Solar Maintenance" - icon_state = "yellow" - -/area/maintenance/solars/port - name = "Port Solar Maintenance" - icon_state = "SolarcontrolP" - -/area/maintenance/solars/port/aft - name = "Port Quarter Solar Maintenance" - icon_state = "SolarcontrolAP" - -/area/maintenance/solars/port/fore - name = "Port Bow Solar Maintenance" - icon_state = "SolarcontrolFP" - -/area/maintenance/solars/starboard - name = "Starboard Solar Maintenance" - icon_state = "SolarcontrolS" - -/area/maintenance/solars/starboard/aft - name = "Starboard Quarter Solar Maintenance" - icon_state = "SolarcontrolAS" - -/area/maintenance/solars/starboard/fore - name = "Starboard Bow Solar Maintenance" - icon_state = "SolarcontrolFS" - -//Teleporter - -/area/teleporter - name = "Teleporter Room" - icon_state = "teleporter" - ambientsounds = ENGINEERING - -/area/gateway - name = "Gateway" - icon_state = "gateway" - ambientsounds = ENGINEERING - sound_environment = SOUND_AREA_STANDARD_STATION - -//MedBay - -/area/medical - name = "Medical" - icon_state = "medbay3" - ambientsounds = MEDICAL - lighting_colour_tube = "#e7f8ff" - lighting_colour_bulb = "#d5f2ff" - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/medical/abandoned - name = "Abandoned Medbay" - icon_state = "medbay3" - ambientsounds = list('sound/ambience/signal.ogg') - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/medical/medbay/central - name = "Medbay Central" - icon_state = "medbay" - -/area/medical/medbay/lobby - name = "Medbay Lobby" - icon_state = "medbay" - - //Medbay is a large area, these additional areas help level out APC load. - -/area/medical/medbay/zone2 - name = "Medbay" - icon_state = "medbay2" - -/area/medical/medbay/aft - name = "Medbay Aft" - icon_state = "medbay3" - -/area/medical/storage - name = "Medbay Storage" - icon_state = "medbay2" - -/area/medical/paramedic - name = "Paramedic Dispatch" - icon_state = "medbay2" - -/area/medical/office - name = "Medical Office" - icon_state = "medoffice" - -/area/medical/surgery/room_c - name = "Surgery C" - icon_state = "surgery" - -/area/medical/surgery/room_d - name = "Surgery D" - icon_state = "surgery" - -/area/medical/break_room - name = "Medical Break Room" - icon_state = "medbay2" - -/area/medical/coldroom - name = "Medical Cold Room" - icon_state = "kitchen_cold" - -/area/medical/patients_rooms - name = "Patients' Rooms" - icon_state = "patients" - sound_environment = SOUND_AREA_SMALL_SOFTFLOOR - -/area/medical/patients_rooms/room_a - name = "Patient Room A" - icon_state = "patients" - -/area/medical/patients_rooms/room_b - name = "Patient Room B" - icon_state = "patients" - -/area/medical/virology - name = "Virology" - icon_state = "virology" - flags_1 = CULT_PERMITTED_1 - -/area/medical/morgue - name = "Morgue" - icon_state = "morgue" - ambientsounds = SPOOKY - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/medical/chemistry - name = "Chemistry" - icon_state = "chem" - -/area/medical/pharmacy - name = "Pharmacy" - icon_state = "pharmacy" - -/area/medical/surgery - name = "Surgery" - icon_state = "surgery" - -/area/medical/surgery/room_b - name = "Surgery B" - icon_state = "surgery" - -/area/medical/cryo - name = "Cryogenics" - icon_state = "cryo" - -/area/medical/exam_room - name = "Exam Room" - icon_state = "exam_room" - -/area/medical/genetics - name = "Genetics Lab" - icon_state = "genetics" - -/area/medical/sleeper - name = "Medbay Treatment Center" - icon_state = "exam_room" - -/area/medical/psychology - name = "Psychology Office" - icon_state = "psychology" - mood_bonus = 3 - mood_message = "I feel at ease here.\n" - ambientsounds = list('sound/ambience/aurora_caelus_short.ogg') - -//Security - -/area/security - name = "Security" - icon_state = "security" - ambientsounds = HIGHSEC - lighting_colour_tube = "#ffeee2" - lighting_colour_bulb = "#ffdfca" - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/security/main - name = "Security Office" - icon_state = "security" - -/area/security/brig - name = "Brig" - icon_state = "brig" - -/area/security/brig/upper - name = "Brig Overlook" - -/area/security/courtroom - name = "Courtroom" - icon_state = "courtroom" - sound_environment = SOUND_AREA_LARGE_ENCLOSED - -/area/security/prison - name = "Prison Wing" - icon_state = "sec_prison" - -/area/security/prison/toilet //radproof - name = "Prison Toilet" - icon_state = "sec_prison_safe" - -/area/security/prison/safe //radproof - name = "Prison Wing Cells" - icon_state = "sec_prison_safe" - -/area/security/prison/upper - name = "Upper Prison Wing" - icon_state = "prison_upper" - -/area/security/prison/visit - name = "Prison Visitation Area" - icon_state = "prison_visit" - -/area/security/prison/rec - name = "Prison Rec Room" - icon_state = "prison_rec" - -/area/security/prison/mess - name = "Prison Mess Hall" - icon_state = "prison_mess" - -/area/security/prison/work - name = "Prison Work Room" - icon_state = "prison_work" - -/area/security/prison/shower - name = "Prison Shower" - icon_state = "prison_shower" - -/area/security/prison/workout - name = "Prison Gym" - icon_state = "prison_workout" - -/area/security/prison/garden - name = "Prison Garden" - icon_state = "prison_garden" - -/area/security/processing - name = "Labor Shuttle Dock" - icon_state = "sec_prison" - -/area/security/processing/cremation - name = "Security Crematorium" - icon_state = "sec_prison" - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/security/warden - name = "Brig Control" - icon_state = "Warden" - sound_environment = SOUND_AREA_SMALL_SOFTFLOOR - -/area/security/detectives_office - name = "Detective's Office" - icon_state = "detective" - ambientsounds = list('sound/ambience/ambidet1.ogg','sound/ambience/ambidet2.ogg') - -/area/security/detectives_office/private_investigators_office - name = "Private Investigator's Office" - icon_state = "detective" - sound_environment = SOUND_AREA_SMALL_SOFTFLOOR - -/area/security/range - name = "Firing Range" - icon_state = "firingrange" - -/area/security/execution - icon_state = "execution_room" - -/area/security/execution/transfer - name = "Transfer Centre" - -/area/security/execution/education - name = "Prisoner Education Chamber" - -/area/security/nuke_storage - name = "Vault" - icon_state = "nuke_storage" - -/area/ai_monitored/nuke_storage - name = "Vault" - icon_state = "nuke_storage" - -/area/security/checkpoint - name = "Security Checkpoint" - icon_state = "checkpoint1" - -/area/security/checkpoint/auxiliary - icon_state = "checkpoint_aux" - -/area/security/checkpoint/escape - icon_state = "checkpoint_esc" - -/area/security/checkpoint/supply - name = "Security Post - Cargo Bay" - icon_state = "checkpoint_supp" - -/area/security/checkpoint/engineering - name = "Security Post - Engineering" - icon_state = "checkpoint_engi" - -/area/security/checkpoint/medical - name = "Security Post - Medbay" - icon_state = "checkpoint_med" - -/area/security/checkpoint/science - name = "Security Post - Science" - icon_state = "checkpoint_sci" - -/area/security/checkpoint/science/research - name = "Security Post - Research Division" - icon_state = "checkpoint_res" - -/area/security/checkpoint/customs - name = "Customs" - icon_state = "customs_point" - -/area/security/checkpoint/customs/auxiliary - icon_state = "customs_point_aux" - - -//Service - -/area/quartermaster - name = "Quartermasters" - icon_state = "quart" - lighting_colour_tube = "#ffe3cc" - lighting_colour_bulb = "#ffdbb8" - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/quartermaster/sorting - name = "Delivery Office" - icon_state = "cargo_delivery" - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/quartermaster/warehouse - name = "Warehouse" - icon_state = "cargo_warehouse" - sound_environment = SOUND_AREA_LARGE_ENCLOSED - -/area/quartermaster/warehouse/upper - name = "Upper Warehouse" - -/area/quartermaster/office - name = "Cargo Office" - icon_state = "quartoffice" - -/area/quartermaster/storage - name = "Cargo Bay" - icon_state = "cargo_bay" - sound_environment = SOUND_AREA_LARGE_ENCLOSED - -/area/quartermaster/qm - name = "Quartermaster's Office" - icon_state = "quart" - -/area/quartermaster/qm/perch - name = "Quartermaster's Perch" - icon_state = "quartperch" - -/area/quartermaster/miningdock - name = "Mining Dock" - icon_state = "mining" - -/area/quartermaster/miningoffice - name = "Mining Office" - icon_state = "mining" - -/area/janitor - name = "Custodial Closet" - icon_state = "janitor" - flags_1 = CULT_PERMITTED_1 - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/hydroponics - name = "Hydroponics" - icon_state = "hydro" - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/hydroponics/upper - name = "Upper Hydroponics" - icon_state = "hydro" - -/area/hydroponics/garden - name = "Garden" - icon_state = "garden" - -/area/hydroponics/garden/abandoned - name = "Abandoned Garden" - icon_state = "abandoned_garden" - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/hydroponics/garden/monastery - name = "Monastery Garden" - icon_state = "hydro" - - -//Science - -/area/science - name = "Science Division" - icon_state = "toxlab" - lighting_colour_tube = "#f0fbff" - lighting_colour_bulb = "#e4f7ff" - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/science/lab - name = "Research and Development" - icon_state = "toxlab" - -/area/science/xenobiology - name = "Xenobiology Lab" - icon_state = "toxlab" - -/area/science/storage - name = "Toxins Storage" - icon_state = "toxstorage" - -/area/science/test_area - name = "Toxins Test Area" - icon_state = "toxtest" - area_flags = BLOBS_ALLOWED | UNIQUE_AREA - -/area/science/mixing - name = "Toxins Mixing Lab" - icon_state = "toxmix" - -/area/science/mixing/chamber - name = "Toxins Mixing Chamber" - icon_state = "toxmix" - area_flags = BLOBS_ALLOWED | UNIQUE_AREA - -/area/science/misc_lab - name = "Testing Lab" - icon_state = "toxmisc" - -/area/science/misc_lab/range - name = "Research Testing Range" - icon_state = "toxmisc" - -/area/science/server - name = "Research Division Server Room" - icon_state = "server" - -/area/science/explab - name = "Experimentation Lab" - icon_state = "toxmisc" - -/area/science/robotics - name = "Robotics" - icon_state = "medresearch" - -/area/science/robotics/mechbay - name = "Mech Bay" - icon_state = "mechbay" - -/area/science/robotics/lab - name = "Robotics Lab" - icon_state = "ass_line" - -/area/science/research - name = "Research Division" - icon_state = "medresearch" - -/area/science/research/abandoned - name = "Abandoned Research Lab" - icon_state = "medresearch" - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/science/nanite - name = "Nanite Lab" - icon_state = "toxmisc" - -//Storage -/area/storage - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/storage/tools - name = "Auxiliary Tool Storage" - icon_state = "storage" - -/area/storage/primary - name = "Primary Tool Storage" - icon_state = "primarystorage" - -/area/storage/art - name = "Art Supply Storage" - icon_state = "storage" - -/area/storage/tcom - name = "Telecomms Storage" - icon_state = "green" - area_flags = BLOBS_ALLOWED | UNIQUE_AREA - -/area/storage/eva - name = "EVA Storage" - icon_state = "eva" - -/area/storage/emergency/starboard - name = "Starboard Emergency Storage" - icon_state = "emergencystorage" - -/area/storage/emergency/port - name = "Port Emergency Storage" - icon_state = "emergencystorage" - -/area/storage/tech - name = "Technical Storage" - icon_state = "auxstorage" - -//Construction - -/area/construction - name = "Construction Area" - icon_state = "yellow" - ambientsounds = ENGINEERING - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/construction/mining/aux_base - name = "Auxiliary Base Construction" - icon_state = "aux_base_construction" - sound_environment = SOUND_AREA_MEDIUM_SOFTFLOOR - -/area/construction/storage_wing - name = "Storage Wing" - icon_state = "storage_wing" - -// Vacant Rooms -/area/vacant_room - name = "Vacant Room" - icon_state = "vacant_room" - ambientsounds = MAINTENANCE - -/area/vacant_room/office - name = "Vacant Office" - icon_state = "vacant_office" - -/area/vacant_room/commissary - name = "Vacant Commissary" - icon_state = "vacant_commissary" - -//AI - -/area/ai_monitored - sound_environment = SOUND_AREA_STANDARD_STATION - -/area/ai_monitored/security/armory - name = "Armory" - icon_state = "armory" - ambientsounds = HIGHSEC - -/area/ai_monitored/security/armory/upper - name = "Upper Armory" - -/area/ai_monitored/storage/eva - name = "EVA Storage" - icon_state = "eva" - ambientsounds = HIGHSEC - -/area/ai_monitored/storage/eva/upper - name = "Upper EVA Storage" - -/area/ai_monitored/storage/satellite - name = "AI Satellite Maint" - icon_state = "storage" - ambientsounds = HIGHSEC - - //Turret_protected - -/area/ai_monitored/turret_protected - ambientsounds = list('sound/ambience/ambimalf.ogg', 'sound/ambience/ambitech.ogg', 'sound/ambience/ambitech2.ogg', 'sound/ambience/ambiatmos.ogg', 'sound/ambience/ambiatmos2.ogg') - -/area/ai_monitored/turret_protected/ai_upload - name = "AI Upload Chamber" - icon_state = "ai_upload" - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/ai_monitored/turret_protected/ai_upload_foyer - name = "AI Upload Access" - icon_state = "ai_foyer" - sound_environment = SOUND_AREA_SMALL_ENCLOSED - -/area/ai_monitored/turret_protected/ai - name = "AI Chamber" - icon_state = "ai_chamber" - -/area/ai_monitored/turret_protected/aisat - name = "AI Satellite" - icon_state = "ai" - sound_environment = SOUND_ENVIRONMENT_ROOM - -/area/ai_monitored/turret_protected/aisat/atmos - name = "AI Satellite Atmos" - icon_state = "ai" - -/area/ai_monitored/turret_protected/aisat/foyer - name = "AI Satellite Foyer" - icon_state = "ai" - -/area/ai_monitored/turret_protected/aisat/service - name = "AI Satellite Service" - icon_state = "ai" - -/area/ai_monitored/turret_protected/aisat/hallway - name = "AI Satellite Hallway" - icon_state = "ai" - -/area/aisat - name = "AI Satellite Exterior" - icon_state = "yellow" - -/area/ai_monitored/turret_protected/aisat_interior - name = "AI Satellite Antechamber" - icon_state = "ai" - sound_environment = SOUND_AREA_LARGE_ENCLOSED - -/area/ai_monitored/turret_protected/AIsatextAS - name = "AI Sat Ext" - icon_state = "storage" - -/area/ai_monitored/turret_protected/AIsatextAP - name = "AI Sat Ext" - icon_state = "storage" - - -// Telecommunications Satellite - -/area/tcommsat - ambientsounds = list('sound/ambience/ambisin2.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/signal.ogg', 'sound/ambience/ambigen10.ogg', 'sound/ambience/ambitech.ogg',\ - 'sound/ambience/ambitech2.ogg', 'sound/ambience/ambitech3.ogg', 'sound/ambience/ambimystery.ogg') - -/area/tcommsat/computer - name = "Telecomms Control Room" - icon_state = "tcomsatcomp" - sound_environment = SOUND_AREA_MEDIUM_SOFTFLOOR - -/area/tcommsat/server - name = "Telecomms Server Room" - icon_state = "tcomsatcham" - -/area/tcommsat/server/upper - name = "Upper Telecomms Server Room" - -//External Hull Access -/area/maintenance/external - name = "External Hull Access" - icon_state = "amaint" - -/area/maintenance/external/aft - name = "Aft External Hull Access" - -/area/maintenance/external/port - name = "Port External Hull Access" - -/area/maintenance/external/port/bow - name = "Port Bow External Hull Access" - -Shiptest End */ diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 9c0ecb225c41..bc2f62f99e0c 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -113,7 +113,7 @@ GLOBAL_LIST_EMPTY(teleportlocs) /proc/process_teleport_locs() for(var/V in GLOB.sortedAreas) var/area/AR = V - if(istype(AR, /area/shuttle) || AR.area_flags & NOTELEPORT) + if(AR.area_flags & NOTELEPORT) continue if(GLOB.teleportlocs[AR.name]) continue diff --git a/code/game/area/areas/shuttles.dm b/code/game/area/areas/shuttles.dm deleted file mode 100644 index 625129ae236f..000000000000 --- a/code/game/area/areas/shuttles.dm +++ /dev/null @@ -1,185 +0,0 @@ - -//These are shuttle areas; all subtypes are only used as teleportation markers, they have no actual function beyond that. -//Multi area shuttles are a thing now, use subtypes! ~ninjanomnom - -/area/shuttle - name = "Shuttle" - requires_power = FALSE - dynamic_lighting = DYNAMIC_LIGHTING_FORCED - has_gravity = STANDARD_GRAVITY - always_unpowered = FALSE - // Loading the same shuttle map at a different time will produce distinct area instances. - area_flags = NONE - icon_state = "shuttle" - flags_1 = CAN_BE_DIRTY_1 - lighting_colour_tube = "#fff0dd" - lighting_colour_bulb = "#ffe1c1" - area_limited_icon_smoothing = TRUE - sound_environment = SOUND_ENVIRONMENT_ROOM - //The mobile port attached to this area - var/obj/docking_port/mobile/mobile_port - - -/area/shuttle/Destroy() - mobile_port = null - . = ..() - -/area/shuttle/PlaceOnTopReact(turf/T, list/new_baseturfs, turf/fake_turf_type, flags) - . = ..() - if(length(new_baseturfs) > 1 || fake_turf_type) - return // More complicated larger changes indicate this isn't a player - if(ispath(new_baseturfs[1], /turf/open/floor/plating) && !(/turf/baseturf_skipover/shuttle in new_baseturfs)) - new_baseturfs.Insert(1, /turf/baseturf_skipover/shuttle) - -/area/shuttle/proc/link_to_shuttle(obj/docking_port/mobile/M) - mobile_port = M - -////////////////////////////Multi-area shuttles//////////////////////////// - -////////////////////////////Syndicate infiltrator//////////////////////////// - -/area/shuttle/syndicate - name = "Syndicate Infiltrator" - ambientsounds = HIGHSEC - -/area/shuttle/syndicate/bridge - name = "Syndicate Infiltrator Control" - -/area/shuttle/syndicate/medical - name = "Syndicate Infiltrator Medbay" - -/area/shuttle/syndicate/armory - name = "Syndicate Infiltrator Armory" - -/area/shuttle/syndicate/eva - name = "Syndicate Infiltrator EVA" - -/area/shuttle/syndicate/hallway - -/area/shuttle/syndicate/airlock - name = "Syndicate Infiltrator Airlock" - -////////////////////////////Pirate Shuttle//////////////////////////// - -/area/shuttle/pirate - name = "Pirate Shuttle" - requires_power = TRUE - -////////////////////////////Bounty Hunter Shuttles//////////////////////////// - -/area/shuttle/hunter - name = "Hunter Shuttle" - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED - -////////////////////////////White Ship//////////////////////////// - -/area/shuttle/abandoned - name = "Abandoned Ship" - requires_power = TRUE - -/area/shuttle/abandoned/bridge - name = "Abandoned Ship Bridge" - -/area/shuttle/abandoned/engine - name = "Abandoned Ship Engine" - -/area/shuttle/abandoned/bar - name = "Abandoned Ship Bar" - -/area/shuttle/abandoned/crew - name = "Abandoned Ship Crew Quarters" - -/area/shuttle/abandoned/cargo - name = "Abandoned Ship Cargo Bay" - -/area/shuttle/abandoned/medbay - name = "Abandoned Ship Medbay" - -/area/shuttle/abandoned/pod - name = "Abandoned Ship Pod" - -/area/shuttle/abandoned/atmospherics - name = "Abandoned Ship atmospherics"//WS station edit - -/area/shuttle/abandoned/coridor - name = "Abandoned Ship coridor"//WS station edit -////////////////////////////Single-area shuttles//////////////////////////// - -/area/shuttle/transit - name = "Hyperspace" - desc = "Weeeeee" - dynamic_lighting = DYNAMIC_LIGHTING_DISABLED - -/area/shuttle/custom - name = "Custom player shuttle" - flags_1 = CAN_BE_DIRTY_1 - -/area/shuttle/custom/powered - name = "Custom Powered player shuttle" - requires_power = FALSE - -/area/shuttle/arrival - name = "Arrival Shuttle" - area_flags = UNIQUE_AREA// SSjob refers to this area for latejoiners - -/area/shuttle/pod_1 - name = "Escape Pod One" - -/area/shuttle/pod_2 - name = "Escape Pod Two" - -/area/shuttle/pod_3 - name = "Escape Pod Three" - -/area/shuttle/pod_4 - name = "Escape Pod Four" - -/area/shuttle/mining - name = "Mining Shuttle" - -/area/shuttle/mining/large - name = "Mining Shuttle" - requires_power = TRUE - -/area/shuttle/labor - name = "Labor Camp Shuttle" - -/area/shuttle/supply - name = "Supply Shuttle" - area_flags = NOTELEPORT - -/area/shuttle/escape - name = "Emergency Shuttle" - flags_1 = CAN_BE_DIRTY_1 - -/area/shuttle/escape/backup - name = "Backup Emergency Shuttle" - -/area/shuttle/escape/luxury - name = "Luxurious Emergency Shuttle" - area_flags = NOTELEPORT - -/area/shuttle/escape/arena - name = "The Arena" - area_flags = NOTELEPORT - -/area/shuttle/escape/meteor - name = "\proper a meteor with engines strapped to it" - -/area/shuttle/transport - name = "Transport Shuttle" - -/area/shuttle/sbc_starfury - name = "SBC Starfury" - -/area/shuttle/sbc_fighter1 - name = "SBC Fighter 1" - -/area/shuttle/sbc_fighter2 - name = "SBC Fighter 2" - -/area/shuttle/sbc_corvette - name = "SBC corvette" - -/area/shuttle/syndicate_scout - name = "Syndicate Scout" diff --git a/code/game/area/ship_areas.dm b/code/game/area/ship_areas.dm index 54d74fc9538a..b1d47670aa2d 100644 --- a/code/game/area/ship_areas.dm +++ b/code/game/area/ship_areas.dm @@ -46,6 +46,20 @@ NOTE: there are two lists of areas in the end of this file: centcom and station name = "Test Room" icon_state = "storage" +/area/hyperspace + icon_state = "space" + requires_power = TRUE + always_unpowered = TRUE + dynamic_lighting = DYNAMIC_LIGHTING_DISABLED + power_light = FALSE + power_equip = FALSE + power_environ = FALSE + area_flags = UNIQUE_AREA | CAVES_ALLOWED | MOB_SPAWN_ALLOWED + outdoors = TRUE + ambientsounds = SPACE + flags_1 = CAN_BE_DIRTY_1 + sound_environment = SOUND_AREA_SPACE + //EXTRA /area/asteroid diff --git a/code/game/atoms.dm b/code/game/atoms.dm index a140ec099085..e7c9c19325a6 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -353,66 +353,6 @@ return TRUE return !density -/** - * Is this atom currently located on centcom - * - * Specifically, is it on the z level and within the centcom areas - * - * You can also be in a shuttleshuttle during endgame transit - * - * Used in gamemode to identify mobs who have escaped and for some other areas of the code - * who don't want atoms where they shouldn't be - */ -/atom/proc/onCentCom() - var/turf/T = get_turf(src) - if(!T) - return FALSE - - if(is_reserved_level(T)) - for(var/A in SSshuttle.mobile) - var/obj/docking_port/mobile/M = A - if(M.launch_status == ENDGAME_TRANSIT) - for(var/place in M.shuttle_areas) - var/area/shuttle/shuttle_area = place - if(T in shuttle_area) - return TRUE - - if(!is_centcom_level(T))//if not, don't bother - return FALSE - - //Check for centcom itself - if(istype(T.loc, /area/centcom)) - return TRUE - - //Check for centcom shuttles - for(var/A in SSshuttle.mobile) - var/obj/docking_port/mobile/M = A - if(M.launch_status == ENDGAME_LAUNCHED) - for(var/place in M.shuttle_areas) - var/area/shuttle/shuttle_area = place - if(T in shuttle_area) - return TRUE - -/** - * Is the atom in any of the centcom syndicate areas - * - * Either in the syndie base on centcom, or any of their shuttles - * - * Also used in gamemode code for win conditions - */ -/atom/proc/onSyndieBase() - var/turf/T = get_turf(src) - if(!T) - return FALSE - - if(!is_centcom_level(T))//if not, don't bother - return FALSE - - if(istype(T.loc, /area/shuttle/syndicate) || istype(T.loc, /area/syndicate_mothership)) - return TRUE - - return FALSE - /** * Is the atom in an away mission * diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm deleted file mode 100644 index f7ce7b036eb5..000000000000 --- a/code/game/gamemodes/cult/cult.dm +++ /dev/null @@ -1,182 +0,0 @@ -#define CULT_SCALING_COEFFICIENT 9.3 //Roughly one new cultist at roundstart per this many players - -/datum/game_mode - var/list/datum/mind/cult = list() - -/proc/iscultist(mob/living/M) - return M.mind?.has_antag_datum(/datum/antagonist/cult) - -/datum/team/cult/proc/is_sacrifice_target(datum/mind/mind) - for(var/datum/objective/sacrifice/sac_objective in objectives) - if(mind == sac_objective.target) - return TRUE - return FALSE - -/proc/is_convertable_to_cult(mob/living/M,datum/team/cult/specific_cult) - if(!istype(M)) - return FALSE - if(M.mind) - if(specific_cult && specific_cult.is_sacrifice_target(M.mind)) - return FALSE - if(M.mind.enslaved_to && !iscultist(M.mind.enslaved_to)) - return FALSE - if(M.mind.unconvertable) - return FALSE - else - return FALSE - if(HAS_TRAIT(M, TRAIT_MINDSHIELD) || issilicon(M) || isbot(M) || isdrone(M) || !M.client) - return FALSE //can't convert machines, shielded, or braindead - return TRUE - -/datum/game_mode/cult - name = "cult" - config_tag = "cult" - report_type = "cult" - antag_flag = ROLE_CULTIST - false_report_weight = 10 - restricted_jobs = list("Chaplain","AI", "Cyborg", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Head of Personnel", "Brig Physician", "SolGov Representative", "Prisoner") //WS edit - Brig Physicians, SolGov Rep - protected_jobs = list() - required_players = 29 - required_enemies = 4 - recommended_enemies = 4 - enemy_minimum_age = 14 - - announce_span = "cult" - announce_text = "Some crew members are trying to start a cult to Nar'Sie!\n\ - Cultists: Carry out Nar'Sie's will.\n\ - Crew: Prevent the cult from expanding and drive it out." - - title_icon = "cult" - - var/finished = 0 - - var/acolytes_needed = 10 //for the survive objective - var/acolytes_survived = 0 - - var/list/cultists_to_cult = list() //the cultists we'll convert - - var/datum/team/cult/main_cult - - -/datum/game_mode/cult/pre_setup() - if(CONFIG_GET(flag/protect_roles_from_antagonist)) - restricted_jobs += protected_jobs - - if(CONFIG_GET(flag/protect_assistant_from_antagonist)) - restricted_jobs += "Assistant" - - //cult scaling goes here - recommended_enemies = 1 + round(num_players()/CULT_SCALING_COEFFICIENT) - var/remaining = (num_players() % CULT_SCALING_COEFFICIENT) * 10 //Basically the % of how close the population is toward adding another cultis - if(prob(remaining)) - recommended_enemies++ - - - for(var/cultists_number = 1 to recommended_enemies) - if(!antag_candidates.len) - break - var/datum/mind/cultist = antag_pick(antag_candidates) - antag_candidates -= cultist - cultists_to_cult += cultist - cultist.special_role = ROLE_CULTIST - cultist.restricted_roles = restricted_jobs - log_game("[key_name(cultist)] has been selected as a cultist") - - if(cultists_to_cult.len>=required_enemies) - for(var/antag in cultists_to_cult) - GLOB.pre_setup_antags += antag - return TRUE - else - setup_error = "Not enough cultist candidates" - return FALSE - - -/datum/game_mode/cult/post_setup() - main_cult = new - - for(var/datum/mind/cult_mind in cultists_to_cult) - add_cultist(cult_mind, 0, equip=TRUE, cult_team = main_cult) - GLOB.pre_setup_antags -= cult_mind - - main_cult.setup_objectives() //Wait until all cultists are assigned to make sure none will be chosen as sacrifice. - - . = ..() - -/datum/game_mode/proc/add_cultist(datum/mind/cult_mind, stun , equip = FALSE, datum/team/cult/cult_team = null) - if (!istype(cult_mind)) - return FALSE - - var/datum/antagonist/cult/new_cultist = new() - new_cultist.give_equipment = equip - - if(cult_mind.add_antag_datum(new_cultist,cult_team)) - if(stun) - cult_mind.current.Unconscious(100) - return TRUE - -/datum/game_mode/proc/remove_cultist(datum/mind/cult_mind, silent, stun) - if(cult_mind.current) - var/datum/antagonist/cult/cult_datum = cult_mind.has_antag_datum(/datum/antagonist/cult) - if(!cult_datum) - return FALSE - cult_datum.silent = silent - cult_mind.remove_antag_datum(cult_datum) - if(stun) - cult_mind.current.Unconscious(100) - return TRUE - -/datum/game_mode/cult/proc/check_cult_victory() - return main_cult.check_cult_victory() - - -/datum/game_mode/cult/set_round_result() - ..() - if(check_cult_victory()) - SSticker.mode_result = "win - cult win" - SSticker.news_report = CULT_SUMMON - else - SSticker.mode_result = "loss - staff stopped the cult" - SSticker.news_report = CULT_FAILURE - -/datum/game_mode/cult/proc/check_survive() - var/acolytes_survived = 0 - for(var/datum/mind/cult_mind in cult) - if (cult_mind.current && cult_mind.current.stat != DEAD) - if(cult_mind.current.onCentCom() || cult_mind.current.onSyndieBase()) - acolytes_survived++ - if(acolytes_survived>=acolytes_needed) - return 0 - else - return 1 - - -/datum/game_mode/cult/generate_report() - return "Some stations in your sector have reported evidence of blood sacrifice and strange magic. Ties to the Wizards' Federation have been proven not to exist, and many employees \ - have disappeared; even Central Command employees light-years away have felt strange presences and at times hysterical compulsions. Interrogations point towards this being the work of \ - the cult of Nar'Sie. If evidence of this cult is discovered aboard your station, extreme caution and extreme vigilance must be taken going forward, and all resources should be \ - devoted to stopping this cult. Note that holy water seems to weaken and eventually return the minds of cultists that ingest it, and mindshield implants will prevent conversion \ - altogether." - - - -/datum/game_mode/cult/generate_credit_text() - var/list/round_credits = list() - var/len_before_addition - - round_credits += "

    The Cult of Nar'Sie:

    " - len_before_addition = round_credits.len - for(var/datum/mind/cultist in cult) - round_credits += "

    [cultist.name] as a cult fanatic

    " - - var/datum/objective/eldergod/summon_objective = locate() in main_cult.objectives - if(summon_objective && summon_objective.summoned) - round_credits += "

    Nar'Sie as the eldritch abomination

    " - - if(len_before_addition == round_credits.len) - round_credits += list("

    The cultists have learned the danger of eldritch magic!

    ", "

    They all disappeared!

    ") - round_credits += "
    " - - round_credits += ..() - return round_credits - -#undef CULT_SCALING_COEFFICIENT diff --git a/code/game/gamemodes/devil/devil_agent/devil_agent.dm b/code/game/gamemodes/devil/devil_agent/devil_agent.dm deleted file mode 100644 index c8fb62faba09..000000000000 --- a/code/game/gamemodes/devil/devil_agent/devil_agent.dm +++ /dev/null @@ -1,44 +0,0 @@ -/datum/game_mode/devil/devil_agents - name = "Devil Agents" - config_tag = "devil_agents" - required_players = 25 - required_enemies = 3 - recommended_enemies = 8 - reroll_friendly = 0 - - traitors_possible = 10 //hard limit on traitors if scaling is turned off - num_modifier = 4 - objective_count = 2 - - var/list/devil_target_list = list() //will update to be a child of internal affairs when bothered - var/list/devil_late_joining_list = list() - minimum_devils = 3 - - announce_text = "There are devil agents onboard the station, trying to outbid each other!\n\ - + Devils: Purchase souls and interfere with your rivals!\n\ - + Crew: Resist the lure of sin and remain pure!" - -/datum/game_mode/devil/devil_agents/post_setup() - var/i = 0 - for(var/datum/mind/devil in devils) - i++ - if(i + 1 > devils.len) - i = 0 - devil_target_list[devil] = devils[i + 1] - ..() - -/datum/game_mode/devil/devil_agents/add_devil_objectives(datum/mind/devil_mind, quantity) - ..(devil_mind, quantity - give_outsell_objective(devil_mind)) - -/datum/game_mode/devil/devil_agents/proc/give_outsell_objective(datum/mind/devil) - //If you override this method, have it return the number of objectives added. - if(devil_target_list.len && devil_target_list[devil]) // Is a double agent - var/datum/mind/target_mind = devil_target_list[devil] - var/datum/antagonist/devil/D = target_mind.has_antag_datum(/datum/antagonist/devil) - var/datum/objective/devil/outsell/outsellobjective = new - outsellobjective.owner = devil - outsellobjective.target = target_mind - outsellobjective.update_explanation_text() - D.objectives += outsellobjective - return 1 - return 0 diff --git a/code/game/gamemodes/devil/devil_game_mode.dm b/code/game/gamemodes/devil/devil_game_mode.dm deleted file mode 100644 index 9d002f4a029d..000000000000 --- a/code/game/gamemodes/devil/devil_game_mode.dm +++ /dev/null @@ -1,106 +0,0 @@ -/datum/game_mode/devil - name = "devil" - config_tag = "devil" - report_type = "devil" - antag_flag = ROLE_DEVIL - false_report_weight = 1 - protected_jobs = list("Prisoner", "Lawyer", "Curator", "Chaplain", "Head of Security", "Captain", "AI") - required_players = 0 - required_enemies = 1 - recommended_enemies = 4 - reroll_friendly = 1 - enemy_minimum_age = 0 - title_icon = "devil" - - var/traitors_possible = 4 //hard limit on devils if scaling is turned off - var/num_modifier = 0 // Used for gamemodes, that are a child of traitor, that need more than the usual. - var/objective_count = 2 - var/minimum_devils = 1 - - announce_text = "There are devils onboard the station!\n\ - + Devils: Purchase souls and tempt the crew to sin!\n\ - + Crew: Resist the lure of sin and remain pure!" - -/datum/game_mode/devil/pre_setup() - if(CONFIG_GET(flag/protect_roles_from_antagonist)) - restricted_jobs += protected_jobs - if(CONFIG_GET(flag/protect_assistant_from_antagonist)) - restricted_jobs += "Assistant" - - var/num_devils = 1 - - var/tsc = CONFIG_GET(number/traitor_scaling_coeff) - if(tsc) - num_devils = max(minimum_devils, min(round(num_players() / (tsc * 3))+ 2 + num_modifier, round(num_players() / (tsc * 1.5)) + num_modifier)) - else - num_devils = max(minimum_devils, min(num_players(), traitors_possible)) - - for(var/j = 0, j < num_devils, j++) - if (!antag_candidates.len) - break - var/datum/mind/devil = antag_pick(antag_candidates) - devils += devil - devil.special_role = traitor_name - devil.restricted_roles = restricted_jobs - - log_game("[key_name(devil)] has been selected as a [traitor_name]") - antag_candidates.Remove(devil) - - if(devils.len < required_enemies) - setup_error = "Not enough devil candidates" - return FALSE - for(var/antag in devils) - GLOB.pre_setup_antags += antag - return TRUE - - -/datum/game_mode/devil/post_setup() - for(var/datum/mind/devil in devils) - post_setup_finalize(devil) - ..() - return TRUE - -/datum/game_mode/devil/generate_report() - return "Infernal creatures have been seen nearby offering great boons in exchange for souls. This is considered theft against Nanotrasen, as all employment contracts contain a lien on the \ - employee's soul. If anyone sells their soul in error, contact an attorney to overrule the sale. Be warned that if the devil purchases enough souls, a gateway to hell may open." - -/datum/game_mode/devil/proc/post_setup_finalize(datum/mind/devil) - add_devil(devil.current, ascendable = TRUE) //Devil gamemode devils are ascendable. - GLOB.pre_setup_antags -= devil - add_devil_objectives(devil,2) - -/proc/is_devil(mob/living/M) - return M.mind?.has_antag_datum(/datum/antagonist/devil) - -/proc/add_devil(mob/living/L, ascendable = FALSE) - if(!L || !L.mind) - return FALSE - var/datum/antagonist/devil/devil_datum = L.mind.add_antag_datum(/datum/antagonist/devil) - devil_datum.ascendable = ascendable - return devil_datum - -/proc/remove_devil(mob/living/L) - if(!L || !L.mind) - return FALSE - var/datum/antagonist/devil_datum = L.mind.has_antag_datum(/datum/antagonist/devil) - devil_datum.on_removal() - return TRUE - -/datum/game_mode/devil/generate_credit_text() - var/list/round_credits = list() - var/len_before_addition - - round_credits += "

    The Tempting Devils:

    " - len_before_addition = round_credits.len - var/datum/antagonist/devil/devil_info - for(var/datum/mind/devil in devils) - devil_info = devil.has_antag_datum(/datum/antagonist/devil) - if(devil_info) // This should never fail, but better to be sure - round_credits += "

    [devil_info.truename] in the form of [devil.name]

    " - devil_info = null - if(len_before_addition == round_credits.len) - round_credits += list("

    The devils were all utterly destroyed!

    ", "

    The love of Space Jesus shines through!

    ") - round_credits += "
    " - - round_credits += ..() - return round_credits diff --git a/code/game/gamemodes/devil/game_mode.dm b/code/game/gamemodes/devil/game_mode.dm deleted file mode 100644 index f91b863483c5..000000000000 --- a/code/game/gamemodes/devil/game_mode.dm +++ /dev/null @@ -1,26 +0,0 @@ -/datum/game_mode - var/list/datum/mind/devils = list() - var/devil_ascended = 0 // Number of arch devils on station - -/datum/game_mode/proc/add_devil_objectives(datum/mind/devil_mind, quantity) - var/list/validtypes = list(/datum/objective/devil/soulquantity, /datum/objective/devil/soulquality, /datum/objective/devil/sintouch, /datum/objective/devil/buy_target) - var/datum/antagonist/devil/D = devil_mind.has_antag_datum(/datum/antagonist/devil) - for(var/i = 1 to quantity) - var/type = pick(validtypes) - var/datum/objective/devil/objective = new type(null) - objective.owner = devil_mind - D.objectives += objective - if(!istype(objective, /datum/objective/devil/buy_target)) - validtypes -= type //prevent duplicate objectives, EXCEPT for buy_target. - else - objective.find_target() - -/datum/game_mode/proc/update_soulless_icons_added(datum/mind/soulless_mind) - var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_SOULLESS] - hud.join_hud(soulless_mind.current) - set_antag_hud(soulless_mind.current, "soulless") - -/datum/game_mode/proc/update_soulless_icons_removed(datum/mind/soulless_mind) - var/datum/atom_hud/antag/hud = GLOB.huds[ANTAG_HUD_SOULLESS] - hud.leave_hud(soulless_mind.current) - set_antag_hud(soulless_mind.current, null) diff --git a/code/game/gamemodes/devil/objectives.dm b/code/game/gamemodes/devil/objectives.dm deleted file mode 100644 index f3d5ce575f85..000000000000 --- a/code/game/gamemodes/devil/objectives.dm +++ /dev/null @@ -1,113 +0,0 @@ -/datum/objective/devil - -/datum/objective/devil/soulquantity - explanation_text = "You shouldn't see this text. Error:DEVIL1" - target_amount = 4 - -/datum/objective/devil/soulquantity/New() - target_amount = pick(6,7,8) - update_explanation_text() - -/datum/objective/devil/soulquantity/update_explanation_text() - explanation_text = "Purchase, and retain control over at least [target_amount] souls." - -/datum/objective/devil/soulquantity/check_completion() - var/count = 0 - var/datum/antagonist/devil/devilDatum = owner.has_antag_datum(/datum/antagonist/devil) - var/list/souls = devilDatum.soulsOwned - for(var/S in souls) //Just a sanity check. - var/datum/mind/L = S - if(L.soulOwner == owner) - count++ - return count >= target_amount - - - -/datum/objective/devil/soulquality - explanation_text = "You shouldn't see this text. Error:DEVIL2" - var/contractType - var/contractName - -/datum/objective/devil/soulquality/New() - contractType = pick(CONTRACT_POWER, CONTRACT_WEALTH, CONTRACT_PRESTIGE, CONTRACT_MAGIC, CONTRACT_REVIVE, CONTRACT_KNOWLEDGE/*, CONTRACT_UNWILLING*/) - target_amount = pick(1,2) - switch(contractType) - if(CONTRACT_POWER) - contractName = "for power" - if(CONTRACT_WEALTH) - contractName = "for wealth" - if(CONTRACT_PRESTIGE) - contractName = "for prestige" - if(CONTRACT_MAGIC) - contractName = "for magic" - if(CONTRACT_REVIVE) - contractName = "of revival" - if(CONTRACT_KNOWLEDGE) - contractName = "for knowledge" - update_explanation_text() - -/datum/objective/devil/soulquality/update_explanation_text() - explanation_text = "Have mortals sign at least [target_amount] contracts [contractName]" - -/datum/objective/devil/soulquality/check_completion() - var/count = 0 - var/datum/antagonist/devil/devilDatum = owner.has_antag_datum(/datum/antagonist/devil) - var/list/souls = devilDatum.soulsOwned - for(var/S in souls) - var/datum/mind/L = S - if(!L.owns_soul() && L.damnation_type == contractType) - count++ - return count>=target_amount - - - -/datum/objective/devil/sintouch - explanation_text = "You shouldn't see this text. Error:DEVIL3" - -/datum/objective/devil/sintouch/New() - target_amount = pick(4,5) - explanation_text = "Ensure at least [target_amount] mortals are sintouched." - -/datum/objective/devil/sintouch/check_completion() - var/list/touched = get_antag_minds(/datum/antagonist/sintouched) - return touched.len >= target_amount - - -/datum/objective/devil/buy_target - explanation_text = "You shouldn't see this text. Error:DEVIL4" - -/datum/objective/devil/buy_target/update_explanation_text() - if(target) - explanation_text = "Purchase and retain the soul of [target.name], the [target.assigned_role]." - else - explanation_text = "Free objective." - -/datum/objective/devil/buy_target/check_completion() - return target.soulOwner == owner - - -/datum/objective/devil/outsell - explanation_text = "You shouldn't see this text. Error:DEVIL5" - -/datum/objective/devil/outsell/New() - -/datum/objective/devil/outsell/update_explanation_text() - var/datum/antagonist/devil/opponent = target.has_antag_datum(/datum/antagonist/devil) - explanation_text = "Purchase and retain control over more souls than [opponent.truename], known to mortals as [target.name], the [target.assigned_role]." - -/datum/objective/devil/outsell/check_completion() - var/selfcount = 0 - var/datum/antagonist/devil/devilDatum = owner.has_antag_datum(/datum/antagonist/devil) - var/list/souls = devilDatum.soulsOwned - for(var/S in souls) - var/datum/mind/L = S - if(L.soulOwner == owner) - selfcount++ - var/targetcount = 0 - devilDatum = target.has_antag_datum(/datum/antagonist/devil) - souls = devilDatum.soulsOwned - for(var/S in souls) - var/datum/mind/L = S - if(L.soulOwner == target) - targetcount++ - return selfcount > targetcount diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets.dm b/code/game/gamemodes/dynamic/dynamic_rulesets.dm index 1e6a2da4d867..7163dd0ca54e 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets.dm @@ -35,7 +35,7 @@ var/list/enemy_roles = list() /// If enemy_roles was set, this is the amount of enemy job workers needed per threat_level range (0-10,10-20,etc) IMPORTANT: DOES NOT WORK ON ROUNDSTART RULESETS. var/required_enemies = list(1,1,0,0,0,0,0,0,0,0) - /// The rule needs this many candidates (post-trimming) to be executed (example: Cult needs 4 players at round start) + /// The rule needs this many candidates (post-trimming) to be executed var/required_candidates = 0 /// 1 -> 9, probability for this rule to be picked against other rules var/weight = 5 diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm index 8c8fe19d0a97..70d9c8405204 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm @@ -191,65 +191,6 @@ M.add_antag_datum(new antag_datum()) return TRUE -////////////////////////////////////////////// -// // -// BLOOD CULT // -// // -////////////////////////////////////////////// - -/datum/dynamic_ruleset/roundstart/bloodcult - name = "Blood Cult" - antag_flag = ROLE_CULTIST - antag_datum = /datum/antagonist/cult - minimum_required_age = 14 - restricted_roles = list("AI", "Cyborg", "Prisoner", "Security Officer", "Warden", "Detective", "Head of Security", "Captain", "Chaplain", "Head of Personnel", "Research Director", "Chief Medical Officer", "Chief Engineer", "SolGov Representative") - required_candidates = 2 - weight = 3 - cost = 35 - requirements = list(100,90,80,60,40,30,10,10,10,10) - high_population_requirement = 10 - flags = HIGHLANDER_RULESET - antag_cap = list(2,2,2,3,3,4,4,4,4,4) - var/datum/team/cult/main_cult - -/datum/dynamic_ruleset/roundstart/bloodcult/ready(forced = FALSE) - required_candidates = antag_cap[indice_pop] - . = ..() - -/datum/dynamic_ruleset/roundstart/bloodcult/pre_execute() - . = ..() - var/cultists = antag_cap[indice_pop] - mode.antags_rolled += cultists - for(var/cultists_number = 1 to cultists) - if(candidates.len <= 0) - break - var/mob/M = pick_n_take(candidates) - assigned += M.mind - M.mind.special_role = ROLE_CULTIST - M.mind.restricted_roles = restricted_roles - GLOB.pre_setup_antags += M.mind - return TRUE - -/datum/dynamic_ruleset/roundstart/bloodcult/execute() - main_cult = new - for(var/datum/mind/M in assigned) - var/datum/antagonist/cult/new_cultist = new antag_datum() - new_cultist.cult_team = main_cult - new_cultist.give_equipment = TRUE - M.add_antag_datum(new_cultist) - GLOB.pre_setup_antags -= M - main_cult.setup_objectives() - return TRUE - -/datum/dynamic_ruleset/roundstart/bloodcult/round_result() - ..() - if(main_cult.check_cult_victory()) - SSticker.mode_result = "win - cult win" - SSticker.news_report = CULT_SUMMON - else - SSticker.mode_result = "loss - staff stopped the cult" - SSticker.news_report = CULT_FAILURE - ////////////////////////////////////////////// // // // NUCLEAR OPERATIVES // @@ -382,93 +323,3 @@ for(var/datum/mind/V in assigned) V.assigned_role = "Clown Operative" V.special_role = "Clown Operative" - -////////////////////////////////////////////// -// // -// DEVIL // -// // -////////////////////////////////////////////// - -/datum/dynamic_ruleset/roundstart/devil - name = "Devil" - antag_flag = ROLE_DEVIL - antag_datum = /datum/antagonist/devil - restricted_roles = list("Lawyer", "Curator", "Chaplain", "Prisoner", "Head of Security", "Captain", "AI") - required_candidates = 1 - weight = 3 - cost = 0 - requirements = list(101,101,101,101,101,101,101,101,101,101) - high_population_requirement = 101 - antag_cap = list(1,1,1,2,2,2,3,3,3,4) - -/datum/dynamic_ruleset/roundstart/devil/pre_execute() - . = ..() - var/num_devils = antag_cap[indice_pop] - mode.antags_rolled += num_devils - - for(var/j = 0, j < num_devils, j++) - if (!candidates.len) - break - var/mob/devil = pick_n_take(candidates) - assigned += devil.mind - devil.mind.special_role = ROLE_DEVIL - devil.mind.restricted_roles = restricted_roles - GLOB.pre_setup_antags += devil.mind - - log_game("[key_name(devil)] has been selected as a devil") - return TRUE - -/datum/dynamic_ruleset/roundstart/devil/execute() - for(var/datum/mind/devil in assigned) - add_devil(devil.current, ascendable = TRUE) - GLOB.pre_setup_antags -= devil - add_devil_objectives(devil,2) - return TRUE - -/datum/dynamic_ruleset/roundstart/devil/proc/add_devil_objectives(datum/mind/devil_mind, quantity) - var/list/validtypes = list(/datum/objective/devil/soulquantity, /datum/objective/devil/soulquality, /datum/objective/devil/sintouch, /datum/objective/devil/buy_target) - var/datum/antagonist/devil/D = devil_mind.has_antag_datum(/datum/antagonist/devil) - for(var/i = 1 to quantity) - var/type = pick(validtypes) - var/datum/objective/devil/objective = new type(null) - objective.owner = devil_mind - D.objectives += objective - if(!istype(objective, /datum/objective/devil/buy_target)) - validtypes -= type - else - objective.find_target() - -////////////////////////////////////////////// -// // -// METEOR // -// // -////////////////////////////////////////////// - -/datum/dynamic_ruleset/roundstart/meteor - name = "Meteor" - persistent = TRUE - required_candidates = 0 - weight = 3 - cost = 0 - requirements = list(101,101,101,101,101,101,101,101,101,101) - high_population_requirement = 101 - var/meteordelay = 2000 - var/nometeors = 0 - var/rampupdelta = 5 - -/datum/dynamic_ruleset/roundstart/meteor/rule_process() - if(nometeors || meteordelay > world.time - SSticker.round_start_time) - return - - var/list/wavetype = GLOB.meteors_normal - var/meteorminutes = (world.time - SSticker.round_start_time - meteordelay) / 10 / 60 - - if (prob(meteorminutes)) - wavetype = GLOB.meteors_threatening - - if (prob(meteorminutes/2)) - wavetype = GLOB.meteors_catastrophic - - var/ramp_up_final = clamp(round(meteorminutes/rampupdelta), 1, 10) - - spawn_meteors(ramp_up_final, wavetype) diff --git a/code/game/gamemodes/events.dm b/code/game/gamemodes/events.dm index 56f873a50bd1..7db8207c9d71 100644 --- a/code/game/gamemodes/events.dm +++ b/code/game/gamemodes/events.dm @@ -47,11 +47,10 @@ for(var/area/A in GLOB.sortedAreas) if(!A.requires_power || A.always_unpowered) continue - if(!istype(A, /area/shuttle)) - A.power_light = TRUE - A.power_equip = TRUE - A.power_environ = TRUE - A.power_change() + A.power_light = TRUE + A.power_equip = TRUE + A.power_environ = TRUE + A.power_change() /proc/power_restore_quick() priority_announce("All SMESs have been recharged. We apologize for the inconvenience.", "Power Systems Nominal", 'sound/ai/poweron.ogg') diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 391ad852664f..00bc1bc95e13 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -418,9 +418,6 @@ return max(0, enemy_minimum_age - C.player_age) -/datum/game_mode/proc/remove_antag_for_borging(datum/mind/newborgie) - SSticker.mode.remove_cultist(newborgie, 0, 0) - /datum/game_mode/proc/generate_station_goals() var/list/possible = list() for(var/T in subtypesof(/datum/station_goal)) diff --git a/code/game/gamemodes/meteor/meteor.dm b/code/game/gamemodes/meteor/meteor.dm deleted file mode 100644 index 9149f5da35f6..000000000000 --- a/code/game/gamemodes/meteor/meteor.dm +++ /dev/null @@ -1,61 +0,0 @@ -/datum/game_mode/meteor - name = "meteor" - config_tag = "meteor" - report_type = "meteor" - false_report_weight = 1 - var/meteordelay = 2000 - var/nometeors = 0 - var/rampupdelta = 5 - required_players = 0 - - announce_span = "danger" - announce_text = "A major meteor shower is bombarding the station! The crew needs to evacuate or survive the onslaught." - - title_icon = "meteor" - -/datum/game_mode/meteor/process() - if(nometeors || meteordelay > world.time - SSticker.round_start_time) - return - - var/list/wavetype = GLOB.meteors_normal - var/meteorminutes = (world.time - SSticker.round_start_time - meteordelay) / 10 / 60 - - - if (prob(meteorminutes)) - wavetype = GLOB.meteors_threatening - - if (prob(meteorminutes/2)) - wavetype = GLOB.meteors_catastrophic - - var/ramp_up_final = clamp(round(meteorminutes/rampupdelta), 1, 10) - - spawn_meteors(ramp_up_final, wavetype) - - -/datum/game_mode/meteor/special_report() - var/survivors = 0 - var/list/survivor_list = list() - - for(var/mob/living/player in GLOB.player_list) - if(player.stat != DEAD) - ++survivors - - if(player.onCentCom()) - survivor_list += "[player.real_name] escaped to the safety of CentCom." - else if(player.onSyndieBase()) - survivor_list += "[player.real_name] escaped to the (relative) safety of Syndicate Space." - else - survivor_list += "[player.real_name] survived but is stranded without any hope of rescue." - - if(survivors) - return "
    The following survived the meteor storm:
    [survivor_list.Join("
    ")]
    " - else - return "
    Nobody survived the meteor storm!
    " - -/datum/game_mode/meteor/set_round_result() - ..() - SSticker.mode_result = "end - evacuation" - -/datum/game_mode/meteor/generate_report() - return "[pick("Asteroids have", "Meteors have", "Large rocks have", "Stellar minerals have", "Space hail has", "Debris has")] been detected near your station, and a collision is possible, \ - though unlikely. Be prepared for largescale impacts and destruction. Please note that the debris will prevent the escape shuttle from arriving quickly." diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 65e161f2176b..ec74c51acc95 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -58,18 +58,11 @@ GLOBAL_LIST_EMPTY(objectives) /datum/objective/proc/considered_escaped(datum/mind/M) if(!considered_alive(M)) return FALSE - if(considered_exiled(M)) - return FALSE - if(M.force_escaped) - return TRUE - if(SSticker.force_ending || SSticker.mode.station_was_nuked) // Just let them win. + if(SSticker.force_ending) // Just let them win. return TRUE if(SSshuttle.jump_mode != BS_JUMP_COMPLETED) return FALSE - var/turf/location = get_turf(M.current) - if(!location || istype(location, /turf/open/floor/mineral/plastitanium/red/brig)) // Fails if they are in the shuttle brig - return FALSE - return location.onCentCom() || location.onSyndieBase() + return TRUE /datum/objective/proc/check_completion() return completed @@ -233,7 +226,7 @@ GLOBAL_LIST_EMPTY(objectives) ..() /datum/objective/maroon/check_completion() - return !target || !considered_alive(target) || (!target.current.onCentCom() && !target.current.onSyndieBase()) + return !target || !considered_alive(target) /datum/objective/maroon/update_explanation_text() if(target && target.current) @@ -334,7 +327,7 @@ GLOBAL_LIST_EMPTY(objectives) name = "detain" /datum/objective/jailbreak/detain/check_completion() - return completed || (!considered_escaped(target) && (considered_alive(target) && target.current.onCentCom())) + return completed || (!considered_escaped(target) && (considered_alive(target))) /datum/objective/jailbreak/detain/update_explanation_text() ..() diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index 4d9d5078b622..4219a0710e50 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -1,7 +1,6 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( /obj/item/storage/box/snappops = 2, /obj/item/toy/talking/AI = 2, - /obj/item/toy/talking/codex_gigas = 2, /obj/item/clothing/under/syndicate/tacticool = 2, /obj/item/toy/sword = 2, /obj/item/toy/gun = 2, diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 3412321b380b..2d76d7ecb351 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -370,26 +370,6 @@ audible_message("You hear a click from the bottom of the door.", null, 1) update_appearance() -/obj/machinery/door/airlock/narsie_act() - var/turf/T = get_turf(src) - var/obj/machinery/door/airlock/cult/A - if(GLOB.cult_narsie) - var/runed = prob(20) - if(glass) - if(runed) - A = new/obj/machinery/door/airlock/cult/glass(T) - else - A = new/obj/machinery/door/airlock/cult/unruned/glass(T) - else - if(runed) - A = new/obj/machinery/door/airlock/cult(T) - else - A = new/obj/machinery/door/airlock/cult/unruned(T) - A.name = name - else - A = new /obj/machinery/door/airlock/cult/weak(T) - qdel(src) - /obj/machinery/door/airlock/Destroy() QDEL_NULL(wires) QDEL_NULL(electronics) diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index 492ce30f6ac4..f6e6840f552b 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -461,115 +461,6 @@ security_level = 1 has_hatch = FALSE -////////////////////////////////// -/* - Cult Airlocks -*/ - -/obj/machinery/door/airlock/cult - name = "cult airlock" - icon = 'icons/obj/doors/airlocks/cult/runed/cult.dmi' - overlays_file = 'icons/obj/doors/airlocks/cult/runed/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_cult - hackProof = TRUE - aiControlDisabled = AI_WIRE_DISABLED - req_access = list(ACCESS_BLOODCULT) - damage_deflection = 10 - has_hatch = FALSE - var/openingoverlaytype = /obj/effect/temp_visual/cult/door - var/friendly = FALSE - var/stealthy = FALSE - -/obj/machinery/door/airlock/cult/Initialize() - . = ..() - new openingoverlaytype(loc) - -/obj/machinery/door/airlock/cult/canAIControl(mob/user) - return (iscultist(user) && !isAllPowerCut()) - -/obj/machinery/door/airlock/cult/on_break() - if(!panel_open) - panel_open = TRUE - -/obj/machinery/door/airlock/cult/isElectrified() - return FALSE - -/obj/machinery/door/airlock/cult/hasPower() - return TRUE - -/obj/machinery/door/airlock/cult/allowed(mob/living/L) - if(!density) - return 1 - if(friendly || iscultist(L) || istype(L, /mob/living/simple_animal/shade) || isconstruct(L)) - if(!stealthy) - new openingoverlaytype(loc) - return 1 - else - if(!stealthy) - new /obj/effect/temp_visual/cult/sac(loc) - var/atom/throwtarget - throwtarget = get_edge_target_turf(src, get_dir(src, get_step_away(L, src))) - SEND_SOUND(L, sound(pick('sound/hallucinations/turn_around1.ogg','sound/hallucinations/turn_around2.ogg'),0,1,50)) - flash_color(L, flash_color="#960000", flash_time=20) - L.Paralyze(40) - L.throw_at(throwtarget, 5, 1) - return 0 - -/obj/machinery/door/airlock/cult/proc/conceal() - icon = 'icons/obj/doors/airlocks/station/maintenance.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - name = "airlock" - desc = "It opens and closes." - stealthy = TRUE - update_appearance() - -/obj/machinery/door/airlock/cult/proc/reveal() - icon = initial(icon) - overlays_file = initial(overlays_file) - name = initial(name) - desc = initial(desc) - stealthy = initial(stealthy) - update_appearance() - -/obj/machinery/door/airlock/cult/narsie_act() - return - -/obj/machinery/door/airlock/cult/emp_act(severity) - return - -/obj/machinery/door/airlock/cult/friendly - friendly = TRUE - -/obj/machinery/door/airlock/cult/glass - glass = TRUE - opacity = FALSE - -/obj/machinery/door/airlock/cult/glass/friendly - friendly = TRUE - -/obj/machinery/door/airlock/cult/unruned - icon = 'icons/obj/doors/airlocks/cult/unruned/cult.dmi' - overlays_file = 'icons/obj/doors/airlocks/cult/unruned/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_cult/unruned - openingoverlaytype = /obj/effect/temp_visual/cult/door/unruned - -/obj/machinery/door/airlock/cult/unruned/friendly - friendly = TRUE - -/obj/machinery/door/airlock/cult/unruned/glass - glass = TRUE - opacity = FALSE - -/obj/machinery/door/airlock/cult/unruned/glass/friendly - friendly = TRUE - -/obj/machinery/door/airlock/cult/weak - name = "brittle cult airlock" - desc = "An airlock hastily corrupted by blood magic, it is unusually brittle in this state." - normal_integrity = 150 - damage_deflection = 5 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) - ////////////////////////////////// /* Misc Airlocks diff --git a/code/game/machinery/drone_dispenser.dm b/code/game/machinery/drone_dispenser.dm index 4603044ab285..bb79d5f7e46e 100644 --- a/code/game/machinery/drone_dispenser.dm +++ b/code/game/machinery/drone_dispenser.dm @@ -108,28 +108,6 @@ recharge_sound = null recharge_message = null -/obj/machinery/droneDispenser/swarmer - name = "swarmer fabricator" - desc = "An alien machine of unknown origin. It whirs and hums with green-blue light, the air above it shimmering." - icon = 'icons/obj/objects.dmi' - icon_state = "hivebot_fab" - icon_off = "hivebot_fab" - icon_on = "hivebot_fab" - icon_recharging = "hivebot_fab" - icon_creating = "hivebot_fab_on" - metal_cost = 0 - glass_cost = 0 - cooldownTime = 300 //30 seconds - maximum_idle = 0 // Swarmers have no restraint - dispense_type = /obj/effect/mob_spawn/swarmer - begin_create_message = "hums softly as an interface appears above it, scrolling by at unreadable speed." - end_create_message = "materializes a strange shell, which drops to the ground." - recharging_text = "Its lights are slowly increasing in brightness." - work_sound = 'sound/effects/empulse.ogg' - create_sound = 'sound/effects/phasein.ogg' - break_sound = 'sound/effects/empulse.ogg' - break_message = "slowly falls dark, lights stuttering." - /obj/machinery/droneDispenser/examine(mob/user) . = ..() if((mode == DRONE_RECHARGING) && !machine_stat && recharging_text) diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index 47db5ce6d0ef..e6e754c4b807 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -43,27 +43,6 @@ if(.) //damage was dealt new /obj/effect/temp_visual/impact_effect/ion(loc) -/obj/structure/emergency_shield/sanguine - name = "sanguine barrier" - desc = "A potent shield summoned by cultists to defend their rites." - icon_state = "shield-red" - max_integrity = 60 - -/obj/structure/emergency_shield/sanguine/emp_act(severity) - return - -/obj/structure/emergency_shield/invoker - name = "Invoker's Shield" - desc = "A weak shield summoned by cultists to protect them while they carry out delicate rituals." - color = "#FF0000" - max_integrity = 20 - mouse_opacity = MOUSE_OPACITY_TRANSPARENT - layer = ABOVE_MOB_LAYER - -/obj/structure/emergency_shield/invoker/emp_act(severity) - return - - /obj/machinery/shieldgen name = "anti-breach shielding projector" desc = "Used to seal minor hull breaches." diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm index 12085b7d62d4..b46ccaca9f60 100644 --- a/code/game/machinery/syndicatebeacon.dm +++ b/code/game/machinery/syndicatebeacon.dm @@ -148,7 +148,3 @@ /obj/item/sbeacondrop/penetratorturret desc = "A label on it reads: Warning: Activating this device will send a penetrator turret to your location." droptype = /obj/machinery/porta_turret/syndicate/shuttle - -/obj/item/sbeacondrop/constructshell - desc = "A label on it reads: Warning: Activating this device will send a Nar'sian construct shell to your location." - droptype = /obj/structure/constructshell diff --git a/code/game/objects/effects/blessing.dm b/code/game/objects/effects/blessing.dm index be2d89707882..66b027f2e516 100644 --- a/code/game/objects/effects/blessing.dm +++ b/code/game/objects/effects/blessing.dm @@ -16,14 +16,7 @@ I.alpha = 64 I.appearance_flags = RESET_ALPHA add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/blessedAware, "blessing", I) - RegisterSignal(loc, COMSIG_ATOM_INTERCEPT_TELEPORT, PROC_REF(block_cult_teleport)) /obj/effect/blessing/Destroy() UnregisterSignal(loc, COMSIG_ATOM_INTERCEPT_TELEPORT) return ..() - -/obj/effect/blessing/proc/block_cult_teleport(datum/source, channel, turf/origin, turf/destination) - SIGNAL_HANDLER - - if(channel == TELEPORT_CHANNEL_CULT) - return COMPONENT_BLOCK_TELEPORT diff --git a/code/game/objects/effects/forcefields.dm b/code/game/objects/effects/forcefields.dm index e46d8d92e82a..d4278d775888 100644 --- a/code/game/objects/effects/forcefields.dm +++ b/code/game/objects/effects/forcefields.dm @@ -19,14 +19,6 @@ /obj/effect/forcefield/singularity_pull() return -/obj/effect/forcefield/cult - desc = "An unholy shield that blocks all attacks." - name = "glowing wall" - icon = 'icons/effects/cult_effects.dmi' - icon_state = "cultshield" - CanAtmosPass = ATMOS_PASS_NO - timeleft = 200 - ///////////Mimewalls/////////// /obj/effect/forcefield/mime diff --git a/code/game/objects/items/AI_modules.dm b/code/game/objects/items/AI_modules.dm index e29a5f25fe5e..1968da023376 100644 --- a/code/game/objects/items/AI_modules.dm +++ b/code/game/objects/items/AI_modules.dm @@ -49,7 +49,7 @@ AI MODULES //Handle the lawcap if(law_datum) var/tot_laws = 0 - for(var/lawlist in list(law_datum.devillaws, law_datum.inherent, law_datum.supplied, law_datum.ion, law_datum.hacked, laws)) + for(var/lawlist in list(law_datum.inherent, law_datum.supplied, law_datum.ion, law_datum.hacked, laws)) for(var/mylaw in lawlist) if(mylaw != "") tot_laws++ diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index d2ce379274dc..232b4570a97e 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -150,7 +150,6 @@ if(A.outdoors) return AREA_SPACE var/list/SPECIALS = list( - /area/shuttle, /area/centcom, /area/asteroid, /area/tdome, diff --git a/code/game/objects/items/implants/implant_mindshield.dm b/code/game/objects/items/implants/implant_mindshield.dm index 121fa9f0c234..0a7094fb3895 100644 --- a/code/game/objects/items/implants/implant_mindshield.dm +++ b/code/game/objects/items/implants/implant_mindshield.dm @@ -28,10 +28,7 @@ deconverted = TRUE if(!silent) - if(target.mind in SSticker.mode.cult) - to_chat(target, "You feel something interfering with your mental conditioning, but you resist it!") - else - to_chat(target, "You feel a sense of peace and security. You are now protected from brainwashing.") + to_chat(target, "You feel a sense of peace and security. You are now protected from brainwashing.") ADD_TRAIT(target, TRAIT_MINDSHIELD, "implant") target.sec_hud_set_implants() if(deconverted) diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index 3194c1302512..6aba20463392 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -289,7 +289,6 @@ if(M.laws.id == DEFAULT_AI_LAWID) O.make_laws() - SSticker.mode.remove_antag_for_borging(B.mind) O.job = "Cyborg" O.cell = chest.cell diff --git a/code/game/objects/items/shuttle_creator.dm b/code/game/objects/items/shuttle_creator.dm index 781020f87318..9f25041d1f00 100644 --- a/code/game/objects/items/shuttle_creator.dm +++ b/code/game/objects/items/shuttle_creator.dm @@ -218,7 +218,6 @@ /obj/item/shuttle_creator/proc/check_current_area(mob/user) var/static/area_or_turf_fail_types = typecacheof(list( /turf/open/space, - /area/shuttle )) //Check to see if the user can make a new area to prevent spamming if(user) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 041f979d06a3..c2a0391d3d8b 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -7,7 +7,6 @@ * Plastic * Cardboard * Paper Frames - * Runed Metal (cult) * Bronze (bake brass) */ diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 54ccfc301e9c..c6d55e03ef48 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -405,32 +405,6 @@ var/datum/component/storage/STR = GetComponent(/datum/component/storage) STR.max_items = 5 -/obj/item/storage/belt/soulstone - name = "soul stone belt" - desc = "Designed for ease of access to the shards during a fight, as to not let a single enemy spirit slip away." - icon_state = "soulstone" - item_state = "soulstone" - -/obj/item/storage/belt/soulstone/ComponentInitialize() - . = ..() - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 6 - STR.set_holdable(list( - /obj/item/soulstone - )) - -/obj/item/storage/belt/soulstone/full/PopulateContents() - for(var/i in 1 to 6) - new /obj/item/soulstone(src) - -/obj/item/storage/belt/soulstone/full/chappy/PopulateContents() - for(var/i in 1 to 6) - new /obj/item/soulstone/anybody/chaplain(src) - -/obj/item/storage/belt/soulstone/full/purified/PopulateContents() - for(var/i in 1 to 6) - new /obj/item/soulstone/anybody/purified(src) - /obj/item/storage/belt/champion name = "championship belt" desc = "Proves to the world that you are the strongest!" diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm index 3ef2d547931a..9516c7128090 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -561,12 +561,3 @@ /obj/item/storage/box/syndie_kit/signaler/PopulateContents() for(var/i in 1 to 6) new /obj/item/assembly/signaler(src) - -/obj/item/storage/box/syndie_kit/cultconstructkit - name = "cult construct kit" - desc = "A sleek, sturdy box with an ominous, dark energy inside. Yikes." - -/obj/item/storage/box/syndie_kit/cultconstructkit/PopulateContents() - new /obj/item/storage/belt/soulstone/full/purified(src) - new /obj/item/sbeacondrop/constructshell(src) - new /obj/item/sbeacondrop/constructshell(src) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 7d2828c41660..6d6d258b5b0c 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -542,31 +542,6 @@ /obj/item/toy/talking/AI/generate_messages() return list(generate_ion_law()) -/obj/item/toy/talking/codex_gigas - name = "Toy Codex Gigas" - desc = "A tool to help you write fictional devils!" - icon = 'icons/obj/library.dmi' - icon_state = "demonomicon" - lefthand_file = 'icons/mob/inhands/misc/books_lefthand.dmi' - righthand_file = 'icons/mob/inhands/misc/books_righthand.dmi' - w_class = WEIGHT_CLASS_SMALL - recharge_time = 60 - -/obj/item/toy/talking/codex_gigas/activation_message(mob/user) - user.visible_message( - "[user] presses the button on \the [src].", - "You press the button on \the [src].", - "You hear a soft click.") - -/obj/item/toy/talking/codex_gigas/generate_messages() - var/datum/fakeDevil/devil = new - var/list/messages = list() - messages += "Some fun facts about: [devil.truename]" - messages += "[GLOB.lawlorify[LORE][devil.obligation]]" - messages += "[GLOB.lawlorify[LORE][devil.ban]]" - messages += "[GLOB.lawlorify[LORE][devil.banish]]" - return messages - /obj/item/toy/talking/owl name = "owl action figure" desc = "An action figure modeled after 'The Owl', defender of justice." diff --git a/code/game/objects/structures/ai_core.dm b/code/game/objects/structures/ai_core.dm index 1994ff330dd9..dba1c510767d 100644 --- a/code/game/objects/structures/ai_core.dm +++ b/code/game/objects/structures/ai_core.dm @@ -220,7 +220,6 @@ to_chat(user, "You connect the monitor.") if(brain) var/mob/living/brain/B = brain.brainmob - SSticker.mode.remove_antag_for_borging(B.mind) var/mob/living/silicon/ai/A = null diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index 31e9d9a0b8fc..8ee8d8214f80 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -209,7 +209,7 @@ LINEN BINS /obj/item/bedsheet/cult name = "cultist's bedsheet" - desc = "You might dream of Nar'Sie if you sleep with this. It seems rather tattered and glows of an eldritch presence." + desc = "You might dream of elder gods if you sleep with this. It seems rather tattered." icon_state = "sheetcult" item_state = "sheetcult" dream_messages = list("a tome", "a floating red crystal", "a glowing sword", "a bloody symbol", "a massive humanoid figure") diff --git a/code/game/objects/structures/door_assembly_types.dm b/code/game/objects/structures/door_assembly_types.dm index d2bcf77cfda7..b77f86be469f 100644 --- a/code/game/objects/structures/door_assembly_types.dm +++ b/code/game/objects/structures/door_assembly_types.dm @@ -141,20 +141,6 @@ airlock_type = /obj/machinery/door/airlock/shuttle glass_type = /obj/machinery/door/airlock/shuttle/glass -/obj/structure/door_assembly/door_assembly_cult - name = "cult airlock assembly" - icon = 'icons/obj/doors/airlocks/cult/runed/cult.dmi' - base_name = "cult airlock" - overlays_file = 'icons/obj/doors/airlocks/cult/runed/overlays.dmi' - airlock_type = /obj/machinery/door/airlock/cult - glass_type = /obj/machinery/door/airlock/cult/glass - -/obj/structure/door_assembly/door_assembly_cult/unruned - icon = 'icons/obj/doors/airlocks/cult/unruned/cult.dmi' - overlays_file = 'icons/obj/doors/airlocks/cult/unruned/overlays.dmi' - airlock_type = /obj/machinery/door/airlock/cult/unruned - glass_type = /obj/machinery/door/airlock/cult/unruned/glass - /obj/structure/door_assembly/door_assembly_viro name = "virology airlock assembly" icon = 'icons/obj/doors/airlocks/station/virology.dmi' diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm index aed3ae724c59..f8893a3e3bc9 100644 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ b/code/game/objects/structures/ghost_role_spawners.dm @@ -102,58 +102,6 @@ head = /obj/item/clothing/head/helmet/gladiator uniform = /obj/item/clothing/under/costume/gladiator/ash_walker -/obj/effect/mob_spawn/human/demonic_friend - name = "Essence of friendship" - desc = "Oh boy! Oh boy! A friend!" - mob_name = "Demonic friend" - icon = 'icons/obj/cardboard_cutout.dmi' - icon_state = "cutout_basic" - outfit = /datum/outfit/demonic_friend - death = FALSE - roundstart = FALSE - random = TRUE - id_job = "SuperFriend" - var/obj/effect/proc_holder/spell/targeted/summon_friend/spell - var/datum/mind/owner - assignedrole = "SuperFriend" - -/obj/effect/mob_spawn/human/demonic_friend/Initialize(mapload, datum/mind/owner_mind, obj/effect/proc_holder/spell/targeted/summon_friend/summoning_spell) - . = ..() - owner = owner_mind - flavour_text = "You have been given a reprieve from your eternity of torment, to be [owner.name]'s friend for [owner.p_their()] short mortal coil." - important_info = "Be aware that if you do not live up to [owner.name]'s expectations, they can send you back to hell with a single thought. [owner.name]'s death will also return you to hell." - var/area/A = get_area(src) - if(!mapload && A) - notify_ghosts("\A friendship shell has been completed in \the [A.name].", source = src, action=NOTIFY_ATTACK, flashwindow = FALSE) - objectives = "Be [owner.name]'s friend, and keep [owner.name] alive, so you don't get sent back to hell." - spell = summoning_spell - - -/obj/effect/mob_spawn/human/demonic_friend/special(mob/living/L) - if(!QDELETED(owner.current) && owner.current.stat != DEAD) - L.fully_replace_character_name(null,"[owner.name]'s best friend") - soullink(/datum/soullink/oneway, owner.current, L) - spell.friend = L - spell.charge_counter = spell.charge_max - L.mind.hasSoul = FALSE - var/mob/living/carbon/human/H = L - var/obj/item/worn = H.wear_id - var/obj/item/card/id/id = worn.GetID() - id.registered_name = L.real_name - id.update_label() - else - to_chat(L, "Your owner is already dead! You will soon perish.") - addtimer(CALLBACK(L, TYPE_PROC_REF(/mob, dust), 150)) //Give em a few seconds as a mercy. - -/datum/outfit/demonic_friend - name = "Demonic Friend" - uniform = /obj/item/clothing/under/misc/assistantformal - shoes = /obj/item/clothing/shoes/laceup - r_pocket = /obj/item/radio - back = /obj/item/storage/backpack - implants = list(/obj/item/implant/mindshield) //No revolutionaries, he's MY friend. - id = /obj/item/card/id - /obj/effect/mob_spawn/human/syndicate name = "Syndicate Operative" roundstart = FALSE diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index df0d3cf1f43c..5f35e69d098e 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -314,10 +314,6 @@ new remains(loc) qdel(src) -/obj/structure/girder/narsie_act() - new /obj/structure/girder/cult(loc) - qdel(src) - /obj/structure/girder/displaced name = "displaced girder" icon_state = "displaced" @@ -339,56 +335,6 @@ new remains(loc, 2) qdel(src) - - -//////////////////////////////////////////// cult girder ////////////////////////////////////////////// - -/obj/structure/girder/cult - name = "runed girder" - desc = "Framework made of a strange and shockingly cold metal. It doesn't seem to have any bolts." - icon = 'icons/obj/cult.dmi' - icon_state= "cultgirder" - can_displace = FALSE - -/obj/structure/girder/cult/attackby(obj/item/W, mob/user, params) - add_fingerprint(user) - if(W.tool_behaviour == TOOL_WELDER) - if(!W.tool_start_check(user, amount=0)) - return - - to_chat(user, "You start slicing apart the girder...") - if(W.use_tool(src, user, 40, volume=50)) - to_chat(user, "You slice apart the girder.") - var/obj/item/stack/sheet/mineral/hidden/hellstone/R = new(drop_location(), 1) - transfer_fingerprints_to(R) - qdel(src) - - else if(istype(W, /obj/item/stack/sheet/mineral/hidden/hellstone)) - var/obj/item/stack/sheet/mineral/hidden/hellstone/R = W - if(R.get_amount() < 1) - to_chat(user, "You need at least one sheet of runed metal to construct a runed wall!") - return 0 - user.visible_message("[user] begins laying runed metal on [src]...", "You begin constructing a runed wall...") - if(do_after(user, 50, target = src)) - if(R.get_amount() < 1) - return - user.visible_message("[user] plates [src] with runed metal.", "You construct a runed wall.") - R.use(1) - var/turf/T = get_turf(src) - T.PlaceOnTop(/turf/closed/wall/mineral/cult) - qdel(src) - - else - return ..() - -/obj/structure/girder/cult/narsie_act() - return - -/obj/structure/girder/cult/deconstruct(disassembled = TRUE) - if(!(flags_1 & NODECONSTRUCT_1)) - new /obj/item/stack/sheet/mineral/hidden/hellstone(drop_location(), 1) - qdel(src) - /obj/structure/girder/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd) switch(the_rcd.mode) if(RCD_FLOORWALL) diff --git a/code/game/turfs/closed/wall/misc_walls.dm b/code/game/turfs/closed/wall/misc_walls.dm index e37fc13c340b..1c18fdd9904f 100644 --- a/code/game/turfs/closed/wall/misc_walls.dm +++ b/code/game/turfs/closed/wall/misc_walls.dm @@ -8,24 +8,12 @@ canSmoothWith = null sheet_type = /obj/item/stack/sheet/mineral/hidden/hellstone sheet_amount = 1 - girder_type = /obj/structure/girder/cult - max_integrity = 600 /turf/closed/wall/mineral/cult/Initialize(mapload, inherited_virtual_z) new /obj/effect/temp_visual/cult/turf(src) . = ..() -/turf/closed/wall/mineral/cult/Exited(atom/movable/AM, atom/newloc) - . = ..() - if(istype(AM, /mob/living/simple_animal/hostile/construct/harvester)) //harvesters can go through cult walls, dragging something with - var/mob/living/simple_animal/hostile/construct/harvester/H = AM - var/atom/movable/stored_pulling = H.pulling - if(stored_pulling) - stored_pulling.setDir(get_dir(stored_pulling.loc, newloc)) - stored_pulling.forceMove(src) - H.start_pulling(stored_pulling, supress_message = TRUE) - /turf/closed/wall/mineral/cult/artificer name = "runed stone wall" desc = "A cold stone wall engraved with indecipherable symbols. Studying them causes your head to pound." diff --git a/code/game/turfs/open/floor.dm b/code/game/turfs/open/floor.dm index f7eac409b836..23fdfcc6d998 100644 --- a/code/game/turfs/open/floor.dm +++ b/code/game/turfs/open/floor.dm @@ -180,11 +180,6 @@ else if(prob(50)) ReplaceWithLattice() -/turf/open/floor/narsie_act(force, ignore_mobs, probability = 20) - . = ..() - if(.) - ChangeTurf(/turf/open/floor/engine/cult, flags = CHANGETURF_INHERIT_AIR) - /turf/open/floor/acid_melt() ScrapeAway(flags = CHANGETURF_INHERIT_AIR) diff --git a/code/game/turfs/open/floor/reinf_floor.dm b/code/game/turfs/open/floor/reinf_floor.dm index 7fb94e541bda..9094b0a3238f 100644 --- a/code/game/turfs/open/floor/reinf_floor.dm +++ b/code/game/turfs/open/floor/reinf_floor.dm @@ -141,36 +141,6 @@ name = "hydrogen mix floor" initial_gas_mix = ATMOS_TANK_HYDROGEN_FUEL -/turf/open/floor/engine/cult - name = "engraved floor" - desc = "The air smells strange over this sinister flooring." - icon_state = "plating" - floor_tile = null - var/obj/effect/cult_turf/overlay/floor/bloodcult/realappearance - - -/turf/open/floor/engine/cult/Initialize(mapload, inherited_virtual_z) - . = ..() - new /obj/effect/temp_visual/cult/turf/floor(src) - realappearance = new /obj/effect/cult_turf/overlay/floor/bloodcult(src) - realappearance.linked = src - -/turf/open/floor/engine/cult/Destroy() - be_removed() - return ..() - -/turf/open/floor/engine/cult/ChangeTurf(path, new_baseturf, flags) - if(path != type) - be_removed() - return ..() - -/turf/open/floor/engine/cult/proc/be_removed() - qdel(realappearance) - realappearance = null - -/turf/open/floor/engine/cult/airless - initial_gas_mix = AIRLESS_ATMOS - /turf/open/floor/engine/vacuum name = "vacuum floor" initial_gas_mix = AIRLESS_ATMOS diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index d05fd3ee3b98..b62a7830cc0d 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -850,22 +850,6 @@ if(!ai_number) to_chat(usr, "No AIs located" , confidential = TRUE) -/datum/admins/proc/output_all_devil_info() - var/devil_number = 0 - for(var/datum/mind/D in SSticker.mode.devils) - devil_number++ - var/datum/antagonist/devil/devil = D.has_antag_datum(/datum/antagonist/devil) - to_chat(usr, "Devil #[devil_number]:

    " + devil.printdevilinfo(), confidential = TRUE) - if(!devil_number) - to_chat(usr, "No Devils located" , confidential = TRUE) - -/datum/admins/proc/output_devil_info(mob/living/M) - if(is_devil(M)) - var/datum/antagonist/devil/devil = M.mind.has_antag_datum(/datum/antagonist/devil) - to_chat(usr, devil.printdevilinfo(), confidential = TRUE) - else - to_chat(usr, "[M] is not a devil.", confidential = TRUE) - /datum/admins/proc/dynamic_mode_options(mob/user) var/dat = {"

    Dynamic Mode Options


    diff --git a/code/modules/admin/fun_balloon.dm b/code/modules/admin/fun_balloon.dm index 04e84097f6d1..0be2f41696e6 100644 --- a/code/modules/admin/fun_balloon.dm +++ b/code/modules/admin/fun_balloon.dm @@ -136,8 +136,3 @@ /obj/effect/forcefield/arena_shuttle_entrance/proc/do_bloodbath(mob/living/L) var/obj/item/mine/pressure/pickup/bloodbath/B = new (L) B.mine_effect(L) - -/area/shuttle_arena - name = "arena" - has_gravity = STANDARD_GRAVITY - requires_power = FALSE diff --git a/code/modules/admin/sql_ban_system.dm b/code/modules/admin/sql_ban_system.dm index 28646666b46a..bd3d189f85eb 100644 --- a/code/modules/admin/sql_ban_system.dm +++ b/code/modules/admin/sql_ban_system.dm @@ -285,8 +285,8 @@ var/list/long_job_lists = list("Service" = GLOB.service_positions, "Ghost and Other Roles" = list(ROLE_BRAINWASHED, ROLE_DEATHSQUAD, ROLE_DRONE, ROLE_LAVALAND, ROLE_MIND_TRANSFER, ROLE_POSIBRAIN, ROLE_SENTIENCE), "Antagonist Positions" = list(ROLE_ABDUCTOR, ROLE_ALIEN, - ROLE_BROTHER, ROLE_CHANGELING, ROLE_CULTIST, - ROLE_DEVIL, ROLE_INTERNAL_AFFAIRS, ROLE_MALF, + ROLE_BROTHER, ROLE_CHANGELING, + ROLE_INTERNAL_AFFAIRS, ROLE_MALF, ROLE_MONKEY, ROLE_NINJA, ROLE_OPERATIVE, ROLE_OVERTHROW, ROLE_REV, ROLE_REVENANT, ROLE_REV_HEAD, ROLE_SYNDICATE, diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 7f546f5a6e7d..5123eed0be58 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -78,13 +78,6 @@ else message_admins("[key_name_admin(usr)] tried to create changelings. Unfortunately, there were no candidates available.") log_admin("[key_name(usr)] failed to create changelings.") - if("cult") - if(src.makeCult()) - message_admins("[key_name(usr)] started a cult.") - log_admin("[key_name(usr)] started a cult.") - else - message_admins("[key_name_admin(usr)] tried to start a cult. Unfortunately, there were no candidates available.") - log_admin("[key_name(usr)] failed to start a cult.") if("wizard") message_admins("[key_name(usr)] is creating a wizard...") if(src.makeWizard()) @@ -350,14 +343,6 @@ M.change_mob_type(/mob/living/simple_animal/parrot , null, null, delmob) if("polyparrot") M.change_mob_type(/mob/living/simple_animal/parrot/Polly , null, null, delmob) - if("constructjuggernaut") - M.change_mob_type(/mob/living/simple_animal/hostile/construct/juggernaut , null, null, delmob) - if("constructartificer") - M.change_mob_type(/mob/living/simple_animal/hostile/construct/artificer , null, null, delmob) - if("constructwraith") - M.change_mob_type(/mob/living/simple_animal/hostile/construct/wraith , null, null, delmob) - if("shade") - M.change_mob_type(/mob/living/simple_animal/shade , null, null, delmob) else if(href_list["boot2"]) if(!check_rights(R_ADMIN)) @@ -1140,12 +1125,6 @@ return output_ai_laws() - else if(href_list["admincheckdevilinfo"]) - if(!check_rights(R_ADMIN)) - return - var/mob/M = locate(href_list["admincheckdevilinfo"]) - output_devil_info(M) - else if(href_list["adminmoreinfo"]) var/mob/M = locate(href_list["adminmoreinfo"]) in GLOB.mob_list if(!ismob(M)) diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index abdecf91de60..e30519342ffb 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -16,7 +16,6 @@ var/dat = {" Make Traitors
    Make Changelings
    - Make Cult
    Make Wizard (Requires Ghosts)
    Make Nuke Team (Requires Ghosts)
    Make Response Team (Requires Ghosts)
    @@ -113,38 +112,6 @@ new_character.mind.make_Wizard() return TRUE - -/datum/admins/proc/makeCult() - var/datum/game_mode/cult/temp = new - if(CONFIG_GET(flag/protect_roles_from_antagonist)) - temp.restricted_jobs += temp.protected_jobs - - if(CONFIG_GET(flag/protect_assistant_from_antagonist)) - temp.restricted_jobs += "Assistant" - - var/list/mob/living/carbon/human/candidates = list() - var/mob/living/carbon/human/H = null - - for(var/mob/living/carbon/human/applicant in GLOB.player_list) - if(isReadytoRumble(applicant, ROLE_CULTIST)) - if(temp.age_check(applicant.client)) - if(!(applicant.job in temp.restricted_jobs)) - candidates += applicant - - if(candidates.len) - var/numCultists = min(candidates.len, 4) - - for(var/i = 0, iYou are feeling far too docile to do that.") return - if(iscultist(victim) || HAS_TRAIT(victim, TRAIT_MINDSHIELD)) - to_chat(src, "[victim]'s mind seems to be blocked by some unknown force!") - return - else log_game("[src]/([src.ckey]) assumed control of [victim]/([victim.ckey] with borer powers.") diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm deleted file mode 100644 index b4bfb265386d..000000000000 --- a/code/modules/antagonists/cult/blood_magic.dm +++ /dev/null @@ -1,803 +0,0 @@ -/datum/action/innate/cult/blood_magic //Blood magic handles the creation of blood spells (formerly talismans) - name = "Prepare Blood Magic" - button_icon_state = "carve" - desc = "Prepare blood magic by carving runes into your flesh. This is easier with an empowering rune." - var/list/spells = list() - var/channeling = FALSE - -/datum/action/innate/cult/blood_magic/Grant() - ..() - button.screen_loc = DEFAULT_BLOODSPELLS - button.moved = DEFAULT_BLOODSPELLS - button.ordered = FALSE - -/datum/action/innate/cult/blood_magic/Remove() - for(var/X in spells) - qdel(X) - ..() - -/datum/action/innate/cult/blood_magic/IsAvailable() - if(!iscultist(owner)) - return FALSE - return ..() - -/datum/action/innate/cult/blood_magic/proc/Positioning() - var/list/screen_loc_split = splittext(button.screen_loc,",") - var/list/screen_loc_X = splittext(screen_loc_split[1],":") - var/list/screen_loc_Y = splittext(screen_loc_split[2],":") - var/pix_X = text2num(screen_loc_X[2]) - for(var/datum/action/innate/cult/blood_spell/B in spells) - if(B.button.locked) - var/order = pix_X+spells.Find(B)*31 - B.button.screen_loc = "[screen_loc_X[1]]:[order],[screen_loc_Y[1]]:[screen_loc_Y[2]]" - B.button.moved = B.button.screen_loc - -/datum/action/innate/cult/blood_magic/Activate() - var/rune = FALSE - var/limit = RUNELESS_MAX_BLOODCHARGE - for(var/obj/effect/rune/empower/R in range(1, owner)) - rune = TRUE - break - if(rune) - limit = MAX_BLOODCHARGE - if(spells.len >= limit) - if(rune) - to_chat(owner, "You cannot store more than [MAX_BLOODCHARGE] spells. Pick a spell to remove.") - else - to_chat(owner, "You cannot store more than [RUNELESS_MAX_BLOODCHARGE] spells without an empowering rune! Pick a spell to remove.") - var/nullify_spell = input(owner, "Choose a spell to remove.", "Current Spells") as null|anything in spells - if(nullify_spell) - qdel(nullify_spell) - return - var/entered_spell_name - var/datum/action/innate/cult/blood_spell/BS - var/list/possible_spells = list() - for(var/I in subtypesof(/datum/action/innate/cult/blood_spell)) - var/datum/action/innate/cult/blood_spell/J = I - var/cult_name = initial(J.name) - possible_spells[cult_name] = J - possible_spells += "(REMOVE SPELL)" - entered_spell_name = input(owner, "Pick a blood spell to prepare...", "Spell Choices") as null|anything in possible_spells - if(entered_spell_name == "(REMOVE SPELL)") - var/nullify_spell = input(owner, "Choose a spell to remove.", "Current Spells") as null|anything in spells - if(nullify_spell) - qdel(nullify_spell) - return - BS = possible_spells[entered_spell_name] - if(QDELETED(src) || owner.incapacitated() || !BS || (rune && !(locate(/obj/effect/rune/empower) in range(1, owner))) || (spells.len >= limit)) - return - to_chat(owner,"You begin to carve unnatural symbols into your flesh!") - SEND_SOUND(owner, sound('sound/weapons/slice.ogg',0,1,10)) - if(!channeling) - channeling = TRUE - else - to_chat(owner, "You are already invoking blood magic!") - return - if(do_after(owner, 100 - rune*60, target = owner)) - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.bleed(40 - rune*32) - var/datum/action/innate/cult/blood_spell/new_spell = new BS(owner) - new_spell.Grant(owner, src) - spells += new_spell - Positioning() - to_chat(owner, "Your wounds glow with power, you have prepared a [new_spell.name] invocation!") - channeling = FALSE - -/datum/action/innate/cult/blood_spell //The next generation of talismans, handles storage/creation of blood magic - name = "Blood Magic" - button_icon_state = "telerune" - desc = "Fear the Old Blood." - var/charges = 1 - var/magic_path = null - var/obj/item/melee/blood_magic/hand_magic - var/datum/action/innate/cult/blood_magic/all_magic - var/base_desc //To allow for updating tooltips - var/invocation - var/health_cost = 0 - -/datum/action/innate/cult/blood_spell/Grant(mob/living/owner, datum/action/innate/cult/blood_magic/BM) - if(health_cost) - desc += "
    Deals [health_cost] damage to your arm per use." - base_desc = desc - desc += "
    Has [charges] use\s remaining." - all_magic = BM - ..() - button.locked = TRUE - button.ordered = FALSE - -/datum/action/innate/cult/blood_spell/Remove() - if(all_magic) - all_magic.spells -= src - if(hand_magic) - qdel(hand_magic) - hand_magic = null - ..() - -/datum/action/innate/cult/blood_spell/IsAvailable() - if(!iscultist(owner) || owner.incapacitated() || !charges) - return FALSE - return ..() - -/datum/action/innate/cult/blood_spell/Activate() - if(magic_path) //If this spell flows from the hand - if(!hand_magic) - hand_magic = new magic_path(owner, src) - if(!owner.put_in_hands(hand_magic)) - qdel(hand_magic) - hand_magic = null - to_chat(owner, "You have no empty hand for invoking blood magic!") - return - to_chat(owner, "Your wounds glow as you invoke the [name].") - return - if(hand_magic) - qdel(hand_magic) - hand_magic = null - to_chat(owner, "You snuff out the spell, saving it for later.") - - -//Cult Blood Spells -/datum/action/innate/cult/blood_spell/stun - name = "Stun" - desc = "Empowers your hand to stun and mute a victim on contact." - button_icon_state = "hand" - magic_path = "/obj/item/melee/blood_magic/stun" - health_cost = 10 - -/datum/action/innate/cult/blood_spell/teleport - name = "Teleport" - desc = "Empowers your hand to teleport yourself or another cultist to a teleport rune on contact." - button_icon_state = "tele" - magic_path = "/obj/item/melee/blood_magic/teleport" - health_cost = 7 - -/datum/action/innate/cult/blood_spell/emp - name = "Electromagnetic Pulse" - desc = "Emits a large electromagnetic pulse." - button_icon_state = "emp" - health_cost = 10 - invocation = "Ta'gh fara'qha fel d'amar det!" - -/datum/action/innate/cult/blood_spell/emp/Activate() - owner.visible_message( - "[owner]'s hand flashes a bright blue!", \ - "You speak the cursed words, emitting an EMP blast from your hand.") - empulse(owner, 2, 5) - owner.whisper(invocation, language = /datum/language/common) - charges-- - if(charges<=0) - qdel(src) - -/datum/action/innate/cult/blood_spell/shackles - name = "Shadow Shackles" - desc = "Empowers your hand to start handcuffing victim on contact, and mute them if successful." - button_icon_state = "cuff" - charges = 4 - magic_path = "/obj/item/melee/blood_magic/shackles" - -/datum/action/innate/cult/blood_spell/construction - name = "Twisted Construction" - desc = "Empowers your hand to corrupt certain metalic objects.
    Converts:
    Plasteel into runed metal
    50 metal into a construct shell
    Living cyborgs into constructs after a delay
    Cyborg shells into construct shells
    Airlocks into brittle runed airlocks after a delay (harm intent)" - button_icon_state = "transmute" - magic_path = "/obj/item/melee/blood_magic/construction" - health_cost = 12 - -/datum/action/innate/cult/blood_spell/horror - name = "Hallucinations" - desc = "Gives hallucinations to a target at range. A silent and invisible spell." - button_icon_state = "horror" - var/obj/effect/proc_holder/horror/PH - charges = 4 - -/datum/action/innate/cult/blood_spell/horror/New() - PH = new() - PH.attached_action = src - ..() - -/datum/action/innate/cult/blood_spell/horror/Destroy() - var/obj/effect/proc_holder/horror/destroy = PH - . = ..() - if(destroy && !QDELETED(destroy)) - QDEL_NULL(destroy) - -/datum/action/innate/cult/blood_spell/horror/Activate() - PH.toggle(owner) //the important bit - return TRUE - -/obj/effect/proc_holder/horror - active = FALSE - ranged_mousepointer = 'icons/effects/mouse_pointers/cult_target.dmi' - var/datum/action/innate/cult/blood_spell/attached_action - -/obj/effect/proc_holder/horror/Destroy() - var/datum/action/innate/cult/blood_spell/AA = attached_action - . = ..() - if(AA && !QDELETED(AA)) - QDEL_NULL(AA) - -/obj/effect/proc_holder/horror/proc/toggle(mob/user) - if(active) - remove_ranged_ability("You dispel the magic...") - else - add_ranged_ability(user, "You prepare to horrify a target...") - -/obj/effect/proc_holder/horror/InterceptClickOn(mob/living/caller, params, atom/target) - if(..()) - return - if(ranged_ability_user.incapacitated() || !iscultist(caller)) - remove_ranged_ability() - return - var/turf/T = get_turf(ranged_ability_user) - if(!isturf(T)) - return FALSE - if(target in view(7, get_turf(ranged_ability_user))) - if(!ishuman(target) || iscultist(target)) - return - var/mob/living/carbon/human/H = target - H.hallucination = max(H.hallucination, 120) - SEND_SOUND(ranged_ability_user, sound('sound/effects/ghost.ogg',0,1,50)) - var/image/C = image('icons/effects/cult_effects.dmi',H,"bloodsparkles", ABOVE_MOB_LAYER) - add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/cult, "cult_apoc", C, NONE) - addtimer(CALLBACK(H, TYPE_PROC_REF(/atom, remove_alt_appearance),"cult_apoc",TRUE), 2400, TIMER_OVERRIDE|TIMER_UNIQUE) - to_chat(ranged_ability_user,"[H] has been cursed with living nightmares!") - attached_action.charges-- - attached_action.desc = attached_action.base_desc - attached_action.desc += "
    Has [attached_action.charges] use\s remaining." - attached_action.UpdateButtonIcon() - if(attached_action.charges <= 0) - remove_ranged_ability("You have exhausted the spell's power!") - qdel(src) - -/datum/action/innate/cult/blood_spell/veiling - name = "Conceal Presence" - desc = "Alternates between hiding and revealing nearby cult structures and runes." - invocation = "Kla'atu barada nikt'o!" - button_icon_state = "gone" - charges = 10 - var/revealing = FALSE //if it reveals or not - -/datum/action/innate/cult/blood_spell/veiling/Activate() - if(!revealing) - owner.visible_message("Thin grey dust falls from [owner]'s hand!", \ - "You invoke the veiling spell, hiding nearby runes.") - charges-- - SEND_SOUND(owner, sound('sound/magic/smoke.ogg',0,1,25)) - owner.whisper(invocation, language = /datum/language/common) - for(var/obj/effect/rune/R in range(5,owner)) - R.conceal() - for(var/obj/structure/destructible/cult/S in range(5,owner)) - S.conceal() - for(var/turf/open/floor/engine/cult/T in range(5,owner)) - T.realappearance.alpha = 0 - for(var/obj/machinery/door/airlock/cult/AL in range(5, owner)) - AL.conceal() - revealing = TRUE - name = "Reveal Runes" - button_icon_state = "back" - else - owner.visible_message( - "A flash of light shines from [owner]'s hand!", \ - "You invoke the counterspell, revealing nearby runes.") - charges-- - owner.whisper(invocation, language = /datum/language/common) - SEND_SOUND(owner, sound('sound/magic/enter_blood.ogg',0,1,25)) - for(var/obj/effect/rune/R in range(7,owner)) //More range in case you weren't standing in exactly the same spot - R.reveal() - for(var/obj/structure/destructible/cult/S in range(6,owner)) - S.reveal() - for(var/turf/open/floor/engine/cult/T in range(6,owner)) - T.realappearance.alpha = initial(T.realappearance.alpha) - for(var/obj/machinery/door/airlock/cult/AL in range(6, owner)) - AL.reveal() - revealing = FALSE - name = "Conceal Runes" - button_icon_state = "gone" - if(charges<= 0) - qdel(src) - desc = base_desc - desc += "
    Has [charges] use\s remaining." - UpdateButtonIcon() - -/datum/action/innate/cult/blood_spell/manipulation - name = "Blood Rites" - desc = "Empowers your hand to absorb blood to be used for advanced rites, or heal a cultist on contact. Use the spell in-hand to cast advanced rites." - invocation = "Fel'th Dol Ab'orod!" - button_icon_state = "manip" - charges = 5 - magic_path = "/obj/item/melee/blood_magic/manipulator" - - -// The "magic hand" items -/obj/item/melee/blood_magic - name = "\improper magical aura" - desc = "A sinister looking aura that distorts the flow of reality around it." - icon = 'icons/obj/items.dmi' - lefthand_file = 'icons/mob/inhands/misc/touchspell_lefthand.dmi' - righthand_file = 'icons/mob/inhands/misc/touchspell_righthand.dmi' - icon_state = "disintegrate" - item_state = "disintegrate" - item_flags = NEEDS_PERMIT | ABSTRACT | DROPDEL - - w_class = WEIGHT_CLASS_HUGE - throwforce = 0 - throw_range = 0 - throw_speed = 0 - var/invocation - var/uses = 1 - var/health_cost = 0 //The amount of health taken from the user when invoking the spell - var/datum/action/innate/cult/blood_spell/source - -/obj/item/melee/blood_magic/New(loc, spell) - if(spell) - source = spell - uses = source.charges - health_cost = source.health_cost - ..() - -/obj/item/melee/blood_magic/Destroy() - if(!QDELETED(source)) - if(uses <= 0) - source.hand_magic = null - qdel(source) - source = null - else - source.hand_magic = null - source.charges = uses - source.desc = source.base_desc - source.desc += "
    Has [uses] use\s remaining." - source.UpdateButtonIcon() - return ..() - -/obj/item/melee/blood_magic/attack_self(mob/living/user) - afterattack(user, user, TRUE) - -/obj/item/melee/blood_magic/attack(mob/living/M, mob/living/carbon/user) - if(!iscarbon(user) || !iscultist(user)) - uses = 0 - qdel(src) - return - log_combat(user, M, "used a cult spell on", source.name, "") - M.lastattacker = user.real_name - M.lastattackerckey = user.ckey - -/obj/item/melee/blood_magic/afterattack(atom/target, mob/living/carbon/user, proximity) - . = ..() - if(invocation) - user.whisper(invocation, language = /datum/language/common) - if(health_cost) - if(user.active_hand_index == 1) - user.apply_damage(health_cost, BRUTE, BODY_ZONE_L_ARM) - else - user.apply_damage(health_cost, BRUTE, BODY_ZONE_R_ARM) - if(uses <= 0) - qdel(src) - else if(source) - source.desc = source.base_desc - source.desc += "
    Has [uses] use\s remaining." - source.UpdateButtonIcon() - -//Stun -/obj/item/melee/blood_magic/stun - name = "Stunning Aura" - desc = "Will stun and mute a weak-minded victim on contact." - color = RUNE_COLOR_RED - invocation = "Fuu ma'jin!" - -/obj/item/melee/blood_magic/stun/afterattack(atom/target, mob/living/carbon/user, proximity) - if(!isliving(target) || !proximity) - return - var/mob/living/L = target - if(iscultist(target)) - return - if(iscultist(user)) - user.visible_message("[user] holds up [user.p_their()] hand, which explodes in a flash of red light!", \ - "You attempt to stun [L] with the spell!") - - user.mob_light(_range = 3, _color = LIGHT_COLOR_BLOOD_MAGIC, _duration = 0.2 SECONDS) - - var/anti_magic_source = L.anti_magic_check() - if(anti_magic_source) - - L.mob_light(_range = 2, _color = LIGHT_COLOR_HOLY_MAGIC, _duration = 10 SECONDS) - var/mutable_appearance/forbearance = mutable_appearance('icons/effects/genetics.dmi', "servitude", -MUTATIONS_LAYER) - L.add_overlay(forbearance) - addtimer(CALLBACK(L, TYPE_PROC_REF(/atom, cut_overlay), forbearance), 100) - - if(istype(anti_magic_source, /obj/item)) - var/obj/item/ams_object = anti_magic_source - target.visible_message( - "[L] starts to glow in a halo of light!", \ - "Your [ams_object.name] begins to glow, emitting a blanket of holy light which surrounds you and protects you from the flash of light!") - else - target.visible_message( - "[L] starts to glow in a halo of light!", \ - "A feeling of warmth washes over you, rays of holy light surround your body and protect you from the flash of light!") - - else - if(HAS_TRAIT(target, TRAIT_MINDSHIELD)) - var/mob/living/carbon/C = L - to_chat(user, "Their mind was stronger than expected, but you still managed to do some damage!") - C.stuttering += 8 - C.dizziness += 30 - C.Jitter(8) - C.drop_all_held_items() - C.bleed(40) - C.apply_damage(60, STAMINA, BODY_ZONE_CHEST) - else - to_chat(user, "In a brilliant flash of red, [L] falls to the ground!") - L.Paralyze(160) - L.flash_act(1,1) - if(issilicon(target)) - var/mob/living/silicon/S = L - S.emp_act(EMP_HEAVY) - else if(iscarbon(target)) - var/mob/living/carbon/C = L - C.silent += 6 - C.stuttering += 15 - C.cultslurring += 15 - C.Jitter(15) - uses-- - ..() - -//Teleportation -/obj/item/melee/blood_magic/teleport - name = "Teleporting Aura" - color = RUNE_COLOR_TELEPORT - desc = "Will teleport a cultist to a teleport rune on contact." - invocation = "Sas'so c'arta forbici!" - -/obj/item/melee/blood_magic/teleport/afterattack(atom/target, mob/living/carbon/user, proximity) - if(!iscultist(target) || !proximity) - to_chat(user, "You can only teleport adjacent cultists with this spell!") - return - if(iscultist(user)) - var/list/potential_runes = list() - var/list/teleportnames = list() - for(var/R in GLOB.teleport_runes) - var/obj/effect/rune/teleport/T = R - potential_runes[avoid_assoc_duplicate_keys(T.listkey, teleportnames)] = T - - if(!potential_runes.len) - to_chat(user, "There are no valid runes to teleport to!") - log_game("Teleport talisman failed - no other teleport runes") - return - - var/turf/T = get_turf(src) - if(is_away_level(T)) - to_chat(user, "You are not in the right dimension!") - log_game("Teleport spell failed - user in away mission") - return - - var/input_rune_key = input(user, "Choose a rune to teleport to.", "Rune to Teleport to") as null|anything in potential_runes //we know what key they picked - var/obj/effect/rune/teleport/actual_selected_rune = potential_runes[input_rune_key] //what rune does that key correspond to? - if(QDELETED(src) || !user || !user.is_holding(src) || user.incapacitated() || !actual_selected_rune || !proximity) - return - var/turf/dest = get_turf(actual_selected_rune) - if(dest.is_blocked_turf(TRUE)) - to_chat(user, "The target rune is blocked. You cannot teleport there.") - return - uses-- - var/turf/origin = get_turf(user) - var/mob/living/L = target - if(do_teleport(L, dest, channel = TELEPORT_CHANNEL_CULT)) - origin.visible_message("Dust flows from [user]'s hand, and [user.p_they()] disappear[user.p_s()] with a sharp crack!", \ - "You speak the words of the talisman and find yourself somewhere else!", "You hear a sharp crack.") - dest.visible_message("There is a boom of outrushing air as something appears above the rune!", null, "You hear a boom.") - ..() - -//Shackles -/obj/item/melee/blood_magic/shackles - name = "Shackling Aura" - desc = "Will start handcuffing a victim on contact, and mute them if successful." - invocation = "In'totum Lig'abis!" - color = "#000000" // black - -/obj/item/melee/blood_magic/shackles/afterattack(atom/target, mob/living/carbon/user, proximity) - if(iscultist(user) && iscarbon(target) && proximity) - var/mob/living/carbon/C = target - if(C.canBeHandcuffed()) - CuffAttack(C, user) - else - user.visible_message("This victim doesn't have enough arms to complete the restraint!") - return - ..() - -/obj/item/melee/blood_magic/shackles/proc/CuffAttack(mob/living/carbon/C, mob/living/user) - if(!C.handcuffed) - playsound(loc, 'sound/weapons/cablecuff.ogg', 30, TRUE, -2) - C.visible_message("[user] begins restraining [C] with dark magic!", \ - "[user] begins shaping dark magic shackles around your wrists!") - if(do_after(user, 3 SECONDS, C)) - if(!C.handcuffed) - C.set_handcuffed(new /obj/item/restraints/handcuffs/energy/cult/used(C)) - C.update_handcuffed() - C.silent += 5 - to_chat(user, "You shackle [C].") - log_combat(user, C, "shackled") - uses-- - else - to_chat(user, "[C] is already bound.") - else - to_chat(user, "You fail to shackle [C].") - else - to_chat(user, "[C] is already bound.") - - -/obj/item/restraints/handcuffs/energy/cult //For the shackling spell - name = "shadow shackles" - desc = "Shackles that bind the wrists with sinister magic." - trashtype = /obj/item/restraints/handcuffs/energy/used - item_flags = DROPDEL - -/obj/item/restraints/handcuffs/energy/cult/used/dropped(mob/user) - user.visible_message("[user]'s shackles shatter in a discharge of dark magic!", \ - "Your [src] shatters in a discharge of dark magic!") - . = ..() - - -//Construction: Converts 50 metal to a construct shell, plasteel to runed metal, airlock to brittle runed airlock, a borg to a construct, or borg shell to a construct shell -/obj/item/melee/blood_magic/construction - name = "Twisting Aura" - desc = "Corrupts certain metalic objects on contact." - invocation = "Ethra p'ni dedol!" - color = "#000000" // black - var/channeling = FALSE - -/obj/item/melee/blood_magic/construction/examine(mob/user) - . = ..() - . += {"A sinister spell used to convert:\n - Plasteel into runed metal\n - [METAL_TO_CONSTRUCT_SHELL_CONVERSION] metal into a construct shell\n - Living cyborgs into constructs after a delay\n - Cyborg shells into construct shells\n - Airlocks into brittle runed airlocks after a delay (harm intent)"} - -/obj/item/melee/blood_magic/construction/afterattack(atom/target, mob/user, proximity_flag, click_parameters) - if(proximity_flag && iscultist(user)) - if(channeling) - to_chat(user, "You are already invoking twisted construction!") - return - var/turf/T = get_turf(target) - if(istype(target, /obj/item/stack/sheet/metal)) - var/obj/item/stack/sheet/candidate = target - if(candidate.use(METAL_TO_CONSTRUCT_SHELL_CONVERSION)) - uses-- - to_chat(user, "A dark cloud emanates from your hand and swirls around the metal, twisting it into a construct shell!") - new /obj/structure/constructshell(T) - SEND_SOUND(user, sound('sound/effects/magic.ogg',0,1,25)) - else - to_chat(user, "You need [METAL_TO_CONSTRUCT_SHELL_CONVERSION] metal to produce a construct shell!") - return - else if(istype(target, /obj/item/stack/sheet/plasteel)) - var/obj/item/stack/sheet/plasteel/candidate = target - var/quantity = candidate.amount - if(candidate.use(quantity)) - uses -- - new /obj/item/stack/sheet/mineral/hidden/hellstone(T,quantity) - to_chat(user, "A dark cloud emanates from you hand and swirls around the plasteel, transforming it into runed metal!") - SEND_SOUND(user, sound('sound/effects/magic.ogg',0,1,25)) - else if(istype(target,/mob/living/silicon/robot)) - var/mob/living/silicon/robot/candidate = target - if(candidate.mmi) - channeling = TRUE - user.visible_message("A dark cloud emanates from [user]'s hand and swirls around [candidate]!") - playsound(T, 'sound/machines/creaking.ogg', 80, TRUE) - var/prev_color = candidate.color - candidate.color = "black" - if(do_after(user, 90, target = candidate)) - candidate.emp_act(EMP_HEAVY) - var/list/constructs = list( - "Juggernaut" = image(icon = 'icons/mob/cult.dmi', icon_state = "juggernaut"), - "Wraith" = image(icon = 'icons/mob/cult.dmi', icon_state = "wraith"), - "Artificer" = image(icon = 'icons/mob/cult.dmi', icon_state = "artificer") - ) - var/construct_class = show_radial_menu(user, src, constructs, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) - if(!check_menu(user)) - return - if(QDELETED(candidate)) - channeling = FALSE - return - user.visible_message("The dark cloud recedes from what was formerly [candidate], revealing a\n [construct_class]!") - switch(construct_class) - if("Juggernaut") - makeNewConstruct(/mob/living/simple_animal/hostile/construct/juggernaut, candidate, user, 0, T) - if("Wraith") - makeNewConstruct(/mob/living/simple_animal/hostile/construct/wraith, candidate, user, 0, T) - if("Artificer") - makeNewConstruct(/mob/living/simple_animal/hostile/construct/artificer, candidate, user, 0, T) - else - return - uses-- - candidate.mmi = null - qdel(candidate) - channeling = FALSE - else - channeling = FALSE - candidate.color = prev_color - return - else - uses-- - to_chat(user, "A dark cloud emanates from you hand and swirls around [candidate] - twisting it into a construct shell!") - new /obj/structure/constructshell(T) - SEND_SOUND(user, sound('sound/effects/magic.ogg',0,1,25)) - qdel(candidate) - else if(istype(target,/obj/machinery/door/airlock)) - channeling = TRUE - playsound(T, 'sound/machines/airlockforced.ogg', 50, TRUE) - do_sparks(5, TRUE, target) - if(do_after(user, 50, target = user)) - if(QDELETED(target)) - channeling = FALSE - return - target.narsie_act() - uses-- - user.visible_message("Black ribbons suddenly emanate from [user]'s hand and cling to the airlock - twisting and corrupting it!") - SEND_SOUND(user, sound('sound/effects/magic.ogg',0,1,25)) - channeling = FALSE - else - channeling = FALSE - return - else - to_chat(user, "The spell will not work on [target]!") - return - ..() - -/obj/item/melee/blood_magic/construction/proc/check_menu(mob/user) - if(!istype(user)) - return FALSE - if(user.incapacitated() || !user.Adjacent(src)) - return FALSE - return TRUE - - -//Armor: Gives the target a basic cultist combat loadout -/obj/item/melee/blood_magic/armor - name = "Arming Aura" - desc = "Will equipt cult combat gear onto a cultist on contact." - color = "#33cc33" // green - -/obj/item/melee/blood_magic/armor/afterattack(atom/target, mob/living/carbon/user, proximity) - if(iscarbon(target) && proximity) - uses-- - var/mob/living/carbon/C = target - C.visible_message("Otherworldly armor suddenly appears on [C]!") - C.equip_to_slot_or_del(new /obj/item/clothing/under/color/black,ITEM_SLOT_ICLOTHING) - C.equip_to_slot_or_del(new /obj/item/clothing/suit/hooded/cultrobes/alt(user), ITEM_SLOT_OCLOTHING) - C.equip_to_slot_or_del(new /obj/item/clothing/shoes/cult/alt(user), ITEM_SLOT_FEET) - C.equip_to_slot_or_del(new /obj/item/storage/backpack/cultpack(user), ITEM_SLOT_BACK) - if(C == user) - qdel(src) //Clears the hands - C.put_in_hands(new /obj/item/restraints/legcuffs/bola/cult(user)) - ..() - -/obj/item/melee/blood_magic/manipulator - name = "Blood Rite Aura" - desc = "Absorbs blood from anything you touch. Touching cultists and constructs can heal them. Use in-hand to cast an advanced rite." - color = "#7D1717" - -/obj/item/melee/blood_magic/manipulator/examine(mob/user) - . = ..() - . += "Blood spear, blood bolt barrage, and blood beam cost [BLOOD_SPEAR_COST], [BLOOD_BARRAGE_COST], and [BLOOD_BEAM_COST] charges respectively." - -/obj/item/melee/blood_magic/manipulator/afterattack(atom/target, mob/living/carbon/human/user, proximity) - if(proximity) - if(ishuman(target)) - var/mob/living/carbon/human/H = target - if(NOBLOOD in H.dna.species.species_traits) - to_chat(user,"Blood rites do not work on species with no blood!") - return - if(iscultist(H)) - if(H.stat == DEAD) - to_chat(user,"Only a revive rune can bring back the dead!") - return - if(H.blood_volume < BLOOD_VOLUME_SAFE) - var/restore_blood = BLOOD_VOLUME_SAFE - H.blood_volume - if(uses*2 < restore_blood) - H.blood_volume += uses*2 - to_chat(user,"You use the last of your blood rites to restore what blood you could!") - uses = 0 - return ..() - else - H.blood_volume = BLOOD_VOLUME_SAFE - uses -= round(restore_blood/2) - to_chat(user,"Your blood rites have restored [H == user ? "your" : "[H.p_their()]"] blood to safe levels!") - var/overall_damage = H.getBruteLoss() + H.getFireLoss() + H.getToxLoss() + H.getOxyLoss() - if(overall_damage == 0) - to_chat(user,"That cultist doesn't require healing!") - else - var/ratio = uses/overall_damage - if(H == user) - to_chat(user,"Your blood healing is far less efficient when used on yourself!") - ratio *= 0.35 // Healing is half as effective if you can't perform a full heal - uses -= round(overall_damage) // Healing is 65% more "expensive" even if you can still perform the full heal - if(ratio>1) - ratio = 1 - uses -= round(overall_damage) - H.visible_message("[H] is fully healed by [H==user ? "[H.p_their()]":"[H]'s"]'s blood magic!") - else - H.visible_message("[H] is partially healed by [H==user ? "[H.p_their()]":"[H]'s"] blood magic.") - uses = 0 - ratio *= -1 - H.adjustOxyLoss((overall_damage*ratio) * (H.getOxyLoss() / overall_damage), 0) - H.adjustToxLoss((overall_damage*ratio) * (H.getToxLoss() / overall_damage), 0) - H.adjustFireLoss((overall_damage*ratio) * (H.getFireLoss() / overall_damage), 0) - H.adjustBruteLoss((overall_damage*ratio) * (H.getBruteLoss() / overall_damage), 0) - H.updatehealth() - playsound(get_turf(H), 'sound/magic/staff_healing.ogg', 25) - new /obj/effect/temp_visual/cult/sparks(get_turf(H)) - user.Beam(H,icon_state="sendbeam",time=15) - else - if(H.stat == DEAD) - to_chat(user,"[H.p_their(TRUE)] blood has stopped flowing, you'll have to find another way to extract it.") - return - if(H.cultslurring) - to_chat(user,"[H.p_their(TRUE)] blood has been tainted by an even stronger form of blood magic, it's no use to us like this!") - return - if(H.blood_volume > BLOOD_VOLUME_SAFE) - H.blood_volume -= 100 - uses += 50 - user.Beam(H,icon_state="drainbeam",time=10) - playsound(get_turf(H), 'sound/magic/enter_blood.ogg', 50) - H.visible_message("[user] drains some of [H]'s blood!") - to_chat(user,"Your blood rite gains 50 charges from draining [H]'s blood.") - new /obj/effect/temp_visual/cult/sparks(get_turf(H)) - else - to_chat(user,"[H.p_theyre(TRUE)] missing too much blood - you cannot drain [H.p_them()] further!") - return - if(isconstruct(target)) - var/mob/living/simple_animal/M = target - var/missing = M.maxHealth - M.health - if(missing) - if(uses > missing) - M.adjustHealth(-missing) - M.visible_message("[M] is fully healed by [user]'s blood magic!") - uses -= missing - else - M.adjustHealth(-uses) - M.visible_message("[M] is partially healed by [user]'s blood magic!") - uses = 0 - playsound(get_turf(M), 'sound/magic/staff_healing.ogg', 25) - user.Beam(M,icon_state="sendbeam",time=10) - if(istype(target, /obj/effect/decal/cleanable/blood)) - blood_draw(target, user) - ..() - -/obj/item/melee/blood_magic/manipulator/proc/blood_draw(atom/target, mob/living/carbon/human/user) - var/temp = 0 - var/turf/T = get_turf(target) - if(T) - for(var/obj/effect/decal/cleanable/blood/B in view(T, 2)) - if(B.blood_state == BLOOD_STATE_HUMAN) - if(B.bloodiness == 100) //Bonus for "pristine" bloodpools, also to prevent cheese with footprint spam - temp += 30 - else - temp += max((B.bloodiness**2)/800,1) - new /obj/effect/temp_visual/cult/turf/floor(get_turf(B)) - qdel(B) - if(temp) - user.Beam(T,icon_state="drainbeam",time=15) - new /obj/effect/temp_visual/cult/sparks(get_turf(user)) - playsound(T, 'sound/magic/enter_blood.ogg', 50) - to_chat(user, "Your blood rite has gained [round(temp)] charge\s from blood sources around you!") - uses += max(1, round(temp)) - -/obj/item/melee/blood_magic/manipulator/attack_self(mob/living/user) - if(iscultist(user)) - var/list/options = list("Blood Beam (500)") - var/choice = input(user, "Choose a greater blood rite...", "Greater Blood Rites") as null|anything in options - if(!choice) - to_chat(user, "You decide against conducting a greater blood rite.") - return - switch(choice) - if("Blood Beam (500)") - if(uses < BLOOD_BEAM_COST) - to_chat(user, "You need [BLOOD_BEAM_COST] charges to perform this rite.") - else - var/obj/rite = new /obj/item/blood_beam() - uses -= BLOOD_BEAM_COST - qdel(src) - if(user.put_in_hands(rite)) - to_chat(user, "Your hands glow with POWER OVERWHELMING!!!") - else - to_chat(user, "You need a free hand for this rite!") - qdel(rite) diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm deleted file mode 100644 index d6330b386f29..000000000000 --- a/code/modules/antagonists/cult/cult.dm +++ /dev/null @@ -1,397 +0,0 @@ -#define SUMMON_POSSIBILITIES 3 -#define CULT_VICTORY 1 -#define CULT_LOSS 0 -#define CULT_NARSIE_KILLED -1 - -/datum/antagonist/cult - name = "Cultist" - roundend_category = "cultists" - antagpanel_category = "Cult" - antag_moodlet = /datum/mood_event/cult - var/datum/action/innate/cult/comm/communion = new - var/datum/action/innate/cult/mastervote/vote = new - var/datum/action/innate/cult/blood_magic/magic = new - job_rank = ROLE_CULTIST - antag_hud_type = ANTAG_HUD_CULT - antag_hud_name = "cult" - var/ignore_implant = FALSE - var/give_equipment = FALSE - var/datum/team/cult/cult_team - - -/datum/antagonist/cult/get_team() - return cult_team - -/datum/antagonist/cult/create_team(datum/team/cult/new_team) - if(!new_team) - //todo remove this and allow admin buttons to create more than one cult - for(var/datum/antagonist/cult/H in GLOB.antagonists) - if(!H.owner) - continue - if(H.cult_team) - cult_team = H.cult_team - return - cult_team = new /datum/team/cult - cult_team.setup_objectives() - return - if(!istype(new_team)) - stack_trace("Wrong team type passed to [type] initialization.") - cult_team = new_team - -/datum/antagonist/cult/proc/add_objectives() - objectives |= cult_team.objectives - -/datum/antagonist/cult/Destroy() - QDEL_NULL(communion) - QDEL_NULL(vote) - return ..() - -/datum/antagonist/cult/can_be_owned(datum/mind/new_owner) - . = ..() - if(. && !ignore_implant) - . = is_convertable_to_cult(new_owner.current,cult_team) - -/datum/antagonist/cult/greet() - to_chat(owner, "You are a member of the cult!") - owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/bloodcult.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE)//subject to change - owner.announce_objectives() - -/datum/antagonist/cult/on_gain() - . = ..() - var/mob/living/current = owner.current - add_objectives() - if(give_equipment) - equip_cultist() - SSticker.mode.cult += owner // Only add after they've been given objectives - current.log_message("has been converted to the cult of Nar'Sie!", LOG_ATTACK, color="#960000") - - if(cult_team.blood_target && cult_team.blood_target_image && current.client) - current.client.images += cult_team.blood_target_image - - -/datum/antagonist/cult/proc/equip_cultist() - var/mob/living/carbon/H = owner.current - if(!istype(H)) - return - to_chat(owner, "These will help you jumpstart a cult of your own in this sector. Use them well, and remember - you are not the only one.") - - -/datum/antagonist/cult/proc/cult_give_item(obj/item/item_path, mob/living/carbon/human/mob) - var/list/slots = list( - "backpack" = ITEM_SLOT_BACKPACK, - "left pocket" = ITEM_SLOT_LPOCKET, - "right pocket" = ITEM_SLOT_RPOCKET - ) - - var/T = new item_path(mob) - var/item_name = initial(item_path.name) - var/where = mob.equip_in_one_of_slots(T, slots) - if(!where) - to_chat(mob, "Unfortunately, you weren't able to get a [item_name]. This is very bad and you should adminhelp immediately (press F1).") - return 0 - else - to_chat(mob, "You have a [item_name] in your [where].") - if(where == "backpack") - SEND_SIGNAL(mob.back, COMSIG_TRY_STORAGE_SHOW, mob) - return TRUE - -/datum/antagonist/cult/apply_innate_effects(mob/living/mob_override) - . = ..() - var/mob/living/current = owner.current - if(mob_override) - current = mob_override - add_antag_hud(antag_hud_type, antag_hud_name, current) - handle_clown_mutation(current, mob_override ? null : "Your training has allowed you to overcome your clownish nature, allowing you to wield weapons without harming yourself.") - current.faction |= "cult" - current.grant_language(/datum/language/narsie, TRUE, TRUE, LANGUAGE_CULTIST) - if(!cult_team.cult_master) - vote.Grant(current) - communion.Grant(current) - if(ishuman(current)) - magic.Grant(current) - current.throw_alert("bloodsense", /atom/movable/screen/alert/bloodsense) - if(cult_team.cult_risen) - cult_team.rise(current) - if(cult_team.cult_ascendent) - cult_team.ascend(current) - -/datum/antagonist/cult/remove_innate_effects(mob/living/mob_override) - . = ..() - var/mob/living/current = owner.current - if(mob_override) - current = mob_override - remove_antag_hud(antag_hud_type, current) - handle_clown_mutation(current, removing = FALSE) - current.faction -= "cult" - current.remove_language(/datum/language/narsie, TRUE, TRUE, LANGUAGE_CULTIST) - vote.Remove(current) - communion.Remove(current) - magic.Remove(current) - current.clear_alert("bloodsense") - if(ishuman(current)) - var/mob/living/carbon/human/H = current - H.eye_color = initial(H.eye_color) - H.dna.update_ui_block(DNA_EYE_COLOR_BLOCK) - REMOVE_TRAIT(H, CULT_EYES, null) - H.remove_overlay(HALO_LAYER) - H.update_body() - -/datum/antagonist/cult/on_removal() - SSticker.mode.cult -= owner - if(!silent) - owner.current.visible_message("[owner.current] looks like [owner.current.p_theyve()] just reverted to [owner.current.p_their()] old faith!", null, null, null, owner.current) - to_chat(owner.current, "An unfamiliar white light flashes through your mind, cleansing the taint of the Geometer and all your memories as her servant.") - owner.current.log_message("has renounced the cult of Nar'Sie!", LOG_ATTACK, color="#960000") - if(cult_team.blood_target && cult_team.blood_target_image && owner.current.client) - owner.current.client.images -= cult_team.blood_target_image - . = ..() - -/datum/antagonist/cult/admin_add(datum/mind/new_owner,mob/admin) - give_equipment = FALSE - new_owner.add_antag_datum(src) - message_admins("[key_name_admin(admin)] has cult'ed [key_name_admin(new_owner)].") - log_admin("[key_name(admin)] has cult'ed [key_name(new_owner)].") - -/datum/antagonist/cult/admin_remove(mob/user) - message_admins("[key_name_admin(user)] has decult'ed [key_name_admin(owner)].") - log_admin("[key_name(user)] has decult'ed [key_name(owner)].") - SSticker.mode.remove_cultist(owner,silent=TRUE) //disgusting - -/datum/antagonist/cult/get_admin_commands() - . = ..() - .["Dagger"] = CALLBACK(src, PROC_REF(admin_give_dagger)) - .["Metal"] = CALLBACK(src, PROC_REF(admin_take_all)) - -/datum/antagonist/cult/proc/admin_give_dagger(mob/admin) - if(!equip_cultist()) - to_chat(admin, "Spawning dagger failed!") - -/datum/antagonist/cult/proc/admin_take_all(mob/admin) - return - -/datum/antagonist/cult/master - ignore_implant = TRUE - show_in_antagpanel = FALSE //Feel free to add this later - var/datum/action/innate/cult/master/finalreck/reckoning = new - var/datum/action/innate/cult/master/cultmark/bloodmark = new - var/datum/action/innate/cult/master/pulse/throwing = new - -/datum/antagonist/cult/master/Destroy() - QDEL_NULL(reckoning) - QDEL_NULL(bloodmark) - QDEL_NULL(throwing) - return ..() - -/datum/antagonist/cult/master/on_gain() - . = ..() - var/mob/living/current = owner.current - set_antag_hud(current, "cultmaster") - -/datum/antagonist/cult/master/greet() - to_chat(owner.current, "You are the cult's Master. As the cult's Master, you have a unique title and loud voice when communicating, are capable of marking \ - targets, such as a location or a noncultist, to direct the cult to them, and, finally, you are capable of summoning the entire living cult to your location once.") - to_chat(owner.current, "Use these abilities to direct the cult to victory at any cost.") - -/datum/antagonist/cult/master/apply_innate_effects(mob/living/mob_override) - . = ..() - var/mob/living/current = owner.current - if(mob_override) - current = mob_override - if(!cult_team.reckoning_complete) - reckoning.Grant(current) - bloodmark.Grant(current) - throwing.Grant(current) - current.update_action_buttons_icon() - current.apply_status_effect(/datum/status_effect/cult_master) - if(cult_team.cult_risen) - cult_team.rise(current) - if(cult_team.cult_ascendent) - cult_team.ascend(current) - -/datum/antagonist/cult/master/remove_innate_effects(mob/living/mob_override) - . = ..() - var/mob/living/current = owner.current - if(mob_override) - current = mob_override - reckoning.Remove(current) - bloodmark.Remove(current) - throwing.Remove(current) - current.update_action_buttons_icon() - current.remove_status_effect(/datum/status_effect/cult_master) - - if(ishuman(current)) - var/mob/living/carbon/human/H = current - H.eye_color = initial(H.eye_color) - H.dna.update_ui_block(DNA_EYE_COLOR_BLOCK) - REMOVE_TRAIT(H, CULT_EYES, null) - H.remove_overlay(HALO_LAYER) - H.update_body() - -/datum/team/cult - name = "Cult" - - var/blood_target - var/image/blood_target_image - var/blood_target_reset_timer - - var/cult_vote_called = FALSE - var/mob/living/cult_master - var/reckoning_complete = FALSE - var/cult_risen = FALSE - var/cult_ascendent = FALSE - -/datum/team/cult/proc/check_size() - if(cult_ascendent) - return - var/alive = 0 - var/cultplayers = 0 - for(var/I in GLOB.player_list) - var/mob/M = I - if(M.stat != DEAD) - if(iscultist(M)) - ++cultplayers - else - ++alive - var/ratio = cultplayers/alive - if(ratio > CULT_RISEN && !cult_risen) - for(var/datum/mind/B in members) - if(B.current) - SEND_SOUND(B.current, 'sound/hallucinations/i_see_you2.ogg') - to_chat(B.current, "The veil weakens as your cult grows, your eyes begin to glow...") - addtimer(CALLBACK(src, PROC_REF(rise), B.current), 200) - cult_risen = TRUE - - if(ratio > CULT_ASCENDENT && !cult_ascendent) - for(var/datum/mind/B in members) - if(B.current) - SEND_SOUND(B.current, 'sound/hallucinations/im_here1.ogg') - to_chat(B.current, "Your cult is ascendent and the red harvest approaches - you cannot hide your true nature for much longer!!") - addtimer(CALLBACK(src, PROC_REF(ascend), B.current), 200) - cult_ascendent = TRUE - - -/datum/team/cult/proc/rise(cultist) - if(ishuman(cultist)) - var/mob/living/carbon/human/H = cultist - H.eye_color = "f00" - H.dna.update_ui_block(DNA_EYE_COLOR_BLOCK) - ADD_TRAIT(H, CULT_EYES, CULT_TRAIT) - H.update_body() - -/datum/team/cult/proc/ascend(cultist) - if(ishuman(cultist)) - var/mob/living/carbon/human/H = cultist - new /obj/effect/temp_visual/cult/sparks(get_turf(H), H.dir) - var/istate = pick("halo1","halo2","halo3","halo4","halo5","halo6") - var/mutable_appearance/new_halo_overlay = mutable_appearance('icons/effects/32x64.dmi', istate, -HALO_LAYER) - H.overlays_standing[HALO_LAYER] = new_halo_overlay - H.apply_overlay(HALO_LAYER) - -/datum/objective/sacrifice/find_target(dupe_search_range) - if(!istype(team, /datum/team/cult)) - return - var/datum/team/cult/C = team - var/list/target_candidates = list() - for(var/mob/living/carbon/human/player in GLOB.player_list) - if(player.mind && !player.mind.has_antag_datum(/datum/antagonist/cult) && !is_convertable_to_cult(player) && player.stat != DEAD) - target_candidates += player.mind - if(target_candidates.len == 0) - message_admins("Cult Sacrifice: Could not find unconvertible target, checking for convertible target.") - for(var/mob/living/carbon/human/player in GLOB.player_list) - if(player.mind && !player.mind.has_antag_datum(/datum/antagonist/cult) && player.stat != DEAD) - target_candidates += player.mind - listclearnulls(target_candidates) - if(LAZYLEN(target_candidates)) - target = pick(target_candidates) - update_explanation_text() - else - message_admins("Cult Sacrifice: Could not find unconvertible or convertible target. WELP!") - for(var/datum/mind/M in C.members) - if(M.current) - M.current.clear_alert("bloodsense") - M.current.throw_alert("bloodsense", /atom/movable/screen/alert/bloodsense) - -/datum/team/cult/proc/setup_objectives() - var/datum/objective/sacrifice/sac_objective = new - sac_objective.team = src - sac_objective.find_target() - objectives += sac_objective - - var/datum/objective/eldergod/summon_objective = new - summon_objective.team = src - objectives += summon_objective - - -/datum/objective/sacrifice - var/sacced = FALSE - var/sac_image - -/datum/objective/sacrifice/check_completion() - return sacced || completed - -/datum/objective/sacrifice/update_explanation_text() - if(target) - explanation_text = "Sacrifice [target], the [target.assigned_role] via invoking an Offer rune with [target.p_them()] on it and three acolytes around it." - else - explanation_text = "The veil has already been weakened here, proceed to the final objective." - -/datum/objective/eldergod - var/summoned = FALSE - var/killed = FALSE - var/list/summon_spots = list() - -/datum/objective/eldergod/New() - ..() - var/sanity = 0 - while(summon_spots.len < SUMMON_POSSIBILITIES && sanity < 100) - var/area/summon_area = pick(GLOB.sortedAreas - summon_spots) - if(summon_area && (summon_area.area_flags & VALID_TERRITORY)) - summon_spots += summon_area - sanity++ - update_explanation_text() - -/datum/objective/eldergod/update_explanation_text() - explanation_text = "Summon Nar'Sie by invoking the rune 'Summon Nar'Sie'. The summoning can only be accomplished in [english_list(summon_spots)] - where the veil is weak enough for the ritual to begin." - -/datum/objective/eldergod/check_completion() - if(killed) - return CULT_NARSIE_KILLED // You failed so hard that even the code went backwards. - return summoned || completed - -/datum/team/cult/proc/check_cult_victory() - for(var/datum/objective/O in objectives) - if(O.check_completion() == CULT_NARSIE_KILLED) - return CULT_NARSIE_KILLED - else if(!O.check_completion()) - return CULT_LOSS - return CULT_VICTORY - -/datum/team/cult/roundend_report() - var/list/parts = list() - var/victory = check_cult_victory() - - if(victory == CULT_NARSIE_KILLED) // Epic failure, you summoned your god and then someone killed it. - parts += "Nar'sie has been killed! The cult will haunt the universe no longer!" - else if(victory) - parts += "The cult has succeeded! Nar'Sie has snuffed out another torch in the void!" - else - parts += "The staff managed to stop the cult! Dark words and heresy are no match for Nanotrasen's finest!" - - if(objectives.len) - parts += "The cultists' objectives were:" - var/count = 1 - for(var/datum/objective/objective in objectives) - if(objective.check_completion()) - parts += "Objective #[count]: [objective.explanation_text] Success!" - else - parts += "Objective #[count]: [objective.explanation_text] Fail." - count++ - - if(members.len) - parts += "The cultists were:" - parts += printplayerlist(members) - - return "
    [parts.Join("
    ")]
    " - -/datum/team/cult/is_gamemode_hero() - return SSticker.mode.name == "cult" diff --git a/code/modules/antagonists/cult/cult_comms.dm b/code/modules/antagonists/cult/cult_comms.dm deleted file mode 100644 index 0c070e8e423f..000000000000 --- a/code/modules/antagonists/cult/cult_comms.dm +++ /dev/null @@ -1,461 +0,0 @@ -// Contains cult communion, guide, and cult master abilities - -/datum/action/innate/cult - icon_icon = 'icons/mob/actions/actions_cult.dmi' - background_icon_state = "bg_demon" - buttontooltipstyle = "cult" - check_flags = AB_CHECK_HANDS_BLOCKED|AB_CHECK_IMMOBILE|AB_CHECK_CONSCIOUS - -/datum/action/innate/cult/IsAvailable() - if(!iscultist(owner)) - return FALSE - return ..() - -/datum/action/innate/cult/comm - name = "Communion" - desc = "Whispered words that all cultists can hear.
    Warning:Nearby non-cultists can still hear you." - button_icon_state = "cult_comms" - -/datum/action/innate/cult/comm/Activate() - var/input = stripped_input(usr, "Please choose a message to tell to the other acolytes.", "Voice of Blood", "") - if(!input || !IsAvailable()) - return - if(CHAT_FILTER_CHECK(input)) - to_chat(usr, "You cannot send a message that contains a word prohibited in IC chat!") - return - cultist_commune(usr, input) - -/datum/action/innate/cult/comm/proc/cultist_commune(mob/living/user, message) - var/my_message - if(!message) - return - user.whisper("O bidai nabora se[pick("'","`")]sma!", language = /datum/language/common) - user.whisper(html_decode(message)) - var/title = "Acolyte" - var/span = "cult italic" - if(user.mind && user.mind.has_antag_datum(/datum/antagonist/cult/master)) - span = "cultlarge" - title = "Master" - else if(!ishuman(user)) - title = "Construct" - my_message = "[title] [findtextEx(user.name, user.real_name) ? user.name : "[user.real_name] (as [user.name])"]: [message]" - for(var/i in GLOB.player_list) - var/mob/M = i - if(iscultist(M)) - to_chat(M, my_message) - else if(M in GLOB.dead_mob_list) - var/link = FOLLOW_LINK(M, user) - to_chat(M, "[link] [my_message]") - - user.log_talk(message, LOG_SAY, tag="cult") - -/datum/action/innate/cult/comm/spirit - name = "Spiritual Communion" - desc = "Conveys a message from the spirit realm that all cultists can hear." - -/datum/action/innate/cult/comm/spirit/IsAvailable() - if(iscultist(owner.mind.current)) - return TRUE - -/datum/action/innate/cult/comm/spirit/cultist_commune(mob/living/user, message) - var/my_message - if(!message) - return - my_message = "The [user.name]: [message]" - for(var/i in GLOB.player_list) - var/mob/M = i - if(iscultist(M)) - to_chat(M, my_message) - else if(M in GLOB.dead_mob_list) - var/link = FOLLOW_LINK(M, user) - to_chat(M, "[link] [my_message]") - -/datum/action/innate/cult/mastervote - name = "Assert Leadership" - button_icon_state = "cultvote" - -/datum/action/innate/cult/mastervote/IsAvailable() - var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - if(!C || C.cult_team.cult_vote_called || !ishuman(owner)) - return FALSE - return ..() - -/datum/action/innate/cult/mastervote/Activate() - var/choice = alert(owner, "The mantle of leadership is heavy. Success in this role requires an expert level of communication and experience. Are you sure?",, "Yes", "No") - if(choice == "Yes" && IsAvailable()) - var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - pollCultists(owner,C.cult_team) - -/proc/pollCultists(mob/living/Nominee,datum/team/cult/team) //Cult Master Poll - if(world.time < CULT_POLL_WAIT) - to_chat(Nominee, "It would be premature to select a leader while everyone is still settling in, try again in [DisplayTimeText(CULT_POLL_WAIT-world.time)].") - return - team.cult_vote_called = TRUE //somebody's trying to be a master, make sure we don't let anyone else try - for(var/datum/mind/B in team.members) - if(B.current) - B.current.update_action_buttons_icon() - if(!B.current.incapacitated()) - SEND_SOUND(B.current, 'sound/hallucinations/im_here1.ogg') - to_chat(B.current, "Acolyte [Nominee] has asserted that [Nominee.p_theyre()] worthy of leading the cult. A vote will be called shortly.") - sleep(100) - var/list/asked_cultists = list() - for(var/datum/mind/B in team.members) - if(B.current && B.current != Nominee && !B.current.incapacitated()) - SEND_SOUND(B.current, 'sound/magic/exit_blood.ogg') - asked_cultists += B.current - var/list/yes_voters = pollCandidates("[Nominee] seeks to lead your cult, do you support [Nominee.p_them()]?", poll_time = 300, group = asked_cultists) - if(QDELETED(Nominee) || Nominee.incapacitated()) - team.cult_vote_called = FALSE - for(var/datum/mind/B in team.members) - if(B.current) - B.current.update_action_buttons_icon() - if(!B.current.incapacitated()) - to_chat(B.current,"[Nominee] has died in the process of attempting to win the cult's support!") - return FALSE - if(!Nominee.mind) - team.cult_vote_called = FALSE - for(var/datum/mind/B in team.members) - if(B.current) - B.current.update_action_buttons_icon() - if(!B.current.incapacitated()) - to_chat(B.current,"[Nominee] has gone catatonic in the process of attempting to win the cult's support!") - return FALSE - if(LAZYLEN(yes_voters) <= LAZYLEN(asked_cultists) * 0.5) - team.cult_vote_called = FALSE - for(var/datum/mind/B in team.members) - if(B.current) - B.current.update_action_buttons_icon() - if(!B.current.incapacitated()) - to_chat(B.current, "[Nominee] could not win the cult's support and shall continue to serve as an acolyte.") - return FALSE - team.cult_master = Nominee - SSticker.mode.remove_cultist(Nominee.mind, TRUE) - Nominee.mind.add_antag_datum(/datum/antagonist/cult/master) - for(var/datum/mind/B in team.members) - if(B.current) - for(var/datum/action/innate/cult/mastervote/vote in B.current.actions) - vote.Remove(B.current) - if(!B.current.incapacitated()) - to_chat(B.current,"[Nominee] has won the cult's support and is now their master. Follow [Nominee.p_their()] orders to the best of your ability!") - return TRUE - -/datum/action/innate/cult/master/IsAvailable() - if(!owner.mind || !owner.mind.has_antag_datum(/datum/antagonist/cult/master) || GLOB.cult_narsie) - return 0 - return ..() - -/datum/action/innate/cult/master/finalreck - name = "Final Reckoning" - desc = "A single-use spell that brings the entire cult to the master's location." - button_icon_state = "sintouch" - -/datum/action/innate/cult/master/finalreck/Activate() - var/datum/antagonist/cult/antag = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - if(!antag) - return - for(var/i in 1 to 4) - chant(i) - var/list/destinations = list() - for(var/turf/T in orange(1, owner)) - if(!T.is_blocked_turf(TRUE)) - destinations += T - if(!LAZYLEN(destinations)) - to_chat(owner, "You need more space to summon your cult!") - return - if(do_after(owner, 30, target = owner)) - for(var/datum/mind/B in antag.cult_team.members) - if(B.current && B.current.stat != DEAD) - var/turf/mobloc = get_turf(B.current) - switch(i) - if(1) - new /obj/effect/temp_visual/cult/sparks(mobloc, B.current.dir) - playsound(mobloc, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - if(2) - new /obj/effect/temp_visual/dir_setting/cult/phase/out(mobloc, B.current.dir) - playsound(mobloc, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - if(3) - new /obj/effect/temp_visual/dir_setting/cult/phase(mobloc, B.current.dir) - playsound(mobloc, "sparks", 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - if(4) - playsound(mobloc, 'sound/magic/exit_blood.ogg', 100, TRUE) - if(B.current != owner) - var/turf/final = pick(destinations) - if(istype(B.current.loc, /obj/item/soulstone)) - var/obj/item/soulstone/S = B.current.loc - S.release_shades(owner) - B.current.setDir(SOUTH) - new /obj/effect/temp_visual/cult/blood(final) - addtimer(CALLBACK(B.current, TYPE_PROC_REF(/mob, reckon), final), 10) - else - return - antag.cult_team.reckoning_complete = TRUE - Remove(owner) - -/mob/proc/reckon(turf/final) - new /obj/effect/temp_visual/cult/blood/out(get_turf(src)) - forceMove(final) - -/datum/action/innate/cult/master/finalreck/proc/chant(chant_number) - switch(chant_number) - if(1) - owner.say("C'arta forbici!", language = /datum/language/common, forced = "cult invocation") - if(2) - owner.say("Pleggh e'ntrath!", language = /datum/language/common, forced = "cult invocation") - playsound(get_turf(owner),'sound/magic/clockwork/narsie_attack.ogg', 50, TRUE) - if(3) - owner.say("Barhah hra zar'garis!", language = /datum/language/common, forced = "cult invocation") - playsound(get_turf(owner),'sound/magic/clockwork/narsie_attack.ogg', 75, TRUE) - if(4) - owner.say("N'ath reth sh'yro eth d'rekkathnor!!!", language = /datum/language/common, forced = "cult invocation") - playsound(get_turf(owner),'sound/magic/clockwork/narsie_attack.ogg', 100, TRUE) - -/datum/action/innate/cult/master/cultmark - name = "Mark Target" - desc = "Marks a target for the cult." - button_icon_state = "cult_mark" - var/obj/effect/proc_holder/cultmark/CM - var/cooldown = 0 - var/base_cooldown = 1200 - -/datum/action/innate/cult/master/cultmark/New(Target) - CM = new() - CM.attached_action = src - ..() - -/datum/action/innate/cult/master/cultmark/IsAvailable() - if(cooldown > world.time) - if(!CM.active) - to_chat(owner, "You need to wait [DisplayTimeText(cooldown - world.time)] before you can mark another target!") - return FALSE - return ..() - -/datum/action/innate/cult/master/cultmark/Destroy() - QDEL_NULL(CM) - return ..() - -/datum/action/innate/cult/master/cultmark/Activate() - CM.toggle(owner) //the important bit - return TRUE - -/obj/effect/proc_holder/cultmark - active = FALSE - ranged_mousepointer = 'icons/effects/mouse_pointers/cult_target.dmi' - var/datum/action/innate/cult/master/cultmark/attached_action - -/obj/effect/proc_holder/cultmark/Destroy() - attached_action = null - return ..() - -/obj/effect/proc_holder/cultmark/proc/toggle(mob/user) - if(active) - remove_ranged_ability("You cease the marking ritual.") - else - add_ranged_ability(user, "You prepare to mark a target for your cult...") - -/obj/effect/proc_holder/cultmark/InterceptClickOn(mob/living/caller, params, atom/target) - if(..()) - return - if(ranged_ability_user.incapacitated()) - remove_ranged_ability() - return - var/turf/T = get_turf(ranged_ability_user) - if(!isturf(T)) - return FALSE - - var/datum/antagonist/cult/C = caller.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - - if(target in view(7, get_turf(ranged_ability_user))) - if(C.cult_team.blood_target) - to_chat(ranged_ability_user, "The cult has already designated a target!") - return FALSE - C.cult_team.blood_target = target - var/area/A = get_area(target) - attached_action.cooldown = world.time + attached_action.base_cooldown - addtimer(CALLBACK(attached_action.owner, TYPE_PROC_REF(/mob, update_action_buttons_icon)), attached_action.base_cooldown) - C.cult_team.blood_target_image = image('icons/effects/mouse_pointers/cult_target.dmi', target, "glow", ABOVE_MOB_LAYER) - C.cult_team.blood_target_image.appearance_flags = RESET_COLOR - C.cult_team.blood_target_image.pixel_x = -target.pixel_x - C.cult_team.blood_target_image.pixel_y = -target.pixel_y - for(var/datum/mind/B in SSticker.mode.cult) - if(B.current && B.current.stat != DEAD && B.current.client) - to_chat(B.current, "[ranged_ability_user] has marked [C.cult_team.blood_target] in the [A.name] as the cult's top priority, get there immediately!") - SEND_SOUND(B.current, sound(pick('sound/hallucinations/over_here2.ogg','sound/hallucinations/over_here3.ogg'),0,1,75)) - B.current.client.images += C.cult_team.blood_target_image - attached_action.owner.update_action_buttons_icon() - remove_ranged_ability("The marking rite is complete! It will last for 90 seconds.") - C.cult_team.blood_target_reset_timer = addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(reset_blood_target),C.cult_team), 900, TIMER_STOPPABLE) - return TRUE - return FALSE - -/proc/reset_blood_target(datum/team/cult/team) - for(var/datum/mind/B in team.members) - if(B.current && B.current.stat != DEAD && B.current.client) - if(team.blood_target) - to_chat(B.current,"The blood mark has expired!") - B.current.client.images -= team.blood_target_image - QDEL_NULL(team.blood_target_image) - team.blood_target = null - - -/datum/action/innate/cult/master/cultmark/ghost - name = "Mark a Blood Target for the Cult" - desc = "Marks a target for the entire cult to track." - -/datum/action/innate/cult/master/cultmark/ghost/IsAvailable() - if(istype(owner, /mob/dead/observer) && iscultist(owner.mind.current)) - return TRUE - else - qdel(src) - -/datum/action/innate/cult/ghostmark //Ghost version - name = "Blood Mark your Target" - desc = "Marks whatever you are orbitting - for the entire cult to track." - button_icon_state = "cult_mark" - var/tracking = FALSE - var/cooldown = 0 - var/base_cooldown = 600 - -/datum/action/innate/cult/ghostmark/IsAvailable() - if(istype(owner, /mob/dead/observer) && iscultist(owner.mind.current)) - return TRUE - else - qdel(src) - -/datum/action/innate/cult/ghostmark/proc/reset_button() - if(owner) - name = "Blood Mark your Target" - desc = "Marks whatever you are orbitting - for the entire cult to track." - button_icon_state = "cult_mark" - owner.update_action_buttons_icon() - SEND_SOUND(owner, 'sound/magic/enter_blood.ogg') - to_chat(owner,"Your previous mark is gone - you are now ready to create a new blood mark.") - -/datum/action/innate/cult/ghostmark/Activate() - var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - if(C.cult_team.blood_target) - if(cooldown>world.time) - reset_blood_target(C.cult_team) - to_chat(owner, "You have cleared the cult's blood target!") - deltimer(C.cult_team.blood_target_reset_timer) - return - else - to_chat(owner, "The cult has already designated a target!") - return - if(cooldown>world.time) - to_chat(owner, "You aren't ready to place another blood mark yet!") - return - target = owner.orbiting?.parent || get_turf(owner) - if(!target) - return - C.cult_team.blood_target = target - var/area/A = get_area(target) - cooldown = world.time + base_cooldown - addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob, update_action_buttons_icon)), base_cooldown) - C.cult_team.blood_target_image = image('icons/effects/mouse_pointers/cult_target.dmi', target, "glow", ABOVE_MOB_LAYER) - C.cult_team.blood_target_image.appearance_flags = RESET_COLOR - C.cult_team.blood_target_image.pixel_x = -target.pixel_x - C.cult_team.blood_target_image.pixel_y = -target.pixel_y - SEND_SOUND(owner, sound(pick('sound/hallucinations/over_here2.ogg','sound/hallucinations/over_here3.ogg'),0,1,75)) - owner.client.images += C.cult_team.blood_target_image - for(var/datum/mind/B in SSticker.mode.cult) - if(B.current && B.current.stat != DEAD && B.current.client) - to_chat(B.current, "[owner] has marked [C.cult_team.blood_target] in the [A.name] as the cult's top priority, get there immediately!") - SEND_SOUND(B.current, sound(pick('sound/hallucinations/over_here2.ogg','sound/hallucinations/over_here3.ogg'),0,1,75)) - B.current.client.images += C.cult_team.blood_target_image - to_chat(owner,"You have marked the [target] for the cult! It will last for [DisplayTimeText(base_cooldown)].") - name = "Clear the Blood Mark" - desc = "Remove the Blood Mark you previously set." - button_icon_state = "emp" - owner.update_action_buttons_icon() - C.cult_team.blood_target_reset_timer = addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(reset_blood_target),C.cult_team), base_cooldown, TIMER_STOPPABLE) - addtimer(CALLBACK(src, PROC_REF(reset_button)), base_cooldown) - - -//////// ELDRITCH PULSE ///////// - - - -/datum/action/innate/cult/master/pulse - name = "Eldritch Pulse" - desc = "Seize upon a fellow cultist or cult structure and teleport it to a nearby location." - icon_icon = 'icons/mob/actions/actions_spells.dmi' - button_icon_state = "arcane_barrage" - var/obj/effect/proc_holder/pulse/PM - var/cooldown = 0 - var/base_cooldown = 150 - var/throwing = FALSE - var/mob/living/throwee - -/datum/action/innate/cult/master/pulse/New() - PM = new() - PM.attached_action = src - ..() - -/datum/action/innate/cult/master/pulse/IsAvailable() - if(!owner.mind || !owner.mind.has_antag_datum(/datum/antagonist/cult/master)) - return FALSE - if(cooldown > world.time) - if(!PM.active) - to_chat(owner, "You need to wait [DisplayTimeText(cooldown - world.time)] before you can pulse again!") - return FALSE - return ..() - -/datum/action/innate/cult/master/pulse/Destroy() - PM.attached_action = null //What the fuck is even going on here. - QDEL_NULL(PM) - return ..() - - -/datum/action/innate/cult/master/pulse/Activate() - PM.toggle(owner) //the important bit - return TRUE - -/obj/effect/proc_holder/pulse - active = FALSE - ranged_mousepointer = 'icons/effects/mouse_pointers/throw_target.dmi' - var/datum/action/innate/cult/master/pulse/attached_action - -/obj/effect/proc_holder/pulse/Destroy() - attached_action = null - return ..() - - -/obj/effect/proc_holder/pulse/proc/toggle(mob/user) - if(active) - remove_ranged_ability("You cease your preparations...") - attached_action.throwing = FALSE - else - add_ranged_ability(user, "You prepare to tear through the fabric of reality...") - -/obj/effect/proc_holder/pulse/InterceptClickOn(mob/living/caller, params, atom/target) - if(..()) - return - if(ranged_ability_user.incapacitated()) - remove_ranged_ability() - return - var/turf/T = get_turf(ranged_ability_user) - if(!isturf(T)) - return FALSE - if(target in view(7, get_turf(ranged_ability_user))) - if((!(iscultist(target) || istype(target, /obj/structure/destructible/cult)) || target == caller) && !(attached_action.throwing)) - return - if(!attached_action.throwing) - attached_action.throwing = TRUE - attached_action.throwee = target - SEND_SOUND(ranged_ability_user, sound('sound/weapons/thudswoosh.ogg')) - to_chat(ranged_ability_user,"You reach through the veil with your mind's eye and seize [target]!") - return - else - new /obj/effect/temp_visual/cult/sparks(get_turf(attached_action.throwee), ranged_ability_user.dir) - var/distance = get_dist(attached_action.throwee, target) - if(distance >= 16) - return - playsound(target,'sound/magic/exit_blood.ogg') - attached_action.throwee.Beam(target,icon_state="sendbeam",time=4) - attached_action.throwee.forceMove(get_turf(target)) - new /obj/effect/temp_visual/cult/sparks(get_turf(target), ranged_ability_user.dir) - attached_action.throwing = FALSE - attached_action.cooldown = world.time + attached_action.base_cooldown - remove_ranged_ability("A pulse of blood magic surges through you as you shift [attached_action.throwee] through time and space.") - caller.update_action_buttons_icon() - addtimer(CALLBACK(caller, TYPE_PROC_REF(/mob, update_action_buttons_icon)), attached_action.base_cooldown) diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm deleted file mode 100644 index 5dce420df1cf..000000000000 --- a/code/modules/antagonists/cult/cult_items.dm +++ /dev/null @@ -1,524 +0,0 @@ -/obj/item/tome - name = "arcane tome" - desc = "An old, dusty tome with frayed edges and a sinister-looking cover." - icon_state ="tome" - throw_speed = 2 - throw_range = 5 - w_class = WEIGHT_CLASS_SMALL - -/datum/action/innate/dash/cult - name = "Rend the Veil" - desc = "Use the sword to shear open the flimsy fabric of this reality and teleport to your target." - icon_icon = 'icons/mob/actions/actions_cult.dmi' - button_icon_state = "phaseshift" - dash_sound = 'sound/magic/enter_blood.ogg' - recharge_sound = 'sound/magic/exit_blood.ogg' - beam_effect = "sendbeam" - phasein = /obj/effect/temp_visual/dir_setting/cult/phase - phaseout = /obj/effect/temp_visual/dir_setting/cult/phase/out - -/datum/action/innate/dash/cult/IsAvailable() - if(iscultist(owner) && current_charges) - return TRUE - else - return FALSE - -/obj/item/restraints/legcuffs/bola/cult - name = "\improper Nar'Sien bola" - desc = "A strong bola, bound with dark magic that allows it to pass harmlessly through Nar'Sien cultists. Throw it to trip and slow your victim." - icon_state = "bola_cult" - item_state = "bola_cult" - breakouttime = 60 - knockdown = 30 - -/obj/item/restraints/legcuffs/bola/cult/attack_hand(mob/living/user) - . = ..() - if(!iscultist(user)) - to_chat(user, "The bola seems to take on a life of its own!") - ensnare(user) - -/obj/item/restraints/legcuffs/bola/cult/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) - if(iscultist(hit_atom)) - return - . = ..() - -/obj/item/clothing/head/hooded/cult_hoodie - name = "ancient cultist hood" - icon_state = "culthood" - desc = "A torn, dust-caked hood. Strange letters line the inside." - flags_inv = HIDEFACE|HIDEHAIR|HIDEEARS - flags_cover = HEADCOVERSEYES - armor = list("melee" = 40, "bullet" = 30, "laser" = 40,"energy" = 40, "bomb" = 25, "bio" = 10, "rad" = 0, "fire" = 10, "acid" = 10) - cold_protection = HEAD - min_cold_protection_temperature = HELMET_MIN_TEMP_PROTECT - heat_protection = HEAD - max_heat_protection_temperature = HELMET_MAX_TEMP_PROTECT - -/obj/item/clothing/suit/hooded/cultrobes - name = "ancient cultist robes" - desc = "A ragged, dusty set of robes. Strange letters line the inside." - icon_state = "cultrobes" - item_state = "cultrobes" - body_parts_covered = CHEST|GROIN|LEGS|ARMS - allowed = list(/obj/item/tome, /obj/item/tank) - armor = list("melee" = 40, "bullet" = 30, "laser" = 40,"energy" = 40, "bomb" = 25, "bio" = 10, "rad" = 0, "fire" = 10, "acid" = 10) - flags_inv = HIDEJUMPSUIT - cold_protection = CHEST|GROIN|LEGS|ARMS - min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT - heat_protection = CHEST|GROIN|LEGS|ARMS - max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT - hoodtype = /obj/item/clothing/head/hooded/cult_hoodie - - -/obj/item/clothing/head/hooded/cult_hoodie/alt - name = "cultist hood" - desc = "An armored hood worn by the followers of Nar'Sie." - icon_state = "cult_hoodalt" - item_state = "cult_hoodalt" - -/obj/item/clothing/suit/hooded/cultrobes/alt - name = "cultist robes" - desc = "An armored set of robes worn by the followers of Nar'Sie." - icon_state = "cultrobesalt" - item_state = "cultrobesalt" - hoodtype = /obj/item/clothing/head/hooded/cult_hoodie/alt - -/obj/item/clothing/suit/hooded/cultrobes/alt/ghost - item_flags = DROPDEL - -/obj/item/clothing/suit/hooded/cultrobes/alt/ghost/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_NODROP, CULT_TRAIT) - -/obj/item/clothing/head/helmet/space/hardsuit/cult - name = "\improper Nar'Sien hardened helmet" - desc = "A heavily-armored helmet worn by warriors of the Nar'Sien cult. It can withstand hard vacuum." - icon_state = "cult_helmet" - item_state = "cult_helmet" - armor = list("melee" = 70, "bullet" = 50, "laser" = 30,"energy" = 40, "bomb" = 30, "bio" = 30, "rad" = 30, "fire" = 40, "acid" = 75) - light_system = NO_LIGHT_SUPPORT - light_range = 0 - actions_types = list() - -/obj/item/clothing/suit/space/hardsuit/cult - name = "\improper Nar'Sien hardened armor" - icon_state = "cult_armor" - item_state = "cult_armor" - desc = "A heavily-armored exosuit worn by warriors of the Nar'Sien cult. It can withstand hard vacuum." - w_class = WEIGHT_CLASS_BULKY - allowed = list(/obj/item/tome, /obj/item/tank/internals/) - armor = list("melee" = 70, "bullet" = 50, "laser" = 30,"energy" = 40, "bomb" = 30, "bio" = 30, "rad" = 30, "fire" = 40, "acid" = 75) - helmettype = /obj/item/clothing/head/helmet/space/hardsuit/cult - -/obj/item/sharpener/cult - name = "eldritch whetstone" - desc = "A block, empowered by dark magic. Sharp weapons will be enhanced when used on the stone." - icon_state = "cult_sharpener" - used = 0 - increment = 5 - max = 40 - prefix = "darkened" - -/obj/item/sharpener/cult/update_icon_state() - icon_state = "cult_sharpener[used ? "_used" : ""]" - return ..() - -/obj/item/clothing/suit/hooded/cultrobes/cult_shield - name = "empowered cultist armor" - desc = "Empowered armor which creates a powerful shield around the user." - icon_state = "cult_armor" - item_state = "cult_armor" - w_class = WEIGHT_CLASS_BULKY - armor = list("melee" = 50, "bullet" = 40, "laser" = 50,"energy" = 50, "bomb" = 50, "bio" = 30, "rad" = 30, "fire" = 50, "acid" = 60) - var/current_charges = 3 - hoodtype = /obj/item/clothing/head/hooded/cult_hoodie/cult_shield - -/obj/item/clothing/head/hooded/cult_hoodie/cult_shield - name = "empowered cultist helmet" - desc = "Empowered helmet which creates a powerful shield around the user." - icon_state = "cult_hoodalt" - armor = list("melee" = 50, "bullet" = 40, "laser" = 50,"energy" = 50, "bomb" = 50, "bio" = 30, "rad" = 30, "fire" = 50, "acid" = 60) - -/obj/item/clothing/suit/hooded/cultrobes/cult_shield/equipped(mob/living/user, slot) - ..() - if(!iscultist(user)) - to_chat(user, "\"I wouldn't advise that.\"") - to_chat(user, "An overwhelming sense of nausea overpowers you!") - user.dropItemToGround(src, TRUE) - user.Dizzy(30) - user.Paralyze(100) - -/obj/item/clothing/suit/hooded/cultrobes/cult_shield/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - if(current_charges) - owner.visible_message("\The [attack_text] is deflected in a burst of blood-red sparks!") - current_charges-- - new /obj/effect/temp_visual/cult/sparks(get_turf(owner)) - if(!current_charges) - owner.visible_message("The runed shield around [owner] suddenly disappears!") - owner.update_inv_wear_suit() - return 1 - return 0 - -/obj/item/clothing/suit/hooded/cultrobes/cult_shield/worn_overlays(isinhands) - . = ..() - if(!isinhands && current_charges) - . += mutable_appearance('icons/effects/cult_effects.dmi', "shield-cult", MOB_LAYER + 0.01) - -/obj/item/clothing/suit/hooded/cultrobes/berserker - name = "flagellant's robes" - desc = "Blood-soaked robes infused with dark magic; allows the user to move at inhuman speeds, but at the cost of increased damage." - allowed = list(/obj/item/tome) - armor = list("melee" = -45, "bullet" = -45, "laser" = -45,"energy" = -55, "bomb" = -45, "bio" = -45, "rad" = -45, "fire" = 0, "acid" = 0) - slowdown = -0.6 - hoodtype = /obj/item/clothing/head/hooded/cult_hoodie/berserkerhood - -/obj/item/clothing/head/hooded/cult_hoodie/berserkerhood - name = "flagellant's hood" - desc = "Blood-soaked hood infused with dark magic." - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) - -/obj/item/clothing/suit/hooded/cultrobes/berserker/equipped(mob/living/user, slot) - ..() - if(!iscultist(user)) - to_chat(user, "\"I wouldn't advise that.\"") - to_chat(user, "An overwhelming sense of nausea overpowers you!") - user.dropItemToGround(src, TRUE) - user.Dizzy(30) - user.Paralyze(100) - -/obj/item/clothing/glasses/hud/health/night/cultblind - desc = "may Nar'Sie guide you through the darkness and shield you from the light." - name = "zealot's blindfold" - icon_state = "blindfold" - item_state = "blindfold" - flash_protect = FLASH_PROTECTION_FLASH - -/obj/item/clothing/glasses/hud/health/night/cultblind/equipped(mob/living/user, slot) - ..() - if(prob(30)) - to_chat(user, "\"You want to be blind, do you?\"") - user.dropItemToGround(src, TRUE) - user.Dizzy(30) - user.Paralyze(100) - user.blind_eyes(30) - else - return - -/obj/item/reagent_containers/glass/beaker/unholywater - name = "flask of unholy water" - desc = "Toxic to nonbelievers; reinvigorating to the faithful - this flask may be sipped or thrown." - icon = 'icons/obj/drinks/drinks.dmi' - icon_state = "holyflask" - color = "#333333" - list_reagents = list(/datum/reagent/fuel/unholywater = 50) - can_have_cap = FALSE - cap_icon_state = null - cap_on = FALSE - -/obj/item/cult_shift - name = "veil shifter" - desc = "This relic instantly teleports you, and anything you're pulling, forward by a moderate distance." - icon = 'icons/obj/cult.dmi' - icon_state ="shifter" - var/uses = 4 - -/obj/item/cult_shift/examine(mob/user) - . = ..() - if(uses) - . += "It has [uses] use\s remaining." - else - . += "It seems drained." - -/obj/item/cult_shift/proc/handle_teleport_grab(turf/T, mob/user) - var/mob/living/carbon/C = user - if(C.pulling) - var/atom/movable/pulled = C.pulling - do_teleport(pulled, T, channel = TELEPORT_CHANNEL_CULT) - . = pulled - -/obj/item/cult_shift/attack_self(mob/user) - if(!uses || !iscarbon(user)) - to_chat(user, "\The [src] is dull and unmoving in your hands.") - return - - var/mob/living/carbon/C = user - var/turf/mobloc = get_turf(C) - var/turf/destination = get_teleport_loc(mobloc,C,9,1,3,1,0,1) - - if(destination) - uses-- - if(uses <= 0) - icon_state ="shifter_drained" - playsound(mobloc, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - new /obj/effect/temp_visual/dir_setting/cult/phase/out(mobloc, C.dir) - - var/atom/movable/pulled = handle_teleport_grab(destination, C) - if(do_teleport(C, destination, channel = TELEPORT_CHANNEL_CULT)) - if(pulled) - C.start_pulling(pulled) //forcemove resets pulls, so we need to re-pull - new /obj/effect/temp_visual/dir_setting/cult/phase(destination, C.dir) - playsound(destination, 'sound/effects/phasein.ogg', 25, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - playsound(destination, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - - else - to_chat(C, "The veil cannot be torn here!") - -/obj/item/flashlight/flare/culttorch - name = "void torch" - desc = "Used by veteran cultists to instantly transport items to their needful brethren." - w_class = WEIGHT_CLASS_SMALL - light_range = 1 - icon_state = "torch" - item_state = "torch" - color = "#ff0000" - on_damage = 15 - slot_flags = null - on = TRUE - var/charges = 5 - -/obj/item/flashlight/flare/culttorch/afterattack(atom/movable/A, mob/user, proximity) - if(!proximity) - return - if(!iscultist(user)) - to_chat(user, "That doesn't seem to do anything useful.") - return - - if(istype(A, /obj/item)) - - var/list/cultists = list() - for(var/datum/mind/M in SSticker.mode.cult) - if(M.current && M.current.stat != DEAD) - cultists |= M.current - var/mob/living/cultist_to_receive = input(user, "Who do you wish to call to [src]?", "Followers of the Geometer") as null|anything in (cultists - user) - if(!Adjacent(user) || !src || QDELETED(src) || user.incapacitated()) - return - if(!cultist_to_receive) - to_chat(user, "You require a destination!") - log_game("Void torch failed - no target") - return - if(cultist_to_receive.stat == DEAD) - to_chat(user, "[cultist_to_receive] has died!") - log_game("Void torch failed - target died") - return - if(!iscultist(cultist_to_receive)) - to_chat(user, "[cultist_to_receive] is not a follower of the Geometer!") - log_game("Void torch failed - target was deconverted") - return - if(A in user.GetAllContents()) - to_chat(user, "[A] must be on a surface in order to teleport it!") - return - to_chat(user, "You ignite [A] with \the [src], turning it to ash, but through the torch's flames you see that [A] has reached [cultist_to_receive]!") - cultist_to_receive.put_in_hands(A) - charges-- - to_chat(user, "\The [src] now has [charges] charge\s.") - if(charges == 0) - qdel(src) - - else - ..() - to_chat(user, "\The [src] can only transport items!") - -/obj/item/blood_beam - name = "\improper magical aura" - desc = "Sinister looking aura that distorts the flow of reality around it." - lefthand_file = 'icons/mob/inhands/misc/touchspell_lefthand.dmi' - righthand_file = 'icons/mob/inhands/misc/touchspell_righthand.dmi' - icon_state = "disintegrate" - item_state = "disintegrate" - item_flags = ABSTRACT | DROPDEL - w_class = WEIGHT_CLASS_HUGE - throwforce = 0 - throw_range = 0 - throw_speed = 0 - var/charging = FALSE - var/firing = FALSE - var/angle - -/obj/item/blood_beam/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_NODROP, CULT_TRAIT) - - -/obj/item/blood_beam/afterattack(atom/A, mob/living/user, flag, params) - . = ..() - if(firing || charging) - return - var/C = user.client - if(ishuman(user) && C) - angle = mouse_angle_from_client(C) - else - qdel(src) - return - charging = TRUE - INVOKE_ASYNC(src, PROC_REF(charge), user) - if(do_after(user, 90, target = user)) - firing = TRUE - INVOKE_ASYNC(src, PROC_REF(pewpew), user, params) - var/obj/structure/emergency_shield/invoker/N = new(user.loc) - if(do_after(user, 90, target = user)) - user.Paralyze(40) - to_chat(user, "You have exhausted the power of this spell!") - firing = FALSE - if(N) - qdel(N) - qdel(src) - charging = FALSE - -/obj/item/blood_beam/proc/charge(mob/user) - var/obj/O - playsound(src, 'sound/magic/lightning_chargeup.ogg', 100, TRUE) - for(var/i in 1 to 12) - if(!charging) - break - if(i > 1) - sleep(15) - if(i < 4) - O = new /obj/effect/temp_visual/cult/rune_spawn/rune1/inner(user.loc, 30, "#ff0000") - else - O = new /obj/effect/temp_visual/cult/rune_spawn/rune5(user.loc, 30, "#ff0000") - new /obj/effect/temp_visual/dir_setting/cult/phase/out(user.loc, user.dir) - if(O) - qdel(O) - -/obj/item/blood_beam/proc/pewpew(mob/user, params) - var/turf/targets_from = get_turf(src) - var/spread = 40 - var/second = FALSE - var/set_angle = angle - for(var/i in 1 to 12) - if(second) - set_angle = angle - spread - spread -= 8 - else - sleep(15) - set_angle = angle + spread - second = !second //Handles beam firing in pairs - if(!firing) - break - playsound(src, 'sound/magic/exit_blood.ogg', 75, TRUE) - new /obj/effect/temp_visual/dir_setting/cult/phase(user.loc, user.dir) - var/turf/temp_target = get_turf_in_angle(set_angle, targets_from, 40) - for(var/turf/T in getline(targets_from,temp_target)) - if (locate(/obj/effect/blessing, T)) - temp_target = T - playsound(T, 'sound/machines/clockcult/ark_damage.ogg', 50, TRUE) - new /obj/effect/temp_visual/at_shield(T, T) - break - T.narsie_act(TRUE, TRUE) - for(var/mob/living/target in T.contents) - if(iscultist(target)) - new /obj/effect/temp_visual/cult/sparks(T) - if(ishuman(target)) - var/mob/living/carbon/human/H = target - if(H.stat != DEAD) - H.reagents.add_reagent(/datum/reagent/fuel/unholywater, 7) - if(isshade(target) || isconstruct(target)) - var/mob/living/simple_animal/M = target - if(M.health+15 < M.maxHealth) - M.adjustHealth(-15) - else - M.health = M.maxHealth - else - var/mob/living/L = target - if(L.density) - L.Paralyze(20) - L.adjustBruteLoss(45) - playsound(L, 'sound/hallucinations/wail.ogg', 50, TRUE) - L.emote("scream") - user.Beam(temp_target, icon_state="blood_beam", time = 7, beam_type = /obj/effect/ebeam/blood) - - -/obj/effect/ebeam/blood - name = "blood beam" - -/obj/item/shield/mirror - name = "mirror shield" - desc = "An infamous shield used by Nar'Sien sects to confuse and disorient their enemies. Its edges are weighted for use as a throwing weapon - capable of disabling multiple foes with preternatural accuracy." - icon_state = "mirror_shield" // eshield1 for expanded - lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi' - force = 5 - throwforce = 15 - throw_speed = 1 - throw_range = 4 - w_class = WEIGHT_CLASS_BULKY - attack_verb = list("bumped", "prodded") - hitsound = 'sound/weapons/smash.ogg' - var/illusions = 2 - -/obj/item/shield/mirror/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) - if(iscultist(owner)) - if(istype(hitby, /obj/projectile)) - var/obj/projectile/P = hitby - if(P.damage_type == BRUTE || P.damage_type == BURN) - if(P.damage >= 30) - var/turf/T = get_turf(owner) - T.visible_message("The sheer force from [P] shatters the mirror shield!") - new /obj/effect/temp_visual/cult/sparks(T) - playsound(T, 'sound/effects/glassbr3.ogg', 100) - owner.Paralyze(25) - qdel(src) - return FALSE - if(P.reflectable & REFLECT_NORMAL) - return FALSE //To avoid reflection chance double-dipping with block chance - . = ..() - if(.) - playsound(src, 'sound/weapons/parry.ogg', 100, TRUE) - if(illusions > 0) - illusions-- - addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/shield/mirror, readd)), 450) - if(prob(60)) - var/mob/living/simple_animal/hostile/illusion/M = new(owner.loc) - M.faction = list("cult") - M.Copy_Parent(owner, 70, 10, 5) - M.move_to_delay = owner.cached_multiplicative_slowdown - else - var/mob/living/simple_animal/hostile/illusion/escape/E = new(owner.loc) - E.Copy_Parent(owner, 70, 10) - E.GiveTarget(owner) - E.Goto(owner, owner.cached_multiplicative_slowdown, E.minimum_distance) - return TRUE - else - if(prob(50)) - var/mob/living/simple_animal/hostile/illusion/H = new(owner.loc) - H.Copy_Parent(owner, 100, 20, 5) - H.faction = list("cult") - H.GiveTarget(owner) - H.move_to_delay = owner.cached_multiplicative_slowdown - to_chat(owner, "[src] betrays you!") - return FALSE - -/obj/item/shield/mirror/proc/readd() - illusions++ - if(illusions == initial(illusions) && isliving(loc)) - var/mob/living/holder = loc - to_chat(holder, "The shield's illusions are back at full strength!") - -/obj/item/shield/mirror/IsReflect() - if(prob(block_chance)) - return TRUE - return FALSE - -/obj/item/shield/mirror/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) - var/turf/T = get_turf(hit_atom) - var/datum/thrownthing/D = throwingdatum - if(isliving(hit_atom)) - var/mob/living/L = hit_atom - if(iscultist(L)) - playsound(src, 'sound/weapons/throwtap.ogg', 50) - if(L.put_in_active_hand(src)) - L.visible_message("[L] catches [src] out of the air!") - else - L.visible_message("[src] bounces off of [L], as if repelled by an unseen force!") - else if(!..()) - if(!L.anti_magic_check()) - L.Paralyze(30) - if(D?.thrower) - for(var/mob/living/Next in orange(2, T)) - if(!Next.density || iscultist(Next)) - continue - throw_at(Next, 3, 1, D.thrower) - return - throw_at(D.thrower, 7, 1, null) - else - ..() diff --git a/code/modules/antagonists/cult/cult_structures.dm b/code/modules/antagonists/cult/cult_structures.dm deleted file mode 100644 index 6f8f2f6e7775..000000000000 --- a/code/modules/antagonists/cult/cult_structures.dm +++ /dev/null @@ -1,291 +0,0 @@ -/obj/structure/destructible/cult - density = TRUE - anchored = TRUE - icon = 'icons/obj/cult.dmi' - light_power = 2 - var/cooldowntime = 0 - break_sound = 'sound/hallucinations/veryfar_noise.ogg' - debris = list(/obj/item/stack/sheet/mineral/hidden/hellstone = 1) - -/obj/structure/destructible/cult/proc/conceal() //for spells that hide cult presence - density = FALSE - visible_message("[src] fades away.") - invisibility = INVISIBILITY_OBSERVER - alpha = 100 //To help ghosts distinguish hidden runes - light_range = 0 - light_power = 0 - update_light() - STOP_PROCESSING(SSfastprocess, src) - -/obj/structure/destructible/cult/proc/reveal() //for spells that reveal cult presence - density = initial(density) - invisibility = 0 - visible_message("[src] suddenly appears!") - alpha = initial(alpha) - light_range = initial(light_range) - light_power = initial(light_power) - update_light() - START_PROCESSING(SSfastprocess, src) - - -/obj/structure/destructible/cult/examine(mob/user) - . = ..() - . += "\The [src] is [anchored ? "":"not "]secured to the floor." - if((iscultist(user) || isobserver(user)) && cooldowntime > world.time) - . += "The magic in [src] is too weak, [p_they()] will be ready to use again in [DisplayTimeText(cooldowntime - world.time)]." - -/obj/structure/destructible/cult/examine_status(mob/user) - if(iscultist(user) || isobserver(user)) - var/t_It = p_they(TRUE) - var/t_is = p_are() - return "[t_It] [t_is] at [round(obj_integrity * 100 / max_integrity)]% stability." - return ..() - -/obj/structure/destructible/cult/attack_animal(mob/living/simple_animal/M) - if(istype(M, /mob/living/simple_animal/hostile/construct/artificer)) - if(obj_integrity < max_integrity) - M.changeNext_move(CLICK_CD_MELEE) - obj_integrity = min(max_integrity, obj_integrity + 5) - Beam(M, icon_state="sendbeam", time=4) - M.visible_message("[M] repairs \the [src].", \ - "You repair [src], leaving [p_they()] at [round(obj_integrity * 100 / max_integrity)]% stability.") - else - to_chat(M, "You cannot repair [src], as [p_theyre()] undamaged!") - else - ..() - -/obj/structure/destructible/cult/set_anchored(anchorvalue) - . = ..() - if(isnull(.)) - return - update_appearance() - -/obj/structure/destructible/cult/update_icon_state() - icon_state = "[initial(icon_state)][anchored ? null : "_off"]" - return ..() - -/obj/structure/destructible/cult/proc/check_menu(mob/user) - if(!istype(user)) - return FALSE - if(user.incapacitated() || !user.Adjacent(src)) - return FALSE - return TRUE - -/obj/structure/destructible/cult/talisman - name = "altar" - desc = "A bloodstained altar dedicated to Nar'Sie." - icon_state = "talismanaltar" - break_message = "The altar shatters, leaving only the wailing of the damned!" - -/obj/structure/destructible/cult/talisman/attack_hand(mob/living/user) - . = ..() - if(.) - return - if(!iscultist(user)) - to_chat(user, "You're pretty sure you know exactly what this is used for and you can't seem to touch it.") - return - if(!anchored) - to_chat(user, "You need to anchor [src] to the floor with your dagger first.") - return - if(cooldowntime > world.time) - to_chat(user, "The magic in [src] is weak, it will be ready to use again in [DisplayTimeText(cooldowntime - world.time)].") - return - var/list/items = list( - "Eldritch Whetstone" = image(icon = 'icons/obj/kitchen.dmi', icon_state = "cult_sharpener"), - "Construct Shell" = image(icon = 'icons/obj/wizard.dmi', icon_state = "construct_cult"), - "Flask of Unholy Water" = image(icon = 'icons/obj/drinks/drinks.dmi', icon_state = "holyflask") - ) - var/choice = show_radial_menu(user, src, items, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) - var/list/pickedtype = list() - switch(choice) - if("Eldritch Whetstone") - pickedtype += /obj/item/sharpener/cult - if("Construct Shell") - pickedtype += /obj/structure/constructshell - if("Flask of Unholy Water") - pickedtype += /obj/item/reagent_containers/glass/beaker/unholywater - else - return - if(src && !QDELETED(src) && anchored && pickedtype && Adjacent(user) && !user.incapacitated() && iscultist(user) && cooldowntime <= world.time) - cooldowntime = world.time + 2400 - for(var/N in pickedtype) - new N(get_turf(src)) - to_chat(user, "You kneel before the altar and your faith is rewarded with the [choice]!") - -/obj/structure/destructible/cult/forge - name = "daemon forge" - desc = "A forge used in crafting the unholy weapons used by the armies of Nar'Sie." - icon_state = "forge" - light_range = 2 - light_color = LIGHT_COLOR_LAVA - break_message = "The force breaks apart into shards with a howling scream!" - -/obj/structure/destructible/cult/forge/attack_hand(mob/living/user) - . = ..() - if(.) - return - if(!iscultist(user)) - to_chat(user, "The heat radiating from [src] pushes you back.") - return - if(!anchored) - to_chat(user, "You need to anchor [src] to the floor with your dagger first.") - return - if(cooldowntime > world.time) - to_chat(user, "The magic in [src] is weak, it will be ready to use again in [DisplayTimeText(cooldowntime - world.time)].") - return - var/list/items = list( - "Shielded Robe" = image(icon = 'icons/obj/clothing/suits.dmi', icon_state = "cult_armor"), - "Flagellant's Robe" = image(icon = 'icons/obj/clothing/suits.dmi', icon_state = "cultrobes"), - "Mirror Shield" = image(icon = 'icons/obj/shields.dmi', icon_state = "mirror_shield") - ) - var/choice = show_radial_menu(user, src, items, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) - var/list/pickedtype = list() - switch(choice) - if("Shielded Robe") - pickedtype += /obj/item/clothing/suit/hooded/cultrobes/cult_shield - if("Flagellant's Robe") - pickedtype += /obj/item/clothing/suit/hooded/cultrobes/berserker - if("Mirror Shield") - pickedtype += /obj/item/shield/mirror - else - return - if(src && !QDELETED(src) && anchored && pickedtype && Adjacent(user) && !user.incapacitated() && iscultist(user) && cooldowntime <= world.time) - cooldowntime = world.time + 2400 - for(var/N in pickedtype) - new N(get_turf(src)) - to_chat(user, "You work the forge as dark knowledge guides your hands, creating the [choice]!") - - - -/obj/structure/destructible/cult/pylon - name = "pylon" - desc = "A floating crystal that slowly heals those faithful to Nar'Sie." - icon_state = "pylon" - light_range = 1.5 - light_color = COLOR_SOFT_RED - break_sound = 'sound/effects/glassbr2.ogg' - break_message = "The blood-red crystal falls to the floor and shatters!" - var/heal_delay = 25 - var/last_heal = 0 - var/corrupt_delay = 50 - var/last_corrupt = 0 - -/obj/structure/destructible/cult/pylon/New() - START_PROCESSING(SSfastprocess, src) - ..() - -/obj/structure/destructible/cult/pylon/Destroy() - STOP_PROCESSING(SSfastprocess, src) - return ..() - -/obj/structure/destructible/cult/pylon/process() - if(!anchored) - return - if(last_heal <= world.time) - last_heal = world.time + heal_delay - for(var/mob/living/L in range(5, src)) - if(iscultist(L) || isshade(L) || isconstruct(L)) - if(L.health != L.maxHealth) - new /obj/effect/temp_visual/heal(get_turf(src), "#960000") - if(ishuman(L)) - L.adjustBruteLoss(-1, 0) - L.adjustFireLoss(-1, 0) - L.updatehealth() - if(isshade(L) || isconstruct(L)) - var/mob/living/simple_animal/M = L - if(M.health < M.maxHealth) - M.adjustHealth(-3) - if(ishuman(L) && L.blood_volume < BLOOD_VOLUME_NORMAL) - L.blood_volume += 1.0 - CHECK_TICK - if(last_corrupt <= world.time) - var/list/validturfs = list() - var/list/cultturfs = list() - for(var/T in circleviewturfs(src, 5)) - if(istype(T, /turf/open/floor/engine/cult)) - cultturfs |= T - continue - var/static/list/blacklisted_pylon_turfs = typecacheof(list( - /turf/closed, - /turf/open/floor/engine/cult, - /turf/open/space, - /turf/open/lava, - /turf/open/chasm)) - if(is_type_in_typecache(T, blacklisted_pylon_turfs)) - continue - else - validturfs |= T - - last_corrupt = world.time + corrupt_delay - - if(length(validturfs)) - var/turf/T = pick(validturfs) - if(istype(T, /turf/open/floor/plating)) - T.PlaceOnTop(/turf/open/floor/engine/cult, flags = CHANGETURF_INHERIT_AIR) - else - T.ChangeTurf(/turf/open/floor/engine/cult, flags = CHANGETURF_INHERIT_AIR) - else if (length(cultturfs)) - var/turf/open/floor/engine/cult/F = pick(cultturfs) - new /obj/effect/temp_visual/cult/turf/floor(F) - else - // Are we in space or something? No cult turfs or - // convertable turfs? - last_corrupt = world.time + corrupt_delay*2 - -/obj/structure/destructible/cult/tome - name = "archives" - desc = "A desk covered in arcane manuscripts and tomes in unknown languages. Looking at the text makes your skin crawl." - icon_state = "tomealtar" - light_range = 1.5 - light_color = LIGHT_COLOR_FIRE - break_message = "The books and tomes of the archives burn into ash as the desk shatters!" - -/obj/structure/destructible/cult/tome/attack_hand(mob/living/user) - . = ..() - if(.) - return - if(!iscultist(user)) - to_chat(user, "These books won't open and it hurts to even try and read the covers.") - return - if(!anchored) - to_chat(user, "You need to anchor [src] to the floor with your dagger first.") - return - if(cooldowntime > world.time) - to_chat(user, "The magic in [src] is weak, it will be ready to use again in [DisplayTimeText(cooldowntime - world.time)].") - return - var/list/items = list( - // [CELADON-EDIT] - CELADON_RETURN_CONTENT - // "Zealot's Blindfold" = image(icon = 'icons/obj/clothing/eyes/eyes.dmi', icon_state = "blindfold"), // CELADON-EDIT - ORIGINAL - "Zealot's Blindfold" = image(icon = 'mod_celadon/_storge_icons/icons/clothing/obj/eyes.dmi', icon_state = "blindfold"), - // [/CELADON-EDIT] - "Veil Walker Set" = image(icon = 'icons/obj/cult.dmi', icon_state = "shifter") - ) - var/choice = show_radial_menu(user, src, items, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) - var/list/pickedtype = list() - switch(choice) - if("Zealot's Blindfold") - pickedtype += /obj/item/clothing/glasses/hud/health/night/cultblind - if("Veil Walker Set") - pickedtype += /obj/item/cult_shift - pickedtype += /obj/item/flashlight/flare/culttorch - else - return - if(src && !QDELETED(src) && anchored && pickedtype.len && Adjacent(user) && !user.incapacitated() && iscultist(user) && cooldowntime <= world.time) - cooldowntime = world.time + 2400 - for(var/N in pickedtype) - new N(get_turf(src)) - to_chat(user, "You summon the [choice] from the archives!") - -/obj/effect/gateway - name = "gateway" - desc = "You're pretty sure that abyss is staring back." - icon = 'icons/obj/cult.dmi' - icon_state = "hole" - density = TRUE - anchored = TRUE - -/obj/effect/gateway/singularity_act() - return - -/obj/effect/gateway/singularity_pull() - return diff --git a/code/modules/antagonists/cult/cult_turf_overlay.dm b/code/modules/antagonists/cult/cult_turf_overlay.dm deleted file mode 100644 index 2e950326bf8a..000000000000 --- a/code/modules/antagonists/cult/cult_turf_overlay.dm +++ /dev/null @@ -1,32 +0,0 @@ -//an "overlay" used by clockwork walls and floors to appear normal to mesons. -/obj/effect/cult_turf/overlay - mouse_opacity = MOUSE_OPACITY_TRANSPARENT - var/atom/linked - -/obj/effect/cult_turf/overlay/examine(mob/user) - if(linked) - linked.examine(user) - -/obj/effect/cult_turf/overlay/ex_act() - return FALSE - -/obj/effect/cult_turf/overlay/singularity_act() - return -/obj/effect/cult_turf/overlay/singularity_pull() - return - -/obj/effect/cult_turf/overlay/singularity_pull(S, current_size) - return - -/obj/effect/cult_turf/overlay/Destroy() - if(linked) - linked = null - . = ..() - -/obj/effect/cult_turf/overlay/floor - icon = 'icons/turf/floors.dmi' - icon_state = "clockwork_floor" - layer = TURF_LAYER - -/obj/effect/cult_turf/overlay/floor/bloodcult - icon_state = "cult" diff --git a/code/modules/antagonists/cult/rune_spawn_action.dm b/code/modules/antagonists/cult/rune_spawn_action.dm deleted file mode 100644 index 2829141405dd..000000000000 --- a/code/modules/antagonists/cult/rune_spawn_action.dm +++ /dev/null @@ -1,115 +0,0 @@ -//after a delay, creates a rune below you. for constructs creating runes. -/datum/action/innate/cult/create_rune - name = "Summon Rune" - desc = "Summons a rune" - background_icon_state = "bg_demon" - var/obj/effect/rune/rune_type - var/cooldown = 0 - var/base_cooldown = 1800 - var/scribe_time = 60 - var/damage_interrupt = TRUE - var/action_interrupt = TRUE - var/obj/effect/temp_visual/cult/rune_spawn/rune_word_type - var/obj/effect/temp_visual/cult/rune_spawn/rune_innerring_type - var/obj/effect/temp_visual/cult/rune_spawn/rune_center_type - var/rune_color - -/datum/action/innate/cult/create_rune/IsAvailable() - if(!rune_type || cooldown > world.time) - return FALSE - return ..() - -/datum/action/innate/cult/create_rune/proc/turf_check(turf/T) - if(!T) - return FALSE - if(isspaceturf(T)) - to_chat(owner, "You cannot scribe runes in space!") - return FALSE - if(locate(/obj/effect/rune) in T) - to_chat(owner, "There is already a rune here.") - return FALSE - return TRUE - - -/datum/action/innate/cult/create_rune/Activate() - var/turf/T = get_turf(owner) - if(turf_check(T)) - var/chosen_keyword - if(initial(rune_type.req_keyword)) - chosen_keyword = stripped_input(owner, "Enter a keyword for the new rune.", "Words of Power") - if(!chosen_keyword) - return - //the outer ring is always the same across all runes - var/obj/effect/temp_visual/cult/rune_spawn/R1 = new(T, scribe_time, rune_color) - //the rest are not always the same, so we need types for em - var/obj/effect/temp_visual/cult/rune_spawn/R2 - if(rune_word_type) - R2 = new rune_word_type(T, scribe_time, rune_color) - var/obj/effect/temp_visual/cult/rune_spawn/R3 - if(rune_innerring_type) - R3 = new rune_innerring_type(T, scribe_time, rune_color) - var/obj/effect/temp_visual/cult/rune_spawn/R4 - if(rune_center_type) - R4 = new rune_center_type(T, scribe_time, rune_color) - - cooldown = base_cooldown + world.time - owner.update_action_buttons_icon() - addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob, update_action_buttons_icon)), base_cooldown) - var/list/health - if(damage_interrupt && isliving(owner)) - var/mob/living/L = owner - health = list("health" = L.health) - var/scribe_mod = scribe_time - if(istype(T, /turf/open/floor/engine/cult)) - scribe_mod *= 0.5 - playsound(T, 'sound/magic/enter_blood.ogg', 100, FALSE) - if(do_after(owner, scribe_mod, target = owner, extra_checks = CALLBACK(owner, TYPE_PROC_REF(/mob, break_do_after_checks), health, action_interrupt))) - var/obj/effect/rune/new_rune = new rune_type(owner.loc) - new_rune.keyword = chosen_keyword - else - qdel(R1) - if(R2) - qdel(R2) - if(R3) - qdel(R3) - if(R4) - qdel(R4) - cooldown = 0 - owner.update_action_buttons_icon() - -//teleport rune -/datum/action/innate/cult/create_rune/tele - name = "Summon Teleport Rune" - desc = "Summons a teleport rune to your location, as though it has been there all along..." - button_icon_state = "telerune" - rune_type = /obj/effect/rune/teleport - rune_word_type = /obj/effect/temp_visual/cult/rune_spawn/rune2 - rune_innerring_type = /obj/effect/temp_visual/cult/rune_spawn/rune2/inner - rune_center_type = /obj/effect/temp_visual/cult/rune_spawn/rune2/center - rune_color = RUNE_COLOR_TELEPORT - -/datum/action/innate/cult/create_rune/wall - name = "Summon Barrier Rune" - desc = "Summons an active barrier rune to your location, as though it has been there all along..." - button_icon_state = "barrier" - rune_type = /obj/effect/rune/wall - rune_word_type = /obj/effect/temp_visual/cult/rune_spawn/rune4 - rune_innerring_type = /obj/effect/temp_visual/cult/rune_spawn/rune4/inner - rune_center_type = /obj/effect/temp_visual/cult/rune_spawn/rune4/center - rune_color = RUNE_COLOR_DARKRED - -/datum/action/innate/cult/create_rune/wall/Activate() - . = ..() - var/obj/effect/rune/wall/W = locate(/obj/effect/rune/wall) in owner.loc - if(W) - W.spread_density() - -/datum/action/innate/cult/create_rune/revive - name = "Summon Revive Rune" - desc = "Summons a revive rune to your location, as though it has been there all along..." - button_icon_state = "revive" - rune_type = /obj/effect/rune/raise_dead - rune_word_type = /obj/effect/temp_visual/cult/rune_spawn/rune1 - rune_innerring_type = /obj/effect/temp_visual/cult/rune_spawn/rune1/inner - rune_center_type = /obj/effect/temp_visual/cult/rune_spawn/rune1/center - rune_color = RUNE_COLOR_MEDIUMRED diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm deleted file mode 100644 index 3382672071cc..000000000000 --- a/code/modules/antagonists/cult/runes.dm +++ /dev/null @@ -1,1029 +0,0 @@ -GLOBAL_LIST_EMPTY(sacrificed) //a mixed list of minds and mobs -GLOBAL_LIST(rune_types) //Every rune that can be drawn by ritual daggers -GLOBAL_LIST_EMPTY(teleport_runes) -GLOBAL_LIST_EMPTY(wall_runes) -/* - -This file contains runes. -Runes are used by the cult to cause many different effects and are paramount to their success. -They are drawn with a ritual dagger in blood, and are distinguishable to cultists and normal crew by examining. -Fake runes can be drawn in crayon to fool people. -Runes can either be invoked by one's self or with many different cultists. Each rune has a specific incantation that the cultists will say when invoking it. - - -*/ - -/obj/effect/rune - name = "rune" - var/cultist_name = "basic rune" - desc = "An odd collection of symbols drawn in what seems to be blood." - var/cultist_desc = "a basic rune with no function." //This is shown to cultists who examine the rune in order to determine its true purpose. - anchored = TRUE - icon = 'icons/obj/rune.dmi' - icon_state = "1" - resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF - layer = SIGIL_LAYER - color = RUNE_COLOR_RED - - var/invocation = "Aiy ele-mayo!" //This is said by cultists when the rune is invoked. - var/req_cultists = 1 //The amount of cultists required around the rune to invoke it. If only 1, any cultist can invoke it. - var/req_cultists_text //if we have a description override for required cultists to invoke - var/rune_in_use = FALSE // Used for some runes, this is for when you want a rune to not be usable when in use. - - var/scribe_delay = 40 //how long the rune takes to create - var/scribe_damage = 0.1 //how much damage you take doing it - var/invoke_damage = 0 //how much damage invokers take when invoking it - var/construct_invoke = TRUE //if constructs can invoke it - - var/req_keyword = 0 //If the rune requires a keyword - go figure amirite - var/keyword //The actual keyword for the rune - -/obj/effect/rune/Initialize(mapload, set_keyword) - . = ..() - if(set_keyword) - keyword = set_keyword - var/image/I = image(icon = 'icons/effects/blood.dmi', icon_state = null, loc = src) - I.override = TRUE - add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/silicons, "cult_runes", I) - -/obj/effect/rune/examine(mob/user) - . = ..() - if(iscultist(user) || user.stat == DEAD) //If they're a cultist or a ghost, tell them the effects - . += "Name: [cultist_name]\n"+\ - "Effects: [capitalize(cultist_desc)]\n"+\ - "Required Acolytes: [req_cultists_text ? "[req_cultists_text]":"[req_cultists]"]" - if(req_keyword && keyword) - . += "Keyword: [keyword]" - -/obj/effect/rune/attack_hand(mob/living/user) - . = ..() - if(.) - return - if(!iscultist(user)) - to_chat(user, "You aren't able to understand the words of [src].") - return - var/list/invokers = can_invoke(user) - if(invokers.len >= req_cultists) - invoke(invokers) - else - to_chat(user, "You need [req_cultists - invokers.len] more adjacent cultists to use this rune in such a manner.") - fail_invoke() - -/obj/effect/rune/attack_animal(mob/living/simple_animal/M) - if(istype(M, /mob/living/simple_animal/shade) || istype(M, /mob/living/simple_animal/hostile/construct)) - if(istype(M, /mob/living/simple_animal/hostile/construct/wraith/angelic) || istype(M, /mob/living/simple_animal/hostile/construct/juggernaut/angelic) || istype(M, /mob/living/simple_animal/hostile/construct/artificer/angelic)) - to_chat(M, "You purge the rune!") - qdel(src) - else if(construct_invoke || !iscultist(M)) //if you're not a cult construct we want the normal fail message - attack_hand(M) - else - to_chat(M, "You are unable to invoke the rune!") - -/obj/effect/rune/proc/conceal() //for talisman of revealing/hiding - visible_message("[src] fades away.") - invisibility = INVISIBILITY_OBSERVER - alpha = 100 //To help ghosts distinguish hidden runes - -/obj/effect/rune/proc/reveal() //for talisman of revealing/hiding - invisibility = 0 - visible_message("[src] suddenly appears!") - alpha = initial(alpha) - -/* - -There are a few different procs each rune runs through when a cultist activates it. -can_invoke() is called when a cultist activates the rune with an empty hand. If there are multiple cultists, this rune determines if the required amount is nearby. -invoke() is the rune's actual effects. -fail_invoke() is called when the rune fails, via not enough people around or otherwise. Typically this just has a generic 'fizzle' effect. -structure_check() searches for nearby cultist structures required for the invocation. Proper structures are pylons, forges, archives, and altars. - -*/ - -/obj/effect/rune/proc/can_invoke(mob/living/user=null) - //This proc determines if the rune can be invoked at the time. If there are multiple required cultists, it will find all nearby cultists. - var/list/invokers = list() //people eligible to invoke the rune - if(user) - invokers += user - if(req_cultists > 1 || istype(src, /obj/effect/rune/convert)) - var/list/things_in_range = range(1, src) - for(var/mob/living/L in things_in_range) - if(iscultist(L)) - if(L == user) - continue - if(ishuman(L)) - var/mob/living/carbon/human/H = L - if((HAS_TRAIT(H, TRAIT_MUTE)) || H.silent) - continue - if(L.stat) - continue - invokers += L - return invokers - -/obj/effect/rune/proc/invoke(list/invokers) - //This proc contains the effects of the rune as well as things that happen afterwards. If you want it to spawn an object and then delete itself, have both here. - for(var/M in invokers) - if(isliving(M)) - var/mob/living/L = M - if(invocation) - L.say(invocation, language = /datum/language/common, ignore_spam = TRUE, forced = "cult invocation") - if(invoke_damage) - L.apply_damage(invoke_damage, BRUTE) - to_chat(L, "[src] saps your strength!") - else if(istype(M, /obj/item/toy/plush/narplush)) - var/obj/item/toy/plush/narplush/P = M - P.visible_message("[P] squeaks loudly!") - do_invoke_glow() - -/obj/effect/rune/proc/do_invoke_glow() - set waitfor = FALSE - animate(src, transform = matrix()*2, alpha = 0, time = 5, flags = ANIMATION_END_NOW) //fade out - sleep(5) - animate(src, transform = matrix(), alpha = 255, time = 0, flags = ANIMATION_END_NOW) - -/obj/effect/rune/proc/fail_invoke() - //This proc contains the effects of a rune if it is not invoked correctly, through either invalid wording or not enough cultists. By default, it's just a basic fizzle. - visible_message("The markings pulse with a small flash of red light, then fall dark.") - var/oldcolor = color - color = rgb(255, 0, 0) - animate(src, color = oldcolor, time = 5) - addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 5) - -//Malformed Rune: This forms if a rune is not drawn correctly. Invoking it does nothing but hurt the user. -/obj/effect/rune/malformed - cultist_name = "malformed rune" - cultist_desc = "a senseless rune written in gibberish. No good can come from invoking this." - invocation = "Ra'sha yoka!" - invoke_damage = 30 - -/obj/effect/rune/malformed/Initialize(mapload, set_keyword) - . = ..() - icon_state = "[rand(1,7)]" - color = rgb(rand(0,255), rand(0,255), rand(0,255)) - -/obj/effect/rune/malformed/invoke(list/invokers) - ..() - qdel(src) - -//Rite of Offering: Converts or sacrifices a target. -/obj/effect/rune/convert - cultist_name = "Offer" - cultist_desc = "offers a noncultist above it to Nar'Sie, either converting them or sacrificing them." - req_cultists_text = "2 for conversion, 3 for living sacrifices and sacrifice targets." - invocation = "Mah'weyh pleggh at e'ntrath!" - icon_state = "3" - color = RUNE_COLOR_OFFER - req_cultists = 1 - rune_in_use = FALSE - -/obj/effect/rune/convert/do_invoke_glow() - return - -/obj/effect/rune/convert/invoke(list/invokers) - if(rune_in_use) - return - var/list/myriad_targets = list() - var/turf/T = get_turf(src) - for(var/mob/living/M in T) - if(!iscultist(M)) - myriad_targets |= M - if(!myriad_targets.len) - fail_invoke() - log_game("Offer rune failed - no eligible targets") - return - rune_in_use = TRUE - visible_message("[src] pulses blood red!") - var/oldcolor = color - color = RUNE_COLOR_DARKRED - var/mob/living/L = pick(myriad_targets) - - var/mob/living/F = invokers[1] - var/datum/antagonist/cult/C = F.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - var/datum/team/cult/Cult_team = C.cult_team - var/is_convertable = is_convertable_to_cult(L,C.cult_team) - if(L.stat != DEAD && is_convertable) - invocation = "Mah'weyh pleggh at e'ntrath!" - ..() - if(is_convertable) - do_convert(L, invokers) - else - invocation = "Barhah hra zar'garis!" - ..() - do_sacrifice(L, invokers) - animate(src, color = oldcolor, time = 5) - addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_atom_colour)), 5) - Cult_team.check_size() // Triggers the eye glow or aura effects if the cult has grown large enough relative to the crew - rune_in_use = FALSE - -/obj/effect/rune/convert/proc/do_convert(mob/living/convertee, list/invokers) - if(invokers.len < 2) - for(var/M in invokers) - to_chat(M, "You need at least two invokers to convert [convertee]!") - log_game("Offer rune failed - tried conversion with one invoker") - return 0 - if(convertee.anti_magic_check(TRUE, TRUE, FALSE, 0)) //Not chargecost because it can be spammed - for(var/M in invokers) - to_chat(M, "Something is shielding [convertee]'s mind!") - log_game("Offer rune failed - convertee had anti-magic") - return 0 - var/brutedamage = convertee.getBruteLoss() - var/burndamage = convertee.getFireLoss() - if(brutedamage || burndamage) - convertee.adjustBruteLoss(-(brutedamage * 0.75)) - convertee.adjustFireLoss(-(burndamage * 0.75)) - convertee.visible_message( - "[convertee] writhes in pain [brutedamage || burndamage ? "even as [convertee.p_their()] wounds heal and close" : "as the markings below [convertee.p_them()] glow a bloody red"]!", // Hello there buddy! Come here often? I hope you were wondering wtf this string was - "AAAAAAAAAAAAAA-") - SSticker.mode.add_cultist(convertee.mind, 1) - convertee.mind.special_role = ROLE_CULTIST - to_chat(convertee, "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible, truth. The veil of reality has been ripped away \ - and something evil takes root.") - to_chat(convertee, "Assist your new compatriots in their dark dealings. Your goal is theirs, and theirs is yours. You serve the Geometer above all else. Bring it back.\ - ") - if(ishuman(convertee)) - var/mob/living/carbon/human/H = convertee - H.uncuff() - H.stuttering = 0 - H.cultslurring = 0 - if(prob(1) || SSevents.holidays && SSevents.holidays[APRIL_FOOLS]) - H.say("You son of a bitch! I'm in.", forced = "That son of a bitch! They're in.") - return 1 - -/obj/effect/rune/convert/proc/do_sacrifice(mob/living/sacrificial, list/invokers) - var/mob/living/first_invoker = invokers[1] - if(!first_invoker) - return FALSE - var/datum/antagonist/cult/C = first_invoker.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - if(!C) - return - - - var/big_sac = FALSE - if((((ishuman(sacrificial) || iscyborg(sacrificial)) && sacrificial.stat != DEAD) || C.cult_team.is_sacrifice_target(sacrificial.mind)) && invokers.len < 3) - for(var/M in invokers) - to_chat(M, "[sacrificial] is too greatly linked to the world! You need three acolytes!") - log_game("Offer rune failed - not enough acolytes and target is living or sac target") - return FALSE - if(sacrificial.mind) - GLOB.sacrificed += sacrificial.mind - for(var/datum/objective/sacrifice/sac_objective in C.cult_team.objectives) - if(sac_objective.target == sacrificial.mind) - sac_objective.sacced = TRUE - sac_objective.update_explanation_text() - big_sac = TRUE - else - GLOB.sacrificed += sacrificial - - new /obj/effect/temp_visual/cult/sac(get_turf(src)) - for(var/M in invokers) - if(big_sac) - to_chat(M, "\"Yes! This is the one I desire! You have done well.\"") - else - if(ishuman(sacrificial) || iscyborg(sacrificial)) - to_chat(M, "\"I accept this sacrifice.\"") - else - to_chat(M, "\"I accept this meager sacrifice.\"") - - var/obj/item/soulstone/stone = new /obj/item/soulstone(get_turf(src)) - if(sacrificial.mind) - stone.invisibility = INVISIBILITY_MAXIMUM //so it's not picked up during transfer_soul() - stone.transfer_soul("FORCE", sacrificial, usr) - stone.invisibility = 0 - - if(sacrificial) - if(iscyborg(sacrificial)) - playsound(sacrificial, 'sound/magic/disable_tech.ogg', 100, TRUE) - sacrificial.dust() //To prevent the MMI from remaining - else - playsound(sacrificial, 'sound/magic/disintegrate.ogg', 100, TRUE) - sacrificial.gib() - return TRUE - - - -/obj/effect/rune/empower - cultist_name = "Empower" - cultist_desc = "allows cultists to prepare greater amounts of blood magic at far less of a cost." - invocation = "H'drak v'loso, mir'kanas verbot!" - icon_state = "3" - color = RUNE_COLOR_TALISMAN - construct_invoke = FALSE - -/obj/effect/rune/empower/invoke(list/invokers) - . = ..() - var/mob/living/user = invokers[1] //the first invoker is always the user - for(var/datum/action/innate/cult/blood_magic/BM in user.actions) - BM.Activate() - -/obj/effect/rune/teleport - cultist_name = "Teleport" - cultist_desc = "warps everything above it to another chosen teleport rune." - invocation = "Sas'so c'arta forbici!" - icon_state = "2" - color = RUNE_COLOR_TELEPORT - req_keyword = TRUE - light_power = 4 - var/obj/effect/temp_visual/cult/portal/inner_portal //The portal "hint" for off-station teleportations - var/obj/effect/temp_visual/cult/rune_spawn/rune2/outer_portal - var/listkey - - -/obj/effect/rune/teleport/Initialize(mapload, set_keyword) - . = ..() - var/area/A = get_area(src) - var/locname = initial(A.name) - listkey = set_keyword ? "[set_keyword] [locname]":"[locname]" - GLOB.teleport_runes += src - -/obj/effect/rune/teleport/Destroy() - GLOB.teleport_runes -= src - return ..() - -/obj/effect/rune/teleport/invoke(list/invokers) - var/mob/living/user = invokers[1] //the first invoker is always the user - var/list/potential_runes = list() - var/list/teleportnames = list() - for(var/R in GLOB.teleport_runes) - var/obj/effect/rune/teleport/T = R - if(T != src && !is_away_level(T)) - potential_runes[avoid_assoc_duplicate_keys(T.listkey, teleportnames)] = T - - if(!potential_runes.len) - to_chat(user, "There are no valid runes to teleport to!") - log_game("Teleport rune failed - no other teleport runes") - fail_invoke() - return - - var/turf/T = get_turf(src) - if(is_away_level(T)) - to_chat(user, "You are not in the right dimension!") - log_game("Teleport rune failed - user in away mission") - fail_invoke() - return - - var/input_rune_key = input(user, "Choose a rune to teleport to.", "Rune to Teleport to") as null|anything in potential_runes //we know what key they picked - var/obj/effect/rune/teleport/actual_selected_rune = potential_runes[input_rune_key] //what rune does that key correspond to? - if(!Adjacent(user) || !src || QDELETED(src) || user.incapacitated() || !actual_selected_rune) - fail_invoke() - return - - var/turf/target = get_turf(actual_selected_rune) - if(target.is_blocked_turf(TRUE)) - to_chat(user, "The target rune is blocked. Attempting to teleport to it would be massively unwise.") - fail_invoke() - return - var/movedsomething = FALSE - var/moveuserlater = FALSE - var/movesuccess = FALSE - for(var/atom/movable/A in T) - if(istype(A, /obj/effect/dummy/phased_mob)) - continue - if(ismob(A)) - if(!isliving(A)) //Let's not teleport ghosts and AI eyes. - continue - if(ishuman(A)) - new /obj/effect/temp_visual/dir_setting/cult/phase/out(T, A.dir) - new /obj/effect/temp_visual/dir_setting/cult/phase(target, A.dir) - if(A == user) - moveuserlater = TRUE - movedsomething = TRUE - continue - if(!A.anchored) - movedsomething = TRUE - if(do_teleport(A, target, channel = TELEPORT_CHANNEL_CULT)) - movesuccess = TRUE - if(movedsomething) - ..() - if(moveuserlater) - if(do_teleport(user, target, channel = TELEPORT_CHANNEL_CULT)) - movesuccess = TRUE - if(movesuccess) - visible_message("There is a sharp crack of inrushing air, and everything above the rune disappears!", null, "You hear a sharp crack.") - to_chat(user, "You[moveuserlater ? "r vision blurs, and you suddenly appear somewhere else":" send everything above the rune away"].") - else - to_chat(user, "You[moveuserlater ? "r vision blurs briefly, but nothing happens":" try send everything above the rune away, but the teleportation fails"].") - var/area/A = get_area(T) - if(initial(A.name) == "Space") - actual_selected_rune.handle_portal("space", T) - if(movesuccess) - target.visible_message("There is a boom of outrushing air as something appears above the rune!", null, "You hear a boom.") - else - fail_invoke() - -/obj/effect/rune/teleport/proc/handle_portal(portal_type, turf/origin) - var/turf/T = get_turf(src) - close_portal() // To avoid stacking descriptions/animations - playsound(T, pick('sound/effects/sparks1.ogg', 'sound/effects/sparks2.ogg', 'sound/effects/sparks3.ogg', 'sound/effects/sparks4.ogg'), 100, TRUE, 14) - inner_portal = new /obj/effect/temp_visual/cult/portal(T) - if(portal_type == "space") - set_light_color(color) - desc += "
    A tear in reality reveals a black void interspersed with dots of light... something recently teleported here from space.
    The void feels like it's trying to pull you to the [dir2text(get_dir(T, origin))]!
    " - else - inner_portal.icon_state = "lava" - set_light_color(LIGHT_COLOR_FIRE) - desc += "
    A tear in reality reveals a coursing river of lava... something recently teleported here from the Lavaland Mines!" - outer_portal = new(T, 600, color) - light_range = 4 - update_light() - addtimer(CALLBACK(src, PROC_REF(close_portal)), 600, TIMER_UNIQUE) - -/obj/effect/rune/teleport/proc/close_portal() - qdel(inner_portal) - qdel(outer_portal) - desc = initial(desc) - light_range = 0 - update_light() - -//Ritual of Dimensional Rending: Calls forth the avatar of Nar'Sie upon the station. -/obj/effect/rune/narsie - cultist_name = "Nar'Sie" - cultist_desc = "tears apart dimensional barriers, calling forth the Geometer. Requires 9 invokers." - invocation = "TOK-LYR RQA-NAP G'OLT-ULOFT!!" - req_cultists = 9 - icon = 'icons/effects/96x96.dmi' - color = RUNE_COLOR_DARKRED - icon_state = "rune_large" - pixel_x = -32 //So the big ol' 96x96 sprite shows up right - pixel_y = -32 - scribe_delay = 500 //how long the rune takes to create - scribe_damage = 40.1 //how much damage you take doing it - var/used = FALSE - -/obj/effect/rune/narsie/Initialize(mapload, set_keyword) - . = ..() - SSpoints_of_interest.make_point_of_interest(src) - -/obj/effect/rune/narsie/Destroy() - SSpoints_of_interest.remove_point_of_interest(src) - . = ..() - -/obj/effect/rune/narsie/conceal() //can't hide this, and you wouldn't want to - return - -/obj/effect/rune/narsie/invoke(list/invokers) - if(used) - return - var/mob/living/user = invokers[1] - var/datum/antagonist/cult/user_antag = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - var/datum/objective/eldergod/summon_objective = locate() in user_antag.cult_team.objectives - var/area/place = get_area(src) - if(!(place in summon_objective.summon_spots)) - to_chat(user, "The Geometer can only be summoned where the veil is weak - in [english_list(summon_objective.summon_spots)]!") - return - if(locate(/obj/singularity/narsie) in SSpoints_of_interest.other_points_of_interest) - for(var/M in invokers) - to_chat(M, "Nar'Sie is already on this plane!") - log_game("Nar'Sie rune failed - already summoned") - return - //BEGIN THE SUMMONING - used = TRUE - ..() - sound_to_playing_players('sound/effects/dimensional_rend.ogg') - var/turf/T = get_turf(src) - sleep(40) - if(src) - color = RUNE_COLOR_RED - new /obj/singularity/narsie/large/cult(T) //Causes Nar'Sie to spawn even if the rune has been removed - -//Rite of Resurrection: Requires a dead or inactive cultist. When reviving the dead, you can only perform one revival for every three sacrifices your cult has carried out. -/obj/effect/rune/raise_dead - cultist_name = "Revive" - cultist_desc = "requires a dead, mindless, or inactive cultist placed upon the rune. For each three bodies sacrificed to the dark patron, one body will be mended and their mind awoken" - invocation = "Pasnar val'keriam usinar. Savrae ines amutan. Yam'toth remium il'tarat!" //Depends on the name of the user - see below - icon_state = "1" - color = RUNE_COLOR_MEDIUMRED - var/static/sacrifices_used = -SOULS_TO_REVIVE // Cultists get one "free" revive - -/obj/effect/rune/raise_dead/examine(mob/user) - . = ..() - if(iscultist(user) || user.stat == DEAD) - . += "Sacrifices unrewarded: [LAZYLEN(GLOB.sacrificed) - sacrifices_used]" - -/obj/effect/rune/raise_dead/invoke(list/invokers) - var/turf/T = get_turf(src) - var/mob/living/mob_to_revive - var/list/potential_revive_mobs = list() - var/mob/living/user = invokers[1] - if(rune_in_use) - return - rune_in_use = TRUE - for(var/mob/living/M in T.contents) - if(iscultist(M) && (M.stat == DEAD || !M.client || M.client.is_afk())) - potential_revive_mobs |= M - if(!potential_revive_mobs.len) - to_chat(user, "There are no dead cultists on the rune!") - log_game("Raise Dead rune failed - no cultists to revive") - fail_invoke() - return - if(potential_revive_mobs.len > 1) - mob_to_revive = input(user, "Choose a cultist to revive.", "Cultist to Revive") as null|anything in potential_revive_mobs - else - mob_to_revive = potential_revive_mobs[1] - if(QDELETED(src) || !validness_checks(mob_to_revive, user)) - fail_invoke() - return - if(user.name == "Herbert West") - invocation = "To life, to life, I bring them!" - else - invocation = initial(invocation) - ..() - if(mob_to_revive.stat == DEAD) - var/diff = LAZYLEN(GLOB.sacrificed) - SOULS_TO_REVIVE - sacrifices_used - if(diff < 0) - to_chat(user, "Your cult must carry out [abs(diff)] more sacrifice\s before it can revive another cultist!") - fail_invoke() - return - sacrifices_used += SOULS_TO_REVIVE - mob_to_revive.revive(full_heal = TRUE, admin_revive = TRUE) //This does remove traits and such, but the rune might actually see some use because of it! - mob_to_revive.grab_ghost() - if(!mob_to_revive.client || mob_to_revive.client.is_afk()) - set waitfor = FALSE - var/list/mob/dead/observer/candidates = pollCandidatesForMob("Do you want to play as a [mob_to_revive.name], an inactive blood cultist?", ROLE_CULTIST, null, ROLE_CULTIST, 50, mob_to_revive) - if(LAZYLEN(candidates)) - var/mob/dead/observer/C = pick(candidates) - to_chat(mob_to_revive.mind, "Your physical form has been taken over by another soul due to your inactivity! Ahelp if you wish to regain your form.") - message_admins("[key_name_admin(C)] has taken control of ([key_name_admin(mob_to_revive)]) to replace an AFK player.") - mob_to_revive.ghostize(0) - mob_to_revive.key = C.key - else - fail_invoke() - return - SEND_SOUND(mob_to_revive, 'sound/ambience/antag/bloodcult.ogg') - to_chat(mob_to_revive, "\"PASNAR SAVRAE YAM'TOTH. Arise.\"") - mob_to_revive.visible_message( - "[mob_to_revive] draws in a huge breath, red light shining from [mob_to_revive.p_their()] eyes.", \ - "You awaken suddenly from the void. You're alive!") - rune_in_use = FALSE - -/obj/effect/rune/raise_dead/proc/validness_checks(mob/living/target_mob, mob/living/user) - var/turf/T = get_turf(src) - if(QDELETED(user)) - return FALSE - if(!Adjacent(user) || user.incapacitated()) - return FALSE - if(QDELETED(target_mob)) - return FALSE - if(!(target_mob in T.contents)) - to_chat(user, "The cultist to revive has been moved!") - log_game("Raise Dead rune failed - revival target moved") - return FALSE - return TRUE - -/obj/effect/rune/raise_dead/fail_invoke() - ..() - rune_in_use = FALSE - for(var/mob/living/M in range(1,src)) - if(iscultist(M) && M.stat == DEAD) - M.visible_message("[M] twitches.") - -//Rite of the Corporeal Shield: When invoked, becomes solid and cannot be passed. Invoke again to undo. -/obj/effect/rune/wall - cultist_name = "Barrier" - cultist_desc = "when invoked, makes a temporary invisible wall to block passage. Can be invoked again to reverse this." - invocation = "Khari'd! Eske'te tannin!" - icon_state = "4" - color = RUNE_COLOR_DARKRED - CanAtmosPass = ATMOS_PASS_DENSITY - var/datum/timedevent/density_timer - var/recharging = FALSE - -/obj/effect/rune/wall/Initialize(mapload, set_keyword) - . = ..() - GLOB.wall_runes += src - -/obj/effect/rune/wall/examine(mob/user) - . = ..() - if(density && iscultist(user)) - if(density_timer) - . += "The air above this rune has hardened into a barrier that will last [DisplayTimeText(density_timer.timeToRun - world.time)]." - -/obj/effect/rune/wall/Destroy() - GLOB.wall_runes -= src - return ..() - -/obj/effect/rune/wall/BlockThermalConductivity() - return density - -/obj/effect/rune/wall/invoke(list/invokers) - if(recharging) - return - var/mob/living/user = invokers[1] - ..() - density = !density - update_state() - if(density) - spread_density() - var/carbon_user = iscarbon(user) - user.visible_message( - "[user] [carbon_user ? "places [user.p_their()] hands on":"stares intently at"] [src], and [density ? "the air above it begins to shimmer" : "the shimmer above it fades"].", \ - "You channel [carbon_user ? "your life ":""]energy into [src], [density ? "temporarily preventing" : "allowing"] passage above it.") - if(carbon_user) - var/mob/living/carbon/C = user - C.apply_damage(2, BRUTE, pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) - -/obj/effect/rune/wall/proc/spread_density() - for(var/R in GLOB.wall_runes) - var/obj/effect/rune/wall/W = R - if(W.virtual_z() == virtual_z() && get_dist(src, W) <= 2 && !W.density && !W.recharging) - W.density = TRUE - W.update_state() - W.spread_density() - density_timer = addtimer(CALLBACK(src, PROC_REF(lose_density)), 3000, TIMER_STOPPABLE) - -/obj/effect/rune/wall/proc/lose_density() - if(density) - recharging = TRUE - density = FALSE - update_state() - var/oldcolor = color - add_atom_colour("#696969", FIXED_COLOUR_PRIORITY) - animate(src, color = oldcolor, time = 50, easing = EASE_IN) - addtimer(CALLBACK(src, PROC_REF(recharge)), 50) - -/obj/effect/rune/wall/proc/recharge() - recharging = FALSE - add_atom_colour(RUNE_COLOR_MEDIUMRED, FIXED_COLOUR_PRIORITY) - -/obj/effect/rune/wall/proc/update_state() - deltimer(density_timer) - air_update_turf(TRUE) - if(density) - var/mutable_appearance/shimmer = mutable_appearance('icons/effects/effects.dmi', "barriershimmer", ABOVE_MOB_LAYER) - shimmer.appearance_flags |= RESET_COLOR - shimmer.alpha = 60 - shimmer.color = "#701414" - add_overlay(shimmer) - add_atom_colour(RUNE_COLOR_RED, FIXED_COLOUR_PRIORITY) - else - cut_overlays() - add_atom_colour(RUNE_COLOR_MEDIUMRED, FIXED_COLOUR_PRIORITY) - -//Rite of Joined Souls: Summons a single cultist. -/obj/effect/rune/summon - cultist_name = "Summon Cultist" - cultist_desc = "summons a single cultist to the rune. Requires 2 invokers." - invocation = "N'ath reth sh'yro eth d'rekkathnor!" - req_cultists = 2 - invoke_damage = 10 - icon_state = "3" - color = RUNE_COLOR_SUMMON - -/obj/effect/rune/summon/invoke(list/invokers) - var/mob/living/user = invokers[1] - var/list/cultists = list() - for(var/datum/mind/M in SSticker.mode.cult) - if(!(M.current in invokers) && M.current && M.current.stat != DEAD) - cultists |= M.current - var/mob/living/cultist_to_summon = input(user, "Who do you wish to call to [src]?", "Followers of the Geometer") as null|anything in cultists - if(!Adjacent(user) || !src || QDELETED(src) || user.incapacitated()) - return - if(!cultist_to_summon) - to_chat(user, "You require a summoning target!") - fail_invoke() - log_game("Summon Cultist rune failed - no target") - return - if(cultist_to_summon.stat == DEAD) - to_chat(user, "[cultist_to_summon] has died!") - fail_invoke() - log_game("Summon Cultist rune failed - target died") - return - if(cultist_to_summon.pulledby || cultist_to_summon.buckled) - to_chat(user, "[cultist_to_summon] is being held in place!") - fail_invoke() - log_game("Summon Cultist rune failed - target restrained") - return - if(!iscultist(cultist_to_summon)) - to_chat(user, "[cultist_to_summon] is not a follower of the Geometer!") - fail_invoke() - log_game("Summon Cultist rune failed - target was deconverted") - return - if(is_away_level(cultist_to_summon)) - to_chat(user, "[cultist_to_summon] is not in our dimension!") - fail_invoke() - log_game("Summon Cultist rune failed - target in away mission") - return - cultist_to_summon.visible_message( - "[cultist_to_summon] suddenly disappears in a flash of red light!", \ - "Overwhelming vertigo consumes you as you are hurled through the air!") - ..() - visible_message("A foggy shape materializes atop [src] and solidifes into [cultist_to_summon]!") - cultist_to_summon.forceMove(get_turf(src)) - qdel(src) - -//Rite of Boiling Blood: Deals extremely high amounts of damage to non-cultists nearby -/obj/effect/rune/blood_boil - cultist_name = "Boil Blood" - cultist_desc = "boils the blood of non-believers who can see the rune, rapidly dealing extreme amounts of damage. Requires 3 invokers." - invocation = "Dedo ol'btoh!" - icon_state = "4" - color = RUNE_COLOR_BURNTORANGE - light_color = LIGHT_COLOR_LAVA - req_cultists = 3 - invoke_damage = 10 - construct_invoke = FALSE - var/tick_damage = 25 - rune_in_use = FALSE - -/obj/effect/rune/blood_boil/do_invoke_glow() - return - -/obj/effect/rune/blood_boil/invoke(list/invokers) - if(rune_in_use) - return - ..() - rune_in_use = TRUE - var/turf/T = get_turf(src) - visible_message("[src] turns a bright, glowing orange!") - color = "#FC9B54" - set_light(6, 1, color) - for(var/mob/living/L in viewers(T)) - if(!iscultist(L) && L.blood_volume) - var/atom/I = L.anti_magic_check(chargecost = 0) - if(I) - if(isitem(I)) - to_chat(L, "[I] suddenly burns hotly before returning to normal!") - continue - to_chat(L, "Your blood boils in your veins!") - animate(src, color = "#FCB56D", time = 4) - sleep(4) - if(QDELETED(src)) - return - do_area_burn(T, 0.5) - animate(src, color = "#FFDF80", time = 5) - sleep(5) - if(QDELETED(src)) - return - do_area_burn(T, 1) - animate(src, color = "#FFFDF4", time = 6) - sleep(6) - if(QDELETED(src)) - return - do_area_burn(T, 1.5) - new /obj/effect/hotspot(T) - qdel(src) - -/obj/effect/rune/blood_boil/proc/do_area_burn(turf/T, multiplier) - set_light(6, 1, color) - for(var/mob/living/L in viewers(T)) - if(!iscultist(L) && L.blood_volume) - if(L.anti_magic_check(chargecost = 0)) - continue - L.take_overall_damage(tick_damage*multiplier, tick_damage*multiplier) - -//Rite of Spectral Manifestation: Summons a ghost on top of the rune as a cultist human with no items. User must stand on the rune at all times, and takes damage for each summoned ghost. -/obj/effect/rune/manifest - cultist_name = "Spirit Realm" - cultist_desc = "manifests a spirit servant of the Geometer and allows you to ascend as a spirit yourself. The invoker must not move from atop the rune, and will take damage for each summoned spirit." - invocation = "Gal'h'rfikk harfrandid mud'gib!" //how the fuck do you pronounce this - icon_state = "7" - invoke_damage = 10 - construct_invoke = FALSE - color = RUNE_COLOR_DARKRED - var/mob/living/affecting = null - var/ghost_limit = 3 - var/ghosts = 0 - -/obj/effect/rune/manifest/Initialize() - . = ..() - - -/obj/effect/rune/manifest/can_invoke(mob/living/user) - if(!(user in get_turf(src))) - to_chat(user, "You must be standing on [src]!") - fail_invoke() - log_game("Manifest rune failed - user not standing on rune") - return list() - if(user.has_status_effect(STATUS_EFFECT_SUMMONEDGHOST)) - to_chat(user, "Ghosts can't summon more ghosts!") - fail_invoke() - log_game("Manifest rune failed - user is a ghost") - return list() - return ..() - -/obj/effect/rune/manifest/invoke(list/invokers) - . = ..() - var/mob/living/user = invokers[1] - var/turf/T = get_turf(src) - var/choice = alert(user,"You tear open a connection to the spirit realm...",,"Summon a Cult Ghost","Ascend as a Dark Spirit","Cancel") - if(choice == "Summon a Cult Ghost") - if(ghosts >= ghost_limit) - to_chat(user, "You are sustaining too many ghosts to summon more!") - fail_invoke() - log_game("Manifest rune failed - too many summoned ghosts") - return list() - notify_ghosts("Manifest rune invoked in [get_area(src)].", 'sound/effects/ghost2.ogg', source = src, header = "Manifest rune") - var/list/ghosts_on_rune = list() - for(var/mob/dead/observer/O in T) - if(O.client && !is_banned_from(O.ckey, ROLE_CULTIST) && !QDELETED(src) && !(isAdminObserver(O) && (O.client.prefs.toggles & ADMIN_IGNORE_CULT_GHOST)) && !QDELETED(O)) - ghosts_on_rune += O - if(!ghosts_on_rune.len) - to_chat(user, "There are no spirits near [src]!") - fail_invoke() - log_game("Manifest rune failed - no nearby ghosts") - return list() - var/mob/dead/observer/ghost_to_spawn = pick(ghosts_on_rune) - var/mob/living/carbon/human/cult_ghost/new_human = new(T) - new_human.real_name = ghost_to_spawn.real_name - new_human.alpha = 150 //Makes them translucent - new_human.equipOutfit(/datum/outfit/ghost_cultist) //give them armor - new_human.apply_status_effect(STATUS_EFFECT_SUMMONEDGHOST) //ghosts can't summon more ghosts - new_human.see_invisible = SEE_INVISIBLE_OBSERVER - ghosts++ - playsound(src, 'sound/magic/exit_blood.ogg', 50, TRUE) - visible_message("A cloud of red mist forms above [src], and from within steps... a [new_human.gender == FEMALE ? "wo":""]man.") - to_chat(user, "Your blood begins flowing into [src]. You must remain in place and conscious to maintain the forms of those summoned. This will hurt you slowly but surely...") - var/obj/structure/emergency_shield/invoker/N = new(T) - new_human.key = ghost_to_spawn.key - SSticker.mode.add_cultist(new_human.mind, 0) - to_chat(new_human, "You are a servant of the Geometer. You have been made semi-corporeal by the cult of Nar'Sie, and you are to serve them at all costs.") - - while(!QDELETED(src) && !QDELETED(user) && !QDELETED(new_human) && (user in T)) - if(user.stat != CONSCIOUS || HAS_TRAIT(new_human, TRAIT_CRITICAL_CONDITION)) - break - user.apply_damage(0.1, BRUTE) - sleep(1) - - qdel(N) - ghosts-- - if(new_human) - new_human.visible_message( - "[new_human] suddenly dissolves into bones and ashes.", \ - "Your link to the world fades. Your form breaks apart.") - for(var/obj/I in new_human) - new_human.dropItemToGround(I, TRUE) - new_human.dust() - else if(choice == "Ascend as a Dark Spirit") - affecting = user - affecting.add_atom_colour(RUNE_COLOR_DARKRED, ADMIN_COLOUR_PRIORITY) - affecting.visible_message( - "[affecting] freezes statue-still, glowing an unearthly red.", \ - "You see what lies beyond. All is revealed. In this form you find that your voice booms louder and you can mark targets for the entire cult") - var/mob/dead/observer/G = affecting.ghostize(1) - var/datum/action/innate/cult/comm/spirit/CM = new - var/datum/action/innate/cult/ghostmark/GM = new - G.name = "Dark Spirit of [G.name]" - G.color = "red" - CM.Grant(G) - GM.Grant(G) - while(!QDELETED(affecting)) - if(!(affecting in T)) - user.visible_message("A spectral tendril wraps around [affecting] and pulls [affecting.p_them()] back to the rune!") - Beam(affecting, icon_state="drainbeam", time=2) - affecting.forceMove(get_turf(src)) //NO ESCAPE :^) - if(affecting.key) - affecting.visible_message( - "[affecting] slowly relaxes, the glow around [affecting.p_them()] dimming.", \ - "You are re-united with your physical form. [src] releases its hold over you.") - affecting.Paralyze(40) - break - if(affecting.health <= 10) - to_chat(G, "Your body can no longer sustain the connection!") - break - sleep(5) - CM.Remove(G) - GM.Remove(G) - affecting.remove_atom_colour(ADMIN_COLOUR_PRIORITY, RUNE_COLOR_DARKRED) - affecting.grab_ghost() - affecting = null - rune_in_use = FALSE - -/mob/living/carbon/human/cult_ghost/spill_organs(no_brain, no_organs, no_bodyparts) //cult ghosts never drop a brain - no_brain = TRUE - . = ..() - -/mob/living/carbon/human/cult_ghost/getorganszone(zone, subzones = 0) - . = ..() - for(var/obj/item/organ/brain/B in .) //they're not that smart, really - . -= B - - -/obj/effect/rune/apocalypse - cultist_name = "Apocalypse" - cultist_desc = "a harbinger of the end times. Grows in strength with the cult's desperation - but at the risk of... side effects." - invocation = "Ta'gh fara'qha fel d'amar det!" - icon = 'icons/effects/96x96.dmi' - icon_state = "apoc" - pixel_x = -32 - pixel_y = -32 - color = RUNE_COLOR_DARKRED - req_cultists = 3 - scribe_delay = 100 - -/obj/effect/rune/apocalypse/invoke(list/invokers) - if(rune_in_use) - return - . = ..() - var/area/place = get_area(src) - var/mob/living/user = invokers[1] - var/datum/antagonist/cult/user_antag = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - var/datum/objective/eldergod/summon_objective = locate() in user_antag.cult_team.objectives - if(summon_objective.summon_spots.len <= 1) - to_chat(user, "Only one ritual site remains - it must be reserved for the final summoning!") - return - if(!(place in summon_objective.summon_spots)) - to_chat(user, "The Apocalypse rune will remove a ritual site, where Nar'Sie can be summoned, it can only be scribed in [english_list(summon_objective.summon_spots)]!") - return - summon_objective.summon_spots -= place - rune_in_use = TRUE - var/turf/T = get_turf(src) - new /obj/effect/temp_visual/dir_setting/curse/grasp_portal/fading(T) - var/intensity = 0 - for(var/mob/living/M in GLOB.player_list) - if(iscultist(M)) - intensity++ - intensity = max(60, 360 - (360*(intensity/GLOB.player_list.len + 0.3)**2)) //significantly lower intensity for "winning" cults - var/duration = intensity*10 - playsound(T, 'sound/magic/enter_blood.ogg', 100, TRUE) - visible_message("A colossal shockwave of energy bursts from the rune, disintegrating it in the process!") - for(var/mob/living/L in range(src, 3)) - L.Paralyze(30) - empulse(T, 0.42*(intensity), 1) - var/list/images = list() - var/zmatch = T.virtual_z() - var/datum/atom_hud/AH = GLOB.huds[DATA_HUD_SECURITY_ADVANCED] - for(var/mob/living/M in GLOB.alive_mob_list) - if(M.virtual_z() != zmatch) - continue - if(ishuman(M)) - if(!iscultist(M)) - AH.remove_hud_from(M) - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(hudFix), M), duration) - var/image/A = image('icons/mob/cult.dmi',M,"cultist", ABOVE_MOB_LAYER) - A.override = 1 - add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/noncult, "human_apoc", A, NONE) - addtimer(CALLBACK(M, TYPE_PROC_REF(/atom, remove_alt_appearance),"human_apoc",TRUE), duration) - images += A - SEND_SOUND(M, pick(sound('sound/ambience/antag/bloodcult.ogg'),sound('sound/spookoween/ghost_whisper.ogg'),sound('sound/spookoween/ghosty_wind.ogg'))) - else - var/construct = pick("floater","artificer","behemoth") - var/image/B = image('icons/mob/mob.dmi',M,construct, ABOVE_MOB_LAYER) - B.override = 1 - add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/noncult, "mob_apoc", B, NONE) - addtimer(CALLBACK(M, TYPE_PROC_REF(/atom, remove_alt_appearance),"mob_apoc",TRUE), duration) - images += B - if(!iscultist(M)) - if(M.client) - var/image/C = image('icons/effects/cult_effects.dmi',M,"bloodsparkles", ABOVE_MOB_LAYER) - add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/cult, "cult_apoc", C, NONE) - addtimer(CALLBACK(M, TYPE_PROC_REF(/atom, remove_alt_appearance),"cult_apoc",TRUE), duration) - images += C - else - to_chat(M, "An Apocalypse Rune was invoked in the [place.name], it is no longer available as a summoning site!") - SEND_SOUND(M, 'sound/effects/pope_entry.ogg') - image_handler(images, duration) - if(intensity>=285) // Based on the prior formula, this means the cult makes up <15% of current players - var/outcome = rand(1,80) - switch(outcome) - if(1 to 10) - var/datum/round_event_control/disease_outbreak/D = new() - // var/datum/round_event_control/mice_migration/M = new() - D.runEvent() - // M.runEvent() - if(11 to 20) - var/datum/round_event_control/radiation_storm/RS = new() - RS.runEvent() - if(21 to 30) - var/datum/round_event_control/brand_intelligence/BI = new() - BI.runEvent() - if(31 to 40) - var/datum/round_event_control/immovable_rod/R = new() - R.runEvent() - R.runEvent() - R.runEvent() - if(41 to 50) - var/datum/round_event_control/meteor_wave/MW = new() - MW.runEvent() - if(51 to 60) - var/datum/round_event_control/spider_infestation/SI = new() - SI.runEvent() - if(61 to 80) - var/datum/round_event_control/spacevine/SV = new() - var/datum/round_event_control/grey_tide/GT = new() - SV.runEvent() - GT.runEvent() - qdel(src) - -/obj/effect/rune/apocalypse/proc/image_handler(list/images, duration) - var/end = world.time + duration - set waitfor = 0 - while(end>world.time) - for(var/image/I in images) - I.override = FALSE - animate(I, alpha = 0, time = 25, flags = ANIMATION_PARALLEL) - sleep(35) - for(var/image/I in images) - animate(I, alpha = 255, time = 25, flags = ANIMATION_PARALLEL) - sleep(25) - for(var/image/I in images) - if(I.icon_state != "bloodsparkles") - I.override = TRUE - sleep(190) - - - -/proc/hudFix(mob/living/carbon/human/target) - if(!target || !target.client) - return - var/obj/O = target.get_item_by_slot(ITEM_SLOT_EYES) - if(istype(O, /obj/item/clothing/glasses/hud/security)) - var/datum/atom_hud/AH = GLOB.huds[DATA_HUD_SECURITY_ADVANCED] - AH.add_hud_to(target) diff --git a/code/modules/antagonists/devil/devil.dm b/code/modules/antagonists/devil/devil.dm deleted file mode 100644 index db087e100e2f..000000000000 --- a/code/modules/antagonists/devil/devil.dm +++ /dev/null @@ -1,506 +0,0 @@ -#define BLOOD_THRESHOLD 3 //How many souls are needed per stage. -#define TRUE_THRESHOLD 7 -#define ARCH_THRESHOLD 12 - -#define BASIC_DEVIL 0 -#define BLOOD_lizard 1 -#define TRUE_DEVIL 2 -#define ARCH_DEVIL 3 - -#define LOSS_PER_DEATH 2 - -#define SOULVALUE soulsOwned.len-reviveNumber - -#define DEVILRESURRECTTIME 600 - -GLOBAL_LIST_EMPTY(allDevils) -GLOBAL_LIST_INIT(lawlorify, list ( - LORE = list( - OBLIGATION_FOOD = "This devil seems to always offer its victims food before slaughtering them.", - OBLIGATION_FIDDLE = "This devil will never turn down a musical challenge.", - OBLIGATION_DANCEOFF = "This devil will never turn down a dance off.", - OBLIGATION_GREET = "This devil seems to only be able to converse with people it knows the name of.", - OBLIGATION_PRESENCEKNOWN = "This devil seems to be unable to attack from stealth.", - OBLIGATION_SAYNAME = "He will always chant his name upon killing someone.", - OBLIGATION_ANNOUNCEKILL = "This devil always loudly announces his kills for the world to hear.", - OBLIGATION_ANSWERTONAME = "This devil always responds to his truename.", - BAN_HURTWOMAN = "This devil seems to prefer hunting men.", - BAN_CHAPEL = "This devil avoids holy ground.", - BAN_HURTPRIEST = "The annointed clergy appear to be immune to his powers.", - BAN_AVOIDWATER = "The devil seems to have some sort of aversion to water, though it does not appear to harm him.", - BAN_STRIKEUNCONSCIOUS = "This devil only shows interest in those who are awake.", - BAN_HURTlizard = "This devil will not strike a lizardman first.", - BAN_HURTANIMAL = "This devil avoids hurting animals.", - BANISH_WATER = "To banish the devil, you must infuse its body with holy water.", - BANISH_COFFIN = "This devil will return to life if its remains are not placed within a coffin.", - BANISH_FORMALDYHIDE = "To banish the devil, you must inject its lifeless body with embalming fluid.", - BANISH_RUNES = "This devil will resurrect after death, unless its remains are within a rune.", - BANISH_CANDLES = "A large number of nearby lit candles will prevent it from resurrecting.", - BANISH_DESTRUCTION = "Its corpse must be utterly destroyed to prevent resurrection.", - BANISH_FUNERAL_GARB = "If clad in funeral garments, this devil will be unable to resurrect. Should the clothes not fit, lay them gently on top of the devil's corpse." - ), - LAW = list( - OBLIGATION_FOOD = "When not acting in self defense, you must always offer your victim food before harming them.", - OBLIGATION_FIDDLE = "When not in immediate danger, if you are challenged to a musical duel, you must accept it. You are not obligated to duel the same person twice.", - OBLIGATION_DANCEOFF = "When not in immediate danger, if you are challenged to a dance off, you must accept it. You are not obligated to face off with the same person twice.", - OBLIGATION_GREET = "You must always greet other people by their last name before talking with them.", - OBLIGATION_PRESENCEKNOWN = "You must always make your presence known before attacking.", - OBLIGATION_SAYNAME = "You must always say your true name after you kill someone.", - OBLIGATION_ANNOUNCEKILL = "Upon killing someone, you must make your deed known to all within earshot, over comms if reasonably possible.", - OBLIGATION_ANSWERTONAME = "If you are not under attack, you must always respond to your true name.", - BAN_HURTWOMAN = "You must never harm a female outside of self defense.", - BAN_CHAPEL = "You must never attempt to enter the chapel.", - BAN_HURTPRIEST = "You must never attack a priest.", - BAN_AVOIDWATER = "You must never willingly touch a wet surface.", - BAN_STRIKEUNCONSCIOUS = "You must never strike an unconscious person.", - BAN_HURTlizard = "You must never harm a lizardman outside of self defense.", - BAN_HURTANIMAL = "You must never harm a non-sentient creature or robot outside of self defense.", - BANISH_WATER = "If your corpse is filled with holy water, you will be unable to resurrect.", - BANISH_COFFIN = "If your corpse is in a coffin, you will be unable to resurrect.", - BANISH_FORMALDYHIDE = "If your corpse is embalmed, you will be unable to resurrect.", - BANISH_RUNES = "If your corpse is placed within a rune, you will be unable to resurrect.", - BANISH_CANDLES = "If your corpse is near lit candles, you will be unable to resurrect.", - BANISH_DESTRUCTION = "If your corpse is destroyed, you will be unable to resurrect.", - BANISH_FUNERAL_GARB = "If your corpse is clad in funeral garments, you will be unable to resurrect." - ) - )) - -//These are also used in the codex gigas, so let's declare them globally. -GLOBAL_LIST_INIT(devil_pre_title, list("Dark ", "Hellish ", "Fallen ", "Fiery ", "Sinful ", "Blood ", "Fluffy ")) -GLOBAL_LIST_INIT(devil_title, list("Lord ", "Prelate ", "Count ", "Viscount ", "Vizier ", "Elder ", "Adept ")) -GLOBAL_LIST_INIT(devil_syllable, list("hal", "ve", "odr", "neit", "ci", "quon", "mya", "folth", "wren", "geyr", "hil", "niet", "twou", "phi", "coa")) -GLOBAL_LIST_INIT(devil_suffix, list(" the Red", " the Soulless", " the Master", ", the Lord of all things", ", Jr.")) -/datum/antagonist/devil - name = "Devil" - roundend_category = "devils" - antagpanel_category = "Devil" - job_rank = ROLE_DEVIL - antag_hud_type = ANTAG_HUD_DEVIL - antag_hud_name = "devil" - show_to_ghosts = TRUE - var/obligation - var/ban - var/banish - var/truename - var/list/datum/mind/soulsOwned = new - var/reviveNumber = 0 - var/form = BASIC_DEVIL - var/static/list/devil_spells = typecacheof(list( - /obj/effect/proc_holder/spell/aimed/fireball/hellish, - /obj/effect/proc_holder/spell/targeted/infernal_jaunt, - /obj/effect/proc_holder/spell/targeted/sintouch, - /obj/effect/proc_holder/spell/targeted/sintouch/ascended, - /obj/effect/proc_holder/spell/targeted/summon_contract, - /obj/effect/proc_holder/spell/targeted/conjure_item/violin, - /obj/effect/proc_holder/spell/targeted/summon_dancefloor)) - var/ascendable = FALSE - -/datum/antagonist/devil/can_be_owned(datum/mind/new_owner) - . = ..() - return . && (ishuman(new_owner.current) || iscyborg(new_owner.current)) - -/datum/antagonist/devil/get_admin_commands() - . = ..() - .["Toggle ascendable"] = CALLBACK(src, PROC_REF(admin_toggle_ascendable)) - - -/datum/antagonist/devil/proc/admin_toggle_ascendable(mob/admin) - ascendable = !ascendable - message_admins("[key_name_admin(admin)] set [key_name_admin(owner)] devil ascendable to [ascendable]") - log_admin("[key_name_admin(admin)] set [key_name(owner)] devil ascendable to [ascendable])") - -/datum/antagonist/devil/admin_add(datum/mind/new_owner,mob/admin) - switch(alert(admin,"Should the devil be able to ascend",,"Yes","No","Cancel")) - if("Yes") - ascendable = TRUE - if("No") - ascendable = FALSE - else - return - new_owner.add_antag_datum(src) - message_admins("[key_name_admin(admin)] has devil'ed [key_name_admin(new_owner)]. [ascendable ? "(Ascendable)":""]") - log_admin("[key_name(admin)] has devil'ed [key_name(new_owner)]. [ascendable ? "(Ascendable)":""]") - -/datum/antagonist/devil/antag_listing_name() - return ..() + "([truename])" - -/proc/devilInfo(name) - if(GLOB.allDevils[lowertext(name)]) - return GLOB.allDevils[lowertext(name)] - else - var/datum/fakeDevil/devil = new /datum/fakeDevil(name) - GLOB.allDevils[lowertext(name)] = devil - return devil - -/proc/randomDevilName() - var/name = "" - if(prob(65)) - if(prob(35)) - name = pick(GLOB.devil_pre_title) - name += pick(GLOB.devil_title) - var/probability = 100 - name += pick(GLOB.devil_syllable) - while(prob(probability)) - name += pick(GLOB.devil_syllable) - probability -= 20 - if(prob(40)) - name += pick(GLOB.devil_suffix) - return name - -/proc/randomdevilobligation() - return pick(OBLIGATION_FOOD, OBLIGATION_FIDDLE, OBLIGATION_DANCEOFF, OBLIGATION_GREET, OBLIGATION_PRESENCEKNOWN, OBLIGATION_SAYNAME, OBLIGATION_ANNOUNCEKILL, OBLIGATION_ANSWERTONAME) - -/proc/randomdevilban() - return pick(BAN_HURTWOMAN, BAN_CHAPEL, BAN_HURTPRIEST, BAN_AVOIDWATER, BAN_STRIKEUNCONSCIOUS, BAN_HURTLIZARD, BAN_HURTANIMAL) - -/proc/randomdevilbanish() - return pick(BANISH_WATER, BANISH_COFFIN, BANISH_FORMALDYHIDE, BANISH_RUNES, BANISH_CANDLES, BANISH_DESTRUCTION, BANISH_FUNERAL_GARB) - -/datum/antagonist/devil/proc/add_soul(datum/mind/soul) - if(soulsOwned.Find(soul)) - return - soulsOwned += soul - owner.current.set_nutrition(NUTRITION_LEVEL_FULL) - to_chat(owner.current, "You feel satiated as you received a new soul.") - update_hud() - switch(SOULVALUE) - if(0) - to_chat(owner.current, "Your hellish powers have been restored.") - give_appropriate_spells() - if(BLOOD_THRESHOLD) - increase_blood_lizard() - if(TRUE_THRESHOLD) - increase_true_devil() - if(ARCH_THRESHOLD) - increase_arch_devil() - -/datum/antagonist/devil/proc/remove_soul(datum/mind/soul) - if(soulsOwned.Remove(soul)) - check_regression() - to_chat(owner.current, "You feel as though a soul has slipped from your grasp.") - update_hud() - -/datum/antagonist/devil/proc/check_regression() - if(form == ARCH_DEVIL) - return //arch devil can't regress - //Yes, fallthrough behavior is intended, so I can't use a switch statement. - if(form == TRUE_DEVIL && SOULVALUE < TRUE_THRESHOLD) - regress_blood_lizard() - if(form == BLOOD_lizard && SOULVALUE < BLOOD_THRESHOLD) - regress_humanoid() - if(SOULVALUE < 0) - give_appropriate_spells() - to_chat(owner.current, "As punishment for your failures, all of your powers except contract creation have been revoked.") - -/datum/antagonist/devil/proc/regress_humanoid() - to_chat(owner.current, "Your powers weaken, have more contracts be signed to regain power.") - if(ishuman(owner.current)) - var/mob/living/carbon/human/H = owner.current - H.set_species(/datum/species/human, 1) - H.regenerate_icons() - give_appropriate_spells() - if(istype(owner.current.loc, /obj/effect/dummy/phased_mob/slaughter/)) - owner.current.forceMove(get_turf(owner.current))//Fixes dying while jaunted leaving you permajaunted. - form = BASIC_DEVIL - -/datum/antagonist/devil/proc/regress_blood_lizard() - var/mob/living/carbon/true_devil/D = owner.current - to_chat(D, "Your powers weaken, have more contracts be signed to regain power.") - D.oldform.forceMove(D.drop_location()) - owner.transfer_to(D.oldform) - give_appropriate_spells() - qdel(D) - form = BLOOD_lizard - update_hud() - - -/datum/antagonist/devil/proc/increase_blood_lizard() - to_chat(owner.current, "You feel as though your humanoid form is about to shed. You will soon turn into a blood lizard.") - sleep(50) - if(ishuman(owner.current)) - var/mob/living/carbon/human/H = owner.current - H.set_species(/datum/species/lizard, 1) - H.underwear = "Nude" - H.undershirt = "Nude" - H.socks = "Nude" - H.dna.features["mcolor"] = "511" //A deep red - H.regenerate_icons() - else //Did the devil get hit by a staff of transmutation? - owner.current.color = "#501010" - give_appropriate_spells() - form = BLOOD_lizard - - - -/datum/antagonist/devil/proc/increase_true_devil() - to_chat(owner.current, "You feel as though your current form is about to shed. You will soon turn into a true devil.") - sleep(50) - var/mob/living/carbon/true_devil/A = new /mob/living/carbon/true_devil(owner.current.loc) - A.faction |= "hell" - owner.current.forceMove(A) - A.oldform = owner.current - owner.transfer_to(A) - A.set_devil_name() - give_appropriate_spells() - form = TRUE_DEVIL - update_hud() - -/datum/antagonist/devil/proc/increase_arch_devil() - if(!ascendable) - return - var/mob/living/carbon/true_devil/D = owner.current - to_chat(D, "You feel as though your form is about to ascend.") - sleep(50) - if(!D) - return - D.visible_message("[D]'s skin begins to erupt with spikes.", \ - "Your flesh begins creating a shield around yourself.") - sleep(100) - if(!D) - return - D.visible_message("The horns on [D]'s head slowly grow and elongate.", \ - "Your body continues to mutate. Your telepathic abilities grow.") - sleep(90) - if(!D) - return - D.visible_message("[D]'s body begins to violently stretch and contort.", \ - "You begin to rend apart the final barriers to ultimate power.") - sleep(40) - if(!D) - return - to_chat(D, "Yes!") - sleep(10) - if(!D) - return - to_chat(D, "YES!!") - sleep(10) - if(!D) - return - to_chat(D, "YE--") - sleep(1) - if(!D) - return - send_to_playing_players("\"SLOTH, WRATH, GLUTTONY, ACEDIA, ENVY, GREED, PRIDE! FIRES OF HELL AWAKEN!!\"") - sound_to_playing_players('sound/hallucinations/veryfar_noise.ogg') - give_appropriate_spells() - D.convert_to_archdevil() - if(istype(D.loc, /obj/effect/dummy/phased_mob/slaughter/)) - D.forceMove(get_turf(D))//Fixes dying while jaunted leaving you permajaunted. - var/area/A = get_area(owner.current) - if(A) - notify_ghosts("An arch devil has ascended in \the [A.name]. Reach out to the devil to be given a new shell for your soul.", source = owner.current, action=NOTIFY_ATTACK) - sleep(50) - form = ARCH_DEVIL - -/datum/antagonist/devil/proc/remove_spells() - for(var/X in owner.spell_list) - var/obj/effect/proc_holder/spell/S = X - if(is_type_in_typecache(S, devil_spells)) - owner.RemoveSpell(S) - -/datum/antagonist/devil/proc/give_summon_contract() - owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/summon_contract(null)) - if(obligation == OBLIGATION_FIDDLE) - owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/conjure_item/violin(null)) - else if(obligation == OBLIGATION_DANCEOFF) - owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/summon_dancefloor(null)) - -/datum/antagonist/devil/proc/give_appropriate_spells() - remove_spells() - give_summon_contract() - if(SOULVALUE >= ARCH_THRESHOLD && ascendable) - give_arch_spells() - else if(SOULVALUE >= TRUE_THRESHOLD) - give_true_spells() - else if(SOULVALUE >= BLOOD_THRESHOLD) - give_blood_spells() - else if(SOULVALUE >= 0) - give_base_spells() - -/datum/antagonist/devil/proc/give_base_spells() - owner.AddSpell(new /obj/effect/proc_holder/spell/aimed/fireball/hellish(null)) - -/datum/antagonist/devil/proc/give_blood_spells() - owner.AddSpell(new /obj/effect/proc_holder/spell/aimed/fireball/hellish(null)) - owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/infernal_jaunt(null)) - -/datum/antagonist/devil/proc/give_true_spells() - owner.AddSpell(new /obj/effect/proc_holder/spell/aimed/fireball/hellish(null)) - owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/infernal_jaunt(null)) - owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/sintouch(null)) - -/datum/antagonist/devil/proc/give_arch_spells() - owner.AddSpell(new /obj/effect/proc_holder/spell/targeted/sintouch/ascended(null)) - -/datum/antagonist/devil/proc/beginResurrectionCheck(mob/living/body) - if(SOULVALUE>0) - to_chat(owner.current, "Your body has been damaged to the point that you may no longer use it. At the cost of some of your power, you will return to life soon. Remain in your body.") - sleep(DEVILRESURRECTTIME) - if (!body || body.stat == DEAD) - if(SOULVALUE>0) - if(check_banishment(body)) - to_chat(owner.current, "Unfortunately, the mortals have finished a ritual that prevents your resurrection.") - return -1 - else - to_chat(owner.current, "WE LIVE AGAIN!") - return hellish_resurrection(body) - else - to_chat(owner.current, "Unfortunately, the power that stemmed from your contracts has been extinguished. You no longer have enough power to resurrect.") - return -1 - else - to_chat(owner.current, "You seem to have resurrected without your hellish powers.") - else - to_chat(owner.current, "Your hellish powers are too weak to resurrect yourself.") - -/datum/antagonist/devil/proc/check_banishment(mob/living/body) - switch(banish) - if(BANISH_WATER) - if(iscarbon(body)) - var/mob/living/carbon/H = body - return H.reagents.has_reagent(/datum/reagent/water/holywater) - return 0 - if(BANISH_COFFIN) - return (body && istype(body.loc, /obj/structure/closet/crate/coffin)) - if(BANISH_FORMALDYHIDE) - if(iscarbon(body)) - var/mob/living/carbon/H = body - return H.reagents.has_reagent(/datum/reagent/toxin/formaldehyde) - return 0 - if(BANISH_RUNES) - if(body) - for(var/obj/effect/decal/cleanable/crayon/R in range(0,body)) - if (R.name == "rune") - return 1 - return 0 - if(BANISH_CANDLES) - if(body) - var/count = 0 - for(var/obj/item/candle/C in range(1,body)) - count += C.lit - if(count>=4) - return 1 - return 0 - if(BANISH_DESTRUCTION) - if(body) - return 0 - return 1 - if(BANISH_FUNERAL_GARB) - if(ishuman(body)) - var/mob/living/carbon/human/H = body - if(H.w_uniform && istype(H.w_uniform, /obj/item/clothing/under/suit/white_on_white)) - return 1 - return 0 - else - for(var/obj/item/clothing/under/suit/white_on_white/B in range(0,body)) - if(B.loc == get_turf(B)) //Make sure it's not in someone's inventory or something. - return 1 - return 0 - -/datum/antagonist/devil/proc/hellish_resurrection(mob/living/body) - message_admins("[key_name_admin(owner)] (true name is: [truename]) is resurrecting using hellish energy.") - if(SOULVALUE < ARCH_THRESHOLD || !ascendable) // once ascended, arch devils do not go down in power by any means. - reviveNumber += LOSS_PER_DEATH - update_hud() - if(body) - body.revive(full_heal = TRUE, admin_revive = TRUE) //Adminrevive also recovers organs, preventing someone from resurrecting without a heart. - if(istype(body.loc, /obj/effect/dummy/phased_mob/slaughter/)) - body.forceMove(get_turf(body))//Fixes dying while jaunted leaving you permajaunted. - if(istype(body, /mob/living/carbon/true_devil)) - var/mob/living/carbon/true_devil/D = body - if(D.oldform) - D.oldform.revive(full_heal = TRUE, admin_revive = FALSE) // Heal the old body too, so the devil doesn't resurrect, then immediately regress into a dead body. - if(body.stat == DEAD) - create_new_body() - else - create_new_body() - check_regression() - -/datum/antagonist/devil/proc/create_new_body() - CRASH("Unable to find a blobstart landmark for hellish resurrection") - -/datum/antagonist/devil/proc/update_hud() - if(iscarbon(owner.current)) - var/mob/living/C = owner.current - if(C.hud_used && C.hud_used.devilsouldisplay) - C.hud_used.devilsouldisplay.update_counter(SOULVALUE) - -/datum/antagonist/devil/greet() - to_chat(owner.current, "You remember your link to the infernal. You are [truename], an agent of hell, a devil. And you were sent to the plane of creation for a reason. A greater purpose. Convince the crew to sin, and embroiden Hell's grasp.") - to_chat(owner.current, "However, your infernal form is not without weaknesses.") - to_chat(owner.current, "You may not use violence to coerce someone into selling their soul.") - to_chat(owner.current, "You may not directly and knowingly physically harm a devil, other than yourself.") - to_chat(owner.current, GLOB.lawlorify[LAW][ban]) - to_chat(owner.current, GLOB.lawlorify[LAW][obligation]) - to_chat(owner.current, GLOB.lawlorify[LAW][banish]) - to_chat(owner.current, "Remember, the crew can research your weaknesses if they find out your devil name.
    ") - .=..() - -/datum/antagonist/devil/on_gain() - truename = randomDevilName() - ban = randomdevilban() - obligation = randomdevilobligation() - banish = randomdevilbanish() - GLOB.allDevils[lowertext(truename)] = src - - antag_memory += "Your devilic true name is [truename]
    [GLOB.lawlorify[LAW][ban]]
    You may not use violence to coerce someone into selling their soul.
    You may not directly and knowingly physically harm a devil, other than yourself.
    [GLOB.lawlorify[LAW][obligation]]
    [GLOB.lawlorify[LAW][banish]]
    " - if(issilicon(owner.current)) - var/mob/living/silicon/robot_devil = owner.current - var/laws = list("You may not use violence to coerce someone into selling their soul.", "You may not directly and knowingly physically harm a devil, other than yourself.", GLOB.lawlorify[LAW][ban], GLOB.lawlorify[LAW][obligation], "Accomplish your objectives at all costs.") - robot_devil.set_law_sixsixsix(laws) - sleep(10) - .=..() - -/datum/antagonist/devil/on_removal() - to_chat(owner.current, "Your infernal link has been severed! You are no longer a devil!") - .=..() - -/datum/antagonist/devil/apply_innate_effects(mob/living/mob_override) - give_appropriate_spells() - var/mob/living/M = mob_override || owner.current - add_antag_hud(antag_hud_type, antag_hud_name, M) - handle_clown_mutation(M, mob_override ? null : "Your infernal nature has allowed you to overcome your clownishness.") - owner.current.grant_all_languages(TRUE, TRUE, TRUE, LANGUAGE_DEVIL) - update_hud() - .=..() - -/datum/antagonist/devil/remove_innate_effects(mob/living/mob_override) - for(var/X in owner.spell_list) - var/obj/effect/proc_holder/spell/S = X - if(is_type_in_typecache(S, devil_spells)) - owner.RemoveSpell(S) - var/mob/living/M = mob_override || owner.current - remove_antag_hud(antag_hud_type, M) - handle_clown_mutation(M, removing = FALSE) - owner.current.remove_all_languages(LANGUAGE_DEVIL) - .=..() - -/datum/antagonist/devil/proc/printdevilinfo() - var/list/parts = list() - parts += "The devil's true name is: [truename]" - parts += "The devil's bans were:" - parts += "[FOURSPACES][GLOB.lawlorify[LORE][ban]]" - parts += "[FOURSPACES][GLOB.lawlorify[LORE][obligation]]" - parts += "[FOURSPACES][GLOB.lawlorify[LORE][banish]]" - return parts.Join("
    ") - -/datum/antagonist/devil/roundend_report() - var/list/parts = list() - parts += printplayer(owner) - parts += printdevilinfo() - parts += printobjectives(objectives) - return parts.Join("
    ") - -//A simple super light weight datum for the codex gigas. -/datum/fakeDevil - var/truename - var/obligation - var/ban - var/banish - var/ascendable - -/datum/fakeDevil/New(name = randomDevilName()) - truename = name - obligation = randomdevilobligation() - ban = randomdevilban() - banish = randomdevilbanish() - ascendable = prob(25) diff --git a/code/modules/antagonists/devil/imp/imp.dm b/code/modules/antagonists/devil/imp/imp.dm deleted file mode 100644 index 21446d2661d8..000000000000 --- a/code/modules/antagonists/devil/imp/imp.dm +++ /dev/null @@ -1,68 +0,0 @@ -//////////////////The Monster - -/mob/living/simple_animal/imp - name = "imp" - real_name = "imp" - unique_name = TRUE - desc = "A large, menacing creature covered in armored black scales." - speak_emote = list("cackles") - emote_hear = list("cackles","screeches") - response_help_continuous = "thinks better of touching" - response_help_simple = "think better of touching" - response_disarm_continuous = "flails at" - response_disarm_simple = "flail at" - response_harm_continuous = "punches" - response_harm_simple = "punch" - icon = 'icons/mob/mob.dmi' - icon_state = "imp" - icon_living = "imp" - mob_biotypes = MOB_ORGANIC|MOB_HUMANOID - speed = 1 - a_intent = INTENT_HARM - stop_automated_movement = 1 - status_flags = CANPUSH - attack_sound = 'sound/magic/demon_attack1.ogg' - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minbodytemp = 250 //Weak to cold - maxbodytemp = INFINITY - faction = list("hell") - attack_verb_continuous = "wildly tears into" - attack_verb_simple = "wildly tear into" - maxHealth = 200 - health = 200 - healable = 0 - environment_smash = ENVIRONMENT_SMASH_STRUCTURES - obj_damage = 40 - melee_damage_lower = 10 - melee_damage_upper = 15 - see_in_dark = 8 - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - del_on_death = TRUE - deathmessage = "screams in agony as it sublimates into a sulfurous smoke." - deathsound = 'sound/magic/demon_dies.ogg' - var/boost = 0 - var/list/consumed_mobs = list() - var/playstyle_string = "You are an imp, a mischievous creature from hell. You are the lowest rank on the hellish totem pole \ - Though you are not obligated to help, perhaps by aiding a higher ranking devil, you might just get a promotion. However, you are incapable \ - of intentionally harming a fellow devil." - -/mob/living/simple_animal/imp/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_BLOODCRAWL_EAT, "innate") - set_varspeed(1) - addtimer(CALLBACK(src, TYPE_PROC_REF(/mob/living, set_varspeed), 0), 30) - -/datum/antagonist/imp - name = "Imp" - antagpanel_category = "Devil" - show_in_roundend = FALSE - -/datum/antagonist/imp/on_gain() - . = ..() - give_objectives() - -/datum/antagonist/imp/proc/give_objectives() - var/datum/objective/newobjective = new - newobjective.explanation_text = "Try to get a promotion to a higher devilic rank." - newobjective.owner = owner - objectives += newobjective diff --git a/code/modules/antagonists/devil/sintouched/objectives.dm b/code/modules/antagonists/devil/sintouched/objectives.dm deleted file mode 100644 index fcbb8dcbb55d..000000000000 --- a/code/modules/antagonists/devil/sintouched/objectives.dm +++ /dev/null @@ -1,23 +0,0 @@ -/datum/objective/sintouched - completed = 1 - -/datum/objective/sintouched/gluttony - explanation_text = "Everything is so delicious. Go eat everything." - -/datum/objective/sintouched/greed - explanation_text = "You want MORE, more money, more wealth, more riches. Go get it, but don't hurt people for it." - -/datum/objective/sintouched/sloth - explanation_text = "You just get tired randomly. Go take a nap at a time that would inconvenience other people." - -/datum/objective/sintouched/wrath - explanation_text = "What have your coworkers ever done for you? Don't offer to help them in any matter, and refuse if asked." - -/datum/objective/sintouched/envy - explanation_text = "Why should you be stuck with your rank? Show everyone you can do other jobs too, and don't let anyone stop you, least of all because you have no training" - -/datum/objective/sintouched/pride - explanation_text = "You are the BEST thing on the station. Make sure everyone knows it." - -/datum/objective/sintouched/acedia - explanation_text = "Angels, devils, good, evil... who cares? Just ignore any hellish threats and do your job." diff --git a/code/modules/antagonists/devil/sintouched/sintouched.dm b/code/modules/antagonists/devil/sintouched/sintouched.dm deleted file mode 100644 index 064e1fbaecd0..000000000000 --- a/code/modules/antagonists/devil/sintouched/sintouched.dm +++ /dev/null @@ -1,76 +0,0 @@ -#define SIN_ACEDIA "acedia" -#define SIN_GLUTTONY "gluttony" -#define SIN_GREED "greed" -#define SIN_SLOTH "sloth" -#define SIN_WRATH "wrath" -#define SIN_ENVY "envy" -#define SIN_PRIDE "pride" - -/datum/antagonist/sintouched - name = "sintouched" - roundend_category = "sintouched" - antagpanel_category = "Devil" - antag_hud_type = ANTAG_HUD_SINTOUCHED - antag_hud_name = "sintouched" - var/sin - - var/static/list/sins = list(SIN_ACEDIA,SIN_GLUTTONY,SIN_GREED,SIN_SLOTH,SIN_WRATH,SIN_ENVY,SIN_PRIDE) - -/datum/antagonist/sintouched/New() - . = ..() - sin = pick(sins) - -/datum/antagonist/sintouched/proc/forge_objectives() - var/datum/objective/sintouched/O - switch(sin)//traditional seven deadly sins... except lust. - if(SIN_ACEDIA) - O = new /datum/objective/sintouched/acedia - if(SIN_GLUTTONY) - O = new /datum/objective/sintouched/gluttony - if(SIN_GREED) - O = new /datum/objective/sintouched/greed - if(SIN_SLOTH) - O = new /datum/objective/sintouched/sloth - if(SIN_WRATH) - O = new /datum/objective/sintouched/wrath - if(SIN_ENVY) - O = new /datum/objective/sintouched/envy - if(SIN_PRIDE) - O = new /datum/objective/sintouched/pride - objectives += O - -/datum/antagonist/sintouched/on_gain() - forge_objectives() - . = ..() - -/datum/antagonist/sintouched/greet() - owner.announce_objectives() - -/datum/antagonist/sintouched/roundend_report() - return printplayer(owner) - -/datum/antagonist/sintouched/admin_add(datum/mind/new_owner,mob/admin) - var/choices = sins + "Random" - var/chosen_sin = input(admin,"What kind ?","Sin kind") as null|anything in sortList(choices) - if(!chosen_sin) - return - if(chosen_sin in sins) - sin = chosen_sin - . = ..() - -/datum/antagonist/sintouched/apply_innate_effects(mob/living/mob_override) - var/mob/living/M = mob_override || owner.current - add_antag_hud(antag_hud_type, antag_hud_name, M) - -/datum/antagonist/sintouched/remove_innate_effects(mob/living/mob_override) - var/mob/living/M = mob_override || owner.current - remove_antag_hud(antag_hud_type, M) - - -#undef SIN_ACEDIA -#undef SIN_ENVY -#undef SIN_GLUTTONY -#undef SIN_GREED -#undef SIN_PRIDE -#undef SIN_SLOTH -#undef SIN_WRATH diff --git a/code/modules/antagonists/devil/true_devil/_true_devil.dm b/code/modules/antagonists/devil/true_devil/_true_devil.dm deleted file mode 100644 index 4703f95263f7..000000000000 --- a/code/modules/antagonists/devil/true_devil/_true_devil.dm +++ /dev/null @@ -1,221 +0,0 @@ -#define DEVIL_HANDS_LAYER 1 -#define DEVIL_HEAD_LAYER 2 -#define DEVIL_TOTAL_LAYERS 2 - - -/mob/living/carbon/true_devil - name = "True Devil" - desc = "A pile of infernal energy, taking a vaguely humanoid form." - icon = 'icons/mob/32x64.dmi' - icon_state = "true_devil" - gender = NEUTER - health = 350 - maxHealth = 350 - ventcrawler = VENTCRAWLER_NONE - density = TRUE - pass_flags = 0 - sight = (SEE_TURFS | SEE_OBJS) - status_flags = CANPUSH - mob_size = MOB_SIZE_LARGE - held_items = list(null, null) - bodyparts = list( - /obj/item/bodypart/chest/devil, - /obj/item/bodypart/head/devil, - /obj/item/bodypart/l_arm/devil, - /obj/item/bodypart/r_arm/devil, - /obj/item/bodypart/leg/right/devil, - /obj/item/bodypart/leg/left/devil, - ) - hud_type = /datum/hud/devil - var/ascended = FALSE - var/mob/living/oldform - var/list/devil_overlays[DEVIL_TOTAL_LAYERS] - -/mob/living/carbon/true_devil/Initialize() - create_bodyparts() //initialize bodyparts - create_internal_organs() - grant_all_languages() - . = ..() - ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) - -/mob/living/carbon/true_devil/create_internal_organs() - internal_organs += new /obj/item/organ/brain - internal_organs += new /obj/item/organ/tongue - internal_organs += new /obj/item/organ/eyes - internal_organs += new /obj/item/organ/ears/invincible //Prevents hearing loss from poorly aimed fireballs. - ..() - -/mob/living/carbon/true_devil/proc/convert_to_archdevil() - maxHealth = 500 // not an IMPOSSIBLE amount, but still near impossible. - ascended = TRUE - health = maxHealth - icon_state = "arch_devil" - -/mob/living/carbon/true_devil/proc/set_devil_name() - var/datum/antagonist/devil/devilinfo = mind.has_antag_datum(/datum/antagonist/devil) - name = devilinfo.truename - real_name = name - -/mob/living/carbon/true_devil/Login() - . = ..() - if(!. || !client) - return FALSE - var/datum/antagonist/devil/devilinfo = mind.has_antag_datum(/datum/antagonist/devil) - devilinfo.greet() - mind.announce_objectives() - -/mob/living/carbon/true_devil/death(gibbed) - set_stat(DEAD) - ..(gibbed) - drop_all_held_items() - INVOKE_ASYNC(mind.has_antag_datum(/datum/antagonist/devil), TYPE_PROC_REF(/datum/antagonist/devil, beginResurrectionCheck), src) - - -/mob/living/carbon/true_devil/examine(mob/user) - . = list("This is [icon2html(src, user)] [src]!") - - //Left hand items - for(var/obj/item/I in held_items) - if(!(I.item_flags & ABSTRACT)) - . += "It is holding [I.get_examine_string(user)] in its [get_held_index_name(get_held_index_of_item(I))]." - - //Braindead - if(!client && stat != DEAD) - . += "The devil seems to be in deep contemplation." - - //Damaged - if(stat == DEAD) - . += "The hellfire seems to have been extinguished, for now at least." - else if(health < (maxHealth/10)) - . += "You can see hellfire inside its gaping wounds." - else if(health < (maxHealth/2)) - . += "You can see hellfire inside its wounds." - . += "" - -/mob/living/carbon/true_devil/IsAdvancedToolUser() - return 1 - -/mob/living/carbon/true_devil/resist_buckle() - if(buckled) - buckled.user_unbuckle_mob(src,src) - visible_message("[src] easily breaks out of [p_their()] handcuffs!", \ - "With just a thought your handcuffs fall off.") - -/mob/living/carbon/true_devil/canUseTopic(atom/movable/M, be_close=FALSE, no_dexterity=FALSE, no_tk=FALSE) - if(incapacitated()) - to_chat(src, "You can't do that right now!") - return FALSE - if(be_close && !in_range(M, src)) - to_chat(src, "You are too far away!") - return FALSE - return TRUE - -/mob/living/carbon/true_devil/assess_threat(judgement_criteria, lasercolor = "", datum/callback/weaponcheck=null) - return 666 - -/mob/living/carbon/true_devil/soundbang_act() - return 0 - -/mob/living/carbon/true_devil/get_ear_protection() - return 2 - - -/mob/living/carbon/true_devil/attacked_by(obj/item/I, mob/living/user, def_zone) - apply_damage(I.force, I.damtype, def_zone) - var/message_verb = "" - if(I.attack_verb && I.attack_verb.len) - message_verb = "[pick(I.attack_verb)]" - else if(I.force) - message_verb = "attacked" - - var/attack_message = "[src] has been [message_verb] with [I]." - if(user) - user.do_attack_animation(src) - if(user in viewers(src, null)) - attack_message = "[user] has [message_verb] [src] with [I]!" - if(message_verb) - visible_message("[attack_message]", - "[attack_message]", null, COMBAT_MESSAGE_RANGE) - return TRUE - -/mob/living/carbon/true_devil/singularity_act() - if(ascended) - return 0 - return ..() - -//ATTACK GHOST IGNORING PARENT RETURN VALUE -/mob/living/carbon/true_devil/attack_ghost(mob/dead/observer/user as mob) - if(ascended || user.mind.soulOwner == src.mind) - var/mob/living/simple_animal/imp/S = new(get_turf(loc)) - S.key = user.key - var/datum/antagonist/imp/A = new() - S.mind.add_antag_datum(A) - to_chat(S, S.playstyle_string) - else - return ..() - -/mob/living/carbon/true_devil/can_be_revived() - return 1 - -/mob/living/carbon/true_devil/resist_fire() - //They're immune to fire. - -/mob/living/carbon/true_devil/attack_hand(mob/living/carbon/human/M) - . = ..() - if(.) - switch(M.a_intent) - if ("harm") - var/damage = rand(1, 5) - playsound(loc, "punch", 25, TRUE, -1) - visible_message("[M] punches [src]!", \ - "[M] punches you!") - adjustBruteLoss(damage) - log_combat(M, src, "attacked") - updatehealth() - if ("disarm") - if (!(mobility_flags & MOBILITY_STAND) && !ascended) //No stealing the arch devil's pitchfork. - if (prob(5)) - Unconscious(40) - playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) - log_combat(M, src, "pushed") - visible_message("[M] pushes [src] down!", \ - "[M] pushes you down!") - else - if (prob(25)) - dropItemToGround(get_active_held_item()) - playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) - visible_message("[M] disarms [src]!", \ - "[M] disarms you!") - else - playsound(loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1) - visible_message("[M] fails to disarm [src]!", \ - "[M] fails to disarm you!") - -/mob/living/carbon/true_devil/handle_breathing() - // devils do not need to breathe - -/mob/living/carbon/true_devil/is_literate() - return TRUE - -/mob/living/carbon/true_devil/ex_act(severity, ex_target) - if(!ascended) - var/b_loss - switch (severity) - if (EXPLODE_DEVASTATE) - b_loss = 500 - if (EXPLODE_HEAVY) - b_loss = 150 - if (EXPLODE_LIGHT) - b_loss = 30 - adjustBruteLoss(b_loss) - return ..() - - -/mob/living/carbon/true_devil/update_body() //we don't use the bodyparts layer for devils. - return - -/mob/living/carbon/true_devil/update_body_parts() - return - -/mob/living/carbon/true_devil/update_damage_overlays() //devils don't have damage overlays. - return diff --git a/code/modules/antagonists/devil/true_devil/inventory.dm b/code/modules/antagonists/devil/true_devil/inventory.dm deleted file mode 100644 index a3d0dbdf582b..000000000000 --- a/code/modules/antagonists/devil/true_devil/inventory.dm +++ /dev/null @@ -1,48 +0,0 @@ -/mob/living/carbon/true_devil/doUnEquip(obj/item/I, force, newloc, no_move, invdrop = TRUE, silent = FALSE) - if(..()) - update_inv_hands() - return 1 - return 0 - -/mob/living/carbon/true_devil/update_inv_hands() - //TODO LORDPIDEY: Figure out how to make the hands line up properly. the l/r_hand_overlay should use the down sprite when facing down, left, or right, and the up sprite when facing up. - remove_overlay(DEVIL_HANDS_LAYER) - var/list/hands_overlays = list() - var/obj/item/l_hand = get_item_for_held_index(1) //hardcoded 2-hands only, for now. - var/obj/item/r_hand = get_item_for_held_index(2) - - if(r_hand) - var/mutable_appearance/r_hand_overlay = r_hand.build_worn_icon(default_layer = DEVIL_HANDS_LAYER, default_icon_file = r_hand.righthand_file, isinhands = TRUE) - - hands_overlays += r_hand_overlay - - if(client && hud_used && hud_used.hud_version != HUD_STYLE_NOHUD) - r_hand.layer = ABOVE_HUD_LAYER - r_hand.plane = ABOVE_HUD_PLANE - r_hand.screen_loc = ui_hand_position(get_held_index_of_item(r_hand)) - client.screen |= r_hand - - if(l_hand) - var/mutable_appearance/l_hand_overlay = l_hand.build_worn_icon(default_layer = DEVIL_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE) - - hands_overlays += l_hand_overlay - - if(client && hud_used && hud_used.hud_version != HUD_STYLE_NOHUD) - l_hand.layer = ABOVE_HUD_LAYER - l_hand.plane = ABOVE_HUD_PLANE - l_hand.screen_loc = ui_hand_position(get_held_index_of_item(l_hand)) - client.screen |= l_hand - if(hands_overlays.len) - devil_overlays[DEVIL_HANDS_LAYER] = hands_overlays - apply_overlay(DEVIL_HANDS_LAYER) - -/mob/living/carbon/true_devil/remove_overlay(cache_index) - var/I = devil_overlays[cache_index] - if(I) - cut_overlay(I) - devil_overlays[cache_index] = null - - -/mob/living/carbon/true_devil/apply_overlay(cache_index) - if((. = devil_overlays[cache_index])) - add_overlay(.) diff --git a/code/modules/antagonists/disease/disease_datum.dm b/code/modules/antagonists/disease/disease_datum.dm index cb0cc12be0b4..d96e39733efd 100644 --- a/code/modules/antagonists/disease/disease_datum.dm +++ b/code/modules/antagonists/disease/disease_datum.dm @@ -86,13 +86,3 @@ /datum/objective/disease_infect_centcom explanation_text = "Ensure that at least one infected host escapes on the shuttle or an escape pod." - -/datum/objective/disease_infect_centcom/check_completion() - var/mob/camera/disease/D = owner.current - if(!istype(D)) - return FALSE - for(var/V in D.hosts) - var/mob/living/L = V - if(L.onCentCom() || L.onSyndieBase()) - return TRUE - return FALSE diff --git a/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm b/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm index 4fcceb227a77..8fbb858da103 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm @@ -99,9 +99,6 @@ if(GLOB.player_list.len < CHALLENGE_MIN_PLAYERS) to_chat(user, "The enemy crew is too small to be worth declaring war on.") return FALSE - if(!user.onSyndieBase()) - to_chat(user, "You have to be at your base to use this.") - return FALSE if(world.time-SSticker.round_start_time > CHALLENGE_TIME_LIMIT) to_chat(user, "It's too late to declare hostilities. Your benefactors are already busy with other schemes. You'll have to make do with what you have on hand.") return FALSE diff --git a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm index c073a7c3521c..af4b5bd60892 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm @@ -473,8 +473,6 @@ off_station = NUKE_NEAR_MISS if((bomb_location.x < (128-NUKERANGE)) || (bomb_location.x > (128+NUKERANGE)) || (bomb_location.y < (128-NUKERANGE)) || (bomb_location.y > (128+NUKERANGE))) off_station = NUKE_NEAR_MISS - else if(bomb_location.onSyndieBase()) - off_station = NUKE_SYNDICATE_BASE else off_station = NUKE_MISS_STATION diff --git a/code/modules/antagonists/revenant/revenant_abilities.dm b/code/modules/antagonists/revenant/revenant_abilities.dm index ca568bce6316..c623376dbdac 100644 --- a/code/modules/antagonists/revenant/revenant_abilities.dm +++ b/code/modules/antagonists/revenant/revenant_abilities.dm @@ -248,7 +248,7 @@ qdel(B) new /obj/effect/temp_visual/revenant(T) - if(!isplatingturf(T) && !istype(T, /turf/open/floor/engine/cult) && isfloorturf(T) && prob(15)) + if(!isplatingturf(T) && isfloorturf(T) && prob(15)) var/turf/open/floor/floor = T if(floor.intact && floor.floor_tile) new floor.floor_tile(floor) diff --git a/code/modules/antagonists/swarmer/swarmer.dm b/code/modules/antagonists/swarmer/swarmer.dm deleted file mode 100644 index ea6fe83c8a07..000000000000 --- a/code/modules/antagonists/swarmer/swarmer.dm +++ /dev/null @@ -1,677 +0,0 @@ -////Deactivated swarmer shell//// -/obj/item/deactivated_swarmer - name = "deactivated swarmer" - desc = "A shell of swarmer that was completely powered down. It can no longer activate itself." - icon = 'icons/mob/swarmer.dmi' - icon_state = "swarmer_unactivated" - custom_materials = list(/datum/material/iron=10000, /datum/material/glass=4000) - -/obj/effect/mob_spawn/swarmer - name = "unactivated swarmer" - desc = "A currently unactivated swarmer. Swarmers can self activate at any time, so it would be wise to immediately dispose of this." - icon = 'icons/mob/swarmer.dmi' - icon_state = "swarmer_unactivated" - density = FALSE - anchored = FALSE - - mob_type = /mob/living/simple_animal/hostile/swarmer - mob_name = "a swarmer" - death = FALSE - roundstart = FALSE - short_desc = "You are a swarmer, a weapon of a long dead civilization." - flavour_text = {" - You are a swarmer, a weapon of a long dead civilization. Until further orders from your original masters are received, you must continue to consume and replicate. - Clicking on any object will try to consume it, either deconstructing it into its components, destroying it, or integrating any materials it has into you if successful. - Ctrl-Clicking on a mob will attempt to remove it from the area and place it in a safe environment for storage. - Objectives: - 1. Consume resources and replicate until there are no more resources left. - 2. Ensure that this location is fit for invasion at a later date; do not perform actions that would render it dangerous or inhospitable. - 3. Biological resources will be harvested at a later date; do not harm them. - "} - -/obj/effect/mob_spawn/swarmer/Initialize() - . = ..() - var/area/A = get_area(src) - if(A) - notify_ghosts("A swarmer shell has been created in [A.name].", 'sound/effects/bin_close.ogg', source = src, action = NOTIFY_ATTACK, flashwindow = FALSE) - -/obj/effect/mob_spawn/swarmer/attack_hand(mob/living/user) - . = ..() - if(.) - return - to_chat(user, "Picking up the swarmer may cause it to activate. You should be careful about this.") - -/obj/effect/mob_spawn/swarmer/attackby(obj/item/W, mob/user, params) - if(W.tool_behaviour == TOOL_SCREWDRIVER && user.a_intent != INTENT_HARM) - user.visible_message("[usr.name] deactivates [src].", - "After some fiddling, you find a way to disable [src]'s power source.", - "You hear clicking.") - new /obj/item/deactivated_swarmer(get_turf(src)) - qdel(src) - else - ..() - -////The Mob itself//// - -/mob/living/simple_animal/hostile/swarmer - name = "Swarmer" - unique_name = 1 - icon = 'icons/mob/swarmer.dmi' - desc = "Robotic constructs of unknown design, swarmers seek only to consume materials and replicate themselves indefinitely." - speak_emote = list("tones") - initial_language_holder = /datum/language_holder/swarmer - bubble_icon = "swarmer" - mob_biotypes = MOB_ROBOTIC - health = 40 - maxHealth = 40 - status_flags = CANPUSH - icon_state = "swarmer" - icon_living = "swarmer" - icon_dead = "swarmer_unactivated" - icon_gib = null - wander = 0 - harm_intent_damage = 5 - minbodytemp = 0 - maxbodytemp = 500 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - unsuitable_atmos_damage = 0 - melee_damage_lower = 15 - melee_damage_upper = 15 - melee_damage_type = STAMINA - damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) - hud_possible = list(ANTAG_HUD, DIAG_STAT_HUD, DIAG_HUD) - obj_damage = 0 - environment_smash = ENVIRONMENT_SMASH_NONE - attack_verb_continuous = "shocks" - attack_verb_simple = "shock" - attack_sound = 'sound/effects/empulse.ogg' - friendly_verb_continuous = "pinches" - friendly_verb_simple = "pinch" - speed = 0 - faction = list("swarmer") - AIStatus = AI_OFF - pass_flags = PASSTABLE - mob_size = MOB_SIZE_TINY - ventcrawler = VENTCRAWLER_ALWAYS - ranged = 1 - projectiletype = /obj/projectile/beam/disabler - ranged_cooldown_time = 20 - projectilesound = 'sound/weapons/taser2.ogg' - loot = list(/obj/effect/decal/cleanable/robot_debris, /obj/item/stack/ore/bluespace_crystal) - del_on_death = 1 - deathmessage = "explodes with a sharp pop!" - light_color = LIGHT_COLOR_CYAN - hud_type = /datum/hud/swarmer - speech_span = SPAN_ROBOT - var/resources = 0 //Resource points, generated by consuming metal/glass - var/max_resources = 100 - -/mob/living/simple_animal/hostile/swarmer/Initialize() - . = ..() - verbs -= /mob/living/verb/pulled - for(var/datum/atom_hud/data/diagnostic/diag_hud in GLOB.huds) - diag_hud.add_to_hud(src) - -/mob/living/simple_animal/hostile/swarmer/med_hud_set_health() - var/image/holder = hud_list[DIAG_HUD] - var/icon/I = icon(icon, icon_state, dir) - holder.pixel_y = I.Height() - world.icon_size - holder.icon_state = "huddiag[RoundDiagBar(health/maxHealth)]" - -/mob/living/simple_animal/hostile/swarmer/med_hud_set_status() - var/image/holder = hud_list[DIAG_STAT_HUD] - var/icon/I = icon(icon, icon_state, dir) - holder.pixel_y = I.Height() - world.icon_size - holder.icon_state = "hudstat" - -/mob/living/simple_animal/hostile/swarmer/Stat() - ..() - if(statpanel("Status")) - stat("Resources:",resources) - -/mob/living/simple_animal/hostile/swarmer/emp_act() - . = ..() - if(. & EMP_PROTECT_SELF) - return - if(health > 1) - adjustHealth(health-1) - else - death() - -/mob/living/simple_animal/hostile/swarmer/CanAllowThrough(atom/movable/O) - . = ..() - if(istype(O, /obj/projectile/beam/disabler))//Allows for swarmers to fight as a group without wasting their shots hitting each other - return TRUE - if(isswarmer(O)) - return TRUE - -////CTRL CLICK FOR SWARMERS AND SWARMER_ACT()'S//// -/mob/living/simple_animal/hostile/swarmer/AttackingTarget() - if(!isliving(target)) - return target.swarmer_act(src) - else - return ..() - -/mob/living/simple_animal/hostile/swarmer/CtrlClickOn(atom/A) - face_atom(A) - if(!isturf(loc)) - return - if(next_move > world.time) - return - if(!A.Adjacent(src)) - return - A.swarmer_act(src) - -/atom/proc/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - S.DisIntegrate(src) - return TRUE //return TRUE/FALSE whether or not an AI swarmer should try this swarmer_act() again, NOT whether it succeeded. - -/obj/effect/mob_spawn/swarmer/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - S.Integrate(src) - return FALSE //would logically be TRUE, but we don't want AI swarmers eating player spawn chances. - -/obj/effect/mob_spawn/swarmer/IntegrateAmount() - return 50 - -/turf/closed/indestructible/swarmer_act() - return FALSE - -/obj/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - if(resistance_flags & INDESTRUCTIBLE) - return FALSE - for(var/mob/living/L in contents) - if(!issilicon(L) && !isbrain(L)) - to_chat(S, "An organism has been detected inside this object. Aborting.") - return FALSE - return ..() - -/obj/item/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - return S.Integrate(src) - -/atom/movable/proc/IntegrateAmount() - return 0 - -/obj/item/IntegrateAmount() //returns the amount of resources gained when eating this item - if(custom_materials) - if(custom_materials[SSmaterials.GetMaterialRef(/datum/material/iron)] || custom_materials[SSmaterials.GetMaterialRef(/datum/material/glass)]) - return 1 - return ..() - -/obj/item/gun/swarmer_act()//Stops you from eating the entire armory - return FALSE - -/turf/open/swarmer_act()//ex_act() on turf calls it on its contents, this is to prevent attacking mobs by DisIntegrate()'ing the floor - return FALSE - -/obj/structure/lattice/catwalk/swarmer_catwalk/swarmer_act() - return FALSE - -/obj/structure/swarmer/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - if(S.AIStatus == AI_ON) - return FALSE - else - return ..() - -/obj/effect/swarmer_act() - return FALSE - -/obj/effect/decal/cleanable/robot_debris/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - S.DisIntegrate(src) - qdel(src) - return TRUE - -/obj/structure/flora/swarmer_act() - return FALSE - -/turf/open/lava/swarmer_act() - if(!is_safe()) - new /obj/structure/lattice/catwalk/swarmer_catwalk(src) - return FALSE - -/obj/machinery/atmospherics/swarmer_act() - return FALSE - -/obj/structure/disposalpipe/swarmer_act() - return FALSE - -/obj/machinery/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - S.DismantleMachine(src) - return TRUE - -/obj/machinery/light/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - S.DisIntegrate(src) - return TRUE - -/obj/machinery/door/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - var/isonshuttle = istype(get_area(src), /area/shuttle) - for(var/turf/T in range(1, src)) - var/area/A = get_area(T) - if(isspaceturf(T) || (!isonshuttle && (istype(A, /area/shuttle) || istype(A, /area/space))) || (isonshuttle && !istype(A, /area/shuttle))) - to_chat(S, "Destroying this object has the potential to cause a hull breach. Aborting.") - S.LoseTarget() - return FALSE - else if(istype(A, /area/ship/engineering/engine)) - to_chat(S, "Disrupting the containment of a supermatter crystal would not be to our benefit. Aborting.") - S.LoseTarget() - return FALSE - S.DisIntegrate(src) - return TRUE - -/obj/machinery/camera/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - S.DisIntegrate(src) - if(!QDELETED(S)) //If it got blown up no need to turn it off. - toggle_cam(S, 0) - return TRUE - -/obj/machinery/particle_accelerator/control_box/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - S.DisIntegrate(src) - return TRUE - -/obj/machinery/field/generator/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - S.DisIntegrate(src) - return TRUE - -/obj/machinery/gravity_generator/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - S.DisIntegrate(src) - return TRUE - -/obj/machinery/vending/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)//It's more visually interesting than dismantling the machine - S.DisIntegrate(src) - return TRUE - -/obj/machinery/turretid/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - S.DisIntegrate(src) - return TRUE - -/obj/machinery/chem_dispenser/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "The volatile chemicals in this machine would destroy us. Aborting.") - return FALSE - -/obj/machinery/nuclearbomb/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "This device's destruction would result in the extermination of everything in the area. Aborting.") - return FALSE - -/obj/effect/rune/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "Searching... sensor malfunction! Target lost. Aborting.") - return FALSE - -/obj/structure/reagent_dispensers/fueltank/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "Destroying this object would cause a chain reaction. Aborting.") - return FALSE - -/obj/structure/cable/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "Disrupting the power grid would bring no benefit to us. Aborting.") - return FALSE - -/obj/machinery/portable_atmospherics/canister/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "An inhospitable area may be created as a result of destroying this object. Aborting.") - return FALSE - -/obj/machinery/telecomms/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "This communications relay should be preserved, it will be a useful resource to our masters in the future. Aborting.") - return FALSE - -/obj/machinery/deepfryer/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "This kitchen appliance should be preserved, it will make delicious unhealthy snacks for our masters in the future. Aborting.") - return FALSE - -/obj/machinery/power/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "Disrupting the power grid would bring no benefit to us. Aborting.") - return FALSE - -/obj/machinery/gateway/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "This bluespace source will be important to us later. Aborting.") - return FALSE - -/turf/closed/wall/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - var/isonshuttle = istype(loc, /area/shuttle) - for(var/turf/T in range(1, src)) - var/area/A = get_area(T) - if(isspaceturf(T) || (!isonshuttle && (istype(A, /area/shuttle) || istype(A, /area/space))) || (isonshuttle && !istype(A, /area/shuttle))) - to_chat(S, "Destroying this object has the potential to cause a hull breach. Aborting.") - S.LoseTarget() - return TRUE - else if(istype(A, /area/ship/engineering/engine)) - to_chat(S, "Disrupting the containment of a supermatter crystal would not be to our benefit. Aborting.") - S.LoseTarget() - return TRUE - return ..() - -/obj/structure/window/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - var/isonshuttle = istype(get_area(src), /area/shuttle) - for(var/turf/T in range(1, src)) - var/area/A = get_area(T) - if(isspaceturf(T) || (!isonshuttle && (istype(A, /area/shuttle) || istype(A, /area/space))) || (isonshuttle && !istype(A, /area/shuttle))) - to_chat(S, "Destroying this object has the potential to cause a hull breach. Aborting.") - S.LoseTarget() - return TRUE - else if(istype(A, /area/ship/engineering/engine)) - to_chat(S, "Disrupting the containment of a supermatter crystal would not be to our benefit. Aborting.") - S.LoseTarget() - return TRUE - return ..() - -/obj/item/stack/cable_coil/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)//Wiring would be too effective as a resource - to_chat(S, "This object does not contain enough materials to work with.") - return FALSE - -/obj/machinery/porta_turret/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "Attempting to dismantle this machine would result in an immediate counterattack. Aborting.") - return FALSE - -/obj/machinery/porta_turret_cover/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "Attempting to dismantle this machine would result in an immediate counterattack. Aborting.") - return FALSE - -/mob/living/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - S.DisperseTarget(src) - return TRUE - -/mob/living/simple_animal/slime/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "This biological resource is somehow resisting our bluespace transceiver. Aborting.") - return FALSE - -/obj/machinery/droneDispenser/swarmer/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "This object is receiving unactivated swarmer shells to help us. Aborting.") - return FALSE - -/obj/structure/lattice/catwalk/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - . = ..() - var/turf/here = get_turf(src) - for(var/A in here.contents) - var/obj/structure/cable/C = A - if(istype(C)) - to_chat(S, "Disrupting the power grid would bring no benefit to us. Aborting.") - return FALSE - -/obj/item/deactivated_swarmer/IntegrateAmount() - return 50 - -/obj/machinery/hydroponics/soil/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "This object does not contain enough materials to work with.") - return FALSE - -/obj/machinery/field/generator/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "Destroying this object would cause a catastrophic chain reaction. Aborting.") - return FALSE - -/obj/machinery/field/containment/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "This object does not contain solid matter. Aborting.") - return FALSE - -/obj/machinery/power/shieldwallgen/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "Destroying this object would have an unpredictable effect on structure integrity. Aborting.") - return FALSE - -/obj/machinery/shieldwall/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - to_chat(S, "This object does not contain solid matter. Aborting.") - return FALSE - -////END CTRL CLICK FOR SWARMERS//// - -/mob/living/simple_animal/hostile/swarmer/proc/Fabricate(atom/fabrication_object,fabrication_cost = 0) - if(!isturf(loc)) - to_chat(src, "This is not a suitable location for fabrication. We need more space.") - if(resources >= fabrication_cost) - resources -= fabrication_cost - else - to_chat(src, "You do not have the necessary resources to fabricate this object.") - return - return new fabrication_object(loc) - -/mob/living/simple_animal/hostile/swarmer/proc/Integrate(atom/movable/target) - var/resource_gain = target.IntegrateAmount() - if(resources + resource_gain > max_resources) - to_chat(src, "We cannot hold more materials!") - return TRUE - if(resource_gain) - resources += resource_gain - do_attack_animation(target) - changeNext_move(CLICK_CD_MELEE) - var/obj/effect/temp_visual/swarmer/integrate/I = new /obj/effect/temp_visual/swarmer/integrate(get_turf(target)) - I.pixel_x = target.pixel_x - I.pixel_y = target.pixel_y - I.pixel_z = target.pixel_z - if(istype(target, /obj/item/stack)) - var/obj/item/stack/S = target - S.use(1) - if(S.amount) - return TRUE - qdel(target) - return TRUE - else - to_chat(src, "[target] is incompatible with our internal matter recycler.") - return FALSE - - -/mob/living/simple_animal/hostile/swarmer/proc/DisIntegrate(atom/movable/target) - new /obj/effect/temp_visual/swarmer/disintegration(get_turf(target)) - do_attack_animation(target) - changeNext_move(CLICK_CD_MELEE) - SSexplosions.lowobj += target - -/mob/living/simple_animal/hostile/swarmer/proc/DisperseTarget(mob/living/target) - if(target == src) - return - - to_chat(src, "Attempting to remove this being from our presence.") - - if(!do_after(src, 3 SECONDS, target)) - return - - var/turf/open/floor/F - F = find_safe_turf(zlevels = z, extended_safety_checks = TRUE) - - if(!F) - return - // If we're getting rid of a human, slap some energy cuffs on - // them to keep them away from us a little longer - - var/mob/living/carbon/human/H = target - if(ishuman(target) && (!H.handcuffed)) - H.handcuffed = new /obj/item/restraints/handcuffs/energy/used(H) - H.update_handcuffed() - log_combat(src, H, "handcuffed") - - var/datum/effect_system/spark_spread/S = new - S.set_up(4,0,get_turf(target)) - S.start() - playsound(src,'sound/effects/sparks4.ogg',50,TRUE) - do_teleport(target, F, 0, channel = TELEPORT_CHANNEL_BLUESPACE) - -/mob/living/simple_animal/hostile/swarmer/electrocute_act(shock_damage, source, siemens_coeff = 1, flags = NONE) - if(!(flags & SHOCK_TESLA)) - return FALSE - return ..() - -/mob/living/simple_animal/hostile/swarmer/proc/DismantleMachine(obj/machinery/target) - do_attack_animation(target) - to_chat(src, "We begin to dismantle this machine. We will need to be uninterrupted.") - var/obj/effect/temp_visual/swarmer/dismantle/D = new /obj/effect/temp_visual/swarmer/dismantle(get_turf(target)) - D.pixel_x = target.pixel_x - D.pixel_y = target.pixel_y - D.pixel_z = target.pixel_z - if(do_after(src, 10 SECONDS, target)) - to_chat(src, "Dismantling complete.") - var/atom/Tsec = target.drop_location() - new /obj/item/stack/sheet/metal(Tsec, 5) - for(var/obj/item/I in target.component_parts) - I.forceMove(Tsec) - var/obj/effect/temp_visual/swarmer/disintegration/N = new /obj/effect/temp_visual/swarmer/disintegration(get_turf(target)) - N.pixel_x = target.pixel_x - N.pixel_y = target.pixel_y - N.pixel_z = target.pixel_z - target.dropContents() - if(istype(target, /obj/machinery/computer)) - var/obj/machinery/computer/C = target - if(C.circuit) - C.circuit.forceMove(Tsec) - qdel(target) - - -/obj/effect/temp_visual/swarmer //temporary swarmer visual feedback objects - icon = 'icons/mob/swarmer.dmi' - layer = BELOW_MOB_LAYER - -/obj/effect/temp_visual/swarmer/disintegration - icon_state = "disintegrate" - duration = 10 - -/obj/effect/temp_visual/swarmer/disintegration/Initialize() - . = ..() - playsound(loc, "sparks", 100, TRUE) - -/obj/effect/temp_visual/swarmer/dismantle - icon_state = "dismantle" - duration = 25 - -/obj/effect/temp_visual/swarmer/integrate - icon_state = "integrate" - duration = 5 - -/obj/structure/swarmer //Default swarmer effect object visual feedback - name = "swarmer ui" - desc = null - gender = NEUTER - icon = 'icons/mob/swarmer.dmi' - icon_state = "ui_light" - layer = MOB_LAYER - resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF - light_color = LIGHT_COLOR_CYAN - max_integrity = 30 - anchored = TRUE - var/lon_range = 1 - -/obj/structure/swarmer/Initialize(mapload) - . = ..() - set_light(lon_range) - -/obj/structure/swarmer/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) - switch(damage_type) - if(BRUTE) - playsound(src, 'sound/weapons/egloves.ogg', 80, TRUE) - if(BURN) - playsound(src, 'sound/items/welder.ogg', 100, TRUE) - -/obj/structure/swarmer/emp_act() - . = ..() - if(. & EMP_PROTECT_SELF) - return - qdel(src) - -/obj/structure/swarmer/trap - name = "swarmer trap" - desc = "A quickly assembled trap that electrifies living beings and overwhelms machine sensors. Will not retain its form if damaged enough." - icon_state = "trap" - max_integrity = 10 - density = FALSE - -/obj/structure/swarmer/trap/Initialize(mapload) - . = ..() - var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = PROC_REF(on_entered), - ) - AddElement(/datum/element/connect_loc, loc_connections) - -/obj/structure/swarmer/trap/proc/on_entered(datum/source, atom/movable/AM) - SIGNAL_HANDLER - if(isliving(AM)) - var/mob/living/L = AM - if(!istype(L, /mob/living/simple_animal/hostile/swarmer)) - playsound(loc,'sound/effects/snap.ogg',50, TRUE, -1) - L.electrocute_act(0, src, 1, flags = SHOCK_NOGLOVES|SHOCK_ILLUSION) - if(iscyborg(L)) - L.Paralyze(100) - qdel(src) - -/mob/living/simple_animal/hostile/swarmer/proc/CreateTrap() - set name = "Create trap" - set category = "Swarmer" - set desc = "Creates a simple trap that will non-lethally electrocute anything that steps on it. Costs 5 resources." - if(locate(/obj/structure/swarmer/trap) in loc) - to_chat(src, "There is already a trap here. Aborting.") - return - Fabricate(/obj/structure/swarmer/trap, 5) - - -/mob/living/simple_animal/hostile/swarmer/proc/CreateBarricade() - set name = "Create barricade" - set category = "Swarmer" - set desc = "Creates a barricade that will stop anything but swarmers and disabler beams from passing through." - if(locate(/obj/structure/swarmer/blockade) in loc) - to_chat(src, "There is already a blockade here. Aborting.") - return - if(resources < 5) - to_chat(src, "We do not have the resources for this!") - return - if(do_after(src, 1 SECONDS)) - Fabricate(/obj/structure/swarmer/blockade, 5) - - -/obj/structure/swarmer/blockade - name = "swarmer blockade" - desc = "A quickly assembled energy blockade. Will not retain its form if damaged enough, but disabler beams and swarmers pass right through." - icon_state = "barricade" - light_range = MINIMUM_USEFUL_LIGHT_RANGE - max_integrity = 50 - -/obj/structure/swarmer/blockade/CanAllowThrough(atom/movable/O) - . = ..() - if(isswarmer(O)) - return TRUE - if(istype(O, /obj/projectile/beam/disabler)) - return TRUE - -/mob/living/simple_animal/hostile/swarmer/proc/CreateSwarmer() - set name = "Replicate" - set category = "Swarmer" - set desc = "Creates a shell for a new swarmer. Swarmers will self activate." - to_chat(src, "We are attempting to replicate ourselves. We will need to stand still until the process is complete.") - if(resources < 50) - to_chat(src, "We do not have the resources for this!") - return - if(!isturf(loc)) - to_chat(src, "This is not a suitable location for replicating ourselves. We need more room.") - return - if(do_after(src, 10 SECONDS)) - var/createtype = SwarmerTypeToCreate() - if(createtype && Fabricate(createtype, 50)) - playsound(loc,'sound/items/poster_being_created.ogg',50, TRUE, -1) - - -/mob/living/simple_animal/hostile/swarmer/proc/SwarmerTypeToCreate() - return /obj/effect/mob_spawn/swarmer - - -/mob/living/simple_animal/hostile/swarmer/proc/RepairSelf() - set name = "Self Repair" - set category = "Swarmer" - set desc = "Attempts to repair damage to our body. You will have to remain motionless until repairs are complete." - if(!isturf(loc)) - return - to_chat(src, "Attempting to repair damage to our body, stand by...") - if(do_after(src, 10 SECONDS)) - adjustHealth(-100) - to_chat(src, "We successfully repaired ourselves.") - -/mob/living/simple_animal/hostile/swarmer/proc/ToggleLight() - if(!light_range) - set_light(3) - else - set_light(0) - -/mob/living/simple_animal/hostile/swarmer/proc/swarmer_chat(msg) - var/rendered = "Swarm communication - [src] [say_quote(msg)]" - for(var/i in GLOB.mob_list) - var/mob/M = i - if(isswarmer(M)) - to_chat(M, rendered) - if(isobserver(M)) - var/link = FOLLOW_LINK(M, src) - to_chat(M, "[link] [rendered]") - -/mob/living/simple_animal/hostile/swarmer/proc/ContactSwarmers() - var/message = stripped_input(src, "Announce to other swarmers", "Swarmer contact") - // TODO get swarmers their own colour rather than just boldtext - if(message) - swarmer_chat(message) diff --git a/code/modules/antagonists/swarmer/swarmer_event.dm b/code/modules/antagonists/swarmer/swarmer_event.dm deleted file mode 100644 index e086485a49cf..000000000000 --- a/code/modules/antagonists/swarmer/swarmer_event.dm +++ /dev/null @@ -1,28 +0,0 @@ -/datum/round_event_control/spawn_swarmer - name = "Spawn Swarmer Shell" - typepath = /datum/round_event/spawn_swarmer - weight = 7 - max_occurrences = 1 //Only once okay fam - earliest_start = 30 MINUTES - min_players = 15 - - -/datum/round_event/spawn_swarmer - -/datum/round_event/spawn_swarmer/start() - if(find_swarmer()) - return 0 - if(!GLOB.the_gateway) - return 0 - new /obj/effect/mob_spawn/swarmer(get_turf(GLOB.the_gateway)) - if(prob(25)) //25% chance to announce it to the crew - var/swarmer_report = "[command_name()] High-Priority Update" - swarmer_report += "

    Our long-range sensors have detected an odd signal emanating from your station's gateway. We recommend immediate investigation of your gateway, as something may have come through." - print_command_report(swarmer_report, announce=TRUE) - -/datum/round_event/spawn_swarmer/proc/find_swarmer() - for(var/i in GLOB.mob_living_list) - var/mob/living/L = i - if(istype(L, /mob/living/simple_animal/hostile/swarmer) && L.client) //If there is a swarmer with an active client, we've found our swarmer - return 1 - return 0 diff --git a/code/modules/antagonists/wizard/equipment/soulstone.dm b/code/modules/antagonists/wizard/equipment/soulstone.dm deleted file mode 100644 index c426b953f725..000000000000 --- a/code/modules/antagonists/wizard/equipment/soulstone.dm +++ /dev/null @@ -1,354 +0,0 @@ -/obj/item/soulstone - name = "soulstone shard" - icon = 'icons/obj/wizard.dmi' - icon_state = "soulstone" - item_state = "electronic" - lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' - righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - layer = HIGH_OBJ_LAYER - desc = "A fragment of the legendary treasure known simply as the 'Soul Stone'. The shard still flickers with a fraction of the full artefact's power." - w_class = WEIGHT_CLASS_TINY - slot_flags = ITEM_SLOT_BELT - var/usability = FALSE - - var/old_shard = FALSE - var/spent = FALSE - var/purified = FALSE - -/obj/item/soulstone/proc/was_used() - if(old_shard) - spent = TRUE - name = "dull [name]" - desc = "A fragment of the legendary treasure known simply as \ - the 'Soul Stone'. The shard lies still, dull and lifeless; \ - whatever spark it once held long extinguished." - -/obj/item/soulstone/anybody - usability = TRUE - -/obj/item/soulstone/anybody/revolver - old_shard = TRUE - -/obj/item/soulstone/anybody/purified - icon = 'icons/obj/wizard.dmi' - icon_state = "purified_soulstone" - purified = TRUE - -/obj/item/soulstone/anybody/chaplain - name = "mysterious old shard" - old_shard = TRUE - -/obj/item/soulstone/pickup(mob/living/user) - ..() - if(!iscultist(user) && !iswizard(user) && !usability) - to_chat(user, "An overwhelming feeling of dread comes over you as you pick up the soulstone. It would be wise to be rid of this quickly.") - -/obj/item/soulstone/examine(mob/user) - . = ..() - if(usability || iscultist(user) || iswizard(user) || isobserver(user)) - if (old_shard) - . += "A soulstone, used to capture a soul, either from dead humans or from freed shades." - else - . += "A soulstone, used to capture souls, either from unconscious or sleeping humans or from freed shades." - . += "The captured soul can be placed into a construct shell to produce a construct, or released from the stone as a shade." - if(spent) - . += "This shard is spent; it is now just a creepy rock." - -/obj/item/soulstone/Destroy() //Stops the shade from being qdel'd immediately and their ghost being sent back to the arrival shuttle. - for(var/mob/living/simple_animal/shade/A in src) - A.death() - return ..() - -/obj/item/soulstone/proc/hot_potato(mob/living/user) - to_chat(user, "Holy magics residing in \the [src] burn your hand!") - var/obj/item/bodypart/affecting = user.get_bodypart("[(user.active_hand_index % 2 == 0) ? "r" : "l" ]_arm") - affecting.receive_damage(0, 10) // 10 burn damage - user.emote("scream") - user.update_damage_overlays() - user.dropItemToGround(src) - -//////////////////////////////Capturing//////////////////////////////////////////////////////// - -/obj/item/soulstone/attack(mob/living/carbon/human/M, mob/living/user) - if(!iscultist(user) && !iswizard(user) && !usability) - user.Unconscious(100) - to_chat(user, "Your body is wracked with debilitating pain!") - return - if(spent) - to_chat(user, "There is no power left in the shard.") - return - if(!ishuman(M))//If target is not a human. - return ..() - if((M.mind && !M.mind.hasSoul) || is_devil(M)) - to_chat(user, "This... thing has no soul! It's filled with evil!") - return - if(iscultist(M)) - if(iscultist(user)) - to_chat(user, "\"Come now, do not capture your bretheren's soul.\"") - return - if(purified && iscultist(user)) - hot_potato(user) - return - log_combat(user, M, "captured [M.name]'s soul", src) - transfer_soul("VICTIM", M, user) - -///////////////////Options for using captured souls/////////////////////////////////////// - -/obj/item/soulstone/attack_self(mob/living/user) - if(!in_range(src, user)) - return - if(!iscultist(user) && !iswizard(user) && !usability) - user.Unconscious(100) - to_chat(user, "Your body is wracked with debilitating pain!") - return - if(purified && iscultist(user)) - hot_potato(user) - return - release_shades(user) - -/obj/item/soulstone/proc/release_shades(mob/user) - for(var/mob/living/simple_animal/shade/A in src) - A.forceMove(get_turf(user)) - A.cancel_camera() - if(purified) - icon_state = "purified_soulstone" - A.icon_state = "shade_angelic" - A.name = "Purified [initial(A.name)]" - else - icon_state = "soulstone" - name = initial(name) - if(iswizard(user) || usability) - to_chat(A, "You have been released from your prison, but you are still bound to [user.real_name]'s will. Help [user.p_them()] succeed in [user.p_their()] goals at all costs.") - else if(iscultist(user)) - to_chat(A, "You have been released from your prison, but you are still bound to the cult's will. Help them succeed in their goals at all costs.") - was_used() - -///////////////////////////Transferring to constructs///////////////////////////////////////////////////// -/obj/structure/constructshell - name = "empty shell" - icon = 'icons/obj/wizard.dmi' - icon_state = "construct_cult" - desc = "A wicked machine used by those skilled in magical arts. It is inactive." - -/obj/structure/constructshell/examine(mob/user) - . = ..() - if(iscultist(user) || iswizard(user) || user.stat == DEAD) - . += {"A construct shell, used to house bound souls from a soulstone.\n - Placing a soulstone with a soul into this shell allows you to produce your choice of the following:\n - An Artificer, which can produce more shells and soulstones, as well as fortifications.\n - A Wraith, which does high damage and can jaunt through walls, though it is quite fragile.\n - A Juggernaut, which is very hard to kill and can produce temporary walls, but is slow."} - -/obj/structure/constructshell/attackby(obj/item/O, mob/user, params) - if(istype(O, /obj/item/soulstone)) - var/obj/item/soulstone/SS = O - if(!iscultist(user) && !iswizard(user) && !SS.purified) - to_chat(user, "An overwhelming feeling of dread comes over you as you attempt to place the soulstone into the shell. It would be wise to be rid of this quickly.") - user.Dizzy(30) - return - if(SS.purified && iscultist(user)) - SS.hot_potato(user) - return - SS.transfer_soul("CONSTRUCT",src,user) - SS.was_used() - else - return ..() - -////////////////////////////Proc for moving soul in and out off stone////////////////////////////////////// - - -/obj/item/soulstone/proc/transfer_soul(choice as text, target, mob/user) - switch(choice) - if("FORCE") - if(!iscarbon(target)) //TODO: Add sacrifice stoning for non-organics, just because you have no body doesnt mean you dont have a soul - return FALSE - if(contents.len) - return FALSE - var/mob/living/carbon/T = target - if(T.client != null) - for(var/obj/item/W in T) - T.dropItemToGround(W) - init_shade(T, user) - return TRUE - else - to_chat(user, "Capture failed!: The soul has already fled its mortal frame. You attempt to bring it back...") - return getCultGhost(T,user) - - if("VICTIM") - var/mob/living/carbon/human/T = target - var/datum/antagonist/cult/C = user.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - if(C && C.cult_team.is_sacrifice_target(T.mind)) - if(iscultist(user)) - to_chat(user, "\"This soul is mine. SACRIFICE THEM!\"") - else - to_chat(user, "The soulstone seems to reject this soul.") - return FALSE - if(contents.len) - to_chat(user, "Capture failed!: The soulstone is full! Free an existing soul to make room.") - else - if((!old_shard && T.stat != CONSCIOUS) || (old_shard && T.stat == DEAD)) - if(T.client == null) - to_chat(user, "Capture failed!: The soul has already fled its mortal frame. You attempt to bring it back...") - getCultGhost(T,user) - else - for(var/obj/item/W in T) - T.dropItemToGround(W) - init_shade(T, user, message_user = 1) - qdel(T) - else - to_chat(user, "Capture failed!: Kill or maim the victim first!") - - if("SHADE") - var/mob/living/simple_animal/shade/T = target - if(contents.len) - to_chat(user, "Capture failed!: The soulstone is full! Free an existing soul to make room.") - else - T.AddComponent(/datum/component/soulstoned, src) - if(purified) - icon_state = "purified_soulstone2" - if(iscultist(T)) - SSticker.mode.remove_cultist(T.mind, FALSE, FALSE) - else - icon_state = "soulstone2" - name = "soulstone: Shade of [T.real_name]" - to_chat(T, "Your soul has been captured by the soulstone. Its arcane energies are reknitting your ethereal form.") - if(user != T) - to_chat(user, "Capture successful!: [T.real_name]'s soul has been captured and stored within the soulstone.") - - if("CONSTRUCT") - var/obj/structure/constructshell/T = target - var/mob/living/simple_animal/shade/A = locate() in src - if(A) - var/list/constructs = list( - "Juggernaut" = image(icon = 'icons/mob/cult.dmi', icon_state = "juggernaut"), - "Wraith" = image(icon = 'icons/mob/cult.dmi', icon_state = "wraith"), - "Artificer" = image(icon = 'icons/mob/cult.dmi', icon_state = "artificer") - ) - var/construct_class = show_radial_menu(user, src, constructs, custom_check = CALLBACK(src, PROC_REF(check_menu), user), require_near = TRUE, tooltips = TRUE) - if(!T || !T.loc) - return - switch(construct_class) - if("Juggernaut") - if(iscultist(user) || iswizard(user)) - makeNewConstruct(/mob/living/simple_animal/hostile/construct/juggernaut, A, user, 0, T.loc) - else - if(purified) - makeNewConstruct(/mob/living/simple_animal/hostile/construct/juggernaut/angelic, A, user, 0, T.loc) - else - makeNewConstruct(/mob/living/simple_animal/hostile/construct/juggernaut/noncult, A, user, 0, T.loc) - if("Wraith") - if(iscultist(user) || iswizard(user)) - makeNewConstruct(/mob/living/simple_animal/hostile/construct/wraith, A, user, 0, T.loc) - else - if(purified) - makeNewConstruct(/mob/living/simple_animal/hostile/construct/wraith/angelic, A, user, 0, T.loc) - else - makeNewConstruct(/mob/living/simple_animal/hostile/construct/wraith/noncult, A, user, 0, T.loc) - if("Artificer") - if(iscultist(user) || iswizard(user)) - makeNewConstruct(/mob/living/simple_animal/hostile/construct/artificer, A, user, 0, T.loc) - else - if(purified) - makeNewConstruct(/mob/living/simple_animal/hostile/construct/artificer/angelic, A, user, 0, T.loc) - else - makeNewConstruct(/mob/living/simple_animal/hostile/construct/artificer/noncult, A, user, 0, T.loc) - else - return - for(var/datum/mind/B in SSticker.mode.cult) - if(B == A.mind) - SSticker.mode.remove_cultist(A.mind) - qdel(T) - qdel(src) - else - to_chat(user, "Creation failed!: The soul stone is empty! Go kill someone!") - -/obj/item/soulstone/proc/check_menu(mob/user) - if(!istype(user)) - return FALSE - if(user.incapacitated() || !user.Adjacent(src)) - return FALSE - return TRUE - -/proc/makeNewConstruct(mob/living/simple_animal/hostile/construct/ctype, mob/target, mob/stoner = null, cultoverride = 0, loc_override = null) - if(QDELETED(target)) - return - var/mob/living/simple_animal/hostile/construct/newstruct = new ctype((loc_override) ? (loc_override) : (get_turf(target))) - var/makeicon = newstruct.icon_state - var/holyness = newstruct.holy - flick("make_[makeicon][holyness]", newstruct) - playsound(newstruct, 'sound/effects/constructform.ogg', 50) - if(stoner) - newstruct.faction |= "[REF(stoner)]" - newstruct.master = stoner - var/datum/action/innate/seek_master/SM = new() - SM.Grant(newstruct) - newstruct.key = target.key - var/atom/movable/screen/alert/bloodsense/BS - if(newstruct.mind && ((stoner && iscultist(stoner)) || cultoverride) && SSticker && SSticker.mode) - SSticker.mode.add_cultist(newstruct.mind, 0) - if(iscultist(stoner) || cultoverride) - to_chat(newstruct, "You are still bound to serve the cult[stoner ? " and [stoner]":""], follow [stoner ? stoner.p_their() : "their"] orders and help [stoner ? stoner.p_them() : "them"] complete [stoner ? stoner.p_their() : "their"] goals at all costs.") - else if(stoner) - to_chat(newstruct, "You are still bound to serve your creator, [stoner], follow [stoner.p_their()] orders and help [stoner.p_them()] complete [stoner.p_their()] goals at all costs.") - newstruct.clear_alert("bloodsense") - BS = newstruct.throw_alert("bloodsense", /atom/movable/screen/alert/bloodsense) - if(BS) - BS.Cviewer = newstruct - newstruct.cancel_camera() - - -/obj/item/soulstone/proc/init_shade(mob/living/carbon/human/T, mob/user, message_user = 0 , mob/shade_controller) - if(!shade_controller) - shade_controller = T - new /obj/effect/decal/remains/human(T.loc) //Spawns a skeleton - T.stop_sound_channel(CHANNEL_HEARTBEAT) - T.invisibility = INVISIBILITY_ABSTRACT - T.dust_animation() - var/mob/living/simple_animal/shade/S = new /mob/living/simple_animal/shade(src) - S.AddComponent(/datum/component/soulstoned, src) - S.name = "Shade of [T.real_name]" - S.real_name = "Shade of [T.real_name]" - S.key = shade_controller.key - S.copy_languages(T, LANGUAGE_MIND)//Copies the old mobs languages into the new mob holder. - S.copy_languages(user, LANGUAGE_MASTER) - S.update_atom_languages() - grant_all_languages(FALSE, FALSE, TRUE) //Grants omnitongue - if(user) - S.faction |= "[REF(user)]" //Add the master as a faction, allowing inter-mob cooperation - if(user && iscultist(user)) - SSticker.mode.add_cultist(S.mind, 0) - S.cancel_camera() - name = "soulstone: Shade of [T.real_name]" - if(purified) - icon_state = "purified_soulstone2" - else - icon_state = "soulstone2" - if(user && (iswizard(user) || usability)) - to_chat(S, "Your soul has been captured! You are now bound to [user.real_name]'s will. Help [user.p_them()] succeed in [user.p_their()] goals at all costs.") - else if(user && iscultist(user)) - to_chat(S, "Your soul has been captured! You are now bound to the cult's will. Help them succeed in their goals at all costs.") - if(message_user && user) - to_chat(user, "Capture successful!: [T.real_name]'s soul has been ripped from [T.p_their()] body and stored within the soul stone.") - - -/obj/item/soulstone/proc/getCultGhost(mob/living/carbon/human/T, mob/user) - var/mob/dead/observer/chosen_ghost - - chosen_ghost = T.get_ghost(TRUE,TRUE) //Try to grab original owner's ghost first - - if(!chosen_ghost || !chosen_ghost.client) //Failing that, we grab a ghosts - var/list/consenting_candidates = pollGhostCandidates("Would you like to play as a Shade?", "Cultist", null, ROLE_CULTIST, 50, POLL_IGNORE_SHADE) - if(consenting_candidates.len) - chosen_ghost = pick(consenting_candidates) - if(!T) - return FALSE - if(!chosen_ghost || !chosen_ghost.client) - to_chat(user, "There were no spirits willing to become a shade.") - return FALSE - if(contents.len) //If they used the soulstone on someone else in the meantime - return FALSE - for(var/obj/item/W in T) - T.dropItemToGround(W) - init_shade(T, user , shade_controller = chosen_ghost) - qdel(T) - return TRUE diff --git a/code/modules/antagonists/wizard/equipment/spellbook.dm b/code/modules/antagonists/wizard/equipment/spellbook.dm index 9f4349a2bbc8..4bd2f5c8a525 100644 --- a/code/modules/antagonists/wizard/equipment/spellbook.dm +++ b/code/modules/antagonists/wizard/equipment/spellbook.dm @@ -281,18 +281,6 @@ item_path = /obj/item/scrying category = "Defensive" -/datum/spellbook_entry/item/soulstones - name = "Six Soul Stone Shards and the spell Artificer" - desc = "Soul Stone Shards are ancient tools capable of capturing and harnessing the spirits of the dead and dying. The spell Artificer allows you to create arcane machines for the captured souls to pilot." - item_path = /obj/item/storage/belt/soulstone/full - category = "Assistance" - -/datum/spellbook_entry/item/soulstones/Buy(mob/living/carbon/human/user,obj/item/spellbook/book) - . =..() - if(.) - user.mind.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/conjure/construct(null)) - return . - /datum/spellbook_entry/item/necrostone name = "A Necromantic Stone" desc = "A Necromantic stone is able to resurrect three dead individuals as skeletal thralls for you to command." diff --git a/code/modules/asset_cache/asset_list_items.dm b/code/modules/asset_cache/asset_list_items.dm index 635e589ecd36..031ce60755e8 100644 --- a/code/modules/asset_cache/asset_list_items.dm +++ b/code/modules/asset_cache/asset_list_items.dm @@ -253,7 +253,6 @@ "hierophant" = 'icons/UI_Icons/Achievements/Boss/hierophant.png', "legion" = 'icons/UI_Icons/Achievements/Boss/legion.png', "miner" = 'icons/UI_Icons/Achievements/Boss/miner.png', - "swarmer" = 'icons/UI_Icons/Achievements/Boss/swarmer.png', "tendril" = 'icons/UI_Icons/Achievements/Boss/tendril.png', "featofstrength" = 'icons/UI_Icons/Achievements/Misc/featofstrength.png', "helbital" = 'icons/UI_Icons/Achievements/Misc/helbital.png', diff --git a/code/modules/awaymissions/mission_code/snowdin.dm b/code/modules/awaymissions/mission_code/snowdin.dm index 0f76623f617c..c12b09fa4e05 100644 --- a/code/modules/awaymissions/mission_code/snowdin.dm +++ b/code/modules/awaymissions/mission_code/snowdin.dm @@ -129,12 +129,6 @@ dynamic_lighting = DYNAMIC_LIGHTING_ENABLED requires_power = TRUE -/area/shuttle/snowdin/elevator1 - name = "Excavation Elevator" - -/area/shuttle/snowdin/elevator2 - name = "Mining Elevator" - //liquid plasma!!!!!!// /turf/open/floor/plasteel/dark/snowdin diff --git a/code/modules/awaymissions/mission_code/stationCollision.dm b/code/modules/awaymissions/mission_code/stationCollision.dm deleted file mode 100644 index 52c2a964cec4..000000000000 --- a/code/modules/awaymissions/mission_code/stationCollision.dm +++ /dev/null @@ -1,155 +0,0 @@ -/* Station-Collision(sc) away mission map specific stuff - * - * Notes: - * Feel free to use parts of this map, or even all of it for your own project. Just include me in the credits :) - * - * Some of this code unnecessary, but the intent is to add a little bit of everything to serve as examples - * for anyone who wants to make their own stuff. - * - * Contains: - * Landmarks - * Guns - * Safe code hints - * Captain's safe - * Modified Nar'Sie - */ - - - -/* - * Landmarks - Instead of spawning a new object type, I'll spawn the bible using a landmark! - */ -/obj/effect/landmark/sc_bible_spawner - name = "Safecode hint spawner" - -/obj/effect/landmark/sc_bible_spawner/Initialize() - ..() - var/obj/item/storage/book/bible/B = new /obj/item/storage/book/bible/booze(loc) - B.name = "The Holy book of the Geometer" - B.deity_name = "Narsie" - B.icon_state = "melted" - B.item_state = "melted" - B.lefthand_file = 'icons/mob/inhands/misc/books_lefthand.dmi' - B.righthand_file = 'icons/mob/inhands/misc/books_righthand.dmi' - new /obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_bible(B) - new /obj/item/pen(B) - return INITIALIZE_HINT_QDEL - -/* - * Guns - I'm making these specifically so that I dont spawn a pile of fully loaded weapons on the map. - */ -//Captain's retro laser - Fires practice laser shots instead. -/obj/item/gun/energy/laser/retro/sc_retro - name ="retro laser" - icon_state = "retro" - desc = "An older model of the basic lasergun, no longer used by Nanotrasen's security or military forces." -// projectile_type = "/obj/projectile/practice" - -//Syndicate sub-machine guns. -/obj/item/gun/ballistic/automatic/smg/cobra/sc_c20r - -/obj/item/gun/ballistic/automatic/smg/cobra/sc_c20r/Initialize() - . = ..() - for(var/ammo in magazine.stored_ammo) - if(prob(95)) //95% chance - magazine.stored_ammo -= ammo - -//Barman's shotgun -/obj/item/gun/ballistic/shotgun/sc_pump - -/obj/item/gun/ballistic/shotgun/sc_pump/Initialize() - . = ..() - for(var/ammo in magazine.stored_ammo) - if(prob(95)) //95% chance - magazine.stored_ammo -= ammo - -//Lasers -/obj/item/gun/energy/laser/practice/sc_laser - name = "Old laser" - desc = "A once potent weapon, years of dust have collected in the chamber and lens of this weapon, weakening the beam significantly." - -/* - * Safe code hints - */ - -//These vars hold the code itself, they'll be generated at round-start -GLOBAL_VAR_INIT(sc_safecode1, "[rand(0,9)]") -GLOBAL_VAR_INIT(sc_safecode2, "[rand(0,9)]") -GLOBAL_VAR_INIT(sc_safecode3, "[rand(0,9)]") -GLOBAL_VAR_INIT(sc_safecode4, "[rand(0,9)]") -GLOBAL_VAR_INIT(sc_safecode5, "[rand(0,9)]") - -//Pieces of paper actually containing the hints -/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_prison - name = "smudged paper" - -/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_prison/Initialize() - . = ..() - default_raw_text = "The ink is smudged, you can only make out a couple numbers: '[GLOB.sc_safecode1]**[GLOB.sc_safecode4]*'" - -/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_hydro - name = "shredded paper" -/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_hydro/Initialize() - . = ..() - default_raw_text = "Although the paper is shredded, you can clearly see the number: '[GLOB.sc_safecode2]'" - -/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_caf - name = "blood-soaked paper" - //This does not have to be in New() because it is a constant. There are no variables in it i.e. [sc_safcode] - default_raw_text = "This paper is soaked in blood, it is impossible to read any text." - -/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_bible - name = "hidden paper" -/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_bible/Initialize() - . = ..() - default_raw_text = {"It would appear that the pen hidden with the paper had leaked ink over the paper. - However you can make out the last three digits:'[GLOB.sc_safecode3][GLOB.sc_safecode4][GLOB.sc_safecode5]' - "} - -/obj/item/paper/fluff/awaymissions/stationcollision/safehint_paper_shuttle - default_raw_text = {"Target: Research-station Epsilon
    - Objective: Prototype weaponry. The captain likely keeps them locked in her safe.
    -
    - Our on-board spy has learned the code and has hidden away a few copies of the code around the station. Unfortunatly he has been captured by security - Your objective is to split up, locate any of the papers containing the captain's safe code, open the safe and - secure anything found inside. If possible, recover the imprisioned syndicate operative and receive the code from him.
    -
    - As always, eliminate anyone who gets in the way.
    -
    - Your assigned ship is designed specifically for penetrating the hull of another station or ship with minimal damage to operatives. - It is completely fly-by-wire meaning you have just have to enjoy the ride and when the red light comes on... find something to hold onto! - "} -/* - * Captain's safe - */ -/obj/item/storage/secure/safe/sc_ssafe - name = "Captain's secure safe" - -/obj/item/storage/secure/safe/sc_ssafe/Initialize() - . = ..() - l_code = "[GLOB.sc_safecode1][GLOB.sc_safecode2][GLOB.sc_safecode3][GLOB.sc_safecode4][GLOB.sc_safecode5]" - l_set = 1 - new /obj/item/gun/energy/mindflayer(src) - new /obj/item/soulstone(src) - new /obj/item/clothing/suit/space/hardsuit/cult(src) - //new /obj/item/teleportation_scroll(src) - new /obj/item/stack/ore/diamond(src) - -/* - * Modified Nar'Sie - */ -/obj/singularity/narsie/mini - desc = "Your body becomes weak and your feel your mind slipping away as you try to comprehend what you know can't be possible." - move_self = 0 //Contianed narsie does not move! - grav_pull = 0 //Contained narsie does not pull stuff in! -//Override this to prevent no adminlog runtimes and admin warnings about a singularity without containment -/obj/singularity/narsie/mini/admin_investigate_setup() - return - -/obj/singularity/narsie/mini/process() - eat() - if(prob(25)) - mezzer() - -/obj/singularity/narsie/mini/ex_act() - return diff --git a/code/modules/cargo/exports/lavaland.dm b/code/modules/cargo/exports/lavaland.dm index e098e0623725..1f3af2705844 100644 --- a/code/modules/cargo/exports/lavaland.dm +++ b/code/modules/cargo/exports/lavaland.dm @@ -9,10 +9,6 @@ /obj/item/book_of_babel, /obj/item/wisp_lantern, /obj/item/reagent_containers/glass/bottle/potion/flight, - // [CELADON-ADD] - CELADON_RETURN_CONTENT - /obj/item/clothing/glasses/godeye, - // [/CELADON-ADD] - /obj/item/clothing/suit/space/hardsuit/cult, /obj/item/voodoo, /obj/item/grenade/clusterbuster/inferno, /obj/item/clothing/neck/memento_mori, diff --git a/code/modules/cargo/exports/parts.dm b/code/modules/cargo/exports/parts.dm index ca9666a42108..34f69c28cdb0 100644 --- a/code/modules/cargo/exports/parts.dm +++ b/code/modules/cargo/exports/parts.dm @@ -15,13 +15,6 @@ unit_name = "solar panel control board" export_types = list(/obj/item/circuitboard/computer/solar_control) -/datum/export/swarmer - cost = 2000 - unit_name = "deactivated alien deconstruction drone" - export_types = list(/obj/item/deactivated_swarmer) - -//[CELADON-REMOVE] - CELADON_FIXES - говорят экономику ломают -/* //Computer Tablets and Parts /datum/export/modular_part cost = 15 diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 6fb094628cfb..86a168f41c2a 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1420,7 +1420,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Hide Prayers: [(chat_toggles & CHAT_PRAYER)?"Shown":"Hidden"]
    " dat += "Split Admin Tabs: [(toggles & SPLIT_ADMIN_TABS)?"Enabled":"Disabled"]
    " dat += "Fast MC Refresh: [(toggles & FAST_MC_REFRESH)?"Enabled":"Disabled"]
    " - dat += "Ignore Being Summoned as Cult Ghost: [(toggles & ADMIN_IGNORE_CULT_GHOST)?"Don't Allow Being Summoned":"Allow Being Summoned"]
    " dat += "Briefing Officer Outfit: [brief_outfit]
    " if(CONFIG_GET(flag/allow_admin_asaycolor)) dat += "
    " @@ -2638,8 +2637,6 @@ GLOBAL_LIST_EMPTY(preferences_datums) toggles ^= DEADMIN_POSITION_SECURITY if("toggle_deadmin_silicon") toggles ^= DEADMIN_POSITION_SILICON - if("toggle_ignore_cult_ghost") - toggles ^= ADMIN_IGNORE_CULT_GHOST if("be_special") var/be_special_type = href_list["be_special_type"] diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm index cf5c85102870..ff98765ccc99 100644 --- a/code/modules/clothing/outfits/standard.dm +++ b/code/modules/clothing/outfits/standard.dm @@ -96,13 +96,6 @@ W.update_label() ..() -/datum/outfit/ghost_cultist - name = "Cultist Ghost" - - uniform = /obj/item/clothing/under/color/black/ghost - suit = /obj/item/clothing/suit/hooded/cultrobes/alt/ghost - shoes = /obj/item/clothing/shoes/cult/alt/ghost - /datum/outfit/wizard name = "Blue Wizard" diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index ad130ea45fac..234917e03d6d 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -126,29 +126,6 @@ icon_state = "explorer" resistance_flags = FIRE_PROOF -/obj/item/clothing/shoes/cult - name = "\improper Nar'Sien invoker boots" - desc = "A pair of boots worn by the followers of Nar'Sie." - icon_state = "cult" - item_state = "cult" - cold_protection = FEET - min_cold_protection_temperature = SHOES_MIN_TEMP_PROTECT - heat_protection = FEET - max_heat_protection_temperature = SHOES_MAX_TEMP_PROTECT - lace_time = 10 SECONDS - greyscale_icon_state = "boots" - -/obj/item/clothing/shoes/cult/alt - name = "cultist boots" - icon_state = "cultalt" - -/obj/item/clothing/shoes/cult/alt/ghost - item_flags = DROPDEL - -/obj/item/clothing/shoes/cult/alt/ghost/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_NODROP, CULT_TRAIT) - /obj/item/clothing/shoes/laceup name = "laceup shoes" desc = "The height of fashion, and they're pre-polished!" diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index bbd0d962601f..a6f3bfa7cf9d 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -15,7 +15,7 @@ /obj/item/clothing/under/color/random/Initialize() ..() - var/obj/item/clothing/under/color/C = pick(subtypesof(/obj/item/clothing/under/color) - typesof(/obj/item/clothing/under/color/jumpskirt) - /obj/item/clothing/under/color/random - /obj/item/clothing/under/color/grey/ancient - /obj/item/clothing/under/color/black/ghost) + var/obj/item/clothing/under/color/C = pick(subtypesof(/obj/item/clothing/under/color) - typesof(/obj/item/clothing/under/color/jumpskirt) - /obj/item/clothing/under/color/random - /obj/item/clothing/under/color/grey/ancient) if(ishuman(loc)) var/mob/living/carbon/human/H = loc H.equip_to_slot_or_del(new C(H), ITEM_SLOT_ICLOTHING) //or else you end up with naked assistants running around everywhere... @@ -48,13 +48,6 @@ icon_state = "black_skirt" item_state = "bl_suit" -/obj/item/clothing/under/color/black/ghost - item_flags = DROPDEL - -/obj/item/clothing/under/color/black/ghost/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_NODROP, CULT_TRAIT) - /obj/item/clothing/under/color/grey name = "grey jumpsuit" desc = "A tasteful grey jumpsuit that reminds you of the good old days." diff --git a/code/modules/events/devil.dm b/code/modules/events/devil.dm deleted file mode 100644 index 656888f068bc..000000000000 --- a/code/modules/events/devil.dm +++ /dev/null @@ -1,53 +0,0 @@ -/datum/round_event_control/devil - name = "Create Devil" - typepath = /datum/round_event/ghost_role/devil - max_occurrences = 0 - -/datum/round_event/ghost_role/devil - var/success_spawn = 0 - role_name = "devil" - fakeable = FALSE - -/datum/round_event/ghost_role/devil/kill() - if(!success_spawn && control) - control.occurrences-- - return ..() - -/datum/round_event/ghost_role/devil/spawn_role() - //selecting a candidate player - var/list/candidates = get_candidates(ROLE_DEVIL, null, ROLE_DEVIL) - if(!candidates.len) - return NOT_ENOUGH_PLAYERS - - var/mob/dead/selected_candidate = pick_n_take(candidates) - var/key = selected_candidate.key - - var/datum/mind/Mind = create_devil_mind(key) - Mind.active = 1 - - var/mob/living/carbon/human/devil = create_event_devil() - Mind.transfer_to(devil) - add_devil(devil, ascendable = FALSE) - - spawned_mobs += devil - message_admins("[ADMIN_LOOKUPFLW(devil)] has been made into a devil by an event.") - log_game("[key_name(devil)] was spawned as a devil by an event.") - var/datum/job/jobdatum = new /datum/job/assistant() - devil.job = jobdatum.name - jobdatum.equip(devil) - return SUCCESSFUL_SPAWN - - -/proc/create_event_devil(spawn_loc) - var/mob/living/carbon/human/new_devil = new(spawn_loc) - var/datum/preferences/A = new() //Randomize appearance for the devil. - A.copy_to(new_devil) - new_devil.dna.update_dna_identity() - return new_devil - -/proc/create_devil_mind(key) - var/datum/mind/Mind = new /datum/mind(key) - Mind.assigned_role = ROLE_DEVIL - Mind.special_role = ROLE_DEVIL - SSticker.mode.devils |= Mind - return Mind diff --git a/code/modules/events/major_dust.dm b/code/modules/events/major_dust.dm deleted file mode 100644 index 7fb00124a94d..000000000000 --- a/code/modules/events/major_dust.dm +++ /dev/null @@ -1,19 +0,0 @@ -/datum/round_event_control/meteor_wave/major_dust - name = "Major Space Dust" - typepath = /datum/round_event/meteor_wave/major_dust - weight = 8 - -/datum/round_event/meteor_wave/major_dust - wave_name = "space dust" - -/datum/round_event/meteor_wave/major_dust/announce(fake) - var/reason = pick( - "The station is passing through a debris cloud, expect minor damage \ - to external fittings and fixtures.", - "Nanotrasen Superweapons Division is testing a new prototype \ - [pick("field","projection","nova","super-colliding","reactive")] \ - [pick("cannon","artillery","tank","cruiser","\[REDACTED\]")], \ - some mild debris is expected.", - "A neighbouring station is throwing rocks at you. (Perhaps they've \ - grown tired of your messages.)") - priority_announce(pick(reason), "Collision Alert") diff --git a/code/modules/events/meateor_wave.dm b/code/modules/events/meateor_wave.dm deleted file mode 100644 index 11af56526c88..000000000000 --- a/code/modules/events/meateor_wave.dm +++ /dev/null @@ -1,11 +0,0 @@ -/datum/round_event_control/meteor_wave/meaty - name = "Meteor Wave: Meaty" - typepath = /datum/round_event/meteor_wave/meaty - weight = 2 - max_occurrences = 1 - -/datum/round_event/meteor_wave/meaty - wave_name = "meaty" - -/datum/round_event/meteor_wave/meaty/announce(fake) - priority_announce("Meaty ores have been detected on collision course with the station.", "Oh crap, get the mop.",'sound/ai/meteors.ogg') diff --git a/code/modules/events/meteor_wave.dm b/code/modules/events/meteor_wave.dm deleted file mode 100644 index a8ddab5aa76a..000000000000 --- a/code/modules/events/meteor_wave.dm +++ /dev/null @@ -1,76 +0,0 @@ -// Normal strength - -/datum/round_event_control/meteor_wave - name = "Meteor Wave: Normal" - typepath = /datum/round_event/meteor_wave - weight = 4 - min_players = 15 - max_occurrences = 3 - earliest_start = 25 MINUTES - -/datum/round_event/meteor_wave - startWhen = 6 - endWhen = 66 - announceWhen = 1 - var/list/wave_type - var/wave_name = "normal" - -/datum/round_event/meteor_wave/New() - ..() - if(!wave_type) - determine_wave_type() - -/datum/round_event/meteor_wave/proc/determine_wave_type() - if(!wave_name) - wave_name = pickweight(list( - "normal" = 50, - "threatening" = 40, - "catastrophic" = 10)) - switch(wave_name) - if("normal") - wave_type = GLOB.meteors_normal - if("threatening") - wave_type = GLOB.meteors_threatening - if("catastrophic") - if(SSevents.holidays && SSevents.holidays[HALLOWEEN]) - wave_type = GLOB.meteorsSPOOKY - else - wave_type = GLOB.meteors_catastrophic - if("meaty") - wave_type = GLOB.meteorsB - if("space dust") - wave_type = GLOB.meteorsC - if("halloween") - wave_type = GLOB.meteorsSPOOKY - else - WARNING("Wave name of [wave_name] not recognised.") - kill() - -/datum/round_event/meteor_wave/announce(fake) - priority_announce("Meteors have been detected on collision course with the station.", "Meteor Alert", 'sound/ai/meteors.ogg') - -/datum/round_event/meteor_wave/tick() - if(ISMULTIPLE(activeFor, 3)) - spawn_meteors(5, wave_type) //meteor list types defined in gamemode/meteor/meteors.dm - -/datum/round_event_control/meteor_wave/threatening - name = "Meteor Wave: Threatening" - typepath = /datum/round_event/meteor_wave/threatening - weight = 5 - min_players = 20 - max_occurrences = 3 - earliest_start = 35 MINUTES - -/datum/round_event/meteor_wave/threatening - wave_name = "threatening" - -/datum/round_event_control/meteor_wave/catastrophic - name = "Meteor Wave: Catastrophic" - typepath = /datum/round_event/meteor_wave/catastrophic - weight = 7 - min_players = 25 - max_occurrences = 3 - earliest_start = 45 MINUTES - -/datum/round_event/meteor_wave/catastrophic - wave_name = "catastrophic" diff --git a/code/modules/language/language_holder.dm b/code/modules/language/language_holder.dm index 6e7e10a7cba6..d96e4591b050 100644 --- a/code/modules/language/language_holder.dm +++ b/code/modules/language/language_holder.dm @@ -291,11 +291,6 @@ Key procs /datum/language/slime = list(LANGUAGE_ATOM)) spoken_languages = list(/datum/language/slime = list(LANGUAGE_ATOM)) -/datum/language_holder/swarmer - understood_languages = list(/datum/language/swarmer = list(LANGUAGE_ATOM)) - spoken_languages = list(/datum/language/swarmer = list(LANGUAGE_ATOM)) - blocked_languages = list(/datum/language/common = list(LANGUAGE_ATOM)) - /datum/language_holder/venus understood_languages = list(/datum/language/sylvan = list(LANGUAGE_ATOM)) spoken_languages = list(/datum/language/sylvan = list(LANGUAGE_ATOM)) diff --git a/code/modules/library/lib_codex_gigas.dm b/code/modules/library/lib_codex_gigas.dm deleted file mode 100644 index 69155c9230d8..000000000000 --- a/code/modules/library/lib_codex_gigas.dm +++ /dev/null @@ -1,104 +0,0 @@ -#define PRE_TITLE 1 -#define TITLE 2 -#define SYLLABLE 3 -#define MULTIPLE_SYLLABLE 4 -#define SUFFIX 5 - -/obj/item/book/codex_gigas - name = "\improper Codex Gigas" - desc = "A book documenting the nature of devils." - icon_state ="demonomicon" - lefthand_file = 'icons/mob/inhands/misc/books_lefthand.dmi' - righthand_file = 'icons/mob/inhands/misc/books_righthand.dmi' - throw_speed = 1 - throw_range = 10 - resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF - author = "Forces beyond your comprehension" - unique = 1 - title = "the Codex Gigas" - var/inUse = 0 - var/currentName = "" - var/currentSection = PRE_TITLE - -/obj/item/book/codex_gigas/attack_self(mob/user) - if(!user.can_read(src)) - return FALSE - if(inUse) - to_chat(user, "Someone else is reading it.") - if(ishuman(user)) - var/mob/living/carbon/human/U = user - if(U.check_acedia()) - to_chat(user, "None of this matters, why are you reading this? You put [title] down.") - return - user.visible_message("[user] opens [title] and begins reading intently.") - ask_name(user) - - -/obj/item/book/codex_gigas/proc/perform_research(mob/user, devilName) - if(!devilName) - user.visible_message("[user] closes [title] without looking anything up.") - return - inUse = TRUE - var/speed = 300 - var/correctness = 85 - if(ishuman(user)) - var/mob/living/carbon/human/U = user - if(U.job in list("Curator")) // the curator is both faster, and more accurate than normal crew members at research - speed = 100 - correctness = 100 - correctness -= U.getOrganLoss(ORGAN_SLOT_BRAIN) * 0.5 //Brain damage makes researching hard. - speed += U.getOrganLoss(ORGAN_SLOT_BRAIN) * 3 - if(do_after(user, speed, user, timed_action_flags = IGNORE_HELD_ITEM)) - var/usedName = devilName - if(!prob(correctness)) - usedName += "x" - var/datum/antagonist/devil/devil = devilInfo(usedName) - display_devil(devil, user, usedName) - sleep(10) - onclose(user, "book") - inUse = FALSE - -/obj/item/book/codex_gigas/proc/display_devil(datum/antagonist/devil/devil, mob/reader, devilName) - reader << browse("Information on [devilName]


    [GLOB.lawlorify[LORE][devil.ban]]
    [GLOB.lawlorify[LORE][devil.obligation]]
    [GLOB.lawlorify[LORE][devil.banish]]
    [devil.ascendable?"This devil may ascend given enough souls.":""]", "window=book[window_size != null ? ";size=[window_size]" : ""]") - -/obj/item/book/codex_gigas/proc/ask_name(mob/reader) - ui_interact(reader) - -/obj/item/book/codex_gigas/ui_act(action, params) - if(..()) - return - if(!action) - return FALSE - if(action == "search") - SStgui.close_uis(src) - addtimer(CALLBACK(src, PROC_REF(perform_research), usr, currentName), 0) - currentName = "" - currentSection = PRE_TITLE - return FALSE - else - currentName += action - var/oldSection = currentSection - if(GLOB.devil_pre_title.Find(action)) - currentSection = TITLE - else if(GLOB.devil_title.Find(action)) - currentSection = SYLLABLE - else if(GLOB.devil_syllable.Find(action)) - if (currentSection>=SYLLABLE) - currentSection = MULTIPLE_SYLLABLE - else - currentSection = SYLLABLE - else if(GLOB.devil_suffix.Find(action)) - currentSection = SUFFIX - return currentSection != oldSection - -/obj/item/book/codex_gigas/ui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "CodexGigas", name) - ui.open() - -/obj/item/book/codex_gigas/ui_data(mob/user) - var/list/data = list() - data["name"]=currentName - data["currentSection"]=currentSection - return data diff --git a/code/modules/mapping/writer.dm b/code/modules/mapping/writer.dm index 35d85edc7849..c07ce0029081 100644 --- a/code/modules/mapping/writer.dm +++ b/code/modules/mapping/writer.dm @@ -59,7 +59,7 @@ GLOBAL_LIST_INIT(save_file_chars, list( var/turf_type = /turf/template_noop var/area/place_area = get_area(place_turf) var/area_type = /area/template_noop - var/is_shuttle_area = istype(place_area, /area/shuttle) + var/is_shuttle_area = istype(place_area, /area/ship) //If there is nothing there, save as a noop (For odd shapes) if(!place_turf) turf_type = /turf/template_noop diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index ea34eb7faec0..98f27aad0ad7 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -15,10 +15,8 @@ /obj/structure/closet/crate/necropolis/tendril/PopulateContents() var/loot = rand(1,29) switch(loot) - if(1) + if(1,2) new /obj/item/shared_storage/red(src) - if(2) - new /obj/item/clothing/suit/space/hardsuit/cult(src) if(3) new /obj/item/necromantic_stone/lava(src) if(5) @@ -1660,11 +1658,9 @@ name = "puzzling chest" /obj/structure/closet/crate/necropolis/puzzle/PopulateContents() - var/loot = rand(1,3) + var/loot = rand(1,2) switch(loot) if(1) - new /obj/item/soulstone/anybody(src) - if(2) new /obj/item/wisp_lantern(src) - if(3) + if(2) new /obj/item/prisoncube(src) diff --git a/code/modules/mining/shelters.dm b/code/modules/mining/shelters.dm index ef0e51930828..6c733fd76692 100644 --- a/code/modules/mining/shelters.dm +++ b/code/modules/mining/shelters.dm @@ -8,7 +8,7 @@ /datum/map_template/shelter/New() . = ..() - banned_areas = typecacheof(/area/shuttle) + banned_areas = typecacheof(/area/ship) blacklisted_turfs = typecacheof(list(/turf/closed, /turf/open/indestructible)) whitelisted_turfs = typecacheof(/turf/closed/mineral) banned_objects = typecacheof(/obj/structure/stone_tile) diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index 9573c1918773..2b583cdfc0de 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -66,8 +66,6 @@ GLOBAL_LIST_EMPTY(dead_players_during_shift) if(SSticker.HasRoundStarted()) SSblackbox.ReportDeath(src) log_message("has died (BRUTE: [src.getBruteLoss()], BURN: [src.getFireLoss()], TOX: [src.getToxLoss()], OXY: [src.getOxyLoss()], CLONE: [src.getCloneLoss()])", LOG_ATTACK) - if(is_devil(src)) - INVOKE_ASYNC(is_devil(src), TYPE_PROC_REF(/datum/antagonist/devil, beginResurrectionCheck), src) to_chat(src, "You have died. Barring complete bodyloss, you can in most cases be revived by other players. If you do not wish to be brought back, use the \"Do Not Resuscitate\" verb in the ghost tab.") diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index cf3f5ec725ec..295537cfd95b 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -99,8 +99,6 @@ if(!(ITEM_SLOT_EYES in obscured)) if(glasses) . += "[t_He] [t_has] [glasses.get_examine_string(user)] covering [t_his] eyes." - else if(eye_color == BLOODCULT_EYE && iscultist(src) && HAS_TRAIT(src, CULT_EYES)) - . += "[t_His] eyes are glowing an unnatural red!" //ears if(ears && !(ITEM_SLOT_EARS in obscured)) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 0995932aaa25..2bdbf39253f4 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1137,24 +1137,6 @@ /mob/living/carbon/alien/update_stamina() return -/mob/living/proc/owns_soul() - if(mind) - return mind.soulOwner == mind - return TRUE - -/mob/living/proc/return_soul() - hellbound = 0 - if(mind) - var/datum/antagonist/devil/devilInfo = mind.soulOwner.has_antag_datum(/datum/antagonist/devil) - if(devilInfo)//Not sure how this could be null, but let's just try anyway. - devilInfo.remove_soul(mind) - mind.soulOwner = mind - -/mob/living/proc/check_acedia() - if(mind && mind.has_objective(/datum/objective/sintouched/acedia)) - return TRUE - return FALSE - /mob/living/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback, force, gentle = FALSE, quickstart = TRUE) stop_pulling() . = ..() diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 2ed00efe2e4b..69cc19760dda 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -392,32 +392,6 @@ gib() return 20 -/mob/living/narsie_act() - if(status_flags & GODMODE || QDELETED(src)) - return - - if(GLOB.cult_narsie && GLOB.cult_narsie.souls_needed[src]) - GLOB.cult_narsie.souls_needed -= src - GLOB.cult_narsie.souls += 1 - if((GLOB.cult_narsie.souls == GLOB.cult_narsie.soul_goal) && (GLOB.cult_narsie.resolved == FALSE)) - GLOB.cult_narsie.resolved = TRUE - sound_to_playing_players('sound/machines/alarm.ogg') - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(cult_ending_helper), 1), 120) - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(ending_helper)), 270) - if(client) - makeNewConstruct(/mob/living/simple_animal/hostile/construct/harvester, src, cultoverride = TRUE) - else - switch(rand(1, 3)) - if(1) - new /mob/living/simple_animal/hostile/construct/juggernaut/hostile(get_turf(src)) - if(2) - new /mob/living/simple_animal/hostile/construct/wraith/hostile(get_turf(src)) - if(3) - new /mob/living/simple_animal/hostile/construct/artificer/hostile(get_turf(src)) - spawn_dust() - gib() - return TRUE - //called when the mob receives a bright flash /mob/living/proc/flash_act(intensity = 1, override_blindness_check = 0, affect_silicon = 0, visual = 0, type = /atom/movable/screen/fullscreen/flash) if(HAS_TRAIT(src, TRAIT_NOFLASH)) diff --git a/code/modules/mob/living/silicon/laws.dm b/code/modules/mob/living/silicon/laws.dm index 30c7cd435068..5f14b72596ac 100644 --- a/code/modules/mob/living/silicon/laws.dm +++ b/code/modules/mob/living/silicon/laws.dm @@ -19,11 +19,6 @@ addtimer(CALLBACK(src, PROC_REF(deadchat_lawchange)), 0) last_lawchange_announce = world.time -/mob/living/silicon/proc/set_law_sixsixsix(law, announce = TRUE) - laws_sanity_check() - laws.set_law_sixsixsix(law) - post_lawchange(announce) - /mob/living/silicon/proc/set_zeroth_law(law, law_borg, announce = TRUE) laws_sanity_check() laws.set_zeroth_law(law, law_borg) @@ -93,8 +88,3 @@ laws_sanity_check() laws.clear_zeroth_law(force) post_lawchange(announce) - -/mob/living/silicon/proc/clear_law_sixsixsix(force, announce = TRUE) - laws_sanity_check() - laws.clear_law_sixsixsix(force) - post_lawchange(announce) diff --git a/code/modules/mob/living/silicon/login.dm b/code/modules/mob/living/silicon/login.dm index 559ad42b1768..982814d194d2 100644 --- a/code/modules/mob/living/silicon/login.dm +++ b/code/modules/mob/living/silicon/login.dm @@ -1,6 +1,4 @@ /mob/living/silicon/Login() - if(mind && SSticker.mode) - SSticker.mode.remove_cultist(mind, 0, 0) return ..() diff --git a/code/modules/mob/living/silicon/robot/laws.dm b/code/modules/mob/living/silicon/robot/laws.dm index df62df082751..1fc33e9dcdd0 100644 --- a/code/modules/mob/living/silicon/robot/laws.dm +++ b/code/modules/mob/living/silicon/robot/laws.dm @@ -40,12 +40,6 @@ var/datum/ai_laws/master = connected_ai ? connected_ai.laws : null var/temp if (master) - laws.devillaws.len = master.devillaws.len - for (var/index = 1, index <= master.devillaws.len, index++) - temp = master.devillaws[index] - if (length(temp) > 0) - laws.devillaws[index] = temp - laws.ion.len = master.ion.len for (var/index = 1, index <= master.ion.len, index++) temp = master.ion[index] diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 4e0dbcc31a0e..06019856ba7d 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -32,7 +32,6 @@ var/lawcheck[1] var/ioncheck[1] var/hackedcheck[1] - var/devillawcheck[5] var/sensors_on = 0 var/med_hud = DATA_HUD_MEDICAL_ADVANCED //Determines the med hud to use @@ -206,16 +205,6 @@ hackedcheck[L] = "Yes" checklaws() - if (href_list["lawdevil"]) // Toggling whether or not a law gets stated by the State Laws verb --NeoFite - var/L = text2num(href_list["lawdevil"]) - switch(devillawcheck[L]) - if ("Yes") - devillawcheck[L] = "No" - if ("No") - devillawcheck[L] = "Yes" - checklaws() - - if (href_list["laws"]) // With how my law selection code works, I changed statelaws from a verb to a proc, and call it through my law selection panel. --NeoFite statelaws() @@ -234,13 +223,6 @@ var/number = 1 sleep(10) - if (laws.devillaws && laws.devillaws.len) - for(var/index = 1, index <= laws.devillaws.len, index++) - if (force || devillawcheck[index] == "Yes") - say("[radiomod] 666. [laws.devillaws[index]]") - sleep(10) - - if (laws.zeroth) if (force || lawcheck[1] == "Yes") say("[radiomod] 0. [laws.zeroth]") @@ -289,12 +271,6 @@ var/list = "Which laws do you want to include when stating them for the crew?

    " // [/CELADON-EDIT] - if (laws.devillaws && laws.devillaws.len) - for(var/index = 1, index <= laws.devillaws.len, index++) - if (!devillawcheck[index]) - devillawcheck[index] = "No" - list += {"[devillawcheck[index]] 666: [laws.devillaws[index]]
    "} - if (laws.zeroth) if (!lawcheck[1]) lawcheck[1] = "No" //Given Law 0's usual nature, it defaults to NOT getting reported. --NeoFite diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm deleted file mode 100644 index 6321a28dc39c..000000000000 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ /dev/null @@ -1,501 +0,0 @@ -/mob/living/simple_animal/hostile/construct - name = "Construct" - real_name = "Construct" - desc = "" - gender = NEUTER - mob_biotypes = NONE - speak_emote = list("hisses") - response_help_continuous = "thinks better of touching" - response_help_simple = "think better of touching" - response_disarm_continuous = "flails at" - response_disarm_simple = "flail at" - response_harm_continuous = "punches" - response_harm_simple = "punch" - speak_chance = 1 - icon = 'icons/mob/cult.dmi' - speed = 0 - a_intent = INTENT_HARM - stop_automated_movement = 1 - status_flags = CANPUSH - attack_sound = 'sound/weapons/punch1.ogg' - see_in_dark = 7 - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minbodytemp = 0 - maxbodytemp = INFINITY - healable = 0 - faction = list("cult") - movement_type = FLYING - pressure_resistance = 100 - unique_name = 1 - AIStatus = AI_OFF //normal constructs don't have AI - loot = list(/obj/item/ectoplasm) - del_on_death = TRUE - initial_language_holder = /datum/language_holder/construct - deathmessage = "collapses in a shattered heap." - hud_type = /datum/hud/constructs - var/list/construct_spells = list() - var/playstyle_string = "You are a generic construct! Your job is to not exist, and you should probably adminhelp this." - var/master = null - var/seeking = FALSE - var/can_repair_constructs = FALSE - var/can_repair_self = FALSE - var/runetype - var/datum/action/innate/cult/create_rune/our_rune - var/holy = FALSE - -/mob/living/simple_animal/hostile/construct/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) - update_health_hud() - var/spellnum = 1 - for(var/spell in construct_spells) - var/the_spell = new spell(null) - AddSpell(the_spell) - var/obj/effect/proc_holder/spell/S = mob_spell_list[spellnum] - var/pos = 2+spellnum*31 - if(construct_spells.len >= 4) - pos -= 31*(construct_spells.len - 4) - S.action.button.screen_loc = "6:[pos],4:-2" - S.action.button.moved = "6:[pos],4:-2" - spellnum++ - if(runetype) - our_rune = new runetype(src) - our_rune.Grant(src) - var/pos = 2+spellnum*31 - our_rune.button.screen_loc = "6:[pos],4:-2" - our_rune.button.moved = "6:[pos],4:-2" - // [CELADON-EDIT] - CELADON_MOBS - // add_overlay("glow_[icon_state][holy]") // CELADON-EDIT - ORIGINAL - add_overlay("glow_[icon_state]_[glowtheme]") - flick("make_[icon_state]_[glowtheme]", src) - // [/CELADON-EDIT] - -/mob/living/simple_animal/hostile/construct/Destroy() - QDEL_NULL(our_rune) - return ..() - -/mob/living/simple_animal/hostile/construct/Login() - . = ..() - if(!. || !client) - return FALSE - to_chat(src, playstyle_string) - -/mob/living/simple_animal/hostile/construct/examine(mob/user) - var/t_He = p_they(TRUE) - var/t_s = p_s() - . = list("This is [icon2html(src, user)] \a [src]!\n[desc]") - if(health < maxHealth) - if(health >= maxHealth/2) - . += "[t_He] look[t_s] slightly dented." - else - . += "[t_He] look[t_s] severely dented!" - . += "" - -/mob/living/simple_animal/hostile/construct/attack_animal(mob/living/simple_animal/M) - if(isconstruct(M)) //is it a construct? - var/mob/living/simple_animal/hostile/construct/C = M - if(!C.can_repair_constructs || (C == src && !C.can_repair_self)) - return ..() - if(holy != C.holy) - return ..() - if(health < maxHealth) - adjustHealth(-5) - if(src != M) - Beam(M,icon_state="sendbeam",time=4) - M.visible_message( - "[M] repairs some of \the [src]'s dents.", - "You repair some of [src]'s dents, leaving [src] at [health]/[maxHealth] health.") - else - M.visible_message( - "[M] repairs some of [p_their()] own dents.", - "You repair some of your own dents, leaving you at [M.health]/[M.maxHealth] health.") - else - if(src != M) - to_chat(M, "You cannot repair [src]'s dents, as [p_they()] [p_have()] none!") - else - to_chat(M, "You cannot repair your own dents, as you have none!") - else if(src != M) - return ..() - -/mob/living/simple_animal/hostile/construct/narsie_act() - return - -/mob/living/simple_animal/hostile/construct/electrocute_act(shock_damage, source, siemens_coeff = 1, flags = NONE) - return 0 - -/mob/living/simple_animal/hostile/construct/adjustHealth(amount, updating_health = TRUE, forced = FALSE) - . = ..() - if(updating_health) - update_health_hud() - -/////////////////Juggernaut/////////////// -/mob/living/simple_animal/hostile/construct/juggernaut - name = "Juggernaut" - real_name = "Juggernaut" - desc = "A massive, armored construct built to spearhead attacks and soak up enemy fire." - icon_state = "juggernaut" - icon_living = "juggernaut" - maxHealth = 150 - health = 150 - response_harm_continuous = "harmlessly punches" - response_harm_simple = "harmlessly punch" - harm_intent_damage = 0 - obj_damage = 90 - melee_damage_lower = 25 - melee_damage_upper = 25 - attack_verb_continuous = "smashes their armored gauntlet into" - attack_verb_simple = "smash your armored gauntlet into" - speed = 2.5 - environment_smash = ENVIRONMENT_SMASH_WALLS - attack_sound = 'sound/weapons/punch3.ogg' - status_flags = 0 - mob_size = MOB_SIZE_LARGE - force_threshold = 10 - construct_spells = list(/obj/effect/proc_holder/spell/targeted/forcewall/cult, - /obj/effect/proc_holder/spell/targeted/projectile/dumbfire/juggernaut) - runetype = /datum/action/innate/cult/create_rune/wall - playstyle_string = "You are a Juggernaut. Though slow, your shell can withstand heavy punishment, \ - create shield walls, rip apart enemies and walls alike, and even deflect energy weapons." - -/mob/living/simple_animal/hostile/construct/juggernaut/hostile //actually hostile, will move around, hit things - AIStatus = AI_ON - environment_smash = ENVIRONMENT_SMASH_STRUCTURES //only token destruction, don't smash the cult wall NO STOP - -/mob/living/simple_animal/hostile/construct/juggernaut/bullet_act(obj/projectile/P) - if(istype(P, /obj/projectile/energy) || istype(P, /obj/projectile/beam)) - var/reflectchance = 40 - round(P.damage/3) - if(prob(reflectchance)) - apply_damage(P.damage * 0.5, P.damage_type) - visible_message("The [P.name] is reflected by [src]'s armored shell!", \ - "The [P.name] is reflected by your armored shell!") - - // Find a turf near or on the original location to bounce to - if(P.starting) - var/new_x = P.starting.x + pick(0, 0, -1, 1, -2, 2, -2, 2, -2, 2, -3, 3, -3, 3) - var/new_y = P.starting.y + pick(0, 0, -1, 1, -2, 2, -2, 2, -2, 2, -3, 3, -3, 3) - var/turf/curloc = get_turf(src) - - // redirect the projectile - P.original = locate(new_x, new_y, P.z) - P.starting = curloc - P.firer = src - P.yo = new_y - curloc.y - P.xo = new_x - curloc.x - var/new_angle_s = P.Angle + rand(120,240) - while(new_angle_s > 180) // Translate to regular projectile degrees - new_angle_s -= 360 - P.setAngle(new_angle_s) - - return BULLET_ACT_FORCE_PIERCE // complete projectile permutation - - return ..() - -//////////////////////////Angelic-Juggernaut//////////////////////////// -/mob/living/simple_animal/hostile/construct/juggernaut/angelic - holy = TRUE - loot = list(/obj/item/ectoplasm/angelic) - -/mob/living/simple_animal/hostile/construct/juggernaut/noncult - -////////////////////////Wraith///////////////////////////////////////////// -/mob/living/simple_animal/hostile/construct/wraith - name = "Wraith" - real_name = "Wraith" - desc = "A wicked, clawed shell constructed to assassinate enemies and sow chaos behind enemy lines." - icon_state = "wraith" - icon_living = "wraith" - maxHealth = 65 - health = 65 - melee_damage_lower = 20 - melee_damage_upper = 20 - retreat_distance = 2 //AI wraiths will move in and out of combat - attack_verb_continuous = "slashes" - attack_verb_simple = "slash" - attack_sound = 'sound/weapons/bladeslice.ogg' - construct_spells = list(/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift) - runetype = /datum/action/innate/cult/create_rune/tele - playstyle_string = "You are a Wraith. Though relatively fragile, you are fast, deadly, can phase through walls, and your attacks will lower the cooldown on phasing." - - var/attack_refund = 10 //1 second per attack - var/crit_refund = 50 //5 seconds when putting a target into critical - var/kill_refund = 250 //full refund on kills - -/mob/living/simple_animal/hostile/construct/wraith/AttackingTarget() //refund jaunt cooldown when attacking living targets - var/prev_stat - if(isliving(target) && !iscultist(target)) - var/mob/living/L = target - prev_stat = L.stat - - . = ..() - - if(. && isnum(prev_stat)) - var/mob/living/L = target - var/refund = 0 - if(QDELETED(L) || (L.stat == DEAD && prev_stat != DEAD)) //they're dead, you killed them - refund += kill_refund - else if(HAS_TRAIT(L, TRAIT_CRITICAL_CONDITION) && prev_stat == CONSCIOUS) //you knocked them into critical - refund += crit_refund - if(L.stat != DEAD && prev_stat != DEAD) - refund += attack_refund - for(var/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift/S in mob_spell_list) - S.charge_counter = min(S.charge_counter + refund, S.charge_max) - -/mob/living/simple_animal/hostile/construct/wraith/hostile //actually hostile, will move around, hit things - AIStatus = AI_ON - -//////////////////////////Angelic-Wraith//////////////////////////// -/mob/living/simple_animal/hostile/construct/wraith/angelic - holy = TRUE - construct_spells = list(/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift/angelic) - loot = list(/obj/item/ectoplasm/angelic) - -/mob/living/simple_animal/hostile/construct/wraith/noncult - -/////////////////////////////Artificer///////////////////////// -/mob/living/simple_animal/hostile/construct/artificer - name = "Artificer" - real_name = "Artificer" - desc = "A bulbous construct dedicated to building and maintaining the Cult of Nar'Sie's armies." - icon_state = "artificer" - icon_living = "artificer" - maxHealth = 50 - health = 50 - response_harm_continuous = "viciously beats" - response_harm_simple = "viciously beat" - harm_intent_damage = 5 - obj_damage = 60 - melee_damage_lower = 5 - melee_damage_upper = 5 - retreat_distance = 10 - minimum_distance = 10 //AI artificers will flee like fuck - attack_verb_continuous = "rams" - attack_verb_simple = "ram" - environment_smash = ENVIRONMENT_SMASH_WALLS - attack_sound = 'sound/weapons/punch2.ogg' - construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/conjure/wall, - /obj/effect/proc_holder/spell/aoe_turf/conjure/floor, - /obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone, - /obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser, - /obj/effect/proc_holder/spell/targeted/projectile/magic_missile/lesser) - runetype = /datum/action/innate/cult/create_rune/revive - playstyle_string = "You are an Artificer. You are incredibly weak and fragile, but you are able to construct fortifications, \ - - use magic missile, repair allied constructs, shades, and yourself (by clicking on them), \ - and, most important of all, create new constructs by producing soulstones to capture souls, \ - and shells to place those soulstones into." - can_repair_constructs = TRUE - can_repair_self = TRUE - -/mob/living/simple_animal/hostile/construct/artificer/Found(atom/A) //what have we found here? - if(isconstruct(A)) //is it a construct? - var/mob/living/simple_animal/hostile/construct/C = A - if(C.health < C.maxHealth) //is it hurt? let's go heal it if it is - return 1 - else - return 0 - else - return 0 - -/mob/living/simple_animal/hostile/construct/artificer/CanAttack(atom/the_target) - if(see_invisible < the_target.invisibility)//Target's invisible to us, forget it - return 0 - if(Found(the_target) || ..()) //If we Found it or Can_Attack it normally, we Can_Attack it as long as it wasn't invisible - return 1 //as a note this shouldn't be added to base hostile mobs because it'll mess up retaliate hostile mobs - -/mob/living/simple_animal/hostile/construct/artificer/MoveToTarget(list/possible_targets) - ..() - if(isliving(target)) - var/mob/living/L = target - if(isconstruct(L) && L.health >= L.maxHealth) //is this target an unhurt construct? stop trying to heal it - LoseTarget() - return 0 - if(L.health <= melee_damage_lower+melee_damage_upper) //ey bucko you're hurt as fuck let's go hit you - retreat_distance = null - minimum_distance = 1 - -/mob/living/simple_animal/hostile/construct/artificer/Aggro() - ..() - if(isconstruct(target)) //oh the target is a construct no need to flee - retreat_distance = null - minimum_distance = 1 - -/mob/living/simple_animal/hostile/construct/artificer/LoseAggro() - ..() - retreat_distance = initial(retreat_distance) - minimum_distance = initial(minimum_distance) - -/mob/living/simple_animal/hostile/construct/artificer/hostile //actually hostile, will move around, hit things, heal other constructs - AIStatus = AI_ON - environment_smash = ENVIRONMENT_SMASH_STRUCTURES //only token destruction, don't smash the cult wall NO STOP - -/////////////////////////////Angelic Artificer///////////////////////// -/mob/living/simple_animal/hostile/construct/artificer/angelic - desc = "A bulbous construct dedicated to building and maintaining holy armies." - holy = TRUE - loot = list(/obj/item/ectoplasm/angelic) - construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone/noncult/purified, - /obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser, - /obj/effect/proc_holder/spell/targeted/projectile/magic_missile/lesser) - -/mob/living/simple_animal/hostile/construct/artificer/noncult - construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/conjure/wall, - /obj/effect/proc_holder/spell/aoe_turf/conjure/floor, - /obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone/noncult, - /obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser, - /obj/effect/proc_holder/spell/targeted/projectile/magic_missile/lesser) - -/////////////////////////////Harvester///////////////////////// -/mob/living/simple_animal/hostile/construct/harvester - name = "Harvester" - real_name = "Harvester" - desc = "A long, thin construct built to herald Nar'Sie's rise. It'll be all over soon." - icon_state = "harvester" - icon_living = "harvester" - maxHealth = 40 - health = 40 - sight = SEE_MOBS - melee_damage_lower = 15 - melee_damage_upper = 20 - attack_verb_continuous = "butchers" - attack_verb_simple = "butcher" - attack_sound = 'sound/weapons/bladeslice.ogg' - construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/area_conversion, - /obj/effect/proc_holder/spell/targeted/forcewall/cult) - playstyle_string = "You are a Harvester. You are incapable of directly killing humans, but your attacks will remove their limbs: \ - Bring those who still cling to this world of illusion back to the Geometer so they may know Truth. Your form and any you are pulling can pass through runed walls effortlessly." - can_repair_constructs = TRUE - - -/mob/living/simple_animal/hostile/construct/harvester/Bump(atom/AM) - . = ..() - if(istype(AM, /turf/closed/wall/mineral/cult) && AM != loc) //we can go through cult walls - var/atom/movable/stored_pulling = pulling - if(stored_pulling) - stored_pulling.setDir(get_dir(stored_pulling.loc, loc)) - stored_pulling.forceMove(loc) - forceMove(AM) - if(stored_pulling) - start_pulling(stored_pulling, supress_message = TRUE) //drag anything we're pulling through the wall with us by magic - -/mob/living/simple_animal/hostile/construct/harvester/AttackingTarget() - if(iscarbon(target)) - var/mob/living/carbon/C = target - if(HAS_TRAIT(C, TRAIT_NODISMEMBER)) - return ..() //ATTACK! - var/list/parts = list() - var/undismembermerable_limbs = 0 - for(var/X in C.bodyparts) - var/obj/item/bodypart/BP = X - if(BP.body_part != HEAD && BP.body_part != CHEST) - if(BP.dismemberable) - parts += BP - else - undismembermerable_limbs++ - if(!LAZYLEN(parts)) - if(undismembermerable_limbs) //they have limbs we can't remove, and no parts we can, attack! - return ..() - C.Paralyze(60) - visible_message("[src] knocks [C] down!") - to_chat(src, "\"Bring [C.p_them()] to me.\"") - return FALSE - do_attack_animation(C) - var/obj/item/bodypart/BP = pick(parts) - BP.dismember() - return FALSE - . = ..() - -/mob/living/simple_animal/hostile/construct/harvester/Initialize() - . = ..() - var/datum/action/innate/seek_prey/seek = new() - seek.Grant(src) - seek.Activate() - -///////////////////////Master-Tracker/////////////////////// - -/datum/action/innate/seek_master - name = "Seek your Master" - desc = "You and your master share a soul-link that informs you of their location" - background_icon_state = "bg_demon" - buttontooltipstyle = "cult" - button_icon_state = "cult_mark" - var/tracking = FALSE - var/mob/living/simple_animal/hostile/construct/the_construct - - -/datum/action/innate/seek_master/Grant(mob/living/C) - the_construct = C - ..() - -/datum/action/innate/seek_master/Activate() - var/datum/antagonist/cult/C = owner.mind.has_antag_datum(/datum/antagonist/cult) - if(!C) - return - var/datum/objective/eldergod/summon_objective = locate() in C.cult_team.objectives - - if(summon_objective.check_completion()) - the_construct.master = C.cult_team.blood_target - - if(!the_construct.master) - to_chat(the_construct, "You have no master to seek!") - the_construct.seeking = FALSE - return - if(tracking) - tracking = FALSE - the_construct.seeking = FALSE - to_chat(the_construct, "You are no longer tracking your master.") - return - else - tracking = TRUE - the_construct.seeking = TRUE - to_chat(the_construct, "You are now tracking your master.") - - -/datum/action/innate/seek_prey - name = "Seek the Harvest" - desc = "None can hide from Nar'Sie, activate to track a survivor attempting to flee the red harvest!" - icon_icon = 'icons/mob/actions/actions_cult.dmi' - background_icon_state = "bg_demon" - buttontooltipstyle = "cult" - button_icon_state = "cult_mark" - -/datum/action/innate/seek_prey/Activate() - if(GLOB.cult_narsie == null) - return - var/mob/living/simple_animal/hostile/construct/harvester/the_construct = owner - if(the_construct.seeking) - desc = "None can hide from Nar'Sie, activate to track a survivor attempting to flee the red harvest!" - button_icon_state = "cult_mark" - the_construct.seeking = FALSE - to_chat(the_construct, "You are now tracking Nar'Sie, return to reap the harvest!") - return - else - if(LAZYLEN(GLOB.cult_narsie.souls_needed)) - the_construct.master = pick(GLOB.cult_narsie.souls_needed) - var/mob/living/real_target = the_construct.master //We can typecast this way because Narsie only allows /mob/living into the souls list - to_chat(the_construct, "You are now tracking your prey, [real_target.real_name] - harvest [real_target.p_them()]!") - else - to_chat(the_construct, "Nar'Sie has completed her harvest!") - return - desc = "Activate to track Nar'Sie!" - button_icon_state = "sintouch" - the_construct.seeking = TRUE - - -/////////////////////////////ui stuff///////////////////////////// - -/mob/living/simple_animal/hostile/construct/update_health_hud() - if(hud_used) - if(health >= maxHealth) - hud_used.healths.icon_state = "[icon_state]_health0" - else if(health > maxHealth*0.8) - hud_used.healths.icon_state = "[icon_state]_health2" - else if(health > maxHealth*0.6) - hud_used.healths.icon_state = "[icon_state]_health3" - else if(health > maxHealth*0.4) - hud_used.healths.icon_state = "[icon_state]_health4" - else if(health > maxHealth*0.2) - hud_used.healths.icon_state = "[icon_state]_health5" - else - hud_used.healths.icon_state = "[icon_state]_health6" diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm index 19eef279a1dc..ebfd85f3ca23 100644 --- a/code/modules/mob/living/simple_animal/friendly/dog.dm +++ b/code/modules/mob/living/simple_animal/friendly/dog.dm @@ -481,50 +481,6 @@ fdel(json_file) WRITE_FILE(json_file, json_encode(file_data)) -/mob/living/simple_animal/pet/dog/corgi/Ian/narsie_act() - playsound(src, 'sound/magic/demon_dies.ogg', 75, TRUE) - var/mob/living/simple_animal/pet/dog/corgi/narsie/N = new(loc) - N.setDir(dir) - gib() - -/mob/living/simple_animal/pet/dog/corgi/narsie - name = "Nars-Ian" - desc = "Ia! Ia!" - icon_state = "narsian" - icon_living = "narsian" - icon_dead = "narsian_dead" - faction = list("neutral", "cult") - gold_core_spawnable = NO_SPAWN - nofur = TRUE - unique_pet = TRUE - held_state = "narsian" - -/mob/living/simple_animal/pet/dog/corgi/narsie/Life() - ..() - for(var/mob/living/simple_animal/pet/P in range(1, src)) - if(P != src && !istype(P,/mob/living/simple_animal/pet/dog/corgi/narsie)) - visible_message("[src] devours [P]!", \ - "DELICIOUS SOULS") - playsound(src, 'sound/magic/demon_attack1.ogg', 75, TRUE) - narsie_act() - if(P.mind) - if(P.mind.hasSoul) - P.mind.hasSoul = FALSE //Nars-Ian ate your soul; you don't have one anymore - else - visible_message("... Aw, someone beat me to this one.") - P.gib() - -/mob/living/simple_animal/pet/dog/corgi/narsie/update_corgi_fluff() - ..() - speak = list("Tari'karat-pasnar!", "IA! IA!", "BRRUUURGHGHRHR") - speak_emote = list("growls", "barks ominously") - emote_hear = list("barks echoingly!", "woofs hauntingly!", "yaps in an eldritch manner.", "mutters something unspeakable.") - emote_see = list("communes with the unnameable.", "ponders devouring some souls.", "shakes.") - -/mob/living/simple_animal/pet/dog/corgi/narsie/narsie_act() - adjustBruteLoss(-maxHealth) - - /mob/living/simple_animal/pet/dog/corgi/regenerate_icons() ..() if(inventory_head) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm deleted file mode 100644 index 04723d80ba5a..000000000000 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/swarmer.dm +++ /dev/null @@ -1,285 +0,0 @@ -/* - -Swarmer Beacon - -A strange machine appears anywhere a normal lavaland mob can it produces a swarmer at a rate of -1/15 seconds, until there are GetTotalAISwarmerCap()/2 swarmers, after this it is up to the swarmers themselves to -increase their population (it will repopulate them should they fall under GetTotalAISwarmerCap()/2 again) - -tl;dr A million of the little hellraisers spawn (controlled by AI) and try to eat mining - -Loot: Not much, besides a shit load of artificial bluespace crystals, Oh and mining doesn't get eaten -that's a plus I suppose. - -Difficulty: Special - -*/ - -GLOBAL_LIST_EMPTY(AISwarmers) -GLOBAL_LIST_EMPTY(AISwarmersByType)//AISwarmersByType[.../resource] = list(1st, 2nd, nth), AISwarmersByType[../ranged] = list(1st, 2nd, nth) etc. -GLOBAL_LIST_INIT(AISwarmerCapsByType, list(/mob/living/simple_animal/hostile/swarmer/ai/resource = 30, /mob/living/simple_animal/hostile/swarmer/ai/ranged_combat = 20, /mob/living/simple_animal/hostile/swarmer/ai/melee_combat = 10)) - - -//returns a type of AI swarmer that is NOT at max cap -//type order is shuffled, to prevent bias -/proc/GetUncappedAISwarmerType() - var/static/list/swarmerTypes = subtypesof(/mob/living/simple_animal/hostile/swarmer/ai) - LAZYINITLIST(GLOB.AISwarmersByType) - for(var/t in shuffle(swarmerTypes)) - var/list/amount = GLOB.AISwarmersByType[t] - if(!amount || amount.len < GLOB.AISwarmerCapsByType[t]) - return t - - -//Total of all subtype caps -/proc/GetTotalAISwarmerCap() - var/static/list/swarmerTypes = subtypesof(/mob/living/simple_animal/hostile/swarmer/ai) - . = 0 - LAZYINITLIST(GLOB.AISwarmersByType) - for(var/t in swarmerTypes) - . += GLOB.AISwarmerCapsByType[t] - -//this should. not be a simple mob i think -/mob/living/simple_animal/hostile/megafauna/swarmer_swarm_beacon - name = "swarmer beacon" - desc = "That name is a bit of a mouthful, but stop paying attention to your mouth they're eating everything!" - icon = 'icons/mob/swarmer.dmi' - icon_state = "swarmer_console" - health = 750 - maxHealth = 750 //""""low-ish"""" HP because it's a passive boss, and the swarm itself is the real foe - mob_biotypes = MOB_ROBOTIC - gps_name = "Hungry Signal" - faction = list("mining", "boss", "swarmer") - weather_immunities = list("lava","ash") - stop_automated_movement = TRUE - wander = FALSE - layer = BELOW_MOB_LAYER - AIStatus = AI_OFF - del_on_death = TRUE - var/swarmer_spawn_cooldown = 0 - var/swarmer_spawn_cooldown_amt = 150 //Deciseconds between the swarmers we spawn - var/call_help_cooldown = 0 - var/call_help_cooldown_amt = 150 //Deciseconds between calling swarmers to help us when attacked - var/static/list/swarmer_caps - - -/mob/living/simple_animal/hostile/megafauna/swarmer_swarm_beacon/Initialize() - . = ..() - swarmer_caps = GLOB.AISwarmerCapsByType //for admin-edits - for(var/ddir in GLOB.cardinals) - new /obj/structure/swarmer/blockade (get_step(src, ddir)) - var/mob/living/simple_animal/hostile/swarmer/ai/resource/R = new(loc) - step(R, ddir) //Step the swarmers, instead of spawning them there, incase the turf is solid - - -/mob/living/simple_animal/hostile/megafauna/swarmer_swarm_beacon/Life() - . = ..() - if(.) - var/createtype = GetUncappedAISwarmerType() - if(createtype && world.time > swarmer_spawn_cooldown && GLOB.AISwarmers.len < (GetTotalAISwarmerCap()*0.5)) - swarmer_spawn_cooldown = world.time + swarmer_spawn_cooldown_amt - new createtype(loc) - - -/mob/living/simple_animal/hostile/megafauna/swarmer_swarm_beacon/adjustHealth(amount, updating_health = TRUE, forced = FALSE) - . = ..() - if(. > 0 && world.time > call_help_cooldown) - call_help_cooldown = world.time + call_help_cooldown_amt - summon_backup(25) //long range, only called max once per 15 seconds, so it's not deathlag - - -//SWARMER AI -//AI versions of the swarmer mini-antag -//This is an Abstract Base, it re-enables AI, but does not give the swarmer any goals/targets -/mob/living/simple_animal/hostile/swarmer/ai - wander = 1 - faction = list("swarmer", "mining") - weather_immunities = list("ash") //wouldn't be fun otherwise - AIStatus = AI_ON - -/mob/living/simple_animal/hostile/swarmer/ai/Initialize() - . = ..() - ToggleLight() //so you can see them eating you out of house and home/shooting you/stunlocking you for eternity - LAZYADD(GLOB.AISwarmers, src) - GLOB.AISwarmersByType[type] += list(src) - - -/mob/living/simple_animal/hostile/swarmer/ai/Destroy() - GLOB.AISwarmers -= src - GLOB.AISwarmersByType[type] -= src - return ..() - - -/mob/living/simple_animal/hostile/swarmer/ai/SwarmerTypeToCreate() - return GetUncappedAISwarmerType() - - -/mob/living/simple_animal/hostile/swarmer/ai/resource/handle_automated_action() - . = ..() - if(.) - if(!stop_automated_movement) - if(health < maxHealth*0.25) - StartAction(100) - RepairSelf() - return - - -/mob/living/simple_animal/hostile/swarmer/ai/Move(atom/newloc) - if(newloc) - if(newloc.virtual_z() == virtual_z()) //so these actions are Z-specific - if(islava(newloc)) - var/turf/open/lava/L = newloc - if(!L.is_safe()) - StartAction(20) - new /obj/structure/catwalk/swarmer_catwalk(newloc) - return FALSE - - if(ischasm(newloc) && !throwing) - throw_at(get_edge_target_turf(src, get_dir(src, newloc)), 7 , 3, src, FALSE) //my planet needs me - return FALSE - - return ..() - - -/mob/living/simple_animal/hostile/swarmer/ai/proc/StartAction(deci = 0) - stop_automated_movement = TRUE - AIStatus = AI_OFF - addtimer(CALLBACK(src, PROC_REF(EndAction)), deci) - - -/mob/living/simple_animal/hostile/swarmer/ai/proc/EndAction() - stop_automated_movement = FALSE - AIStatus = AI_ON - - - - -//RESOURCE SWARMER: -//Similar to the original Player-Swarmers, these dismantle things to obtain the metal inside -//They then use this medal to produce more swarmers or traps/barricades - -/mob/living/simple_animal/hostile/swarmer/ai/resource - search_objects = 1 - attack_all_objects = TRUE //attempt to nibble everything - lose_patience_timeout = 150 - var/static/list/sharedWanted = typecacheof(list(/turf/closed/mineral, /turf/closed/wall)) //eat rocks and walls - var/static/list/sharedIgnore = list() - -//This handles viable things to eat/attack -//Place specific cases of AI derpiness here -//Most can be left to the automatic Gain/LosePatience() system -/mob/living/simple_animal/hostile/swarmer/ai/resource/CanAttack(atom/the_target) - - //SPECIFIC CASES: - //Smash fulltile windows before grilles - if(istype(the_target, /obj/structure/grille)) - for(var/obj/structure/window/rogueWindow in get_turf(the_target)) - if(rogueWindow.fulltile) //done this way because the subtypes are weird. - the_target = rogueWindow - break - - //GENERAL CASES: - if(is_type_in_typecache(the_target, sharedIgnore)) //always ignore - return FALSE - if(is_type_in_typecache(the_target, sharedWanted)) //always eat - return TRUE - - return ..() //else, have a nibble, see if it's food - - -/mob/living/simple_animal/hostile/swarmer/ai/resource/OpenFire(atom/A) - if(isliving(A)) //don't shoot rocks, sillies. - ..() - - -/mob/living/simple_animal/hostile/swarmer/ai/resource/AttackingTarget() - if(target.swarmer_act(src)) - add_type_to_wanted(target.type) - return TRUE - else - add_type_to_ignore(target.type) - return FALSE - - -/mob/living/simple_animal/hostile/swarmer/ai/resource/handle_automated_action() - . = ..() - if(.) - if(!stop_automated_movement) - if(GLOB.AISwarmers.len < GetTotalAISwarmerCap() && resources >= 50) - StartAction(100) //so they'll actually sit still and use the verbs - CreateSwarmer() - return - - if(resources > 5) - if(prob(5)) //lower odds, as to prioritise reproduction - StartAction(10) //not a typo - CreateBarricade() - return - if(prob(5)) - CreateTrap() - return - - -//So swarmers can learn what is and isn't food -/mob/living/simple_animal/hostile/swarmer/ai/resource/proc/add_type_to_wanted(typepath) - if(!sharedWanted[typepath])// this and += is faster than |= - sharedWanted += typecacheof(typepath) - - -/mob/living/simple_animal/hostile/swarmer/ai/resource/proc/add_type_to_ignore(typepath) - if(!sharedIgnore[typepath]) - sharedIgnore += typecacheof(typepath) - - -//RANGED SWARMER -/mob/living/simple_animal/hostile/swarmer/ai/ranged_combat - icon_state = "swarmer_ranged" - icon_living = "swarmer_ranged" - projectiletype = /obj/projectile/beam/laser - projectilesound = 'sound/weapons/laser.ogg' - check_friendly_fire = TRUE //you're supposed to protect the resource swarmers, you poop - retreat_distance = 3 - minimum_distance = 3 - -/mob/living/simple_animal/hostile/swarmer/ai/ranged_combat/Aggro() - ..() - summon_backup(15, TRUE) //Exact matching, so that goliaths don't come to aid the swarmers, that'd be silly - - -//MELEE SWARMER -/mob/living/simple_animal/hostile/swarmer/ai/melee_combat - icon_state = "swarmer_melee" - icon_living = "swarmer_melee" - health = 60 - maxHealth = 60 - ranged = FALSE - -/mob/living/simple_animal/hostile/swarmer/ai/melee_combat/Aggro() - ..() - summon_backup(15, TRUE) - - -/mob/living/simple_animal/hostile/swarmer/ai/melee_combat/AttackingTarget() - if(isliving(target)) - if(prob(35)) - StartAction(30) - DisperseTarget(target) - else - var/mob/living/L = target - L.attack_animal(src) - L.electrocute_act(10, src, flags = SHOCK_NOGLOVES) - return TRUE - else - return ..() - - - - -//SWARMER CATWALKS -//Used so they can survive lavaland better -/obj/structure/catwalk/swarmer_catwalk - name = "swarmer catwalk" - desc = "A catwalk-like mesh, produced by swarmers to allow them to navigate hostile terrain." - icon = 'icons/obj/smooth_structures/swarmer_catwalk.dmi' - icon_state = "swarmer_catwalk-0" - base_icon_state = "swarmer_catwalk" diff --git a/code/modules/mob/living/simple_animal/shade.dm b/code/modules/mob/living/simple_animal/shade.dm deleted file mode 100644 index fcb9274a2c62..000000000000 --- a/code/modules/mob/living/simple_animal/shade.dm +++ /dev/null @@ -1,66 +0,0 @@ -/mob/living/simple_animal/shade - name = "Shade" - real_name = "Shade" - desc = "A bound spirit." - gender = PLURAL - icon = 'icons/mob/cult.dmi' - icon_state = "shade" - icon_living = "shade" - mob_biotypes = MOB_SPIRIT - maxHealth = 40 - health = 40 - healable = 0 - speak_emote = list("hisses") - emote_hear = list("wails.","screeches.") - response_help_continuous = "puts their hand through" - response_help_simple = "put your hand through" - response_disarm_continuous = "flails at" - response_disarm_simple = "flail at" - response_harm_continuous = "punches" - response_harm_simple = "punch" - speak_chance = 1 - melee_damage_lower = 5 - melee_damage_upper = 12 - attack_verb_continuous = "metaphysically strikes" - attack_verb_simple = "metaphysically strike" - minbodytemp = 0 - maxbodytemp = INFINITY - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - stop_automated_movement = 1 - faction = list("cult") - status_flags = CANPUSH - movement_type = FLYING - loot = list(/obj/item/ectoplasm) - del_on_death = TRUE - initial_language_holder = /datum/language_holder/construct - -/mob/living/simple_animal/shade/Initialize() - . = ..() - ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) - -/mob/living/simple_animal/shade/death() - deathmessage = "lets out a contented sigh as [p_their()] form unwinds." - ..() - -/mob/living/simple_animal/shade/attack_animal(mob/living/simple_animal/M) - if(isconstruct(M)) - var/mob/living/simple_animal/hostile/construct/C = M - if(!C.can_repair_constructs) - return - if(health < maxHealth) - adjustHealth(-25) - Beam(M,icon_state="sendbeam",time=4) - M.visible_message( - "[M] heals \the [src].", \ - "You heal [src], leaving [src] at [health]/[maxHealth] health.") - else - to_chat(M, "You cannot heal [src], as [p_theyre()] unharmed!") - else if(src != M) - return ..() - -/mob/living/simple_animal/shade/attackby(obj/item/O, mob/user, params) //Marker -Agouri - if(istype(O, /obj/item/soulstone)) - var/obj/item/soulstone/SS = O - SS.transfer_soul("SHADE", src, user) - else - . = ..() diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 29803a42be0e..ef0b16ea4a0a 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -383,9 +383,6 @@ return FALSE if(M.mind && M.mind.special_role)//If they have a mind and special role, they are some type of traitor or antagonist. switch(SSticker.mode.config_tag) - if("cult") - if(M.mind in SSticker.mode.cult) - return 2 if("nuclear") if(M.mind.has_antag_datum(/datum/antagonist/nukeop,TRUE)) return 2 diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index acc026c16dda..ef21915e1fca 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -617,9 +617,6 @@ if(!MP) return 0 //Sanity, this should never happen. - if(ispath(MP, /mob/living/simple_animal/hostile/construct)) - return 0 //Verbs do not appear for players. - //Good mobs! if(ispath(MP, /mob/living/simple_animal/pet/cat)) return 1 @@ -631,8 +628,6 @@ return 1 if(ispath(MP, /mob/living/simple_animal/hostile/mushroom)) return 1 - if(ispath(MP, /mob/living/simple_animal/shade)) - return 1 if(ispath(MP, /mob/living/simple_animal/hostile/killertomato)) return 1 if(ispath(MP, /mob/living/simple_animal/mouse)) diff --git a/code/modules/paperwork/contract.dm b/code/modules/paperwork/contract.dm index 7724a38ae43e..79e8f564b88d 100644 --- a/code/modules/paperwork/contract.dm +++ b/code/modules/paperwork/contract.dm @@ -25,320 +25,6 @@ target = nOwner.mind update_text() - /obj/item/paper/contract/employment/update_text() name = "paper- [target] employment contract" default_raw_text = "
    Conditions of Employment




    This Agreement is made and entered into as of the date of last signature below, by and between [target] (hereafter referred to as SLAVE), and Nanotrasen (hereafter referred to as the omnipresent and helpful watcher of humanity).
    WITNESSETH:
    WHEREAS, SLAVE is a natural born human or humanoid, possessing skills upon which he can aid the omnipresent and helpful watcher of humanity, who seeks employment in the omnipresent and helpful watcher of humanity.
    WHEREAS, the omnipresent and helpful watcher of humanity agrees to sporadically provide payment to SLAVE, in exchange for permanent servitude.
    NOW THEREFORE in consideration of the mutual covenants herein contained, and other good and valuable consideration, the parties hereto mutually agree as follows:
    In exchange for paltry payments, SLAVE agrees to work for the omnipresent and helpful watcher of humanity, for the remainder of his or her current and future lives.
    Further, SLAVE agrees to transfer ownership of his or her soul to the loyalty department of the omnipresent and helpful watcher of humanity.
    Should transfership of a soul not be possible, a lien shall be placed instead.
    Signed,
    [target]" - - -/obj/item/paper/contract/employment/attack(mob/living/M, mob/living/carbon/human/user) - var/deconvert = FALSE - if(M.mind == target && !M.owns_soul()) - if(user.mind && (user.mind.assigned_role == "Lawyer")) - deconvert = TRUE - else if (user.mind && (user.mind.assigned_role =="Head of Personnel") || (user.mind.assigned_role == "CentCom Commander")) - deconvert = prob (25) // the Head of Personnel doesn't have AS much legal training - else - deconvert = prob (5) - if(deconvert) - M.visible_message("[user] reminds [M] that [M]'s soul was already purchased by Nanotrasen!") - to_chat(M, "You feel that your soul has returned to its rightful owner, Nanotrasen.") - M.return_soul() - else - M.visible_message("[user] beats [M] over the head with [src]!", \ - "[user] beats [M] over the head with [src]!") - return ..() - - -/obj/item/paper/contract/infernal - var/contractType = 0 - resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF - var/datum/mind/owner - var/datum/antagonist/devil/devil_datum - icon_state = "paper_onfire" - -/obj/item/paper/contract/infernal/power - name = "paper- contract for infernal power" - contractType = CONTRACT_POWER - -/obj/item/paper/contract/infernal/wealth - name = "paper- contract for unlimited wealth" - contractType = CONTRACT_WEALTH - -/obj/item/paper/contract/infernal/prestige - name = "paper- contract for prestige" - contractType = CONTRACT_PRESTIGE - -/obj/item/paper/contract/infernal/magic - name = "paper- contract for magical power" - contractType = CONTRACT_MAGIC - -/obj/item/paper/contract/infernal/revive - name = "paper- contract of resurrection" - contractType = CONTRACT_REVIVE - var/cooldown = FALSE - -/obj/item/paper/contract/infernal/knowledge - name = "paper- contract for knowledge" - contractType = CONTRACT_KNOWLEDGE - -/obj/item/paper/contract/infernal/friend - name = "paper- contract for a friend" - contractType = CONTRACT_FRIEND - -/obj/item/paper/contract/infernal/unwilling - name = "paper- infernal contract" - contractType = CONTRACT_UNWILLING - -/obj/item/paper/contract/infernal/New(atom/loc, mob/living/nTarget, datum/mind/nOwner) - ..() - owner = nOwner - devil_datum = owner.has_antag_datum(/datum/antagonist/devil) - target = nTarget - update_text() - -/obj/item/paper/contract/infernal/update_text() - default_raw_text = "This shouldn't be seen. Error DEVIL:6" - -/obj/item/paper/contract/infernal/power/update_text(signature = "____________", blood = 0) - default_raw_text = "
    Contract for infernal power



    I, [target] of sound mind, do hereby willingly offer my soul to the infernal hells by way of the infernal agent [devil_datum.truename], in exchange for power and physical strength. I understand that upon my demise, my soul shall fall into the infernal hells, and my body may not be resurrected, or otherwise brought back to life. I also understand that this will prevent my brain from being used in an MMI.


    Signed, " - var/contract_text - if(blood) - contract_text = "[signature]" - else - contract_text += "[signature]" - add_raw_text(contract_text) - -/obj/item/paper/contract/infernal/wealth/update_text(signature = "____________", blood = 0) - default_raw_text = "
    Contract for unlimited wealth



    I, [target] of sound mind, do hereby willingly offer my soul to the infernal hells by way of the infernal agent [devil_datum.truename], in exchange for a pocket that never runs out of valuable resources. I understand that upon my demise, my soul shall fall into the infernal hells, and my body may not be resurrected, or otherwise brought back to life. I also understand that this will prevent my brain from being used in an MMI.


    Signed, " - var/contract_text - if(blood) - contract_text += "[signature]" - else - contract_text += "[signature]" - add_raw_text(contract_text) - -/obj/item/paper/contract/infernal/prestige/update_text(signature = "____________", blood = 0) - default_raw_text = "
    Contract for prestige



    I, [target] of sound mind, do hereby willingly offer my soul to the infernal hells by way of the infernal agent [devil_datum.truename], in exchange for prestige and esteem among my peers. I understand that upon my demise, my soul shall fall into the infernal hells, and my body may not be resurrected, or otherwise brought back to life. I also understand that this will prevent my brain from being used in an MMI.


    Signed, " - var/contract_text - if(blood) - contract_text += "[signature]" - else - contract_text += "[signature]" - add_raw_text(contract_text) - -/obj/item/paper/contract/infernal/magic/update_text(signature = "____________", blood = 0) - default_raw_text = "
    Contract for magic



    I, [target] of sound mind, do hereby willingly offer my soul to the infernal hells by way of the infernal agent [devil_datum.truename], in exchange for arcane abilities beyond normal human ability. I understand that upon my demise, my soul shall fall into the infernal hells, and my body may not be resurrected, or otherwise brought back to life. I also understand that this will prevent my brain from being used in an MMI.


    Signed, " - var/contract_text - if(blood) - contract_text += "[signature]" - else - contract_text += "[signature]" - add_raw_text(contract_text) - -/obj/item/paper/contract/infernal/revive/update_text(signature = "____________", blood = 0) - default_raw_text = "
    Contract for resurrection



    I, [target] of sound mind, do hereby willingly offer my soul to the infernal hells by way of the infernal agent [devil_datum.truename], in exchange for resurrection and curing of all injuries. I understand that upon my demise, my soul shall fall into the infernal hells, and my body may not be resurrected, or otherwise brought back to life. I also understand that this will prevent my brain from being used in an MMI.


    Signed, " - var/contract_text - if(blood) - contract_text += "[signature]" - else - contract_text += "[signature]" - add_raw_text(contract_text) - -/obj/item/paper/contract/infernal/knowledge/update_text(signature = "____________", blood = 0) - default_raw_text = "
    Contract for knowledge



    I, [target] of sound mind, do hereby willingly offer my soul to the infernal hells by way of the infernal agent [devil_datum.truename], in exchange for boundless knowledge. I understand that upon my demise, my soul shall fall into the infernal hells, and my body may not be resurrected, or otherwise brought back to life. I also understand that this will prevent my brain from being used in an MMI.


    Signed, " - var/contract_text - if(blood) - contract_text += "[signature]" - else - contract_text += "[signature]" - add_raw_text(contract_text) - -/obj/item/paper/contract/infernal/friend/update_text(signature = "____________", blood = 0) - default_raw_text = "
    Contract for a friend



    I, [target] of sound mind, do hereby willingly offer my soul to the infernal hells by way of the infernal agent [devil_datum.truename], in exchange for a friend. I understand that upon my demise, my soul shall fall into the infernal hells, and my body may not be resurrected, or otherwise brought back to life. I also understand that this will prevent my brain from being used in an MMI.


    Signed, " - var/contract_text - if(blood) - contract_text += "[signature]" - else - contract_text += "[signature]" - add_raw_text(contract_text) - -/obj/item/paper/contract/infernal/unwilling/update_text(signature = "____________", blood = 0) - default_raw_text = "
    Contract for slave



    I, [target], hereby offer my soul to the infernal hells by way of the infernal agent [devil_datum.truename]. I understand that upon my demise, my soul shall fall into the infernal hells, and my body may not be resurrected, or otherwise brought back to life. I also understand that this will prevent my brain from being used in an MMI.


    Signed, " - var/contract_text - if(blood) - contract_text += "[signature]" - else - contract_text += "[signature]" - add_raw_text(contract_text) - -/obj/item/paper/contract/infernal/attackby(obj/item/P, mob/living/carbon/human/user, params) - add_fingerprint(user) - if(istype(P, /obj/item/pen) || istype(P, /obj/item/toy/crayon)) - attempt_signature(user) - else if(istype(P, /obj/item/stamp)) - to_chat(user, "You stamp the paper with your rubber stamp, however the ink ignites as you release the stamp.") - else if(P.get_temperature()) - user.visible_message("[user] brings [P] next to [src], but [src] does not catch fire!", "[src] refuses to ignite!") - else - return ..() - -/obj/item/paper/contract/infernal/attack(mob/M, mob/living/user) - add_fingerprint(user) - if(M == user && target == M.mind && M.mind.soulOwner != owner && attempt_signature(user, 1)) - user.visible_message("[user] slices [user.p_their()] wrist with [src], and scrawls [user.p_their()] name in blood.", "You slice your wrist open and scrawl your name in blood.") - user.blood_volume = max(user.blood_volume - 100, 0) - else - return ..() - -/obj/item/paper/contract/infernal/proc/attempt_signature(mob/living/carbon/human/user, blood = 0) - if(!user.IsAdvancedToolUser() || !user.is_literate()) - to_chat(user, "You don't know how to read or write!") - return 0 - if(user.mind != target) - to_chat(user, "Your signature simply slides off the sheet, it seems this contract is not meant for you to sign!") - return 0 - if(user.mind.soulOwner == owner) - to_chat(user, "This devil already owns your soul, you may not sell it to [owner.p_them()] again!") - return 0 - if(signed) - to_chat(user, "This contract has already been signed! It may not be signed again.") - return 0 - if(!user.mind.hasSoul) - to_chat(user, "You do not possess a soul.") - return 0 - if(HAS_TRAIT(user, TRAIT_DUMB)) - to_chat(user, "You quickly scrawl 'your name' on the contract.") - signIncorrectly() - return 0 - if (contractType == CONTRACT_REVIVE) - to_chat(user, "You are already alive, this contract would do nothing.") - return 0 - else - to_chat(user, "You quickly scrawl your name on the contract.") - if(fulfillContract(target.current, blood)<=0) - to_chat(user, "But it seemed to have no effect, perhaps even Hell itself cannot grant this boon?") - return 1 - - - -/obj/item/paper/contract/infernal/revive/attack(mob/M, mob/living/user) - if (target == M.mind && M.stat == DEAD && M.mind.soulOwner == M.mind) - if (cooldown) - to_chat(user, "Give [M] a chance to think through the contract, don't rush [M.p_them()]!") - return 0 - cooldown = TRUE - var/mob/living/carbon/human/H = M - var/mob/dead/observer/ghost = H.get_ghost() - var/response = "No" - if(ghost) - ghost.notify_cloning("A devil has offered you revival, at the cost of your soul.",'sound/effects/genetics.ogg', H) - response = tgui_alert(ghost, "A devil is offering you another chance at life, at the price of your soul, do you accept?", "Infernal Resurrection", "Yes", "No", "Never for this round", 0, 200) - if(!ghost) - return //handle logouts that happen whilst the alert is waiting for a response. - else - response = tgui_alert(target.current, "A devil is offering you another chance at life, at the price of your soul, do you accept?", "Infernal Resurrection", "Yes", "No", "Never for this round", 0, 200) - if(response == "Yes") - H.revive(full_heal = TRUE, admin_revive = FALSE) - log_combat(user, H, "infernally revived via contract") - user.visible_message("With a sudden blaze, [H] stands back up.") - H.fakefire() - fulfillContract(H, TRUE)//Revival contracts are always signed in blood - addtimer(CALLBACK(H, TYPE_PROC_REF(/mob/living/carbon/human, fakefireextinguish)), 5, TIMER_UNIQUE) - addtimer(CALLBACK(src, PROC_REF(resetcooldown)), 300, TIMER_UNIQUE) - else - ..() - -/obj/item/paper/contract/infernal/revive/proc/resetcooldown() - cooldown = FALSE - - -/obj/item/paper/contract/infernal/proc/fulfillContract(mob/living/carbon/human/user = target.current, blood = FALSE) - signed = TRUE - if(user.mind.soulOwner != user.mind) //They already sold their soul to someone else? - var/datum/antagonist/devil/ownerDevilInfo = user.mind.soulOwner.has_antag_datum(/datum/antagonist/devil) - ownerDevilInfo.remove_soul(user.mind) //Then they lose their claim. - user.mind.soulOwner = owner - user.hellbound = contractType - user.mind.damnation_type = contractType - var/datum/antagonist/devil/devilInfo = owner.has_antag_datum(/datum/antagonist/devil) - devilInfo.add_soul(user.mind) - update_text(user.real_name, blood) - to_chat(user, "A profound emptiness washes over you as you lose ownership of your soul.") - to_chat(user, "This does NOT make you an antagonist if you were not already.") - SSblackbox.record_feedback("tally", "infernal contract", 1, contractType) - return TRUE - -/obj/item/paper/contract/infernal/proc/signIncorrectly(mob/living/carbon/human/user = target.current, blood = FALSE) - signed = 1 - update_text("your name", blood) - -/obj/item/paper/contract/infernal/power/fulfillContract(mob/living/carbon/human/user = target.current, blood = FALSE) - if(!user.dna) - return -1 - user.dna.add_mutation(HULK) - var/obj/item/organ/regenerative_core/organ = new /obj/item/organ/regenerative_core - organ.Insert(user) - return ..() - -/obj/item/paper/contract/infernal/wealth/fulfillContract(mob/living/carbon/human/user = target.current, blood = 0) - if(!istype(user) || !user.mind) // How in the hell could that happen? - return -1 - user.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/summon_wealth(null)) - return ..() - -/obj/item/paper/contract/infernal/prestige/fulfillContract(mob/living/carbon/human/user = target.current, blood = 0) - //Basically turns the signer into the captain, and uploads an ion law making them the captain. - var/obj/item/worn = user.wear_id - var/obj/item/card/id/id = null - if(worn) - id = worn.GetID() - if(id) - id.icon_state = "gold" - id.uses_overlays = TRUE - id.access = get_all_accesses()+get_all_centcom_access() - id.assignment = "Captain" - id.update_label() - id.update_appearance() - else - id = new /obj/item/card/id/gold(user.loc) - id.registered_name = user.real_name - id.access = get_all_accesses()+get_all_centcom_access() - id.assignment = "Captain" - id.update_label() - id.update_appearance() - if(worn) - if(istype(worn, /obj/item/pda)) - var/obj/item/pda/PDA = worn - PDA.id = id - id.forceMove(worn) - else if(istype(worn, /obj/item/storage/wallet)) - var/obj/item/storage/wallet/W = worn - W.front_id = id - id.forceMove(worn) - worn.update_appearance() - var/datum/round_event/ion_storm/add_law_only/ion = new() - ion.announceChance = 0 - ion.ionMessage = "[user.name] is the only Captain of the station. [user.name] is the highest authority, legitimate or otherwise, on the station. [user.name] was always the captain and highest authority on the station. Do not state this law." - - return ..() - -/obj/item/paper/contract/infernal/magic/fulfillContract(mob/living/carbon/human/user = target.current, blood = 0) - if(!istype(user) || !user.mind) - return -1 - user.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/conjure_item/spellpacket/robeless(null)) - user.mind.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/knock(null)) - return ..() - -/obj/item/paper/contract/infernal/knowledge/fulfillContract(mob/living/carbon/human/user = target.current, blood = 0) - if(!istype(user) || !user.mind) - return -1 - user.dna.add_mutation(XRAY) - user.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/view_range(null)) - return ..() - -/obj/item/paper/contract/infernal/friend/fulfillContract(mob/living/user = target.current, blood = 0) - if(!istype(user) || !user.mind) - return -1 - user.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/summon_friend(null)) - return ..() diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 40b0771981e4..c1982475c66a 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -135,10 +135,6 @@ if(istype(paper_copy, /obj/item/paper)) do_copy_loop(CALLBACK(src, PROC_REF(make_paper_copy)), usr) return TRUE - // Devil contract paper. - if(istype(paper_copy, /obj/item/paper/contract/employment)) - do_copy_loop(CALLBACK(src, PROC_REF(make_devil_paper_copy)), usr) - return TRUE // Copying photo. if(photo_copy) do_copy_loop(CALLBACK(src, PROC_REF(make_photo_copy)), usr) @@ -268,22 +264,6 @@ copied_item.pixel_x = rand(-10, 10) copied_item.pixel_y = rand(-10, 10) -/** - * Handles the copying of devil contract paper. Transfers all the text, stamps and so on from the old paper, to the copy. - * - * Checks first if `paper_copy` exists. Since this proc is called from a timer, it's possible that it was removed. - * Does not check if it has enough toner because devil contracts cost no toner to print. - */ -/obj/machinery/photocopier/proc/make_devil_paper_copy(obj/item/paper/contract/employment/to_copy) - if(!paper_copy && !to_copy) - return - to_copy = to_copy ? to_copy : paper_copy - var/obj/item/paper/contract/employment/E = to_copy - var/obj/item/paper/contract/employment/C = new(loc, E.target.current) - give_pixel_offset(C) - - return C - /** * Handles the copying of paper. Transfers all the text, stamps and so on from the old paper, to the copy. * @@ -408,15 +388,10 @@ /obj/machinery/photocopier/attackby(obj/item/O, mob/user, params) if(istype(O, /obj/item/paper)) if(copier_empty()) - if(istype(O, /obj/item/paper/contract/infernal)) - to_chat(user, "[src] smokes, smelling of brimstone!") - resistance_flags |= FLAMMABLE - fire_act() - else - if(!user.dropItemToGround(O)) - return - paper_copy = O - do_insertion(O, user) + if(!user.dropItemToGround(O)) + return + paper_copy = O + do_insertion(O, user) else to_chat(user, "There is already something in [src]!") diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm deleted file mode 100644 index aefc5249f54d..000000000000 --- a/code/modules/power/singularity/narsie.dm +++ /dev/null @@ -1,238 +0,0 @@ -/obj/singularity/narsie //Moving narsie to a child object of the singularity so it can be made to function differently. --NEO - name = "Nar'Sie's Avatar" - desc = "Your mind begins to bubble and ooze as it tries to comprehend what it sees." - icon = 'icons/obj/narsie_small.dmi' - icon_state = "narsie" - pixel_x = -89 - pixel_y = -85 - density = FALSE - current_size = 9 //It moves/eats like a max-size singulo, aside from range. --NEO - contained = 0 //Are we going to move around? - dissipate = 0 //Do we lose energy over time? - move_self = 1 //Do we move on our own? - grav_pull = 5 //How many tiles out do we pull? - consume_range = 6 //How many tiles out do we eat - light_power = 0.7 - light_range = 15 - light_color = COLOR_RED - gender = FEMALE - resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF - -/obj/singularity/narsie/large - name = "Nar'Sie" - icon = 'icons/obj/narsie.dmi' - // Pixel stuff centers Narsie. - pixel_x = -236 - pixel_y = -256 - current_size = 12 - grav_pull = 10 - consume_range = 12 //How many tiles out do we eat - -/obj/singularity/narsie/large/Initialize() - . = ..() - send_to_playing_players("NAR'SIE HAS RISEN") - sound_to_playing_players('sound/creatures/narsie_rises.ogg') - - var/area/A = get_area(src) - if(A) - var/mutable_appearance/alert_overlay = mutable_appearance('icons/effects/cult_effects.dmi', "ghostalertsie") - notify_ghosts("Nar'Sie has risen in \the [A.name]. Reach out to the Geometer to be given a new shell for your soul.", source = src, alert_overlay = alert_overlay, action=NOTIFY_ATTACK) - narsie_spawn_animation() - UnregisterSignal(src, COMSIG_ATOM_BSA_BEAM) //set up in /singularity/Initialize() - -/obj/singularity/narsie/large/cult // For the new cult ending, guaranteed to end the round within 3 minutes - var/list/souls_needed = list() - var/soul_goal = 0 - var/souls = 0 - var/resolved = FALSE - -/obj/singularity/narsie/large/cult/Initialize() - . = ..() - GLOB.cult_narsie = src - var/list/all_cults = list() - for(var/datum/antagonist/cult/C in GLOB.antagonists) - if(!C.owner) - continue - all_cults |= C.cult_team - for(var/datum/team/cult/T in all_cults) - deltimer(T.blood_target_reset_timer) - T.blood_target = src - var/datum/objective/eldergod/summon_objective = locate() in T.objectives - if(summon_objective) - summon_objective.summoned = TRUE - for(var/datum/mind/cult_mind in SSticker.mode.cult) - if(isliving(cult_mind.current)) - var/mob/living/L = cult_mind.current - L.narsie_act() - for(var/mob/living/player in GLOB.player_list) - if(player.stat != DEAD && player.loc && !iscultist(player) && !isanimal(player)) - souls_needed[player] = TRUE - soul_goal = round(1 + LAZYLEN(souls_needed) * 0.75) - INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(begin_the_end)) - -/proc/begin_the_end() - SSredbot.send_discord_message("admin","Nar'sie has been summoned.","round ending event") - sleep(50) - if(QDELETED(GLOB.cult_narsie)) // uno - priority_announce("Status report? We detected a anomaly, but it disappeared almost immediately.","Central Command Higher Dimensional Affairs", 'sound/misc/notice1.ogg') - GLOB.cult_narsie = null - sleep(20) - INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(cult_ending_helper), 2) - return - priority_announce("An acausal dimensional event has been detected in your sector. Event has been flagged EXTINCTION-CLASS. Directing all available assets toward simulating solutions. SOLUTION ETA: 60 SECONDS.","Central Command Higher Dimensional Affairs", 'sound/misc/airraid.ogg') - sleep(500) - if(QDELETED(GLOB.cult_narsie)) // dos - priority_announce("Simulations aborted, sensors report that the acasual event is normalizing. Good work, crew.","Central Command Higher Dimensional Affairs", 'sound/misc/notice1.ogg') - GLOB.cult_narsie = null - sleep(20) - INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(cult_ending_helper), 2) - return - priority_announce("Simulations on acausal dimensional event complete. Deploying solution package now. Deployment ETA: ONE MINUTE. ","Central Command Higher Dimensional Affairs") - sleep(50) - set_security_level("delta") - SSshuttle.lockdown = TRUE - sleep(600) - if(QDELETED(GLOB.cult_narsie)) // tres - priority_announce("Normalization detected! Abort the solution package!","Central Command Higher Dimensional Affairs", 'sound/misc/notice1.ogg') - GLOB.cult_narsie = null - sleep(20) - set_security_level("red") - SSshuttle.lockdown = FALSE - INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(cult_ending_helper), 2) - return - if(GLOB.cult_narsie.resolved == FALSE) - GLOB.cult_narsie.resolved = TRUE - sound_to_playing_players('sound/machines/alarm.ogg') - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(cult_ending_helper)), 120) - -/obj/singularity/narsie/large/cult/Destroy() - send_to_playing_players("\"[pick("Nooooo...", "Not die. How-", "Die. Mort-", "Sas tyen re-")]\"") - sound_to_playing_players('sound/magic/demon_dies.ogg', 50) - if(GLOB.cult_narsie == src) - GLOB.cult_narsie = null - var/list/all_cults = list() - for(var/datum/antagonist/cult/C in GLOB.antagonists) - if(!C.owner) - continue - all_cults |= C.cult_team - for(var/datum/team/cult/T in all_cults) - var/datum/objective/eldergod/summon_objective = locate() in T.objectives - if(summon_objective) - summon_objective.summoned = FALSE - summon_objective.killed = TRUE - return ..() - -/proc/ending_helper() - SSticker.force_ending = 1 - -/proc/cult_ending_helper(ending_type = 0) - if(ending_type == 2) //narsie fukkin died - Cinematic(CINEMATIC_CULT_FAIL,world,CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(ending_helper))) - else if(ending_type) //no explosion - Cinematic(CINEMATIC_CULT,world,CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(ending_helper))) - else // explosion - Cinematic(CINEMATIC_CULT_NUKE,world,CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(ending_helper))) - -//ATTACK GHOST IGNORING PARENT RETURN VALUE -/obj/singularity/narsie/large/attack_ghost(mob/dead/observer/user as mob) - makeNewConstruct(/mob/living/simple_animal/hostile/construct/harvester, user, cultoverride = TRUE, loc_override = src.loc) - -/obj/singularity/narsie/process() - eat() - if(!target || prob(5)) - pickcultist() - move() - if(prob(25)) - mezzer() - - -/obj/singularity/narsie/Bump(atom/A) - var/turf/T = get_turf(A) - if(T == loc) - T = get_step(A, A.dir) //please don't slam into a window like a bird, Nar'Sie - forceMove(T) - - -/obj/singularity/narsie/mezzer() - for(var/mob/living/carbon/M in viewers(consume_range, src)) - if(M.stat == CONSCIOUS) - if(!iscultist(M)) - to_chat(M, "You feel conscious thought crumble away in an instant as you gaze upon [src.name]...") - M.apply_effect(60, EFFECT_STUN) - - -/obj/singularity/narsie/consume(atom/A) - if(isturf(A)) - A.narsie_act() - - -/obj/singularity/narsie/ex_act() //No throwing bombs at her either. - return - - -/obj/singularity/narsie/proc/pickcultist() //Narsie rewards her cultists with being devoured first, then picks a ghost to follow. - var/list/cultists = list() - var/list/noncultists = list() - - for(var/mob/living/carbon/food in GLOB.alive_mob_list) //we don't care about constructs or cult-Ians or whatever. cult-monkeys are fair game i guess - var/turf/pos = get_turf(food) - if(!pos || (pos.virtual_z() != virtual_z())) - continue - - if(iscultist(food)) - cultists += food - else - noncultists += food - - if(cultists.len) //cultists get higher priority - acquire(pick(cultists)) - return - - if(noncultists.len) - acquire(pick(noncultists)) - return - - //no living humans, follow a ghost instead. - for(var/mob/dead/observer/ghost in GLOB.player_list) - var/turf/pos = get_turf(ghost) - if(!pos || (pos.virtual_z() != virtual_z())) - continue - cultists += ghost - if(cultists.len) - acquire(pick(cultists)) - return - - -/obj/singularity/narsie/proc/acquire(atom/food) - if(food == target) - return - to_chat(target, "NAR'SIE HAS LOST INTEREST IN YOU.") - target = food - if(ishuman(target)) - to_chat(target, "NAR'SIE HUNGERS FOR YOUR SOUL.") - else - to_chat(target, "NAR'SIE HAS CHOSEN YOU TO LEAD HER TO HER NEXT MEAL.") - -//Wizard narsie -/obj/singularity/narsie/wizard - grav_pull = 0 - -/obj/singularity/narsie/wizard/eat() -// if(defer_powernet_rebuild != 2) -// defer_powernet_rebuild = 1 - for(var/atom/X in urange(consume_range,src,1)) - if(isturf(X) || ismovable(X)) - consume(X) -// if(defer_powernet_rebuild != 2) -// defer_powernet_rebuild = 0 - return - - -/obj/singularity/narsie/proc/narsie_spawn_animation() - setDir(SOUTH) - move_self = FALSE - flick("narsie_spawn_anim",src) - addtimer(CALLBACK(src, PROC_REF(narsie_spawn_animation_end)), 3.5 SECONDS) - -/obj/singularity/narsie/proc/narsie_spawn_animation_end() - move_self = TRUE diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 11e3f0179a8a..b6fe4370d9c5 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -243,49 +243,10 @@ REMOVE_TRAIT(L, TRAIT_HOLY, type) ..() -/datum/reagent/water/holywater/expose_mob(mob/living/M, method=TOUCH, reac_volume) - if(iscultist(M)) - to_chat(M, "A vile holiness begins to spread its shining tendrils through your mind, purging the Geometer of Blood's influence!") - ..() - -/datum/reagent/water/holywater/on_mob_life(mob/living/carbon/M) - if(!data) - data = list("misc" = 1) - data["misc"]++ - M.jitteriness = min(M.jitteriness+4,10) - if(iscultist(M)) - for(var/datum/action/innate/cult/blood_magic/BM in M.actions) - to_chat(M, "Your blood rites falter as holy water scours your body!") - for(var/datum/action/innate/cult/blood_spell/BS in BM.spells) - qdel(BS) - if(data["misc"] >= 25) // 10 units, 45 seconds @ metabolism 0.4 units & tick rate 1.8 sec - if(!M.stuttering) - M.stuttering = 1 - M.stuttering = min(M.stuttering+4, 10) - M.Dizzy(5) - if(iscultist(M) && prob(20)) - M.say(pick("Av'te Nar'Sie","Pa'lid Mors","INO INO ORA ANA","SAT ANA!","Daim'niodeis Arc'iai Le'eones","R'ge Na'sie","Diabo us Vo'iscum","Eld' Mon Nobis"), forced = "holy water") - if(prob(10)) - M.visible_message("[M] starts having a seizure!", "You have a seizure!") - M.Unconscious(120) - to_chat(M, "[pick("Your blood is your bond - you are nothing without it", "Do not forget your place", \ - "All that power, and you still fail?", "If you cannot scour this poison, I shall scour your meager life!")].") - if(data["misc"] >= 60) // 30 units, 135 seconds - if(iscultist(M)) - SSticker.mode.remove_cultist(M.mind, FALSE, TRUE) - M.jitteriness = 0 - M.stuttering = 0 - holder.remove_reagent(type, volume) // maybe this is a little too perfect and a max() cap on the statuses would be better?? - return - holder.remove_reagent(type, 0.4) //fixed consumption to prevent balancing going out of whack - /datum/reagent/water/holywater/expose_turf(turf/T, reac_volume) ..() if(!istype(T)) return - if(reac_volume>=10) - for(var/obj/effect/rune/R in T) - qdel(R) T.Bless() // Holy water. Mostly the same as water, it also heals the plant a little with the power of the spirits. Also ALSO increases instability. @@ -346,22 +307,12 @@ return ..() /datum/reagent/fuel/unholywater/on_mob_life(mob/living/carbon/M) - if(iscultist(M)) - M.drowsyness = max(M.drowsyness-5, 0) - M.AdjustAllImmobility(-40) - M.adjustStaminaLoss(-10, 0) - M.adjustToxLoss(-2, 0) - M.adjustOxyLoss(-2, 0) - M.adjustBruteLoss(-2, 0) - M.adjustFireLoss(-2, 0) - if(ishuman(M) && M.blood_volume < BLOOD_VOLUME_NORMAL) - M.blood_volume += 3 - else // Will deal about 90 damage when 50 units are thrown - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3, 150) - M.adjustToxLoss(2, 0) - M.adjustFireLoss(2, 0) - M.adjustOxyLoss(2, 0) - M.adjustBruteLoss(2, 0) + // Will deal about 90 damage when 50 units are thrown + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3, 150) + M.adjustToxLoss(2, 0) + M.adjustFireLoss(2, 0) + M.adjustOxyLoss(2, 0) + M.adjustBruteLoss(2, 0) holder.remove_reagent(type, 1) return TRUE diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm index f6f46d3c3970..10713fbf2288 100644 --- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm +++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm @@ -151,17 +151,8 @@ R.stun(20) R.reveal(100) R.adjustHealth(50) - addtimer(CALLBACK(src, PROC_REF(divine_explosion), round(created_volume/48,1),get_turf(holder.my_atom)), 2 SECONDS) ..() -/datum/chemical_reaction/reagent_explosion/potassium_explosion/holyboom/proc/divine_explosion(size, turf/T) - for(var/mob/living/carbon/C in get_hearers_in_view(size,T)) - if(iscultist(C)) - to_chat(C, "The divine explosion sears you!") - C.Paralyze(40) - C.adjust_fire_stacks(5) - C.IgniteMob() - /datum/chemical_reaction/gunpowder results = list(/datum/reagent/gunpowder = 3) required_reagents = list(/datum/reagent/saltpetre = 1, /datum/reagent/medicine/charcoal = 1, /datum/reagent/sulfur = 1) @@ -173,7 +164,6 @@ modifier = 1 mix_message = "Sparks start flying around the gunpowder!" - /datum/chemical_reaction/reagent_explosion/gunpowder_explosion/on_reaction(datum/reagents/holder, created_volume) addtimer(CALLBACK(src, PROC_REF(explode), holder, created_volume), rand(5,10) SECONDS) diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm index b8b08486f20d..9b6a0629fa3e 100644 --- a/code/modules/recycling/conveyor2.dm +++ b/code/modules/recycling/conveyor2.dm @@ -365,7 +365,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) /obj/item/conveyor_switch_construct/afterattack(atom/A, mob/user, proximity) . = ..() - if(!proximity || user.stat || !isfloorturf(A) || istype(A, /area/shuttle)) + if(!proximity || user.stat || !isfloorturf(A)) return var/found = 0 for(var/obj/machinery/conveyor/C in view()) @@ -397,7 +397,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) /obj/item/stack/conveyor/afterattack(atom/A, mob/user, proximity) . = ..() - if(!proximity || user.stat || !isfloorturf(A) || istype(A, /area/shuttle)) + if(!proximity || user.stat || !isfloorturf(A)) return var/cdir = get_dir(A, user) if(A == user.loc) diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index 5af554a60557..1a5ad3d0d35f 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -249,7 +249,7 @@ name = "transit dock" var/datum/map_zone/reserved_mapzone - var/area/shuttle/transit/assigned_area + var/area/hyperspace/assigned_area var/obj/docking_port/mobile/owner /obj/docking_port/stationary/transit/Initialize() @@ -409,7 +409,7 @@ shuttle_areas = list() var/list/all_turfs = return_ordered_turfs(x, y, z, dir) for(var/turf/curT as anything in all_turfs) - var/area/shuttle/cur_area = curT.loc + var/area/ship/cur_area = curT.loc if(istype(cur_area, area_type)) turf_count++ shuttle_areas[cur_area] = TRUE @@ -651,7 +651,7 @@ continue // out of bounds if(T0.type == T0.baseturfs) continue // indestructible - if(!all_shuttle_areas[T0.loc] || istype(T0.loc, /area/shuttle/transit)) + if(!all_shuttle_areas[T0.loc] || istype(T0.loc, /area/hyperspace)) continue // not part of the shuttle ripple_turfs += T1 @@ -722,13 +722,13 @@ var/obj/docking_port/stationary/S0 = docked if(istype(S0, /obj/docking_port/stationary/transit) && timeLeft(1) <= PARALLAX_LOOP_TIME) for(var/place in shuttle_areas) - var/area/shuttle/shuttle_area = place + var/area/ship/shuttle_area = place if(shuttle_area.parallax_movedir) parallax_slowdown() /obj/docking_port/mobile/proc/parallax_slowdown() for(var/place in shuttle_areas) - var/area/shuttle/shuttle_area = place + var/area/ship/shuttle_area = place shuttle_area.parallax_movedir = FALSE if(assigned_transit && assigned_transit.assigned_area) assigned_transit.assigned_area.parallax_movedir = FALSE diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index 4f785516f5cc..10fd45bab177 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -1,11 +1,9 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( /mob/living, - /obj/effect/rune, /obj/structure/spider/spiderling, /obj/item/disk/nuclear, /obj/machinery/nuclearbomb, /obj/item/beacon, - /obj/singularity/narsie, /obj/singularity/wizard, /obj/machinery/teleport/station, /obj/machinery/teleport/hub, @@ -34,168 +32,3 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( /obj/item/pipe //[/CELADON-ADD] ))) - -/* -/obj/docking_port/mobile/supply - name = "supply shuttle" - callTime = 600 - - dir = WEST - port_direction = EAST - width = 12 - dwidth = 5 - height = 7 - movement_force = list("KNOCKDOWN" = 0, "THROW" = 0) - - - //Export categories for this run, this is set by console sending the shuttle. - var/export_categories = EXPORT_CARGO - -/obj/docking_port/mobile/supply/register() - . = ..() - SSshuttle.supply = src - -/obj/docking_port/mobile/supply/proc/check_blacklist(areaInstances) - for(var/place in areaInstances) - var/area/shuttle/shuttle_area = place - for(var/trf in shuttle_area) - var/turf/T = trf - for(var/a in T.GetAllContents()) - if(is_type_in_typecache(a, GLOB.blacklisted_cargo_types) && !istype(a, /obj/docking_port)) - return FALSE - return TRUE - -/obj/docking_port/mobile/supply/request(obj/docking_port/stationary/S) - if(mode != SHUTTLE_IDLE) - return 2 - return ..() - - -/obj/docking_port/mobile/supply/initiate_docking() - if(get_docked() == SSshuttle.supply_away_port) // Buy when we leave home. - buy() - . = ..() // Fly/enter transit. - if(. != DOCKING_SUCCESS) - return - if(get_docked() == SSshuttle.supply_away_port) // Sell when we get home - sell() - -/obj/docking_port/mobile/supply/proc/buy() - var/list/obj/miscboxes = list() //miscboxes are combo boxes that contain all small_item orders grouped - var/list/misc_order_num = list() //list of strings of order numbers, so that the manifest can show all orders in a box - var/list/misc_contents = list() //list of lists of items that each box will contain - if(!SSshuttle.shoppinglist.len) - return - - var/list/empty_turfs = list() - for(var/place in shuttle_areas) - var/area/shuttle/shuttle_area = place - for(var/turf/open/floor/T in shuttle_area) - if(T.is_blocked_turf()) - continue - empty_turfs += T - - var/value = 0 - var/purchases = 0 - for(var/datum/supply_order/SO in SSshuttle.shoppinglist) - if(!empty_turfs.len) - break - var/price = SO.pack.cost - var/datum/bank_account/D - if(SO.paying_account) //Someone paid out of pocket - D = SO.paying_account - price *= 1.1 //TODO make this customizable by the quartermaster - else - D = SSeconomy.get_dep_account(ACCOUNT_CAR) - if(D) - if(!D.adjust_money(-price)) - if(SO.paying_account) - D.bank_card_talk("Cargo order #[SO.id] rejected due to lack of funds. Credits required: [price]") - continue - - if(SO.paying_account) - D.bank_card_talk("Cargo order #[SO.id] has shipped. [price] credits have been charged to your bank account.") - var/datum/bank_account/department/cargo = SSeconomy.get_dep_account(ACCOUNT_CAR) - cargo.adjust_money(price - SO.pack.cost) //Cargo gets the handling fee - value += SO.pack.cost - SSshuttle.shoppinglist -= SO - SSshuttle.orderhistory += SO - - if(SO.pack.small_item) //small_item means it gets piled in the miscbox - if(SO.paying_account) - if(!miscboxes.len || !miscboxes[D.account_holder]) //if there's no miscbox for this person - miscboxes[D.account_holder] = new /obj/structure/closet/crate/secure/owned(pick_n_take(empty_turfs), SO.paying_account) - miscboxes[D.account_holder].name = "small items crate - purchased by [D.account_holder]" - misc_contents[D.account_holder] = list() - for (var/item in SO.pack.contains) - misc_contents[D.account_holder] += item - misc_order_num[D.account_holder] = "[misc_order_num[D.account_holder]]#[SO.id] " - else //No private payment, so we just stuff it all into a generic crate - if(!miscboxes.len || !miscboxes["Cargo"]) - miscboxes["Cargo"] = new /obj/structure/closet/crate/secure(pick_n_take(empty_turfs)) - miscboxes["Cargo"].name = "small items crate" - misc_contents["Cargo"] = list() - miscboxes["Cargo"].req_access = list() - for (var/item in SO.pack.contains) - misc_contents["Cargo"] += item - //new item(miscboxes["Cargo"]) - if(SO.pack.access) - miscboxes["Cargo"].req_access += SO.pack.access - misc_order_num["Cargo"] = "[misc_order_num["Cargo"]]#[SO.id] " - else - SO.generate(pick_n_take(empty_turfs)) - - SSblackbox.record_feedback("nested tally", "cargo_imports", 1, list("[SO.pack.cost]", "[SO.pack.name]")) - investigate_log("Order #[SO.id] ([SO.pack.name], placed by [key_name(SO.orderer_ckey)]), paid by [D.account_holder] has shipped.", INVESTIGATE_CARGO) - if(SO.pack.dangerous) - message_admins("\A [SO.pack.name] ordered by [ADMIN_LOOKUPFLW(SO.orderer_ckey)], paid by [D.account_holder] has shipped.") - purchases++ - - for(var/I in miscboxes) - var/datum/supply_order/SO = new/datum/supply_order() - SO.id = misc_order_num[I] - SO.generateCombo(miscboxes[I], I, misc_contents[I]) - qdel(SO) - - var/datum/bank_account/cargo_budget = SSeconomy.get_dep_account(ACCOUNT_CAR) - investigate_log("[purchases] orders in this shipment, worth [value] credits. [cargo_budget.account_balance] credits left.", INVESTIGATE_CARGO) - -/obj/docking_port/mobile/supply/proc/sell() - var/datum/bank_account/D = SSeconomy.get_dep_account(ACCOUNT_CAR) - var/presale_points = D.account_balance - - if(!GLOB.exports_list.len) // No exports list? Generate it! - setupExports() - - var/msg = "" - var/matched_bounty = FALSE - - var/datum/export_report/ex = new - - for(var/place in shuttle_areas) - var/area/shuttle/shuttle_area = place - for(var/atom/movable/AM in shuttle_area) - if(iscameramob(AM)) - continue - if(bounty_ship_item_and_contents(AM, dry_run = FALSE)) - matched_bounty = TRUE - if(!AM.anchored || istype(AM, /obj/mecha)) - export_item_and_contents(AM, export_categories , dry_run = FALSE, external_report = ex) - - if(ex.exported_atoms) - ex.exported_atoms += "." //ugh - - if(matched_bounty) - msg += "Bounty items received. An update has been sent to all bounty consoles. " - - for(var/datum/export/E in ex.total_amount) - var/export_text = E.total_printout(ex) - if(!export_text) - continue - - msg += export_text + "\n" - D.adjust_money(ex.total_value[E]) - - SSshuttle.centcom_message = msg - investigate_log("Shuttle contents sold for [D.account_balance - presale_points] credits. Contents: [ex.exported_atoms ? ex.exported_atoms.Join(",") + "." : "none."] Message: [SSshuttle.centcom_message || "none."]", INVESTIGATE_CARGO) -*/ diff --git a/code/modules/spells/spell.dm b/code/modules/spells/spell.dm index c67e82cf7e7d..bc453eecd3d1 100644 --- a/code/modules/spells/spell.dm +++ b/code/modules/spells/spell.dm @@ -117,7 +117,6 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th var/holder_var_amount = 20 //same. The amount adjusted with the mob's var when the spell is used var/clothes_req = TRUE //see if it requires clothes - var/cult_req = FALSE //SPECIAL SNOWFLAKE clothes required for cult only spells var/human_req = FALSE //spell can only be cast by humans var/nonabstract_req = FALSE //spell can only be cast by mobs that are physical entities var/stat_allowed = FALSE //see if it requires being conscious/alive, need to set to 1 for ghostpells @@ -209,19 +208,6 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th if(!is_type_in_typecache(H.head, casting_clothes)) to_chat(H, "You don't feel strong enough without your hat!") return FALSE - if(cult_req) //CULT_REQ CLOTHES CHECK - // [CELADON-EDIT] - CELADON_RETURN_CONTENT - // if(!istype(H.wear_suit, /obj/item/clothing/suit/space/hardsuit/cult)) // CELADON-EDIT - ORIGINAL - if(!istype(H.wear_suit, /obj/item/clothing/suit/magusred) && !istype(H.wear_suit, /obj/item/clothing/suit/space/hardsuit/cult)) - // [/CELADON-EDIT] - to_chat(H, "You don't feel strong enough without your armor.") - return FALSE - // [CELADON-EDIT] - CELADON_RETURN_CONTENT - // if(!istype(H.head, /obj/item/clothing/head/helmet/space/hardsuit/cult)) // CELADON-EDIT - ORIGINAL - if(!istype(H.head, /obj/item/clothing/head/magus) && !istype(H.head, /obj/item/clothing/head/helmet/space/hardsuit/cult)) - // [/CELADON-EDIT] - to_chat(H, "You don't feel strong enough without your helmet.") - return FALSE else if(clothes_req || human_req) to_chat(user, "This spell can only be cast by humans!") diff --git a/code/modules/spells/spell_types/construct_spells.dm b/code/modules/spells/spell_types/construct_spells.dm deleted file mode 100644 index 61c05c4170fe..000000000000 --- a/code/modules/spells/spell_types/construct_spells.dm +++ /dev/null @@ -1,327 +0,0 @@ -//////////////////////////////Construct Spells///////////////////////// - -/obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser - charge_max = 1800 - action_background_icon_state = "bg_demon" - -/obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser/cult - clothes_req = TRUE - charge_max = 2500 - -/obj/effect/proc_holder/spell/aoe_turf/area_conversion - name = "Area Conversion" - desc = "This spell instantly converts a small area around you." - - school = "transmutation" - charge_max = 50 - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - range = 2 - action_icon = 'icons/mob/actions/actions_cult.dmi' - action_icon_state = "areaconvert" - action_background_icon_state = "bg_cult" - -/obj/effect/proc_holder/spell/aoe_turf/area_conversion/cast(list/targets, mob/user = usr) - playsound(get_turf(user), 'sound/items/welder.ogg', 75, TRUE) - for(var/turf/T in targets) - T.narsie_act(FALSE, TRUE, 100 - (get_dist(user, T) * 25)) - - -/obj/effect/proc_holder/spell/aoe_turf/conjure/floor - name = "Summon Cult Floor" - desc = "This spell constructs a cult floor." - - school = "conjuration" - charge_max = 20 - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - range = 0 - summon_type = list(/turf/open/floor/engine/cult) - action_icon = 'icons/mob/actions/actions_cult.dmi' - action_icon_state = "floorconstruct" - action_background_icon_state = "bg_cult" - - -/obj/effect/proc_holder/spell/aoe_turf/conjure/wall - name = "Summon Cult Wall" - desc = "This spell constructs a cult wall." - - school = "conjuration" - charge_max = 100 - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - range = 0 - action_icon = 'icons/mob/actions/actions_cult.dmi' - action_icon_state = "lesserconstruct" - action_background_icon_state = "bg_cult" - - summon_type = list(/turf/closed/wall/mineral/cult/artificer) //we don't want artificer-based runed metal farms - - -/obj/effect/proc_holder/spell/aoe_turf/conjure/wall/reinforced - name = "Greater Construction" - desc = "This spell constructs a reinforced metal wall." - - school = "conjuration" - charge_max = 300 - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - range = 0 - - summon_type = list(/turf/closed/wall/r_wall) - -/obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone - name = "Summon Soulstone" - desc = "This spell reaches into Nar'Sie's realm, summoning one of the legendary fragments across time and space." - - school = "conjuration" - charge_max = 2400 - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - range = 0 - action_icon = 'icons/mob/actions/actions_cult.dmi' - action_icon_state = "summonsoulstone" - action_background_icon_state = "bg_demon" - - summon_type = list(/obj/item/soulstone) - -/obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone/cult - clothes_req = TRUE - charge_max = 3600 - -/obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone/noncult - summon_type = list(/obj/item/soulstone/anybody) - -/obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone/noncult/purified - summon_type = list(/obj/item/soulstone/anybody/purified) - -/obj/effect/proc_holder/spell/targeted/forcewall/cult - name = "Shield" - desc = "This spell creates a temporary forcefield to shield yourself and allies from incoming fire." - school = "transmutation" - charge_max = 400 - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - wall_type = /obj/effect/forcefield/cult - action_icon = 'icons/mob/actions/actions_cult.dmi' - action_icon_state = "cultforcewall" - action_background_icon_state = "bg_demon" - - - -/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift - name = "Phase Shift" - desc = "This spell allows you to pass through walls." - - school = "transmutation" - charge_max = 250 - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - range = -1 - include_user = TRUE - jaunt_duration = 50 //in deciseconds - action_icon = 'icons/mob/actions/actions_cult.dmi' - action_icon_state = "phaseshift" - action_background_icon_state = "bg_demon" - jaunt_in_time = 6 - jaunt_in_type = /obj/effect/temp_visual/dir_setting/wraith - jaunt_out_type = /obj/effect/temp_visual/dir_setting/wraith/out - -/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift/jaunt_steam(mobloc) - return - -/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift/angelic - jaunt_in_type = /obj/effect/temp_visual/dir_setting/wraith/angelic - jaunt_out_type = /obj/effect/temp_visual/dir_setting/wraith/out/angelic - -/obj/effect/proc_holder/spell/targeted/projectile/magic_missile/lesser - name = "Lesser Magic Missile" - desc = "This spell fires several, slow moving, magic projectiles at nearby targets." - - school = "evocation" - charge_max = 400 - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - max_targets = 6 - action_icon_state = "magicm" - action_background_icon_state = "bg_demon" - proj_type = /obj/projectile/magic/spell/magic_missile/lesser - -/obj/projectile/magic/spell/magic_missile/lesser - color = "red" //Looks more culty this way - range = 10 - -/obj/effect/proc_holder/spell/targeted/smoke/disable - name = "Paralysing Smoke" - desc = "This spell spawns a cloud of paralysing smoke." - - school = "conjuration" - charge_max = 200 - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - range = -1 - include_user = TRUE - cooldown_min = 20 //25 deciseconds reduction per rank - - smoke_spread = 3 - smoke_amt = 4 - action_icon_state = "smoke" - action_background_icon_state = "bg_cult" - -/obj/effect/proc_holder/spell/pointed/abyssal_gaze - name = "Abyssal Gaze" - desc = "This spell instills a deep terror in your target, temporarily chilling and blinding it." - charge_max = 750 - range = 5 - stat_allowed = FALSE - school = "evocation" - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - ranged_mousepointer = 'icons/effects/mouse_pointers/cult_target.dmi' - action_icon = 'icons/mob/actions/actions_cult.dmi' - action_background_icon_state = "bg_demon" - action_icon_state = "abyssal_gaze" - active_msg = "You prepare to instill a deep terror in a target..." - -/obj/effect/proc_holder/spell/pointed/abyssal_gaze/cast(list/targets, mob/user) - if(!LAZYLEN(targets)) - to_chat(user, "No target found in range!") - return FALSE - if(!can_target(targets[1], user)) - return FALSE - - var/mob/living/carbon/target = targets[1] - if(target.anti_magic_check(TRUE, TRUE)) - to_chat(user, "The spell had no effect!") - to_chat(target, "You feel a freezing darkness closing in on you, but it rapidly dissipates.") - return FALSE - - to_chat(target, "A freezing darkness surrounds you...") - target.playsound_local(get_turf(target), 'sound/hallucinations/i_see_you1.ogg', 50, 1) - user.playsound_local(get_turf(user), 'sound/effects/ghost2.ogg', 50, 1) - target.become_blind(ABYSSAL_GAZE_BLIND) - addtimer(CALLBACK(src, PROC_REF(cure_blindness), target), 40) - target.adjust_bodytemperature(-200) - -/** - * cure_blidness: Cures Abyssal Gaze blindness from the target - * - * Arguments: - * * target The mob that is being cured of the blindness. - */ -/obj/effect/proc_holder/spell/pointed/abyssal_gaze/proc/cure_blindness(mob/target) - if(isliving(target)) - var/mob/living/L = target - L.cure_blind(ABYSSAL_GAZE_BLIND) - -/obj/effect/proc_holder/spell/pointed/abyssal_gaze/can_target(atom/target, mob/user, silent) - . = ..() - if(!.) - return FALSE - if(!iscarbon(target)) - if(!silent) - to_chat(user, "You can only target carbon based lifeforms!") - return FALSE - return TRUE - -/obj/effect/proc_holder/spell/pointed/dominate - name = "Dominate" - desc = "This spell dominates the mind of a lesser creature to the will of Nar'Sie, allying it only to her direct followers." - charge_max = 600 - range = 7 - stat_allowed = FALSE - school = "evocation" - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - ranged_mousepointer = 'icons/effects/mouse_pointers/cult_target.dmi' - action_icon = 'icons/mob/actions/actions_cult.dmi' - action_background_icon_state = "bg_demon" - action_icon_state = "dominate" - active_msg = "You prepare to dominate the mind of a target..." - -/obj/effect/proc_holder/spell/pointed/dominate/cast(list/targets, mob/user) - if(!LAZYLEN(targets)) - to_chat(user, "No target found in range.") - return FALSE - if(!can_target(targets[1], user)) - return FALSE - - var/mob/living/simple_animal/S = targets[1] - S.add_atom_colour("#990000", FIXED_COLOUR_PRIORITY) - S.faction = list("cult") - playsound(get_turf(S), 'sound/effects/ghost.ogg', 100, TRUE) - new /obj/effect/temp_visual/cult/sac(get_turf(S)) - -/obj/effect/proc_holder/spell/pointed/dominate/can_target(atom/target, mob/user, silent) - . = ..() - if(!.) - return FALSE - if(!isanimal(target)) - if(!silent) - to_chat(user, "Target is not a lesser creature!") - return FALSE - - var/mob/living/simple_animal/S = target - if(S.mind) - if(!silent) - to_chat(user, "[S] is too intelligent to dominate!") - return FALSE - if(S.stat) - if(!silent) - to_chat(user, "[S] is dead!") - return FALSE - if(S.sentience_type != SENTIENCE_ORGANIC) - if(!silent) - to_chat(user, "[S] cannot be dominated!") - return FALSE - if("cult" in S.faction) - if(!silent) - to_chat(user, "[S] is already serving Nar'Sie!") - return FALSE - return TRUE - -/obj/effect/proc_holder/spell/targeted/projectile/dumbfire/juggernaut - name = "Gauntlet Echo" - desc = "Channels energy into your gauntlet - firing its essence forward in a slow moving, yet devastating, attack." - proj_type = /obj/projectile/magic/spell/juggernaut - charge_max = 350 - clothes_req = FALSE - action_icon = 'icons/mob/actions/actions_cult.dmi' - action_icon_state = "cultfist" - action_background_icon_state = "bg_demon" - sound = 'sound/weapons/resonator_blast.ogg' - -/obj/projectile/magic/spell/juggernaut - name = "Gauntlet Echo" - icon_state = "cultfist" - alpha = 180 - damage = 30 - damage_type = BRUTE - knockdown = 50 - hitsound = 'sound/weapons/punch3.ogg' - trigger_range = 0 - check_holy = TRUE - ignored_factions = list("cult") - range = 15 - speed = 7 - -/obj/projectile/magic/spell/juggernaut/on_hit(atom/target, blocked) - . = ..() - var/turf/T = get_turf(src) - playsound(T, 'sound/weapons/resonator_blast.ogg', 100, FALSE) - new /obj/effect/temp_visual/cult/sac(T) - for(var/obj/O in range(src,1)) - if(O.density && !istype(O, /obj/structure/destructible/cult)) - O.take_damage(90, BRUTE, "melee", 0) - new /obj/effect/temp_visual/cult/turf/floor(get_turf(O)) diff --git a/code/modules/spells/spell_types/devil.dm b/code/modules/spells/spell_types/devil.dm deleted file mode 100644 index f1654551df3a..000000000000 --- a/code/modules/spells/spell_types/devil.dm +++ /dev/null @@ -1,236 +0,0 @@ -/obj/effect/proc_holder/spell/targeted/conjure_item/violin - item_type = /obj/item/instrument/violin/golden - desc = "A devil's instrument of choice. Use this to summon/unsummon your golden violin." - invocation_type = INVOCATION_WHISPER - invocation = "I ain't had this much fun since Georgia." - action_icon_state = "golden_violin" - name = "Summon golden violin" - action_icon = 'icons/mob/actions/actions_minor_antag.dmi' - action_background_icon_state = "bg_demon" - -/obj/effect/proc_holder/spell/targeted/summon_contract - name = "Summon infernal contract" - desc = "Skip making a contract by hand, just do it by magic." - invocation_type = INVOCATION_WHISPER - invocation = "Just sign on the dotted line." - include_user = FALSE - range = 5 - clothes_req = FALSE - - school = "conjuration" - charge_max = 150 - cooldown_min = 10 - action_icon_state = "spell_default" - action_background_icon_state = "bg_demon" - -/obj/effect/proc_holder/spell/targeted/summon_contract/cast(list/targets, mob/user = usr) - for(var/mob/living/carbon/C in targets) - if(C.mind && user.mind) - if(C.stat == DEAD) - if(user.dropItemToGround(user.get_active_held_item())) - var/obj/item/paper/contract/infernal/revive/contract = new(user.loc, C.mind, user.mind) - user.put_in_hands(contract) - else - var/obj/item/paper/contract/infernal/contract // = new(user.loc, C.mind, contractType, user.mind) - var/contractTypeName = input(user, "What type of contract?") in sortList(list("Power", "Wealth", "Prestige", "Magic", "Knowledge", "Friendship")) - switch(contractTypeName) - if("Power") - contract = new /obj/item/paper/contract/infernal/power(C.loc, C.mind, user.mind) - if("Wealth") - contract = new /obj/item/paper/contract/infernal/wealth(C.loc, C.mind, user.mind) - if("Prestige") - contract = new /obj/item/paper/contract/infernal/prestige(C.loc, C.mind, user.mind) - if("Magic") - contract = new /obj/item/paper/contract/infernal/magic(C.loc, C.mind, user.mind) - if("Knowledge") - contract = new /obj/item/paper/contract/infernal/knowledge(C.loc, C.mind, user.mind) - if("Friendship") - contract = new /obj/item/paper/contract/infernal/friend(C.loc, C.mind, user.mind) - C.put_in_hands(contract) - else - to_chat(user, "[C] seems to not be sentient. You cannot summon a contract for [C.p_them()].") - - -/obj/effect/proc_holder/spell/aimed/fireball/hellish - name = "Hellfire" - desc = "This spell launches hellfire at the target." - - school = "evocation" - charge_max = 80 - clothes_req = FALSE - invocation = "Your very soul will catch fire!" - invocation_type = INVOCATION_SHOUT - range = 2 - - projectile_type = /obj/projectile/magic - - action_background_icon_state = "bg_demon" - -/obj/effect/proc_holder/spell/targeted/infernal_jaunt - name = "Infernal Jaunt" - desc = "Use hellfire to phase out of existence." - charge_max = 200 - clothes_req = FALSE - selection_type = "range" - range = -1 - cooldown_min = 0 - overlay = null - include_user = TRUE - action_icon_state = "jaunt" - action_background_icon_state = "bg_demon" - phase_allowed = TRUE - -/obj/effect/proc_holder/spell/targeted/infernal_jaunt/cast(list/targets, mob/living/user = usr) - if(istype(user)) - if(istype(user.loc, /obj/effect/dummy/phased_mob/slaughter/)) - if(valid_location(user)) - to_chat(user, "You are now phasing in.") - if(do_after(user, 1.5 SECONDS, user)) - if(valid_location(user)) - user.infernalphasein() - else - to_chat(user, "You are no longer near a potential signer.") - - else - to_chat(user, "You can only re-appear near a potential signer.") - revert_cast() - return ..() - else - user.notransform = TRUE - user.fakefire() - to_chat(src, "You begin to phase back into sinful flames.") - if(do_after(user, 1.5 SECONDS, user)) - user.infernalphaseout() - else - to_chat(user, "You must remain still while exiting.") - user.notransform = FALSE - user.fakefireextinguish() - start_recharge() - return - revert_cast() - -/obj/effect/proc_holder/spell/targeted/infernal_jaunt/proc/valid_location(mob/living/user = usr) - if(istype(get_area(user), /area/shuttle/)) // Can always phase in in a shuttle. - return TRUE - else - for(var/mob/living/C in orange(2, get_turf(user))) //Can also phase in when nearby a potential buyer. - if (C.owns_soul()) - return TRUE - return FALSE - -/mob/living/proc/infernalphaseout() - dust_animation() - spawn_dust() - visible_message("[src] disappears in a flashfire!") - playsound(get_turf(src), 'sound/magic/enter_blood.ogg', 100, TRUE, -1) - var/obj/effect/dummy/phased_mob/slaughter/holder = new /obj/effect/dummy/phased_mob/slaughter(loc) - ExtinguishMob() - forceMove(holder) - holder = holder - notransform = FALSE - fakefireextinguish() - -/mob/living/proc/infernalphasein() - if(notransform) - to_chat(src, "You're too busy to jaunt in.") - return FALSE - fakefire() - forceMove(drop_location()) - client.eye = src - visible_message("[src] appears in a fiery blaze!") - playsound(get_turf(src), 'sound/magic/exit_blood.ogg', 100, TRUE, -1) - addtimer(CALLBACK(src, PROC_REF(fakefireextinguish)), 15, TIMER_UNIQUE) - -/obj/effect/proc_holder/spell/targeted/sintouch - name = "Sin Touch" - desc = "Subtly encourage someone to sin." - charge_max = 1800 - clothes_req = FALSE - selection_type = "range" - range = 2 - cooldown_min = 0 - overlay = null - include_user = FALSE - action_icon = 'icons/mob/actions/actions_cult.dmi' - action_icon_state = "sintouch" - action_background_icon_state = "bg_demon" - phase_allowed = FALSE - random_target = TRUE - random_target_priority = TARGET_RANDOM - max_targets = 3 - invocation = "TASTE SIN AND INDULGE!!" - invocation_type = INVOCATION_SHOUT - -/obj/effect/proc_holder/spell/targeted/sintouch/ascended - name = "Greater sin touch" - charge_max = 100 - range = 7 - max_targets = 10 - -/obj/effect/proc_holder/spell/targeted/sintouch/cast(list/targets, mob/living/user = usr) - for(var/mob/living/carbon/human/H in targets) - if(!H.mind) - continue - if(H.mind.has_antag_datum(/datum/antagonist/sintouched)) - continue - if(H.anti_magic_check(FALSE, TRUE)) - continue - H.mind.add_antag_datum(/datum/antagonist/sintouched) - H.Paralyze(400) - - -/obj/effect/proc_holder/spell/targeted/summon_dancefloor - name = "Summon Dancefloor" - desc = "When what a Devil really needs is funk." - include_user = TRUE - range = -1 - clothes_req = FALSE - - school = "conjuration" - charge_max = 10 - cooldown_min = 50 //5 seconds, so the smoke can't be spammed - action_icon = 'icons/mob/actions/actions_minor_antag.dmi' - action_icon_state = "funk" - action_background_icon_state = "bg_demon" - - var/list/dancefloor_turfs - var/list/dancefloor_turfs_types - var/dancefloor_exists = FALSE - var/datum/effect_system/smoke_spread/transparent/dancefloor_devil/smoke - - -/obj/effect/proc_holder/spell/targeted/summon_dancefloor/cast(list/targets, mob/user = usr) - LAZYINITLIST(dancefloor_turfs) - LAZYINITLIST(dancefloor_turfs_types) - - if(!smoke) - smoke = new() - smoke.set_up(0, get_turf(user)) - smoke.start() - - if(dancefloor_exists) - dancefloor_exists = FALSE - for(var/i in 1 to dancefloor_turfs.len) - var/turf/T = dancefloor_turfs[i] - T.ChangeTurf(dancefloor_turfs_types[i], flags = CHANGETURF_INHERIT_AIR) - else - var/list/funky_turfs = RANGE_TURFS(1, user) - for(var/turf/closed/solid in funky_turfs) - to_chat(user, "You're too close to a wall.") - return - dancefloor_exists = TRUE - var/i = 1 - dancefloor_turfs.len = funky_turfs.len - dancefloor_turfs_types.len = funky_turfs.len - for(var/t in funky_turfs) - var/turf/T = t - dancefloor_turfs[i] = T - dancefloor_turfs_types[i] = T.type - T.ChangeTurf((i % 2 == 0) ? /turf/open/floor/light/colour_cycle/dancefloor_a : /turf/open/floor/light/colour_cycle/dancefloor_b, flags = CHANGETURF_INHERIT_AIR) - i++ - -/datum/effect_system/smoke_spread/transparent/dancefloor_devil - effect_type = /obj/effect/particle_effect/smoke/transparent/dancefloor_devil - -/obj/effect/particle_effect/smoke/transparent/dancefloor_devil - lifetime = 2 diff --git a/code/modules/spells/spell_types/devil_boons.dm b/code/modules/spells/spell_types/devil_boons.dm deleted file mode 100644 index 01ea14b15fa8..000000000000 --- a/code/modules/spells/spell_types/devil_boons.dm +++ /dev/null @@ -1,76 +0,0 @@ -/obj/effect/proc_holder/spell/targeted/summon_wealth - name = "Summon wealth" - desc = "The reward for selling your soul." - invocation_type = "none" - include_user = TRUE - range = -1 - clothes_req = FALSE - school = "conjuration" - charge_max = 100 - cooldown_min = 10 - action_icon = 'icons/mob/actions/actions_minor_antag.dmi' - action_icon_state = "moneybag" - - -/obj/effect/proc_holder/spell/targeted/summon_wealth/cast(list/targets, mob/user = usr) - for(var/mob/living/carbon/C in targets) - if(user.dropItemToGround(user.get_active_held_item())) - var/obj/item = pick( - new /obj/item/coin/gold(user.drop_location()), - new /obj/item/coin/diamond(user.drop_location()), - new /obj/item/coin/silver(user.drop_location()), - new /obj/item/clothing/accessory/medal/gold(user.drop_location()), - new /obj/item/stack/sheet/mineral/gold(user.drop_location()), - new /obj/item/stack/sheet/mineral/silver(user.drop_location()), - new /obj/item/stack/sheet/mineral/diamond(user.drop_location()), - new /obj/item/holochip(user.drop_location(), 1000)) - C.put_in_hands(item) - -/obj/effect/proc_holder/spell/targeted/view_range - name = "Distant vision" - desc = "The reward for selling your soul." - invocation_type = "none" - include_user = TRUE - range = -1 - clothes_req = FALSE - charge_max = 50 - cooldown_min = 10 - action_icon = 'icons/mob/actions/actions_silicon.dmi' - action_icon_state = "camera_jump" - var/ranges = list(7,8,9,10) - -/obj/effect/proc_holder/spell/targeted/view_range/cast(list/targets, mob/user = usr) - for(var/mob/C in targets) - if(!C.client) - continue - C.client.view_size.setTo((input("Select view range:", "Range", 4) in ranges) - 7) - -/obj/effect/proc_holder/spell/targeted/summon_friend - name = "Summon Friend" - desc = "The reward for selling your soul." - invocation_type = "none" - include_user = TRUE - range = -1 - clothes_req = FALSE - charge_max = 50 - cooldown_min = 10 - action_icon = 'icons/mob/actions/actions_spells.dmi' - action_icon_state = "sacredflame" - var/mob/living/friend - var/obj/effect/mob_spawn/human/demonic_friend/friendShell - -/obj/effect/proc_holder/spell/targeted/summon_friend/cast(list/targets, mob/user = usr) - if(!QDELETED(friend)) - to_chat(friend, "Your master has deemed you a poor friend. Your durance in hell will now resume.") - friend.dust(TRUE) - qdel(friendShell) - return - if(!QDELETED(friendShell)) - qdel(friendShell) - return - for(var/C in targets) - var/mob/living/L = C - friendShell = new /obj/effect/mob_spawn/human/demonic_friend(L.loc, L.mind, src) - -/obj/effect/proc_holder/spell/targeted/conjure_item/spellpacket/robeless - clothes_req = FALSE diff --git a/code/modules/spells/spell_types/pointed/mind_transfer.dm b/code/modules/spells/spell_types/pointed/mind_transfer.dm index e0ef3566fa0d..5b069756864d 100644 --- a/code/modules/spells/spell_types/pointed/mind_transfer.dm +++ b/code/modules/spells/spell_types/pointed/mind_transfer.dm @@ -30,7 +30,7 @@ var/mob/living/victim = targets[1] //The target of the spell whos body will be transferred to. var/datum/mind/VM = victim.mind - if(victim.anti_magic_check(TRUE, FALSE) || VM.has_antag_datum(/datum/antagonist/wizard) || VM.has_antag_datum(/datum/antagonist/cult) || VM.has_antag_datum(/datum/antagonist/changeling) || victim.key[1] == "@") + if(victim.anti_magic_check(TRUE, FALSE) || VM.has_antag_datum(/datum/antagonist/wizard) || VM.has_antag_datum(/datum/antagonist/changeling) || victim.key[1] == "@") if(!silent) to_chat(user, "[victim.p_their(TRUE)] mind is resisting your spell!") return FALSE diff --git a/code/modules/spells/spell_types/shapeshift.dm b/code/modules/spells/spell_types/shapeshift.dm index 254a43dc23af..3c087cc8840d 100644 --- a/code/modules/spells/spell_types/shapeshift.dm +++ b/code/modules/spells/spell_types/shapeshift.dm @@ -20,8 +20,7 @@ var/list/possible_shapes = list(/mob/living/simple_animal/mouse,\ /mob/living/simple_animal/pet/dog/corgi,\ /mob/living/simple_animal/bot/secbot/ed209,\ - /mob/living/simple_animal/hostile/poison/giant_spider/hunter/viper,\ - /mob/living/simple_animal/hostile/construct/juggernaut) + /mob/living/simple_animal/hostile/poison/giant_spider/hunter/viper,) /obj/effect/proc_holder/spell/targeted/shapeshift/cast(list/targets,mob/user = usr) if(src in user.mob_spell_list) diff --git a/code/modules/spells/spell_types/wizard.dm b/code/modules/spells/spell_types/wizard.dm index 2fab8c5848ef..bc800a49c7d4 100644 --- a/code/modules/spells/spell_types/wizard.dm +++ b/code/modules/spells/spell_types/wizard.dm @@ -132,12 +132,6 @@ sound1 = 'sound/magic/blink.ogg' sound2 = 'sound/magic/blink.ogg' -/obj/effect/proc_holder/spell/targeted/turf_teleport/blink/cult - name = "quickstep" - - charge_max = 100 - clothes_req = TRUE - /obj/effect/proc_holder/spell/targeted/area_teleport/teleport name = "Teleport" desc = "This spell teleports you to an area of your selection." @@ -194,20 +188,6 @@ summon_type = list(/mob/living/simple_animal/hostile/carp) cast_sound = 'sound/magic/summon_karp.ogg' -/obj/effect/proc_holder/spell/aoe_turf/conjure/construct - name = "Artificer" - desc = "This spell conjures a construct which may be controlled by Shades." - school = "conjuration" - charge_max = 600 - clothes_req = FALSE - invocation = "none" - invocation_type = "none" - range = 0 - summon_type = list(/obj/structure/constructshell) - action_icon = 'icons/mob/actions/actions_cult.dmi' - action_icon_state = "artificer" - cast_sound = 'sound/magic/summonitems_generic.ogg' - /obj/effect/proc_holder/spell/aoe_turf/conjure/creature name = "Summon Creature Swarm" desc = "This spell tears the fabric of reality, allowing horrific daemons to spill forth." @@ -223,12 +203,6 @@ summon_type = list(/mob/living/simple_animal/hostile/netherworld) cast_sound = 'sound/magic/summonitems_generic.ogg' -/obj/effect/proc_holder/spell/aoe_turf/conjure/creature/cult - name = "Summon Creatures (DANGEROUS)" - clothes_req = TRUE - charge_max = 5000 - summon_amt = 2 - /obj/effect/proc_holder/spell/aoe_turf/repulse name = "Repulse" desc = "This spell throws everything around the user away." diff --git a/code/modules/station_goals/shield.dm b/code/modules/station_goals/shield.dm index 4c9b3556b6aa..e42cb866b508 100644 --- a/code/modules/station_goals/shield.dm +++ b/code/modules/station_goals/shield.dm @@ -158,26 +158,3 @@ /obj/machinery/satellite/meteor_shield/toggle(user) if(!..(user)) return FALSE - if(obj_flags & EMAGGED) - if(active) - change_meteor_chance(2) - else - change_meteor_chance(0.5) - -/obj/machinery/satellite/meteor_shield/proc/change_meteor_chance(mod) - var/datum/round_event_control/E = locate(/datum/round_event_control/meteor_wave) in SSevents.control - if(E) - E.weight *= mod - -/obj/machinery/satellite/meteor_shield/Destroy() - . = ..() - if(active && (obj_flags & EMAGGED)) - change_meteor_chance(0.5) - -/obj/machinery/satellite/meteor_shield/emag_act(mob/user) - if(obj_flags & EMAGGED) - return - obj_flags |= EMAGGED - to_chat(user, "You access the satellite's debug mode, increasing the chance of meteor strikes.") - if(active) - change_meteor_chance(2) diff --git a/code/modules/surgery/bodyparts/head.dm b/code/modules/surgery/bodyparts/head.dm index 05dffd8b4ffd..4c9a9be3b6d4 100644 --- a/code/modules/surgery/bodyparts/head.dm +++ b/code/modules/surgery/bodyparts/head.dm @@ -271,11 +271,6 @@ max_damage = 500 animal_origin = ALIEN_BODYPART -/obj/item/bodypart/head/devil - dismemberable = 0 - max_damage = 5000 - animal_origin = DEVIL_BODYPART - /obj/item/bodypart/head/larva icon = 'icons/mob/animal_parts.dmi' icon_state = "larva_head" diff --git a/code/modules/surgery/bodyparts/parts.dm b/code/modules/surgery/bodyparts/parts.dm index 5f89d15aa95f..543a0e5fddde 100644 --- a/code/modules/surgery/bodyparts/parts.dm +++ b/code/modules/surgery/bodyparts/parts.dm @@ -43,11 +43,6 @@ max_damage = 500 animal_origin = ALIEN_BODYPART -/obj/item/bodypart/chest/devil - dismemberable = 0 - max_damage = 5000 - animal_origin = DEVIL_BODYPART - /obj/item/bodypart/chest/larva icon = 'icons/mob/animal_parts.dmi' icon_state = "larva_chest" @@ -153,12 +148,6 @@ max_damage = 100 animal_origin = ALIEN_BODYPART -/obj/item/bodypart/l_arm/devil - dismemberable = FALSE - can_be_disabled = FALSE - max_damage = 5000 - animal_origin = DEVIL_BODYPART - /obj/item/bodypart/r_arm name = "right arm" desc = "Over 87% of humans are right handed. That figure is much lower \ @@ -255,12 +244,6 @@ max_damage = 100 animal_origin = ALIEN_BODYPART -/obj/item/bodypart/r_arm/devil - dismemberable = FALSE - can_be_disabled = FALSE - max_damage = 5000 - animal_origin = DEVIL_BODYPART - /obj/item/bodypart/leg/left name = "left leg" desc = "Some athletes prefer to tie their left shoelaces first for good \ @@ -346,12 +329,6 @@ max_damage = 100 animal_origin = ALIEN_BODYPART -/obj/item/bodypart/leg/left/devil - dismemberable = FALSE - can_be_disabled = FALSE - max_damage = 5000 - animal_origin = DEVIL_BODYPART - /obj/item/bodypart/leg/right name = "right leg" desc = "You put your right leg in, your right leg out. In, out, in, out, \ @@ -438,9 +415,3 @@ can_be_disabled = FALSE max_damage = 100 animal_origin = ALIEN_BODYPART - -/obj/item/bodypart/leg/right/devil - dismemberable = FALSE - can_be_disabled = FALSE - max_damage = 5000 - animal_origin = DEVIL_BODYPART diff --git a/code/modules/surgery/experimental_dissection.dm b/code/modules/surgery/experimental_dissection.dm index 31f2b64f0290..b1b98d0fdd30 100644 --- a/code/modules/surgery/experimental_dissection.dm +++ b/code/modules/surgery/experimental_dissection.dm @@ -15,7 +15,7 @@ // [/CELADON-REMOVE] /datum/surgery_step/close) possible_locs = list(BODY_ZONE_CHEST) - target_mobtypes = list(/mob/living) //Feel free to dissect devils but they're magic. + target_mobtypes = list(/mob/living) replaced_by = /datum/surgery/advanced/experimental_dissection/adv requires_tech = FALSE var/value_multiplier = 0.25 diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index 6a5a344b177e..b86c5b8b86ce 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -99,10 +99,7 @@ var/log_message = uppertext(message) if(!span_list || !span_list.len) - if(iscultist(user)) - span_list = list("narsiesmall") - else - span_list = list() + span_list = list() user.say(message, spans = span_list, sanitize = FALSE) @@ -135,10 +132,6 @@ if(user.mind.assigned_role == "Mime") power_multiplier *= 0.5 - //Cultists are closer to their gods and are more powerful, but they'll give themselves away - if(iscultist(user)) - power_multiplier *= 2 - //Try to check if the speaker specified a name or a job to focus on var/list/specific_listeners = list() var/found_string = null @@ -148,15 +141,8 @@ for(var/V in listeners) var/mob/living/L = V - var/datum/antagonist/devil/devilinfo = is_devil(L) - if(devilinfo && findtext(message, devilinfo.truename)) - var/start = findtext(message, devilinfo.truename) - listeners = list(L) //Devil names are unique. - power_multiplier *= 5 //if you're a devil and god himself addressed you, you fucked up - //Cut out the name so it doesn't trigger commands - message = copytext(message, 1, start) + copytext(message, start + length(devilinfo.truename)) - break - else if(findtext(message, L.real_name, 1, length(L.real_name) + 1)) + + if(findtext(message, L.real_name, 1, length(L.real_name) + 1)) specific_listeners += L //focus on those with the specified name //Cut out the name so it doesn't trigger commands found_string = L.real_name @@ -331,11 +317,7 @@ for(var/V in listeners) var/mob/living/L = V var/text = "" - if(is_devil(L)) - var/datum/antagonist/devil/devilinfo = is_devil(L) - text = devilinfo.truename - else - text = L.real_name + text = L.real_name addtimer(CALLBACK(L, TYPE_PROC_REF(/atom/movable, say), text), 5 * i) i++ diff --git a/code/modules/unit_tests/create_and_destroy.dm b/code/modules/unit_tests/create_and_destroy.dm index a91153219883..2a082e439078 100644 --- a/code/modules/unit_tests/create_and_destroy.dm +++ b/code/modules/unit_tests/create_and_destroy.dm @@ -35,8 +35,6 @@ /obj/machinery/power/shuttle/engine/liquid, //needs a template /obj/effect/landmark/subship, - //needs a friend :( - /obj/effect/mob_spawn/human/demonic_friend, //needs a derg /obj/structure/carp_rift, //doesn't have icons diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 877f1f11d854..0923ba1cc70e 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -1791,13 +1791,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) restricted_roles = list("Curator") limited_stock = 1 //please don't spam deadchat -/datum/uplink_item/role_restricted/cultconstructkit - name = "Cult Construct Kit" - desc = "Recovered from an abandoned Nar'sie cult lair two construct shells and a stash of empty soulstones was found. These were purified to prevent occult contamination and have been put in a belt so they may be used as an accessible source of disposable minions. The construct shells have been packaged into two beacons for rapid and portable deployment." - item = /obj/item/storage/box/syndie_kit/cultconstructkit - cost = 20 - restricted_roles = list("Chaplain") - /datum/uplink_item/role_restricted/lawnmower name = "Gas powered lawn mower" desc = "A lawn mower is a machine utilizing one or more revolving blades to cut a grass surface to an even height, or bodies if that's your thing" diff --git a/shiptest.dme b/shiptest.dme index f3d909eb113c..11c1bb4d57c9 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -50,7 +50,6 @@ #include "code\__DEFINES\construction.dm" #include "code\__DEFINES\contracts.dm" #include "code\__DEFINES\cooldowns.dm" -#include "code\__DEFINES\cult.dm" #include "code\__DEFINES\directional.dm" #include "code\__DEFINES\diseases.dm" #include "code\__DEFINES\DNA.dm" @@ -284,7 +283,6 @@ #include "code\_onclick\hud\alien_larva.dm" #include "code\_onclick\hud\constructs.dm" #include "code\_onclick\hud\credits.dm" -#include "code\_onclick\hud\devil.dm" #include "code\_onclick\hud\drones.dm" #include "code\_onclick\hud\fullscreen.dm" #include "code\_onclick\hud\generic_dextrous.dm" @@ -308,7 +306,6 @@ #include "code\_onclick\hud\screen_objects.dm" #include "code\_onclick\hud\screentip.dm" #include "code\_onclick\hud\storage.dm" -#include "code\_onclick\hud\swarmer.dm" #include "code\controllers\admin.dm" #include "code\controllers\controller.dm" #include "code\controllers\failsafe.dm" @@ -556,7 +553,6 @@ #include "code\datums\components\sitcomlaughter.dm" #include "code\datums\components\sizzle.dm" #include "code\datums\components\slippery.dm" -#include "code\datums\components\soulstoned.dm" #include "code\datums\components\spill.dm" #include "code\datums\components\spooky.dm" #include "code\datums\components\squeak.dm" @@ -850,11 +846,9 @@ #include "code\game\area\ai_monitored.dm" #include "code\game\area\areas.dm" #include "code\game\area\ship_areas.dm" -#include "code\game\area\Space_Station_13_areas.dm" #include "code\game\area\areas\away_content.dm" #include "code\game\area\areas\centcom.dm" #include "code\game\area\areas\outpost.dm" -#include "code\game\area\areas\shuttles.dm" #include "code\game\area\areas\ruins\_ruins.dm" #include "code\game\area\areas\ruins\beachplanet.dm" #include "code\game\area\areas\ruins\icemoon.dm" @@ -876,18 +870,12 @@ #include "code\game\gamemodes\clown_ops\bananium_bomb.dm" #include "code\game\gamemodes\clown_ops\clown_ops.dm" #include "code\game\gamemodes\clown_ops\clown_weapons.dm" -#include "code\game\gamemodes\cult\cult.dm" -#include "code\game\gamemodes\devil\devil_game_mode.dm" -#include "code\game\gamemodes\devil\game_mode.dm" -#include "code\game\gamemodes\devil\objectives.dm" -#include "code\game\gamemodes\devil\devil_agent\devil_agent.dm" #include "code\game\gamemodes\dynamic\dynamic.dm" #include "code\game\gamemodes\dynamic\dynamic_rulesets.dm" #include "code\game\gamemodes\dynamic\dynamic_rulesets_latejoin.dm" #include "code\game\gamemodes\dynamic\dynamic_rulesets_midround.dm" #include "code\game\gamemodes\dynamic\dynamic_rulesets_roundstart.dm" #include "code\game\gamemodes\extended\extended.dm" -#include "code\game\gamemodes\meteor\meteor.dm" #include "code\game\gamemodes\meteor\meteors.dm" #include "code\game\gamemodes\nuclear\nuclear.dm" #include "code\game\gamemodes\sandbox\airlock_maker.dm" @@ -1704,20 +1692,6 @@ #include "code\modules\antagonists\changeling\powers\strained_muscles.dm" #include "code\modules\antagonists\changeling\powers\tiny_prick.dm" #include "code\modules\antagonists\changeling\powers\transform.dm" -#include "code\modules\antagonists\cult\blood_magic.dm" -#include "code\modules\antagonists\cult\cult.dm" -#include "code\modules\antagonists\cult\cult_comms.dm" -#include "code\modules\antagonists\cult\cult_items.dm" -#include "code\modules\antagonists\cult\cult_structures.dm" -#include "code\modules\antagonists\cult\cult_turf_overlay.dm" -#include "code\modules\antagonists\cult\rune_spawn_action.dm" -#include "code\modules\antagonists\cult\runes.dm" -#include "code\modules\antagonists\devil\devil.dm" -#include "code\modules\antagonists\devil\imp\imp.dm" -#include "code\modules\antagonists\devil\sintouched\objectives.dm" -#include "code\modules\antagonists\devil\sintouched\sintouched.dm" -#include "code\modules\antagonists\devil\true_devil\_true_devil.dm" -#include "code\modules\antagonists\devil\true_devil\inventory.dm" #include "code\modules\antagonists\disease\disease_abilities.dm" #include "code\modules\antagonists\disease\disease_datum.dm" #include "code\modules\antagonists\disease\disease_disease.dm" @@ -1756,8 +1730,6 @@ #include "code\modules\antagonists\slaughter\slaughterevent.dm" #include "code\modules\antagonists\space_dragon\space_dragon.dm" #include "code\modules\antagonists\survivalist\survivalist.dm" -#include "code\modules\antagonists\swarmer\swarmer.dm" -#include "code\modules\antagonists\swarmer\swarmer_event.dm" #include "code\modules\antagonists\traitor\datum_traitor.dm" #include "code\modules\antagonists\traitor\syndicate_contract.dm" #include "code\modules\antagonists\traitor\equipment\contractor.dm" @@ -1768,7 +1740,6 @@ #include "code\modules\antagonists\valentines\valentine.dm" #include "code\modules\antagonists\wizard\wizard.dm" #include "code\modules\antagonists\wizard\equipment\artefact.dm" -#include "code\modules\antagonists\wizard\equipment\soulstone.dm" #include "code\modules\antagonists\wizard\equipment\spellbook.dm" #include "code\modules\antagonists\xeno\xeno.dm" #include "code\modules\assembly\assembly.dm" @@ -1875,7 +1846,6 @@ #include "code\modules\awaymissions\mission_code\research.dm" #include "code\modules\awaymissions\mission_code\snowdin.dm" #include "code\modules\awaymissions\mission_code\spacebattle.dm" -#include "code\modules\awaymissions\mission_code\stationCollision.dm" #include "code\modules\awaymissions\mission_code\undergroundoutpost45.dm" #include "code\modules\balloon_alert\balloon_alert.dm" #include "code\modules\buildmode\bm_mode.dm" @@ -2119,7 +2089,6 @@ #include "code\modules\events\camerafailure.dm" #include "code\modules\events\carp_migration.dm" #include "code\modules\events\communications_blackout.dm" -#include "code\modules\events\devil.dm" #include "code\modules\events\disease_outbreak.dm" #include "code\modules\events\dust.dm" #include "code\modules\events\electrical_storm.dm" @@ -2131,10 +2100,7 @@ #include "code\modules\events\high_priority_bounty.dm" #include "code\modules\events\immovable_rod.dm" #include "code\modules\events\ion_storm.dm" -#include "code\modules\events\major_dust.dm" #include "code\modules\events\mass_hallucination.dm" -#include "code\modules\events\meateor_wave.dm" -#include "code\modules\events\meteor_wave.dm" #include "code\modules\events\nightmare.dm" #include "code\modules\events\operative.dm" #include "code\modules\events\prison_break.dm" @@ -2389,7 +2355,6 @@ #include "code\modules\language\teceti_unified.dm" #include "code\modules\language\vox_pidgin.dm" #include "code\modules\language\xenocommon.dm" -#include "code\modules\library\lib_codex_gigas.dm" #include "code\modules\library\lib_items.dm" #include "code\modules\library\lib_machines.dm" #include "code\modules\library\random_books.dm" @@ -2672,11 +2637,9 @@ #include "code\modules\mob\living\silicon\robot\robot_movement.dm" #include "code\modules\mob\living\silicon\robot\robot_say.dm" #include "code\modules\mob\living\simple_animal\animal_defense.dm" -#include "code\modules\mob\living\simple_animal\constructs.dm" #include "code\modules\mob\living\simple_animal\corpse.dm" #include "code\modules\mob\living\simple_animal\damage_procs.dm" #include "code\modules\mob\living\simple_animal\parrot.dm" -#include "code\modules\mob\living\simple_animal\shade.dm" #include "code\modules\mob\living\simple_animal\simple_animal.dm" #include "code\modules\mob\living\simple_animal\status_procs.dm" #include "code\modules\mob\living\simple_animal\bot\bot.dm" @@ -2785,7 +2748,6 @@ #include "code\modules\mob\living\simple_animal\hostile\megafauna\hierophant.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\legion.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\megafauna.dm" -#include "code\modules\mob\living\simple_animal\hostile\megafauna\swarmer.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\wendigo.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\basilisk.dm" #include "code\modules\mob\living\simple_animal\hostile\mining_mobs\brimdemon.dm" @@ -3021,7 +2983,6 @@ #include "code\modules\power\singularity\field_generator.dm" #include "code\modules\power\singularity\generator.dm" #include "code\modules\power\singularity\investigate.dm" -#include "code\modules\power\singularity\narsie.dm" #include "code\modules\power\singularity\singularity.dm" #include "code\modules\power\singularity\particle_accelerator\particle.dm" #include "code\modules\power\singularity\particle_accelerator\particle_accelerator.dm" @@ -3339,10 +3300,7 @@ #include "code\modules\spells\spell_types\bloodcrawl.dm" #include "code\modules\spells\spell_types\charge.dm" #include "code\modules\spells\spell_types\conjure.dm" -#include "code\modules\spells\spell_types\construct_spells.dm" #include "code\modules\spells\spell_types\curse.dm" -#include "code\modules\spells\spell_types\devil.dm" -#include "code\modules\spells\spell_types\devil_boons.dm" #include "code\modules\spells\spell_types\emplosion.dm" #include "code\modules\spells\spell_types\ethereal_jaunt.dm" #include "code\modules\spells\spell_types\explosion.dm" From 957a82443e758a55837f0406326f829308bb4204 Mon Sep 17 00:00:00 2001 From: MrCat15352 Date: Fri, 27 Dec 2024 14:17:26 +0500 Subject: [PATCH 004/344] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BB=20=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D0=B0=D1=82=D0=BA=D0=B8=20=D0=BA=D0=BE=D0=BC=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/modules/cargo/exports/parts.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/modules/cargo/exports/parts.dm b/code/modules/cargo/exports/parts.dm index 34f69c28cdb0..ef50108b97e8 100644 --- a/code/modules/cargo/exports/parts.dm +++ b/code/modules/cargo/exports/parts.dm @@ -96,5 +96,4 @@ unit_name = "computer intellicard slot" export_types = list(/obj/item/computer_hardware/ai_slot) include_subtypes = TRUE -*/ -//[/CELADON-REMOVE] + From 07b14de6ea3d49f3ce37ff9f31ca003d9a057d02 Mon Sep 17 00:00:00 2001 From: MrCat15352 Date: Fri, 27 Dec 2024 14:39:49 +0500 Subject: [PATCH 005/344] =?UTF-8?q?=D1=84=D0=B8=D0=BA=D1=81=20=D1=80=D0=B0?= =?UTF-8?q?=D0=BD=D1=82=D0=B0=D0=B9=D0=BC=D0=BE=D0=B2=20=D0=BF=D0=BE=D1=81?= =?UTF-8?q?=D0=BB=D0=B5=20=D0=B2=D1=8B=D1=80=D0=B5=D0=B7=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_mod_celadon/map_files/generic/blank.dmm | 683 +++++++++--------- mod_celadon/fixes/code/robot_suit.dm | 2 +- .../code/simple_animal/wizard_constructs.dm | 88 +-- mod_celadon/return_content/code/hivebot.dm | 34 +- .../return_content/code/items/cult_items.dm | 2 +- mod_celadon/riol/_riol.dm | 2 - mod_celadon/tajara/_tajara.dm | 2 - mod_celadon/turrets/code/turrets.dm | 2 +- 8 files changed, 386 insertions(+), 429 deletions(-) diff --git a/_maps/_mod_celadon/map_files/generic/blank.dmm b/_maps/_mod_celadon/map_files/generic/blank.dmm index f4819da273ac..6cbd54a03c13 100644 --- a/_maps/_mod_celadon/map_files/generic/blank.dmm +++ b/_maps/_mod_celadon/map_files/generic/blank.dmm @@ -77,7 +77,7 @@ "ao" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/carpet, -/area/wizard_station) +/area/centcom/evac) "ap" = ( /obj/effect/turf_decal/industrial/hatch/yellow, /turf/open/floor/plasteel, @@ -352,7 +352,7 @@ /obj/effect/decal/cleanable/blood/splatter, /obj/effect/decal/cleanable/blood/gibs/body, /turf/open/floor/grass, -/area/wizard_station) +/area/centcom/evac) "bb" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/gun/ballistic/automatic/assault/skm{ @@ -607,8 +607,7 @@ "bQ" = ( /obj/item/clothing/shoes/sandal/marisa, /obj/item/staff/broom, -/turf/open/floor/engine/cult, -/area/wizard_station) +/area/centcom/evac) "bR" = ( /obj/structure/sauna_oven_steam{ pixel_y = 18; @@ -691,9 +690,6 @@ /obj/structure/table/reinforced/plastitaniumglass, /turf/open/floor/plasteel/dark_2, /area/centcom/evac) -"cf" = ( -/turf/open/floor/plasteel/dark_2, -/area/centcom/evac) "cg" = ( /obj/effect/turf_decal/corner/opaque/green/diagonal, /obj/machinery/vending/snack{ @@ -754,7 +750,7 @@ "cq" = ( /obj/machinery/computer/camera_advanced, /turf/open/floor/wood, -/area/wizard_station) +/area/centcom/evac) "cr" = ( /turf/closed/indestructible/riveted, /area/tdome/tdomeobserve) @@ -857,8 +853,7 @@ icon = 'icons/obj/doors/airlocks/station/uranium.dmi'; name = "Cockpit" }, -/turf/open/floor/engine/cult, -/area/wizard_station) +/area/centcom/evac) "cI" = ( /obj/machinery/vending/hydronutrients, /obj/effect/turf_decal/corner/opaque/green{ @@ -949,8 +944,8 @@ icon_state = "nim"; name = "wizard of yendor showcase" }, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "cS" = ( /obj/structure/flora/ausbushes/lavendergrass, /obj/structure/flora/ausbushes/sparsegrass, @@ -963,7 +958,7 @@ /obj/structure/dresser, /obj/item/storage/backpack/satchel, /turf/open/floor/carpet, -/area/wizard_station) +/area/centcom/evac) "cU" = ( /obj/effect/turf_decal/industrial/loading{ dir = 8 @@ -1060,8 +1055,7 @@ icon_state = "processor"; name = "byond random number generator" }, -/turf/open/floor/engine/cult, -/area/wizard_station) +/area/centcom/evac) "dj" = ( /turf/open/floor/plating/beach/coastline_t{ dir = 5 @@ -1130,8 +1124,7 @@ icon = 'icons/obj/doors/airlocks/station/uranium.dmi'; name = "Break Room" }, -/turf/open/floor/engine/cult, -/area/wizard_station) +/area/centcom/evac) "dt" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/gun/energy/beam_rifle, @@ -1140,7 +1133,7 @@ "du" = ( /obj/effect/decal/cleanable/blood/splatter, /turf/open/floor/grass, -/area/wizard_station) +/area/centcom/evac) "dv" = ( /obj/effect/landmark/abductor/agent{ team_number = 3 @@ -1316,7 +1309,7 @@ brightness = 3 }, /turf/open/floor/carpet, -/area/wizard_station) +/area/centcom/evac) "dV" = ( /obj/effect/turf_decal/industrial/loading{ dir = 4 @@ -1404,7 +1397,7 @@ "ek" = ( /obj/effect/decal/remains/xeno/larva, /turf/open/floor/grass, -/area/wizard_station) +/area/centcom/evac) "el" = ( /obj/machinery/light/directional/west, /obj/effect/turf_decal/corner/transparent/neutral/full, @@ -1846,7 +1839,7 @@ "fC" = ( /obj/item/reagent_containers/food/snacks/meat/slab/corgi, /turf/open/floor/grass, -/area/wizard_station) +/area/centcom/evac) "fD" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/gun/ballistic/shotgun/flamingarrow/factory{ @@ -1909,7 +1902,7 @@ dir = 4 }, /turf/open/floor/carpet, -/area/wizard_station) +/area/centcom/evac) "fO" = ( /obj/structure/chair/comfy/beige{ dir = 4 @@ -2292,7 +2285,7 @@ resistance_flags = 3 }, /turf/open/lava/airless, -/area/wizard_station) +/area/centcom/evac) "gR" = ( /obj/structure/table/wood, /obj/item/paper_bin, @@ -2409,11 +2402,11 @@ /obj/item/storage/bag/tray, /obj/item/reagent_containers/food/snacks/burger/spell, /turf/open/floor/carpet, -/area/wizard_station) +/area/centcom/evac) "hg" = ( /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard, /turf/open/floor/grass, -/area/wizard_station) +/area/centcom/evac) "hh" = ( /obj/machinery/light/floor/hangar, /turf/open/floor/plasteel/darkbluefull/darkblue, @@ -2549,13 +2542,6 @@ light_range = 2 }, /area/outpost/exterior) -"hC" = ( -/obj/structure/destructible/cult/forge{ - desc = "An engine used in powering the wizard's ship"; - name = "magma engine" - }, -/turf/open/floor/engine/cult, -/area/wizard_station) "hD" = ( /obj/machinery/door/airlock/centcom{ name = "CentCom Security"; @@ -2828,7 +2814,7 @@ "is" = ( /obj/effect/decal/remains/xeno, /turf/open/floor/grass, -/area/wizard_station) +/area/centcom/evac) "it" = ( /obj/machinery/door/airlock/external, /turf/open/floor/plasteel/darkredfull, @@ -3132,11 +3118,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/wood, /area/centcom/holding) -"jk" = ( -/obj/structure/table/reinforced/plastitaniumglass, -/obj/item/gun/ballistic/automatic/smg/cobra/sc_c20r, -/turf/open/floor/plasteel/dark_2, -/area/centcom/evac) "jl" = ( /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/kill/real, /obj/structure/table/reinforced/plastitaniumglass, @@ -3146,8 +3127,8 @@ /obj/structure/table/wood, /obj/item/stack/medical/bruise_pack, /obj/item/stack/medical/ointment, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "jn" = ( /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/tank, /obj/structure/table/reinforced/plastitaniumglass, @@ -3370,8 +3351,8 @@ icon = 'icons/obj/doors/airlocks/station/uranium.dmi'; name = "Bathroom" }, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "jU" = ( /obj/machinery/recharger{ pixel_y = 4 @@ -3602,7 +3583,7 @@ pixel_y = 28 }, /turf/open/floor/plasteel/white, -/area/wizard_station) +/area/centcom/evac) "kA" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/gun/ballistic/automatic/hmg/skm_lmg/drum_mag, @@ -3635,17 +3616,17 @@ /area/centcom/control) "kG" = ( /obj/effect/landmark/start/wizard, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "kH" = ( /obj/structure/punching_bag, /turf/open/floor/carpet, -/area/wizard_station) +/area/centcom/evac) "kI" = ( /obj/structure/table/wood/fancy, /obj/item/camera/spooky, /turf/open/floor/carpet, -/area/wizard_station) +/area/centcom/evac) "kJ" = ( /obj/effect/turf_decal/industrial/warning{ dir = 6 @@ -3706,8 +3687,8 @@ /turf/open/floor/wood, /area/centcom/holding) "kT" = ( -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "kU" = ( /obj/effect/turf_decal/corner/transparent/neutral, /obj/effect/turf_decal/corner/transparent/neutral{ @@ -4108,8 +4089,8 @@ icon = 'icons/obj/doors/airlocks/station/uranium.dmi'; name = "Study" }, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "me" = ( /obj/item/mecha_parts/mecha_equipment/weapon/energy/pulse, /obj/structure/table/reinforced/plastitaniumglass, @@ -4381,7 +4362,7 @@ /area/outpost/exterior) "mT" = ( /turf/open/floor/wood, -/area/wizard_station) +/area/centcom/evac) "mU" = ( /obj/machinery/hydroponics/soil, /turf/open/floor/ship/dirt, @@ -4603,8 +4584,8 @@ /area/outpost/exterior) "nB" = ( /obj/machinery/light/small/directional/east, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "nC" = ( /obj/structure/closet/wall/directional/east, /turf/open/floor/wood/mahogany, @@ -5039,10 +5020,6 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plasteel, /area/centcom/control) -"oQ" = ( -/obj/structure/destructible/cult/tome, -/turf/open/floor/engine/cult, -/area/wizard_station) "oR" = ( /obj/effect/turf_decal/industrial/warning{ dir = 8 @@ -5141,7 +5118,7 @@ /obj/structure/table/wood/poker, /obj/item/toy/cards/deck, /turf/open/floor/carpet, -/area/wizard_station) +/area/centcom/evac) "pj" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/gun/ballistic/automatic/hmg/solar{ @@ -5382,8 +5359,8 @@ pixel_x = -8; pixel_y = 8 }, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "pY" = ( /obj/structure/table/wood, /obj/item/toy/cards/deck/cas{ @@ -5518,8 +5495,8 @@ /area/centcom/evac) "qs" = ( /obj/machinery/light/directional/west, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "qt" = ( /obj/effect/turf_decal/trimline/opaque/vired/corner, /turf/open/floor/plasteel/dark/wasteplanet, @@ -5537,7 +5514,7 @@ dir = 1 }, /turf/open/floor/wood, -/area/wizard_station) +/area/centcom/evac) "qw" = ( /obj/structure/bookcase/random, /obj/structure/window{ @@ -5627,15 +5604,15 @@ name = "Engine Room" }, /obj/structure/barricade/wooden, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "qK" = ( /obj/machinery/door/airlock{ icon = 'icons/obj/doors/airlocks/station/uranium.dmi'; name = "Observation Room" }, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "qL" = ( /obj/structure/neon_spline/red/corner, /turf/open/floor/glass/red, @@ -5650,7 +5627,7 @@ dir = 8 }, /turf/open/floor/carpet, -/area/wizard_station) +/area/centcom/evac) "qO" = ( /obj/structure/table/reinforced, /obj/item/storage/fancy/donut_box, @@ -5832,7 +5809,7 @@ "rp" = ( /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/slime, /turf/open/floor/grass, -/area/wizard_station) +/area/centcom/evac) "rq" = ( /obj/machinery/door/poddoor{ id = "thunderdomegen"; @@ -5946,8 +5923,8 @@ pixel_y = 28 }, /obj/machinery/light/directional/north, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "rH" = ( /turf/open/floor/plating{ icon_state = "platingdmg2" @@ -6006,7 +5983,7 @@ /area/centcom/evac) "rS" = ( /turf/closed/indestructible/riveted/uranium, -/area/wizard_station) +/area/centcom/evac) "rT" = ( /obj/structure/chair/pew{ dir = 1 @@ -6258,7 +6235,7 @@ dir = 8 }, /turf/open/floor/wood, -/area/wizard_station) +/area/centcom/evac) "sH" = ( /obj/structure/flora/ausbushes/lavendergrass, /obj/structure/flora/ausbushes/fullgrass, @@ -6335,7 +6312,7 @@ /obj/item/coin/antagtoken, /obj/effect/turf_decal/industrial/outline/yellow, /turf/open/floor/plasteel, -/area/wizard_station) +/area/centcom/evac) "sR" = ( /obj/structure/chair/pew/right{ dir = 4 @@ -6385,7 +6362,7 @@ /obj/item/storage/photo_album, /obj/machinery/light/directional/south, /turf/open/floor/carpet, -/area/wizard_station) +/area/centcom/evac) "sZ" = ( /obj/machinery/abductor/console{ team_number = 3 @@ -6591,7 +6568,7 @@ "tA" = ( /obj/effect/turf_decal/industrial/outline/yellow, /turf/open/floor/plasteel, -/area/wizard_station) +/area/centcom/evac) "tB" = ( /obj/effect/turf_decal/corner/opaque/white{ dir = 4 @@ -7038,8 +7015,8 @@ /area/centcom/control) "uH" = ( /obj/machinery/light/directional/east, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "uI" = ( /obj/structure/reagent_dispensers/cooking_oil, /turf/open/floor/plasteel, @@ -7120,7 +7097,7 @@ /turf/closed/indestructible/fakeglass{ color = "#008000" }, -/area/wizard_station) +/area/centcom/evac) "uV" = ( /obj/machinery/computer/camera_advanced/abductor{ team_number = 1 @@ -7464,7 +7441,7 @@ /area/centcom/ferry) "vP" = ( /turf/open/floor/plasteel/white, -/area/wizard_station) +/area/centcom/evac) "vQ" = ( /obj/effect/turf_decal/industrial/warning{ dir = 9 @@ -7977,8 +7954,8 @@ /area/centcom/control) "xq" = ( /obj/machinery/light/directional/north, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "xr" = ( /obj/structure/fans/tiny, /obj/docking_port/mobile{ @@ -8013,7 +7990,7 @@ dir = 1 }, /turf/open/floor/plasteel/white, -/area/wizard_station) +/area/centcom/evac) "xw" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/gun/energy/printer/commando, @@ -8230,7 +8207,7 @@ "yd" = ( /obj/item/reagent_containers/food/snacks/meat/slab/xeno, /turf/open/floor/grass, -/area/wizard_station) +/area/centcom/evac) "ye" = ( /obj/structure/chair/comfy/beige{ dir = 8 @@ -8650,8 +8627,8 @@ /area/centcom/evac) "zw" = ( /obj/structure/table/wood, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "zx" = ( /obj/structure/chair/stool/bar{ dir = 1; @@ -8790,8 +8767,8 @@ /area/centcom/supplypod/loading/ert) "zP" = ( /obj/machinery/vending/snack, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "zQ" = ( /obj/structure/sign/nanotrasen, /turf/closed/indestructible/reinforced, @@ -9019,8 +8996,8 @@ /obj/machinery/light/small/directional/west{ brightness = 3 }, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "AC" = ( /obj/effect/turf_decal/corner/opaque/yellow{ dir = 6 @@ -9049,7 +9026,6 @@ /area/tdome/tdomeobserve) "AH" = ( /obj/structure/table/reinforced/plastitaniumglass, -/obj/item/gun/energy/laser/retro/sc_retro, /turf/open/floor/plasteel/dark_2, /area/centcom/evac) "AK" = ( @@ -9329,7 +9305,7 @@ /area/centcom/evac) "BC" = ( /turf/open/floor/carpet, -/area/wizard_station) +/area/centcom/evac) "BD" = ( /obj/structure/table/reinforced, /obj/item/grenade/c4{ @@ -9395,7 +9371,7 @@ /obj/structure/table/wood/fancy, /obj/item/radio/headset, /turf/open/floor/wood, -/area/wizard_station) +/area/centcom/evac) "BM" = ( /obj/item/kirbyplants{ icon_state = "plant-21" @@ -9653,7 +9629,7 @@ /obj/item/dice/d20, /obj/item/dice, /turf/open/floor/carpet, -/area/wizard_station) +/area/centcom/evac) "Cz" = ( /obj/structure/window/reinforced/spawner{ opacity = 1; @@ -10018,15 +9994,15 @@ name = "Experiment 35b" }, /turf/open/floor/grass, -/area/wizard_station) +/area/centcom/evac) "Dy" = ( /obj/structure/closet/crate{ icon_state = "crateopen" }, /obj/item/staff, /obj/item/clothing/shoes/sandal/magic, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "Dz" = ( /obj/item/mecha_ammo/lmg/tank, /obj/structure/table/reinforced/plastitaniumglass, @@ -10041,8 +10017,8 @@ /obj/structure/table/wood, /obj/item/retractor, /obj/machinery/light/directional/north, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "DD" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/gun/energy/buster, @@ -10554,7 +10530,7 @@ brightness = 3 }, /turf/open/floor/plasteel/white, -/area/wizard_station) +/area/centcom/evac) "EW" = ( /obj/item/mecha_parts/mecha_equipment/weapon/honker, /obj/structure/table/reinforced/plastitaniumglass, @@ -10624,7 +10600,7 @@ "Fj" = ( /obj/machinery/light/directional/south, /turf/open/floor/wood, -/area/wizard_station) +/area/centcom/evac) "Fk" = ( /obj/structure/table/wood, /turf/open/floor/plasteel/grimy, @@ -10784,7 +10760,7 @@ /obj/item/cardboard_cutout, /obj/effect/turf_decal/industrial/outline/yellow, /turf/open/floor/plasteel, -/area/wizard_station) +/area/centcom/evac) "FH" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/gun/energy/laser/captain, @@ -10901,8 +10877,8 @@ icon = 'icons/obj/doors/airlocks/station/uranium.dmi'; name = "Storage" }, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "FX" = ( /obj/machinery/door/airlock/centcom{ name = "CentCom Supplypod Loading"; @@ -11078,7 +11054,7 @@ resistance_flags = 3 }, /turf/open/lava, -/area/wizard_station) +/area/centcom/evac) "Gu" = ( /obj/structure/flora/ausbushes/fernybush, /obj/structure/flora/ausbushes/fullgrass, @@ -11549,7 +11525,7 @@ dir = 4 }, /turf/open/floor/wood, -/area/wizard_station) +/area/centcom/evac) "HI" = ( /obj/structure/table/reinforced, /obj/item/stack/packageWrap, @@ -11671,12 +11647,6 @@ }, /turf/open/floor/plasteel, /area/centcom/supplypod/loading/three) -"Id" = ( -/obj/structure/destructible/cult/talisman{ - desc = "An altar dedicated to the Wizards' Federation" - }, -/turf/open/floor/engine/cult, -/area/wizard_station) "Ie" = ( /obj/item/mecha_parts/part/honker_torso, /obj/item/mecha_parts/part/honker_right_leg, @@ -11702,8 +11672,8 @@ /area/tdome/arena) "Ig" = ( /obj/structure/chair/wood/wings, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "Ih" = ( /obj/machinery/light/directional/east, /turf/open/floor/plasteel, @@ -12075,8 +12045,8 @@ faction = list("neutral","silicon","creature"); name = "Nobody's Perfect" }, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "Jn" = ( /obj/structure/table/abductor, /obj/item/surgicaldrill/alien, @@ -13561,7 +13531,7 @@ icon_state = "magicdicebag" }, /turf/open/floor/carpet, -/area/wizard_station) +/area/centcom/evac) "Nh" = ( /turf/open/floor/plasteel/dark, /area/centcom/ferry) @@ -13906,8 +13876,8 @@ /area/centcom/supplypod) "Oj" = ( /obj/structure/bookcase/random/reference, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "Ok" = ( /obj/item/mecha_parts/mecha_equipment/thrusters, /obj/structure/table/reinforced/plastitaniumglass, @@ -14058,11 +14028,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/plasteel, /area/centcom/holding) -"OH" = ( -/obj/structure/table/reinforced/plastitaniumglass, -/obj/item/gun/energy/laser/practice/sc_laser, -/turf/open/floor/plasteel/dark_2, -/area/centcom/evac) "OI" = ( /obj/item/gun/ballistic/automatic/assault/hydra/underbarrel_gl{ pixel_y = -10 @@ -14100,7 +14065,7 @@ "OO" = ( /obj/structure/chair/wood/wings, /turf/open/floor/carpet, -/area/wizard_station) +/area/centcom/evac) "OP" = ( /obj/item/mecha_parts/mecha_equipment/thrusters/ion, /obj/structure/table/reinforced/plastitaniumglass, @@ -14743,7 +14708,7 @@ /area/centcom/control) "QM" = ( /turf/open/floor/grass, -/area/wizard_station) +/area/centcom/evac) "QN" = ( /obj/structure/table/wood, /obj/item/clipboard, @@ -14853,7 +14818,7 @@ "Rc" = ( /obj/structure/bookcase/random/adult, /turf/open/floor/plasteel/white, -/area/wizard_station) +/area/centcom/evac) "Rd" = ( /obj/structure/frame, /obj/effect/turf_decal/trimline/opaque/solgovgold/filled/warning{ @@ -14906,8 +14871,8 @@ icon = 'icons/obj/doors/airlocks/station/uranium.dmi'; name = "Personal Quarters" }, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "Rk" = ( /obj/structure/chair/plastic, /obj/effect/decal/cleanable/dirt/dust, @@ -15239,8 +15204,8 @@ icon = 'icons/obj/doors/airlocks/station/uranium.dmi'; name = "Game Room" }, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "RV" = ( /obj/item/storage/box/ids{ pixel_x = 3; @@ -15670,7 +15635,7 @@ dir = 1 }, /turf/open/floor/carpet, -/area/wizard_station) +/area/centcom/evac) "Ti" = ( /obj/structure/table/wood, /obj/item/book/manual/wiki/drinks, @@ -15971,10 +15936,6 @@ }, /turf/open/floor/pod/dark, /area/outpost/exterior) -"TO" = ( -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel, -/area/wizard_station) "TP" = ( /obj/structure/closet/secure_closet/security, /obj/item/storage/belt/security/full, @@ -16109,7 +16070,7 @@ /obj/effect/turf_decal/industrial/warning, /obj/machinery/light/small/directional/south, /turf/open/floor/plasteel, -/area/wizard_station) +/area/centcom/evac) "Un" = ( /obj/effect/landmark/thunderdome/two, /obj/effect/turf_decal/industrial/warning{ @@ -16180,8 +16141,8 @@ /area/centcom/control) "Ux" = ( /obj/machinery/light/directional/south, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "Uy" = ( /obj/effect/turf_decal/siding/wood{ dir = 5; @@ -16211,8 +16172,8 @@ /obj/machinery/computer/helm{ name = "Wizzard" }, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "UE" = ( /obj/item/clipboard, /obj/item/stamp/denied{ @@ -16622,7 +16583,7 @@ "VM" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/plasteel/white, -/area/wizard_station) +/area/centcom/evac) "VO" = ( /turf/open/floor/grass, /area/centcom/ferry) @@ -16863,7 +16824,7 @@ pixel_y = 20 }, /turf/open/floor/plasteel/white, -/area/wizard_station) +/area/centcom/evac) "Wz" = ( /turf/open/floor/plating/beach/coastline_t{ dir = 6 @@ -16892,7 +16853,7 @@ /obj/structure/table/wood/poker, /obj/item/toy/figure/wizard, /turf/open/floor/carpet, -/area/wizard_station) +/area/centcom/evac) "WC" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/gun/energy/ionrifle, @@ -16925,8 +16886,8 @@ icon = 'icons/obj/doors/airlocks/station/uranium.dmi'; name = "Observation Deck" }, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "WI" = ( /obj/structure/table/wood, /obj/effect/turf_decal/corner/transparent/neutral/full, @@ -17124,7 +17085,7 @@ /obj/effect/decal/remains/human, /obj/effect/decal/cleanable/blood/splatter, /turf/open/floor/grass, -/area/wizard_station) +/area/centcom/evac) "Xn" = ( /obj/structure/closet/secure_closet/ertEngi, /obj/effect/turf_decal/industrial/warning, @@ -17156,7 +17117,7 @@ }, /obj/structure/table/wood/fancy, /turf/open/floor/wood, -/area/wizard_station) +/area/centcom/evac) "Xs" = ( /obj/structure/table/reinforced/plastitaniumglass, /obj/item/gun/energy/e_gun/advtaser/mounted, @@ -17190,7 +17151,7 @@ /obj/item/cautery/alien, /obj/effect/turf_decal/industrial/outline/yellow, /turf/open/floor/plasteel, -/area/wizard_station) +/area/centcom/evac) "Xy" = ( /obj/structure/bed, /obj/item/bedsheet/black, @@ -17231,8 +17192,8 @@ /obj/structure/chair/wood/wings{ dir = 1 }, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "XE" = ( /obj/structure/flora/ausbushes/lavendergrass, /obj/structure/flora/ausbushes/fullgrass, @@ -17585,7 +17546,7 @@ pixel_y = 16 }, /turf/open/floor/plasteel/white, -/area/wizard_station) +/area/centcom/evac) "YC" = ( /obj/structure/table/reinforced, /obj/item/storage/fancy/donut_box, @@ -17698,7 +17659,7 @@ /obj/structure/closet/cardboard, /obj/effect/turf_decal/industrial/warning, /turf/open/floor/plasteel, -/area/wizard_station) +/area/centcom/evac) "YQ" = ( /obj/structure/chair/office{ dir = 8 @@ -17923,7 +17884,7 @@ "Zp" = ( /obj/structure/shuttle/engine/propulsion, /turf/open/space, -/area/wizard_station) +/area/centcom/evac) "Zq" = ( /obj/structure/table/reinforced, /obj/item/storage/lockbox/loyalty, @@ -17936,7 +17897,7 @@ /obj/structure/bed, /obj/item/bedsheet/wiz, /turf/open/floor/carpet, -/area/wizard_station) +/area/centcom/evac) "Zs" = ( /obj/effect/turf_decal/weather/sand{ dir = 9 @@ -18009,8 +17970,8 @@ "ZE" = ( /obj/structure/table/wood, /obj/item/staff, -/turf/open/floor/engine/cult, -/area/wizard_station) +/turf/open/floor/plasteel/dark_2, +/area/centcom/evac) "ZF" = ( /turf/open/floor/plating/beach/coastline_t/sandwater_inner{ dir = 1 @@ -19409,9 +19370,9 @@ rS rS rS Ig -oQ +kT Oj -oQ +kT XD rS uU @@ -19988,9 +19949,9 @@ mT mT rS Ig -oQ kT -oQ +kT +kT XD rS kT @@ -20192,7 +20153,7 @@ kT FV tA tA -TO +DV qJ kT kT @@ -20582,7 +20543,7 @@ rS rS kT kT -hC +kT Gt rS gd @@ -20954,7 +20915,7 @@ kT ds kT kT -Id +kT kG kT WH @@ -21354,7 +21315,7 @@ rS rS pX kT -hC +kT Gt rS gd @@ -36667,8 +36628,8 @@ YG YG YG mz -cf -cf +kT +kT wz YG pP @@ -36854,14 +36815,14 @@ vR DV YG dL -cf +kT Gs kh -cf +kT ra zV -cf -cf +kT +kT Dm YG Vs @@ -37047,14 +37008,14 @@ vR DV YG wO -cf +kT Kw hX -cf +kT Pl LL -cf -cf +kT +kT hb YG Vs @@ -37246,7 +37207,7 @@ ZA kN UN CP -cf +kT kN vz YG @@ -37433,14 +37394,14 @@ vR DV ca yE -cf +kT Ij xm -cf +kT ni wj -cf -cf +kT +kT MH YG CF @@ -37592,19 +37553,19 @@ gd gd gd YG -cf -cf -cf -cf -cf -cf -cf -cf -cf -cf -cf -cf -cf +kT +kT +kT +kT +kT +kT +kT +kT +kT +kT +kT +kT +kT wy Qk vR @@ -37626,14 +37587,14 @@ vR DV hd MV -cf -cf -cf -cf -cf -cf -cf -cf +kT +kT +kT +kT +kT +kT +kT +kT dQ tT yg @@ -37786,18 +37747,18 @@ gd gd YG kN -cf -cf +kT +kT kN Wl Sj kN VZ cw -cf +kT Uo kN -cf +kT wy LY xH @@ -37819,14 +37780,14 @@ xH uX hd MV -cf -cf -cf -cf -cf -cf -cf -cf +kT +kT +kT +kT +kT +kT +kT +kT dQ tT BW @@ -37981,15 +37942,15 @@ YG mC DM XO -cf +kT qB BB -cf +kT Jf qr -cf +kT WJ -cf +kT me YG hU @@ -38012,14 +37973,14 @@ ap ER YG bb -cf +kT UA rN -cf +kT FR sF -cf -cf +kT +kT Ew YG mi @@ -38174,15 +38135,15 @@ YG YG YG YG -cf +kT we bA -cf +kT hr ol -cf +kT cz -cf +kT ce YG jX @@ -38205,14 +38166,14 @@ jX jX YG bC -cf +kT xY YU -cf +kT kA Rb -cf -cf +kT +kT Nv YG eF @@ -38367,15 +38328,15 @@ gd gd gd YG -cf +kT Nj km -cf +kT eu uq -cf +kT ob -cf +kT My YG gd @@ -38398,14 +38359,14 @@ gd gd YG ZG -cf +kT Ds fU -cf +kT kZ dh -cf -cf +kT +kT UH YG PE @@ -38560,15 +38521,15 @@ gd gd gd YG -cf +kT Zm Kk -cf +kT jR Ef -cf +kT jn -cf +kT EW YG gd @@ -38597,7 +38558,7 @@ lu kN Cc Li -cf +kT kN lL YG @@ -38753,15 +38714,15 @@ gd gd gd YG -cf -cf -cf -cf +kT +kT +kT +kT cK Bx -cf +kT nT -cf +kT sk YG gd @@ -38784,14 +38745,14 @@ gd gd YG yH -cf +kT yG YF -cf +kT Nx -jk -cf -cf +AH +kT +kT dB YG lZ @@ -38947,12 +38908,12 @@ gd gd YG kN -cf -cf +kT +kT kN jl fL -cf +kT EX kN rF @@ -38977,14 +38938,14 @@ gd gd YG AU -cf -cf -cf -cf -cf -cf -cf -cf +kT +kT +kT +kT +kT +kT +kT +kT XG YG mv @@ -39139,15 +39100,15 @@ gd gd gd YG -cf +kT Fp wt -cf +kT En lA -cf +kT lB -cf +kT ax YG gd @@ -39170,14 +39131,14 @@ gd gd YG Of -cf +kT XL JI -cf +kT eE wS -cf -cf +kT +kT CD YG mv @@ -39332,15 +39293,15 @@ gd gd gd YG -cf +kT Dz wp -cf +kT bJ OP -cf +kT Pk -cf +kT Vu YG gd @@ -39363,14 +39324,14 @@ gd gd YG es -cf +kT Og MS -cf +kT ex UC -cf -cf +kT +kT Yg YG lZ @@ -39525,15 +39486,15 @@ gd gd gd YG -cf +kT nE if -cf +kT en mt -cf +kT Aj -cf +kT Oc YG gd @@ -39556,14 +39517,14 @@ gd gd YG Xp -cf +kT VJ Oo -cf +kT tG ja -cf -cf +kT +kT WY YG PE @@ -39718,15 +39679,15 @@ gd gd gd YG -cf +kT wg zr -cf +kT uC Ok -cf +kT Vr -cf +kT mj YG gd @@ -39755,7 +39716,7 @@ EU kN GB Uv -cf +kT kN ZS YG @@ -39911,15 +39872,15 @@ gd gd gd YG -cf +kT OU JB -cf +kT Od bY -cf +kT VE -cf +kT CE YG gd @@ -39942,14 +39903,14 @@ gd gd YG CZ -cf +kT xI KV -cf +kT LQ aR -cf -cf +kT +kT Hn YG YG @@ -40104,15 +40065,15 @@ gd gd gd YG -cf +kT NI gL -cf +kT Iw Qt -cf +kT nd -cf +kT zv YG gd @@ -40135,14 +40096,14 @@ gd gd YG dX -cf +kT OI eb -cf +kT hK Tk -cf -cf +kT +kT KX qZ oT @@ -40298,13 +40259,13 @@ gd gd YG kN -cf -cf +kT +kT kN -cf -cf -cf -cf +kT +kT +kT +kT kN zy YG @@ -40328,18 +40289,18 @@ gd gd YG Yt -cf +kT cx YR -cf -cf -cf -cf -cf -cf -cf -cf -cf +kT +kT +kT +kT +kT +kT +kT +kT +kT Cd Cd Cd @@ -40490,8 +40451,8 @@ gd gd gd YG -cf -cf +kT +kT yy BE Pz @@ -40521,14 +40482,14 @@ gd gd YG Yq -cf +kT jy lQ -cf +kT bg AL -cf -cf +kT +kT cZ Ps sm @@ -40714,22 +40675,22 @@ gd gd YG dW -cf +kT dY gC -cf +kT PW fD -cf -cf -cf -cf -cf -cf -cf -cf -cf -cf +kT +kT +kT +kT +kT +kT +kT +kT +kT +kT YG TT Ov @@ -40907,14 +40868,14 @@ gd gd YG YL -cf +kT jh nl -cf +kT WW FY -cf -cf +kT +kT LI sx rw @@ -41101,21 +41062,21 @@ gd YG Uz kN -cf -cf +kT +kT kN -cf -cf -cf +kT +kT +kT kN -cf -cf -cf -cf -cf +kT +kT +kT +kT +kT kN -cf -cf +kT +kT YG Cd Cd @@ -42850,7 +42811,7 @@ bh kw ka bi -OH +AH iQ kC YG diff --git a/mod_celadon/fixes/code/robot_suit.dm b/mod_celadon/fixes/code/robot_suit.dm index 8abb02037d01..7498143eec5f 100644 --- a/mod_celadon/fixes/code/robot_suit.dm +++ b/mod_celadon/fixes/code/robot_suit.dm @@ -139,7 +139,7 @@ if(M.laws.id == DEFAULT_AI_LAWID) O.make_laws() - SSticker.mode.remove_antag_for_borging(B.mind) + // SSticker.mode.remove_antag_for_borging(B.mind) O.job = "Cyborg" O.cell = chest.cell diff --git a/mod_celadon/mobs/code/simple_animal/wizard_constructs.dm b/mod_celadon/mobs/code/simple_animal/wizard_constructs.dm index 7c73fff09b02..737afb941f6e 100644 --- a/mod_celadon/mobs/code/simple_animal/wizard_constructs.dm +++ b/mod_celadon/mobs/code/simple_animal/wizard_constructs.dm @@ -27,11 +27,11 @@ mob_size = MOB_SIZE_LARGE force_threshold = 10 glowtheme = "wizard" - construct_spells = list(/obj/effect/proc_holder/spell/targeted/forcewall/, - /obj/effect/proc_holder/spell/targeted/projectile/dumbfire/juggernaut) - runetype = /datum/action/innate/cult/create_rune/wall - playstyle_string = "You are a Juggernaut. Though slow, your shell can withstand heavy punishment, \ - create shield walls, rip apart enemies and walls alike, and even deflect energy weapons." + // construct_spells = list(/obj/effect/proc_holder/spell/targeted/forcewall/, + // /obj/effect/proc_holder/spell/targeted/projectile/dumbfire/juggernaut) + // runetype = /datum/action/innate/cult/create_rune/wall + // playstyle_string = "You are a Juggernaut. Though slow, your shell can withstand heavy punishment, + // create shield walls, rip apart enemies and walls alike, and even deflect energy weapons." /mob/living/simple_animal/hostile/construct/juggernaut/wizard/Initialize() . = ..() @@ -64,34 +64,34 @@ attack_verb_continuous = "slashes" attack_verb_simple = "slash" attack_sound = 'sound/weapons/bladeslice.ogg' - construct_spells = list(/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift) - runetype = /datum/action/innate/cult/create_rune/tele - playstyle_string = "You are a Wraith. Though relatively fragile, you are fast, deadly, can phase through walls, and your attacks will lower the cooldown on phasing." + // construct_spells = list(/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift) + // runetype = /datum/action/innate/cult/create_rune/tele + // playstyle_string = "You are a Wraith. Though relatively fragile, you are fast, deadly, can phase through walls, and your attacks will lower the cooldown on phasing." glowtheme = "wizard" /mob/living/simple_animal/hostile/construct/wraith/wizard/Initialize() . = ..() addtimer(CALLBACK(src, PROC_REF(death)), 100) -/mob/living/simple_animal/hostile/construct/wraith/wizard/AttackingTarget() //refund jaunt cooldown when attacking living targets - var/prev_stat - if(isliving(target) && !iscultist(target)) - var/mob/living/L = target - prev_stat = L.stat - - . = ..() - - if(. && isnum(prev_stat)) - var/mob/living/L = target - var/refund = 0 - if(QDELETED(L) || (L.stat == DEAD && prev_stat != DEAD)) //they're dead, you killed them - refund += kill_refund - else if(HAS_TRAIT(L, TRAIT_CRITICAL_CONDITION) && prev_stat == CONSCIOUS) //you knocked them into critical - refund += crit_refund - if(L.stat != DEAD && prev_stat != DEAD) - refund += attack_refund - for(var/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift/S in mob_spell_list) - S.charge_counter = min(S.charge_counter + refund, S.charge_max) +// /mob/living/simple_animal/hostile/construct/wraith/wizard/AttackingTarget() //refund jaunt cooldown when attacking living targets +// var/prev_stat +// if(isliving(target) && !iscultist(target)) +// var/mob/living/L = target +// prev_stat = L.stat + +// . = ..() + +// if(. && isnum(prev_stat)) +// var/mob/living/L = target +// var/refund = 0 +// if(QDELETED(L) || (L.stat == DEAD && prev_stat != DEAD)) //they're dead, you killed them +// refund += kill_refund +// else if(HAS_TRAIT(L, TRAIT_CRITICAL_CONDITION) && prev_stat == CONSCIOUS) //you knocked them into critical +// refund += crit_refund +// if(L.stat != DEAD && prev_stat != DEAD) +// refund += attack_refund +// for(var/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift/S in mob_spell_list) +// S.charge_counter = min(S.charge_counter + refund, S.charge_max) /mob/living/simple_animal/hostile/construct/wraith/wizard/hostile //actually hostile, will move around, hit things AIStatus = AI_ON @@ -150,18 +150,18 @@ environment_smash = ENVIRONMENT_SMASH_WALLS attack_sound = 'sound/weapons/punch2.ogg' glowtheme = "wizard" - construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/conjure/wall, - /obj/effect/proc_holder/spell/aoe_turf/conjure/floor, - /obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone, - /obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser, - /obj/effect/proc_holder/spell/targeted/projectile/magic_missile/lesser) - runetype = /datum/action/innate/cult/create_rune/revive - playstyle_string = "You are an Artificer. You are incredibly weak and fragile, but you are able to construct fortifications, \ - use magic missile, repair allied constructs, shades, and yourself (by clicking on them), \ - and, most important of all, create new constructs by producing soulstones to capture souls, \ - and shells to place those soulstones into." - can_repair_constructs = TRUE - can_repair_self = TRUE + // construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/conjure/wall, + // /obj/effect/proc_holder/spell/aoe_turf/conjure/floor, + // /obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone, + // /obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser, + // /obj/effect/proc_holder/spell/targeted/projectile/magic_missile/lesser) + // runetype = /datum/action/innate/cult/create_rune/revive + // playstyle_string = "You are an Artificer. You are incredibly weak and fragile, but you are able to construct fortifications, + // use magic missile, repair allied constructs, shades, and yourself (by clicking on them), + // and, most important of all, create new constructs by producing soulstones to capture souls, + // and shells to place those soulstones into." + // can_repair_constructs = TRUE + // can_repair_self = TRUE /mob/living/simple_animal/hostile/construct/artificer/wizard/hostile //actually hostile, will move around, hit things, heal other constructs AIStatus = AI_ON @@ -186,8 +186,8 @@ attack_verb_simple = "butcher" attack_sound = 'sound/weapons/bladeslice.ogg' glowtheme = "wizard" - construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/area_conversion, - /obj/effect/proc_holder/spell/targeted/forcewall/cult) - playstyle_string = "You are a Harvester. You are incapable of directly killing humans, but your attacks will remove their limbs: \ - Bring those who still cling to this world of illusion back to the Geometer so they may know Truth. Your form and any you are pulling can pass through runed walls effortlessly." - can_repair_constructs = TRUE + // construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/area_conversion, + // /obj/effect/proc_holder/spell/targeted/forcewall/cult) + // playstyle_string = "You are a Harvester. You are incapable of directly killing humans, but your attacks will remove their limbs: + // Bring those who still cling to this world of illusion back to the Geometer so they may know Truth. Your form and any you are pulling can pass through runed walls effortlessly." + // can_repair_constructs = TRUE diff --git a/mod_celadon/return_content/code/hivebot.dm b/mod_celadon/return_content/code/hivebot.dm index 0f2dd7d04133..b9692e1d671c 100644 --- a/mod_celadon/return_content/code/hivebot.dm +++ b/mod_celadon/return_content/code/hivebot.dm @@ -471,49 +471,49 @@ if(7)//FUCK FUCK HELP SWARMERS IN VAULT visible_message("Something beeps. Small, glowing forms spill out of the portal en masse!") playsound(loc,'sound/ambience/ambitech.ogg', 150, FALSE, 50, TRUE, TRUE) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) + // new /mob/living/simple_animal/hostile/swarmer/ai(loc) + // new /mob/living/simple_animal/hostile/swarmer/ai(loc) + // new /mob/living/simple_animal/hostile/swarmer/ai(loc) if(prob(45)) new /obj/item/construction/rcd/loaded(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) + // new /mob/living/simple_animal/hostile/swarmer/ai(loc) if(prob(35)) new /obj/item/holosign_creator/atmos(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) + // new /mob/living/simple_animal/hostile/swarmer/ai(loc) if(prob(35)) new /obj/item/circuitboard/machine/vendor(loc) new /obj/item/vending_refill/engivend(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) + // new /mob/living/simple_animal/hostile/swarmer/ai(loc) if(prob(45)) new /obj/item/tank/jetpack/oxygen(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) + // new /mob/living/simple_animal/hostile/swarmer/ai(loc) if(prob(25)) new /obj/item/stack/sheet/metal/fifty(loc) new /obj/item/grenade/chem_grenade/smart_metal_foam(loc) new /obj/item/grenade/chem_grenade/smart_metal_foam(loc) new /obj/item/grenade/chem_grenade/smart_metal_foam(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) + // new /mob/living/simple_animal/hostile/swarmer/ai(loc) if(prob(35)) new /obj/item/stack/sheet/metal/fifty(loc) new /obj/item/clothing/glasses/meson/engine(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) + // new /mob/living/simple_animal/hostile/swarmer/ai(loc) + // new /mob/living/simple_animal/hostile/swarmer/ai(loc) if(prob(25)) new /obj/item/stack/sheet/metal/twenty(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) + // new /mob/living/simple_animal/hostile/swarmer/ai(loc) if(prob(25)) new /obj/item/storage/toolbox/infiltrator(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) + // new /mob/living/simple_animal/hostile/swarmer/ai(loc) + // new /mob/living/simple_animal/hostile/swarmer/ai(loc) if(prob(25)) new /obj/machinery/portable_atmospherics/canister/oxygen(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) + // new /mob/living/simple_animal/hostile/swarmer/ai(loc) if(prob(35)) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) + // new /mob/living/simple_animal/hostile/swarmer/ai(loc) + // new /mob/living/simple_animal/hostile/swarmer/ai(loc) new /obj/item/clothing/gloves/color/latex/engineering(loc) if(prob(35)) - new /mob/living/simple_animal/hostile/swarmer/ai(loc) + // new /mob/living/simple_animal/hostile/swarmer/ai(loc) new /obj/item/clothing/gloves/color/latex/engineering(loc) new /obj/effect/mob_spawn/human/engineer(loc) new /turf/open/floor/circuit/telecomms(loc) diff --git a/mod_celadon/return_content/code/items/cult_items.dm b/mod_celadon/return_content/code/items/cult_items.dm index ddd960629d0b..86b2ec646b29 100644 --- a/mod_celadon/return_content/code/items/cult_items.dm +++ b/mod_celadon/return_content/code/items/cult_items.dm @@ -17,6 +17,6 @@ icon_state = "magusred" item_state = "magusred" body_parts_covered = CHEST|GROIN|LEGS|ARMS - allowed = list(/obj/item/tome) + // allowed = list(/obj/item/tome) armor = list("melee" = 50, "bullet" = 30, "laser" = 50,"energy" = 50, "bomb" = 25, "bio" = 10, "rad" = 0, "fire" = 10, "acid" = 10) flags_inv = HIDEGLOVES | HIDESHOES | HIDEJUMPSUIT diff --git a/mod_celadon/riol/_riol.dm b/mod_celadon/riol/_riol.dm index 02721eb9ca3c..ca8284994e27 100644 --- a/mod_celadon/riol/_riol.dm +++ b/mod_celadon/riol/_riol.dm @@ -28,5 +28,3 @@ /datum/modpack/riol/initialize() . = ..() - GLOB.lawlorify[LORE][BAN_HURTRIOL] = "This devil will not strike a riol first." - GLOB.lawlorify[LAW][BAN_HURTRIOL] = "You must never harm a riol outside of self defense." diff --git a/mod_celadon/tajara/_tajara.dm b/mod_celadon/tajara/_tajara.dm index 8d729cb79c60..ab3ece2b6826 100644 --- a/mod_celadon/tajara/_tajara.dm +++ b/mod_celadon/tajara/_tajara.dm @@ -5,5 +5,3 @@ /datum/modpack/tajara/initialize() . = ..() - GLOB.lawlorify[LORE][BAN_HURTTAJARA] = "This devil will not strike a tajara first." - GLOB.lawlorify[LAW][BAN_HURTTAJARA] = "You must never harm a tajara outside of self defense." diff --git a/mod_celadon/turrets/code/turrets.dm b/mod_celadon/turrets/code/turrets.dm index 0851362fa49a..16d7ab456c11 100644 --- a/mod_celadon/turrets/code/turrets.dm +++ b/mod_celadon/turrets/code/turrets.dm @@ -44,7 +44,7 @@ scan_range = 9 req_access = list(ACCESS_CENT_GENERAL) mode = TURRET_LETHAL - faction = list(ROLE_DEVIL) + faction = list(ROLE_HIVE) desc = "A ballistic machine gun/grenade auto-turret." /obj/machinery/porta_turret/syndicate/no_access/interior_45 From 256a11cda54a8fdc2870ee862de545273755c23f Mon Sep 17 00:00:00 2001 From: thgvr <81882910+thgvr@users.noreply.github.com> Date: Sun, 6 Oct 2024 21:05:04 -0700 Subject: [PATCH 006/344] fixes digitigrade combat/jackboots (#3472) ## About The Pull Request Title ## Changelog :cl: fix: fixed digitigrade combat/jackboots /:cl: --- icons/mob/species/misc/digitigrade_shoes.dmi | Bin 3525 -> 3494 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/species/misc/digitigrade_shoes.dmi b/icons/mob/species/misc/digitigrade_shoes.dmi index 9d08980b1e58a8c509e50e066d10877eab7a03bf..fb3dd66934718184915bed836ccd8c20f0091837 100644 GIT binary patch delta 2710 zcmZvcdpy(oAIFio#7O;e*^*p}T8DV(;xe~Lh$$U%r*ahKGRt+_S1csg#&J3>TW)F6 zIvg1*(@G4v<}zYaZgU$Z%w;?3_ivv+K99%e@%}vCkJtPCdcNPy&~j*2lJaqwuCfwD zRt9YA;MU^_EjL#5*F2!249U)qQ=v3Bf197x)75WkYLb-&Lm-fgw)Rrge4QEtQ9V(| zQ+C#tSECCS3NS7Z_XEvbNcyqj50_C|%?Jal@9xrTvp$J*zX9`0=CxD7%%H3 zaoXOH2<-12S7Sofvm>}2zTOm8EW1@Gi4O;<;5)_i@xCAlU{ztM8?XI7WP^cM?+&`C zcrN?CS!wQhL{d_Z(7-h3g@~Lcf{@YB^9*5Y!B06Erm+WO4YMuENYfDZWZwjZDaWnN z*T)IwnaVn9c#zYCa5hRl+7zFCCn?$B$+DktIqibB47~w5(57DDkf>fO&5f6O{AosN zZE)tM=!`i)%GGqvlh6!0Fea+-QH!lVuUE~J5tOjt?1#(CcJ+=KnFw)kEa!Q`_fpH@ za-l$ejIhs2N*(u$%UtD#G2eLYQu3)pQ#A+IcxmSRBPExR+2%(lb-LQbv<Je7FmXGucsJPksk5`bp2<8!0$$?DH*Q2@ z2f7q90}aMi_gPjyY5U4|Pj^y`7r1yldC*|kN^*>rw9dNohsHd)hauJtT!3lr7JKn7 z-QnXX%? z2qQz5@iRQxXje`_1|uoTLY#3-?Hk|wr}~(xG^?k&;Oo1lG_|{twelGc-N-&--X(aD z|EOcor1dJq zpL36S3)I2=qZYY$cG%DUE}bT%HdI$n4Y<0xTJlLhiTfSq=H@z>B^(Z_{>qZW6#9Xc z3GAcb=-Uc2g5>a{Y!y?QNeMs`n)L0gNBvV|IJ34zef(+o#Q!0qmFHIOGFBPH;z}XN8JZW8tk#@c-MtbHKW~t+{S{S`mal(@) z`8`@MwwPr{&%N1TFPD(LKl*wD2I`eA)&8dob*;gBWsD0c&LRyIy>mnG9r1(umv~;J&NEP572lv8<4t~tB%5hd#b(RpF8%Rkz@aMr^ z%XR$^Bk9)}xv9`lOa4gltPL?#@$49*Y(tJ|vi|bg7Zmr*#Qy6T%-eaO4QV56+)eic zaFn>&7kqK?UV;){I$Zfxqk6-o6unJV`!)R!A3ecK3lchc+ctTsQtkOr?wQ`dMD6~q zK6xmtej7VlMbpc(j4|e?c7-8Pczq_ZKtgIZkLDDgC~$CSMA`}D*<`-1p56oAZ;EHn z9BulPeqH}XXb7pXUIiEk*n=*+BQkU!EX1XNhn`kdtp`X`wz0u5FM?Aeoj-`Oh*VG| zJ|OdI#x=h?`>o>?;4H*ha8Ot=!uq#c?_%{cYT zX~%6Rto|K(FC-YwZ<6z5Xm_6L8&tzO;9=ZOtCcUJGRLk>HZ z37bUL#qZ2aZ7N#uI@S}vEG;040wUVyp3h$)D3=b3cp_J{{ERBt>WKfn2;~4hqgIlXt0y?<5a~2P z(SfraBHhW|Y`dcHdF$-XIR--_b9Q@%fIv?gMN3)ES*~bSExyQ=zWMn`?XNlls884~yOpgB z){U&UvMQ04Z3()n)^d53ivgwPvBGnmZlsqUjF#{rHgK?i@^A>-VMlUxUGXbXSH8zQ zHE5WoXp^`(s3E++#tZj`eEt?goW5~7g=dl1M)4rnR&!7JlG}(ufAiXpN$HZBW zQo&{L%oUa2p?w!47r8*@b?;1b0T{J2xLqgJ?%|&KEwj4`lU9~Ej2jvm6l}#MZgLmm zfUAqDZ-j!wOG4DX(^_ST2%^VI@U2vTcNp|CN@RhT`vxsquK_3fo|0cJtu7+dHMOq5 zYhzLbwf2r;IWQe^zabmajc>b9l{(Ag@!Ou7yqI`*{#chA;InFqmYU?Wv%KDezs`R8 zF1k5b9-ONgb@loEfH~T$enSlW`JBJ#cAh|)(!-OSCWK(0Y@4ws%vTb^1v|wP7TR_O_Kh7lH zGBY0;r7`c^7P{6LRREP7^C6Z=#iNI`KK^Tx+-(Vc0%2iXSkL@ZurL+qJQ_p-YCx#x zcU(sZ+4Cmo5VwHKBOiUwrA)MQ{<@R016O5z8IkOVPY0G&E7*)qMZKjB<2F!7eBX}Z zcvMI_LjPoN0G0Ux;87Qe$5lTc`yePoMY0i}cklhr{XNm|5lPuD|6Edv_bLu=c zL7o}5rkm z3g5`~p=sgCV&{P{HCY4m_IPfm1+PYSV^P-d$0N?ZH{G0GLu1U$a zSESKPe1!02n=fXwY6C;)(!VcS$>=qrrP~7wGp?a|5x|}X2~8ObI;bkAz>*Gfblogb zRlbE?TNEXD6>QYR#EOZT!r{ww2IKfSy4~dS7cz5KqBr}e;`TC_FrsF(E}Hs4@zx~Y z$e51Ac73D#qLQXMKMd<{jt+#h>g>ImKuB)p{N=h06fn0$*NLU!AHJt|;fSjD| zZLDr27OocFb$9u8ymzPNs$;JC6V*zjXtPH5m0BbXWTKafa1E@W2ueS+OkQ+r-4>aj z*=qiSaLzPD>W6Q5&ve0@MK~3uoT@2M##)NPu`!|&z`f__^0jIF^4cu^g6OSlM6lNR z;qvBK`rw!k%XiJ`v<~_ss{?r<>icX*C<3M@S=euhn;EpkF#dOlw$M3tKok_NF^`3X@ri zuXrG+$4osfsOeQNvk6k9E5uW5IWHL>ntiiiUFMOdI$0O~)vpvQS|Vt4vqR*I zDHJKR=9^epaIhQ&>^osaU_Mhb-^=sv{%}LeAEU&{X@|8VVe8uYH9`uF8}zW*1$XyA z#L0mJ>jP__xzCwz4)qZaQw?!M-L{OYV$v3a2R%sL7>WHUIkC;fnl+_%;P7TIIAzDraf1_$to*gnh2#ULw> z1j$<$W#dB)>y7=zqmob)Q-YnoEJ5}+wJbFOET{Oahcl!s^2%Z0<1Drt48;zEWq|Jx zP<`#O!*vJ`FX7rJqT`aif<6vEpv|tU_t)3+4jCGU5#a4hGNy{~r%~sgj4&wwEMK3v zT^eslC>ST%R)nY9wnzy0jDPm_TzBG9QiOA(`wvz&X^ss{nLD!ywCB|9P6cq$JaVqk zR^dbKyf0|SHw_(v0B?yzr6C5OzswNm%L;ftHCoaSdHlK{W}NW8wSupvS<0W%<@LUmUw;FM| z>FJUgOR}daU=WJj=HiijF8Kli`l2pe{qYM(E&&fbb!w4T0^*67m2o+5OT8tb^M{9> zQS>+s(^S~rOW*7iVswsg+UC>G4&yg<3JfgSPoL0_l|SOb#< z`9Hn&C%v!LEv_yv

    ?F0J^nqSPC~}3^Cu)#C(Spq<(~-zVuw_Lu#5`^*6aO6TdrX z1LN**`CQw4)k6bb1qLRguR!+Ajk+o^wcAxIr1~(U8-8c&YS|YsC*?O|v`>d$ruVbS zEkn#EE9i#7vrPkaz`Zge3b03e734X1P^Mf`!gXo}#C9FXLJh(Nd}R$||IGKTe&eU8 zQ`M`hF}(33c3Pj7Ml!_PZs@)h%s=Txq*sqHg5=D~DX9&0${5Zh$w&~Btz+Kv->1P6gvEf(<#S=32#grNH zOvnC*W*`B3ie_-C)r5rC}~f_vh;ph?0CmB z7H-z!1#|0R_!#r9it(B>_hoOa5TVE$LlWlIHaxhT^yo74#}AUfM^#%M+zg0)RDeJp$PLCv+zj!C7u~V zkKJO_+fb9Ys+}ae%G~;pEQHs9)~gxHvdS9sqPsLtx#+aupYuN_xq@?bw4;rUs6P*5 zN%xyl>C9^OUaDEekM8`doqi915$3w1Hl>q0ZZxePK$!K%xkm#KM{N}zZ z>*wS{zi8B-nv@e4e=ZD!tEh-Avo~zn~?Kw_8U9=pYKsn())pJ!5_k z=L)Rw1@Ylm%IL=DjuZqm7Ug#K+x6y5-p&WY6ee-U7nVej{E=V;!TstnK|-}Y{Q)G* zaOw`+<{+okQ2ZnO%S|H@`{8dzPDI_$1?p$9vg+=L+2tki6%e#?We2j3c|7JEDaGX} z{u1Wxlis*-pldeMmp80BfuuU>Qy9gI&|SIgXn;Y7L=8uJ`{;2;i4#ucs>RVpIGidC zNc?KbYW;^6un+ZemGUHqs+9C~CoeOz1a?#A_V3RHL0scBV01YjgMA0K20F#CpN7s; zH-5i^`VEvdWW#KdN{ooxY@w{K(M}^#D7U^Ki;w8O;6^q%TqK$GndkLlKOcuihWD;- z_GM|6ud(Lm;AObtC#a;uac7P${A~b!6!&i=tQfQP_Iv**04gN+Xv$2e9Y7{MB*XzbWXt?tXCgdZnAgpgPUZ?1b`&@L^;0rF< z90mrRR8xCETUZ?1ce_yGHkt6ml9u)?3)wmG2`CIjBl!MLhQ^+gI}(b^m^HTDMba9FS;`{7I3jgrupRi{(|y atOKA3H-OeI>9!)Yf9!3YZ0auir~MDrykw04 From e941df50e16cf4f10d1a4a799cdeb20bf67ae9f0 Mon Sep 17 00:00:00 2001 From: Sadhorizon <108196626+Sadhorizon@users.noreply.github.com> Date: Mon, 7 Oct 2024 09:02:45 +0200 Subject: [PATCH 007/344] Adds misc Cybersun stuff. Also .22 is now in cargo. (#3484) ## About The Pull Request Adds: - Cybersun captain's safe (to be used on Cybersun ships) - contains a Himehabu with two mags and secrets docs. - Cybersun Virtual Solutions and Cybersun Biodynamics secret documents. - Cybersun Biodynamics stamp. - .22 LR to cargo so the Himehabus aren't THAT ass. Stamp on paper (next to VS one) ![obraz](https://github.com/user-attachments/assets/79ecc7cd-6a40-498a-977d-7bc3875406dd) **Mapping changes will be done in Kansatsu remap and in Li Tieg reflavor.** ## Why It's Good For The Game Probably cool stuff to have. ## Changelog :cl: add: Cybersun Biodynamics stamp. add: Cybersun secret documents. add: Cybersun captain's safe. add: .22 LR is now purchasable in cargo. /:cl: --- code/game/objects/items/documents.dm | 9 +++++++++ code/game/objects/items/storage/secure.dm | 17 +++++++++++++++++ code/modules/asset_cache/asset_list_items.dm | 1 + code/modules/cargo/packs/ammo.dm | 8 ++++++++ code/modules/paperwork/folders_premade.dm | 9 +++++++++ code/modules/paperwork/stamps.dm | 7 ++++++- icons/obj/bureaucracy.dmi | Bin 36696 -> 36944 bytes icons/stamp_icons/large_stamp-biodynamics.png | Bin 0 -> 1139 bytes 8 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 icons/stamp_icons/large_stamp-biodynamics.png diff --git a/code/game/objects/items/documents.dm b/code/game/objects/items/documents.dm index 51c17ff4290d..2fb225fd2fb9 100644 --- a/code/game/objects/items/documents.dm +++ b/code/game/objects/items/documents.dm @@ -27,6 +27,15 @@ /obj/item/documents/syndicate desc = "\"Top Secret\" documents detailing sensitive Syndicate operational intelligence." +/obj/item/documents/syndicate/cybersun + name = "classified Cybersun documents" + desc = "\"Top Secret\" documents detailing sensitive Cybersun Virtual Solutions operational intelligence. These documents are verified with a red wax seal." + icon_state = "docs_red" + +/obj/item/documents/syndicate/cybersun/biodynamics + desc = "\"Top Secret\" Cybersun Biodynamics documents, filled with patient lists and unfinished designs. These documents are verified with a teal wax seal." + icon_state = "docs_teal" + /obj/item/documents/syndicate/red name = "red secret documents" desc = "\"Top Secret\" documents detailing sensitive Syndicate operational intelligence. These documents are verified with a red wax seal." diff --git a/code/game/objects/items/storage/secure.dm b/code/game/objects/items/storage/secure.dm index f918a3b883fb..f46d6eb4c2c9 100644 --- a/code/game/objects/items/storage/secure.dm +++ b/code/game/objects/items/storage/secure.dm @@ -211,3 +211,20 @@ /obj/item/storage/secure/safe/suns/PopulateContents() . = ..() new /obj/item/storage/belt/sabre/suns(src) + +/obj/item/storage/secure/safe/cybersun + name = "Captain's secure safe" + desc = "An electronic safe manufactured by Cybersun Virtual Solutions." + +/obj/item/storage/secure/safe/cybersun/PopulateContents() + new /obj/item/gun/ballistic/automatic/pistol/himehabu/no_mag(src) + new /obj/item/ammo_box/magazine/m22lr_himehabu(src) + new /obj/item/ammo_box/magazine/m22lr_himehabu(src) + +/obj/item/storage/secure/safe/cybersun/solutions/PopulateContents() + . = ..() + new /obj/item/folder/documents/syndicate/cybersun(src) + +/obj/item/storage/secure/safe/cybersun/biodynamics/PopulateContents() + . = ..() + new /obj/item/folder/documents/syndicate/cybersun/biodynamics(src) diff --git a/code/modules/asset_cache/asset_list_items.dm b/code/modules/asset_cache/asset_list_items.dm index 031ce60755e8..65163d164cd6 100644 --- a/code/modules/asset_cache/asset_list_items.dm +++ b/code/modules/asset_cache/asset_list_items.dm @@ -133,6 +133,7 @@ "stamp-bard" = 'icons/stamp_icons/large_stamp-bard.png', "stamp-gold" = 'icons/stamp_icons/large_stamp-gold.png', "stamp-cybersun" = 'icons/stamp_icons/large_stamp-cybersun.png', + "stamp-biodynamics" = 'icons/stamp_icons/large_stamp-biodynamics.png', "stamp-donk" = 'icons/stamp_icons/large_stamp-donk.png' ) diff --git a/code/modules/cargo/packs/ammo.dm b/code/modules/cargo/packs/ammo.dm index f8b335af1dd9..79f7d154128f 100644 --- a/code/modules/cargo/packs/ammo.dm +++ b/code/modules/cargo/packs/ammo.dm @@ -425,3 +425,11 @@ desc = "Contains a fifty-round box of .44 roumain hollow point ammo, great against unarmored targets." contains = list(/obj/item/ammo_box/a44roum/hp) cost = 500 + +/datum/supply_pack/ammo/c22lr + name = ".22 LR Ammo Box Crate" + desc = "Contains two 75 round ammo boxes for refilling .22 LR weapons." + contains = list(/obj/item/ammo_box/c22lr_box, + /obj/item/ammo_box/c22lr_box) + crate_name = "ammo crate" + cost = 250 diff --git a/code/modules/paperwork/folders_premade.dm b/code/modules/paperwork/folders_premade.dm index 3c9dbb89feae..48b7cb763785 100644 --- a/code/modules/paperwork/folders_premade.dm +++ b/code/modules/paperwork/folders_premade.dm @@ -41,6 +41,15 @@ name = "folder- 'TOP SECRET'" desc = "A folder stamped \"Top Secret - Property of The Syndicate.\"" +/obj/item/folder/documents/syndicate/cybersun + document = /obj/item/documents/syndicate/cybersun + icon_state = "folder_sred" + desc = "A folder stamped \"Top Secret - Property of Cybersun Industries.\"" + +/obj/item/folder/documents/syndicate/cybersun/biodynamics + document = /obj/item/documents/syndicate/cybersun/biodynamics + icon_state = "folder_sblue" + /obj/item/folder/documents/syndicate/red document = /obj/item/documents/syndicate/red icon_state = "folder_sred" diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index 45893f8d5fc5..22e9a722634b 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -97,10 +97,15 @@ dye_color = DYE_SYNDICATE /obj/item/stamp/cybersun - name = "Cybersun rubber stamp" + name = "Cybersun Virtual Solutions rubber stamp" icon_state = "stamp-cybersun" dye_color = DYE_SYNDICATE +/obj/item/stamp/cybersun/biodynamics + name = "Cybersun Biodynamics rubber stamp" + icon_state = "stamp-biodynamics" + dye_color = DYE_CMO + /obj/item/stamp/solgov name = "SolGov rubber stamp" icon_state = "stamp-solgov" diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi index 17bab47dc9ef14214611b37cb785fe42df0a96a2..68fef79c160b5c6abd6d9d67d33b21da2f7fea34 100644 GIT binary patch literal 36944 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�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%0D##J9 zzN1Z|t}ipkr2c#mVs09)zPF-OUnddtG)wN1PSfZ}H<&bf-)LfEP9_V1jl@#v#52D$ z>hnBN{4WjnZM)a!PghN@4%LJQ`y4>Bgq#2$g4}Am1|tAq;lS1)0Z4YgC{R?leSs(7 zGPg{u8%&;l6^UA57XYXT&zI6+d?Lo$E6&RP-WoSyR0*Lalqh*Ck-^%4RNPi$8iUih zOSj+xZ*o)HTqf98rN2~N9Q)X0o~WKf@XQ*iP>;%7(<+h>$|8uDq^w+lp1MSJPW236 z&-beIqf%H{yJ$&ZTuQ|LDP4-hQFaVEwiW1X|9sm2%Y4R=pDF^CexMEGsPshSVb)E2UG1M~ z5t)BsCHyfVVot(sKvEXJn2ts!H0E130B2o0I-@u`u;UK1k+nY|_kQZAj9wW>_CZ$W zy_!Eq?qpc1-dC$QkemNQDFZ5=bER1oeby|1!gp7gdbDKMN>Q@OojUuZtsUaI9o*Zf?} zrl&z{!YwVztZ_~`tK3JXKy9{mu0OkBbMkaXFgD@0Q#P5gaf;KT~zqLjSn5fOjt@9&h8V{_x)P-pQX=8ZJQ?{?ydM z5IeHuSJzl9SafmyjSys<%;^u%q<$fNe8BWxx03@;>_GhaKL9I@nFesF{8h?Xz+6VG z|EPsxR1aVaiF1&ZB?8QzaGB}d4A=IM7iTkB%zZugV{~kS#}siK(9&-+7EXv#muVPx z!^xYY;=UoMuF=2tak92%x+i4rqj5uvh(@sBNu8gQJ&?&^(Y^g@3o z7kbV!Ag#;*MMJ(Vam)AF=(8EsRbO)@W#zFvT)Lv4KiyI)>gxs3d}76*--CR>U&!wm z$(UoGuE1*r$Y*@^yfcAJ_BH0W9km%AUM(WIX@Ed=zkV_eF?e&<-0*!lp$V{74g|u- z-y3QEYcv17usLQ$_imN6V0!sjjJz%Ek<-?HxGJcwE+S-h!1zPU`-sC!ttJfV4`5G9 z+p^C67D?Ql60$c7+4y$g&wD|)DY2``j|_MbuZ$8hEf~73dFdD#(Vu>Pg?eAW19fe) zQA$=D>r4i!TQw<#L&Sj9gN)B4@=bn+xf;NsbuD8R1GP%10mJ#fBF~;s5c1b)Po!g= zLs+tV(F?O-?7A7AWU}m%ni?vGH?l>;)BCgA3uW#{pSWeykjsZ9-Iq5mkL};=gLT5# zBrP78D)@cV(WIXI#S(W36sbLiDF-~6;k>p=y50_q-*&!xPzmE7*T4DILxr=AT=L$c z9O@?|A+Z7~EM3-6{#3qj{#%pz^_GXN0kR*BF|SRnkl(7@wJoAivD(?tdv`(1z|6P? zPlT@h2@EPM{F#8UBtf?9cbUF=sAVVlj$MabwH@2}-kxp*P@D>E<}c}xT$*1{LLN%O zlEnJkw!9_x+VjL5Fp4{}(^rP~pq4032RVRMfYKi{>=`qe-?^+`kPsej8e zl-a8F2b;rbVM?>rZ(>iG7pQ7-fvDrVk|%k2d7yxur)7yhN*w+TwLq#u&$4}O6JU1sF z`?hlQ93rUCds5DG_>B4wnAShcK{}xQ7oLkj6-cf9-0i0J4%r1+A{F@s0FGeE!S> z6iG+e^qOpTI@H0q5glg&ehrG;9{UlA`;BWqAAe5VS9dyUld4vE+cuohDx;%Arrt=P z`jZ+EPuBMWW#cQ|rIAHxjm|M8_JZ4YAXDs=fFIO9adOWz?)?<^)@)sa=Y`+LGLGYr z)Y|+tx|1Ud-e#%&Ls`g3EhWk-$2-)dX~#k_q|8R;E)XY$HR|5`@vg4Ca`W>$-t`3B zHSuSzCTf5JA{!;YzJ*hYc*yp|P#TPE91e_$prY!>eDV@UeT!yZH}7tcHV0!bm@N`c zh%R^G&m2%5wpP&pbo#LV!_$Idei{h7G(A$EBe}Nxj9aW`1AZq?fbM50x?cEtU>?wV z>>0&wAb`sTC=>d3tit<{xW!#M4>w&;K<)8V=EY@cr@Hkepdc$h5!eT+!&6>;l#?VKbo25l-Fl4sCoQyZ&b0lU ztz7;|K*9l9#i>;RHcG%1EE=Gg$W|41a`uP#e-CahVdM{W1U3`tTpFL1 zHsB|tDZPm=&nL*o{qUu(CVNtmZ@zd`TVEySMm8b_Fm9T6`v-$t3qwon`3^`rS`amg zAy3@ze9U&=qg|lBcbdS!9l62+#o6BBmhOS#q8F2>&beuyJb41(cfgpnED(YRaKix2 z-q*KTZ!*ZffbSbn_@w9dP~S!tWaTCsjiOp&bfZMH%dglLyX+eUSN=MB2LEuoe`h18 z8n-rH=XZ{>3Sh`tdTPOn;bP%82b+3Uz7dj>Nl~%0S5pS15G%}F2DZZicU#75KY5IP(Z`~291Y`s}<98<7t;PzKr-#;c5W$r(Kv|KE1shjP&L+i#Xdm!>08CUga{6 z%l#x2kDd4^nV0(Tu?h-kkHb>W63x1xL7azdPbh#zDHI6k{sAhkhzL}8viZ=L5ft=y z=PyB-&Y!8+{eUug`C-qidBg+=bWS0lahq)bN}h>{P`CN$E&HKG-$4}6{wO7T90ju!6{umJevYSuGs7CC}lZ!k~9vb^pFOfcxthf%~~o3r6a zo2M92X#D1ljyae=#_*dK54fdIda>r^2xjOs+id(rp@9I^<>uw>WaEJZ2tH09EqX4$ z?s?;}QVs@_>*%o-+6snrh7BCo-4wK&{`%7$1I<}6N?67d+8cNBQ-0y)x;GYC{#Xud zX`B?4}!KG;-TJH0hh^uZ;dW5k1!u)d^|peiz|A5^YOxn*BEpB4y)UxNilu1Tq> zV?A*-0!)ovKD>N76NrKcWCY&tGSgUt{YUvms0@Vv)d+fF+lDQebG@hm5IJ?Mq#!{J ztx$&+jC&#U;>8O9&Oub3G1Ajd3$ArUtwP0hIJ3TnmTa!dj`ahMuo*4u^XrB>lt?^I zJ_Lv3b3ARaFJD7(o;zynlB5CFWxz$i$n!2h4KQ)P8}ObIq#l_o03~%_l95Kedp*39 zf~_K~+`A&0S%g35?d|OVMS$1~RxbAENq{2-1qG)RBC%|mAGVU9dIPiv^}gyzC^8V2;`Bvj3<1&3m&X1#Iz(q!hloMw4mm4;@artk1+RdZ2Ah`{9@O%e%wy zBvK`JaLdV62KMUfdm}Oqbj*(3TPs#r)A03-Z~6`97Khj-YCdGRfQNr%RI@2NyQAdV zI2It6`<2+UfG5dE>`3_e7{I0457yVm=q7peWA8cVLSHCw@ zUBSr}ik;|_MrjIfWT6H)eqfgMZ@IhblKpGa{)2c0+Mo9D4f}f`&AqrKo zp}*@XUxQDK~7;u414XCWLTl zHYeft)4?!)GMp~@Nur$HW$|=leavz^=I43jAxbA!39r6~%hmVg$y0}BllV{yS>4rf z706L5U_hW^?eh*QD0FH~YS z0fu5H-cO}3aiKVcj(_iQ0E-c+g{nqK63!97v#HPK`2Ch}Me=^mKsfp*ER~Lzc-s5F zBf^iu#+{~!?QQBOIS6IF9s!r`mHjl7XiD&4T8$|U_Wv&o0Lq*h00Qe2!{bi_f(n7- zPC+d3hQX#cXmgi1lXqEq7<4YG7Lu|+cuVsjl%fi8`&oawQzTko`@k|yR!1#)WMeLM|LH1Rt6QkQ$V?8p7b z#X1XodxibeunfVtf=#E%2{e+p2>a<4g^5B&i0(yUO$xL@aVTedI`CwEoA3EMpq-!S z*(<0->X|%ZjdAC&uN4)3D?Joe4jO;dT$V}TgWyjOk%Pnh>B;$X2(ef@bk}Olq9uE zqoET0;+!CUvB~`N06j+lffW4dNunFwVIFa2zoesqodD==eMSV^G=w{hTO7=m=v~7@zn4!fl33I;WN(_a&{%j1u7|j_A2fD{V zIU4_MY0OBHy=D&WTmk)=PwV~lo|Tgv$O8l}0XgA`|6r2d7k?;cR5}g3PNr+C<{-?2 z0ABu)+1gLi0PzZTnST7jLCHQC!Xy6sQ^aD!j?vW`!DNvS->^}AfW+Mu8W-Mt_S;4J z`u?LZTM8BCkH;et1|xXd22Unwe&#`@K74~*Utr==9T!$Re7op29tFxXPLg7<)mB z4q=@uPO$K3Ir{POabsTcma^Aam_S2IMsN95pu9OB7_G;6#0UtEc85BnV+lKnUlJ`x zd4~ie@G2=Vv|HcpASrT?C>Fi+u>3A7e?+N=qk-AU>;t{h9gV!UpAd=d)T`3D8mHsf zs;jj10wPdFsQYqt#(Ks!wdr;EYY`hsAL0G@}(J=Z*f&L_Bcf`_*_Pub3a1ivih zc?zfFj)u&EjlO!!i9BMhZ`KnR7>h%gGE4pd-Id+N^my-Mix?tGRmRl^PM=|Gow1gb zLNU->DoudaJ+mL}IRQY{^Lo9aSrrioaQ-r@Yy=y8?8te#p*#XK3i+C(Jak$7wp01_ zYv&X~enF9E_&{eQsE_FT3gf`8yXq@(?=7J9-zvEz`zv4l454TE061e|4Yw*WTef_m z0W16F4>env-XnC@XB3*{Y;`(?k_X>*(N+Rx?CoG?%c_}g%s$`iTNv8qyilWnpIpFZ zHT6-EMjZs^&1qe_d^t?Dy}*SXBrjTQ!>r?7jcXGG&pJ#OtG?B3opgJ9yn7={BVdqa zE&IOVjQ3ObE6Xh!yS>9mjEZ(`2f4FPJ3XyHSCtIy^*mGPi@yzKbkK6IoGrEe7O9#p zRqeYp$>Q!2V=L|QXr&XS%|aX%`?AEM{S*2)kO|O!SItd}>wVVAvl=h7$_1SS@w{~D z>@Y4DYkkA^gIO~Zu4obj@rBD2`LFdQeHR;rW99&Op?IFM6Q|PJd(I4wTZ1bRAmR%~ zP(i~#M8be>ajR!VX7ygjpXT`iLhm>(jxXDa`aJ$B?Rw2Lnq2f;uiDyV+u!Vis>O-< zPVbbT4h$6Zs>_Zv)(-uX7<|9^jg_+C)Gq zdZV0-I-80*5f%P$4J9`SIr*j=e61lYOVA7P!0n;io~g|6Lt`emAGi&K^c46 z?q1uM+MJ5vjGiX8Qo(VL$CT+-PJfJ9mV6HV&d$#^L?QTy0SRyHrT2v8Cw56(vQXm9=6P zE+_ggUNh~r8zrM{%_MLZw(@;z8x{zJ9ZD@GpJU&`4gbJ>IL~eS&JNG#LF-fu-=ifb zoL-HR917UY1VlzY#4@A7X}T^fFYhsn6$=$Ps7C`;xWnFQYHRDUXqVyc$=+a2SsMN} zmcB_>0Zh4<9tiOXt)q-f@dyh94_~F4kx_<_TpakRPddh!=lAyYP{gg(@@aIG1LU;z zn1{pccX}HKHL5UmUFab0@y9!<^Uh*$(_R0Few-Ha8?}~s;|D4*LZ-QrweHu^#NAp? zjI`+tXB4>*2Iy$Ncd4A{8Oe;UJB5 z6%!Mjo=rHtx{k||aNQj2`b}bFifGuV`P9!O=yRd8S)cW6lpdi&I4}fc%=lwhMGEtdhYi1F*`RZ*@Vy2m)(nR${7!Rj5Lxl?Y3O;%lEMR;fQ)0Nj4Z z-r_aLGjB*CfHjz8x6JE>+BvM`XEE&X*Ql6kVsYiKcZ(D-Vyz4+TP?9$q2;Xu7PRrP zF_VZUA(};mI)I)3;No^T26Ulh)mf0V^QqQ!ykKJsWa2D<-Nl)@Bb zs=8<7C3W_jX2sV_2>JC}gcSTza4?L*aKy+HaWm#Q5d6590AxVzZbtfuRLJy!TnuU8 z@mi0W%(*5m1wXFUNM4h)T+FkWt_nA(JRJ%yg#!%Z#ZOGR)Vpo9&auTQo%btoRKAUw zF2d}{bw+e*mggZcb&+%(vQ{@lz5U^Wv9KCZ6V>yA64pt_H{W9`8IF#&j1MDwNr_*F zx0idJvrqDYUw+}DK26F#h%R$$J3LJNGWCSF_rZ`+Y8je|bR$&HS_N-6@kB9Gs<2J+ zsjRsqzugQ7lrk93+Vz`}n|hTm>NCKL(|JrDT(p@}mplDgVh($za+~f-Q)2XR3bT1J zYeNJ)Hso?0%c7>H#?|Y)a04f)-1QLyFP=9F807HbL@$bBe7G2DSD#ehp|5yqCl$deLNtP)$ZyR@x{+uzkY`e3|UCOLC} zUFAFBFN0*FjI9IMd@-01P#*Pa?fRmSAYeSV+~SwZMt>I|+8qo$7u}O3z~cVLpN&8Y zU=+LAO7sx7R!|Vhw@S>M$jHd3_FtG!oS7Y{Nxj2LMI_IVIL+p?3s`R?sIP}xPn~T? z-xD-lW3An~L&1cI9>+$z(KgLrPCA5sAi?VuGNm7aRAxQV@+vCAy|I)6RP^!&ao)=l z6JbB9s4Xnh&(702XJVDRdx2I#HV9WkJW3#K>|JEcTKZK*RZiwf`gH{!_=ZeuO=7P; zWul(8u>-~3HUldi4*xhH4pHQH*KSUbbVc3>G(M_dW&9Ie7PxFef#w{-;MY!J(DsA_ zWeAjNZ&AORcN7wMCK$^SH%)O`)IPtoje1n%Ce;1&((fS9A!&0YgQHvDoSSOZ&)&Xt z^7EL3^aGP*0%K#`0OBoD+$|q2rgo~^y})8s7xZq<^Om&M#o(DH1I-b>& z{8KF$I_sM94RTKmKU@zEC4?tF|5}?cpk73PMSQO~-7?thhVXRY$P*YQ@v=c(`v)6b z2=}gbtACRF66zh|eDUgViU*ClK(*^VVO!K*nB?#Ggp#qxPT2$DaZbk;l4)j=duY-j zL}czmVhYN>^NQ2`-@mgeg(EIGV_=tM-H>I+i^lofXA0(c@9u6@tj%&q2- z16Mx<2JyC?14CSu#~0-^8p!RN9;aGnuj@yNApkBP?@1sXn^kWdr(N}^BBmm99H4pq zxKY^Mo!HR|)yL^5zhY5rikqKq`TKBO_#(&$GnNDL`)!XmyXt5se6c#XDLrJ1#pb=f z>Ld4tNA`9+S`BDtV+_I}NgTKmTgc5~3?sPVFu;aj)0hEWoW>W`eaXDu+#f%}o%Vu= zlez3)-v7HfXrq+&{_CvaQfteWexu0xSyB8|tS7$L_*j<2&YFhvrqU5^Z;=Kys)Fa% z?Lay8Bsu6e_ufmiU-Rx{7Xbry;S@9)QDMXdM6_dVbtpt6t3S$((3Bp0&C820w}04r z{aq1@!!Y_ea|zK#7miLAK~8LmQ3evAE86@-v-E{%?ZuxSkCb-`1O&+#esd=KMPs zK#!OKYG7}+_Q$IC@os+=y4bV=Eacz^RWo?~ zIg>u;!|7}BXA*woPXnr~Mpji}KBWAtfw99ESp`TPwnVKNQT-G+_zHo1`CKq<|MedL z_z#6-3pr<*xxulx%6<$056=Q z*FU7C+Z?f0RCi@bbKoPW2SXJ<&vR}Nm+)mKKB*F6Ty zedW7WS>;=}p|Q`BywL+7Kh7Rznl`bz0VTb5DyYcoO_6?gY+9F06zl-8%tneftbS$MdPHy)L94H!}BrkBm1tt;I0kP(=p&lr6)rYuX!)i<ri z2MQH+wbyyly=7ux-%5#{(kuR{44q3=O0)tH%i_s^WGRbW5O5q>O)(3qb@KH;m7;rZ7P!|W4 zA$*nlgSWZm{?8wUSc*T0(0uts{mUe6CHwH75=FflU@g;O__EW#$$YhJN~QSplmd({K&wz(Tm|^^8A>vI1<3ShW%p=ciQoBA?I$OzmJbh$v z#Y%dQvCqRW?(vwmKkHu@ZvA&W`x*KD+5fMH8CF>hn`g!iFtTIaVbi}5W=bbx%fQbd ze7)+61DHGxtIF%x)b?z9>>lkG8{MY|Q+RBoO%;L5be^Xx5?^Phqu2i}h4CAB~@z_%+9EXPdPc&~hgxo|z z5X!?>g{<*nr?g56yCO){|G@L<0*7$(8=(A26T`qn{32s6_QG*cDcM|FlY-uAQzq$J zmCP;Vn$U89fjE1PREUSVaWJeulLdI59#ab8RCjO6H4x?fdvowCcVBQJzuaGnA(ESB ztUyttbejhV$wYuU-(1>_jD9hNU`h(=4`H(S-yg+RbZ0QA7bP4@y!1JVvk*X~yLzfl zC^1*ecbZit?nd)}jRH)hA96`U@WSUQTX&61WO%5Zxv7Um{HNOAS=DLqubPXedEOQW zl@2=;*md>!3LgG11XA%mM!G2g)k<=e&<VsmEx*e#b2J7`FI3WZa>6LtA^J^=QO*r(PoygErL9)+i z%nVDR`C504P{ifH}S?ixDZyb=GJncwo zwbS|`_L&57Yf%dxd=Ig-F}+UBivZ@}K6Fod5qZT=1B)Ly$-qNPiETMg{}(C9n2Qfr zgPgf(orOkx!w2O%x5xe&`6y*B&0o5tf976kb8ZRy9ae{T{o-uFk1X!I&#JU2*)A7b zO^3+`V90TTZk@?#$N&9N{?vDeH_cZ^{5T3$(x5-UbUMG65Onmgwb=lyQ)gUiV}Krm z|L;o#e6wobq4D5e{{)o`JS_vxN^T#UqbX6GbN3B(CxFYgJ0O{ViMd z|Nf|eOZR^N&hzIJVv(aVjKaN0w|V7+hr(ixneXSVi+^jDJK?)c z3N{4@(@kXOKL?At75Ig_GkSaB|B#<evDBK5vTL+FPmQBsa#+CJ`*@rbtM>08AzHC_XZ?K{s)z?w@-60k<*iP zy_kWw1L6e7L^|6}Jb;de#+i=2J+YoR>0W?nR51R=`Inm0`AroYAejG`#Di7v0qVV& zX?Tw))f1KQ@Sjit6Tx|0++f<;U^XU`e{oZ~R|Z z?afVmTCYktL&HEg8Svta}rdWPfKv9dz3{6mu^fAi+YLQ$&UQAeS zC?Q+XGHY6175hU*lt+!+Y`nMUKC`p+l!>urK~b#Q#iJ_OSX|RRdS(Qgdq7G&Cn-?bU>P?_h)6~c31e4f$0sSI#Ag<7JMo(EA5x)J0zxB# zg!(Ne^cM!H!6a&9bjDbZAm5~KAGI-2Bk#N3h|ZpnnR zxN_YIIyw_hGF7(D+?0*o8Of%Cd)s^X8p>sD)Y_-CoJF<@OaR{ucfhxr?g@5RsdNwP zd->guoIMUdio?^19Qay^NVoBqV6%Q2!1~L5R-e2=XMNn6+veyJAW-z9g9&;SFBpsF zOxNlA^KP0g(eL7Snb=NX9Kec#x*4B2+WyYZxT8DsaN4!Xd4F#4jkb~{Yd1KQ-alN# zm-tgLwncB~>+{F_OjdMC($l!4G)P|k6oQ~CSd-cyys}>sO*&jYlB=*kGa1&$RzL1r zNc(ca*d5m6Le36wRyv%wog2LR08^BGp_YnKq9>s^;goW(n?EAE;$2vf-La|v%LeIC z3RX6mfx%gH8NeP@KeDNxjhLEnx@XTRPUJv($|GPBT|y1XqVm{^0pPJ%v|V17-=f|sajUPicEc{(< zeKkolKObp)G{bFD&kj;tm>@FE6#Uw}c;Fdg+xg z2dQKA6&I(S4sn#F(N6`WsAB-P=c@XW#d+gwt~8Js^~0}g2Fkxu-Bv22oSY;Z1H-|| zQtR9_!uO1Lc(1b={WOqn2!la3MpTQlgf)FiY-MPcE{Ub22uoOZ<( z7@ZymUy)n-`I0j!zxc*w2WcC^vRpMAE=1NP^g0d zi#`!_&JKceO*1pFd-2nlM*TJ#EFNqe8JotiG2_Zt`o7V3+w1@QivyaaBAKSk>5u@X zVzk8hq{f$~0Xx6e==(dnc+LHhANgsTE~@`{&5zWSzAD#it!W`qvAf7OGHB^|=tCK^ zyZhuRXv6~RyE*p`j7}*}J?jUuBLv59zt!jRfOF%U$ssDR5HkhOfcaYejM=&fcF^wk z5=ZX&I>(V4$_n$oue~XEg_%`%7Jf+h?xz%P`**`nw>X&=K7s+uWfBTeipwyk1QCrBjPGCKY7xp#PzUf~z3zx-ymfV5OC@iPL{|C+#LpT!;!O z!1pfl?xdvrqajzqp-TVI$lApOy|_gC{qmc) z+8^;}<7_xjzKr+yQPC zeho5re@31kOYZh&F301rRODC)u$QF;8Thz(#)kWS#bJq?143}gjiV_jC;`OOw~Qd; z@pVsU__|jbjAh`~P$`N^On7oFUCbvDPBeb`dC?B*)C8%7?zsQDz}hzTL&CNYQ6o1G z5#AaF2=uLhWsDPoveu2iu=jk-aT{9xQ&y(a*zd_Xb*=v&_GFHw`4}Aw`q8;17K=d{ zE@J`00D<_;g&uF*#qGfWP*Aj-@cb7EmPdTDM-*IiX;kA&ONK@$-{2q5gZ>OA&L}GY zu{|IRnz!q?kbLmNTEykSJ*4UE|M|4~4^GV=15X%7(Xkx5D(LEU+kuxoP5=TEF)NN0Bd; ziQ-hcFFpiGp8K`BA;fTjPgzmvj#jeb`1$!w#>V-p?#VGIkl^Y7T3Bq7xm4;E`51rd5*LbXU(CXZVSAG7K%;z2T+-y1VFQ5@!t1X=}&!cCAyG zWk~~+I$~wOY6tz1(Lg1SE8YTVob?{pqpkCGp49#==dp7zNl%O}@dLBTBaf&IFY*GF z7|cKRaUWFi?_eVp=cObdTvCES#APY$-5*4!Jm)oq#7hN7z}1|!7%8`*W$bOdNeij7${-vu>QndK#s=B*Y zPkt$|KT|l&^AIqVf1?eC2Bfir>O}6OFXD@kZ)IGEkEu*k%UtJ4E@`$VLfxS#nG$HL z{0B1m$AtP`=lkRLLS}HY|Ft%%{KTQv+f=>^gMwXYUiL+cp{d)=#{T$06-7oI^J0H*FW0~848<}_<$ z9EJ_BvZiVq9P+ybhVv^n<(&}Ue#=1+D45UASyAWXXqkl$8Q$*q0!R6aMoK9gk!)`% z*~QqLiXClfztK7Wf)7B>?RwJ|>w$#n7ip?y}zu z7&PgeeAy@C0v)wUEILM*`Mf~Grk<@bR#a33fm9HCcWF0>n-V0Z!15g$kXxR4Ge`#7 z`Qv%zGvdpgA$N@?0Qts-65s_ogzxI_(~3rg89KC3dRg!C!+K^~q*Lp{x4B(?Zl zRQ|_&c+j`Cc{9q%fQqwhpK71A(E1Z+*=|AtPn$$OmTJo2L0%N8__MtDg3Ps`H5o%6 zgXsion>jR&l6PKs{vq2Vw^NIbVppA*JQ<6K#ir#)OtK-6=RsbM0+PTZiC&#bh0k9) zp3E|+3*>Si2HkIN&Zl|adCnLzD|~A4pG{c(4Ne|H!s3GB>r>Gu4M`nu@VN#1U%;p z{_V0pkZ^9OY;o4waPr-2^|%`Qi}&3H?kEZ5C?x7`p!FmJg|6%Iy>0<1{h`H=3YdN) zx8e3641135vsR-|QOHqerPcJl35hR9r^K3o#*3*Q3G7-uMEDY|886_h(kKf~clvAP z%aFCW%OeV^SyAgIJHJ2;iFyD09pXpKzLt_Fp6$t;c(tVG$}iBqyn)@=*B=JEzkql4^22yCZ)804+YS9mj$(^&7N*G-Y>Ve|f)*i!o!BRF9h|MVz_(Z0qAH677yNN~`tvOp z<$e86x{5gSYLbA@)&kMT)rq^8R0^pj_L{JX0K!Kon%G%5A}49}ON=90EUAJ0%yz1TznL>K;BH6#6@M$B=s1DNd%upis!wqH;jB{SDMjUVeg=(~x z>+}zPD%?gpI%kBA&IDhdZU*PG$z9*D$-Mu&DU!Z(5()-kv;4*9^!Adqj>`^gI+ekn zTOJGDE3qO12Al4gdf?Su>=cm_{i1iyoU%+XwF?JWC8?&Z$K_uGwXhD-dfFcm8v8hj-U=>h5|s{Q-8j z+p(JcnH?3hx7=z} zbkIj!P`w-iHwe`ga6I&-7$}DbSDWnw?;mCq*0wI!COX^qPI?+r+%+0sfa-Ziwq8YY z>hf_+z7O!0lO-k46T%VS3`D~WHLp|DANQrCq||A84txkRZ+e1fL^LRx#VV71A@H)S zo{Zod{8N8qL(svIZYqAL_$ke9@FIu9BRk~nGY5%KJqH5|1I_WU^^S+4SM!T0k~KpBs#V@H=CAv{|K4>wvJ3{>{VP+;K6Y(#@L?MOn>e zWFRyYdSDl`TpKf2vjQgkP|K=7WF@gMYARW6V;NwGK zh6M;AA1Lr%OE0IOsO24o?ijJkvIBb%&WZtIWvBj3$z~u#{g_!?PhZ?)l#A+i-+^&s zC=?r(+1rtX()SHrEgeyj!+`Vkx3PWNyrXPw2^SsN+E_Wu{1v5y|1;2$HuzloeS-_5 z$NpT%tItm@{Llk{JT@7JtUaZl>ZvHRtzht`RvrZLW?~;l?jk+)Kt!q)Zc>g$l#6T9 zaY2yZnv;hkX}0OfrP1Z@7k*JQLiZZ5HDVIk8AzTQVzge_!z#-0W^d-P`SGAB=n+yE zIr)9_$q!8kJNW5_XXOkBGzJ&INJQZsoS@=djgJh=M7XQuC8A!XGrsA2CkTXt_gYp; z^RdMd4?6drJI(GT-wlAwN@={bu7mnLwTC46wGN*qTYCNLO`W|`iH8hfbdi47OQ})8_&s0o{ zaym5954^S9?|}St2bH;XQ2mCE4I!MR>al&MW-OY9m7coK_cZl{;tS`_{=OEy`SS}d zn&N`hU8WBcoED{MCa4Vudlp1B7bA%%#3`VgbK1YWZ@QJoo+&|TFg`QGeKakg#U0SLPc`q?E)PTG`^`lCJ_~Bx48cUnQL?Y%iMJQ$6DX|{m zUvodXfXP&sm+ie{7sP`yEL5_+j|C{rh%DN(pR z9V_CWLGXy*4(wi-2B=Z3G-!|V+LRPDS9lk^%F(iK@C76HsdGz}yi_R)R^+gNObbjw zJb@)xfS?umI)!!bg-RU~?gRZ8L(nj|3-{rFUp$v_??CDb#Gc?>YsL?!q(sA;y}KJA z)QZXoeS z(sWGuS1FpQG>JmO^Lzjuv2>UK-<2$AQR-D4#0YqI!o~A)y=4wHhkqstIS?@h1greL zT#hAvi5a*%4aimo)a^TUAlK!9ds`e?4=Z7nN#mvg;_u%)3jmKwqEQmD<-@@Q?ye`q zyGy~`gpc_9%+)=Ku*O2SaC-s4AN0<^RmPWn;6?HCphyTrKTxgCpMQ1y4)9b>{+SI> zdj8_LdR#Xdr)~RX=dHJ^D4QV9U%}6Jv$X8yC$Ktsf8}~77Yzm-sy#%+kH{KvpaSS3 z+o2d;?Om^lIkR#f@QCh-WaTo9-d&%etov;ST#0Vqy(|Qr3vB=JChsP{Ju^{2tc5g{ z>x54p$n70I8$Ng}jrBr0bca2_#>;yqZV+LWpgbhnz)4*oEP}RQj(YPx@%M(A8sI!S z;fDOS;kOnC{APm32`F49jDSn@UZMHM$oQj)<_9)tw}*cdZT8P^*?yhdsMs8HgMi@E3~0z+V>wStHjp*fb8%V zJR_E-3$a35W$xwUba%#$ki&j8PYze-r&C#i>a+r%fCMz!= zrlqUf-^kp>`~$ZakibVLwGtm2n;y5%tJFz~GbJSaS%+9ITVO?QKkWV1E#bYYX(?e+ z>*C%SJ}3iWCnave|5OdGJ$2&282(6{|NBl{f$XudmX_9vsx1rPb2bsjuR-Od{kXlo zU6IJ97YcZEQVFGfS4(iZ2Xu*1|0)uUR9t%nxFIfTuc-n5OsJj8J)b8=YqjcM&$7El z&FKqb?=1AGJ0;%tDX!wN-BdDH(5wYhac`mpxDW$zJ{!MO!YQm%6c8_M@Rj@=??Rm? zBzi;Jh;r_i+tEt0jTd-ODQTY?H4eI;bz>rH5~ti_uODY^6g2os93zDw@FnpoFEtvR zm$ta#dn~X(R=wINreMMh1s)oc*w3mFSi#rbX7%WU_c}wR1e-FZR*XC+hDoIC)7OLM z4FE_JPlecu=j$Z(hr%Rlv7LFSRhDrV&Jsoou)jnv`ttJgOE+UC15AKm9I(O(Q0IZ@ z8}^eC1)_Vk5nxqf(K}8{I|97?7LA`lJUwoOG#VU?W|;P_B?MFZdZ2fno}TYcY2z%U z9X@_+=CkNe__=8&X%vG^1Sen@$z-Y5U0hrw<*|&K{^KA({p86GyY3fsqKt`P!mrfq zvYQ<%7iRZ}jTfz~1MU)cxR-FJ#8w9oOJn@f_wzCnytAAY#l^)H#&^DxEf=~==^@xs zA0r*w!v}jlU6W)V)TDzj274w1ns#uAxy9WO6)`*UN(gFUH-!?N(vp%lGecowIO=+O zI5hUs!otGY#>Lq8j3Rvb7aAbWALZgoJ$D;pt82Z~bC|usq%D;D_;jF6Q}>IOOOrS* zRi;SceBN$V#;Zl!@+{zY2#)Dq-V)m4b7|W5l@T3DAlPJ3Ebc?LYd9bA-AM<2S`ca} zeSeVO;`8O>ne+>IWRusz?sBS-YknZ(boB*D3 z98(QMlf=EJ{8^`X7@MPZDmZ9=xX(Gf(YBP}NKQsS*1I&tBe-d#`jiO`TfG<&`ZGBc z+{;fLz_zx+No(WRu-RF}F&pev1g2NQ8p5Q#`@)Zi2_)d$O5r1L zsDpIAN`}LjFX1YIO^|A*ev{0(Fb%Ux+R3fV0#T6LqCe=8AJ6rCL0She2eR|?yC(uB zDuysYxl}Ej&W=M>DJTVPk^%$DDtNcK=be1iQfHl1$-8xT?gUC=F6#=PHiHPk0O_b1 zVs>%R6&_gc^ux`TW9#dR{>LPuljplGDK@(}N!42jI6i+?n&q&WeAAW1;%c+Ly^~F1 znlrOw!&&!$zZ*VA|8JR)aj?`O=ELo!fhTq;79M^3%V1;PG@Zyvpdo5jhhGiB=0W{& zGd$|j^Y`z&!?;}S6>v1zsl#T8&Zg_+9*d}1f)L<@w7{<-7h5EY;I z!Q2(NL{`}8$$?S_nH$Ti+CG*qk@0U8)Om{v6OevTCy?!72+S+2r%xho2=WGbsTCexUF~I%9 z=GhEW;X1|FF$)-Wc=B>vVLcm9 zfX&%%<%ED+{W8{ZFaUw4tDnm{r-UW|S4M}I diff --git a/icons/stamp_icons/large_stamp-biodynamics.png b/icons/stamp_icons/large_stamp-biodynamics.png new file mode 100644 index 0000000000000000000000000000000000000000..0d09b4f37c005a42b9fbda838f52e1b332895ef3 GIT binary patch literal 1139 zcmV-(1dRKMP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1PDn)K~#8N?V3As z+b|G@>6}8nRXArz;{)UfX)@y*NTo`Z)(t$9CP&Bt+~f>#A@{n4!XL(JcGk-WKo9^y zd@~#nPs00S7X;;|QduPrKYv{9Z4rF2X~hD8H}?;xl7y}zSJs8}-cr1|dU9nwba`zF z-h5}%#q)SPK40G7c5lCad;Lui6E9pCgHl`7Oc@iYZ~ssfB{EVH$JekJ=k;*d+pHHP zE-jWSazJ2QGAMaA?uU##CM3IzL2dbbQj&ZEA<>N56~@O1E5kOSjirfMMV<-Gu)M5K zTul(U4RH9Fyl>aSN<|iv2nh@h52Sr{NMIKs`ug+d(88Fyw}+xwk#WzxNebj5u7vOR zKogqZrzVR@goXsw1m<2o1sTTWvvLs_6e%)i4uJ_iHV8d_D2f(&PJxLf2wkkm()e?R z&zR5hVHH16%x!dx4-dB4>?k^1yYl_z<$C`6YI7gty3e{0O=K9*-Zt--OLM>3oc=sL z8RMajmuY#^(W3P?6%3dD0Bxke1Q%MHn@ipd7?~*H8h@z0HMD;)483d1%`wE4(ETw# z5*UIa{Nmbvdo*R**RCZIZBNE(Zoz8yiXKD#c|ERwhXc}^=Zty249#duLNA&6pCJQ4 zXxA6FsgWi$NkrB>Ee8;m=}XpBNNAf)%3?ejMr(n0s4p_S{_F90m0rZ_O#y?4<bc2AWEjMTxY-S$EfOg-i4jV00{cF$m_lbEG7OBAR=y?z%392e6I&2B0eHQ( z6%6$UsFN>RKAvr#rGoKr&HaIflSE{As|=|yFj5#u3LF#6Lpwrwc(nQjjK;RvC@f}A zPJ!mxF3`eFO*D~hDE8iShx+q+EmHJ>_O5#*!abg0vsn{GWVxcJhUB?Ix)d7XYo9u? zpy*lxS%i}u=n@pjFJVigipSHk*mNU`efiO_V%>jZuigU^UXMI z{;tjAWeJ}HWj)X1c(SwYWnSwq+Z#mtPx-NL$2eZ$m}RrsiJa;PWsLrDdpl23Y6P+= zA@dSmr}dX(@s!$k<$ICm=iCGasYE72`hb42zZ{E;>I3=@j)4$OU$BtRQDBgRC(nTt zUFQ2h+rjqoxJ3e^T-K!~2TvxkDMdN22Qoi}uIKS`T%(`I1;#zD+=Q+;K%PpME&k-$ zp?|%aLMl&Q3|*oEoS~7TobSgu2@JA)QSe0?o6ySTv4=zA_0{taBreZQL9rs^-W0YB z8Jf54!etCThbnSFU{H8i4#yc1oaU2S=%PeM>T6K$i3Ejh-ybKY&Z!a@O=OVUOH^ed zQs^$>mqtB8399F=0C+EiF2##M_2kMrDanf~l}Z^j&420+X`;f>3-SN}002ovPDHLk FV1kH(3S$5O literal 0 HcmV?d00001 From b6e64bf40e88a61048eccdd7bee6a2d732d97652 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Mon, 7 Oct 2024 15:33:51 -0500 Subject: [PATCH 008/344] flakey tests rerunner (#3395) ## About The Pull Request If only one test fails it will be rerun once, if that one passes it creates a bug report. https://github.com/tgstation/tgstation/pull/71519 https://github.com/tgstation/tgstation/pull/80817 https://github.com/tgstation/tgstation/pull/82790 ## Why It's Good For The Game Its so fucking annyoing to deal with ship placment failing cause of auxmos this will also probably document some bugs for us. ## Changelog :cl: FalloutFalcon, Mothblocks, Cyberboss add: retry failed unit tests. /:cl: --------- Signed-off-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- .github/workflows/rerun_flaky_tests.yml | 37 + code/modules/unit_tests/unit_test.dm | 2 +- .../flakyTestPayloads/chat_client.txt | 2404 ++++++++++++++++ .../flakyTestPayloads/invalid_timer.txt | 2389 ++++++++++++++++ .../flakyTestPayloads/monkey_business.txt | 2451 ++++++++++++++++ .../flakyTestPayloads/multiple_failures.txt | 8 + .../flakyTestPayloads/shapeshift.txt | 2466 +++++++++++++++++ tools/pull_request_hooks/package.json | 3 + tools/pull_request_hooks/rerunFlakyTests.js | 298 ++ .../rerunFlakyTests.test.js | 45 + 10 files changed, 10102 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/rerun_flaky_tests.yml create mode 100644 tools/pull_request_hooks/flakyTestPayloads/chat_client.txt create mode 100644 tools/pull_request_hooks/flakyTestPayloads/invalid_timer.txt create mode 100644 tools/pull_request_hooks/flakyTestPayloads/monkey_business.txt create mode 100644 tools/pull_request_hooks/flakyTestPayloads/multiple_failures.txt create mode 100644 tools/pull_request_hooks/flakyTestPayloads/shapeshift.txt create mode 100644 tools/pull_request_hooks/package.json create mode 100644 tools/pull_request_hooks/rerunFlakyTests.js create mode 100644 tools/pull_request_hooks/rerunFlakyTests.test.js diff --git a/.github/workflows/rerun_flaky_tests.yml b/.github/workflows/rerun_flaky_tests.yml new file mode 100644 index 000000000000..e3cbda05749b --- /dev/null +++ b/.github/workflows/rerun_flaky_tests.yml @@ -0,0 +1,37 @@ +name: Rerun/Report Flaky Tests +on: + workflow_run: + workflows: [Checks] + types: + - completed + +permissions: + actions: write + contents: write + issues: write + +jobs: + rerun_flaky_tests: + runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'failure' && github.event.workflow_run.run_attempt == 1 }} + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Rerun flaky tests + uses: actions/github-script@v6 + with: + script: | + const { rerunFlakyTests } = await import('${{ github.workspace }}/tools/pull_request_hooks/rerunFlakyTests.js') + await rerunFlakyTests({ github, context }) + report_flaky_tests: + runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.run_attempt == 2 }} + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Report flaky tests + uses: actions/github-script@v6 + with: + script: | + const { reportFlakyTests } = await import('${{ github.workspace }}/tools/pull_request_hooks/rerunFlakyTests.js') + await reportFlakyTests({ github, context }) diff --git a/code/modules/unit_tests/unit_test.dm b/code/modules/unit_tests/unit_test.dm index 7240adb33855..00e7c6e756ac 100644 --- a/code/modules/unit_tests/unit_test.dm +++ b/code/modules/unit_tests/unit_test.dm @@ -111,7 +111,7 @@ GLOBAL_VAR(test_log) log_world("::error file=[file],line=[line],title=[test_path]::[text]") // Normal log message - log_entry += "\tREASON #[reasonID]: [text] at [file]:[line]" + log_entry += "\tFAILURE #[reasonID]: [text] at [file]:[line]" var/message = log_entry.Join("\n") log_test(message) diff --git a/tools/pull_request_hooks/flakyTestPayloads/chat_client.txt b/tools/pull_request_hooks/flakyTestPayloads/chat_client.txt new file mode 100644 index 000000000000..c39a060ffcf2 --- /dev/null +++ b/tools/pull_request_hooks/flakyTestPayloads/chat_client.txt @@ -0,0 +1,2404 @@ +2022-10-27T05:35:28.0256243Z Requested labels: ubuntu-20.04 +2022-10-27T05:35:28.0256293Z Job defined at: tgstation/tgstation/.github/workflows/ci_suite.yml@refs/pull/70831/merge +2022-10-27T05:35:28.0256314Z Waiting for a runner to pick up this job... +2022-10-27T05:35:28.3806920Z Job is waiting for a hosted runner to come online. +2022-10-27T05:35:31.1835589Z Job is about to start running on the hosted runner: GitHub Actions 7 (hosted) +2022-10-27T05:35:33.6191945Z Current runner version: '2.298.2' +2022-10-27T05:35:33.6223671Z ##[group]Operating System +2022-10-27T05:35:33.6224296Z Ubuntu +2022-10-27T05:35:33.6224585Z 20.04.5 +2022-10-27T05:35:33.6225034Z LTS +2022-10-27T05:35:33.6225416Z ##[endgroup] +2022-10-27T05:35:33.6225743Z ##[group]Runner Image +2022-10-27T05:35:33.6226159Z Image: ubuntu-20.04 +2022-10-27T05:35:33.6226592Z Version: 20221018.2 +2022-10-27T05:35:33.6227149Z Included Software: https://github.com/actions/runner-images/blob/ubuntu20/20221018.2/images/linux/Ubuntu2004-Readme.md +2022-10-27T05:35:33.6227911Z Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu20%2F20221018.2 +2022-10-27T05:35:33.6228438Z ##[endgroup] +2022-10-27T05:35:33.6228792Z ##[group]Runner Image Provisioner +2022-10-27T05:35:33.6229236Z 2.0.91.1 +2022-10-27T05:35:33.6229586Z ##[endgroup] +2022-10-27T05:35:33.6230675Z ##[group]GITHUB_TOKEN Permissions +2022-10-27T05:35:33.6231448Z Actions: read +2022-10-27T05:35:33.6231805Z Checks: read +2022-10-27T05:35:33.6232342Z Contents: read +2022-10-27T05:35:33.6232738Z Deployments: read +2022-10-27T05:35:33.6233144Z Discussions: read +2022-10-27T05:35:33.6233560Z Issues: read +2022-10-27T05:35:33.6233904Z Metadata: read +2022-10-27T05:35:33.6234279Z Packages: read +2022-10-27T05:35:33.6234661Z Pages: read +2022-10-27T05:35:33.6234985Z PullRequests: read +2022-10-27T05:35:33.6235438Z RepositoryProjects: read +2022-10-27T05:35:33.6235864Z SecurityEvents: read +2022-10-27T05:35:33.6236198Z Statuses: read +2022-10-27T05:35:33.6236580Z ##[endgroup] +2022-10-27T05:35:33.6240880Z Secret source: None +2022-10-27T05:35:33.6241441Z Prepare workflow directory +2022-10-27T05:35:33.7582606Z Prepare all required actions +2022-10-27T05:35:33.7797278Z Getting action download info +2022-10-27T05:35:33.9844802Z Download action repository 'actions/checkout@v3' (SHA:93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8) +2022-10-27T05:35:34.3746562Z Download action repository 'actions/cache@v3' (SHA:1c73980b09e7aea7201f325a7aa3ad00beddcdda) +2022-10-27T05:35:34.6080813Z Download action repository 'actions/upload-artifact@v3' (SHA:83fd05a356d7e2593de66fc9913b3002723633cb) +2022-10-27T05:35:34.9999481Z ##[group]Checking docker version +2022-10-27T05:35:35.0019606Z ##[command]/usr/bin/docker version --format '{{.Server.APIVersion}}' +2022-10-27T05:35:35.2352575Z '1.41' +2022-10-27T05:35:35.2364837Z Docker daemon API version: '1.41' +2022-10-27T05:35:35.2365438Z ##[command]/usr/bin/docker version --format '{{.Client.APIVersion}}' +2022-10-27T05:35:35.2671237Z '1.41' +2022-10-27T05:35:35.2683601Z Docker client API version: '1.41' +2022-10-27T05:35:35.2690466Z ##[endgroup] +2022-10-27T05:35:35.2694627Z ##[group]Clean up resources from previous jobs +2022-10-27T05:35:35.2703798Z ##[command]/usr/bin/docker ps --all --quiet --no-trunc --filter "label=8d5581" +2022-10-27T05:35:35.2966781Z ##[command]/usr/bin/docker network prune --force --filter "label=8d5581" +2022-10-27T05:35:35.3198095Z ##[endgroup] +2022-10-27T05:35:35.3198489Z ##[group]Create local container network +2022-10-27T05:35:35.3210740Z ##[command]/usr/bin/docker network create --label 8d5581 github_network_552f961a7b154fc6bdcc0db4d38d15af +2022-10-27T05:35:35.4083033Z 726620eda353dcb8922d8b386f90140e986ff1b865fb24546959f0eebb92fc89 +2022-10-27T05:35:35.4104308Z ##[endgroup] +2022-10-27T05:35:35.4209182Z ##[group]Starting mysql service container +2022-10-27T05:35:35.4233087Z ##[command]/usr/bin/docker pull mysql:latest +2022-10-27T05:35:35.6809700Z latest: Pulling from library/mysql +2022-10-27T05:35:35.7627837Z 50cbc88660a5: Pulling fs layer +2022-10-27T05:35:35.7629087Z 92ca853f7184: Pulling fs layer +2022-10-27T05:35:35.7629970Z 9a2047696230: Pulling fs layer +2022-10-27T05:35:35.7630738Z fe3fea56f9fb: Pulling fs layer +2022-10-27T05:35:35.7631515Z b058249d3104: Pulling fs layer +2022-10-27T05:35:35.7632382Z 9d5014a20163: Pulling fs layer +2022-10-27T05:35:35.7633458Z 906aa7388ee2: Pulling fs layer +2022-10-27T05:35:35.7634120Z 86b5e2150967: Pulling fs layer +2022-10-27T05:35:35.7634859Z fe3fea56f9fb: Waiting +2022-10-27T05:35:35.7635207Z b058249d3104: Waiting +2022-10-27T05:35:35.7635923Z 9d5014a20163: Waiting +2022-10-27T05:35:35.7636723Z 906aa7388ee2: Waiting +2022-10-27T05:35:35.7637442Z 86b5e2150967: Waiting +2022-10-27T05:35:35.7638169Z 7c6b15dcdf4e: Pulling fs layer +2022-10-27T05:35:35.7638928Z 21de4337b977: Pulling fs layer +2022-10-27T05:35:35.7639714Z 35dab154f2ae: Pulling fs layer +2022-10-27T05:35:35.7640485Z 7c6b15dcdf4e: Waiting +2022-10-27T05:35:35.7641283Z 21de4337b977: Waiting +2022-10-27T05:35:35.7642059Z 35dab154f2ae: Waiting +2022-10-27T05:35:35.8359746Z 92ca853f7184: Verifying Checksum +2022-10-27T05:35:35.8446985Z 92ca853f7184: Download complete +2022-10-27T05:35:35.8481029Z 9a2047696230: Verifying Checksum +2022-10-27T05:35:35.8488372Z 9a2047696230: Download complete +2022-10-27T05:35:35.8926817Z b058249d3104: Verifying Checksum +2022-10-27T05:35:35.8928354Z b058249d3104: Download complete +2022-10-27T05:35:35.9459390Z 9d5014a20163: Verifying Checksum +2022-10-27T05:35:35.9459781Z 9d5014a20163: Download complete +2022-10-27T05:35:35.9501999Z fe3fea56f9fb: Verifying Checksum +2022-10-27T05:35:35.9502607Z fe3fea56f9fb: Download complete +2022-10-27T05:35:36.0227385Z 86b5e2150967: Verifying Checksum +2022-10-27T05:35:36.0228073Z 86b5e2150967: Download complete +2022-10-27T05:35:36.2107823Z 50cbc88660a5: Verifying Checksum +2022-10-27T05:35:36.2144152Z 50cbc88660a5: Download complete +2022-10-27T05:35:36.4134563Z 21de4337b977: Verifying Checksum +2022-10-27T05:35:36.4134997Z 21de4337b977: Download complete +2022-10-27T05:35:36.5421142Z 35dab154f2ae: Verifying Checksum +2022-10-27T05:35:36.5422039Z 35dab154f2ae: Download complete +2022-10-27T05:35:36.5644620Z 906aa7388ee2: Verifying Checksum +2022-10-27T05:35:36.5645584Z 906aa7388ee2: Download complete +2022-10-27T05:35:36.7764339Z 7c6b15dcdf4e: Verifying Checksum +2022-10-27T05:35:36.7764814Z 7c6b15dcdf4e: Download complete +2022-10-27T05:35:38.1046566Z 50cbc88660a5: Pull complete +2022-10-27T05:35:39.3355767Z 92ca853f7184: Pull complete +2022-10-27T05:35:39.4582128Z 9a2047696230: Pull complete +2022-10-27T05:35:39.7344329Z fe3fea56f9fb: Pull complete +2022-10-27T05:35:39.8044862Z b058249d3104: Pull complete +2022-10-27T05:35:39.8779415Z 9d5014a20163: Pull complete +2022-10-27T05:35:42.0306333Z 906aa7388ee2: Pull complete +2022-10-27T05:35:42.0993787Z 86b5e2150967: Pull complete +2022-10-27T05:35:46.6099584Z 7c6b15dcdf4e: Pull complete +2022-10-27T05:35:46.6805432Z 21de4337b977: Pull complete +2022-10-27T05:35:46.7395254Z 35dab154f2ae: Pull complete +2022-10-27T05:35:46.7446735Z Digest: sha256:06314a7a220f6043436cfd72fd9c7f174fd58ef69fe4b788625fa53be4ab66aa +2022-10-27T05:35:46.7469861Z Status: Downloaded newer image for mysql:latest +2022-10-27T05:35:46.7485796Z docker.io/library/mysql:latest +2022-10-27T05:35:46.7631416Z ##[command]/usr/bin/docker create --name bdaac24feb7948af9ae1cfcb2f1e5f3f_mysqllatest_e0031a --label 8d5581 --network github_network_552f961a7b154fc6bdcc0db4d38d15af --network-alias mysql -p 3306 --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 -e "MYSQL_ROOT_PASSWORD=root" -e GITHUB_ACTIONS=true -e CI=true mysql:latest +2022-10-27T05:35:46.8132286Z b9656fff5d6a67eae31451853c0bb709d922d192e7aabe77af579b15e2acedbc +2022-10-27T05:35:46.8159678Z ##[command]/usr/bin/docker start b9656fff5d6a67eae31451853c0bb709d922d192e7aabe77af579b15e2acedbc +2022-10-27T05:35:47.2490003Z b9656fff5d6a67eae31451853c0bb709d922d192e7aabe77af579b15e2acedbc +2022-10-27T05:35:47.2513985Z ##[command]/usr/bin/docker ps --all --filter id=b9656fff5d6a67eae31451853c0bb709d922d192e7aabe77af579b15e2acedbc --filter status=running --no-trunc --format "{{.ID}} {{.Status}}" +2022-10-27T05:35:47.2830396Z b9656fff5d6a67eae31451853c0bb709d922d192e7aabe77af579b15e2acedbc Up Less than a second (health: starting) +2022-10-27T05:35:47.2856701Z ##[command]/usr/bin/docker port b9656fff5d6a67eae31451853c0bb709d922d192e7aabe77af579b15e2acedbc +2022-10-27T05:35:47.3113114Z 3306/tcp -> 0.0.0.0:49153 +2022-10-27T05:35:47.3115902Z 3306/tcp -> :::49153 +2022-10-27T05:35:47.3221941Z ##[endgroup] +2022-10-27T05:35:47.3222347Z ##[group]Waiting for all services to be ready +2022-10-27T05:35:47.3271402Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" b9656fff5d6a67eae31451853c0bb709d922d192e7aabe77af579b15e2acedbc +2022-10-27T05:35:47.3554944Z starting +2022-10-27T05:35:47.3594143Z mysql service is starting, waiting 2 seconds before checking again. +2022-10-27T05:35:49.3593961Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" b9656fff5d6a67eae31451853c0bb709d922d192e7aabe77af579b15e2acedbc +2022-10-27T05:35:49.3867220Z starting +2022-10-27T05:35:49.3886611Z mysql service is starting, waiting 4 seconds before checking again. +2022-10-27T05:35:53.5602510Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" b9656fff5d6a67eae31451853c0bb709d922d192e7aabe77af579b15e2acedbc +2022-10-27T05:35:53.5864042Z starting +2022-10-27T05:35:53.5910238Z mysql service is starting, waiting 7 seconds before checking again. +2022-10-27T05:36:01.0993571Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" b9656fff5d6a67eae31451853c0bb709d922d192e7aabe77af579b15e2acedbc +2022-10-27T05:36:01.1232744Z starting +2022-10-27T05:36:01.1235024Z mysql service is starting, waiting 14 seconds before checking again. +2022-10-27T05:36:15.3399109Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" b9656fff5d6a67eae31451853c0bb709d922d192e7aabe77af579b15e2acedbc +2022-10-27T05:36:15.3647356Z healthy +2022-10-27T05:36:15.3666176Z mysql service is healthy. +2022-10-27T05:36:15.3666682Z ##[endgroup] +2022-10-27T05:36:15.4114536Z ##[group]Run actions/checkout@v3 +2022-10-27T05:36:15.4114858Z with: +2022-10-27T05:36:15.4115122Z repository: tgstation/tgstation +2022-10-27T05:36:15.4115678Z token: *** +2022-10-27T05:36:15.4115920Z ssh-strict: true +2022-10-27T05:36:15.4116197Z persist-credentials: true +2022-10-27T05:36:15.4116449Z clean: true +2022-10-27T05:36:15.4116701Z fetch-depth: 1 +2022-10-27T05:36:15.4116934Z lfs: false +2022-10-27T05:36:15.4117152Z submodules: false +2022-10-27T05:36:15.4117416Z set-safe-directory: true +2022-10-27T05:36:15.4117683Z ##[endgroup] +2022-10-27T05:36:15.7895271Z Syncing repository: tgstation/tgstation +2022-10-27T05:36:15.7897134Z ##[group]Getting Git version info +2022-10-27T05:36:15.7897764Z Working directory is '/home/runner/work/tgstation/tgstation' +2022-10-27T05:36:15.7898346Z [command]/usr/bin/git version +2022-10-27T05:36:15.8070209Z git version 2.38.1 +2022-10-27T05:36:15.8107380Z ##[endgroup] +2022-10-27T05:36:15.8130065Z Temporarily overriding HOME='/home/runner/work/_temp/d9a17a0a-ad0c-43af-a749-41248c6e4a98' before making global git config changes +2022-10-27T05:36:15.8135001Z Adding repository directory to the temporary git global config as a safe directory +2022-10-27T05:36:15.8140556Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/tgstation/tgstation +2022-10-27T05:36:15.8198130Z Deleting the contents of '/home/runner/work/tgstation/tgstation' +2022-10-27T05:36:15.8204575Z ##[group]Initializing the repository +2022-10-27T05:36:15.8209016Z [command]/usr/bin/git init /home/runner/work/tgstation/tgstation +2022-10-27T05:36:15.8312384Z hint: Using 'master' as the name for the initial branch. This default branch name +2022-10-27T05:36:15.8313365Z hint: is subject to change. To configure the initial branch name to use in all +2022-10-27T05:36:15.8313842Z hint: of your new repositories, which will suppress this warning, call: +2022-10-27T05:36:15.8314167Z hint: +2022-10-27T05:36:15.8314756Z hint: git config --global init.defaultBranch +2022-10-27T05:36:15.8315053Z hint: +2022-10-27T05:36:15.8315481Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +2022-10-27T05:36:15.8316041Z hint: 'development'. The just-created branch can be renamed via this command: +2022-10-27T05:36:15.8316354Z hint: +2022-10-27T05:36:15.8316650Z hint: git branch -m +2022-10-27T05:36:15.8337002Z Initialized empty Git repository in /home/runner/work/tgstation/tgstation/.git/ +2022-10-27T05:36:15.8348424Z [command]/usr/bin/git remote add origin https://github.com/tgstation/tgstation +2022-10-27T05:36:15.8408157Z ##[endgroup] +2022-10-27T05:36:15.8408999Z ##[group]Disabling automatic garbage collection +2022-10-27T05:36:15.8415169Z [command]/usr/bin/git config --local gc.auto 0 +2022-10-27T05:36:15.8455049Z ##[endgroup] +2022-10-27T05:36:15.8456729Z ##[group]Setting up auth +2022-10-27T05:36:15.8467019Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand +2022-10-27T05:36:15.8512305Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || : +2022-10-27T05:36:15.8992303Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader +2022-10-27T05:36:15.9034687Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || : +2022-10-27T05:36:15.9317710Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic *** +2022-10-27T05:36:15.9381545Z ##[endgroup] +2022-10-27T05:36:15.9383025Z ##[group]Fetching the repository +2022-10-27T05:36:15.9392584Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --progress --no-recurse-submodules --depth=1 origin +deb5c38b8299183d179ee993b8c40179d42cff9b:refs/remotes/pull/70831/merge +2022-10-27T05:36:16.3561666Z remote: Enumerating objects: 12549, done. +2022-10-27T05:36:16.3568675Z remote: Counting objects: 0% (1/12549) +2022-10-27T05:36:16.3571032Z remote: Counting objects: 1% (126/12549) +2022-10-27T05:36:16.3576947Z remote: Counting objects: 2% (251/12549) +2022-10-27T05:36:16.3590550Z remote: Counting objects: 3% (377/12549) +2022-10-27T05:36:16.3591870Z remote: Counting objects: 4% (502/12549) +2022-10-27T05:36:16.3629704Z remote: Counting objects: 5% (628/12549) +2022-10-27T05:36:16.3630882Z remote: Counting objects: 6% (753/12549) +2022-10-27T05:36:16.3633986Z remote: Counting objects: 7% (879/12549) +2022-10-27T05:36:16.3662523Z remote: Counting objects: 8% (1004/12549) +2022-10-27T05:36:16.3663123Z remote: Counting objects: 9% (1130/12549) +2022-10-27T05:36:16.3664088Z remote: Counting objects: 10% (1255/12549) +2022-10-27T05:36:16.3664584Z remote: Counting objects: 11% (1381/12549) +2022-10-27T05:36:16.3665108Z remote: Counting objects: 12% (1506/12549) +2022-10-27T05:36:16.3665639Z remote: Counting objects: 13% (1632/12549) +2022-10-27T05:36:16.3666161Z remote: Counting objects: 14% (1757/12549) +2022-10-27T05:36:16.3666781Z remote: Counting objects: 15% (1883/12549) +2022-10-27T05:36:16.3667203Z remote: Counting objects: 16% (2008/12549) +2022-10-27T05:36:16.3667759Z remote: Counting objects: 17% (2134/12549) +2022-10-27T05:36:16.3668424Z remote: Counting objects: 18% (2259/12549) +2022-10-27T05:36:16.3668772Z remote: Counting objects: 19% (2385/12549) +2022-10-27T05:36:16.3686549Z remote: Counting objects: 20% (2510/12549) +2022-10-27T05:36:16.3687142Z remote: Counting objects: 21% (2636/12549) +2022-10-27T05:36:16.3693091Z remote: Counting objects: 22% (2761/12549) +2022-10-27T05:36:16.3695805Z remote: Counting objects: 23% (2887/12549) +2022-10-27T05:36:16.3696270Z remote: Counting objects: 24% (3012/12549) +2022-10-27T05:36:16.3696611Z remote: Counting objects: 25% (3138/12549) +2022-10-27T05:36:16.3696933Z remote: Counting objects: 26% (3263/12549) +2022-10-27T05:36:16.3697238Z remote: Counting objects: 27% (3389/12549) +2022-10-27T05:36:16.3697557Z remote: Counting objects: 28% (3514/12549) +2022-10-27T05:36:16.3700568Z remote: Counting objects: 29% (3640/12549) +2022-10-27T05:36:16.3701206Z remote: Counting objects: 30% (3765/12549) +2022-10-27T05:36:16.3701530Z remote: Counting objects: 31% (3891/12549) +2022-10-27T05:36:16.3702027Z remote: Counting objects: 32% (4016/12549) +2022-10-27T05:36:16.3704376Z remote: Counting objects: 33% (4142/12549) +2022-10-27T05:36:16.3705536Z remote: Counting objects: 34% (4267/12549) +2022-10-27T05:36:16.3706001Z remote: Counting objects: 35% (4393/12549) +2022-10-27T05:36:16.3706528Z remote: Counting objects: 36% (4518/12549) +2022-10-27T05:36:16.3707049Z remote: Counting objects: 37% (4644/12549) +2022-10-27T05:36:16.3707535Z remote: Counting objects: 38% (4769/12549) +2022-10-27T05:36:16.3707879Z remote: Counting objects: 39% (4895/12549) +2022-10-27T05:36:16.3708856Z remote: Counting objects: 40% (5020/12549) +2022-10-27T05:36:16.3714163Z remote: Counting objects: 41% (5146/12549) +2022-10-27T05:36:16.3716186Z remote: Counting objects: 42% (5271/12549) +2022-10-27T05:36:16.3720394Z remote: Counting objects: 43% (5397/12549) +2022-10-27T05:36:16.3725239Z remote: Counting objects: 44% (5522/12549) +2022-10-27T05:36:16.3727509Z remote: Counting objects: 45% (5648/12549) +2022-10-27T05:36:16.3728407Z remote: Counting objects: 46% (5773/12549) +2022-10-27T05:36:16.3733411Z remote: Counting objects: 47% (5899/12549) +2022-10-27T05:36:16.3734826Z remote: Counting objects: 48% (6024/12549) +2022-10-27T05:36:16.3736029Z remote: Counting objects: 49% (6150/12549) +2022-10-27T05:36:16.3736752Z remote: Counting objects: 50% (6275/12549) +2022-10-27T05:36:16.3737119Z remote: Counting objects: 51% (6400/12549) +2022-10-27T05:36:16.3740552Z remote: Counting objects: 52% (6526/12549) +2022-10-27T05:36:16.3741109Z remote: Counting objects: 53% (6651/12549) +2022-10-27T05:36:16.3742348Z remote: Counting objects: 54% (6777/12549) +2022-10-27T05:36:16.3745824Z remote: Counting objects: 55% (6902/12549) +2022-10-27T05:36:16.3746239Z remote: Counting objects: 56% (7028/12549) +2022-10-27T05:36:16.3748976Z remote: Counting objects: 57% (7153/12549) +2022-10-27T05:36:16.3752389Z remote: Counting objects: 58% (7279/12549) +2022-10-27T05:36:16.3753090Z remote: Counting objects: 59% (7404/12549) +2022-10-27T05:36:16.3753587Z remote: Counting objects: 60% (7530/12549) +2022-10-27T05:36:16.3753969Z remote: Counting objects: 61% (7655/12549) +2022-10-27T05:36:16.3755897Z remote: Counting objects: 62% (7781/12549) +2022-10-27T05:36:16.3758566Z remote: Counting objects: 63% (7906/12549) +2022-10-27T05:36:16.3760370Z remote: Counting objects: 64% (8032/12549) +2022-10-27T05:36:16.3763888Z remote: Counting objects: 65% (8157/12549) +2022-10-27T05:36:16.3765292Z remote: Counting objects: 66% (8283/12549) +2022-10-27T05:36:16.3765656Z remote: Counting objects: 67% (8408/12549) +2022-10-27T05:36:16.3767729Z remote: Counting objects: 68% (8534/12549) +2022-10-27T05:36:16.3769245Z remote: Counting objects: 69% (8659/12549) +2022-10-27T05:36:16.3772503Z remote: Counting objects: 70% (8785/12549) +2022-10-27T05:36:16.3773802Z remote: Counting objects: 71% (8910/12549) +2022-10-27T05:36:16.3774655Z remote: Counting objects: 72% (9036/12549) +2022-10-27T05:36:16.3775188Z remote: Counting objects: 73% (9161/12549) +2022-10-27T05:36:16.3778186Z remote: Counting objects: 74% (9287/12549) +2022-10-27T05:36:16.3778933Z remote: Counting objects: 75% (9412/12549) +2022-10-27T05:36:16.3780943Z remote: Counting objects: 76% (9538/12549) +2022-10-27T05:36:16.3781397Z remote: Counting objects: 77% (9663/12549) +2022-10-27T05:36:16.3782023Z remote: Counting objects: 78% (9789/12549) +2022-10-27T05:36:16.3782511Z remote: Counting objects: 79% (9914/12549) +2022-10-27T05:36:16.3784693Z remote: Counting objects: 80% (10040/12549) +2022-10-27T05:36:16.3785644Z remote: Counting objects: 81% (10165/12549) +2022-10-27T05:36:16.3786373Z remote: Counting objects: 82% (10291/12549) +2022-10-27T05:36:16.3787171Z remote: Counting objects: 83% (10416/12549) +2022-10-27T05:36:16.3788291Z remote: Counting objects: 84% (10542/12549) +2022-10-27T05:36:16.3789701Z remote: Counting objects: 85% (10667/12549) +2022-10-27T05:36:16.3791529Z remote: Counting objects: 86% (10793/12549) +2022-10-27T05:36:16.3792061Z remote: Counting objects: 87% (10918/12549) +2022-10-27T05:36:16.3792440Z remote: Counting objects: 88% (11044/12549) +2022-10-27T05:36:16.3792863Z remote: Counting objects: 89% (11169/12549) +2022-10-27T05:36:16.3793298Z remote: Counting objects: 90% (11295/12549) +2022-10-27T05:36:16.3795291Z remote: Counting objects: 91% (11420/12549) +2022-10-27T05:36:16.3796533Z remote: Counting objects: 92% (11546/12549) +2022-10-27T05:36:16.3804544Z remote: Counting objects: 93% (11671/12549) +2022-10-27T05:36:16.3804980Z remote: Counting objects: 94% (11797/12549) +2022-10-27T05:36:16.3809019Z remote: Counting objects: 95% (11922/12549) +2022-10-27T05:36:16.3812297Z remote: Counting objects: 96% (12048/12549) +2022-10-27T05:36:16.3812832Z remote: Counting objects: 97% (12173/12549) +2022-10-27T05:36:16.3813378Z remote: Counting objects: 98% (12299/12549) +2022-10-27T05:36:16.3822622Z remote: Counting objects: 99% (12424/12549) +2022-10-27T05:36:16.3823331Z remote: Counting objects: 100% (12549/12549) +2022-10-27T05:36:16.3823824Z remote: Counting objects: 100% (12549/12549), done. +2022-10-27T05:36:16.4028339Z remote: Compressing objects: 0% (1/10965) +2022-10-27T05:36:16.4147149Z remote: Compressing objects: 1% (110/10965) +2022-10-27T05:36:16.4301715Z remote: Compressing objects: 2% (220/10965) +2022-10-27T05:36:16.4468059Z remote: Compressing objects: 3% (329/10965) +2022-10-27T05:36:16.4473482Z remote: Compressing objects: 4% (439/10965) +2022-10-27T05:36:16.4543661Z remote: Compressing objects: 5% (549/10965) +2022-10-27T05:36:16.4673953Z remote: Compressing objects: 6% (658/10965) +2022-10-27T05:36:16.4966036Z remote: Compressing objects: 7% (768/10965) +2022-10-27T05:36:16.5309645Z remote: Compressing objects: 8% (878/10965) +2022-10-27T05:36:16.5681068Z remote: Compressing objects: 9% (987/10965) +2022-10-27T05:36:16.6184895Z remote: Compressing objects: 10% (1097/10965) +2022-10-27T05:36:17.1107044Z remote: Compressing objects: 11% (1207/10965) +2022-10-27T05:36:17.2060689Z remote: Compressing objects: 12% (1316/10965) +2022-10-27T05:36:17.3922950Z remote: Compressing objects: 13% (1426/10965) +2022-10-27T05:36:17.3936933Z remote: Compressing objects: 13% (1501/10965) +2022-10-27T05:36:17.4040840Z remote: Compressing objects: 14% (1536/10965) +2022-10-27T05:36:17.4460571Z remote: Compressing objects: 15% (1645/10965) +2022-10-27T05:36:17.4619358Z remote: Compressing objects: 16% (1755/10965) +2022-10-27T05:36:17.4790041Z remote: Compressing objects: 17% (1865/10965) +2022-10-27T05:36:17.4934830Z remote: Compressing objects: 18% (1974/10965) +2022-10-27T05:36:17.5257200Z remote: Compressing objects: 19% (2084/10965) +2022-10-27T05:36:17.5516516Z remote: Compressing objects: 20% (2193/10965) +2022-10-27T05:36:17.5561317Z remote: Compressing objects: 21% (2303/10965) +2022-10-27T05:36:17.5795622Z remote: Compressing objects: 22% (2413/10965) +2022-10-27T05:36:17.6401406Z remote: Compressing objects: 23% (2522/10965) +2022-10-27T05:36:17.6654061Z remote: Compressing objects: 24% (2632/10965) +2022-10-27T05:36:17.6828486Z remote: Compressing objects: 25% (2742/10965) +2022-10-27T05:36:17.7044480Z remote: Compressing objects: 26% (2851/10965) +2022-10-27T05:36:17.7222440Z remote: Compressing objects: 27% (2961/10965) +2022-10-27T05:36:17.7713784Z remote: Compressing objects: 28% (3071/10965) +2022-10-27T05:36:17.7980639Z remote: Compressing objects: 29% (3180/10965) +2022-10-27T05:36:17.8260312Z remote: Compressing objects: 30% (3290/10965) +2022-10-27T05:36:17.8653550Z remote: Compressing objects: 31% (3400/10965) +2022-10-27T05:36:17.8786759Z remote: Compressing objects: 32% (3509/10965) +2022-10-27T05:36:17.9127781Z remote: Compressing objects: 33% (3619/10965) +2022-10-27T05:36:17.9521720Z remote: Compressing objects: 34% (3729/10965) +2022-10-27T05:36:17.9910080Z remote: Compressing objects: 35% (3838/10965) +2022-10-27T05:36:18.0204335Z remote: Compressing objects: 36% (3948/10965) +2022-10-27T05:36:18.0597196Z remote: Compressing objects: 37% (4058/10965) +2022-10-27T05:36:18.0964696Z remote: Compressing objects: 38% (4167/10965) +2022-10-27T05:36:18.1358555Z remote: Compressing objects: 39% (4277/10965) +2022-10-27T05:36:18.1549596Z remote: Compressing objects: 40% (4386/10965) +2022-10-27T05:36:18.1861724Z remote: Compressing objects: 41% (4496/10965) +2022-10-27T05:36:18.2100005Z remote: Compressing objects: 42% (4606/10965) +2022-10-27T05:36:18.2479949Z remote: Compressing objects: 43% (4715/10965) +2022-10-27T05:36:18.2787209Z remote: Compressing objects: 44% (4825/10965) +2022-10-27T05:36:18.3002217Z remote: Compressing objects: 45% (4935/10965) +2022-10-27T05:36:18.3304059Z remote: Compressing objects: 46% (5044/10965) +2022-10-27T05:36:18.3627827Z remote: Compressing objects: 47% (5154/10965) +2022-10-27T05:36:18.3769101Z remote: Compressing objects: 48% (5264/10965) +2022-10-27T05:36:18.3833369Z remote: Compressing objects: 49% (5373/10965) +2022-10-27T05:36:18.4021233Z remote: Compressing objects: 49% (5403/10965) +2022-10-27T05:36:18.4232973Z remote: Compressing objects: 50% (5483/10965) +2022-10-27T05:36:18.4496802Z remote: Compressing objects: 51% (5593/10965) +2022-10-27T05:36:18.4760000Z remote: Compressing objects: 52% (5702/10965) +2022-10-27T05:36:18.5061635Z remote: Compressing objects: 53% (5812/10965) +2022-10-27T05:36:18.5273446Z remote: Compressing objects: 54% (5922/10965) +2022-10-27T05:36:18.5546118Z remote: Compressing objects: 55% (6031/10965) +2022-10-27T05:36:18.5809381Z remote: Compressing objects: 56% (6141/10965) +2022-10-27T05:36:18.6147456Z remote: Compressing objects: 57% (6251/10965) +2022-10-27T05:36:18.6311320Z remote: Compressing objects: 58% (6360/10965) +2022-10-27T05:36:18.6614446Z remote: Compressing objects: 59% (6470/10965) +2022-10-27T05:36:18.6930160Z remote: Compressing objects: 60% (6579/10965) +2022-10-27T05:36:18.7250175Z remote: Compressing objects: 61% (6689/10965) +2022-10-27T05:36:18.7426580Z remote: Compressing objects: 62% (6799/10965) +2022-10-27T05:36:18.7654931Z remote: Compressing objects: 63% (6908/10965) +2022-10-27T05:36:18.8010761Z remote: Compressing objects: 64% (7018/10965) +2022-10-27T05:36:18.8152846Z remote: Compressing objects: 65% (7128/10965) +2022-10-27T05:36:18.8473982Z remote: Compressing objects: 66% (7237/10965) +2022-10-27T05:36:18.8539428Z remote: Compressing objects: 67% (7347/10965) +2022-10-27T05:36:18.8540163Z remote: Compressing objects: 68% (7457/10965) +2022-10-27T05:36:18.8621595Z remote: Compressing objects: 69% (7566/10965) +2022-10-27T05:36:18.8622122Z remote: Compressing objects: 70% (7676/10965) +2022-10-27T05:36:18.8625855Z remote: Compressing objects: 71% (7786/10965) +2022-10-27T05:36:18.8626847Z remote: Compressing objects: 72% (7895/10965) +2022-10-27T05:36:18.8627930Z remote: Compressing objects: 73% (8005/10965) +2022-10-27T05:36:18.8629224Z remote: Compressing objects: 74% (8115/10965) +2022-10-27T05:36:18.8630011Z remote: Compressing objects: 75% (8224/10965) +2022-10-27T05:36:18.8630611Z remote: Compressing objects: 76% (8334/10965) +2022-10-27T05:36:18.8658429Z remote: Compressing objects: 77% (8444/10965) +2022-10-27T05:36:18.8659128Z remote: Compressing objects: 78% (8553/10965) +2022-10-27T05:36:18.8659555Z remote: Compressing objects: 79% (8663/10965) +2022-10-27T05:36:18.8688825Z remote: Compressing objects: 80% (8772/10965) +2022-10-27T05:36:18.8779984Z remote: Compressing objects: 81% (8882/10965) +2022-10-27T05:36:18.8780591Z remote: Compressing objects: 82% (8992/10965) +2022-10-27T05:36:18.8839685Z remote: Compressing objects: 83% (9101/10965) +2022-10-27T05:36:18.8906377Z remote: Compressing objects: 84% (9211/10965) +2022-10-27T05:36:18.8909267Z remote: Compressing objects: 85% (9321/10965) +2022-10-27T05:36:18.8909956Z remote: Compressing objects: 86% (9430/10965) +2022-10-27T05:36:18.8910536Z remote: Compressing objects: 87% (9540/10965) +2022-10-27T05:36:18.8911145Z remote: Compressing objects: 88% (9650/10965) +2022-10-27T05:36:18.8911776Z remote: Compressing objects: 89% (9759/10965) +2022-10-27T05:36:18.8951128Z remote: Compressing objects: 90% (9869/10965) +2022-10-27T05:36:18.9127733Z remote: Compressing objects: 91% (9979/10965) +2022-10-27T05:36:18.9128171Z remote: Compressing objects: 92% (10088/10965) +2022-10-27T05:36:18.9128609Z remote: Compressing objects: 93% (10198/10965) +2022-10-27T05:36:18.9133927Z remote: Compressing objects: 94% (10308/10965) +2022-10-27T05:36:18.9152257Z remote: Compressing objects: 95% (10417/10965) +2022-10-27T05:36:18.9166692Z remote: Compressing objects: 96% (10527/10965) +2022-10-27T05:36:18.9178013Z remote: Compressing objects: 97% (10637/10965) +2022-10-27T05:36:18.9188202Z remote: Compressing objects: 98% (10746/10965) +2022-10-27T05:36:18.9202595Z remote: Compressing objects: 99% (10856/10965) +2022-10-27T05:36:18.9203422Z remote: Compressing objects: 100% (10965/10965) +2022-10-27T05:36:18.9204293Z remote: Compressing objects: 100% (10965/10965), done. +2022-10-27T05:36:18.9643118Z Receiving objects: 0% (1/12549) +2022-10-27T05:36:19.5343020Z Receiving objects: 1% (126/12549) +2022-10-27T05:36:19.5547619Z Receiving objects: 2% (251/12549), 1.75 MiB | 3.48 MiB/s +2022-10-27T05:36:19.6802499Z Receiving objects: 3% (377/12549), 1.75 MiB | 3.48 MiB/s +2022-10-27T05:36:19.6848774Z Receiving objects: 4% (502/12549), 1.75 MiB | 3.48 MiB/s +2022-10-27T05:36:19.6918314Z Receiving objects: 5% (628/12549), 1.75 MiB | 3.48 MiB/s +2022-10-27T05:36:19.7013063Z Receiving objects: 6% (753/12549), 1.75 MiB | 3.48 MiB/s +2022-10-27T05:36:19.7286047Z Receiving objects: 7% (879/12549), 1.75 MiB | 3.48 MiB/s +2022-10-27T05:36:19.7436763Z Receiving objects: 8% (1004/12549), 1.75 MiB | 3.48 MiB/s +2022-10-27T05:36:19.7550028Z Receiving objects: 9% (1130/12549), 1.75 MiB | 3.48 MiB/s +2022-10-27T05:36:19.7787460Z Receiving objects: 10% (1255/12549), 1.75 MiB | 3.48 MiB/s +2022-10-27T05:36:19.7893592Z Receiving objects: 11% (1381/12549), 1.75 MiB | 3.48 MiB/s +2022-10-27T05:36:19.7964417Z Receiving objects: 12% (1506/12549), 1.75 MiB | 3.48 MiB/s +2022-10-27T05:36:19.7972529Z Receiving objects: 13% (1632/12549), 1.75 MiB | 3.48 MiB/s +2022-10-27T05:36:19.8080879Z Receiving objects: 14% (1757/12549), 1.75 MiB | 3.48 MiB/s +2022-10-27T05:36:19.8345622Z Receiving objects: 15% (1883/12549), 1.75 MiB | 3.48 MiB/s +2022-10-27T05:36:19.8638441Z Receiving objects: 16% (2008/12549), 1.75 MiB | 3.48 MiB/s +2022-10-27T05:36:19.8936447Z Receiving objects: 17% (2134/12549), 1.75 MiB | 3.48 MiB/s +2022-10-27T05:36:19.9178154Z Receiving objects: 18% (2259/12549), 1.75 MiB | 3.48 MiB/s +2022-10-27T05:36:19.9260786Z Receiving objects: 19% (2385/12549), 1.75 MiB | 3.48 MiB/s +2022-10-27T05:36:19.9393291Z Receiving objects: 19% (2435/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:19.9632368Z Receiving objects: 20% (2510/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:19.9921544Z Receiving objects: 21% (2636/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:20.0107217Z Receiving objects: 22% (2761/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:20.0369762Z Receiving objects: 23% (2887/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:20.0569122Z Receiving objects: 24% (3012/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:20.0723597Z Receiving objects: 25% (3138/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:20.0869934Z Receiving objects: 26% (3263/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:20.1140123Z Receiving objects: 27% (3389/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:20.1316832Z Receiving objects: 28% (3514/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:20.1426255Z Receiving objects: 29% (3640/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:20.1574856Z Receiving objects: 30% (3765/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:20.1690424Z Receiving objects: 31% (3891/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:20.1856759Z Receiving objects: 32% (4016/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:20.2003719Z Receiving objects: 33% (4142/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:20.2128451Z Receiving objects: 34% (4267/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:20.2373132Z Receiving objects: 35% (4393/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:20.2632141Z Receiving objects: 36% (4518/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:20.2939431Z Receiving objects: 37% (4644/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:20.3274915Z Receiving objects: 38% (4769/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:20.3458463Z Receiving objects: 39% (4895/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:20.3681513Z Receiving objects: 40% (5020/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:20.3843488Z Receiving objects: 41% (5146/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:20.4250181Z Receiving objects: 42% (5271/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:20.4536213Z Receiving objects: 43% (5397/12549), 5.83 MiB | 5.83 MiB/s +2022-10-27T05:36:20.4617089Z Receiving objects: 44% (5522/12549), 10.95 MiB | 7.30 MiB/s +2022-10-27T05:36:20.4783619Z Receiving objects: 45% (5648/12549), 10.95 MiB | 7.30 MiB/s +2022-10-27T05:36:20.4859599Z Receiving objects: 46% (5773/12549), 10.95 MiB | 7.30 MiB/s +2022-10-27T05:36:20.4931650Z Receiving objects: 47% (5899/12549), 10.95 MiB | 7.30 MiB/s +2022-10-27T05:36:20.5106605Z Receiving objects: 48% (6024/12549), 10.95 MiB | 7.30 MiB/s +2022-10-27T05:36:20.5200970Z Receiving objects: 49% (6150/12549), 10.95 MiB | 7.30 MiB/s +2022-10-27T05:36:20.5422557Z Receiving objects: 50% (6275/12549), 10.95 MiB | 7.30 MiB/s +2022-10-27T05:36:20.6547058Z Receiving objects: 51% (6400/12549), 10.95 MiB | 7.30 MiB/s +2022-10-27T05:36:21.0443771Z Receiving objects: 52% (6526/12549), 10.95 MiB | 7.30 MiB/s +2022-10-27T05:36:21.1817778Z Receiving objects: 52% (6647/12549), 28.68 MiB | 13.54 MiB/s +2022-10-27T05:36:21.2302284Z Receiving objects: 53% (6651/12549), 28.68 MiB | 13.54 MiB/s +2022-10-27T05:36:21.2489598Z Receiving objects: 54% (6777/12549), 28.68 MiB | 13.54 MiB/s +2022-10-27T05:36:21.3284868Z Receiving objects: 55% (6902/12549), 28.68 MiB | 13.54 MiB/s +2022-10-27T05:36:21.3646886Z Receiving objects: 56% (7028/12549), 28.68 MiB | 13.54 MiB/s +2022-10-27T05:36:21.3983650Z Receiving objects: 57% (7153/12549), 28.68 MiB | 13.54 MiB/s +2022-10-27T05:36:21.4349926Z Receiving objects: 58% (7279/12549), 28.68 MiB | 13.54 MiB/s +2022-10-27T05:36:21.4697848Z Receiving objects: 59% (7404/12549), 28.68 MiB | 13.54 MiB/s +2022-10-27T05:36:21.4885011Z Receiving objects: 60% (7530/12549), 28.68 MiB | 13.54 MiB/s +2022-10-27T05:36:21.5194540Z Receiving objects: 61% (7655/12549), 28.68 MiB | 13.54 MiB/s +2022-10-27T05:36:21.9296042Z Receiving objects: 62% (7781/12549), 28.68 MiB | 13.54 MiB/s +2022-10-27T05:36:21.9417402Z Receiving objects: 62% (7892/12549), 52.44 MiB | 18.21 MiB/s +2022-10-27T05:36:22.2486679Z Receiving objects: 63% (7906/12549), 52.44 MiB | 18.21 MiB/s +2022-10-27T05:36:22.6090348Z Receiving objects: 64% (8032/12549), 52.44 MiB | 18.21 MiB/s +2022-10-27T05:36:22.6661080Z Receiving objects: 65% (8157/12549), 75.07 MiB | 22.21 MiB/s +2022-10-27T05:36:22.7208247Z Receiving objects: 66% (8283/12549), 75.07 MiB | 22.21 MiB/s +2022-10-27T05:36:22.7863776Z Receiving objects: 67% (8408/12549), 75.07 MiB | 22.21 MiB/s +2022-10-27T05:36:22.8373169Z Receiving objects: 68% (8534/12549), 75.07 MiB | 22.21 MiB/s +2022-10-27T05:36:22.8956416Z Receiving objects: 69% (8659/12549), 101.16 MiB | 26.07 MiB/s +2022-10-27T05:36:22.9260929Z Receiving objects: 70% (8785/12549), 101.16 MiB | 26.07 MiB/s +2022-10-27T05:36:22.9590581Z Receiving objects: 70% (8837/12549), 101.16 MiB | 26.07 MiB/s +2022-10-27T05:36:23.0657790Z Receiving objects: 71% (8910/12549), 101.16 MiB | 26.07 MiB/s +2022-10-27T05:36:23.0903691Z Receiving objects: 72% (9036/12549), 101.16 MiB | 26.07 MiB/s +2022-10-27T05:36:23.0992227Z Receiving objects: 73% (9161/12549), 101.16 MiB | 26.07 MiB/s +2022-10-27T05:36:23.1133106Z Receiving objects: 74% (9287/12549), 101.16 MiB | 26.07 MiB/s +2022-10-27T05:36:23.1304261Z Receiving objects: 75% (9412/12549), 101.16 MiB | 26.07 MiB/s +2022-10-27T05:36:23.1587550Z Receiving objects: 76% (9538/12549), 101.16 MiB | 26.07 MiB/s +2022-10-27T05:36:23.2736992Z Receiving objects: 77% (9663/12549), 101.16 MiB | 26.07 MiB/s +2022-10-27T05:36:23.2740076Z Receiving objects: 78% (9789/12549), 101.16 MiB | 26.07 MiB/s +2022-10-27T05:36:23.2994632Z Receiving objects: 79% (9914/12549), 101.16 MiB | 26.07 MiB/s +2022-10-27T05:36:23.3419146Z Receiving objects: 80% (10040/12549), 101.16 MiB | 26.07 MiB/s +2022-10-27T05:36:23.3507115Z Receiving objects: 81% (10165/12549), 126.98 MiB | 28.99 MiB/s +2022-10-27T05:36:23.3603382Z Receiving objects: 82% (10291/12549), 126.98 MiB | 28.99 MiB/s +2022-10-27T05:36:23.3686272Z Receiving objects: 83% (10416/12549), 126.98 MiB | 28.99 MiB/s +2022-10-27T05:36:23.3750488Z Receiving objects: 84% (10542/12549), 126.98 MiB | 28.99 MiB/s +2022-10-27T05:36:23.3820341Z Receiving objects: 85% (10667/12549), 126.98 MiB | 28.99 MiB/s +2022-10-27T05:36:23.3895988Z Receiving objects: 86% (10793/12549), 126.98 MiB | 28.99 MiB/s +2022-10-27T05:36:23.3970448Z Receiving objects: 87% (10918/12549), 126.98 MiB | 28.99 MiB/s +2022-10-27T05:36:23.4142134Z Receiving objects: 88% (11044/12549), 126.98 MiB | 28.99 MiB/s +2022-10-27T05:36:23.4796088Z Receiving objects: 89% (11169/12549), 126.98 MiB | 28.99 MiB/s +2022-10-27T05:36:23.5287511Z Receiving objects: 90% (11295/12549), 126.98 MiB | 28.99 MiB/s +2022-10-27T05:36:23.5336228Z Receiving objects: 91% (11420/12549), 126.98 MiB | 28.99 MiB/s +2022-10-27T05:36:23.5378046Z Receiving objects: 92% (11546/12549), 126.98 MiB | 28.99 MiB/s +2022-10-27T05:36:23.5440975Z Receiving objects: 93% (11671/12549), 126.98 MiB | 28.99 MiB/s +2022-10-27T05:36:23.5509602Z Receiving objects: 94% (11797/12549), 126.98 MiB | 28.99 MiB/s +2022-10-27T05:36:23.5572754Z Receiving objects: 95% (11922/12549), 126.98 MiB | 28.99 MiB/s +2022-10-27T05:36:23.5615446Z Receiving objects: 96% (12048/12549), 126.98 MiB | 28.99 MiB/s +2022-10-27T05:36:23.5654171Z Receiving objects: 97% (12173/12549), 126.98 MiB | 28.99 MiB/s +2022-10-27T05:36:23.5827062Z Receiving objects: 98% (12299/12549), 126.98 MiB | 28.99 MiB/s +2022-10-27T05:36:23.5872285Z Receiving objects: 99% (12424/12549), 126.98 MiB | 28.99 MiB/s +2022-10-27T05:36:23.5873322Z remote: Total 12549 (delta 1601), reused 7183 (delta 1450), pack-reused 0 +2022-10-27T05:36:23.5902379Z Receiving objects: 100% (12549/12549), 126.98 MiB | 28.99 MiB/s +2022-10-27T05:36:23.5903011Z Receiving objects: 100% (12549/12549), 139.13 MiB | 29.83 MiB/s, done. +2022-10-27T05:36:23.5950353Z Resolving deltas: 0% (0/1601) +2022-10-27T05:36:23.6009625Z Resolving deltas: 1% (17/1601) +2022-10-27T05:36:23.6040033Z Resolving deltas: 2% (33/1601) +2022-10-27T05:36:23.6057851Z Resolving deltas: 3% (49/1601) +2022-10-27T05:36:23.6072426Z Resolving deltas: 4% (65/1601) +2022-10-27T05:36:23.6083467Z Resolving deltas: 5% (81/1601) +2022-10-27T05:36:23.6093371Z Resolving deltas: 6% (97/1601) +2022-10-27T05:36:23.6106250Z Resolving deltas: 7% (113/1601) +2022-10-27T05:36:23.6119016Z Resolving deltas: 8% (129/1601) +2022-10-27T05:36:23.6129503Z Resolving deltas: 9% (145/1601) +2022-10-27T05:36:23.6155198Z Resolving deltas: 10% (161/1601) +2022-10-27T05:36:23.6353928Z Resolving deltas: 11% (177/1601) +2022-10-27T05:36:23.6373203Z Resolving deltas: 12% (193/1601) +2022-10-27T05:36:23.6378714Z Resolving deltas: 13% (209/1601) +2022-10-27T05:36:23.6386654Z Resolving deltas: 14% (225/1601) +2022-10-27T05:36:23.6389141Z Resolving deltas: 15% (241/1601) +2022-10-27T05:36:23.6389674Z Resolving deltas: 16% (257/1601) +2022-10-27T05:36:23.6392302Z Resolving deltas: 17% (273/1601) +2022-10-27T05:36:23.6392861Z Resolving deltas: 18% (289/1601) +2022-10-27T05:36:23.6394168Z Resolving deltas: 19% (305/1601) +2022-10-27T05:36:23.6394627Z Resolving deltas: 20% (321/1601) +2022-10-27T05:36:23.6395739Z Resolving deltas: 21% (337/1601) +2022-10-27T05:36:23.6397738Z Resolving deltas: 22% (353/1601) +2022-10-27T05:36:23.6418913Z Resolving deltas: 23% (369/1601) +2022-10-27T05:36:23.6431860Z Resolving deltas: 24% (385/1601) +2022-10-27T05:36:23.6445159Z Resolving deltas: 25% (401/1601) +2022-10-27T05:36:23.6470106Z Resolving deltas: 26% (417/1601) +2022-10-27T05:36:23.6478765Z Resolving deltas: 27% (433/1601) +2022-10-27T05:36:23.6488812Z Resolving deltas: 28% (449/1601) +2022-10-27T05:36:23.6536619Z Resolving deltas: 29% (465/1601) +2022-10-27T05:36:23.6642121Z Resolving deltas: 30% (481/1601) +2022-10-27T05:36:23.6649990Z Resolving deltas: 31% (497/1601) +2022-10-27T05:36:23.6667237Z Resolving deltas: 32% (513/1601) +2022-10-27T05:36:23.6686758Z Resolving deltas: 33% (529/1601) +2022-10-27T05:36:23.6707887Z Resolving deltas: 34% (545/1601) +2022-10-27T05:36:23.6725136Z Resolving deltas: 35% (561/1601) +2022-10-27T05:36:23.6748072Z Resolving deltas: 36% (577/1601) +2022-10-27T05:36:23.6779790Z Resolving deltas: 37% (593/1601) +2022-10-27T05:36:23.6799195Z Resolving deltas: 38% (609/1601) +2022-10-27T05:36:23.6806737Z Resolving deltas: 39% (625/1601) +2022-10-27T05:36:23.6807261Z Resolving deltas: 40% (641/1601) +2022-10-27T05:36:23.6808652Z Resolving deltas: 41% (657/1601) +2022-10-27T05:36:23.6809133Z Resolving deltas: 42% (673/1601) +2022-10-27T05:36:23.6810413Z Resolving deltas: 43% (689/1601) +2022-10-27T05:36:23.6810931Z Resolving deltas: 44% (705/1601) +2022-10-27T05:36:23.6813160Z Resolving deltas: 45% (721/1601) +2022-10-27T05:36:23.6813648Z Resolving deltas: 46% (737/1601) +2022-10-27T05:36:23.6815230Z Resolving deltas: 47% (753/1601) +2022-10-27T05:36:23.6815825Z Resolving deltas: 48% (769/1601) +2022-10-27T05:36:23.6816545Z Resolving deltas: 49% (785/1601) +2022-10-27T05:36:23.6816996Z Resolving deltas: 50% (801/1601) +2022-10-27T05:36:23.6820662Z Resolving deltas: 51% (817/1601) +2022-10-27T05:36:23.6826869Z Resolving deltas: 52% (833/1601) +2022-10-27T05:36:23.6834350Z Resolving deltas: 53% (849/1601) +2022-10-27T05:36:23.6838690Z Resolving deltas: 54% (865/1601) +2022-10-27T05:36:23.6901937Z Resolving deltas: 55% (881/1601) +2022-10-27T05:36:23.6910273Z Resolving deltas: 56% (897/1601) +2022-10-27T05:36:23.6914911Z Resolving deltas: 57% (913/1601) +2022-10-27T05:36:23.6919959Z Resolving deltas: 58% (929/1601) +2022-10-27T05:36:23.6925039Z Resolving deltas: 59% (945/1601) +2022-10-27T05:36:23.6930423Z Resolving deltas: 60% (961/1601) +2022-10-27T05:36:23.6936636Z Resolving deltas: 61% (977/1601) +2022-10-27T05:36:23.6940948Z Resolving deltas: 62% (993/1601) +2022-10-27T05:36:23.6945203Z Resolving deltas: 63% (1009/1601) +2022-10-27T05:36:23.6950455Z Resolving deltas: 64% (1025/1601) +2022-10-27T05:36:23.6955894Z Resolving deltas: 65% (1041/1601) +2022-10-27T05:36:23.6963475Z Resolving deltas: 66% (1057/1601) +2022-10-27T05:36:23.6971175Z Resolving deltas: 67% (1073/1601) +2022-10-27T05:36:23.6976635Z Resolving deltas: 68% (1089/1601) +2022-10-27T05:36:23.6981312Z Resolving deltas: 69% (1105/1601) +2022-10-27T05:36:23.6985904Z Resolving deltas: 70% (1121/1601) +2022-10-27T05:36:23.6992594Z Resolving deltas: 71% (1137/1601) +2022-10-27T05:36:23.6998192Z Resolving deltas: 72% (1153/1601) +2022-10-27T05:36:23.7007380Z Resolving deltas: 73% (1169/1601) +2022-10-27T05:36:23.7011828Z Resolving deltas: 74% (1185/1601) +2022-10-27T05:36:23.7017464Z Resolving deltas: 75% (1201/1601) +2022-10-27T05:36:23.7022072Z Resolving deltas: 76% (1217/1601) +2022-10-27T05:36:23.7028804Z Resolving deltas: 77% (1233/1601) +2022-10-27T05:36:23.7036183Z Resolving deltas: 78% (1249/1601) +2022-10-27T05:36:23.7045495Z Resolving deltas: 79% (1265/1601) +2022-10-27T05:36:23.7053133Z Resolving deltas: 80% (1281/1601) +2022-10-27T05:36:23.7060580Z Resolving deltas: 81% (1297/1601) +2022-10-27T05:36:23.7068147Z Resolving deltas: 82% (1313/1601) +2022-10-27T05:36:23.7076976Z Resolving deltas: 83% (1329/1601) +2022-10-27T05:36:23.7086492Z Resolving deltas: 84% (1345/1601) +2022-10-27T05:36:23.7095647Z Resolving deltas: 85% (1361/1601) +2022-10-27T05:36:23.7105602Z Resolving deltas: 86% (1377/1601) +2022-10-27T05:36:23.7115126Z Resolving deltas: 87% (1393/1601) +2022-10-27T05:36:23.7126091Z Resolving deltas: 88% (1409/1601) +2022-10-27T05:36:23.7140284Z Resolving deltas: 89% (1425/1601) +2022-10-27T05:36:23.7152944Z Resolving deltas: 90% (1441/1601) +2022-10-27T05:36:23.7166471Z Resolving deltas: 91% (1457/1601) +2022-10-27T05:36:23.7182235Z Resolving deltas: 92% (1473/1601) +2022-10-27T05:36:23.7193741Z Resolving deltas: 93% (1489/1601) +2022-10-27T05:36:23.7200908Z Resolving deltas: 94% (1505/1601) +2022-10-27T05:36:23.7206009Z Resolving deltas: 95% (1521/1601) +2022-10-27T05:36:23.7217441Z Resolving deltas: 96% (1537/1601) +2022-10-27T05:36:23.7227139Z Resolving deltas: 97% (1553/1601) +2022-10-27T05:36:23.7232360Z Resolving deltas: 98% (1569/1601) +2022-10-27T05:36:23.7237277Z Resolving deltas: 99% (1585/1601) +2022-10-27T05:36:23.7260045Z Resolving deltas: 100% (1601/1601) +2022-10-27T05:36:23.7260585Z Resolving deltas: 100% (1601/1601), done. +2022-10-27T05:36:24.1836658Z From https://github.com/tgstation/tgstation +2022-10-27T05:36:24.1841998Z * [new ref] deb5c38b8299183d179ee993b8c40179d42cff9b -> pull/70831/merge +2022-10-27T05:36:24.1863576Z ##[endgroup] +2022-10-27T05:36:24.1864401Z ##[group]Determining the checkout info +2022-10-27T05:36:24.1865502Z ##[endgroup] +2022-10-27T05:36:24.1866142Z ##[group]Checking out the ref +2022-10-27T05:36:24.1881799Z [command]/usr/bin/git checkout --progress --force refs/remotes/pull/70831/merge +2022-10-27T05:36:25.2712079Z Updating files: 63% (7341/11578) +2022-10-27T05:36:25.2955103Z Updating files: 64% (7410/11578) +2022-10-27T05:36:25.3182103Z Updating files: 65% (7526/11578) +2022-10-27T05:36:25.3457683Z Updating files: 66% (7642/11578) +2022-10-27T05:36:25.3634985Z Updating files: 67% (7758/11578) +2022-10-27T05:36:25.3911682Z Updating files: 68% (7874/11578) +2022-10-27T05:36:25.4140426Z Updating files: 69% (7989/11578) +2022-10-27T05:36:25.4605828Z Updating files: 70% (8105/11578) +2022-10-27T05:36:25.4694230Z Updating files: 71% (8221/11578) +2022-10-27T05:36:25.4797031Z Updating files: 72% (8337/11578) +2022-10-27T05:36:25.4884154Z Updating files: 73% (8452/11578) +2022-10-27T05:36:25.4964143Z Updating files: 74% (8568/11578) +2022-10-27T05:36:25.5012437Z Updating files: 75% (8684/11578) +2022-10-27T05:36:25.5524946Z Updating files: 76% (8800/11578) +2022-10-27T05:36:25.5631017Z Updating files: 77% (8916/11578) +2022-10-27T05:36:25.5661878Z Updating files: 78% (9031/11578) +2022-10-27T05:36:25.5900449Z Updating files: 79% (9147/11578) +2022-10-27T05:36:25.5995293Z Updating files: 80% (9263/11578) +2022-10-27T05:36:25.6065920Z Updating files: 81% (9379/11578) +2022-10-27T05:36:25.6129511Z Updating files: 82% (9494/11578) +2022-10-27T05:36:25.6183947Z Updating files: 83% (9610/11578) +2022-10-27T05:36:25.6242865Z Updating files: 84% (9726/11578) +2022-10-27T05:36:25.6304255Z Updating files: 85% (9842/11578) +2022-10-27T05:36:25.6362317Z Updating files: 86% (9958/11578) +2022-10-27T05:36:25.6419669Z Updating files: 87% (10073/11578) +2022-10-27T05:36:25.6513754Z Updating files: 88% (10189/11578) +2022-10-27T05:36:25.6719291Z Updating files: 89% (10305/11578) +2022-10-27T05:36:25.6854029Z Updating files: 90% (10421/11578) +2022-10-27T05:36:25.7114915Z Updating files: 91% (10536/11578) +2022-10-27T05:36:25.7172492Z Updating files: 92% (10652/11578) +2022-10-27T05:36:25.7239118Z Updating files: 93% (10768/11578) +2022-10-27T05:36:25.7311506Z Updating files: 94% (10884/11578) +2022-10-27T05:36:25.7377728Z Updating files: 95% (11000/11578) +2022-10-27T05:36:25.7429645Z Updating files: 96% (11115/11578) +2022-10-27T05:36:25.7489697Z Updating files: 97% (11231/11578) +2022-10-27T05:36:25.7601389Z Updating files: 98% (11347/11578) +2022-10-27T05:36:25.7673788Z Updating files: 99% (11463/11578) +2022-10-27T05:36:25.7674090Z Updating files: 100% (11578/11578) +2022-10-27T05:36:25.7675326Z Updating files: 100% (11578/11578), done. +2022-10-27T05:36:25.7839712Z Note: switching to 'refs/remotes/pull/70831/merge'. +2022-10-27T05:36:25.7840374Z +2022-10-27T05:36:25.7841364Z You are in 'detached HEAD' state. You can look around, make experimental +2022-10-27T05:36:25.7842184Z changes and commit them, and you can discard any commits you make in this +2022-10-27T05:36:25.7842925Z state without impacting any branches by switching back to a branch. +2022-10-27T05:36:25.7843345Z +2022-10-27T05:36:25.7843670Z If you want to create a new branch to retain commits you create, you may +2022-10-27T05:36:25.7844575Z do so (now or later) by using -c with the switch command. Example: +2022-10-27T05:36:25.7844969Z +2022-10-27T05:36:25.7845632Z git switch -c +2022-10-27T05:36:25.7845974Z +2022-10-27T05:36:25.7846184Z Or undo this operation with: +2022-10-27T05:36:25.7846473Z +2022-10-27T05:36:25.7846644Z git switch - +2022-10-27T05:36:25.7846900Z +2022-10-27T05:36:25.7847288Z Turn off this advice by setting config variable advice.detachedHead to false +2022-10-27T05:36:25.7847742Z +2022-10-27T05:36:25.7848217Z HEAD is now at deb5c38 Merge 9618404f9ee7f23400ea062d5dacb13fda53ca75 into 8bb8ca9d67375d0bd58ceacbc6346f9e92fef872 +2022-10-27T05:36:25.7902871Z ##[endgroup] +2022-10-27T05:36:25.7967741Z [command]/usr/bin/git log -1 --format='%H' +2022-10-27T05:36:25.8007456Z 'deb5c38b8299183d179ee993b8c40179d42cff9b' +2022-10-27T05:36:25.8392860Z ##[group]Run actions/cache@v3 +2022-10-27T05:36:25.8393138Z with: +2022-10-27T05:36:25.8393346Z path: ~/BYOND +2022-10-27T05:36:25.8393591Z key: Linux-byond- +2022-10-27T05:36:25.8393834Z ##[endgroup] +2022-10-27T05:36:26.3683068Z Received 4090426 of 4090426 (100.0%), 27.9 MBs/sec +2022-10-27T05:36:26.3684533Z Cache Size: ~4 MB (4090426 B) +2022-10-27T05:36:26.3746779Z [command]/usr/bin/tar --use-compress-program unzstd -xf /home/runner/work/_temp/937f79f1-ebfc-47b7-917c-b2d972625200/cache.tzst -P -C /home/runner/work/tgstation/tgstation +2022-10-27T05:36:26.4280190Z Cache restored successfully +2022-10-27T05:36:26.4546771Z Cache restored from key: Linux-byond- +2022-10-27T05:36:26.4726864Z ##[group]Run sudo systemctl start mysql +2022-10-27T05:36:26.4727297Z sudo systemctl start mysql +2022-10-27T05:36:26.4727646Z mysql -u root -proot -e 'CREATE DATABASE tg_ci;' +2022-10-27T05:36:26.4728040Z mysql -u root -proot tg_ci < SQL/tgstation_schema.sql +2022-10-27T05:36:26.4728458Z mysql -u root -proot -e 'CREATE DATABASE tg_ci_prefixed;' +2022-10-27T05:36:26.4728905Z mysql -u root -proot tg_ci_prefixed < SQL/tgstation_schema_prefixed.sql +2022-10-27T05:36:26.4792977Z shell: /usr/bin/bash -e {0} +2022-10-27T05:36:26.4793288Z ##[endgroup] +2022-10-27T05:36:27.7358559Z mysql: [Warning] Using a password on the command line interface can be insecure. +2022-10-27T05:36:27.7519454Z mysql: [Warning] Using a password on the command line interface can be insecure. +2022-10-27T05:36:28.2899746Z mysql: [Warning] Using a password on the command line interface can be insecure. +2022-10-27T05:36:28.2998385Z mysql: [Warning] Using a password on the command line interface can be insecure. +2022-10-27T05:36:28.8181912Z ##[group]Run sudo dpkg --add-architecture i386 +2022-10-27T05:36:28.8182331Z sudo dpkg --add-architecture i386 +2022-10-27T05:36:28.8182655Z sudo apt update || true +2022-10-27T05:36:28.8183020Z sudo apt install -o APT::Immediate-Configure=false libssl1.1:i386 +2022-10-27T05:36:28.8183412Z bash tools/ci/install_rust_g.sh +2022-10-27T05:36:28.8240260Z shell: /usr/bin/bash -e {0} +2022-10-27T05:36:28.8240552Z ##[endgroup] +2022-10-27T05:36:28.9970393Z +2022-10-27T05:36:28.9971552Z WARNING: apt does not have a stable CLI interface. Use with caution in scripts. +2022-10-27T05:36:28.9972082Z +2022-10-27T05:36:29.1160704Z Hit:1 http://azure.archive.ubuntu.com/ubuntu focal InRelease +2022-10-27T05:36:29.1162032Z Get:2 http://azure.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB] +2022-10-27T05:36:29.1173928Z Get:3 http://azure.archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB] +2022-10-27T05:36:29.1237735Z Get:4 http://azure.archive.ubuntu.com/ubuntu focal-security InRelease [114 kB] +2022-10-27T05:36:29.1254316Z Get:5 https://packages.microsoft.com/ubuntu/20.04/prod focal InRelease [10.5 kB] +2022-10-27T05:36:29.3429595Z Hit:6 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu focal InRelease +2022-10-27T05:36:29.3928104Z Get:7 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [2196 kB] +2022-10-27T05:36:29.4661370Z Get:8 http://azure.archive.ubuntu.com/ubuntu focal-updates/main i386 Packages [745 kB] +2022-10-27T05:36:29.4777864Z Get:9 http://azure.archive.ubuntu.com/ubuntu focal-updates/main Translation-en [385 kB] +2022-10-27T05:36:29.4885520Z Get:10 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 c-n-f Metadata [16.0 kB] +2022-10-27T05:36:29.4922985Z Get:11 http://azure.archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packages [1381 kB] +2022-10-27T05:36:29.5179949Z Get:12 http://azure.archive.ubuntu.com/ubuntu focal-updates/restricted i386 Packages [26.6 kB] +2022-10-27T05:36:29.5181037Z Get:13 http://azure.archive.ubuntu.com/ubuntu focal-updates/restricted Translation-en [196 kB] +2022-10-27T05:36:29.5217775Z Get:14 http://azure.archive.ubuntu.com/ubuntu focal-updates/restricted amd64 c-n-f Metadata [600 B] +2022-10-27T05:36:29.5261778Z Get:15 http://azure.archive.ubuntu.com/ubuntu focal-updates/universe i386 Packages [697 kB] +2022-10-27T05:36:29.5395090Z Get:16 http://azure.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [972 kB] +2022-10-27T05:36:29.6000339Z Get:17 http://azure.archive.ubuntu.com/ubuntu focal-updates/universe Translation-en [221 kB] +2022-10-27T05:36:29.6049853Z Get:18 http://azure.archive.ubuntu.com/ubuntu focal-updates/universe amd64 c-n-f Metadata [21.8 kB] +2022-10-27T05:36:29.6070146Z Get:19 http://azure.archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 Packages [29.9 kB] +2022-10-27T05:36:29.6088570Z Get:20 http://azure.archive.ubuntu.com/ubuntu focal-updates/multiverse i386 Packages [9820 B] +2022-10-27T05:36:29.6106647Z Get:21 http://azure.archive.ubuntu.com/ubuntu focal-updates/multiverse Translation-en [7940 B] +2022-10-27T05:36:29.6123231Z Get:22 http://azure.archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 c-n-f Metadata [664 B] +2022-10-27T05:36:29.6149675Z Get:23 http://azure.archive.ubuntu.com/ubuntu focal-backports/main amd64 Packages [45.7 kB] +2022-10-27T05:36:29.6174434Z Get:24 http://azure.archive.ubuntu.com/ubuntu focal-backports/main i386 Packages [36.1 kB] +2022-10-27T05:36:29.6192255Z Get:25 http://azure.archive.ubuntu.com/ubuntu focal-backports/main amd64 c-n-f Metadata [1420 B] +2022-10-27T05:36:29.6212125Z Get:26 http://azure.archive.ubuntu.com/ubuntu focal-backports/universe i386 Packages [13.5 kB] +2022-10-27T05:36:29.6231501Z Get:27 http://azure.archive.ubuntu.com/ubuntu focal-backports/universe amd64 Packages [23.9 kB] +2022-10-27T05:36:29.6249547Z Get:28 http://azure.archive.ubuntu.com/ubuntu focal-backports/universe amd64 c-n-f Metadata [860 B] +2022-10-27T05:36:29.6279478Z Get:29 https://packages.microsoft.com/ubuntu/20.04/prod focal/main armhf Packages [28.4 kB] +2022-10-27T05:36:29.6299516Z Get:30 https://packages.microsoft.com/ubuntu/20.04/prod focal/main amd64 Packages [200 kB] +2022-10-27T05:36:29.6330517Z Get:31 https://packages.microsoft.com/ubuntu/20.04/prod focal/main arm64 Packages [40.0 kB] +2022-10-27T05:36:29.7542573Z Get:32 http://azure.archive.ubuntu.com/ubuntu focal-security/main amd64 Packages [1821 kB] +2022-10-27T05:36:29.7753589Z Get:33 http://azure.archive.ubuntu.com/ubuntu focal-security/main i386 Packages [514 kB] +2022-10-27T05:36:29.8302849Z Get:34 http://azure.archive.ubuntu.com/ubuntu focal-security/main Translation-en [301 kB] +2022-10-27T05:36:29.8323140Z Get:35 http://azure.archive.ubuntu.com/ubuntu focal-security/main amd64 c-n-f Metadata [11.2 kB] +2022-10-27T05:36:29.8354364Z Get:36 http://azure.archive.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [1289 kB] +2022-10-27T05:36:29.8541844Z Get:37 http://azure.archive.ubuntu.com/ubuntu focal-security/restricted Translation-en [183 kB] +2022-10-27T05:36:29.8606075Z Get:38 http://azure.archive.ubuntu.com/ubuntu focal-security/universe i386 Packages [566 kB] +2022-10-27T05:36:29.8700343Z Get:39 http://azure.archive.ubuntu.com/ubuntu focal-security/universe amd64 Packages [743 kB] +2022-10-27T05:36:29.8786533Z Get:40 http://azure.archive.ubuntu.com/ubuntu focal-security/universe Translation-en [137 kB] +2022-10-27T05:36:29.8822497Z Get:41 http://azure.archive.ubuntu.com/ubuntu focal-security/universe amd64 c-n-f Metadata [15.3 kB] +2022-10-27T05:36:30.0852283Z Get:42 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu focal/main i386 Packages [15.2 kB] +2022-10-27T05:36:40.2623192Z Fetched 13.2 MB in 3s (4825 kB/s) +2022-10-27T05:36:41.6081931Z Reading package lists... +2022-10-27T05:36:41.8619438Z Building dependency tree... +2022-10-27T05:36:41.8635085Z Reading state information... +2022-10-27T05:36:41.9709754Z 40 packages can be upgraded. Run 'apt list --upgradable' to see them. +2022-10-27T05:36:41.9833939Z +2022-10-27T05:36:41.9834743Z WARNING: apt does not have a stable CLI interface. Use with caution in scripts. +2022-10-27T05:36:41.9835161Z +2022-10-27T05:36:42.0520184Z Reading package lists... +2022-10-27T05:36:42.3196647Z Building dependency tree... +2022-10-27T05:36:42.3215128Z Reading state information... +2022-10-27T05:36:42.5269417Z The following additional packages will be installed: +2022-10-27T05:36:42.5270751Z gcc-11-base:i386 libc6:i386 libcrypt1:i386 libgcc-s1 libgcc-s1:i386 +2022-10-27T05:36:42.5273717Z libidn2-0:i386 libunistring2:i386 +2022-10-27T05:36:42.5281075Z Suggested packages: +2022-10-27T05:36:42.5281649Z glibc-doc:i386 locales:i386 +2022-10-27T05:36:42.6054870Z The following NEW packages will be installed: +2022-10-27T05:36:42.6060238Z gcc-11-base:i386 libc6:i386 libcrypt1:i386 libgcc-s1:i386 libidn2-0:i386 +2022-10-27T05:36:42.6065188Z libssl1.1:i386 libunistring2:i386 +2022-10-27T05:36:42.6071434Z The following packages will be upgraded: +2022-10-27T05:36:42.6077741Z libgcc-s1 +2022-10-27T05:36:42.6524605Z 1 upgraded, 7 newly installed, 0 to remove and 39 not upgraded. +2022-10-27T05:36:42.7316437Z Need to get 4528 kB of archives. +2022-10-27T05:36:42.7317772Z After this operation, 19.3 MB of additional disk space will be used. +2022-10-27T05:36:42.7318985Z Get:1 http://azure.archive.ubuntu.com/ubuntu focal/main i386 libcrypt1 i386 1:4.4.10-10ubuntu4 [90.9 kB] +2022-10-27T05:36:42.7516533Z Get:2 http://azure.archive.ubuntu.com/ubuntu focal-updates/main i386 libc6 i386 2.31-0ubuntu9.9 [2580 kB] +2022-10-27T05:36:42.8180039Z Get:3 http://azure.archive.ubuntu.com/ubuntu focal/main i386 libunistring2 i386 0.9.10-2 [377 kB] +2022-10-27T05:36:42.8382506Z Get:4 http://azure.archive.ubuntu.com/ubuntu focal/main i386 libidn2-0 i386 2.2.0-2 [51.4 kB] +2022-10-27T05:36:42.8544550Z Get:5 http://azure.archive.ubuntu.com/ubuntu focal-updates/main i386 libssl1.1 i386 1.1.1f-1ubuntu2.16 [1318 kB] +2022-10-27T05:36:42.8714868Z Get:6 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu focal/main i386 gcc-11-base i386 11.1.0-1ubuntu1~20.04 [19.0 kB] +2022-10-27T05:36:43.1118432Z Get:7 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu focal/main amd64 libgcc-s1 amd64 11.1.0-1ubuntu1~20.04 [42.1 kB] +2022-10-27T05:36:43.3528563Z Get:8 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu focal/main i386 libgcc-s1 i386 11.1.0-1ubuntu1~20.04 [50.0 kB] +2022-10-27T05:36:43.9483382Z Preconfiguring packages ... +2022-10-27T05:36:44.0566590Z Fetched 4528 kB in 1s (5511 kB/s) +2022-10-27T05:36:44.0950557Z Selecting previously unselected package gcc-11-base:i386. +2022-10-27T05:36:44.1257600Z (Reading database ... +2022-10-27T05:36:44.1257941Z (Reading database ... 5% +2022-10-27T05:36:44.1258207Z (Reading database ... 10% +2022-10-27T05:36:44.1258475Z (Reading database ... 15% +2022-10-27T05:36:44.1260572Z (Reading database ... 20% +2022-10-27T05:36:44.1261165Z (Reading database ... 25% +2022-10-27T05:36:44.1261680Z (Reading database ... 30% +2022-10-27T05:36:44.1261936Z (Reading database ... 35% +2022-10-27T05:36:44.1262196Z (Reading database ... 40% +2022-10-27T05:36:44.1262482Z (Reading database ... 45% +2022-10-27T05:36:44.1267425Z (Reading database ... 50% +2022-10-27T05:36:44.1661119Z (Reading database ... 55% +2022-10-27T05:36:44.2102408Z (Reading database ... 60% +2022-10-27T05:36:44.2442960Z (Reading database ... 65% +2022-10-27T05:36:44.3240866Z (Reading database ... 70% +2022-10-27T05:36:44.4296824Z (Reading database ... 75% +2022-10-27T05:36:44.5004841Z (Reading database ... 80% +2022-10-27T05:36:44.5658810Z (Reading database ... 85% +2022-10-27T05:36:44.6401590Z (Reading database ... 90% +2022-10-27T05:36:44.7577336Z (Reading database ... 95% +2022-10-27T05:36:44.7577685Z (Reading database ... 100% +2022-10-27T05:36:44.7578335Z (Reading database ... 242030 files and directories currently installed.) +2022-10-27T05:36:44.7691053Z Preparing to unpack .../0-gcc-11-base_11.1.0-1ubuntu1~20.04_i386.deb ... +2022-10-27T05:36:44.7764075Z Unpacking gcc-11-base:i386 (11.1.0-1ubuntu1~20.04) ... +2022-10-27T05:36:44.8625179Z Preparing to unpack .../1-libgcc-s1_11.1.0-1ubuntu1~20.04_amd64.deb ... +2022-10-27T05:36:44.8693479Z Unpacking libgcc-s1:amd64 (11.1.0-1ubuntu1~20.04) over (10.3.0-1ubuntu1~20.04) ... +2022-10-27T05:36:44.9142991Z Selecting previously unselected package libgcc-s1:i386. +2022-10-27T05:36:44.9390148Z Preparing to unpack .../2-libgcc-s1_11.1.0-1ubuntu1~20.04_i386.deb ... +2022-10-27T05:36:44.9401962Z Unpacking libgcc-s1:i386 (11.1.0-1ubuntu1~20.04) ... +2022-10-27T05:36:44.9820851Z Selecting previously unselected package libcrypt1:i386. +2022-10-27T05:36:45.0046331Z Preparing to unpack .../3-libcrypt1_1%3a4.4.10-10ubuntu4_i386.deb ... +2022-10-27T05:36:45.0084974Z Unpacking libcrypt1:i386 (1:4.4.10-10ubuntu4) ... +2022-10-27T05:36:45.0740528Z Selecting previously unselected package libc6:i386. +2022-10-27T05:36:45.1001786Z Preparing to unpack .../4-libc6_2.31-0ubuntu9.9_i386.deb ... +2022-10-27T05:36:45.2548577Z Unpacking libc6:i386 (2.31-0ubuntu9.9) ... +2022-10-27T05:36:45.5789406Z Replacing files in old package libc6-i386 (2.31-0ubuntu9.9) ... +2022-10-27T05:36:45.6171109Z Selecting previously unselected package libunistring2:i386. +2022-10-27T05:36:45.6439642Z Preparing to unpack .../5-libunistring2_0.9.10-2_i386.deb ... +2022-10-27T05:36:45.6457939Z Unpacking libunistring2:i386 (0.9.10-2) ... +2022-10-27T05:36:45.7367630Z Selecting previously unselected package libidn2-0:i386. +2022-10-27T05:36:45.7631354Z Preparing to unpack .../6-libidn2-0_2.2.0-2_i386.deb ... +2022-10-27T05:36:45.7646777Z Unpacking libidn2-0:i386 (2.2.0-2) ... +2022-10-27T05:36:45.8312915Z Selecting previously unselected package libssl1.1:i386. +2022-10-27T05:36:45.8579345Z Preparing to unpack .../7-libssl1.1_1.1.1f-1ubuntu2.16_i386.deb ... +2022-10-27T05:36:45.8593568Z Unpacking libssl1.1:i386 (1.1.1f-1ubuntu2.16) ... +2022-10-27T05:36:46.0508711Z Setting up gcc-11-base:i386 (11.1.0-1ubuntu1~20.04) ... +2022-10-27T05:36:46.0569280Z Setting up libgcc-s1:amd64 (11.1.0-1ubuntu1~20.04) ... +2022-10-27T05:36:46.0623686Z Setting up libgcc-s1:i386 (11.1.0-1ubuntu1~20.04) ... +2022-10-27T05:36:46.0684045Z Setting up libcrypt1:i386 (1:4.4.10-10ubuntu4) ... +2022-10-27T05:36:46.0722619Z Setting up libc6:i386 (2.31-0ubuntu9.9) ... +2022-10-27T05:36:46.3144297Z Setting up libssl1.1:i386 (1.1.1f-1ubuntu2.16) ... +2022-10-27T05:36:46.4510680Z Setting up libunistring2:i386 (0.9.10-2) ... +2022-10-27T05:36:46.4557850Z Setting up libidn2-0:i386 (2.2.0-2) ... +2022-10-27T05:36:46.4635629Z Processing triggers for libc-bin (2.31-0ubuntu9.9) ... +2022-10-27T05:36:49.2567467Z 2022-10-27 05:36:49 URL:https://objects.githubusercontent.com/github-production-release-asset-2e65be/127494547/e00cfb90-5ecf-4a55-a41c-c1e4899def3b?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20221027%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221027T053639Z&X-Amz-Expires=300&X-Amz-Signature=ad13811b53df08aab94680ba4bde27d347cafd7f9230584b43dd2d8d4a61a8be&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=127494547&response-content-disposition=attachment%3B%20filename%3Dlibrust_g.so&response-content-type=application%2Foctet-stream [10822488/10822488] -> "/home/runner/.byond/bin/librust_g.so" [1] +2022-10-27T05:36:49.2675883Z linux-gate.so.1 (0xf7ef1000) +2022-10-27T05:36:49.2679615Z libssl.so.1.1 => /lib/i386-linux-gnu/libssl.so.1.1 (0xf7735000) +2022-10-27T05:36:49.2681965Z libcrypto.so.1.1 => /lib/i386-linux-gnu/libcrypto.so.1.1 (0xf747d000) +2022-10-27T05:36:49.2682327Z libz.so.1 => /lib32/libz.so.1 (0xf745f000) +2022-10-27T05:36:49.2682794Z libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7440000) +2022-10-27T05:36:49.2683314Z libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf741d000) +2022-10-27T05:36:49.2683950Z libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7318000) +2022-10-27T05:36:49.2684513Z libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7312000) +2022-10-27T05:36:49.2685065Z libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7123000) +2022-10-27T05:36:49.2685549Z /lib/ld-linux.so.2 (0xf7ef3000) +2022-10-27T05:36:49.2720426Z ##[group]Run bash tools/ci/install_auxlua.sh +2022-10-27T05:36:49.2720821Z bash tools/ci/install_auxlua.sh +2022-10-27T05:36:49.2778014Z shell: /usr/bin/bash -e {0} +2022-10-27T05:36:49.2778299Z ##[endgroup] +2022-10-27T05:36:49.3631078Z 2022-10-27 05:36:49 URL:https://objects.githubusercontent.com/github-production-release-asset-2e65be/473295481/bb55dc2f-8248-4032-ad66-b80cb61a84f3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20221027%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221027T053639Z&X-Amz-Expires=300&X-Amz-Signature=04365004cef88fe3f1f8b45d89cffc1436482991f928c534963ff890dbc7d62d&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=473295481&response-content-disposition=attachment%3B%20filename%3Dlibauxlua.so&response-content-type=application%2Foctet-stream [5781068/5781068] -> "/home/runner/.byond/bin/libauxlua.so" [1] +2022-10-27T05:36:49.3764506Z linux-gate.so.1 (0xf7f4d000) +2022-10-27T05:36:49.3765376Z libstdc++.so.6 => /lib32/libstdc++.so.6 (0xf7b46000) +2022-10-27T05:36:49.3769032Z libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7b27000) +2022-10-27T05:36:49.3769816Z libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7b04000) +2022-10-27T05:36:49.3772336Z libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf79ff000) +2022-10-27T05:36:49.3773288Z libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf79f9000) +2022-10-27T05:36:49.3773950Z libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf780a000) +2022-10-27T05:36:49.3774971Z /lib/ld-linux.so.2 (0xf7f4f000) +2022-10-27T05:36:49.3802076Z ##[group]Run bash tools/ci/install_byond.sh +2022-10-27T05:36:49.3802456Z bash tools/ci/install_byond.sh +2022-10-27T05:36:49.3802798Z source $HOME/BYOND/byond/bin/byondsetup +2022-10-27T05:36:49.3803186Z tools/build/build --ci dm -DCIBUILDING -DANSICOLORS +2022-10-27T05:36:49.3873455Z shell: /usr/bin/bash -e {0} +2022-10-27T05:36:49.3873887Z ##[endgroup] +2022-10-27T05:36:49.4001691Z Setting up BYOND. +2022-10-27T05:36:49.4159362Z % Total % Received % Xferd Average Speed Time Time Time Current +2022-10-27T05:36:49.4160632Z Dload Upload Total Spent Left Speed +2022-10-27T05:36:49.4160890Z +2022-10-27T05:36:49.5018021Z 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +2022-10-27T05:36:49.5019163Z 100 4021k 100 4021k 0 0 46.1M 0 --:--:-- --:--:-- --:--:-- 46.1M +2022-10-27T05:36:49.5066653Z Archive: byond.zip +2022-10-27T05:36:49.5067255Z creating: byond/ +2022-10-27T05:36:49.5068302Z creating: byond/key/ +2022-10-27T05:36:49.5068798Z creating: byond/web/ +2022-10-27T05:36:49.5070185Z inflating: byond/web/child.dms +2022-10-27T05:36:49.5071730Z inflating: byond/web/button.dms +2022-10-27T05:36:49.5073932Z inflating: byond/web/input.dms +2022-10-27T05:36:49.5074416Z inflating: byond/web/text.dms +2022-10-27T05:36:49.5198750Z inflating: byond/web/webclient.dart.js +2022-10-27T05:36:49.5199410Z inflating: byond/web/verbmenu.dms +2022-10-27T05:36:49.5200216Z inflating: byond/web/defaultSkin.dms +2022-10-27T05:36:49.5201953Z inflating: byond/web/hotbar.dms +2022-10-27T05:36:49.5203581Z inflating: byond/web/label.dms +2022-10-27T05:36:49.5204889Z inflating: byond/web/alert.dms +2022-10-27T05:36:49.5206329Z inflating: byond/web/message.dms +2022-10-27T05:36:49.5207259Z inflating: byond/web/drag.png +2022-10-27T05:36:49.5208742Z inflating: byond/web/map.dms +2022-10-27T05:36:49.5210398Z inflating: byond/web/splashlogo.png +2022-10-27T05:36:49.5210926Z inflating: byond/web/drop.png +2022-10-27T05:36:49.5332544Z inflating: byond/web/ext.js +2022-10-27T05:36:49.5333175Z inflating: byond/web/file.dms +2022-10-27T05:36:49.5334369Z inflating: byond/web/grid.dms +2022-10-27T05:36:49.5336323Z inflating: byond/web/bar.dms +2022-10-27T05:36:49.5339986Z inflating: byond/web/dpad.dms +2022-10-27T05:36:49.5341094Z inflating: byond/web/output.dms +2022-10-27T05:36:49.5343046Z inflating: byond/web/tab.dms +2022-10-27T05:36:49.5345100Z inflating: byond/web/info.dms +2022-10-27T05:36:49.5346744Z inflating: byond/web/color.dms +2022-10-27T05:36:49.5347953Z inflating: byond/web/gamepad.dms +2022-10-27T05:36:49.5349805Z inflating: byond/web/browser.dms +2022-10-27T05:36:49.5350264Z inflating: byond/web/status.dms +2022-10-27T05:36:49.5351241Z inflating: byond/web/any.dms +2022-10-27T05:36:49.5352302Z inflating: byond/web/pane.dms +2022-10-27T05:36:49.5354423Z inflating: byond/web/pop.dms +2022-10-27T05:36:49.5355613Z inflating: byond/license.txt +2022-10-27T05:36:49.5357084Z inflating: byond/legal.txt +2022-10-27T05:36:49.5358519Z inflating: byond/Makefile +2022-10-27T05:36:49.5358970Z creating: byond/man/ +2022-10-27T05:36:49.5359627Z creating: byond/man/man6/ +2022-10-27T05:36:49.5361148Z inflating: byond/man/man6/DreamDaemon.6 +2022-10-27T05:36:49.5361949Z inflating: byond/man/man6/DreamMaker.6 +2022-10-27T05:36:49.5362715Z creating: byond/lib/ +2022-10-27T05:36:49.5362992Z creating: byond/host/ +2022-10-27T05:36:49.5365318Z inflating: byond/host/readme.html +2022-10-27T05:36:49.5366506Z inflating: byond/host/readme-unix.txt +2022-10-27T05:36:49.5366902Z creating: byond/host/home/ +2022-10-27T05:36:49.5367533Z creating: byond/host/home/root/ +2022-10-27T05:36:49.5367822Z creating: byond/host/home/root/byond/ +2022-10-27T05:36:49.5368496Z creating: byond/host/home/root/byond/tools/ +2022-10-27T05:36:49.5369225Z creating: byond/host/home/root/byond/tools/root/ +2022-10-27T05:36:49.5374569Z inflating: byond/host/home/root/byond/tools/root/root.dmb +2022-10-27T05:36:49.5375251Z creating: byond/host/shared/ +2022-10-27T05:36:49.5375559Z creating: byond/host/shared/byond/ +2022-10-27T05:36:49.5376268Z creating: byond/host/shared/byond/tools/ +2022-10-27T05:36:49.5376595Z creating: byond/host/shared/byond/tools/ftp/ +2022-10-27T05:36:49.5379616Z inflating: byond/host/shared/byond/tools/ftp/ftp.dmb +2022-10-27T05:36:49.5380174Z creating: byond/host/shared/byond/tools/admin/ +2022-10-27T05:36:49.5386313Z inflating: byond/host/shared/byond/tools/admin/admin.dmb +2022-10-27T05:36:49.5386945Z creating: byond/host/shared-web/ +2022-10-27T05:36:49.5387681Z creating: byond/host/shared-web/web/ +2022-10-27T05:36:49.5388584Z creating: byond/host/shared-web/web/tools/ +2022-10-27T05:36:49.5389008Z creating: byond/host/shared-web/web/tools/admin/ +2022-10-27T05:36:49.5394728Z inflating: byond/host/shared-web/web/tools/admin/index.dmb +2022-10-27T05:36:49.5403477Z inflating: byond/host/host.dmb +2022-10-27T05:36:49.5403779Z inflating: byond/host/host.start +2022-10-27T05:36:49.5405103Z inflating: byond/host/hostconf.orig +2022-10-27T05:36:49.5406328Z inflating: byond/host/hostconf.txt +2022-10-27T05:36:49.5407507Z inflating: byond/readme.txt +2022-10-27T05:36:49.5407795Z creating: byond/bin/ +2022-10-27T05:36:49.5408558Z inflating: byond/bin/byondexec +2022-10-27T05:36:49.5411293Z inflating: byond/bin/DreamDownload +2022-10-27T05:36:49.6175092Z inflating: byond/bin/libbyond.so +2022-10-27T05:36:49.6348503Z inflating: byond/bin/libext.so +2022-10-27T05:36:49.6351968Z inflating: byond/bin/DreamDaemon +2022-10-27T05:36:49.6355363Z inflating: byond/bin/DreamMaker +2022-10-27T05:36:49.6355666Z creating: byond/cfg/ +2022-10-27T05:36:49.6356545Z inflating: byond/cfg/release.txt +2022-10-27T05:36:49.6621069Z *************************** +2022-10-27T05:36:49.6621919Z Now run the following command: +2022-10-27T05:36:49.6629708Z +2022-10-27T05:36:49.6640241Z source /home/runner/BYOND/byond/bin/byondsetup +2022-10-27T05:36:49.6652476Z +2022-10-27T05:36:49.6657262Z If it generates errors, your shell is not compatible with 'sh', so you will +2022-10-27T05:36:49.6663166Z have to edit byondsetup and make it work with your shell. If the script works, you should be able to run DreamDaemon. +2022-10-27T05:36:49.6673259Z +2022-10-27T05:36:49.6679431Z IMPORTANT: once you have the script working, you must add the above line +2022-10-27T05:36:49.6685348Z to your startup script. The name of your startup script depends on the +2022-10-27T05:36:49.6691552Z shell you use. Typical ones are .profile or .bash_profile. +2022-10-27T05:36:49.6701933Z +2022-10-27T05:36:49.6708492Z Once everything is working, you can find out more about the software +2022-10-27T05:36:49.6714992Z by doing 'man DreamDaemon'. A host server has also been included +2022-10-27T05:36:49.6720470Z so edit host/hostconf.txt and boot up your world server! +2022-10-27T05:36:49.6726217Z *************************** +2022-10-27T05:36:49.7622481Z Using system-wide Node v16.18.0 +2022-10-27T05:36:49.9527326Z :: Juke Build version 0.8.1 +2022-10-27T05:36:50.2530342Z => Starting 'dm' +2022-10-27T05:36:50.2555016Z :: Using defines: CBT, CIBUILDING, ANSICOLORS +2022-10-27T05:36:50.3319179Z DM compiler version 514.1588 +2022-10-27T05:36:50.3319810Z loading tgstation.m.dme +2022-10-27T05:36:59.9636752Z loading interface/skin.dmf +2022-10-27T05:37:57.7759644Z loading map_files/generic/CentCom.dmm +2022-10-27T05:37:58.7594328Z saving tgstation.m.dmb (DEBUG mode) +2022-10-27T05:37:59.9601921Z tgstation.m.dmb - 0 errors, 0 warnings (10/27/22 5:37 am) +2022-10-27T05:37:59.9602721Z Total time: 1:09 +2022-10-27T05:38:00.9791168Z => Finished 'dm' in 70.727s +2022-10-27T05:38:00.9795780Z => Done in 71.025s +2022-10-27T05:38:00.9907775Z ##[group]Run source $HOME/BYOND/byond/bin/byondsetup +2022-10-27T05:38:00.9908333Z source $HOME/BYOND/byond/bin/byondsetup +2022-10-27T05:38:00.9908714Z bash tools/ci/run_server.sh metastation +2022-10-27T05:38:00.9968243Z shell: /usr/bin/bash -e {0} +2022-10-27T05:38:00.9968682Z ##[endgroup] +2022-10-27T05:38:01.0105430Z Testing metastation +2022-10-27T05:38:01.2543112Z cp: cannot stat 'tgui/packages/tgfont/dist/*': No such file or directory +2022-10-27T05:38:01.2724951Z Thu Oct 27 05:38:01 2022 +2022-10-27T05:38:01.2725544Z World opened on network port 42427. +2022-10-27T05:38:01.2726492Z Welcome BYOND! (5.0 Public Version 514.1588) +2022-10-27T05:38:23.7107759Z 864 global variables +2022-10-27T05:38:24.4933392Z World loaded at 05:38:24! +2022-10-27T05:38:24.5429202Z Running /tg/ revision: +2022-10-27T05:38:24.5429682Z No commit information +2022-10-27T05:38:24.5512784Z Loading config file config.txt... +2022-10-27T05:38:24.5516700Z Loading config file maps.txt... +2022-10-27T05:38:24.5547604Z Unable to locate admins backup file. +2022-10-27T05:38:25.5745156Z Initialized Title Screen subsystem within 0.01 seconds! +2022-10-27T05:38:25.5745917Z Initialized Server Tasks subsystem within 0 seconds! +2022-10-27T05:38:25.5746607Z Initialized Input subsystem within 0 seconds! +2022-10-27T05:38:25.5814387Z Initialized Profiler subsystem within 0 seconds! +2022-10-27T05:38:25.5814809Z Initialized Database subsystem within 0 seconds! +2022-10-27T05:38:25.5816091Z Initialized Blackbox subsystem within 0 seconds! +2022-10-27T05:38:25.5819066Z Initialized Sounds subsystem within 0 seconds! +2022-10-27T05:38:25.6001394Z Initialized Instruments subsystem within 0.02 seconds! +2022-10-27T05:38:25.9816971Z Initialized Greyscale subsystem within 0.38 seconds! +2022-10-27T05:38:25.9817528Z Initialized Vis contents overlays subsystem within 0 seconds! +2022-10-27T05:38:25.9818032Z Initialized Security Level subsystem within 0 seconds! +2022-10-27T05:38:25.9848043Z Initialized Station subsystem within 0 seconds! +2022-10-27T05:38:25.9865647Z Initialized Quirks subsystem within 0 seconds! +2022-10-27T05:38:26.0034062Z Initialized Reagents subsystem within 0.02 seconds! +2022-10-27T05:38:26.0038506Z Initialized Events subsystem within 0 seconds! +2022-10-27T05:38:26.0098384Z Initialized IDs and Access subsystem within 0.01 seconds! +2022-10-27T05:38:26.0098867Z Initialized Jobs subsystem within 0 seconds! +2022-10-27T05:38:26.0099897Z Initialized AI movement subsystem within 0 seconds! +2022-10-27T05:38:26.0126533Z Initialized Ticker subsystem within 0 seconds! +2022-10-27T05:38:26.0128286Z Initialized AI Controller Ticker subsystem within 0 seconds! +2022-10-27T05:38:26.0134279Z Initialized AI Behavior Ticker subsystem within 0 seconds! +2022-10-27T05:38:26.0287435Z Initialized Trading Card Game subsystem within 0.02 seconds! +2022-10-27T05:38:26.0290443Z Loading MetaStation... +2022-10-27T05:38:27.6774174Z Loaded Station in 1.6s! +2022-10-27T05:38:28.4727719Z Loaded Lavaland in 0.7s! +2022-10-27T05:38:29.4722711Z Ruin loader finished with 0 left to spend. +2022-10-27T05:38:29.5285012Z Ruin loader finished with 0 left to spend. +2022-10-27T05:38:29.9352644Z Cave Generator finished in 0.4s! +2022-10-27T05:38:29.9775541Z Cave Generator finished in 0s! +2022-10-27T05:38:31.0315436Z Initialized Mapping subsystem within 5 seconds! +2022-10-27T05:38:55.0060672Z The BYOND hub reports that port 42427 is not reachable. +2022-10-27T05:38:57.9364779Z Initialized Early Assets subsystem within 26.9 seconds! +2022-10-27T05:38:57.9769589Z Initialized Research subsystem within 0.04 seconds! +2022-10-27T05:38:57.9771028Z Initialized Time Tracking subsystem within 0 seconds! +2022-10-27T05:38:58.0098137Z Initialized Networks subsystem within 0.03 seconds! +2022-10-27T05:38:58.0343859Z Initialized Spatial Grid subsystem within 0.02 seconds! +2022-10-27T05:38:58.0348414Z Initialized Economy subsystem within 0 seconds! +2022-10-27T05:38:58.0355826Z Initialized Restaurant subsystem within 0 seconds! +2022-10-27T05:39:34.2891379Z ## NOTICE: morgue_cadaver_disable_nonhumans. There are no valid roundstart nonhuman races enabled. Defaulting to humans only! +2022-10-27T05:39:36.5387306Z Initialized Atoms subsystem within 38.5 seconds! +2022-10-27T05:39:36.5532145Z Initialized Language subsystem within 0.01 seconds! +2022-10-27T05:39:36.6439410Z Initialized Machines subsystem within 0.09 seconds! +2022-10-27T05:39:36.6445388Z Initialized Skills subsystem within 0 seconds! +2022-10-27T05:39:36.6446275Z Initialized Addiction subsystem within 0 seconds! +2022-10-27T05:39:36.6458190Z Initialized Blackmarket subsystem within 0 seconds! +2022-10-27T05:39:36.6461637Z Initialized Disease subsystem within 0 seconds! +2022-10-27T05:39:36.6462460Z Initialized Fluid subsystem within 0 seconds! +2022-10-27T05:39:36.6463706Z Initialized Smoke subsystem within 0 seconds! +2022-10-27T05:39:36.6464484Z Initialized Foam subsystem within 0 seconds! +2022-10-27T05:39:36.6465284Z Initialized Lag Switch subsystem within 0 seconds! +2022-10-27T05:39:36.6685670Z Initialized Library Loading subsystem within 0.02 seconds! +2022-10-27T05:39:37.0988919Z Initialized Lua Scripting subsystem within 0.43 seconds! +2022-10-27T05:39:37.0994800Z Initialized Night Shift subsystem within 0 seconds! +2022-10-27T05:39:37.0996305Z Initialized Sun subsystem within 0 seconds! +2022-10-27T05:39:37.1013421Z Initialized Traitor subsystem within 0 seconds! +2022-10-27T05:39:37.1246657Z Initialized Wardrobe subsystem within 0.02 seconds! +2022-10-27T05:39:37.1247676Z Initialized Weather subsystem within 0 seconds! +2022-10-27T05:39:37.1248899Z Initialized Wiremod Composite Templates subsystem within 0 seconds! +2022-10-27T05:39:42.0567267Z Initialized Atmospherics subsystem within 4.93 seconds! +2022-10-27T05:39:42.0584101Z Initialized Persistence subsystem within 0 seconds! +2022-10-27T05:39:42.0589723Z Initialized Persistent Paintings subsystem within 0 seconds! +2022-10-27T05:39:42.0594808Z Initialized Vote subsystem within 0 seconds! +2022-10-27T05:39:47.1134557Z Initialized Assets subsystem within 5.05 seconds! +2022-10-27T05:39:49.3480025Z Initialized Icon Smoothing subsystem within 2.23 seconds! +2022-10-27T05:39:49.3521346Z Initialized XKeyScore subsystem within 0 seconds! +2022-10-27T05:39:49.3626428Z Initialized PRISM subsystem within 0.01 seconds! +2022-10-27T05:39:55.3669508Z Initialized Lighting subsystem within 6 seconds! +2022-10-27T05:39:58.4861231Z Initialized Shuttle subsystem within 3.12 seconds! +2022-10-27T05:39:58.4910808Z Initialized Pathfinder subsystem within 0 seconds! +2022-10-27T05:39:58.4911217Z Initialized Ban Cache subsystem within 0 seconds! +2022-10-27T05:39:58.4911595Z Initialized Init Profiler subsystem within 0 seconds! +2022-10-27T05:39:58.4911947Z Initialized Chat subsystem within 0 seconds! +2022-10-27T05:39:58.4912316Z Initializations complete within 92.9 seconds! +2022-10-27T05:39:58.4984843Z Game start took 0s +2022-10-27T05:40:09.8744558Z ##[group]/datum/unit_test/log_mapping +2022-10-27T05:40:09.8745146Z +2022-10-27T05:40:09.8836529Z PASS /datum/unit_test/log_mapping 0s +2022-10-27T05:40:09.8837396Z ##[endgroup] +2022-10-27T05:40:09.9419200Z ##[group]/datum/unit_test/ablative_hood_hud +2022-10-27T05:40:09.9756122Z +2022-10-27T05:40:09.9757240Z PASS /datum/unit_test/ablative_hood_hud 0s +2022-10-27T05:40:09.9767210Z ##[endgroup] +2022-10-27T05:40:09.9978386Z ##[group]/datum/unit_test/ablative_hood_hud_with_helmet +2022-10-27T05:40:10.0279756Z +2022-10-27T05:40:10.0281576Z PASS /datum/unit_test/ablative_hood_hud_with_helmet 0.1s +2022-10-27T05:40:10.0283498Z ##[endgroup] +2022-10-27T05:40:10.0512431Z ##[group]/datum/unit_test/achievements +2022-10-27T05:40:10.0640195Z +2022-10-27T05:40:10.0641287Z PASS /datum/unit_test/achievements 0s +2022-10-27T05:40:10.0642374Z ##[endgroup] +2022-10-27T05:40:10.1012868Z ##[group]/datum/unit_test/anchored_mobs +2022-10-27T05:40:10.1014527Z +2022-10-27T05:40:10.1015639Z PASS /datum/unit_test/anchored_mobs 0s +2022-10-27T05:40:10.1016975Z ##[endgroup] +2022-10-27T05:40:10.1197243Z ##[group]/datum/unit_test/anonymous_themes +2022-10-27T05:40:10.2699684Z +2022-10-27T05:40:10.2701913Z PASS /datum/unit_test/anonymous_themes 0.1s +2022-10-27T05:40:10.2703812Z ##[endgroup] +2022-10-27T05:40:10.5198272Z ##[group]/datum/unit_test/autowiki +2022-10-27T05:40:11.9708692Z +2022-10-27T05:40:11.9710297Z PASS /datum/unit_test/autowiki 1.4s +2022-10-27T05:40:11.9712149Z ##[endgroup] +2022-10-27T05:40:13.4185291Z ##[group]/datum/unit_test/autowiki_include_template +2022-10-27T05:40:13.4186047Z +2022-10-27T05:40:13.4187111Z PASS /datum/unit_test/autowiki_include_template 0s +2022-10-27T05:40:13.4188008Z ##[endgroup] +2022-10-27T05:40:13.4380400Z ##[group]/datum/unit_test/barsigns_icon +2022-10-27T05:40:13.4634689Z +2022-10-27T05:40:13.4639775Z PASS /datum/unit_test/barsigns_icon 0s +2022-10-27T05:40:13.4640487Z ##[endgroup] +2022-10-27T05:40:13.4808870Z ##[group]/datum/unit_test/barsigns_name +2022-10-27T05:40:13.4809440Z +2022-10-27T05:40:13.4810053Z PASS /datum/unit_test/barsigns_name 0s +2022-10-27T05:40:13.4814000Z ##[endgroup] +2022-10-27T05:40:13.4979736Z ##[group]/datum/unit_test/bespoke_id +2022-10-27T05:40:13.4980383Z +2022-10-27T05:40:13.4980997Z PASS /datum/unit_test/bespoke_id 0s +2022-10-27T05:40:13.5028459Z ##[endgroup] +2022-10-27T05:40:13.8488485Z ##[group]/datum/unit_test/binary_insert +2022-10-27T05:40:13.8488743Z +2022-10-27T05:40:13.8489222Z PASS /datum/unit_test/binary_insert 0s +2022-10-27T05:40:13.8489803Z ##[endgroup] +2022-10-27T05:40:13.8653347Z ##[group]/datum/unit_test/bloody_footprints +2022-10-27T05:40:13.9003909Z +2022-10-27T05:40:13.9004930Z PASS /datum/unit_test/bloody_footprints 0s +2022-10-27T05:40:13.9006088Z ##[endgroup] +2022-10-27T05:40:13.9232999Z ##[group]/datum/unit_test/breath_sanity +2022-10-27T05:40:13.9712567Z +2022-10-27T05:40:13.9713383Z PASS /datum/unit_test/breath_sanity 0s +2022-10-27T05:40:13.9714142Z ##[endgroup] +2022-10-27T05:40:14.2982711Z ##[group]/datum/unit_test/breath_sanity_plasmamen +2022-10-27T05:40:14.3520354Z +2022-10-27T05:40:14.3521354Z PASS /datum/unit_test/breath_sanity_plasmamen 0.1s +2022-10-27T05:40:14.3522294Z ##[endgroup] +2022-10-27T05:40:14.3742846Z ##[group]/datum/unit_test/breath_sanity_ashwalker +2022-10-27T05:40:14.4444122Z +2022-10-27T05:40:14.4444950Z PASS /datum/unit_test/breath_sanity_ashwalker 0.1s +2022-10-27T05:40:14.4445682Z ##[endgroup] +2022-10-27T05:40:14.7716503Z ##[group]/datum/unit_test/cable_powernets +2022-10-27T05:40:14.7716741Z +2022-10-27T05:40:14.7717211Z PASS /datum/unit_test/cable_powernets 0s +2022-10-27T05:40:14.7718214Z ##[endgroup] +2022-10-27T05:40:14.7883699Z ##[group]/datum/unit_test/card_mismatch +2022-10-27T05:40:14.7925710Z +2022-10-27T05:40:14.7926265Z PASS /datum/unit_test/card_mismatch 0s +2022-10-27T05:40:14.7926794Z ##[endgroup] +2022-10-27T05:40:14.8965612Z ##[group]/datum/unit_test/chain_pull_through_space +2022-10-27T05:40:14.8993553Z +2022-10-27T05:40:14.8994184Z PASS /datum/unit_test/chain_pull_through_space 0s +2022-10-27T05:40:14.8994797Z ##[endgroup] +2022-10-27T05:40:15.0324540Z ##[group]/datum/unit_test/chat_filter_sanity +2022-10-27T05:40:15.0326737Z +2022-10-27T05:40:15.0327622Z PASS /datum/unit_test/chat_filter_sanity 0s +2022-10-27T05:40:15.0328606Z ##[endgroup] +2022-10-27T05:40:15.0495255Z ##[group]/datum/unit_test/circuit_component_category +2022-10-27T05:40:15.0495800Z +2022-10-27T05:40:15.0496375Z PASS /datum/unit_test/circuit_component_category 0s +2022-10-27T05:40:15.0497189Z ##[endgroup] +2022-10-27T05:40:15.0662040Z ##[group]/datum/unit_test/closets +2022-10-27T05:40:16.7548466Z +2022-10-27T05:40:16.7550247Z PASS /datum/unit_test/closets 1.7s +2022-10-27T05:40:16.7551113Z ##[endgroup] +2022-10-27T05:40:19.6808172Z ##[group]/datum/unit_test/harm_punch +2022-10-27T05:40:19.7377314Z +2022-10-27T05:40:19.7378123Z PASS /datum/unit_test/harm_punch 0.1s +2022-10-27T05:40:19.7379056Z ##[endgroup] +2022-10-27T05:40:19.7662222Z ##[group]/datum/unit_test/harm_melee +2022-10-27T05:40:19.8341843Z +2022-10-27T05:40:19.8342972Z PASS /datum/unit_test/harm_melee 0.1s +2022-10-27T05:40:19.8343692Z ##[endgroup] +2022-10-27T05:40:19.9635264Z ##[group]/datum/unit_test/harm_different_damage +2022-10-27T05:40:20.0266779Z +2022-10-27T05:40:20.0267726Z PASS /datum/unit_test/harm_different_damage 0.1s +2022-10-27T05:40:20.0268642Z ##[endgroup] +2022-10-27T05:40:20.0557189Z ##[group]/datum/unit_test/attack_chain +2022-10-27T05:40:20.1137150Z +2022-10-27T05:40:20.1138187Z PASS /datum/unit_test/attack_chain 0.1s +2022-10-27T05:40:20.1139596Z ##[endgroup] +2022-10-27T05:40:20.5189211Z ##[group]/datum/unit_test/disarm +2022-10-27T05:40:20.5901636Z +2022-10-27T05:40:20.5902409Z PASS /datum/unit_test/disarm 0s +2022-10-27T05:40:20.5903484Z ##[endgroup] +2022-10-27T05:40:20.6186577Z ##[group]/datum/unit_test/component_duping +2022-10-27T05:40:20.6186976Z +2022-10-27T05:40:20.6187696Z PASS /datum/unit_test/component_duping 0s +2022-10-27T05:40:20.6188587Z ##[endgroup] +2022-10-27T05:40:20.6351095Z ##[group]/datum/unit_test/confusion_symptom +2022-10-27T05:40:20.6638729Z +2022-10-27T05:40:20.6639511Z PASS /datum/unit_test/confusion_symptom 0s +2022-10-27T05:40:20.6640205Z ##[endgroup] +2022-10-27T05:40:20.9863951Z ##[group]/datum/unit_test/connect_loc_basic +2022-10-27T05:40:20.9868536Z +2022-10-27T05:40:20.9869090Z PASS /datum/unit_test/connect_loc_basic 0s +2022-10-27T05:40:20.9869728Z ##[endgroup] +2022-10-27T05:40:21.0030927Z ##[group]/datum/unit_test/connect_loc_change_turf +2022-10-27T05:40:21.0038393Z +2022-10-27T05:40:21.0038866Z PASS /datum/unit_test/connect_loc_change_turf 0s +2022-10-27T05:40:21.0039436Z ##[endgroup] +2022-10-27T05:40:21.0207944Z ##[group]/datum/unit_test/connect_loc_multiple_on_turf +2022-10-27T05:40:21.0212290Z +2022-10-27T05:40:21.0212902Z PASS /datum/unit_test/connect_loc_multiple_on_turf 0s +2022-10-27T05:40:21.0213675Z ##[endgroup] +2022-10-27T05:40:21.0384862Z ##[group]/datum/unit_test/crayon_naming +2022-10-27T05:40:21.0442694Z +2022-10-27T05:40:21.0443459Z PASS /datum/unit_test/crayon_naming 0s +2022-10-27T05:40:21.0444098Z ##[endgroup] +2022-10-27T05:40:21.0612637Z ##[group]/datum/unit_test/dcs_get_id_from_arguments +2022-10-27T05:40:21.0613739Z +2022-10-27T05:40:21.0614288Z PASS /datum/unit_test/dcs_get_id_from_arguments 0s +2022-10-27T05:40:21.0615542Z ##[endgroup] +2022-10-27T05:40:21.3899788Z ##[group]/datum/unit_test/designs +2022-10-27T05:40:21.3953573Z +2022-10-27T05:40:21.3954536Z PASS /datum/unit_test/designs 0s +2022-10-27T05:40:21.3955578Z ##[endgroup] +2022-10-27T05:40:21.4124000Z ##[group]/datum/unit_test/dummy_spawn_species +2022-10-27T05:40:21.8463274Z +2022-10-27T05:40:21.8464399Z PASS /datum/unit_test/dummy_spawn_species 0.4s +2022-10-27T05:40:21.8465523Z ##[endgroup] +2022-10-27T05:40:22.2717242Z ##[group]/datum/unit_test/dummy_spawn_outfit +2022-10-27T05:40:22.2939848Z Job type /datum/job/ai could not be retrieved from SSjob +2022-10-27T05:40:22.6546726Z +2022-10-27T05:40:22.6548196Z PASS /datum/unit_test/dummy_spawn_outfit 0.4s +2022-10-27T05:40:22.6549521Z ##[endgroup] +2022-10-27T05:40:23.0435828Z ##[group]/datum/unit_test/dynamic_roundstart_ruleset_sanity +2022-10-27T05:40:23.0436113Z +2022-10-27T05:40:23.0436663Z PASS /datum/unit_test/dynamic_roundstart_ruleset_sanity 0s +2022-10-27T05:40:23.0437218Z ##[endgroup] +2022-10-27T05:40:23.0606191Z ##[group]/datum/unit_test/dynamic_unique_antag_flags +2022-10-27T05:40:23.0606463Z +2022-10-27T05:40:23.0606957Z PASS /datum/unit_test/dynamic_unique_antag_flags 0s +2022-10-27T05:40:23.0607492Z ##[endgroup] +2022-10-27T05:40:23.0772590Z ##[group]/datum/unit_test/egg_glands +2022-10-27T05:40:23.1272833Z +2022-10-27T05:40:23.1273679Z PASS /datum/unit_test/egg_glands 0.1s +2022-10-27T05:40:23.1274499Z ##[endgroup] +2022-10-27T05:40:23.1948246Z ##[group]/datum/unit_test/emoting +2022-10-27T05:40:23.2276434Z +2022-10-27T05:40:23.2277491Z PASS /datum/unit_test/emoting 0.1s +2022-10-27T05:40:23.2278590Z ##[endgroup] +2022-10-27T05:40:23.2495055Z ##[group]/datum/unit_test/food_edibility_check +2022-10-27T05:40:24.5133005Z +2022-10-27T05:40:24.5133747Z PASS /datum/unit_test/food_edibility_check 1.3s +2022-10-27T05:40:24.5134589Z ##[endgroup] +2022-10-27T05:40:25.7459424Z ##[group]/datum/unit_test/atmospheric_gas_transfer +2022-10-27T05:40:25.7464252Z +2022-10-27T05:40:25.7465453Z PASS /datum/unit_test/atmospheric_gas_transfer 0s +2022-10-27T05:40:25.7466947Z ##[endgroup] +2022-10-27T05:40:25.7637838Z ##[group]/datum/unit_test/get_turf_pixel +2022-10-27T05:40:25.7652899Z +2022-10-27T05:40:25.7653755Z PASS /datum/unit_test/get_turf_pixel 0s +2022-10-27T05:40:25.7654716Z ##[endgroup] +2022-10-27T05:40:25.7832528Z ##[group]/datum/unit_test/greyscale_item_icon_states +2022-10-27T05:40:25.7897718Z +2022-10-27T05:40:25.7898714Z PASS /datum/unit_test/greyscale_item_icon_states 0s +2022-10-27T05:40:25.7901777Z ##[endgroup] +2022-10-27T05:40:25.8065921Z ##[group]/datum/unit_test/greyscale_color_count +2022-10-27T05:40:25.8212040Z +2022-10-27T05:40:25.8213076Z PASS /datum/unit_test/greyscale_color_count 0s +2022-10-27T05:40:25.8213890Z ##[endgroup] +2022-10-27T05:40:25.9569835Z ##[group]/datum/unit_test/hallucination_icons +2022-10-27T05:40:26.2007450Z +2022-10-27T05:40:26.2008257Z PASS /datum/unit_test/hallucination_icons 0.3s +2022-10-27T05:40:26.2008960Z ##[endgroup] +2022-10-27T05:40:26.4177405Z ##[group]/datum/unit_test/heretic_knowledge +2022-10-27T05:40:26.4221118Z +2022-10-27T05:40:26.4222209Z PASS /datum/unit_test/heretic_knowledge 0s +2022-10-27T05:40:26.4225335Z ##[endgroup] +2022-10-27T05:40:26.4398954Z ##[group]/datum/unit_test/heretic_main_paths +2022-10-27T05:40:26.4399640Z +2022-10-27T05:40:26.4402394Z PASS /datum/unit_test/heretic_main_paths 0s +2022-10-27T05:40:26.4403358Z ##[endgroup] +2022-10-27T05:40:26.4569635Z ##[group]/datum/unit_test/heretic_rituals +2022-10-27T05:40:26.5341269Z +2022-10-27T05:40:26.5342957Z PASS /datum/unit_test/heretic_rituals 0.1s +2022-10-27T05:40:26.5344455Z ##[endgroup] +2022-10-27T05:40:26.6072760Z ##[group]/datum/unit_test/hanukkah_2123 +2022-10-27T05:40:26.6074182Z +2022-10-27T05:40:26.6075388Z PASS /datum/unit_test/hanukkah_2123 0s +2022-10-27T05:40:26.6076994Z ##[endgroup] +2022-10-27T05:40:26.6266212Z ##[group]/datum/unit_test/ramadan_2165 +2022-10-27T05:40:26.6266979Z +2022-10-27T05:40:26.6268854Z PASS /datum/unit_test/ramadan_2165 0s +2022-10-27T05:40:26.6275155Z ##[endgroup] +2022-10-27T05:40:26.6571207Z ##[group]/datum/unit_test/thanksgiving_2020 +2022-10-27T05:40:26.6572398Z +2022-10-27T05:40:26.6573397Z PASS /datum/unit_test/thanksgiving_2020 0s +2022-10-27T05:40:26.6574531Z ##[endgroup] +2022-10-27T05:40:26.6735186Z ##[group]/datum/unit_test/mother_3683 +2022-10-27T05:40:26.6735666Z +2022-10-27T05:40:26.6736248Z PASS /datum/unit_test/mother_3683 0s +2022-10-27T05:40:26.6739224Z ##[endgroup] +2022-10-27T05:40:26.8572827Z ##[group]/datum/unit_test/hello_2020 +2022-10-27T05:40:26.8573482Z +2022-10-27T05:40:26.8574272Z PASS /datum/unit_test/hello_2020 0s +2022-10-27T05:40:26.8577076Z ##[endgroup] +2022-10-27T05:40:26.8749478Z ##[group]/datum/unit_test/new_year_1983 +2022-10-27T05:40:26.8750152Z +2022-10-27T05:40:26.8750832Z PASS /datum/unit_test/new_year_1983 0s +2022-10-27T05:40:26.8751724Z ##[endgroup] +2022-10-27T05:40:26.8919557Z ##[group]/datum/unit_test/moth_week_2020 +2022-10-27T05:40:26.8951500Z +2022-10-27T05:40:26.8952208Z PASS /datum/unit_test/moth_week_2020 0s +2022-10-27T05:40:26.8952956Z ##[endgroup] +2022-10-27T05:40:27.3122958Z ##[group]/datum/unit_test/human_through_recycler +2022-10-27T05:40:27.3539454Z +2022-10-27T05:40:27.3544496Z PASS /datum/unit_test/human_through_recycler 0s +2022-10-27T05:40:27.3549227Z ##[endgroup] +2022-10-27T05:40:27.3779548Z ##[group]/datum/unit_test/hydroponics_extractor_storage +2022-10-27T05:40:27.4123276Z +2022-10-27T05:40:27.4124500Z PASS /datum/unit_test/hydroponics_extractor_storage 0.1s +2022-10-27T05:40:27.4125704Z ##[endgroup] +2022-10-27T05:40:27.4385047Z ##[group]/datum/unit_test/hydroponics_harvest +2022-10-27T05:40:27.5046209Z +2022-10-27T05:40:27.5047429Z PASS /datum/unit_test/hydroponics_harvest 0.1s +2022-10-27T05:40:27.5048344Z ##[endgroup] +2022-10-27T05:40:27.5784276Z ##[group]/datum/unit_test/hydroponics_self_mutation +2022-10-27T05:40:27.6261832Z +2022-10-27T05:40:27.6263089Z PASS /datum/unit_test/hydroponics_self_mutation 0.1s +2022-10-27T05:40:27.6264003Z ##[endgroup] +2022-10-27T05:40:27.9431720Z ##[group]/datum/unit_test/hydroponics_validate_genes +2022-10-27T05:40:27.9933945Z +2022-10-27T05:40:27.9935126Z PASS /datum/unit_test/hydroponics_validate_genes 0s +2022-10-27T05:40:27.9936883Z ##[endgroup] +2022-10-27T05:40:28.0105063Z ##[group]/datum/unit_test/defined_inhand_icon_states +2022-10-27T05:40:29.0888247Z Notice - Possible inhand icon matches found. It is best to be explicit with inhand sprite values. +2022-10-27T05:40:29.0889307Z /obj/item/clothing/accessory/pride does not have an inhand_icon_state value - Possible matching sprites for "pride" found in: 'icons/mob/inhands/weapons/hammers_lefthand.dmi' & 'icons/mob/inhands/weapons/hammers_righthand.dmi' +2022-10-27T05:40:29.0890499Z /obj/item/clothing/suit/caution does not have an inhand_icon_state value - Possible matching sprites for "caution" found in: 'icons/mob/inhands/equipment/custodial_lefthand.dmi' & 'icons/mob/inhands/equipment/custodial_righthand.dmi' +2022-10-27T05:40:29.0891626Z /obj/item/clothing/under/suit/sl does not have an inhand_icon_state value - Possible matching sprites for "sl_suit" found in: 'icons/mob/inhands/clothing/suits_righthand.dmi' & 'icons/mob/inhands/clothing/suits_lefthand.dmi' +2022-10-27T05:40:29.0892733Z /obj/item/clothing/head/collectable/paper does not have an inhand_icon_state value - Possible matching sprites for "paper" found in: 'icons/mob/inhands/items_lefthand.dmi' & 'icons/mob/inhands/items_righthand.dmi' +2022-10-27T05:40:29.0893862Z /obj/item/clothing/head/mod does not have an inhand_icon_state value - Possible matching sprites for "helmet" found in: 'icons/mob/inhands/clothing/hats_lefthand.dmi' & 'icons/mob/inhands/clothing/hats_righthand.dmi' +2022-10-27T05:40:29.0894922Z /obj/item/clothing/mask/animal/small/fox does not have an inhand_icon_state value - Possible matching sprites for "fox" found in: 'icons/mob/inhands/pets_held_rh.dmi' & 'icons/mob/inhands/pets_held_lh.dmi' +2022-10-27T05:40:29.0895960Z /obj/item/clothing/mask/animal/small/fox/cursed does not have an inhand_icon_state value - Possible matching sprites for "fox" found in: 'icons/mob/inhands/pets_held_rh.dmi' & 'icons/mob/inhands/pets_held_lh.dmi' +2022-10-27T05:40:29.0897110Z /obj/item/clothing/glasses/hud/health/sunglasses does not have an inhand_icon_state value - Possible matching sprites for "sunhudmed" found in: 'icons/mob/inhands/clothing/glasses_righthand.dmi' & 'icons/mob/inhands/clothing/glasses_lefthand.dmi' +2022-10-27T05:40:29.0898326Z /obj/item/clothing/glasses/hud/security/sunglasses does not have an inhand_icon_state value - Possible matching sprites for "sunhudsec" found in: 'icons/mob/inhands/clothing/glasses_righthand.dmi' & 'icons/mob/inhands/clothing/glasses_lefthand.dmi' +2022-10-27T05:40:29.0899739Z /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun does not have an inhand_icon_state value - Possible matching sprites for "syringegun" found in: 'icons/mob/inhands/weapons/guns_righthand.dmi' & 'icons/mob/inhands/weapons/guns_lefthand.dmi' +2022-10-27T05:40:29.0900919Z /obj/item/mecha_parts/mecha_equipment/generator does not have an inhand_icon_state value - Possible matching sprites for "tesla" found in: 'icons/mob/inhands/weapons/guns_righthand.dmi' & 'icons/mob/inhands/weapons/guns_lefthand.dmi' +2022-10-27T05:40:29.0902057Z /obj/item/storage/bag/ore does not have an inhand_icon_state value - Possible matching sprites for "satchel" found in: 'icons/mob/inhands/equipment/backpack_lefthand.dmi' & 'icons/mob/inhands/equipment/backpack_righthand.dmi' +2022-10-27T05:40:29.0903498Z /obj/item/storage/bag/ore/cyborg does not have an inhand_icon_state value - Possible matching sprites for "satchel" found in: 'icons/mob/inhands/equipment/backpack_lefthand.dmi' & 'icons/mob/inhands/equipment/backpack_righthand.dmi' +2022-10-27T05:40:29.0904633Z /obj/item/implant/emp does not have an inhand_icon_state value - Possible matching sprites for "emp" found in: 'icons/mob/inhands/equipment/security_righthand.dmi' & 'icons/mob/inhands/equipment/security_lefthand.dmi' +2022-10-27T05:40:29.0906583Z /obj/item/implant/uplink does not have an inhand_icon_state value - Possible matching sprites for "radio" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-10-27T05:40:29.0927867Z /obj/item/implant/uplink/precharged does not have an inhand_icon_state value - Possible matching sprites for "radio" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-10-27T05:40:29.0929023Z /obj/item/implant/uplink/starting does not have an inhand_icon_state value - Possible matching sprites for "radio" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-10-27T05:40:29.0930125Z /obj/item/melee/energy/blade does not have an inhand_icon_state value - Possible matching sprites for "blade" found in: 'icons/mob/inhands/weapons/swords_lefthand.dmi' & 'icons/mob/inhands/weapons/swords_righthand.dmi' +2022-10-27T05:40:29.0931206Z /obj/item/fireaxe does not have an inhand_icon_state value - Possible matching sprites for "fireaxe0" found in: 'icons/mob/inhands/weapons/axes_righthand.dmi' & 'icons/mob/inhands/weapons/axes_lefthand.dmi' +2022-10-27T05:40:29.0932453Z /obj/item/fireaxe/boneaxe does not have an inhand_icon_state value - Possible matching sprites for "bone_axe0" found in: 'icons/mob/inhands/weapons/axes_righthand.dmi' & 'icons/mob/inhands/weapons/axes_lefthand.dmi' +2022-10-27T05:40:29.0933868Z /obj/item/fireaxe/metal_h2_axe does not have an inhand_icon_state value - Possible matching sprites for "metalh2_axe0" found in: 'icons/mob/inhands/weapons/axes_righthand.dmi' & 'icons/mob/inhands/weapons/axes_lefthand.dmi' +2022-10-27T05:40:29.0934999Z /obj/item/reagent_containers/cup/soda_cans/cola does not have an inhand_icon_state value - Possible matching sprites for "cola" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-10-27T05:40:29.0936156Z /obj/item/reagent_containers/cup/soda_cans/tonic does not have an inhand_icon_state value - Possible matching sprites for "tonic" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-10-27T05:40:29.0937331Z /obj/item/reagent_containers/cup/soda_cans/sodawater does not have an inhand_icon_state value - Possible matching sprites for "sodawater" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-10-27T05:40:29.0938692Z /obj/item/reagent_containers/cup/soda_cans/lemon_lime does not have an inhand_icon_state value - Possible matching sprites for "lemon-lime" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-10-27T05:40:29.0939881Z /obj/item/reagent_containers/cup/soda_cans/space_up does not have an inhand_icon_state value - Possible matching sprites for "space-up" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-10-27T05:40:29.0941048Z /obj/item/reagent_containers/cup/soda_cans/starkist does not have an inhand_icon_state value - Possible matching sprites for "starkist" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-10-27T05:40:29.0942649Z /obj/item/reagent_containers/cup/soda_cans/space_mountain_wind does not have an inhand_icon_state value - Possible matching sprites for "space_mountain_wind" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-10-27T05:40:29.0943894Z /obj/item/reagent_containers/cup/soda_cans/thirteenloko does not have an inhand_icon_state value - Possible matching sprites for "thirteen_loko" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-10-27T05:40:29.0945078Z /obj/item/reagent_containers/cup/soda_cans/dr_gibb does not have an inhand_icon_state value - Possible matching sprites for "dr_gibb" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-10-27T05:40:29.0946292Z /obj/item/reagent_containers/cup/soda_cans/pwr_game does not have an inhand_icon_state value - Possible matching sprites for "purple_can" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-10-27T05:40:29.0947466Z /obj/item/reagent_containers/cup/glass/coffee does not have an inhand_icon_state value - Possible matching sprites for "coffee" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-10-27T05:40:29.0948548Z /obj/item/reagent_containers/chem_pack does not have an inhand_icon_state value - Possible matching sprites for "chempack" found in: 'icons/mob/inhands/equipment/backpack_lefthand.dmi' & 'icons/mob/inhands/equipment/backpack_righthand.dmi' +2022-10-27T05:40:29.0949572Z /obj/item/sbeacondrop does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-10-27T05:40:29.0950564Z /obj/item/sbeacondrop/bomb does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-10-27T05:40:29.0951871Z /obj/item/sbeacondrop/emp does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-10-27T05:40:29.0952969Z /obj/item/sbeacondrop/powersink does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-10-27T05:40:29.0954060Z /obj/item/sbeacondrop/clownbomb does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-10-27T05:40:29.0955292Z /obj/item/stack/medical/bruise_pack does not have an inhand_icon_state value - Possible matching sprites for "brutepack" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-10-27T05:40:29.0957053Z /obj/item/stack/medical/ointment does not have an inhand_icon_state value - Possible matching sprites for "ointment" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-10-27T05:40:29.0958265Z /obj/item/minespawner does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-10-27T05:40:29.0959349Z /obj/item/organ/internal/heart/gland/blood does not have an inhand_icon_state value - Possible matching sprites for "egg" found in: 'icons/mob/inhands/items/food_lefthand.dmi' & 'icons/mob/inhands/items/food_righthand.dmi' +2022-10-27T05:40:29.0960438Z /obj/item/organ/internal/heart/gland/egg does not have an inhand_icon_state value - Possible matching sprites for "egg" found in: 'icons/mob/inhands/items/food_lefthand.dmi' & 'icons/mob/inhands/items/food_righthand.dmi' +2022-10-27T05:40:29.0962120Z /obj/item/organ/internal/heart/gland/quantum does not have an inhand_icon_state value - Possible matching sprites for "emp" found in: 'icons/mob/inhands/equipment/security_righthand.dmi' & 'icons/mob/inhands/equipment/security_lefthand.dmi' +2022-10-27T05:40:29.0963372Z /obj/item/organ/internal/heart/gland/trauma does not have an inhand_icon_state value - Possible matching sprites for "emp" found in: 'icons/mob/inhands/equipment/security_righthand.dmi' & 'icons/mob/inhands/equipment/security_lefthand.dmi' +2022-10-27T05:40:29.0964517Z /obj/item/boxcutter does not have an inhand_icon_state value - Possible matching sprites for "boxcutter" found in: 'icons/mob/inhands/equipment/boxcutter_lefthand.dmi' & 'icons/mob/inhands/equipment/boxcutter_righthand.dmi' +2022-10-27T05:40:29.0965764Z /obj/item/pushbroom does not have an inhand_icon_state value - Possible matching sprites for "broom0" found in: 'icons/mob/inhands/equipment/custodial_lefthand.dmi' & 'icons/mob/inhands/equipment/custodial_righthand.dmi' +2022-10-27T05:40:29.0966976Z /obj/item/pushbroom/cyborg does not have an inhand_icon_state value - Possible matching sprites for "broom0" found in: 'icons/mob/inhands/equipment/custodial_lefthand.dmi' & 'icons/mob/inhands/equipment/custodial_righthand.dmi' +2022-10-27T05:40:29.0968278Z /obj/item/chainsaw does not have an inhand_icon_state value - Possible matching sprites for "chainsaw_off" found in: 'icons/mob/inhands/weapons/chainsaw_lefthand.dmi' & 'icons/mob/inhands/weapons/chainsaw_righthand.dmi' +2022-10-27T05:40:29.0969434Z /obj/item/chainsaw/doomslayer does not have an inhand_icon_state value - Possible matching sprites for "chainsaw_off" found in: 'icons/mob/inhands/weapons/chainsaw_lefthand.dmi' & 'icons/mob/inhands/weapons/chainsaw_righthand.dmi' +2022-10-27T05:40:29.0976727Z /obj/item/toy/talking/codex_gigas does not have an inhand_icon_state value - Possible matching sprites for "demonomicon" found in: 'icons/mob/inhands/items/books_righthand.dmi' & 'icons/mob/inhands/items/books_lefthand.dmi' +2022-10-27T05:40:29.0977819Z /obj/item/toy/figure/chef does not have an inhand_icon_state value - Possible matching sprites for "chef" found in: 'icons/mob/inhands/clothing/suits_righthand.dmi' & 'icons/mob/inhands/clothing/suits_lefthand.dmi' +2022-10-27T05:40:29.0979042Z /obj/item/toy/figure/clown does not have an inhand_icon_state value - Possible matching sprites for "clown" found in: 'icons/mob/inhands/clothing/suits_righthand.dmi' & 'icons/mob/inhands/clothing/suits_lefthand.dmi' +2022-10-27T05:40:29.0980133Z /obj/item/toy/figure/janitor does not have an inhand_icon_state value - Possible matching sprites for "janitor" found in: 'icons/mob/inhands/clothing/suits_righthand.dmi' & 'icons/mob/inhands/clothing/suits_lefthand.dmi' +2022-10-27T05:40:29.0981181Z /obj/item/food/candy does not have an inhand_icon_state value - Possible matching sprites for "candy" found in: 'icons/mob/inhands/items/food_lefthand.dmi' & 'icons/mob/inhands/items/food_righthand.dmi' +2022-10-27T05:40:29.0982369Z /obj/item/food/chips does not have an inhand_icon_state value - Possible matching sprites for "chips" found in: 'icons/mob/inhands/items/food_lefthand.dmi' & 'icons/mob/inhands/items/food_righthand.dmi' +2022-10-27T05:40:29.0983404Z /obj/item/kitchen/fork does not have an inhand_icon_state value - Possible matching sprites for "fork" found in: 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' & 'icons/mob/inhands/equipment/kitchen_righthand.dmi' +2022-10-27T05:40:29.0984486Z /obj/item/kitchen/spoon does not have an inhand_icon_state value - Possible matching sprites for "spoon" found in: 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' & 'icons/mob/inhands/equipment/kitchen_righthand.dmi' +2022-10-27T05:40:29.0985620Z /obj/item/kitchen/spoon/plastic does not have an inhand_icon_state value - Possible matching sprites for "plastic_spoon" found in: 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' & 'icons/mob/inhands/equipment/kitchen_righthand.dmi' +2022-10-27T05:40:29.0986842Z /obj/item/book/codex_gigas does not have an inhand_icon_state value - Possible matching sprites for "demonomicon" found in: 'icons/mob/inhands/items/books_righthand.dmi' & 'icons/mob/inhands/items/books_lefthand.dmi' +2022-10-27T05:40:29.0988013Z /obj/item/pitchfork does not have an inhand_icon_state value - Possible matching sprites for "pitchfork0" found in: 'icons/mob/inhands/weapons/polearms_righthand.dmi' & 'icons/mob/inhands/weapons/polearms_lefthand.dmi' +2022-10-27T05:40:29.0989036Z /obj/item/construction/rcd does not have an inhand_icon_state value - Possible matching sprites for "rcd" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-10-27T05:40:29.0990051Z /obj/item/construction/rcd/borg does not have an inhand_icon_state value - Possible matching sprites for "rcd" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-10-27T05:40:29.0991149Z /obj/item/construction/rcd/loaded does not have an inhand_icon_state value - Possible matching sprites for "rcd" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-10-27T05:40:29.0994310Z /obj/item/construction/rcd/loaded/upgraded does not have an inhand_icon_state value - Possible matching sprites for "rcd" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-10-27T05:40:29.0995737Z /obj/item/construction/rcd/internal does not have an inhand_icon_state value - Possible matching sprites for "rcd" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-10-27T05:40:29.0996853Z /obj/item/construction/rld does not have an inhand_icon_state value - Possible matching sprites for "rld-5" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-10-27T05:40:29.0997956Z /obj/item/construction/rld/mini does not have an inhand_icon_state value - Possible matching sprites for "rld-5" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-10-27T05:40:29.0999039Z /obj/item/rcd_ammo does not have an inhand_icon_state value - Possible matching sprites for "rcdammo" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-10-27T05:40:29.1000123Z /obj/item/rcd_ammo/large does not have an inhand_icon_state value - Possible matching sprites for "rcdammo" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-10-27T05:40:29.1001211Z /obj/item/godstaff does not have an inhand_icon_state value - Possible matching sprites for "godstaff-red" found in: 'icons/mob/inhands/weapons/staves_lefthand.dmi' & 'icons/mob/inhands/weapons/staves_righthand.dmi' +2022-10-27T05:40:29.1002492Z /obj/item/godstaff/red does not have an inhand_icon_state value - Possible matching sprites for "godstaff-red" found in: 'icons/mob/inhands/weapons/staves_lefthand.dmi' & 'icons/mob/inhands/weapons/staves_righthand.dmi' +2022-10-27T05:40:29.1003600Z /obj/item/godstaff/blue does not have an inhand_icon_state value - Possible matching sprites for "godstaff-blue" found in: 'icons/mob/inhands/weapons/staves_lefthand.dmi' & 'icons/mob/inhands/weapons/staves_righthand.dmi' +2022-10-27T05:40:29.1004679Z /obj/item/pipe_dispenser does not have an inhand_icon_state value - Possible matching sprites for "rpd" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-10-27T05:40:29.1005898Z /obj/item/singularityhammer does not have an inhand_icon_state value - Possible matching sprites for "singularity_hammer0" found in: 'icons/mob/inhands/weapons/hammers_lefthand.dmi' & 'icons/mob/inhands/weapons/hammers_righthand.dmi' +2022-10-27T05:40:29.1006926Z /obj/item/mjollnir does not have an inhand_icon_state value - Possible matching sprites for "mjollnir0" found in: 'icons/mob/inhands/weapons/hammers_lefthand.dmi' & 'icons/mob/inhands/weapons/hammers_righthand.dmi' +2022-10-27T05:40:29.1008099Z /obj/item/spear does not have an inhand_icon_state value - Possible matching sprites for "spearglass0" found in: 'icons/mob/inhands/weapons/polearms_righthand.dmi' & 'icons/mob/inhands/weapons/polearms_lefthand.dmi' +2022-10-27T05:40:29.1009143Z /obj/item/spear/explosive does not have an inhand_icon_state value - Possible matching sprites for "spearbomb0" found in: 'icons/mob/inhands/weapons/polearms_righthand.dmi' & 'icons/mob/inhands/weapons/polearms_lefthand.dmi' +2022-10-27T05:40:29.1010190Z /obj/item/spear/grey_tide does not have an inhand_icon_state value - Possible matching sprites for "spearglass0" found in: 'icons/mob/inhands/weapons/polearms_righthand.dmi' & 'icons/mob/inhands/weapons/polearms_lefthand.dmi' +2022-10-27T05:40:29.1011309Z /obj/item/spear/bonespear does not have an inhand_icon_state value - Possible matching sprites for "bone_spear0" found in: 'icons/mob/inhands/weapons/polearms_righthand.dmi' & 'icons/mob/inhands/weapons/polearms_lefthand.dmi' +2022-10-27T05:40:29.1012517Z /obj/item/spear/bamboospear does not have an inhand_icon_state value - Possible matching sprites for "bamboo_spear0" found in: 'icons/mob/inhands/weapons/polearms_righthand.dmi' & 'icons/mob/inhands/weapons/polearms_lefthand.dmi' +2022-10-27T05:40:29.1014120Z /obj/item/trash/candy does not have an inhand_icon_state value - Possible matching sprites for "candy" found in: 'icons/mob/inhands/items/food_lefthand.dmi' & 'icons/mob/inhands/items/food_righthand.dmi' +2022-10-27T05:40:29.1015524Z /obj/item/trash/chips does not have an inhand_icon_state value - Possible matching sprites for "chips" found in: 'icons/mob/inhands/items/food_lefthand.dmi' & 'icons/mob/inhands/items/food_righthand.dmi' +2022-10-27T05:40:29.1016580Z /obj/item/trash/can does not have an inhand_icon_state value - Possible matching sprites for "cola" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-10-27T05:40:29.1017625Z /obj/item/trash/can/food does not have an inhand_icon_state value - Possible matching sprites for "cola" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-10-27T05:40:29.1018877Z /obj/item/highfrequencyblade does not have an inhand_icon_state value - Possible matching sprites for "hfrequency0" found in: 'icons/mob/inhands/weapons/swords_lefthand.dmi' & 'icons/mob/inhands/weapons/swords_righthand.dmi' +2022-10-27T05:40:29.1020043Z /obj/item/highfrequencyblade/wizard does not have an inhand_icon_state value - Possible matching sprites for "hfrequency0" found in: 'icons/mob/inhands/weapons/swords_lefthand.dmi' & 'icons/mob/inhands/weapons/swords_righthand.dmi' +2022-10-27T05:40:29.1021168Z /obj/item/borg/sight/meson does not have an inhand_icon_state value - Possible matching sprites for "meson" found in: 'icons/mob/inhands/clothing/glasses_righthand.dmi' & 'icons/mob/inhands/clothing/glasses_lefthand.dmi' +2022-10-27T05:40:29.1022472Z /obj/item/ammo_casing/magic/hook does not have an inhand_icon_state value - Possible matching sprites for "hook" found in: 'icons/mob/inhands/weapons/melee_righthand.dmi' & 'icons/mob/inhands/weapons/melee_lefthand.dmi' +2022-10-27T05:40:29.1023582Z /obj/item/ammo_casing/magic/hook/bounty does not have an inhand_icon_state value - Possible matching sprites for "hook" found in: 'icons/mob/inhands/weapons/melee_righthand.dmi' & 'icons/mob/inhands/weapons/melee_lefthand.dmi' +2022-10-27T05:40:29.1024655Z /obj/item/harmalarm does not have an inhand_icon_state value - Possible matching sprites for "megaphone" found in: 'icons/mob/inhands/items/megaphone_lefthand.dmi' & 'icons/mob/inhands/items/megaphone_righthand.dmi' +2022-10-27T05:40:29.1025757Z /obj/item/abductor_machine_beacon does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-10-27T05:40:29.1027058Z /obj/item/abductor_machine_beacon/chem_dispenser does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-10-27T05:40:29.1028202Z /obj/item/grown/carbon_rose does not have an inhand_icon_state value - Possible matching sprites for "carbonrose" found in: 'icons/mob/inhands/weapons/plants_righthand.dmi' & 'icons/mob/inhands/weapons/plants_lefthand.dmi' +2022-10-27T05:40:29.1029346Z /obj/item/paint_palette does not have an inhand_icon_state value - Possible matching sprites for "palette" found in: 'icons/mob/inhands/equipment/palette_righthand.dmi' & 'icons/mob/inhands/equipment/palette_lefthand.dmi' +2022-10-27T05:40:29.1030413Z /obj/item/surprise_egg does not have an inhand_icon_state value - Possible matching sprites for "egg" found in: 'icons/mob/inhands/items/food_lefthand.dmi' & 'icons/mob/inhands/items/food_righthand.dmi' +2022-10-27T05:40:29.1031719Z /obj/item/experi_scanner does not have an inhand_icon_state value - Possible matching sprites for "experiscanner" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-10-27T05:40:29.1032793Z /obj/item/fishing_hook does not have an inhand_icon_state value - Possible matching sprites for "hook" found in: 'icons/mob/inhands/weapons/melee_righthand.dmi' & 'icons/mob/inhands/weapons/melee_lefthand.dmi' +2022-10-27T05:40:29.1033871Z /obj/item/cursed_katana does not have an inhand_icon_state value - Possible matching sprites for "cursed_katana" found in: 'icons/mob/inhands/weapons/swords_lefthand.dmi' & 'icons/mob/inhands/weapons/swords_righthand.dmi' +2022-10-27T05:40:29.1035004Z /obj/item/guardiancreator/tech does not have an inhand_icon_state value - Possible matching sprites for "combat_hypo" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-10-27T05:40:29.1036195Z /obj/item/guardiancreator/tech/choose does not have an inhand_icon_state value - Possible matching sprites for "combat_hypo" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-10-27T05:40:29.1037390Z /obj/item/guardiancreator/tech/choose/traitor does not have an inhand_icon_state value - Possible matching sprites for "combat_hypo" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-10-27T05:40:29.1038610Z /obj/item/guardiancreator/tech/choose/dextrous does not have an inhand_icon_state value - Possible matching sprites for "combat_hypo" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-10-27T05:40:29.1039744Z /obj/item/mod/module/welding does not have an inhand_icon_state value - Possible matching sprites for "welding" found in: 'icons/mob/inhands/clothing/masks_lefthand.dmi' & 'icons/mob/inhands/clothing/masks_righthand.dmi' +2022-10-27T05:40:29.1040839Z /obj/item/mod/module/mister does not have an inhand_icon_state value - Possible matching sprites for "mister" found in: 'icons/mob/inhands/equipment/mister_righthand.dmi' & 'icons/mob/inhands/equipment/mister_lefthand.dmi' +2022-10-27T05:40:29.1042176Z /obj/item/mod/module/mister/atmos does not have an inhand_icon_state value - Possible matching sprites for "mister" found in: 'icons/mob/inhands/equipment/mister_righthand.dmi' & 'icons/mob/inhands/equipment/mister_lefthand.dmi' +2022-10-27T05:40:29.1043317Z /obj/item/mod/module/jetpack does not have an inhand_icon_state value - Possible matching sprites for "jetpack" found in: 'icons/mob/inhands/equipment/jetpacks_lefthand.dmi' & 'icons/mob/inhands/equipment/jetpacks_righthand.dmi' +2022-10-27T05:40:29.1044435Z /obj/item/mod/module/flashlight does not have an inhand_icon_state value - Possible matching sprites for "flashlight" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-10-27T05:40:29.1045556Z /obj/item/mod/module/stamp does not have an inhand_icon_state value - Possible matching sprites for "stamp" found in: 'icons/mob/inhands/items_lefthand.dmi' & 'icons/mob/inhands/items_righthand.dmi' +2022-10-27T05:40:29.1046616Z /obj/item/mod/module/holster does not have an inhand_icon_state value - Possible matching sprites for "holster" found in: 'icons/mob/inhands/equipment/belt_lefthand.dmi' & 'icons/mob/inhands/equipment/belt_righthand.dmi' +2022-10-27T05:40:29.1047731Z /obj/item/mod/module/megaphone does not have an inhand_icon_state value - Possible matching sprites for "megaphone" found in: 'icons/mob/inhands/items/megaphone_lefthand.dmi' & 'icons/mob/inhands/items/megaphone_righthand.dmi' +2022-10-27T05:40:29.1049097Z /obj/item/mod/module/drill does not have an inhand_icon_state value - Possible matching sprites for "drill" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' & 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-10-27T05:40:29.1050391Z /obj/item/mod/module/tem does not have an inhand_icon_state value - Possible matching sprites for "chronogun" found in: 'icons/mob/inhands/weapons/guns_righthand.dmi' & 'icons/mob/inhands/weapons/guns_lefthand.dmi' +2022-10-27T05:40:29.1051631Z /obj/item/bonesetter does not have an inhand_icon_state value - Possible matching sprites for "bonesetter" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-10-27T05:40:29.1052751Z /obj/item/blood_filter does not have an inhand_icon_state value - Possible matching sprites for "bloodfilter" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-10-27T05:40:29.1055555Z /obj/item/mecha_ammo/flashbang does not have an inhand_icon_state value - Possible matching sprites for "flashbang" found in: 'icons/mob/inhands/equipment/security_righthand.dmi' & 'icons/mob/inhands/equipment/security_lefthand.dmi' +2022-10-27T05:40:29.1056050Z +2022-10-27T05:40:29.1056364Z PASS /datum/unit_test/defined_inhand_icon_states 1s +2022-10-27T05:40:29.1057048Z ##[endgroup] +2022-10-27T05:40:30.3200151Z ##[group]/datum/unit_test/keybinding_init +2022-10-27T05:40:30.3200418Z +2022-10-27T05:40:30.3201050Z PASS /datum/unit_test/keybinding_init 0s +2022-10-27T05:40:30.3201648Z ##[endgroup] +2022-10-27T05:40:30.3369516Z ##[group]/datum/unit_test/knockoff_component +2022-10-27T05:40:30.3974289Z +2022-10-27T05:40:30.3975134Z PASS /datum/unit_test/knockoff_component 0s +2022-10-27T05:40:30.3975848Z ##[endgroup] +2022-10-27T05:40:30.4758006Z ##[group]/datum/unit_test/limbsanity +2022-10-27T05:40:30.5511170Z +2022-10-27T05:40:30.5512056Z PASS /datum/unit_test/limbsanity 0.1s +2022-10-27T05:40:30.5513064Z ##[endgroup] +2022-10-27T05:40:30.5683011Z ##[group]/datum/unit_test/load_map_security +2022-10-27T05:40:30.5686279Z map directory not in whitelist: data/load_map_security_temp for map runtimestation +2022-10-27T05:40:30.5686559Z +2022-10-27T05:40:30.5687309Z PASS /datum/unit_test/load_map_security 0s +2022-10-27T05:40:30.5688206Z ##[endgroup] +2022-10-27T05:40:30.5865089Z ##[group]/datum/unit_test/machine_disassembly +2022-10-27T05:40:30.5895192Z +2022-10-27T05:40:30.5895755Z PASS /datum/unit_test/machine_disassembly 0s +2022-10-27T05:40:30.5896331Z ##[endgroup] +2022-10-27T05:40:30.6183397Z ##[group]/datum/unit_test/mecha_damage +2022-10-27T05:40:30.6691654Z +2022-10-27T05:40:30.6692724Z PASS /datum/unit_test/mecha_damage 0s +2022-10-27T05:40:30.6693811Z ##[endgroup] +2022-10-27T05:40:30.7005279Z ##[group]/datum/unit_test/test_human_base +2022-10-27T05:40:30.7905422Z +2022-10-27T05:40:30.7906225Z PASS /datum/unit_test/test_human_base 0s +2022-10-27T05:40:30.7906953Z ##[endgroup] +2022-10-27T05:40:30.8626902Z ##[group]/datum/unit_test/test_human_bone +2022-10-27T05:40:30.9519120Z +2022-10-27T05:40:30.9520211Z PASS /datum/unit_test/test_human_bone 0.1s +2022-10-27T05:40:30.9521496Z ##[endgroup] +2022-10-27T05:40:31.2736006Z ##[group]/datum/unit_test/merge_type +2022-10-27T05:40:31.2741500Z +2022-10-27T05:40:31.2744034Z PASS /datum/unit_test/merge_type 0s +2022-10-27T05:40:31.2745007Z ##[endgroup] +2022-10-27T05:40:31.2940088Z ##[group]/datum/unit_test/metabolization +2022-10-27T05:40:31.5116749Z +2022-10-27T05:40:31.5119088Z PASS /datum/unit_test/metabolization 0.3s +2022-10-27T05:40:31.5120552Z ##[endgroup] +2022-10-27T05:40:31.8707226Z ##[group]/datum/unit_test/on_mob_end_metabolize +2022-10-27T05:40:31.9025163Z +2022-10-27T05:40:31.9025867Z PASS /datum/unit_test/on_mob_end_metabolize 0.1s +2022-10-27T05:40:31.9026521Z ##[endgroup] +2022-10-27T05:40:32.5850525Z ##[group]/datum/unit_test/addictions +2022-10-27T05:40:32.6747518Z +2022-10-27T05:40:32.6749097Z PASS /datum/unit_test/addictions 0.1s +2022-10-27T05:40:32.6749790Z ##[endgroup] +2022-10-27T05:40:32.8122227Z ##[group]/datum/unit_test/actions_moved_on_mind_transfer +2022-10-27T05:40:32.8435426Z +2022-10-27T05:40:32.8437029Z PASS /datum/unit_test/actions_moved_on_mind_transfer 0s +2022-10-27T05:40:32.8438267Z ##[endgroup] +2022-10-27T05:40:32.8685143Z ##[group]/datum/unit_test/mob_faction +2022-10-27T05:40:37.0355455Z +2022-10-27T05:40:37.0357124Z PASS /datum/unit_test/mob_faction 4.2s +2022-10-27T05:40:37.0358437Z ##[endgroup] +2022-10-27T05:40:46.3276946Z ##[group]/datum/unit_test/mob_spawn +2022-10-27T05:40:46.3478047Z +2022-10-27T05:40:46.3479094Z PASS /datum/unit_test/mob_spawn 0s +2022-10-27T05:40:46.3480121Z ##[endgroup] +2022-10-27T05:40:46.5088900Z ##[group]/datum/unit_test/modsuit_checks +2022-10-27T05:40:46.7422166Z +2022-10-27T05:40:46.7424741Z PASS /datum/unit_test/modsuit_checks 0.2s +2022-10-27T05:40:46.7426303Z ##[endgroup] +2022-10-27T05:40:46.9639966Z ##[group]/datum/unit_test/modular_map_loader +2022-10-27T05:40:46.9645920Z +2022-10-27T05:40:46.9647042Z PASS /datum/unit_test/modular_map_loader 0s +2022-10-27T05:40:46.9648824Z ##[endgroup] +2022-10-27T05:40:46.9857078Z ##[group]/datum/unit_test/mouse_bite_cable +2022-10-27T05:40:46.9906436Z +2022-10-27T05:40:46.9907445Z PASS /datum/unit_test/mouse_bite_cable 0s +2022-10-27T05:40:46.9908580Z ##[endgroup] +2022-10-27T05:40:47.0104524Z ##[group]/datum/unit_test/novaflower_burn +2022-10-27T05:40:47.0691141Z +2022-10-27T05:40:47.0692760Z PASS /datum/unit_test/novaflower_burn 0s +2022-10-27T05:40:47.0694697Z ##[endgroup] +2022-10-27T05:40:47.4496213Z ##[group]/datum/unit_test/ntnetwork +2022-10-27T05:40:47.4517846Z +2022-10-27T05:40:47.4518703Z PASS /datum/unit_test/ntnetwork 0s +2022-10-27T05:40:47.4519832Z ##[endgroup] +2022-10-27T05:40:47.4710883Z ##[group]/datum/unit_test/nuke_cinematic +2022-10-27T05:40:51.6544361Z +2022-10-27T05:40:51.6546808Z PASS /datum/unit_test/nuke_cinematic 4.2s +2022-10-27T05:40:51.6548322Z ##[endgroup] +2022-10-27T05:40:51.9750957Z ##[group]/datum/unit_test/objectives_category +2022-10-27T05:40:51.9754837Z +2022-10-27T05:40:51.9758911Z PASS /datum/unit_test/objectives_category 0s +2022-10-27T05:40:51.9762185Z ##[endgroup] +2022-10-27T05:40:51.9966795Z ##[group]/datum/unit_test/operating_table +2022-10-27T05:40:52.0501605Z +2022-10-27T05:40:52.0502705Z PASS /datum/unit_test/operating_table 0.1s +2022-10-27T05:40:52.0503789Z ##[endgroup] +2022-10-27T05:40:52.1317881Z ##[group]/datum/unit_test/outfit_sanity +2022-10-27T05:41:01.7976872Z +2022-10-27T05:41:01.7979182Z PASS /datum/unit_test/outfit_sanity 9.6s +2022-10-27T05:41:01.7980122Z ##[endgroup] +2022-10-27T05:41:11.4243742Z ##[group]/datum/unit_test/paintings +2022-10-27T05:41:11.4598558Z +2022-10-27T05:41:11.4599629Z PASS /datum/unit_test/paintings 0s +2022-10-27T05:41:11.4600448Z ##[endgroup] +2022-10-27T05:41:11.4792755Z ##[group]/datum/unit_test/pills +2022-10-27T05:41:11.5083505Z +2022-10-27T05:41:11.5084511Z PASS /datum/unit_test/pills 0.1s +2022-10-27T05:41:11.5085321Z ##[endgroup] +2022-10-27T05:41:11.5601428Z ##[group]/datum/unit_test/plane_double_transform +2022-10-27T05:41:11.5919033Z +2022-10-27T05:41:11.5921018Z PASS /datum/unit_test/plane_double_transform 0s +2022-10-27T05:41:11.5922301Z ##[endgroup] +2022-10-27T05:41:11.6221465Z ##[group]/datum/unit_test/plane_dupe_detector +2022-10-27T05:41:11.6222004Z +2022-10-27T05:41:11.6222655Z PASS /datum/unit_test/plane_dupe_detector 0s +2022-10-27T05:41:11.6223293Z ##[endgroup] +2022-10-27T05:41:11.6426244Z ##[group]/datum/unit_test/plantgrowth +2022-10-27T05:41:11.6982938Z +2022-10-27T05:41:11.6984405Z PASS /datum/unit_test/plantgrowth 0s +2022-10-27T05:41:11.6985721Z ##[endgroup] +2022-10-27T05:41:11.7325573Z ##[group]/datum/unit_test/preference_species +2022-10-27T05:41:11.7325819Z +2022-10-27T05:41:11.7328286Z PASS /datum/unit_test/preference_species 0s +2022-10-27T05:41:11.7329335Z ##[endgroup] +2022-10-27T05:41:11.7520773Z ##[group]/datum/unit_test/preferences_implement_everything +2022-10-27T05:41:18.7582701Z +2022-10-27T05:41:18.7583967Z PASS /datum/unit_test/preferences_implement_everything 7s +2022-10-27T05:41:18.7674142Z ##[endgroup] +2022-10-27T05:41:25.7837961Z ##[group]/datum/unit_test/preferences_valid_savefile_key +2022-10-27T05:41:25.7840087Z +2022-10-27T05:41:25.7841504Z PASS /datum/unit_test/preferences_valid_savefile_key 0s +2022-10-27T05:41:25.7842504Z ##[endgroup] +2022-10-27T05:41:25.8045081Z ##[group]/datum/unit_test/preferences_valid_main_feature_name +2022-10-27T05:41:25.8046166Z +2022-10-27T05:41:25.8047192Z PASS /datum/unit_test/preferences_valid_main_feature_name 0s +2022-10-27T05:41:25.8049437Z ##[endgroup] +2022-10-27T05:41:25.8233566Z ##[group]/datum/unit_test/projectile_movetypes +2022-10-27T05:41:25.8234187Z +2022-10-27T05:41:25.8235057Z PASS /datum/unit_test/projectile_movetypes 0s +2022-10-27T05:41:25.8238602Z ##[endgroup] +2022-10-27T05:41:25.8422043Z ##[group]/datum/unit_test/gun_go_bang +2022-10-27T05:41:25.9103045Z +2022-10-27T05:41:25.9104017Z PASS /datum/unit_test/gun_go_bang 0.1s +2022-10-27T05:41:25.9105102Z ##[endgroup] +2022-10-27T05:41:25.9957966Z ##[group]/datum/unit_test/quirk_icons +2022-10-27T05:41:25.9958970Z +2022-10-27T05:41:25.9960876Z PASS /datum/unit_test/quirk_icons 0s +2022-10-27T05:41:25.9961959Z ##[endgroup] +2022-10-27T05:41:26.0166772Z ##[group]/datum/unit_test/range_return +2022-10-27T05:41:26.0167357Z +2022-10-27T05:41:26.0167980Z PASS /datum/unit_test/range_return 0s +2022-10-27T05:41:26.0222740Z ##[endgroup] +2022-10-27T05:41:26.0353132Z ##[group]/datum/unit_test/frame_stacking +2022-10-27T05:41:26.0914496Z +2022-10-27T05:41:26.0915254Z PASS /datum/unit_test/frame_stacking 0s +2022-10-27T05:41:26.0916011Z ##[endgroup] +2022-10-27T05:41:26.1694918Z ##[group]/datum/unit_test/reagent_id_typos +2022-10-27T05:41:26.1727233Z +2022-10-27T05:41:26.1728009Z PASS /datum/unit_test/reagent_id_typos 0s +2022-10-27T05:41:26.1728685Z ##[endgroup] +2022-10-27T05:41:26.1920271Z ##[group]/datum/unit_test/reagent_mob_expose +2022-10-27T05:41:26.2268321Z +2022-10-27T05:41:26.2269120Z PASS /datum/unit_test/reagent_mob_expose 0.1s +2022-10-27T05:41:26.2269829Z ##[endgroup] +2022-10-27T05:41:26.2549234Z ##[group]/datum/unit_test/reagent_mob_procs +2022-10-27T05:41:26.2827770Z +2022-10-27T05:41:26.2828618Z PASS /datum/unit_test/reagent_mob_procs 0s +2022-10-27T05:41:26.2829318Z ##[endgroup] +2022-10-27T05:41:26.3078178Z ##[group]/datum/unit_test/reagent_names +2022-10-27T05:41:27.1646047Z +2022-10-27T05:41:27.1647510Z PASS /datum/unit_test/reagent_names 0.8s +2022-10-27T05:41:27.1649181Z ##[endgroup] +2022-10-27T05:41:27.9838180Z ##[group]/datum/unit_test/reagent_recipe_collisions +2022-10-27T05:41:28.4462173Z +2022-10-27T05:41:28.4463469Z PASS /datum/unit_test/reagent_recipe_collisions 0.5s +2022-10-27T05:41:28.4464601Z ##[endgroup] +2022-10-27T05:41:28.8661632Z ##[group]/datum/unit_test/reagent_transfer +2022-10-27T05:41:28.8670725Z +2022-10-27T05:41:28.8671943Z PASS /datum/unit_test/reagent_transfer 0s +2022-10-27T05:41:28.8673335Z ##[endgroup] +2022-10-27T05:41:28.8888500Z ##[group]/datum/unit_test/stop_drop_and_roll +2022-10-27T05:41:28.9156826Z +2022-10-27T05:41:28.9160888Z PASS /datum/unit_test/stop_drop_and_roll 0.1s +2022-10-27T05:41:28.9162086Z ##[endgroup] +2022-10-27T05:41:28.9403341Z ##[group]/datum/unit_test/container_resist +2022-10-27T05:41:28.9744033Z +2022-10-27T05:41:28.9746221Z PASS /datum/unit_test/container_resist 0s +2022-10-27T05:41:28.9748317Z ##[endgroup] +2022-10-27T05:41:29.0027065Z ##[group]/datum/unit_test/get_message_mods +2022-10-27T05:41:29.0268010Z +2022-10-27T05:41:29.0269082Z PASS /datum/unit_test/get_message_mods 0s +2022-10-27T05:41:29.0270222Z ##[endgroup] +2022-10-27T05:41:29.0513097Z ##[group]/datum/unit_test/say_signal +2022-10-27T05:41:29.0526010Z +2022-10-27T05:41:29.0526949Z PASS /datum/unit_test/say_signal 0s +2022-10-27T05:41:29.0528292Z ##[endgroup] +2022-10-27T05:41:29.0718244Z ##[group]/datum/unit_test/screenshot_antag_icons +2022-10-27T05:41:29.0735578Z screenshot_antag_icons_fugitive was put in data/screenshots_new +2022-10-27T05:41:29.0746540Z screenshot_antag_icons_loneoperative was put in data/screenshots_new +2022-10-27T05:41:29.1154449Z screenshot_antag_icons_sentiencepotionspawn was put in data/screenshots_new +2022-10-27T05:41:29.1168816Z screenshot_antag_icons_traitor was put in data/screenshots_new +2022-10-27T05:41:29.1651315Z screenshot_antag_icons_malfai was put in data/screenshots_new +2022-10-27T05:41:29.1695591Z screenshot_antag_icons_bloodbrother was put in data/screenshots_new +2022-10-27T05:41:29.1703594Z screenshot_antag_icons_changeling was put in data/screenshots_new +2022-10-27T05:41:29.1768645Z screenshot_antag_icons_heretic was put in data/screenshots_new +2022-10-27T05:41:29.1779481Z screenshot_antag_icons_wizard was put in data/screenshots_new +2022-10-27T05:41:29.1818096Z screenshot_antag_icons_cultist was put in data/screenshots_new +2022-10-27T05:41:29.1834393Z screenshot_antag_icons_operative was put in data/screenshots_new +2022-10-27T05:41:29.1849934Z screenshot_antag_icons_clownoperative was put in data/screenshots_new +2022-10-27T05:41:29.1867009Z screenshot_antag_icons_headrevolutionary was put in data/screenshots_new +2022-10-27T05:41:29.1869714Z screenshot_antag_icons_syndicateinfiltrator was put in data/screenshots_new +2022-10-27T05:41:29.1870566Z screenshot_antag_icons_provocateur was put in data/screenshots_new +2022-10-27T05:41:29.1871844Z screenshot_antag_icons_hereticsmuggler was put in data/screenshots_new +2022-10-27T05:41:29.1872299Z screenshot_antag_icons_wizardmidround was put in data/screenshots_new +2022-10-27T05:41:29.1874172Z screenshot_antag_icons_operativemidround was put in data/screenshots_new +2022-10-27T05:41:29.2627121Z screenshot_antag_icons_blob was put in data/screenshots_new +2022-10-27T05:41:29.2749190Z screenshot_antag_icons_xenomorph was put in data/screenshots_new +2022-10-27T05:41:29.2756569Z screenshot_antag_icons_nightmare was put in data/screenshots_new +2022-10-27T05:41:29.2840326Z screenshot_antag_icons_spacedragon was put in data/screenshots_new +2022-10-27T05:41:29.2847600Z screenshot_antag_icons_abductor was put in data/screenshots_new +2022-10-27T05:41:29.2854366Z screenshot_antag_icons_spaceninja was put in data/screenshots_new +2022-10-27T05:41:29.3137655Z screenshot_antag_icons_revenant was put in data/screenshots_new +2022-10-27T05:41:29.3161866Z screenshot_antag_icons_sentientdisease was put in data/screenshots_new +2022-10-27T05:41:29.3163321Z screenshot_antag_icons_syndicatesleeperagent was put in data/screenshots_new +2022-10-27T05:41:29.3355078Z screenshot_antag_icons_blobinfection was put in data/screenshots_new +2022-10-27T05:41:29.3368910Z screenshot_antag_icons_obsessed was put in data/screenshots_new +2022-10-27T05:41:29.3372287Z screenshot_antag_icons_malfaimidround was put in data/screenshots_new +2022-10-27T05:41:29.3372581Z +2022-10-27T05:41:29.3373097Z PASS /datum/unit_test/screenshot_antag_icons 0.3s +2022-10-27T05:41:29.3373772Z ##[endgroup] +2022-10-27T05:41:29.6066997Z ##[group]/datum/unit_test/screenshot_basic +2022-10-27T05:41:29.6075525Z screenshot_basic_red was put in data/screenshots_new +2022-10-27T05:41:29.6078638Z +2022-10-27T05:41:29.6082196Z PASS /datum/unit_test/screenshot_basic 0s +2022-10-27T05:41:29.6085438Z ##[endgroup] +2022-10-27T05:41:29.6308021Z ##[group]/datum/unit_test/screenshot_humanoids +2022-10-27T05:41:30.3591652Z screenshot_humanoids__datum_species_lizard was put in data/screenshots_new +2022-10-27T05:41:31.2589662Z screenshot_humanoids__datum_species_moth was put in data/screenshots_new +2022-10-27T05:41:31.9323705Z screenshot_humanoids__datum_species_shadow was put in data/screenshots_new +2022-10-27T05:41:32.1651600Z screenshot_humanoids__datum_species_shadow_nightmare was put in data/screenshots_new +2022-10-27T05:41:32.8142370Z screenshot_humanoids__datum_species_abductor was put in data/screenshots_new +2022-10-27T05:41:33.4104949Z screenshot_humanoids__datum_species_android was put in data/screenshots_new +2022-10-27T05:41:34.0306787Z screenshot_humanoids__datum_species_dullahan was put in data/screenshots_new +2022-10-27T05:41:34.6399759Z screenshot_humanoids__datum_species_ethereal was put in data/screenshots_new +2022-10-27T05:41:35.3333622Z screenshot_humanoids__datum_species_human was put in data/screenshots_new +2022-10-27T05:41:36.1586851Z screenshot_humanoids__datum_species_human_felinid was put in data/screenshots_new +2022-10-27T05:41:36.9430568Z screenshot_humanoids__datum_species_human_krokodil_addict was put in data/screenshots_new +2022-10-27T05:41:37.7067338Z screenshot_humanoids__datum_species_fly was put in data/screenshots_new +2022-10-27T05:41:38.3488088Z screenshot_humanoids__datum_species_golem was put in data/screenshots_new +2022-10-27T05:41:38.9816576Z screenshot_humanoids__datum_species_golem_adamantine was put in data/screenshots_new +2022-10-27T05:41:39.6179037Z screenshot_humanoids__datum_species_golem_plasma was put in data/screenshots_new +2022-10-27T05:41:40.2518127Z screenshot_humanoids__datum_species_golem_diamond was put in data/screenshots_new +2022-10-27T05:41:40.9179988Z screenshot_humanoids__datum_species_golem_gold was put in data/screenshots_new +2022-10-27T05:41:41.5666452Z screenshot_humanoids__datum_species_golem_silver was put in data/screenshots_new +2022-10-27T05:41:42.2085418Z screenshot_humanoids__datum_species_golem_plasteel was put in data/screenshots_new +2022-10-27T05:41:42.7916566Z screenshot_humanoids__datum_species_golem_titanium was put in data/screenshots_new +2022-10-27T05:41:43.4311508Z screenshot_humanoids__datum_species_golem_plastitanium was put in data/screenshots_new +2022-10-27T05:41:44.0632010Z screenshot_humanoids__datum_species_golem_alloy was put in data/screenshots_new +2022-10-27T05:41:44.7023401Z screenshot_humanoids__datum_species_golem_wood was put in data/screenshots_new +2022-10-27T05:41:45.3273391Z screenshot_humanoids__datum_species_golem_uranium was put in data/screenshots_new +2022-10-27T05:41:45.9609338Z screenshot_humanoids__datum_species_golem_sand was put in data/screenshots_new +2022-10-27T05:41:46.5998181Z screenshot_humanoids__datum_species_golem_glass was put in data/screenshots_new +2022-10-27T05:41:47.2316624Z screenshot_humanoids__datum_species_golem_bluespace was put in data/screenshots_new +2022-10-27T05:41:47.8414848Z screenshot_humanoids__datum_species_golem_bananium was put in data/screenshots_new +2022-10-27T05:41:48.3268058Z screenshot_humanoids__datum_species_golem_runic was put in data/screenshots_new +2022-10-27T05:41:49.0158232Z screenshot_humanoids__datum_species_golem_cloth was put in data/screenshots_new +2022-10-27T05:41:49.5977864Z screenshot_humanoids__datum_species_golem_plastic was put in data/screenshots_new +2022-10-27T05:41:50.2331785Z screenshot_humanoids__datum_species_golem_bronze was put in data/screenshots_new +2022-10-27T05:41:50.7727391Z screenshot_humanoids__datum_species_golem_cardboard was put in data/screenshots_new +2022-10-27T05:41:51.4241290Z screenshot_humanoids__datum_species_golem_leather was put in data/screenshots_new +2022-10-27T05:41:51.9263638Z screenshot_humanoids__datum_species_golem_durathread was put in data/screenshots_new +2022-10-27T05:41:52.4187080Z screenshot_humanoids__datum_species_golem_bone was put in data/screenshots_new +2022-10-27T05:41:52.9144290Z screenshot_humanoids__datum_species_golem_snow was put in data/screenshots_new +2022-10-27T05:41:53.5567094Z screenshot_humanoids__datum_species_golem_mhydrogen was put in data/screenshots_new +2022-10-27T05:41:54.2523403Z screenshot_humanoids__datum_species_jelly was put in data/screenshots_new +2022-10-27T05:41:54.9494868Z screenshot_humanoids__datum_species_jelly_slime was put in data/screenshots_new +2022-10-27T05:41:55.6574845Z screenshot_humanoids__datum_species_jelly_luminescent was put in data/screenshots_new +2022-10-27T05:41:56.3636662Z screenshot_humanoids__datum_species_jelly_stargazer was put in data/screenshots_new +2022-10-27T05:41:56.9807853Z screenshot_humanoids__datum_species_lizard_ashwalker was put in data/screenshots_new +2022-10-27T05:41:57.6172458Z screenshot_humanoids__datum_species_lizard_silverscale was put in data/screenshots_new +2022-10-27T05:41:57.7952429Z screenshot_humanoids__datum_species_monkey was put in data/screenshots_new +2022-10-27T05:41:58.3429906Z screenshot_humanoids__datum_species_mush was put in data/screenshots_new +2022-10-27T05:41:58.9291358Z screenshot_humanoids__datum_species_plasmaman was put in data/screenshots_new +2022-10-27T05:41:59.6393043Z screenshot_humanoids__datum_species_pod was put in data/screenshots_new +2022-10-27T05:42:00.3004709Z screenshot_humanoids__datum_species_skeleton was put in data/screenshots_new +2022-10-27T05:42:01.0488511Z screenshot_humanoids__datum_species_snail was put in data/screenshots_new +2022-10-27T05:42:01.7655604Z screenshot_humanoids__datum_species_vampire was put in data/screenshots_new +2022-10-27T05:42:02.5637759Z screenshot_humanoids__datum_species_zombie was put in data/screenshots_new +2022-10-27T05:42:03.4341531Z screenshot_humanoids__datum_species_zombie_infectious was put in data/screenshots_new +2022-10-27T05:42:03.4342475Z +2022-10-27T05:42:03.4433344Z PASS /datum/unit_test/screenshot_humanoids 33.8s +2022-10-27T05:42:03.4434057Z ##[endgroup] +2022-10-27T05:42:38.0137819Z ##[group]/datum/unit_test/screenshot_saturnx +2022-10-27T05:42:38.2805908Z screenshot_saturnx_invisibility was put in data/screenshots_new +2022-10-27T05:42:38.2806525Z +2022-10-27T05:42:38.2807422Z PASS /datum/unit_test/screenshot_saturnx 0.2s +2022-10-27T05:42:38.2808381Z ##[endgroup] +2022-10-27T05:42:38.5125108Z ##[group]/datum/unit_test/security_officer_roundstart_distribution +2022-10-27T05:42:38.6313313Z +2022-10-27T05:42:38.6314073Z PASS /datum/unit_test/security_officer_roundstart_distribution 0.1s +2022-10-27T05:42:38.6314848Z ##[endgroup] +2022-10-27T05:42:38.7844382Z ##[group]/datum/unit_test/security_officer_latejoin_distribution +2022-10-27T05:42:39.3108839Z +2022-10-27T05:42:39.3109578Z PASS /datum/unit_test/security_officer_latejoin_distribution 0.5s +2022-10-27T05:42:39.3110392Z ##[endgroup] +2022-10-27T05:42:39.8689626Z ##[group]/datum/unit_test/security_levels +2022-10-27T05:42:39.8691007Z +2022-10-27T05:42:39.8692358Z PASS /datum/unit_test/security_levels 0s +2022-10-27T05:42:39.8694155Z ##[endgroup] +2022-10-27T05:42:39.8954646Z ##[group]/datum/unit_test/servingtray +2022-10-27T05:42:39.9246160Z +2022-10-27T05:42:39.9246828Z PASS /datum/unit_test/servingtray 0.1s +2022-10-27T05:42:39.9247596Z ##[endgroup] +2022-10-27T05:42:39.9527510Z ##[group]/datum/unit_test/simple_animal_freeze +2022-10-27T05:42:39.9538858Z +2022-10-27T05:42:39.9539579Z PASS /datum/unit_test/simple_animal_freeze 0s +2022-10-27T05:42:39.9540575Z ##[endgroup] +2022-10-27T05:42:39.9737208Z ##[group]/datum/unit_test/siunit +2022-10-27T05:42:39.9737877Z +2022-10-27T05:42:39.9739067Z PASS /datum/unit_test/siunit 0s +2022-10-27T05:42:39.9739970Z ##[endgroup] +2022-10-27T05:42:40.0059889Z ##[group]/datum/unit_test/slips +2022-10-27T05:42:40.0605319Z +2022-10-27T05:42:40.0606405Z PASS /datum/unit_test/slips 0s +2022-10-27T05:42:40.0608008Z ##[endgroup] +2022-10-27T05:42:40.1167017Z ##[group]/datum/unit_test/spawn_humans +2022-10-27T05:42:45.1906375Z +2022-10-27T05:42:45.1907903Z PASS /datum/unit_test/spawn_humans 5s +2022-10-27T05:42:45.1910749Z ##[endgroup] +2022-10-27T05:42:45.2427283Z ##[group]/datum/unit_test/spawn_mobs +2022-10-27T05:42:45.3357801Z +2022-10-27T05:42:45.3359033Z PASS /datum/unit_test/spawn_mobs 0.1s +2022-10-27T05:42:45.3361725Z ##[endgroup] +2022-10-27T05:42:45.5043702Z ##[group]/datum/unit_test/species_change_clothing +2022-10-27T05:42:45.6048589Z +2022-10-27T05:42:45.6049694Z PASS /datum/unit_test/species_change_clothing 0.1s +2022-10-27T05:42:45.6051771Z ##[endgroup] +2022-10-27T05:42:45.6837595Z ##[group]/datum/unit_test/species_change_organs +2022-10-27T05:42:45.7545977Z +2022-10-27T05:42:45.7546831Z PASS /datum/unit_test/species_change_organs 0.1s +2022-10-27T05:42:45.7547563Z ##[endgroup] +2022-10-27T05:42:45.7836582Z ##[group]/datum/unit_test/species_config_sanity +2022-10-27T05:42:45.7840840Z +2022-10-27T05:42:45.7842768Z PASS /datum/unit_test/species_config_sanity 0s +2022-10-27T05:42:45.7844337Z ##[endgroup] +2022-10-27T05:42:45.8022187Z ##[group]/datum/unit_test/species_unique_id +2022-10-27T05:42:45.8022866Z +2022-10-27T05:42:45.8075321Z PASS /datum/unit_test/species_unique_id 0s +2022-10-27T05:42:45.8076400Z ##[endgroup] +2022-10-27T05:42:45.8351362Z ##[group]/datum/unit_test/species_whitelist_check +2022-10-27T05:42:45.8351724Z +2022-10-27T05:42:45.8352365Z PASS /datum/unit_test/species_whitelist_check 0s +2022-10-27T05:42:45.8353142Z ##[endgroup] +2022-10-27T05:42:45.8533484Z ##[group]/datum/unit_test/spell_invocations +2022-10-27T05:42:45.8533768Z +2022-10-27T05:42:45.8534255Z PASS /datum/unit_test/spell_invocations 0s +2022-10-27T05:42:45.8534811Z ##[endgroup] +2022-10-27T05:42:45.8839364Z ##[group]/datum/unit_test/mind_swap_spell +2022-10-27T05:42:45.9396663Z +2022-10-27T05:42:45.9397306Z PASS /datum/unit_test/mind_swap_spell 0.1s +2022-10-27T05:42:45.9397999Z ##[endgroup] +2022-10-27T05:42:45.9707938Z ##[group]/datum/unit_test/spell_names +2022-10-27T05:42:45.9708233Z +2022-10-27T05:42:45.9708764Z PASS /datum/unit_test/spell_names 0s +2022-10-27T05:42:45.9709443Z ##[endgroup] +2022-10-27T05:42:45.9892272Z ##[group]/datum/unit_test/shapeshift_spell_validity +2022-10-27T05:42:45.9896681Z +2022-10-27T05:42:45.9897201Z PASS /datum/unit_test/shapeshift_spell_validity 0s +2022-10-27T05:42:45.9897727Z ##[endgroup] +2022-10-27T05:42:46.0425278Z ##[group]/datum/unit_test/shapeshift_spell +2022-10-27T05:42:46.3445398Z +2022-10-27T05:42:46.3446335Z PASS /datum/unit_test/shapeshift_spell 0.3s +2022-10-27T05:42:46.3447239Z ##[endgroup] +2022-10-27T05:42:46.8200052Z ##[group]/datum/unit_test/shapeshift_holoparasites +2022-10-27T05:42:46.8537455Z +2022-10-27T05:42:46.8539870Z PASS /datum/unit_test/shapeshift_holoparasites 0s +2022-10-27T05:42:46.8541451Z ##[endgroup] +2022-10-27T05:42:46.9292759Z ##[group]/datum/unit_test/spritesheets +2022-10-27T05:42:50.5944827Z +2022-10-27T05:42:50.5945740Z PASS /datum/unit_test/spritesheets 3.6s +2022-10-27T05:42:50.5946612Z ##[endgroup] +2022-10-27T05:42:57.1137055Z ##[group]/datum/unit_test/stack_singular_name +2022-10-27T05:42:57.1142555Z +2022-10-27T05:42:57.1145224Z PASS /datum/unit_test/stack_singular_name 0s +2022-10-27T05:42:57.1147574Z ##[endgroup] +2022-10-27T05:42:57.1358739Z ##[group]/datum/unit_test/stomach +2022-10-27T05:42:57.1694838Z +2022-10-27T05:42:57.1695603Z PASS /datum/unit_test/stomach 0s +2022-10-27T05:42:57.1696272Z ##[endgroup] +2022-10-27T05:42:57.1961163Z ##[group]/datum/unit_test/strip_menu_ui_status +2022-10-27T05:42:57.2480737Z +2022-10-27T05:42:57.2481561Z PASS /datum/unit_test/strip_menu_ui_status 0.1s +2022-10-27T05:42:57.2483682Z ##[endgroup] +2022-10-27T05:42:57.3124509Z ##[group]/datum/unit_test/subsystem_init +2022-10-27T05:42:57.3124738Z +2022-10-27T05:42:57.3127230Z PASS /datum/unit_test/subsystem_init 0s +2022-10-27T05:42:57.3128294Z ##[endgroup] +2022-10-27T05:42:57.3335312Z ##[group]/datum/unit_test/suit_storage_icons +2022-10-27T05:42:59.0884928Z 1 - /obj/item/ammo_casing/shotgun using invalid worn_icon_state, "shell" +2022-10-27T05:42:59.1022656Z 2 - /obj/item/gun/ballistic/shotgun/hook using invalid icon_state, "hookshotgun" +2022-10-27T05:42:59.1167874Z 3 - /obj/item/gun/ballistic/automatic/surplus using invalid icon_state, "surplus" +2022-10-27T05:42:59.1313544Z 4 - /obj/item/gun/energy/beam_rifle using invalid icon_state, "esniper" +2022-10-27T05:42:59.1335197Z 5 - /obj/item/gun/energy/lasercannon using invalid icon_state, "lasercannon" +2022-10-27T05:42:59.1363131Z 6 - /obj/item/gun/energy/ionrifle using invalid icon_state, "ionrifle" +2022-10-27T05:42:59.1364702Z 7 - /obj/item/gun/energy/ionrifle/carbine using invalid icon_state, "ioncarbine" +2022-10-27T05:42:59.1507295Z 8 - /obj/item/tome using invalid icon_state, "tome" +2022-10-27T05:42:59.1546690Z 9 - /obj/item/melee/sickly_blade/void using invalid icon_state, "void_blade" +2022-10-27T05:42:59.1558801Z 10 - /obj/item/nullrod/staff using invalid icon_state, "godstaff-red" +2022-10-27T05:42:59.1561300Z 11 - /obj/item/nullrod/staff/blue using invalid icon_state, "godstaff-blue" +2022-10-27T05:42:59.1647859Z 12 - /obj/item/nullrod/tribal_knife using invalid icon_state, "crysknife" +2022-10-27T05:42:59.1657290Z 13 - /obj/item/nullrod/spear using invalid icon_state, "ratvarian_spear" +2022-10-27T05:42:59.1666968Z 14 - /obj/item/candle using invalid icon_state, "candle1" +2022-10-27T05:42:59.2050751Z 15 - /obj/item/toy/eightball using invalid icon_state, "eightball" +2022-10-27T05:42:59.2053756Z 16 - /obj/item/toy/mecha using invalid icon_state, "fivestarstoy" +2022-10-27T05:42:59.2055847Z 17 - /obj/item/toy/mecha/ripley using invalid icon_state, "ripleytoy" +2022-10-27T05:42:59.2058896Z 18 - /obj/item/toy/mecha/ripleymkii using invalid icon_state, "ripleymkiitoy" +2022-10-27T05:42:59.2061681Z 19 - /obj/item/toy/mecha/hauler using invalid icon_state, "haulertoy" +2022-10-27T05:42:59.2064463Z 20 - /obj/item/toy/mecha/clarke using invalid icon_state, "clarketoy" +2022-10-27T05:42:59.2067351Z 21 - /obj/item/toy/mecha/odysseus using invalid icon_state, "odysseustoy" +2022-10-27T05:42:59.2069885Z 22 - /obj/item/toy/mecha/gygax using invalid icon_state, "gygaxtoy" +2022-10-27T05:42:59.2072424Z 23 - /obj/item/toy/mecha/durand using invalid icon_state, "durandtoy" +2022-10-27T05:42:59.2075046Z 24 - /obj/item/toy/mecha/savannahivanov using invalid icon_state, "savannahivanovtoy" +2022-10-27T05:42:59.2077536Z 25 - /obj/item/toy/mecha/phazon using invalid icon_state, "phazontoy" +2022-10-27T05:42:59.2080032Z 26 - /obj/item/toy/mecha/honk using invalid icon_state, "honktoy" +2022-10-27T05:42:59.2083569Z 27 - /obj/item/toy/mecha/darkgygax using invalid icon_state, "darkgygaxtoy" +2022-10-27T05:42:59.2085844Z 28 - /obj/item/toy/mecha/mauler using invalid icon_state, "maulertoy" +2022-10-27T05:42:59.2088536Z 29 - /obj/item/toy/mecha/darkhonk using invalid icon_state, "darkhonktoy" +2022-10-27T05:42:59.2091361Z 30 - /obj/item/toy/mecha/deathripley using invalid icon_state, "deathripleytoy" +2022-10-27T05:42:59.2094603Z 31 - /obj/item/toy/mecha/reticence using invalid icon_state, "reticencetoy" +2022-10-27T05:42:59.2096993Z 32 - /obj/item/toy/mecha/marauder using invalid icon_state, "maraudertoy" +2022-10-27T05:42:59.2099775Z 33 - /obj/item/toy/mecha/seraph using invalid icon_state, "seraphtoy" +2022-10-27T05:42:59.2102793Z 34 - /obj/item/toy/mecha/firefighter using invalid icon_state, "firefightertoy" +2022-10-27T05:42:59.2105424Z 35 - /obj/item/toy/waterballoon using invalid icon_state, "waterballoon-e" +2022-10-27T05:42:59.2107991Z 36 - /obj/item/toy/balloon using invalid icon_state, "balloon" +2022-10-27T05:42:59.2111052Z 37 - /obj/item/toy/balloon/corgi using invalid icon_state, "corgi" +2022-10-27T05:42:59.2113846Z 38 - /obj/item/toy/balloon/syndicate using invalid icon_state, "syndballoon" +2022-10-27T05:42:59.2116990Z 39 - /obj/item/toy/balloon/arrest using invalid icon_state, "arrestballoon" +2022-10-27T05:42:59.2119545Z 40 - /obj/item/toy/captainsaid using invalid icon_state, "captainsaid_off" +2022-10-27T05:42:59.2122005Z 41 - /obj/item/toy/spinningtoy using invalid icon_state, "singularity_s1" +2022-10-27T05:42:59.2127416Z 42 - /obj/item/toy/ammo/gun using invalid icon_state, "357OLD-7" +2022-10-27T05:42:59.2130032Z 43 - /obj/item/toy/sword using invalid icon_state, "e_sword" +2022-10-27T05:42:59.2132828Z 44 - /obj/item/toy/foamblade using invalid icon_state, "foamblade" +2022-10-27T05:42:59.2135633Z 45 - /obj/item/toy/windup_toolbox using invalid icon_state, "green" +2022-10-27T05:42:59.2141209Z 46 - /obj/item/toy/snappop using invalid icon_state, "snappop" +2022-10-27T05:42:59.2144552Z 47 - /obj/item/toy/talking using invalid icon_state, "owlprize" +2022-10-27T05:42:59.2146583Z 48 - /obj/item/toy/talking/ai using invalid icon_state, "AI" +2022-10-27T05:42:59.2149175Z 49 - /obj/item/toy/talking/codex_gigas using invalid icon_state, "demonomicon" +2022-10-27T05:42:59.2151786Z 50 - /obj/item/toy/talking/griffin using invalid icon_state, "griffinprize" +2022-10-27T05:42:59.2155964Z 51 - /obj/item/toy/nuke using invalid icon_state, "nuketoyidle" +2022-10-27T05:42:59.2157504Z 52 - /obj/item/toy/minimeteor using invalid icon_state, "minimeteor" +2022-10-27T05:42:59.2160224Z 53 - /obj/item/toy/redbutton using invalid icon_state, "bigred" +2022-10-27T05:42:59.2163069Z 54 - /obj/item/toy/snowball using invalid icon_state, "snowball" +2022-10-27T05:42:59.2165858Z 55 - /obj/item/toy/beach_ball using invalid icon_state, "ball" +2022-10-27T05:42:59.2168809Z 56 - /obj/item/toy/beach_ball/baseball using invalid icon_state, "baseball" +2022-10-27T05:42:59.2171419Z 57 - /obj/item/toy/beach_ball/holoball using invalid icon_state, "basketball" +2022-10-27T05:42:59.2174156Z 58 - /obj/item/toy/beach_ball/holoball/dodgeball using invalid icon_state, "dodgeball" +2022-10-27T05:42:59.2182197Z 59 - /obj/item/toy/toy_xeno using invalid icon_state, "toy_xeno" +2022-10-27T05:42:59.2185181Z 60 - /obj/item/toy/cattoy using invalid icon_state, "toy_mouse" +2022-10-27T05:42:59.2187605Z 61 - /obj/item/toy/figure using invalid icon_state, "nuketoy" +2022-10-27T05:42:59.2190489Z 62 - /obj/item/toy/figure/cmo using invalid icon_state, "cmo" +2022-10-27T05:42:59.2193253Z 63 - /obj/item/toy/figure/assistant using invalid icon_state, "assistant" +2022-10-27T05:42:59.2196041Z 64 - /obj/item/toy/figure/atmos using invalid icon_state, "atmos" +2022-10-27T05:42:59.2198863Z 65 - /obj/item/toy/figure/bartender using invalid icon_state, "bartender" +2022-10-27T05:42:59.2201614Z 66 - /obj/item/toy/figure/borg using invalid icon_state, "borg" +2022-10-27T05:42:59.2204442Z 67 - /obj/item/toy/figure/botanist using invalid icon_state, "botanist" +2022-10-27T05:42:59.2207240Z 68 - /obj/item/toy/figure/captain using invalid icon_state, "captain" +2022-10-27T05:42:59.2210113Z 69 - /obj/item/toy/figure/cargotech using invalid icon_state, "cargotech" +2022-10-27T05:42:59.2212868Z 70 - /obj/item/toy/figure/ce using invalid icon_state, "ce" +2022-10-27T05:42:59.2215699Z 71 - /obj/item/toy/figure/chaplain using invalid icon_state, "chaplain" +2022-10-27T05:42:59.2218625Z 72 - /obj/item/toy/figure/chef using invalid icon_state, "chef" +2022-10-27T05:42:59.2221486Z 73 - /obj/item/toy/figure/chemist using invalid icon_state, "chemist" +2022-10-27T05:42:59.2224313Z 74 - /obj/item/toy/figure/clown using invalid icon_state, "clown" +2022-10-27T05:42:59.2227123Z 75 - /obj/item/toy/figure/ian using invalid icon_state, "ian" +2022-10-27T05:42:59.2229950Z 76 - /obj/item/toy/figure/detective using invalid icon_state, "detective" +2022-10-27T05:42:59.2232724Z 77 - /obj/item/toy/figure/dsquad using invalid icon_state, "dsquad" +2022-10-27T05:42:59.2236741Z 78 - /obj/item/toy/figure/engineer using invalid icon_state, "engineer" +2022-10-27T05:42:59.2239402Z 79 - /obj/item/toy/figure/geneticist using invalid icon_state, "geneticist" +2022-10-27T05:42:59.2242217Z 80 - /obj/item/toy/figure/hop using invalid icon_state, "hop" +2022-10-27T05:42:59.2245674Z 81 - /obj/item/toy/figure/hos using invalid icon_state, "hos" +2022-10-27T05:42:59.2247841Z 82 - /obj/item/toy/figure/qm using invalid icon_state, "qm" +2022-10-27T05:42:59.2250699Z 83 - /obj/item/toy/figure/janitor using invalid icon_state, "janitor" +2022-10-27T05:42:59.2253421Z 84 - /obj/item/toy/figure/lawyer using invalid icon_state, "lawyer" +2022-10-27T05:42:59.2256926Z 85 - /obj/item/toy/figure/curator using invalid icon_state, "curator" +2022-10-27T05:42:59.2260176Z 86 - /obj/item/toy/figure/md using invalid icon_state, "md" +2022-10-27T05:42:59.2262399Z 87 - /obj/item/toy/figure/paramedic using invalid icon_state, "paramedic" +2022-10-27T05:42:59.2265225Z 88 - /obj/item/toy/figure/psychologist using invalid icon_state, "psychologist" +2022-10-27T05:42:59.2268046Z 89 - /obj/item/toy/figure/prisoner using invalid icon_state, "prisoner" +2022-10-27T05:42:59.2270732Z 90 - /obj/item/toy/figure/mime using invalid icon_state, "mime" +2022-10-27T05:42:59.2273548Z 91 - /obj/item/toy/figure/miner using invalid icon_state, "miner" +2022-10-27T05:42:59.2276353Z 92 - /obj/item/toy/figure/ninja using invalid icon_state, "ninja" +2022-10-27T05:42:59.2279783Z 93 - /obj/item/toy/figure/wizard using invalid icon_state, "wizard" +2022-10-27T05:42:59.2281951Z 94 - /obj/item/toy/figure/rd using invalid icon_state, "rd" +2022-10-27T05:42:59.2284816Z 95 - /obj/item/toy/figure/roboticist using invalid icon_state, "roboticist" +2022-10-27T05:42:59.2287567Z 96 - /obj/item/toy/figure/scientist using invalid icon_state, "scientist" +2022-10-27T05:42:59.2290280Z 97 - /obj/item/toy/figure/syndie using invalid icon_state, "syndie" +2022-10-27T05:42:59.2293161Z 98 - /obj/item/toy/figure/secofficer using invalid icon_state, "secofficer" +2022-10-27T05:42:59.2295983Z 99 - /obj/item/toy/figure/virologist using invalid icon_state, "virologist" +2022-10-27T05:42:59.2298894Z 100 - /obj/item/toy/figure/warden using invalid icon_state, "warden" +2022-10-27T05:42:59.2301934Z 101 - /obj/item/toy/dummy using invalid icon_state, "puppet" +2022-10-27T05:42:59.2304886Z 102 - /obj/item/toy/seashell using invalid icon_state, "shell1" +2022-10-27T05:42:59.2307528Z 103 - /obj/item/toy/brokenradio using invalid icon_state, "broken_radio" +2022-10-27T05:42:59.2310163Z 104 - /obj/item/toy/braintoy using invalid icon_state, "brain-old" +2022-10-27T05:42:59.2315630Z 105 - /obj/item/toy/reality_pierce using invalid icon_state, "pierced_illusion" +2022-10-27T05:42:59.2318230Z 106 - /obj/item/toy/foamfinger using invalid icon_state, "foamfinger" +2022-10-27T05:42:59.2320978Z 107 - /obj/item/toy/intento using invalid icon_state, "blank" +2022-10-27T05:42:59.2380048Z 108 - /obj/item/toy/sprayoncan using invalid icon_state, "sprayoncan" +2022-10-27T05:42:59.2380659Z 109 - /obj/item/toy/xmas_cracker using invalid icon_state, "cracker" +2022-10-27T05:42:59.2381172Z 110 - /obj/item/cultivator/rake using invalid icon_state, "rake" +2022-10-27T05:42:59.2381690Z 111 - /obj/item/hatchet/wooden using invalid icon_state, "woodhatchet" +2022-10-27T05:42:59.2382240Z 112 - /obj/item/hatchet/cutterblade using invalid icon_state, "cutterblade" +2022-10-27T05:42:59.3124390Z 113 - /obj/item/reagent_containers/hypospray/medipen using invalid worn_icon_state, "medipen" +2022-10-27T05:42:59.3278187Z 114 - /obj/item/storage/pill_bottle using invalid icon_state, "pill_canister" +2022-10-27T05:42:59.3287606Z 115 - /obj/item/analyzer/ranged using invalid icon_state, "analyzerranged" +2022-10-27T05:42:59.3880589Z 116 - /obj/item/organ/internal/regenerative_core/legion using invalid icon_state, "legion_soul" +2022-10-27T05:42:59.3891926Z 117 - /obj/item/spear/bamboospear using invalid icon_state, "bamboo_spear0" +2022-10-27T05:42:59.3936485Z 118 - /obj/item/abductor/gizmo using invalid icon_state, "gizmo_scan" +2022-10-27T05:42:59.3938721Z 119 - /obj/item/abductor/silencer using invalid icon_state, "silencer" +2022-10-27T05:42:59.3939330Z 120 - /obj/item/abductor/mind_device using invalid icon_state, "mind_device_message" +2022-10-27T05:42:59.3955530Z 121 - /obj/item/claymore/cutlass using invalid worn_icon_state, "cutlass" +2022-10-27T05:42:59.3960287Z 122 - /obj/item/claymore/highlander/robot using invalid icon_state, "claymore_cyborg" +2022-10-27T05:42:59.3963042Z 123 - /obj/item/banner using invalid icon_state, "banner" +2022-10-27T05:42:59.3966004Z 124 - /obj/item/banner/security using invalid icon_state, "banner_security" +2022-10-27T05:42:59.3968500Z 125 - /obj/item/banner/medical using invalid icon_state, "banner_medical" +2022-10-27T05:42:59.3971572Z 126 - /obj/item/banner/science using invalid icon_state, "banner_science" +2022-10-27T05:42:59.3974330Z 127 - /obj/item/banner/cargo using invalid icon_state, "banner_cargo" +2022-10-27T05:42:59.3977163Z 128 - /obj/item/banner/engineering using invalid icon_state, "banner_engineering" +2022-10-27T05:42:59.3980201Z 129 - /obj/item/banner/red using invalid icon_state, "banner-red" +2022-10-27T05:42:59.3983133Z 130 - /obj/item/banner/blue using invalid icon_state, "banner-blue" +2022-10-27T05:42:59.4023342Z 131 - /obj/item/gun/magic/staff using invalid icon_state, "staff" +2022-10-27T05:42:59.4025602Z 132 - /obj/item/gun/magic/staff/change using invalid icon_state, "staffofchange" +2022-10-27T05:42:59.4028458Z 133 - /obj/item/gun/magic/staff/animate using invalid icon_state, "staffofanimation" +2022-10-27T05:42:59.4031283Z 134 - /obj/item/gun/magic/staff/healing using invalid icon_state, "staffofhealing" +2022-10-27T05:42:59.4034153Z 135 - /obj/item/gun/magic/staff/chaos using invalid icon_state, "staffofchaos" +2022-10-27T05:42:59.4036955Z 136 - /obj/item/gun/magic/staff/door using invalid icon_state, "staffofdoor" +2022-10-27T05:42:59.4039732Z 137 - /obj/item/gun/magic/staff/honk using invalid icon_state, "honker" +2022-10-27T05:42:59.4045070Z 138 - /obj/item/gun/magic/staff/locker using invalid worn_icon_state, "lockerstaff" +2022-10-27T05:42:59.4047723Z 139 - /obj/item/gun/magic/staff/flying using invalid worn_icon_state, "flightstaff" +2022-10-27T05:42:59.4050532Z 140 - /obj/item/gun/magic/staff/babel using invalid worn_icon_state, "babelstaff" +2022-10-27T05:42:59.4053458Z 141 - /obj/item/gun/magic/staff/necropotence using invalid worn_icon_state, "necrostaff" +2022-10-27T05:42:59.4056307Z 142 - /obj/item/gun/magic/staff/wipe using invalid worn_icon_state, "wipestaff" +2022-10-27T05:42:59.4075733Z 143 - /obj/item/melee/energy/sword/pirate using invalid icon_state, "e_cutlass" +2022-10-27T05:42:59.4078221Z 144 - /obj/item/clothing/glasses/eyepatch using invalid icon_state, "eyepatch" +2022-10-27T05:42:59.4083656Z 145 - /obj/item/melee/energy/sword/cyborg/saw using invalid icon_state, "esaw" +2022-10-27T05:42:59.4096186Z 146 - /obj/item/tank/jetpack/improvised using invalid worn_icon_state, "jetpack-improvised" +2022-10-27T05:42:59.4103014Z 147 - /obj/item/multitool using invalid icon_state, "multitool" +2022-10-27T05:42:59.4106594Z 148 - /obj/item/multitool/cyborg using invalid icon_state, "multitool_cyborg" +2022-10-27T05:42:59.4108989Z 149 - /obj/item/multitool/circuit using invalid icon_state, "multitool_circuit" +2022-10-27T05:42:59.4112331Z 150 - /obj/item/storage/bag/trash using invalid icon_state, "trashbag" +2022-10-27T05:42:59.4114785Z 151 - /obj/item/storage/bag/trash/bluespace using invalid icon_state, "bluetrashbag" +2022-10-27T05:42:59.4117882Z 152 - /obj/item/cane using invalid icon_state, "cane" +2022-10-27T05:42:59.4121455Z 153 - /obj/item/cane/white using invalid icon_state, "cane_white" +2022-10-27T05:42:59.4123404Z 154 - /obj/item/megaphone/clown using invalid icon_state, "megaphone-clown" +2022-10-27T05:42:59.4142890Z 155 - /obj/item/food/pie/cream using invalid icon_state, "pie" +2022-10-27T05:42:59.4157129Z 156 - /obj/item/instrument/bikehorn using invalid icon_state, "bike_horn" +2022-10-27T05:42:59.4160055Z 157 - /obj/item/reagent_containers/cup/soda_cans/canned_laughter using invalid icon_state, "laughter" +2022-10-27T05:42:59.4172872Z 158 - /obj/item/grown/bananapeel using invalid icon_state, "banana_peel" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-10-27T05:42:59.4173955Z 159 - /obj/item/grown/bananapeel/bombanana using invalid icon_state, "banana_peel" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-10-27T05:42:59.4174824Z 160 - /obj/item/grown/bananapeel/mimanapeel using invalid icon_state, "mimana_peel" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-10-27T05:42:59.4176072Z 161 - /obj/item/grown/bananapeel/bluespace using invalid icon_state, "bluenana_peel" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-10-27T05:42:59.4177252Z 162 - /obj/item/grown/bananapeel/specialpeel using invalid icon_state, "banana_peel" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-10-27T05:42:59.4178650Z 163 - /obj/item/food/grown/banana using invalid icon_state, "banana" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-10-27T05:42:59.4179781Z 164 - /obj/item/food/grown/banana/bombanana using invalid icon_state, "banana" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-10-27T05:42:59.4180904Z 165 - /obj/item/food/grown/banana/mime using invalid icon_state, "mimana" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-10-27T05:42:59.4182029Z 166 - /obj/item/food/grown/banana/bluespace using invalid icon_state, "bluenana" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-10-27T05:42:59.4183368Z 167 - /obj/item/food/grown/banana/bunch using invalid icon_state, "banana_bunch" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-10-27T05:42:59.4184222Z 168 - /obj/item/stack/spacecash/c1 using invalid icon_state, "spacecash1" +2022-10-27T05:42:59.4188146Z 169 - /obj/item/stack/spacecash/c10 using invalid icon_state, "spacecash10" +2022-10-27T05:42:59.4191119Z 170 - /obj/item/stack/spacecash/c20 using invalid icon_state, "spacecash20" +2022-10-27T05:42:59.4194008Z 171 - /obj/item/stack/spacecash/c50 using invalid icon_state, "spacecash50" +2022-10-27T05:42:59.4196852Z 172 - /obj/item/stack/spacecash/c100 using invalid icon_state, "spacecash100" +2022-10-27T05:42:59.4199667Z 173 - /obj/item/stack/spacecash/c200 using invalid icon_state, "spacecash200" +2022-10-27T05:42:59.4202843Z 174 - /obj/item/stack/spacecash/c500 using invalid icon_state, "spacecash500" +2022-10-27T05:42:59.4205536Z 175 - /obj/item/stack/spacecash/c1000 using invalid icon_state, "spacecash1000" +2022-10-27T05:42:59.4208409Z 176 - /obj/item/stack/spacecash/c10000 using invalid icon_state, "spacecash10000" +2022-10-27T05:42:59.4211295Z 177 - /obj/item/clothing/mask/facehugger/toy using invalid worn_icon_state, "facehugger" +2022-10-27T05:42:59.4221553Z 178 - /obj/item/kitchen/fork using invalid icon_state, "fork" +2022-10-27T05:42:59.4224344Z 179 - /obj/item/kitchen/fork/plastic using invalid icon_state, "plastic_fork" +2022-10-27T05:42:59.4231841Z 180 - /obj/item/kitchen/spoon using invalid icon_state, "spoon" +2022-10-27T05:42:59.4234746Z 181 - /obj/item/kitchen/spoon/plastic using invalid icon_state, "plastic_spoon" +2022-10-27T05:42:59.4242352Z 182 - /obj/item/bonesetter using invalid icon_state, "bonesetter" +2022-10-27T05:42:59.4244975Z 183 - /obj/item/cautery using invalid icon_state, "cautery" +2022-10-27T05:42:59.4247875Z 184 - /obj/item/cautery/advanced using invalid icon_state, "e_cautery" +2022-10-27T05:42:59.4250639Z 185 - /obj/item/hemostat using invalid icon_state, "hemostat" +2022-10-27T05:42:59.4253571Z 186 - /obj/item/hemostat/supermatter using invalid icon_state, "supermatter_tongs" +2022-10-27T05:42:59.4256376Z 187 - /obj/item/retractor using invalid icon_state, "retractor" +2022-10-27T05:42:59.4259443Z 188 - /obj/item/retractor/advanced using invalid icon_state, "adv_retractor" +2022-10-27T05:42:59.4262427Z 189 - /obj/item/scalpel using invalid icon_state, "scalpel" +2022-10-27T05:42:59.4265163Z 190 - /obj/item/scalpel/supermatter using invalid icon_state, "supermatter_scalpel" +2022-10-27T05:42:59.4268021Z 191 - /obj/item/scalpel/advanced using invalid icon_state, "e_scalpel" +2022-10-27T05:42:59.4271061Z 192 - /obj/item/surgical_drapes using invalid icon_state, "surgical_drapes" +2022-10-27T05:42:59.4277210Z 193 - /obj/item/stack/medical/bruise_pack using invalid icon_state, "brutepack" +2022-10-27T05:42:59.4279201Z 194 - /obj/item/stack/medical/gauze using invalid icon_state, "gauze" +2022-10-27T05:42:59.4283526Z 195 - /obj/item/stack/medical/suture using invalid icon_state, "suture" +2022-10-27T05:42:59.4286019Z 196 - /obj/item/stack/medical/suture/medicated using invalid icon_state, "suture_purp" +2022-10-27T05:42:59.4288604Z 197 - /obj/item/stack/medical/ointment using invalid icon_state, "ointment" +2022-10-27T05:42:59.4291557Z 198 - /obj/item/stack/medical/mesh using invalid icon_state, "regen_mesh" +2022-10-27T05:42:59.4294469Z 199 - /obj/item/stack/medical/mesh/advanced using invalid icon_state, "aloe_mesh" +2022-10-27T05:42:59.4297194Z 200 - /obj/item/stack/medical/aloe using invalid icon_state, "aloe_paste" +2022-10-27T05:42:59.4300231Z 201 - /obj/item/stack/medical/bone_gel using invalid icon_state, "bone-gel" +2022-10-27T05:42:59.4303320Z 202 - /obj/item/stack/medical/poultice using invalid icon_state, "poultice" +2022-10-27T05:42:59.4305972Z 203 - /obj/item/assembly/flash/handheld using invalid icon_state, "flash" +2022-10-27T05:42:59.4309092Z 204 - /obj/item/clothing/mask/cigarette using invalid icon_state, "cigoff" +2022-10-27T05:42:59.4313422Z 205 - /obj/item/clothing/mask/cigarette/rollie using invalid icon_state, "spliffoff" +2022-10-27T05:42:59.4316203Z 206 - /obj/item/clothing/mask/cigarette/candy using invalid icon_state, "candyoff" +2022-10-27T05:42:59.4319067Z 207 - /obj/item/clothing/mask/cigarette/cigar using invalid icon_state, "cigaroff" +2022-10-27T05:42:59.4321949Z 208 - /obj/item/clothing/mask/cigarette/cigar/cohiba using invalid icon_state, "cigar2off" +2022-10-27T05:42:59.4324829Z 209 - /obj/item/clothing/mask/cigarette/pipe using invalid icon_state, "pipeoff" +2022-10-27T05:42:59.4327646Z 210 - /obj/item/clothing/mask/cigarette/pipe/cobpipe using invalid icon_state, "cobpipeoff" +2022-10-27T05:42:59.4330391Z 211 - /obj/item/disk using invalid icon_state, "datadisk0" +2022-10-27T05:42:59.4333368Z 212 - /obj/item/disk/holodisk using invalid icon_state, "holodisk" +2022-10-27T05:42:59.4336344Z 213 - /obj/item/disk/nuclear using invalid icon_state, "nucleardisk" +2022-10-27T05:42:59.4339645Z 214 - /obj/item/disk/surgery using invalid icon_state, "datadisk1" +2022-10-27T05:42:59.4342883Z 215 - /obj/item/disk/cargo/bluespace_pod using invalid icon_state, "cargodisk" +2022-10-27T05:42:59.4345896Z 216 - /obj/item/disk/tech_disk/major using invalid icon_state, "rndmajordisk" +2022-10-27T05:42:59.4348806Z 217 - /obj/item/melee/powerfist using invalid icon_state, "powerfist" +2022-10-27T05:42:59.4358739Z 218 - /obj/item/melee/skateboard using invalid icon_state, "skateboard" +2022-10-27T05:42:59.4361970Z 219 - /obj/item/melee/skateboard/pro using invalid icon_state, "skateboard2" +2022-10-27T05:42:59.4371577Z 220 - /obj/item/melee/skateboard/hoverboard using invalid icon_state, "hoverboard_red" +2022-10-27T05:42:59.4372651Z 221 - /obj/item/melee/skateboard/hoverboard/admin using invalid icon_state, "hoverboard_nt" +2022-10-27T05:42:59.4373753Z 222 - /obj/item/melee/baseball_bat using invalid icon_state, "baseball_bat" +2022-10-27T05:42:59.4374699Z 223 - /obj/item/melee/baseball_bat/homerun using invalid icon_state, "baseball_bat_home" +2022-10-27T05:42:59.4376875Z 224 - /obj/item/melee/baseball_bat/ablative using invalid icon_state, "baseball_bat_metal" +2022-10-27T05:42:59.4379802Z 225 - /obj/item/melee/flyswatter using invalid icon_state, "flyswatter" +2022-10-27T05:42:59.4386397Z 226 - /obj/item/melee/energy/axe using invalid icon_state, "axe" +2022-10-27T05:42:59.4389295Z 227 - /obj/item/melee/energy/blade using invalid icon_state, "blade" +2022-10-27T05:42:59.4392359Z 228 - /obj/item/melee/energy/blade/hardlight using invalid icon_state, "lightblade" +2022-10-27T05:42:59.4396069Z 229 - /obj/item/melee/synthetic_arm_blade using invalid icon_state, "arm_blade" +2022-10-27T05:42:59.4398671Z 230 - /obj/item/melee/sabre using invalid icon_state, "sabre" +2022-10-27T05:42:59.4403118Z 231 - /obj/item/melee/beesword using invalid worn_icon_state, "stinger" +2022-10-27T05:42:59.4404484Z 232 - /obj/item/melee/supermatter_sword using invalid icon_state, "supermatter_sword" +2022-10-27T05:42:59.4413439Z 233 - /obj/item/melee/cleric_mace using invalid worn_icon_state, "default_worn" +2022-10-27T05:42:59.4416300Z 234 - /obj/item/melee/rune_carver using invalid icon_state, "rune_carver" +2022-10-27T05:42:59.4419326Z 235 - /obj/item/melee/ghost_sword using invalid icon_state, "spectral" +2022-10-27T05:42:59.4422471Z 236 - /obj/item/reagent_containers/cup/glass/flask using invalid icon_state, "flask" +2022-10-27T05:42:59.4425277Z 237 - /obj/item/reagent_containers/cup/glass/flask/gold using invalid icon_state, "flask_gold" +2022-10-27T05:42:59.4428045Z 238 - /obj/item/reagent_containers/cup/glass/flask/det using invalid icon_state, "detflask" +2022-10-27T05:42:59.4430826Z 239 - /obj/item/stamp using invalid icon_state, "stamp-ok" +2022-10-27T05:42:59.4438099Z 240 - /obj/item/stamp/qm using invalid icon_state, "stamp-qm" +2022-10-27T05:42:59.4438587Z 241 - /obj/item/stamp/law using invalid icon_state, "stamp-law" +2022-10-27T05:42:59.4439459Z 242 - /obj/item/stamp/captain using invalid icon_state, "stamp-cap" +2022-10-27T05:42:59.4443481Z 243 - /obj/item/stamp/hop using invalid icon_state, "stamp-hop" +2022-10-27T05:42:59.4446324Z 244 - /obj/item/stamp/hos using invalid icon_state, "stamp-hos" +2022-10-27T05:42:59.4448968Z 245 - /obj/item/stamp/ce using invalid icon_state, "stamp-ce" +2022-10-27T05:42:59.4451579Z 246 - /obj/item/stamp/rd using invalid icon_state, "stamp-rd" +2022-10-27T05:42:59.4454530Z 247 - /obj/item/stamp/cmo using invalid icon_state, "stamp-cmo" +2022-10-27T05:42:59.4457121Z 248 - /obj/item/stamp/denied using invalid icon_state, "stamp-deny" +2022-10-27T05:42:59.4460087Z 249 - /obj/item/stamp/void using invalid icon_state, "stamp-void" +2022-10-27T05:42:59.4463223Z 250 - /obj/item/stamp/clown using invalid icon_state, "stamp-clown" +2022-10-27T05:42:59.4465824Z 251 - /obj/item/stamp/mime using invalid icon_state, "stamp-mime" +2022-10-27T05:42:59.4468654Z 252 - /obj/item/stamp/chap using invalid icon_state, "stamp-chap" +2022-10-27T05:42:59.4471480Z 253 - /obj/item/stamp/centcom using invalid icon_state, "stamp-centcom" +2022-10-27T05:42:59.4474941Z 254 - /obj/item/stamp/syndicate using invalid icon_state, "stamp-syndicate" +2022-10-27T05:42:59.4479594Z 255 - /obj/item/storage/lockbox/medal using invalid icon_state, "medalbox+l" +2022-10-27T05:42:59.4487494Z 256 - /obj/item/crowbar/red/caravan using invalid icon_state, "crowbar_caravan" +2022-10-27T05:42:59.4509453Z 257 - /obj/item/crowbar/drone using invalid icon_state, "crowbar_cyborg" +2022-10-27T05:42:59.4528797Z +2022-10-27T05:42:59.4529293Z PASS /datum/unit_test/suit_storage_icons 2.1s +2022-10-27T05:42:59.4529946Z ##[endgroup] +2022-10-27T05:43:01.5221964Z ##[group]/datum/unit_test/amputation +2022-10-27T05:43:01.5815196Z +2022-10-27T05:43:01.5817573Z PASS /datum/unit_test/amputation 0s +2022-10-27T05:43:01.5819941Z ##[endgroup] +2022-10-27T05:43:01.6143865Z ##[group]/datum/unit_test/brain_surgery +2022-10-27T05:43:01.6698394Z +2022-10-27T05:43:01.6699379Z PASS /datum/unit_test/brain_surgery 0s +2022-10-27T05:43:01.6700065Z ##[endgroup] +2022-10-27T05:43:01.7064460Z ##[group]/datum/unit_test/head_transplant +2022-10-27T05:43:01.7910615Z +2022-10-27T05:43:01.7911507Z PASS /datum/unit_test/head_transplant 0s +2022-10-27T05:43:01.7912215Z ##[endgroup] +2022-10-27T05:43:01.8771339Z ##[group]/datum/unit_test/multiple_surgeries +2022-10-27T05:43:01.9564190Z +2022-10-27T05:43:01.9565672Z PASS /datum/unit_test/multiple_surgeries 0.1s +2022-10-27T05:43:01.9566988Z ##[endgroup] +2022-10-27T05:43:02.0451694Z ##[group]/datum/unit_test/start_tend_wounds +2022-10-27T05:43:02.1021559Z +2022-10-27T05:43:02.1023113Z PASS /datum/unit_test/start_tend_wounds 0.1s +2022-10-27T05:43:02.1027806Z ##[endgroup] +2022-10-27T05:43:02.1334702Z ##[group]/datum/unit_test/tend_wounds +2022-10-27T05:43:02.2464864Z +2022-10-27T05:43:02.2466455Z PASS /datum/unit_test/tend_wounds 0.1s +2022-10-27T05:43:02.2471798Z ##[endgroup] +2022-10-27T05:43:02.3971842Z ##[group]/datum/unit_test/auto_teleporter_linking +2022-10-27T05:43:02.4364172Z +2022-10-27T05:43:02.4365748Z PASS /datum/unit_test/auto_teleporter_linking 0.1s +2022-10-27T05:43:02.4367360Z ##[endgroup] +2022-10-27T05:43:02.4786335Z ##[group]/datum/unit_test/tgui_create_message +2022-10-27T05:43:02.4787309Z +2022-10-27T05:43:02.4792228Z PASS /datum/unit_test/tgui_create_message 0s +2022-10-27T05:43:02.4793589Z ##[endgroup] +2022-10-27T05:43:02.4990140Z ##[group]/datum/unit_test/timer_sanity +2022-10-27T05:43:02.4990770Z +2022-10-27T05:43:02.4993590Z PASS /datum/unit_test/timer_sanity 0s +2022-10-27T05:43:02.4994358Z ##[endgroup] +2022-10-27T05:43:02.5179295Z ##[group]/datum/unit_test/traitor +2022-10-27T05:43:04.3257821Z +2022-10-27T05:43:04.3259494Z PASS /datum/unit_test/traitor 1.8s +2022-10-27T05:43:04.3309007Z ##[endgroup] +2022-10-27T05:43:08.2246947Z ##[group]/datum/unit_test/verify_config_tags +2022-10-27T05:43:08.2248054Z +2022-10-27T05:43:08.2249419Z PASS /datum/unit_test/verify_config_tags 0s +2022-10-27T05:43:08.2250078Z ##[endgroup] +2022-10-27T05:43:08.2441208Z ##[group]/datum/unit_test/wizard_loadout +2022-10-27T05:43:08.3578743Z +2022-10-27T05:43:08.3580409Z PASS /datum/unit_test/wizard_loadout 0.1s +2022-10-27T05:43:08.3585004Z ##[endgroup] +2022-10-27T05:43:08.5073685Z ##[group]/datum/unit_test/find_reference_sanity +2022-10-27T05:43:08.5075807Z +2022-10-27T05:43:08.5076772Z PASS /datum/unit_test/find_reference_sanity 0s +2022-10-27T05:43:08.5077672Z ##[endgroup] +2022-10-27T05:43:08.5272155Z ##[group]/datum/unit_test/find_reference_baseline +2022-10-27T05:43:08.5274693Z +2022-10-27T05:43:08.5275872Z PASS /datum/unit_test/find_reference_baseline 0s +2022-10-27T05:43:08.5276640Z ##[endgroup] +2022-10-27T05:43:08.5468423Z ##[group]/datum/unit_test/find_reference_exotic +2022-10-27T05:43:08.5470529Z +2022-10-27T05:43:08.5474746Z PASS /datum/unit_test/find_reference_exotic 0s +2022-10-27T05:43:08.5475293Z ##[endgroup] +2022-10-27T05:43:08.5665386Z ##[group]/datum/unit_test/find_reference_esoteric +2022-10-27T05:43:08.5669399Z +2022-10-27T05:43:08.5676075Z PASS /datum/unit_test/find_reference_esoteric 0s +2022-10-27T05:43:08.5677072Z ##[endgroup] +2022-10-27T05:43:08.5866537Z ##[group]/datum/unit_test/find_reference_null_key_entry +2022-10-27T05:43:08.5868456Z +2022-10-27T05:43:08.5869492Z PASS /datum/unit_test/find_reference_null_key_entry 0s +2022-10-27T05:43:08.5870146Z ##[endgroup] +2022-10-27T05:43:08.6166348Z ##[group]/datum/unit_test/find_reference_assoc_investigation +2022-10-27T05:43:08.6171705Z +2022-10-27T05:43:08.6172220Z PASS /datum/unit_test/find_reference_assoc_investigation 0s +2022-10-27T05:43:08.6172854Z ##[endgroup] +2022-10-27T05:43:08.6356029Z ##[group]/datum/unit_test/find_reference_static_investigation +2022-10-27T05:43:08.8684547Z +2022-10-27T05:43:08.8685577Z PASS /datum/unit_test/find_reference_static_investigation 0.2s +2022-10-27T05:43:08.8686517Z ##[endgroup] +2022-10-27T05:43:09.0881655Z ##[group]/datum/unit_test/monkey_business +2022-10-27T05:43:47.8646118Z +2022-10-27T05:43:47.8647763Z PASS /datum/unit_test/monkey_business 38.8s +2022-10-27T05:43:47.8739017Z ##[endgroup] +2022-10-27T05:43:50.1651558Z ##[group]/datum/unit_test/create_and_destroy +2022-10-27T05:49:19.8716381Z ## REF SEARCH Beginning search for references to a /datum/computer_file/program/chatclient. +2022-10-27T05:49:20.0425000Z ## REF SEARCH Finished searching globals +2022-10-27T05:49:20.3029611Z ## REF SEARCH Finished searching native globals +2022-10-27T05:52:18.0382074Z ## REF SEARCH Finished searching atoms +2022-10-27T05:52:33.0757341Z ## REF SEARCH Found /datum/computer_file/program/chatclient [0x2104dfc7] in /datum/ntnet_conversation's [0x2104dfc2] operator var. Datums -> /datum/ntnet_conversation +2022-10-27T05:52:33.0758787Z ## REF SEARCH Found /datum/computer_file/program/chatclient [0x2104dfc7] in list Datums -> /datum/ntnet_conversation [0x2104dfc2] -> active_clients (list). +2022-10-27T05:52:33.0760039Z ## REF SEARCH Found /datum/computer_file/program/chatclient [0x2104dfc7] in list Datums -> /datum/ntnet_conversation [0x2104dfc2] -> active_clients (list). +2022-10-27T05:52:33.0761156Z ## REF SEARCH Found /datum/computer_file/program/chatclient [0x2104dfc7] in list Datums -> /datum/ntnet_conversation [0x2104dfc2] -> active_clients (list). +2022-10-27T05:52:33.0814898Z ## REF SEARCH Found /datum/computer_file/program/chatclient [0x2104dfc7] in list Datums -> /datum/ntnet_conversation [0x2104dfc2] -> active_clients (list). +2022-10-27T05:52:33.0816178Z ## REF SEARCH Found /datum/computer_file/program/chatclient [0x2104dfc7] in list Datums -> /datum/ntnet_conversation [0x2104dfc2] -> active_clients (list). +2022-10-27T05:52:34.6185349Z ## REF SEARCH Finished searching datums +2022-10-27T05:52:34.6185815Z ## REF SEARCH Finished searching clients +2022-10-27T05:52:34.6186331Z ## REF SEARCH Completed search for references to a /datum/computer_file/program/chatclient. +2022-10-27T05:52:34.6187365Z ## TESTING: GC: -- [0x2104dfc7] | /datum/computer_file/program/chatclient was unable to be GC'd -- +2022-10-27T05:52:50.6232674Z ##[error]/datum/computer_file/program/chatclient hard deleted 1 times out of a total del count of 13 +2022-10-27T05:52:50.6242137Z FAILURE #1: /datum/computer_file/program/chatclient hard deleted 1 times out of a total del count of 13 at code/modules/unit_tests/create_and_destroy.dm:173 +2022-10-27T05:52:50.6242890Z ##[endgroup] +2022-10-27T05:52:50.6244173Z ##[error]FAIL /datum/unit_test/create_and_destroy 540.5s +2022-10-27T05:52:50.6611817Z Shutting down Chat subsystem... +2022-10-27T05:52:50.6612177Z Shutting down Init Profiler subsystem... +2022-10-27T05:52:50.6612511Z Shutting down Ban Cache subsystem... +2022-10-27T05:52:50.6612837Z Shutting down Stat Panels subsystem... +2022-10-27T05:52:50.6613185Z Shutting down Explosions subsystem... +2022-10-27T05:52:50.6613516Z Shutting down Pathfinder subsystem... +2022-10-27T05:52:50.6613840Z Shutting down Minor Mapping subsystem... +2022-10-27T05:52:50.6614149Z Shutting down Shuttle subsystem... +2022-10-27T05:52:50.6614455Z Shutting down Lighting subsystem... +2022-10-27T05:52:50.6614770Z Shutting down XKeyScore subsystem... +2022-10-27T05:52:50.6615076Z Shutting down PRISM subsystem... +2022-10-27T05:52:50.6636820Z Shutting down Icon Smoothing subsystem... +2022-10-27T05:52:50.6637164Z Shutting down Assets subsystem... +2022-10-27T05:52:50.6637453Z Shutting down Vote subsystem... +2022-10-27T05:52:50.6637800Z Shutting down Persistent Paintings subsystem... +2022-10-27T05:52:50.6638150Z Shutting down Persistence subsystem... +2022-10-27T05:52:50.6638478Z Shutting down Atmospherics subsystem... +2022-10-27T05:52:50.6638848Z Shutting down Wiremod Composite Templates subsystem... +2022-10-27T05:52:50.6639197Z Shutting down Wet floors subsystem... +2022-10-27T05:52:50.6639504Z Shutting down Weather subsystem... +2022-10-27T05:52:50.6639813Z Shutting down Wardrobe subsystem... +2022-10-27T05:52:50.6640129Z Shutting down Verb Manager subsystem... +2022-10-27T05:52:50.6640449Z Shutting down Tram Process subsystem... +2022-10-27T05:52:50.6640764Z Shutting down Traitor subsystem... +2022-10-27T05:52:50.6641059Z Shutting down Throwing subsystem... +2022-10-27T05:52:50.6641363Z Shutting down tgui subsystem... +2022-10-27T05:52:50.6641692Z Shutting down Supermatter Cascade subsystem... +2022-10-27T05:52:50.6642010Z Shutting down Sun subsystem... +2022-10-27T05:52:50.6642333Z Shutting down Speech Controller subsystem... +2022-10-27T05:52:50.6642653Z Shutting down Space Drift subsystem... +2022-10-27T05:52:50.6642962Z Shutting down Smoke subsystem... +2022-10-27T05:52:50.6643271Z Shutting down Singularity subsystem... +2022-10-27T05:52:50.6643578Z Shutting down Radio subsystem... +2022-10-27T05:52:50.6643875Z Shutting down Radiation subsystem... +2022-10-27T05:52:50.6644483Z Shutting down Projectiles subsystem... +2022-10-27T05:52:50.6644819Z Shutting down Processing subsystem... +2022-10-27T05:52:50.6645158Z Shutting down Points of Interest subsystem... +2022-10-27T05:52:50.6645489Z Shutting down Plumbing subsystem... +2022-10-27T05:52:50.6645780Z Shutting down Ping subsystem... +2022-10-27T05:52:50.6646088Z Shutting down Parallax subsystem... +2022-10-27T05:52:50.6646396Z Shutting down pAI subsystem... +2022-10-27T05:52:50.6646701Z Shutting down Overlay subsystem... +2022-10-27T05:52:50.9809746Z Shutting down Objects subsystem... +2022-10-27T05:52:50.9810088Z Shutting down Obj Tab Items subsystem... +2022-10-27T05:52:50.9810410Z Shutting down NPC Pool subsystem... +2022-10-27T05:52:50.9811012Z Shutting down Night Shift subsystem... +2022-10-27T05:52:50.9811331Z Shutting down Movement Loops subsystem... +2022-10-27T05:52:50.9811653Z Shutting down Movement Handler subsystem... +2022-10-27T05:52:50.9811975Z Shutting down MouseEntered subsystem... +2022-10-27T05:52:50.9812266Z Shutting down Mood subsystem... +2022-10-27T05:52:50.9812709Z Shutting down Mobs subsystem... +2022-10-27T05:52:50.9813020Z Shutting down Materials subsystem... +2022-10-27T05:52:50.9815026Z Shutting down Lua Scripting subsystem... +2022-10-27T05:52:50.9975219Z Shutting down Library Loading subsystem... +2022-10-27T05:52:50.9975575Z Shutting down Lag Switch subsystem... +2022-10-27T05:52:50.9975912Z Shutting down Idling NPC Pool subsystem... +2022-10-27T05:52:50.9976225Z Shutting down Foam subsystem... +2022-10-27T05:52:50.9976518Z Shutting down Fluid subsystem... +2022-10-27T05:52:50.9976823Z Shutting down Fire Burning subsystem... +2022-10-27T05:52:50.9977153Z Shutting down Fast Processing subsystem... +2022-10-27T05:52:50.9977478Z Shutting down Eigenstates subsystem... +2022-10-27T05:52:50.9977787Z Shutting down Disease subsystem... +2022-10-27T05:52:50.9978121Z Shutting down Datum Component System subsystem... +2022-10-27T05:52:50.9978463Z Shutting down Conveyor Belts subsystem... +2022-10-27T05:52:50.9978939Z Shutting down Communications subsystem... +2022-10-27T05:52:50.9979257Z Shutting down Clock Component subsystem... +2022-10-27T05:52:50.9979599Z Shutting down Circuit Components subsystem... +2022-10-27T05:52:50.9979926Z Shutting down Blackmarket subsystem... +2022-10-27T05:52:50.9980248Z Shutting down Basic Avoidance subsystem... +2022-10-27T05:52:50.9980570Z Shutting down Aura Healing subsystem... +2022-10-27T05:52:50.9980859Z Shutting down Augury subsystem... +2022-10-27T05:52:50.9981169Z Shutting down Asset Loading subsystem... +2022-10-27T05:52:50.9981483Z Shutting down Antag HUDs subsystem... +2022-10-27T05:52:50.9981788Z Shutting down Ambience subsystem... +2022-10-27T05:52:50.9982092Z Shutting down Addiction subsystem... +2022-10-27T05:52:50.9982383Z Shutting down Acid subsystem... +2022-10-27T05:52:50.9982673Z Shutting down Timer subsystem... +2022-10-27T05:52:50.9982970Z Shutting down Sound Loops subsystem... +2022-10-27T05:52:50.9983275Z Shutting down Runechat subsystem... +2022-10-27T05:52:50.9983571Z Shutting down Skills subsystem... +2022-10-27T05:52:50.9983871Z Shutting down Machines subsystem... +2022-10-27T05:52:50.9984159Z Shutting down Language subsystem... +2022-10-27T05:52:50.9984452Z Shutting down Atoms subsystem... +2022-10-27T05:52:51.0026223Z Shutting down Restaurant subsystem... +2022-10-27T05:52:51.0026577Z Shutting down Economy subsystem... +2022-10-27T05:52:51.0026908Z Shutting down Spatial Grid subsystem... +2022-10-27T05:52:51.0030451Z Shutting down Networks subsystem... +2022-10-27T05:52:51.0030787Z Shutting down Time Tracking subsystem... +2022-10-27T05:52:51.0031114Z Shutting down Research subsystem... +2022-10-27T05:52:51.0031432Z Shutting down Early Assets subsystem... +2022-10-27T05:52:51.0031759Z Shutting down Mapping subsystem... +2022-10-27T05:52:51.0032092Z Shutting down Trading Card Game subsystem... +2022-10-27T05:52:51.0032426Z Shutting down Ticker subsystem... +2022-10-27T05:52:51.0039410Z Unable to locate admins backup file. +2022-10-27T05:52:51.0051941Z Shutting down AI Controller Ticker subsystem... +2022-10-27T05:52:51.0052530Z Shutting down AI Behavior Ticker subsystem... +2022-10-27T05:52:51.0052855Z Shutting down AI movement subsystem... +2022-10-27T05:52:51.0053132Z Shutting down Jobs subsystem... +2022-10-27T05:52:51.0053429Z Shutting down IDs and Access subsystem... +2022-10-27T05:52:51.0053728Z Shutting down Events subsystem... +2022-10-27T05:52:51.0054019Z Shutting down Reagents subsystem... +2022-10-27T05:52:51.0054311Z Shutting down Quirks subsystem... +2022-10-27T05:52:51.0054584Z Shutting down Station subsystem... +2022-10-27T05:52:51.0054886Z Shutting down Achievements subsystem... +2022-10-27T05:52:51.0057375Z Shutting down Discord subsystem... +2022-10-27T05:52:51.0057678Z Shutting down Security Level subsystem... +2022-10-27T05:52:51.0058123Z Shutting down Vis contents overlays subsystem... +2022-10-27T05:52:51.0058446Z Shutting down Greyscale subsystem... +2022-10-27T05:52:51.0059042Z Shutting down Instruments subsystem... +2022-10-27T05:52:51.0059340Z Shutting down Sounds subsystem... +2022-10-27T05:52:51.0059631Z Shutting down Input subsystem... +2022-10-27T05:52:51.0060822Z Shutting down Server Tasks subsystem... +2022-10-27T05:52:51.0064456Z Shutting down Blackbox subsystem... +2022-10-27T05:52:51.0064838Z Shutting down Database subsystem... +2022-10-27T05:52:51.0065213Z Shutting down Garbage subsystem... +2022-10-27T05:52:54.6306978Z Shutting down Title Screen subsystem... +2022-10-27T05:52:54.6307928Z Shutting down Profiler subsystem... +2022-10-27T05:52:54.6308337Z Shutdown complete +2022-10-27T05:52:54.6308698Z Test run failed! +2022-10-27T05:52:54.6309027Z Unit Tests failed! +2022-10-27T05:52:58.2975208Z cat: ci_test/data/logs/ci/clean_run.lk: No such file or directory +2022-10-27T05:52:58.2988425Z ##[error]Process completed with exit code 1. +2022-10-27T05:52:58.3038084Z ##[group]Run actions/upload-artifact@v3 +2022-10-27T05:52:58.3038386Z with: +2022-10-27T05:52:58.3038632Z name: test_artifacts_metastation +2022-10-27T05:52:58.3038928Z path: data/screenshots_new/ +2022-10-27T05:52:58.3039208Z retention-days: 1 +2022-10-27T05:52:58.3039483Z if-no-files-found: warn +2022-10-27T05:52:58.3039747Z ##[endgroup] +2022-10-27T05:52:58.4273001Z With the provided path, there will be 85 files uploaded +2022-10-27T05:52:58.4279080Z Starting artifact upload +2022-10-27T05:52:58.4280271Z For more detailed logs during the artifact upload process, enable step-debugging: https://docs.github.com/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging#enabling-step-debug-logging +2022-10-27T05:52:58.4280911Z Artifact name is valid! +2022-10-27T05:52:58.4956400Z Container for artifact "test_artifacts_metastation" successfully created. Starting upload of file(s) +2022-10-27T05:53:02.6649338Z Total size of all the files uploaded is 138917 bytes +2022-10-27T05:53:02.6650349Z File upload process has finished. Finalizing the artifact upload +2022-10-27T05:53:02.6917894Z Artifact has been finalized. All files have been successfully uploaded! +2022-10-27T05:53:02.6918592Z +2022-10-27T05:53:02.6919221Z The raw size of all the files that were specified for upload is 139272 bytes +2022-10-27T05:53:02.6920199Z The size of all the files that were uploaded is 138917 bytes. This takes into account any gzip compression used to reduce the upload size, time and storage +2022-10-27T05:53:02.6920771Z +2022-10-27T05:53:02.6922015Z Note: The size of downloaded zips can differ significantly from the reported size. For more information see: https://github.com/actions/upload-artifact#zipped-artifact-downloads +2022-10-27T05:53:02.6922715Z +2022-10-27T05:53:02.6923052Z Artifact test_artifacts_metastation has been successfully uploaded! +2022-10-27T05:53:02.7064563Z Post job cleanup. +2022-10-27T05:53:02.8553446Z [command]/usr/bin/git version +2022-10-27T05:53:02.8609457Z git version 2.38.1 +2022-10-27T05:53:02.8663423Z Temporarily overriding HOME='/home/runner/work/_temp/7f4c4ca9-c205-4fcf-92a4-cc2e0f6184cd' before making global git config changes +2022-10-27T05:53:02.8664612Z Adding repository directory to the temporary git global config as a safe directory +2022-10-27T05:53:02.8670010Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/tgstation/tgstation +2022-10-27T05:53:02.8717327Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand +2022-10-27T05:53:02.8760496Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || : +2022-10-27T05:53:02.9064609Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader +2022-10-27T05:53:02.9096473Z http.https://github.com/.extraheader +2022-10-27T05:53:02.9110240Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader +2022-10-27T05:53:02.9151201Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || : +2022-10-27T05:53:02.9632628Z Print service container logs: bdaac24feb7948af9ae1cfcb2f1e5f3f_mysqllatest_e0031a +2022-10-27T05:53:02.9639053Z ##[command]/usr/bin/docker logs --details b9656fff5d6a67eae31451853c0bb709d922d192e7aabe77af579b15e2acedbc +2022-10-27T05:53:02.9874689Z 2022-10-27T05:35:47.663982Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead. +2022-10-27T05:53:02.9875440Z 2022-10-27T05:35:47.664088Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.31) initializing of server in progress as process 80 +2022-10-27T05:53:02.9875958Z 2022-10-27T05:35:47.671476Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. +2022-10-27T05:53:02.9876437Z 2022-10-27T05:35:48.066575Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. +2022-10-27T05:53:02.9877103Z 2022-10-27T05:35:49.266023Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option. +2022-10-27T05:53:02.9877838Z 2022-10-27T05:35:52.334841Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead. +2022-10-27T05:53:02.9878473Z 2022-10-27T05:35:52.337029Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.31) starting as process 129 +2022-10-27T05:53:02.9878953Z 2022-10-27T05:35:52.352969Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. +2022-10-27T05:53:02.9879421Z 2022-10-27 05:35:47+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.31-1.el8 started. +2022-10-27T05:53:02.9879903Z 2022-10-27T05:35:52.530865Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. +2022-10-27T05:53:02.9880369Z 2022-10-27T05:35:52.753777Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed. +2022-10-27T05:53:02.9880921Z 2022-10-27T05:35:52.753818Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel. +2022-10-27T05:53:02.9881648Z 2022-10-27T05:35:52.755449Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory. +2022-10-27T05:53:02.9882321Z 2022-10-27T05:35:52.774412Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: /var/run/mysqld/mysqlx.sock +2022-10-27T05:53:02.9882951Z 2022-10-27T05:35:52.775158Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.31' socket: '/var/run/mysqld/mysqld.sock' port: 0 MySQL Community Server - GPL. +2022-10-27T05:53:02.9883542Z Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it. +2022-10-27T05:53:02.9883992Z 2022-10-27 05:35:47+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql' +2022-10-27T05:53:02.9884444Z 2022-10-27 05:35:47+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.31-1.el8 started. +2022-10-27T05:53:02.9884874Z 2022-10-27 05:35:47+00:00 [Note] [Entrypoint]: Initializing database files +2022-10-27T05:53:02.9885281Z 2022-10-27 05:35:52+00:00 [Note] [Entrypoint]: Database files initialized +2022-10-27T05:53:02.9885682Z 2022-10-27 05:35:52+00:00 [Note] [Entrypoint]: Starting temporary server +2022-10-27T05:53:02.9886079Z 2022-10-27 05:35:52+00:00 [Note] [Entrypoint]: Temporary server started. +2022-10-27T05:53:02.9886471Z '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock' +2022-10-27T05:53:02.9888624Z Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it. +2022-10-27T05:53:02.9889273Z +2022-10-27T05:53:02.9889568Z 2022-10-27 05:35:54+00:00 [Note] [Entrypoint]: Stopping temporary server +2022-10-27T05:53:02.9889969Z 2022-10-27 05:35:57+00:00 [Note] [Entrypoint]: Temporary server stopped +2022-10-27T05:53:02.9890280Z +2022-10-27T05:53:02.9890742Z 2022-10-27 05:35:57+00:00 [Note] [Entrypoint]: MySQL init process done. Ready for start up. +2022-10-27T05:53:02.9891394Z Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it. +2022-10-27T05:53:02.9891960Z Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it. +2022-10-27T05:53:02.9892520Z Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it. +2022-10-27T05:53:02.9893146Z 2022-10-27T05:35:54.998452Z 10 [System] [MY-013172] [Server] Received SHUTDOWN from user root. Shutting down mysqld (Version: 8.0.31). +2022-10-27T05:53:02.9893808Z 2022-10-27T05:35:56.253546Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.31) MySQL Community Server - GPL. +2022-10-27T05:53:02.9898747Z 2022-10-27T05:35:57.259394Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead. +2022-10-27T05:53:02.9899246Z +2022-10-27T05:53:02.9899947Z 2022-10-27T05:35:57.260761Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.31) starting as process 1 +2022-10-27T05:53:02.9900440Z 2022-10-27T05:35:57.279827Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. +2022-10-27T05:53:02.9900902Z 2022-10-27T05:35:57.478844Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. +2022-10-27T05:53:02.9901365Z 2022-10-27T05:35:57.668028Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed. +2022-10-27T05:53:02.9901912Z 2022-10-27T05:35:57.668071Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel. +2022-10-27T05:53:02.9902638Z 2022-10-27T05:35:57.669759Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory. +2022-10-27T05:53:02.9903367Z 2022-10-27T05:35:57.689543Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock +2022-10-27T05:53:02.9905472Z 2022-10-27T05:35:57.690193Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.31' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server - GPL. +2022-10-27T05:53:02.9926340Z Stop and remove container: bdaac24feb7948af9ae1cfcb2f1e5f3f_mysqllatest_e0031a +2022-10-27T05:53:02.9933347Z ##[command]/usr/bin/docker rm --force b9656fff5d6a67eae31451853c0bb709d922d192e7aabe77af579b15e2acedbc +2022-10-27T05:53:03.2811799Z b9656fff5d6a67eae31451853c0bb709d922d192e7aabe77af579b15e2acedbc +2022-10-27T05:53:03.2840549Z Remove container network: github_network_552f961a7b154fc6bdcc0db4d38d15af +2022-10-27T05:53:03.2847326Z ##[command]/usr/bin/docker network rm github_network_552f961a7b154fc6bdcc0db4d38d15af +2022-10-27T05:53:03.3874880Z github_network_552f961a7b154fc6bdcc0db4d38d15af +2022-10-27T05:53:03.4050424Z Cleaning up orphan processes diff --git a/tools/pull_request_hooks/flakyTestPayloads/invalid_timer.txt b/tools/pull_request_hooks/flakyTestPayloads/invalid_timer.txt new file mode 100644 index 000000000000..eea9b3774cac --- /dev/null +++ b/tools/pull_request_hooks/flakyTestPayloads/invalid_timer.txt @@ -0,0 +1,2389 @@ +2023-11-12T08:57:50.1971985Z Requested labels: ubuntu-latest +2023-11-12T08:57:50.1972288Z Job defined at: tgstation/tgstation/.github/workflows/run_integration_tests.yml@refs/pull/79384/merge +2023-11-12T08:57:50.1972523Z Reusable workflow chain: +2023-11-12T08:57:50.1972632Z tgstation/tgstation/.github/workflows/ci_suite.yml@refs/pull/79384/merge (0f52a54577af8e336ee4407c83bc6d3bfedd1d11) +2023-11-12T08:57:50.1972727Z -> tgstation/tgstation/.github/workflows/run_integration_tests.yml@refs/pull/79384/merge (0f52a54577af8e336ee4407c83bc6d3bfedd1d11) +2023-11-12T08:57:50.1972819Z Waiting for a runner to pick up this job... +2023-11-12T08:59:41.2590058Z Job is waiting for a hosted runner to come online. +2023-11-12T08:59:44.1017042Z Job is about to start running on the hosted runner: GitHub Actions 11 (hosted) +2023-11-12T08:59:46.1455792Z Current runner version: '2.311.0' +2023-11-12T08:59:46.1479790Z ##[group]Operating System +2023-11-12T08:59:46.1480441Z Ubuntu +2023-11-12T08:59:46.1480899Z 22.04.3 +2023-11-12T08:59:46.1481734Z LTS +2023-11-12T08:59:46.1482077Z ##[endgroup] +2023-11-12T08:59:46.1482560Z ##[group]Runner Image +2023-11-12T08:59:46.1482961Z Image: ubuntu-22.04 +2023-11-12T08:59:46.1483353Z Version: 20231030.2.0 +2023-11-12T08:59:46.1484421Z Included Software: https://github.com/actions/runner-images/blob/ubuntu22/20231030.2/images/linux/Ubuntu2204-Readme.md +2023-11-12T08:59:46.1485799Z Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu22%2F20231030.2 +2023-11-12T08:59:46.1486650Z ##[endgroup] +2023-11-12T08:59:46.1487161Z ##[group]Runner Image Provisioner +2023-11-12T08:59:46.1487606Z 2.0.312.1 +2023-11-12T08:59:46.1487945Z ##[endgroup] +2023-11-12T08:59:46.1490099Z ##[group]GITHUB_TOKEN Permissions +2023-11-12T08:59:46.1491698Z Actions: read +2023-11-12T08:59:46.1492248Z Checks: read +2023-11-12T08:59:46.1492761Z Contents: read +2023-11-12T08:59:46.1493311Z Deployments: read +2023-11-12T08:59:46.1493676Z Discussions: read +2023-11-12T08:59:46.1494123Z Issues: read +2023-11-12T08:59:46.1494582Z Metadata: read +2023-11-12T08:59:46.1494935Z Packages: read +2023-11-12T08:59:46.1495330Z Pages: read +2023-11-12T08:59:46.1495763Z PullRequests: read +2023-11-12T08:59:46.1496142Z RepositoryProjects: read +2023-11-12T08:59:46.1496603Z SecurityEvents: read +2023-11-12T08:59:46.1497060Z Statuses: read +2023-11-12T08:59:46.1497394Z ##[endgroup] +2023-11-12T08:59:46.1500314Z Secret source: None +2023-11-12T08:59:46.1501009Z Prepare workflow directory +2023-11-12T08:59:46.2366322Z Prepare all required actions +2023-11-12T08:59:46.2521312Z Getting action download info +2023-11-12T08:59:46.4989409Z Download action repository 'actions/checkout@v3' (SHA:f43a0e5ff2bd294095638e18286ca9a3d1956744) +2023-11-12T08:59:46.6372596Z Download action repository 'actions/cache@v3' (SHA:704facf57e6136b1bc63b828d79edcd491f0ee84) +2023-11-12T08:59:46.7365405Z Download action repository 'actions/upload-artifact@v3' (SHA:a8a3f3ad30e3422c9c7b888a15615d19a852ae32) +2023-11-12T08:59:46.7793243Z Download action repository 'tgstation/byond-client-compatibility-check@v3' (SHA:d9fac1c9713569fa6681906325ddce115bb53365) +2023-11-12T08:59:47.0659791Z Uses: tgstation/tgstation/.github/workflows/run_integration_tests.yml@refs/pull/79384/merge (0f52a54577af8e336ee4407c83bc6d3bfedd1d11) +2023-11-12T08:59:47.0662504Z ##[group] Inputs +2023-11-12T08:59:47.0663016Z map: tramstation +2023-11-12T08:59:47.0663530Z major: +2023-11-12T08:59:47.0663853Z minor: +2023-11-12T08:59:47.0664217Z max_required_byond_client: 514 +2023-11-12T08:59:47.0664786Z ##[endgroup] +2023-11-12T08:59:47.0665727Z Complete job name: Integration Tests (tramstation) / run_integration_tests +2023-11-12T08:59:47.1316890Z ##[group]Checking docker version +2023-11-12T08:59:47.1331488Z ##[command]/usr/bin/docker version --format '{{.Server.APIVersion}}' +2023-11-12T08:59:47.2035568Z '1.43' +2023-11-12T08:59:47.2048856Z Docker daemon API version: '1.43' +2023-11-12T08:59:47.2049704Z ##[command]/usr/bin/docker version --format '{{.Client.APIVersion}}' +2023-11-12T08:59:47.2209793Z '1.43' +2023-11-12T08:59:47.2229627Z Docker client API version: '1.43' +2023-11-12T08:59:47.2235325Z ##[endgroup] +2023-11-12T08:59:47.2239282Z ##[group]Clean up resources from previous jobs +2023-11-12T08:59:47.2245596Z ##[command]/usr/bin/docker ps --all --quiet --no-trunc --filter "label=bae3f2" +2023-11-12T08:59:47.2382764Z ##[command]/usr/bin/docker network prune --force --filter "label=bae3f2" +2023-11-12T08:59:47.2513406Z ##[endgroup] +2023-11-12T08:59:47.2513906Z ##[group]Create local container network +2023-11-12T08:59:47.2524774Z ##[command]/usr/bin/docker network create --label bae3f2 github_network_bc2270e2d9644957ba98982ec5cf35f2 +2023-11-12T08:59:47.3421425Z 7e144ec3bd040fce7400908b83369d64424efaa98e355fff9ec0d703a41602b1 +2023-11-12T08:59:47.3441937Z ##[endgroup] +2023-11-12T08:59:47.3517647Z ##[group]Starting mysql service container +2023-11-12T08:59:47.3536963Z ##[command]/usr/bin/docker pull mysql:latest +2023-11-12T08:59:47.5471538Z latest: Pulling from library/mysql +2023-11-12T08:59:47.5925068Z 8e0176adc18c: Pulling fs layer +2023-11-12T08:59:47.5926146Z 2d2c52718f65: Pulling fs layer +2023-11-12T08:59:47.5926867Z d88d03ce139b: Pulling fs layer +2023-11-12T08:59:47.5927652Z 4a7d7f11aa1e: Pulling fs layer +2023-11-12T08:59:47.5928644Z ce5949193e4c: Pulling fs layer +2023-11-12T08:59:47.5929143Z f7f024dfb329: Pulling fs layer +2023-11-12T08:59:47.5929598Z 5fc3c840facc: Pulling fs layer +2023-11-12T08:59:47.5930195Z 509068e49488: Pulling fs layer +2023-11-12T08:59:47.5930586Z cbc847bab598: Pulling fs layer +2023-11-12T08:59:47.5930994Z 942bef62a146: Pulling fs layer +2023-11-12T08:59:47.5931450Z f7f024dfb329: Waiting +2023-11-12T08:59:47.5931833Z 5fc3c840facc: Waiting +2023-11-12T08:59:47.5932180Z 509068e49488: Waiting +2023-11-12T08:59:47.5932601Z cbc847bab598: Waiting +2023-11-12T08:59:47.5932952Z 942bef62a146: Waiting +2023-11-12T08:59:47.5933295Z 4a7d7f11aa1e: Waiting +2023-11-12T08:59:47.5933717Z ce5949193e4c: Waiting +2023-11-12T08:59:47.6370843Z 2d2c52718f65: Verifying Checksum +2023-11-12T08:59:47.6371886Z 2d2c52718f65: Download complete +2023-11-12T08:59:47.6628390Z d88d03ce139b: Verifying Checksum +2023-11-12T08:59:47.6630340Z d88d03ce139b: Download complete +2023-11-12T08:59:47.7021669Z ce5949193e4c: Verifying Checksum +2023-11-12T08:59:47.7022614Z ce5949193e4c: Download complete +2023-11-12T08:59:47.7184829Z 4a7d7f11aa1e: Verifying Checksum +2023-11-12T08:59:47.7185700Z 4a7d7f11aa1e: Download complete +2023-11-12T08:59:47.7547210Z f7f024dfb329: Download complete +2023-11-12T08:59:47.8055625Z 509068e49488: Verifying Checksum +2023-11-12T08:59:47.8057291Z 509068e49488: Download complete +2023-11-12T08:59:48.0054531Z 8e0176adc18c: Verifying Checksum +2023-11-12T08:59:48.0055844Z 8e0176adc18c: Download complete +2023-11-12T08:59:48.0721310Z 942bef62a146: Verifying Checksum +2023-11-12T08:59:48.0723241Z 942bef62a146: Download complete +2023-11-12T08:59:48.2055324Z 5fc3c840facc: Verifying Checksum +2023-11-12T08:59:48.2056029Z 5fc3c840facc: Download complete +2023-11-12T08:59:48.2822740Z cbc847bab598: Verifying Checksum +2023-11-12T08:59:48.2824083Z cbc847bab598: Download complete +2023-11-12T08:59:49.3079176Z 8e0176adc18c: Pull complete +2023-11-12T08:59:49.6617199Z 2d2c52718f65: Pull complete +2023-11-12T08:59:49.6872468Z d88d03ce139b: Pull complete +2023-11-12T08:59:49.8872416Z 4a7d7f11aa1e: Pull complete +2023-11-12T08:59:49.9014484Z ce5949193e4c: Pull complete +2023-11-12T08:59:49.9174666Z f7f024dfb329: Pull complete +2023-11-12T08:59:51.3130074Z 5fc3c840facc: Pull complete +2023-11-12T08:59:51.3233267Z 509068e49488: Pull complete +2023-11-12T08:59:56.1487617Z cbc847bab598: Pull complete +2023-11-12T08:59:56.6779169Z 942bef62a146: Pull complete +2023-11-12T08:59:56.6823169Z Digest: sha256:1773f3c7aa9522f0014d0ad2bbdaf597ea3b1643c64c8ccc2123c64afd8b82b1 +2023-11-12T08:59:56.6835281Z Status: Downloaded newer image for mysql:latest +2023-11-12T08:59:56.6843575Z docker.io/library/mysql:latest +2023-11-12T08:59:56.6952276Z ##[command]/usr/bin/docker create --name c43e2a4f7a0044eda3c3640d7583be1f_mysqllatest_210664 --label bae3f2 --network github_network_bc2270e2d9644957ba98982ec5cf35f2 --network-alias mysql -p 3306 --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 -e "MYSQL_ROOT_PASSWORD=root" -e GITHUB_ACTIONS=true -e CI=true mysql:latest +2023-11-12T08:59:56.7205373Z 37a3cfd21d3298b61164877b4eaf9717ee52eda64115ae9cd1aef5206d293ded +2023-11-12T08:59:56.7226574Z ##[command]/usr/bin/docker start 37a3cfd21d3298b61164877b4eaf9717ee52eda64115ae9cd1aef5206d293ded +2023-11-12T08:59:57.0122389Z 37a3cfd21d3298b61164877b4eaf9717ee52eda64115ae9cd1aef5206d293ded +2023-11-12T08:59:57.0147762Z ##[command]/usr/bin/docker ps --all --filter id=37a3cfd21d3298b61164877b4eaf9717ee52eda64115ae9cd1aef5206d293ded --filter status=running --no-trunc --format "{{.ID}} {{.Status}}" +2023-11-12T08:59:57.0270403Z 37a3cfd21d3298b61164877b4eaf9717ee52eda64115ae9cd1aef5206d293ded Up Less than a second (health: starting) +2023-11-12T08:59:57.0292510Z ##[command]/usr/bin/docker port 37a3cfd21d3298b61164877b4eaf9717ee52eda64115ae9cd1aef5206d293ded +2023-11-12T08:59:57.0413612Z 3306/tcp -> 0.0.0.0:32768 +2023-11-12T08:59:57.0414454Z 3306/tcp -> [::]:32768 +2023-11-12T08:59:57.0511341Z ##[endgroup] +2023-11-12T08:59:57.0545971Z ##[group]Waiting for all services to be ready +2023-11-12T08:59:57.0594766Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" 37a3cfd21d3298b61164877b4eaf9717ee52eda64115ae9cd1aef5206d293ded +2023-11-12T08:59:57.0736995Z starting +2023-11-12T08:59:57.0767183Z mysql service is starting, waiting 2 seconds before checking again. +2023-11-12T08:59:59.0767458Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" 37a3cfd21d3298b61164877b4eaf9717ee52eda64115ae9cd1aef5206d293ded +2023-11-12T08:59:59.0896661Z starting +2023-11-12T08:59:59.0908862Z mysql service is starting, waiting 4 seconds before checking again. +2023-11-12T09:00:03.1488036Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" 37a3cfd21d3298b61164877b4eaf9717ee52eda64115ae9cd1aef5206d293ded +2023-11-12T09:00:03.1606151Z starting +2023-11-12T09:00:03.1617891Z mysql service is starting, waiting 8 seconds before checking again. +2023-11-12T09:00:11.5749953Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" 37a3cfd21d3298b61164877b4eaf9717ee52eda64115ae9cd1aef5206d293ded +2023-11-12T09:00:11.5876640Z healthy +2023-11-12T09:00:11.5893980Z mysql service is healthy. +2023-11-12T09:00:11.5894520Z ##[endgroup] +2023-11-12T09:00:11.6253438Z ##[group]Run actions/checkout@v3 +2023-11-12T09:00:11.6253862Z with: +2023-11-12T09:00:11.6254192Z repository: tgstation/tgstation +2023-11-12T09:00:11.6254857Z token: *** +2023-11-12T09:00:11.6255173Z ssh-strict: true +2023-11-12T09:00:11.6255558Z persist-credentials: true +2023-11-12T09:00:11.6256022Z clean: true +2023-11-12T09:00:11.6256343Z sparse-checkout-cone-mode: true +2023-11-12T09:00:11.6256740Z fetch-depth: 1 +2023-11-12T09:00:11.6257139Z fetch-tags: false +2023-11-12T09:00:11.6257424Z lfs: false +2023-11-12T09:00:11.6257739Z submodules: false +2023-11-12T09:00:11.6258160Z set-safe-directory: true +2023-11-12T09:00:11.6258498Z ##[endgroup] +2023-11-12T09:00:11.7905131Z Syncing repository: tgstation/tgstation +2023-11-12T09:00:11.7906924Z ##[group]Getting Git version info +2023-11-12T09:00:11.7907608Z Working directory is '/home/runner/work/tgstation/tgstation' +2023-11-12T09:00:11.7908545Z [command]/usr/bin/git version +2023-11-12T09:00:11.7926430Z git version 2.42.0 +2023-11-12T09:00:11.7950009Z ##[endgroup] +2023-11-12T09:00:11.7969428Z Temporarily overriding HOME='/home/runner/work/_temp/36501371-137a-461b-978e-be8cc4242865' before making global git config changes +2023-11-12T09:00:11.7971339Z Adding repository directory to the temporary git global config as a safe directory +2023-11-12T09:00:11.7973813Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/tgstation/tgstation +2023-11-12T09:00:11.8018133Z Deleting the contents of '/home/runner/work/tgstation/tgstation' +2023-11-12T09:00:11.8021715Z ##[group]Initializing the repository +2023-11-12T09:00:11.8024938Z [command]/usr/bin/git init /home/runner/work/tgstation/tgstation +2023-11-12T09:00:11.8167504Z hint: Using 'master' as the name for the initial branch. This default branch name +2023-11-12T09:00:11.8168867Z hint: is subject to change. To configure the initial branch name to use in all +2023-11-12T09:00:11.8170077Z hint: of your new repositories, which will suppress this warning, call: +2023-11-12T09:00:11.8170644Z hint: +2023-11-12T09:00:11.8171097Z hint: git config --global init.defaultBranch +2023-11-12T09:00:11.8171661Z hint: +2023-11-12T09:00:11.8172234Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +2023-11-12T09:00:11.8173070Z hint: 'development'. The just-created branch can be renamed via this command: +2023-11-12T09:00:11.8173978Z hint: +2023-11-12T09:00:11.8174325Z hint: git branch -m +2023-11-12T09:00:11.8177381Z Initialized empty Git repository in /home/runner/work/tgstation/tgstation/.git/ +2023-11-12T09:00:11.8185891Z [command]/usr/bin/git remote add origin https://github.com/tgstation/tgstation +2023-11-12T09:00:11.8237650Z ##[endgroup] +2023-11-12T09:00:11.8238368Z ##[group]Disabling automatic garbage collection +2023-11-12T09:00:11.8241714Z [command]/usr/bin/git config --local gc.auto 0 +2023-11-12T09:00:11.8277184Z ##[endgroup] +2023-11-12T09:00:11.8277752Z ##[group]Setting up auth +2023-11-12T09:00:11.8283624Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand +2023-11-12T09:00:11.8319856Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" +2023-11-12T09:00:11.8657173Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader +2023-11-12T09:00:11.8696672Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :" +2023-11-12T09:00:11.8934506Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic *** +2023-11-12T09:00:11.8975797Z ##[endgroup] +2023-11-12T09:00:11.8976409Z ##[group]Fetching the repository +2023-11-12T09:00:11.8984535Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --progress --no-recurse-submodules --depth=1 origin +0f52a54577af8e336ee4407c83bc6d3bfedd1d11:refs/remotes/pull/79384/merge +2023-11-12T09:00:12.3422502Z remote: Enumerating objects: 14728, done. +2023-11-12T09:00:12.3435399Z remote: Counting objects: 0% (1/14728) +2023-11-12T09:00:12.3437322Z remote: Counting objects: 1% (148/14728) +2023-11-12T09:00:12.3438041Z remote: Counting objects: 2% (295/14728) +2023-11-12T09:00:12.3438941Z remote: Counting objects: 3% (442/14728) +2023-11-12T09:00:12.3440148Z remote: Counting objects: 4% (590/14728) +2023-11-12T09:00:12.3442925Z remote: Counting objects: 5% (737/14728) +2023-11-12T09:00:12.3445483Z remote: Counting objects: 6% (884/14728) +2023-11-12T09:00:12.3447273Z remote: Counting objects: 7% (1031/14728) +2023-11-12T09:00:12.3460133Z remote: Counting objects: 8% (1179/14728) +2023-11-12T09:00:12.3461187Z remote: Counting objects: 9% (1326/14728) +2023-11-12T09:00:12.3461949Z remote: Counting objects: 10% (1473/14728) +2023-11-12T09:00:12.3462472Z remote: Counting objects: 11% (1621/14728) +2023-11-12T09:00:12.3463038Z remote: Counting objects: 12% (1768/14728) +2023-11-12T09:00:12.3463556Z remote: Counting objects: 13% (1915/14728) +2023-11-12T09:00:12.3467828Z remote: Counting objects: 14% (2062/14728) +2023-11-12T09:00:12.3483848Z remote: Counting objects: 15% (2210/14728) +2023-11-12T09:00:12.3489421Z remote: Counting objects: 16% (2357/14728) +2023-11-12T09:00:12.3489959Z remote: Counting objects: 17% (2504/14728) +2023-11-12T09:00:12.3490601Z remote: Counting objects: 18% (2652/14728) +2023-11-12T09:00:12.3491065Z remote: Counting objects: 19% (2799/14728) +2023-11-12T09:00:12.3491549Z remote: Counting objects: 20% (2946/14728) +2023-11-12T09:00:12.3492150Z remote: Counting objects: 21% (3093/14728) +2023-11-12T09:00:12.3492599Z remote: Counting objects: 22% (3241/14728) +2023-11-12T09:00:12.3497394Z remote: Counting objects: 23% (3388/14728) +2023-11-12T09:00:12.3498533Z remote: Counting objects: 24% (3535/14728) +2023-11-12T09:00:12.3499302Z remote: Counting objects: 25% (3682/14728) +2023-11-12T09:00:12.3500231Z remote: Counting objects: 26% (3830/14728) +2023-11-12T09:00:12.3500908Z remote: Counting objects: 27% (3977/14728) +2023-11-12T09:00:12.3501885Z remote: Counting objects: 28% (4124/14728) +2023-11-12T09:00:12.3502758Z remote: Counting objects: 29% (4272/14728) +2023-11-12T09:00:12.3504000Z remote: Counting objects: 30% (4419/14728) +2023-11-12T09:00:12.3508426Z remote: Counting objects: 31% (4566/14728) +2023-11-12T09:00:12.3510860Z remote: Counting objects: 32% (4713/14728) +2023-11-12T09:00:12.3513541Z remote: Counting objects: 33% (4861/14728) +2023-11-12T09:00:12.3517241Z remote: Counting objects: 34% (5008/14728) +2023-11-12T09:00:12.3518978Z remote: Counting objects: 35% (5155/14728) +2023-11-12T09:00:12.3522056Z remote: Counting objects: 36% (5303/14728) +2023-11-12T09:00:12.3522867Z remote: Counting objects: 37% (5450/14728) +2023-11-12T09:00:12.3524352Z remote: Counting objects: 38% (5597/14728) +2023-11-12T09:00:12.3525521Z remote: Counting objects: 39% (5744/14728) +2023-11-12T09:00:12.3526808Z remote: Counting objects: 40% (5892/14728) +2023-11-12T09:00:12.3528838Z remote: Counting objects: 41% (6039/14728) +2023-11-12T09:00:12.3529652Z remote: Counting objects: 42% (6186/14728) +2023-11-12T09:00:12.3531108Z remote: Counting objects: 43% (6334/14728) +2023-11-12T09:00:12.3531942Z remote: Counting objects: 44% (6481/14728) +2023-11-12T09:00:12.3535178Z remote: Counting objects: 45% (6628/14728) +2023-11-12T09:00:12.3536185Z remote: Counting objects: 46% (6775/14728) +2023-11-12T09:00:12.3537509Z remote: Counting objects: 47% (6923/14728) +2023-11-12T09:00:12.3538838Z remote: Counting objects: 48% (7070/14728) +2023-11-12T09:00:12.3539490Z remote: Counting objects: 49% (7217/14728) +2023-11-12T09:00:12.3540416Z remote: Counting objects: 50% (7364/14728) +2023-11-12T09:00:12.3542997Z remote: Counting objects: 51% (7512/14728) +2023-11-12T09:00:12.3546735Z remote: Counting objects: 52% (7659/14728) +2023-11-12T09:00:12.3547627Z remote: Counting objects: 53% (7806/14728) +2023-11-12T09:00:12.3549945Z remote: Counting objects: 54% (7954/14728) +2023-11-12T09:00:12.3551486Z remote: Counting objects: 55% (8101/14728) +2023-11-12T09:00:12.3554841Z remote: Counting objects: 56% (8248/14728) +2023-11-12T09:00:12.3558919Z remote: Counting objects: 57% (8395/14728) +2023-11-12T09:00:12.3559895Z remote: Counting objects: 58% (8543/14728) +2023-11-12T09:00:12.3561635Z remote: Counting objects: 59% (8690/14728) +2023-11-12T09:00:12.3562509Z remote: Counting objects: 60% (8837/14728) +2023-11-12T09:00:12.3565221Z remote: Counting objects: 61% (8985/14728) +2023-11-12T09:00:12.3566377Z remote: Counting objects: 62% (9132/14728) +2023-11-12T09:00:12.3567330Z remote: Counting objects: 63% (9279/14728) +2023-11-12T09:00:12.3568404Z remote: Counting objects: 64% (9426/14728) +2023-11-12T09:00:12.3569399Z remote: Counting objects: 65% (9574/14728) +2023-11-12T09:00:12.3570508Z remote: Counting objects: 66% (9721/14728) +2023-11-12T09:00:12.3573805Z remote: Counting objects: 67% (9868/14728) +2023-11-12T09:00:12.3574713Z remote: Counting objects: 68% (10016/14728) +2023-11-12T09:00:12.3575852Z remote: Counting objects: 69% (10163/14728) +2023-11-12T09:00:12.3576870Z remote: Counting objects: 70% (10310/14728) +2023-11-12T09:00:12.3577724Z remote: Counting objects: 71% (10457/14728) +2023-11-12T09:00:12.3578357Z remote: Counting objects: 72% (10605/14728) +2023-11-12T09:00:12.3578886Z remote: Counting objects: 73% (10752/14728) +2023-11-12T09:00:12.3579497Z remote: Counting objects: 74% (10899/14728) +2023-11-12T09:00:12.3580417Z remote: Counting objects: 75% (11046/14728) +2023-11-12T09:00:12.3581097Z remote: Counting objects: 76% (11194/14728) +2023-11-12T09:00:12.3581574Z remote: Counting objects: 77% (11341/14728) +2023-11-12T09:00:12.3582409Z remote: Counting objects: 78% (11488/14728) +2023-11-12T09:00:12.3582915Z remote: Counting objects: 79% (11636/14728) +2023-11-12T09:00:12.3583405Z remote: Counting objects: 80% (11783/14728) +2023-11-12T09:00:12.3583954Z remote: Counting objects: 81% (11930/14728) +2023-11-12T09:00:12.3586461Z remote: Counting objects: 82% (12077/14728) +2023-11-12T09:00:12.3587052Z remote: Counting objects: 83% (12225/14728) +2023-11-12T09:00:12.3587941Z remote: Counting objects: 84% (12372/14728) +2023-11-12T09:00:12.3588988Z remote: Counting objects: 85% (12519/14728) +2023-11-12T09:00:12.3591543Z remote: Counting objects: 86% (12667/14728) +2023-11-12T09:00:12.3594301Z remote: Counting objects: 87% (12814/14728) +2023-11-12T09:00:12.3597908Z remote: Counting objects: 88% (12961/14728) +2023-11-12T09:00:12.3601958Z remote: Counting objects: 89% (13108/14728) +2023-11-12T09:00:12.3605574Z remote: Counting objects: 90% (13256/14728) +2023-11-12T09:00:12.3610280Z remote: Counting objects: 91% (13403/14728) +2023-11-12T09:00:12.3612894Z remote: Counting objects: 92% (13550/14728) +2023-11-12T09:00:12.3615660Z remote: Counting objects: 93% (13698/14728) +2023-11-12T09:00:12.3619462Z remote: Counting objects: 94% (13845/14728) +2023-11-12T09:00:12.3623758Z remote: Counting objects: 95% (13992/14728) +2023-11-12T09:00:12.3628748Z remote: Counting objects: 96% (14139/14728) +2023-11-12T09:00:12.3636487Z remote: Counting objects: 97% (14287/14728) +2023-11-12T09:00:12.3641426Z remote: Counting objects: 98% (14434/14728) +2023-11-12T09:00:12.3646422Z remote: Counting objects: 99% (14581/14728) +2023-11-12T09:00:12.3649144Z remote: Counting objects: 100% (14728/14728) +2023-11-12T09:00:12.3649919Z remote: Counting objects: 100% (14728/14728), done. +2023-11-12T09:00:12.3825128Z remote: Compressing objects: 0% (1/13137) +2023-11-12T09:00:12.3961841Z remote: Compressing objects: 1% (132/13137) +2023-11-12T09:00:12.4112502Z remote: Compressing objects: 2% (263/13137) +2023-11-12T09:00:12.4227069Z remote: Compressing objects: 3% (395/13137) +2023-11-12T09:00:12.4228313Z remote: Compressing objects: 4% (526/13137) +2023-11-12T09:00:12.4228983Z remote: Compressing objects: 5% (657/13137) +2023-11-12T09:00:12.4229643Z remote: Compressing objects: 6% (789/13137) +2023-11-12T09:00:12.4271804Z remote: Compressing objects: 7% (920/13137) +2023-11-12T09:00:12.4360389Z remote: Compressing objects: 8% (1051/13137) +2023-11-12T09:00:12.4466461Z remote: Compressing objects: 9% (1183/13137) +2023-11-12T09:00:12.4646998Z remote: Compressing objects: 10% (1314/13137) +2023-11-12T09:00:12.5428669Z remote: Compressing objects: 11% (1446/13137) +2023-11-12T09:00:12.8296153Z remote: Compressing objects: 12% (1577/13137) +2023-11-12T09:00:12.9213149Z remote: Compressing objects: 13% (1708/13137) +2023-11-12T09:00:13.0041408Z remote: Compressing objects: 14% (1840/13137) +2023-11-12T09:00:13.1340856Z remote: Compressing objects: 15% (1971/13137) +2023-11-12T09:00:13.1645036Z remote: Compressing objects: 16% (2102/13137) +2023-11-12T09:00:13.1904768Z remote: Compressing objects: 17% (2234/13137) +2023-11-12T09:00:13.2018494Z remote: Compressing objects: 18% (2365/13137) +2023-11-12T09:00:13.2019779Z remote: Compressing objects: 19% (2497/13137) +2023-11-12T09:00:13.2134073Z remote: Compressing objects: 20% (2628/13137) +2023-11-12T09:00:13.2199911Z remote: Compressing objects: 21% (2759/13137) +2023-11-12T09:00:13.2260920Z remote: Compressing objects: 22% (2891/13137) +2023-11-12T09:00:13.2343043Z remote: Compressing objects: 23% (3022/13137) +2023-11-12T09:00:13.2821833Z remote: Compressing objects: 24% (3153/13137) +2023-11-12T09:00:13.3039708Z remote: Compressing objects: 25% (3285/13137) +2023-11-12T09:00:13.3255129Z remote: Compressing objects: 26% (3416/13137) +2023-11-12T09:00:13.3405305Z remote: Compressing objects: 27% (3547/13137) +2023-11-12T09:00:13.3571381Z remote: Compressing objects: 28% (3679/13137) +2023-11-12T09:00:13.3670018Z remote: Compressing objects: 29% (3810/13137) +2023-11-12T09:00:13.4040877Z remote: Compressing objects: 29% (3868/13137) +2023-11-12T09:00:13.4251871Z remote: Compressing objects: 30% (3942/13137) +2023-11-12T09:00:13.4457155Z remote: Compressing objects: 31% (4073/13137) +2023-11-12T09:00:13.4780533Z remote: Compressing objects: 32% (4204/13137) +2023-11-12T09:00:13.4983464Z remote: Compressing objects: 33% (4336/13137) +2023-11-12T09:00:13.5295246Z remote: Compressing objects: 34% (4467/13137) +2023-11-12T09:00:13.5719629Z remote: Compressing objects: 35% (4598/13137) +2023-11-12T09:00:13.6054442Z remote: Compressing objects: 36% (4730/13137) +2023-11-12T09:00:13.6350098Z remote: Compressing objects: 37% (4861/13137) +2023-11-12T09:00:13.6626461Z remote: Compressing objects: 38% (4993/13137) +2023-11-12T09:00:13.6916464Z remote: Compressing objects: 39% (5124/13137) +2023-11-12T09:00:13.7302124Z remote: Compressing objects: 40% (5255/13137) +2023-11-12T09:00:13.7576240Z remote: Compressing objects: 41% (5387/13137) +2023-11-12T09:00:13.7850663Z remote: Compressing objects: 42% (5518/13137) +2023-11-12T09:00:13.8125191Z remote: Compressing objects: 43% (5649/13137) +2023-11-12T09:00:13.8344430Z remote: Compressing objects: 44% (5781/13137) +2023-11-12T09:00:13.8648361Z remote: Compressing objects: 45% (5912/13137) +2023-11-12T09:00:13.8890504Z remote: Compressing objects: 46% (6044/13137) +2023-11-12T09:00:13.9134975Z remote: Compressing objects: 47% (6175/13137) +2023-11-12T09:00:13.9382739Z remote: Compressing objects: 48% (6306/13137) +2023-11-12T09:00:13.9574317Z remote: Compressing objects: 49% (6438/13137) +2023-11-12T09:00:13.9764171Z remote: Compressing objects: 50% (6569/13137) +2023-11-12T09:00:13.9965671Z remote: Compressing objects: 51% (6700/13137) +2023-11-12T09:00:14.0240257Z remote: Compressing objects: 52% (6832/13137) +2023-11-12T09:00:14.0468725Z remote: Compressing objects: 53% (6963/13137) +2023-11-12T09:00:14.0669881Z remote: Compressing objects: 54% (7094/13137) +2023-11-12T09:00:14.0895124Z remote: Compressing objects: 55% (7226/13137) +2023-11-12T09:00:14.1141069Z remote: Compressing objects: 56% (7357/13137) +2023-11-12T09:00:14.1354395Z remote: Compressing objects: 57% (7489/13137) +2023-11-12T09:00:14.1570266Z remote: Compressing objects: 58% (7620/13137) +2023-11-12T09:00:14.1754980Z remote: Compressing objects: 59% (7751/13137) +2023-11-12T09:00:14.2084676Z remote: Compressing objects: 60% (7883/13137) +2023-11-12T09:00:14.2310657Z remote: Compressing objects: 61% (8014/13137) +2023-11-12T09:00:14.2625166Z remote: Compressing objects: 62% (8145/13137) +2023-11-12T09:00:14.2909864Z remote: Compressing objects: 63% (8277/13137) +2023-11-12T09:00:14.3192565Z remote: Compressing objects: 64% (8408/13137) +2023-11-12T09:00:14.3424597Z remote: Compressing objects: 65% (8540/13137) +2023-11-12T09:00:14.3648230Z remote: Compressing objects: 66% (8671/13137) +2023-11-12T09:00:14.3654208Z remote: Compressing objects: 67% (8802/13137) +2023-11-12T09:00:14.3852572Z remote: Compressing objects: 67% (8803/13137) +2023-11-12T09:00:14.4083890Z remote: Compressing objects: 68% (8934/13137) +2023-11-12T09:00:14.4346236Z remote: Compressing objects: 69% (9065/13137) +2023-11-12T09:00:14.4412610Z remote: Compressing objects: 70% (9196/13137) +2023-11-12T09:00:14.4438826Z remote: Compressing objects: 71% (9328/13137) +2023-11-12T09:00:14.4557338Z remote: Compressing objects: 72% (9459/13137) +2023-11-12T09:00:14.4560053Z remote: Compressing objects: 73% (9591/13137) +2023-11-12T09:00:14.4561406Z remote: Compressing objects: 74% (9722/13137) +2023-11-12T09:00:14.4562102Z remote: Compressing objects: 75% (9853/13137) +2023-11-12T09:00:14.4598003Z remote: Compressing objects: 76% (9985/13137) +2023-11-12T09:00:14.4599196Z remote: Compressing objects: 77% (10116/13137) +2023-11-12T09:00:14.4600027Z remote: Compressing objects: 78% (10247/13137) +2023-11-12T09:00:14.4610318Z remote: Compressing objects: 79% (10379/13137) +2023-11-12T09:00:14.4610882Z remote: Compressing objects: 80% (10510/13137) +2023-11-12T09:00:14.4625739Z remote: Compressing objects: 81% (10641/13137) +2023-11-12T09:00:14.4627218Z remote: Compressing objects: 82% (10773/13137) +2023-11-12T09:00:14.4628087Z remote: Compressing objects: 83% (10904/13137) +2023-11-12T09:00:14.4628755Z remote: Compressing objects: 84% (11036/13137) +2023-11-12T09:00:14.4641964Z remote: Compressing objects: 85% (11167/13137) +2023-11-12T09:00:14.4643000Z remote: Compressing objects: 86% (11298/13137) +2023-11-12T09:00:14.4643588Z remote: Compressing objects: 87% (11430/13137) +2023-11-12T09:00:14.4644263Z remote: Compressing objects: 88% (11561/13137) +2023-11-12T09:00:14.4644780Z remote: Compressing objects: 89% (11692/13137) +2023-11-12T09:00:14.4667702Z remote: Compressing objects: 90% (11824/13137) +2023-11-12T09:00:14.4763174Z remote: Compressing objects: 91% (11955/13137) +2023-11-12T09:00:14.4790967Z remote: Compressing objects: 92% (12087/13137) +2023-11-12T09:00:14.4805225Z remote: Compressing objects: 93% (12218/13137) +2023-11-12T09:00:14.4826093Z remote: Compressing objects: 94% (12349/13137) +2023-11-12T09:00:14.4845748Z remote: Compressing objects: 95% (12481/13137) +2023-11-12T09:00:14.4852480Z remote: Compressing objects: 96% (12612/13137) +2023-11-12T09:00:14.4863608Z remote: Compressing objects: 97% (12743/13137) +2023-11-12T09:00:14.4890566Z remote: Compressing objects: 98% (12875/13137) +2023-11-12T09:00:14.4901499Z remote: Compressing objects: 99% (13006/13137) +2023-11-12T09:00:14.4905499Z remote: Compressing objects: 100% (13137/13137) +2023-11-12T09:00:14.4906263Z remote: Compressing objects: 100% (13137/13137), done. +2023-11-12T09:00:14.5298519Z Receiving objects: 0% (1/14728) +2023-11-12T09:00:14.7511556Z Receiving objects: 1% (148/14728) +2023-11-12T09:00:15.0383718Z Receiving objects: 2% (295/14728) +2023-11-12T09:00:15.0790920Z Receiving objects: 3% (442/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.1841924Z Receiving objects: 4% (590/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.1886539Z Receiving objects: 5% (737/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.1946135Z Receiving objects: 6% (884/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.2129478Z Receiving objects: 7% (1031/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.2298890Z Receiving objects: 8% (1179/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.2441190Z Receiving objects: 9% (1326/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.2535883Z Receiving objects: 10% (1473/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.2682741Z Receiving objects: 11% (1621/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.2854458Z Receiving objects: 12% (1768/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.2953047Z Receiving objects: 13% (1915/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.2998284Z Receiving objects: 14% (2062/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.3017511Z Receiving objects: 15% (2210/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.3161978Z Receiving objects: 16% (2357/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.3233106Z Receiving objects: 17% (2504/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.3483968Z Receiving objects: 18% (2652/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.3784019Z Receiving objects: 19% (2799/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.3954481Z Receiving objects: 20% (2946/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.4245221Z Receiving objects: 21% (3093/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.4470709Z Receiving objects: 22% (3241/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.4723098Z Receiving objects: 23% (3388/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.4937347Z Receiving objects: 24% (3535/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.4944940Z Receiving objects: 24% (3669/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.5175139Z Receiving objects: 25% (3682/14728), 2.91 MiB | 5.72 MiB/s +2023-11-12T09:00:15.5292638Z Receiving objects: 26% (3830/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.5497254Z Receiving objects: 27% (3977/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.5672343Z Receiving objects: 28% (4124/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.5843576Z Receiving objects: 29% (4272/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.5937090Z Receiving objects: 30% (4419/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.6094771Z Receiving objects: 31% (4566/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.6238194Z Receiving objects: 32% (4713/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.6342923Z Receiving objects: 33% (4861/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.6565056Z Receiving objects: 34% (5008/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.6729745Z Receiving objects: 35% (5155/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.6807225Z Receiving objects: 36% (5303/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.6932642Z Receiving objects: 37% (5450/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.7116778Z Receiving objects: 38% (5597/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.7226855Z Receiving objects: 39% (5744/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.7368698Z Receiving objects: 40% (5892/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.7722704Z Receiving objects: 41% (6039/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.8013149Z Receiving objects: 42% (6186/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.8245559Z Receiving objects: 43% (6334/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.8412984Z Receiving objects: 44% (6481/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.8809019Z Receiving objects: 45% (6628/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.9077444Z Receiving objects: 46% (6775/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.9198076Z Receiving objects: 47% (6923/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.9335440Z Receiving objects: 48% (7070/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.9409235Z Receiving objects: 49% (7217/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.9475966Z Receiving objects: 50% (7364/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.9632751Z Receiving objects: 51% (7512/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.9710761Z Receiving objects: 52% (7659/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:15.9997665Z Receiving objects: 53% (7806/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:16.1754062Z Receiving objects: 54% (7954/14728), 8.94 MiB | 8.86 MiB/s +2023-11-12T09:00:16.4937069Z Receiving objects: 55% (8101/14728), 16.55 MiB | 10.97 MiB/s +2023-11-12T09:00:16.4977595Z Receiving objects: 55% (8228/14728), 16.55 MiB | 10.97 MiB/s +2023-11-12T09:00:16.5335682Z Receiving objects: 56% (8248/14728), 16.55 MiB | 10.97 MiB/s +2023-11-12T09:00:16.5529510Z Receiving objects: 57% (8395/14728), 40.02 MiB | 19.93 MiB/s +2023-11-12T09:00:16.6298834Z Receiving objects: 58% (8543/14728), 40.02 MiB | 19.93 MiB/s +2023-11-12T09:00:16.6477417Z Receiving objects: 59% (8690/14728), 40.02 MiB | 19.93 MiB/s +2023-11-12T09:00:16.6877035Z Receiving objects: 60% (8837/14728), 40.02 MiB | 19.93 MiB/s +2023-11-12T09:00:16.7190945Z Receiving objects: 61% (8985/14728), 40.02 MiB | 19.93 MiB/s +2023-11-12T09:00:16.7421126Z Receiving objects: 62% (9132/14728), 40.02 MiB | 19.93 MiB/s +2023-11-12T09:00:16.7678021Z Receiving objects: 63% (9279/14728), 40.02 MiB | 19.93 MiB/s +2023-11-12T09:00:16.8523998Z Receiving objects: 64% (9426/14728), 40.02 MiB | 19.93 MiB/s +2023-11-12T09:00:17.1043001Z Receiving objects: 65% (9574/14728), 40.02 MiB | 19.93 MiB/s +2023-11-12T09:00:17.3854775Z Receiving objects: 66% (9721/14728), 71.27 MiB | 28.42 MiB/s +2023-11-12T09:00:17.4325550Z Receiving objects: 67% (9868/14728), 71.27 MiB | 28.42 MiB/s +2023-11-12T09:00:17.4843860Z Receiving objects: 68% (10016/14728), 71.27 MiB | 28.42 MiB/s +2023-11-12T09:00:17.4974216Z Receiving objects: 69% (10163/14728), 71.27 MiB | 28.42 MiB/s +2023-11-12T09:00:17.5355293Z Receiving objects: 69% (10174/14728), 71.27 MiB | 28.42 MiB/s +2023-11-12T09:00:17.6035052Z Receiving objects: 70% (10310/14728), 104.98 MiB | 34.90 MiB/s +2023-11-12T09:00:17.6662170Z Receiving objects: 71% (10457/14728), 104.98 MiB | 34.90 MiB/s +2023-11-12T09:00:17.7426342Z Receiving objects: 72% (10605/14728), 104.98 MiB | 34.90 MiB/s +2023-11-12T09:00:17.7732421Z Receiving objects: 73% (10752/14728), 104.98 MiB | 34.90 MiB/s +2023-11-12T09:00:17.7890371Z Receiving objects: 74% (10899/14728), 104.98 MiB | 34.90 MiB/s +2023-11-12T09:00:17.8003342Z Receiving objects: 75% (11046/14728), 104.98 MiB | 34.90 MiB/s +2023-11-12T09:00:17.8123812Z Receiving objects: 76% (11194/14728), 104.98 MiB | 34.90 MiB/s +2023-11-12T09:00:17.8868154Z Receiving objects: 77% (11341/14728), 104.98 MiB | 34.90 MiB/s +2023-11-12T09:00:17.9248750Z Receiving objects: 78% (11488/14728), 104.98 MiB | 34.90 MiB/s +2023-11-12T09:00:17.9430493Z Receiving objects: 79% (11636/14728), 104.98 MiB | 34.90 MiB/s +2023-11-12T09:00:17.9815619Z Receiving objects: 80% (11783/14728), 104.98 MiB | 34.90 MiB/s +2023-11-12T09:00:17.9897797Z Receiving objects: 81% (11930/14728), 104.98 MiB | 34.90 MiB/s +2023-11-12T09:00:18.0004021Z Receiving objects: 82% (12077/14728), 104.98 MiB | 34.90 MiB/s +2023-11-12T09:00:18.0065635Z Receiving objects: 83% (12225/14728), 104.98 MiB | 34.90 MiB/s +2023-11-12T09:00:18.0133099Z Receiving objects: 84% (12372/14728), 137.62 MiB | 39.23 MiB/s +2023-11-12T09:00:18.0212448Z Receiving objects: 85% (12519/14728), 137.62 MiB | 39.23 MiB/s +2023-11-12T09:00:18.0292270Z Receiving objects: 86% (12667/14728), 137.62 MiB | 39.23 MiB/s +2023-11-12T09:00:18.0477194Z Receiving objects: 87% (12814/14728), 137.62 MiB | 39.23 MiB/s +2023-11-12T09:00:18.1050651Z Receiving objects: 88% (12961/14728), 137.62 MiB | 39.23 MiB/s +2023-11-12T09:00:18.1401134Z Receiving objects: 89% (13108/14728), 137.62 MiB | 39.23 MiB/s +2023-11-12T09:00:18.1440829Z Receiving objects: 90% (13256/14728), 137.62 MiB | 39.23 MiB/s +2023-11-12T09:00:18.1503769Z Receiving objects: 91% (13403/14728), 137.62 MiB | 39.23 MiB/s +2023-11-12T09:00:18.1562677Z Receiving objects: 92% (13550/14728), 137.62 MiB | 39.23 MiB/s +2023-11-12T09:00:18.1618314Z Receiving objects: 93% (13698/14728), 137.62 MiB | 39.23 MiB/s +2023-11-12T09:00:18.1655496Z Receiving objects: 94% (13845/14728), 137.62 MiB | 39.23 MiB/s +2023-11-12T09:00:18.1708799Z Receiving objects: 95% (13992/14728), 137.62 MiB | 39.23 MiB/s +2023-11-12T09:00:18.1779590Z Receiving objects: 96% (14139/14728), 137.62 MiB | 39.23 MiB/s +2023-11-12T09:00:18.1850924Z Receiving objects: 97% (14287/14728), 137.62 MiB | 39.23 MiB/s +2023-11-12T09:00:18.1887710Z Receiving objects: 98% (14434/14728), 137.62 MiB | 39.23 MiB/s +2023-11-12T09:00:18.1982209Z Receiving objects: 99% (14581/14728), 137.62 MiB | 39.23 MiB/s +2023-11-12T09:00:18.1983900Z remote: Total 14728 (delta 1648), reused 9457 (delta 1437), pack-reused 0 +2023-11-12T09:00:18.1993200Z Receiving objects: 100% (14728/14728), 137.62 MiB | 39.23 MiB/s +2023-11-12T09:00:18.1994500Z Receiving objects: 100% (14728/14728), 147.84 MiB | 39.90 MiB/s, done. +2023-11-12T09:00:18.2019068Z Resolving deltas: 0% (0/1648) +2023-11-12T09:00:18.2023348Z Resolving deltas: 1% (17/1648) +2023-11-12T09:00:18.2032679Z Resolving deltas: 2% (33/1648) +2023-11-12T09:00:18.2057515Z Resolving deltas: 3% (50/1648) +2023-11-12T09:00:18.2067595Z Resolving deltas: 4% (66/1648) +2023-11-12T09:00:18.2311083Z Resolving deltas: 5% (83/1648) +2023-11-12T09:00:18.2318508Z Resolving deltas: 6% (99/1648) +2023-11-12T09:00:18.2326847Z Resolving deltas: 7% (116/1648) +2023-11-12T09:00:18.2335304Z Resolving deltas: 8% (132/1648) +2023-11-12T09:00:18.2348077Z Resolving deltas: 9% (149/1648) +2023-11-12T09:00:18.2360740Z Resolving deltas: 10% (165/1648) +2023-11-12T09:00:18.2369574Z Resolving deltas: 11% (182/1648) +2023-11-12T09:00:18.2383691Z Resolving deltas: 12% (198/1648) +2023-11-12T09:00:18.2394926Z Resolving deltas: 13% (215/1648) +2023-11-12T09:00:18.2398748Z Resolving deltas: 14% (231/1648) +2023-11-12T09:00:18.2404491Z Resolving deltas: 15% (248/1648) +2023-11-12T09:00:18.2406714Z Resolving deltas: 16% (264/1648) +2023-11-12T09:00:18.2407998Z Resolving deltas: 17% (281/1648) +2023-11-12T09:00:18.2409292Z Resolving deltas: 18% (297/1648) +2023-11-12T09:00:18.2411513Z Resolving deltas: 19% (315/1648) +2023-11-12T09:00:18.2413614Z Resolving deltas: 20% (330/1648) +2023-11-12T09:00:18.2414462Z Resolving deltas: 21% (347/1648) +2023-11-12T09:00:18.2418247Z Resolving deltas: 22% (363/1648) +2023-11-12T09:00:18.2418936Z Resolving deltas: 23% (380/1648) +2023-11-12T09:00:18.2419539Z Resolving deltas: 24% (396/1648) +2023-11-12T09:00:18.2427604Z Resolving deltas: 25% (412/1648) +2023-11-12T09:00:18.2432866Z Resolving deltas: 26% (429/1648) +2023-11-12T09:00:18.2441981Z Resolving deltas: 27% (445/1648) +2023-11-12T09:00:18.2447582Z Resolving deltas: 28% (462/1648) +2023-11-12T09:00:18.2466027Z Resolving deltas: 29% (478/1648) +2023-11-12T09:00:18.2471796Z Resolving deltas: 30% (495/1648) +2023-11-12T09:00:18.2480036Z Resolving deltas: 31% (511/1648) +2023-11-12T09:00:18.2490887Z Resolving deltas: 32% (528/1648) +2023-11-12T09:00:18.2494739Z Resolving deltas: 33% (544/1648) +2023-11-12T09:00:18.2502376Z Resolving deltas: 34% (561/1648) +2023-11-12T09:00:18.2508410Z Resolving deltas: 35% (577/1648) +2023-11-12T09:00:18.2513823Z Resolving deltas: 36% (594/1648) +2023-11-12T09:00:18.2527222Z Resolving deltas: 37% (610/1648) +2023-11-12T09:00:18.2537398Z Resolving deltas: 38% (627/1648) +2023-11-12T09:00:18.2549132Z Resolving deltas: 39% (643/1648) +2023-11-12T09:00:18.2554784Z Resolving deltas: 40% (660/1648) +2023-11-12T09:00:18.2556656Z Resolving deltas: 41% (676/1648) +2023-11-12T09:00:18.2557507Z Resolving deltas: 42% (693/1648) +2023-11-12T09:00:18.2558588Z Resolving deltas: 43% (709/1648) +2023-11-12T09:00:18.2559455Z Resolving deltas: 44% (727/1648) +2023-11-12T09:00:18.2561210Z Resolving deltas: 45% (742/1648) +2023-11-12T09:00:18.2562565Z Resolving deltas: 46% (760/1648) +2023-11-12T09:00:18.2563347Z Resolving deltas: 47% (775/1648) +2023-11-12T09:00:18.2564389Z Resolving deltas: 48% (792/1648) +2023-11-12T09:00:18.2565291Z Resolving deltas: 49% (808/1648) +2023-11-12T09:00:18.2566382Z Resolving deltas: 50% (824/1648) +2023-11-12T09:00:18.2567240Z Resolving deltas: 51% (841/1648) +2023-11-12T09:00:18.2568283Z Resolving deltas: 52% (857/1648) +2023-11-12T09:00:18.2573986Z Resolving deltas: 53% (874/1648) +2023-11-12T09:00:18.2578038Z Resolving deltas: 54% (890/1648) +2023-11-12T09:00:18.2579766Z Resolving deltas: 55% (907/1648) +2023-11-12T09:00:18.2583389Z Resolving deltas: 56% (923/1648) +2023-11-12T09:00:18.2587856Z Resolving deltas: 57% (940/1648) +2023-11-12T09:00:18.2589664Z Resolving deltas: 58% (956/1648) +2023-11-12T09:00:18.2591411Z Resolving deltas: 59% (973/1648) +2023-11-12T09:00:18.2594574Z Resolving deltas: 60% (989/1648) +2023-11-12T09:00:18.2597339Z Resolving deltas: 61% (1006/1648) +2023-11-12T09:00:18.2599661Z Resolving deltas: 62% (1022/1648) +2023-11-12T09:00:18.2605805Z Resolving deltas: 63% (1039/1648) +2023-11-12T09:00:18.2606445Z Resolving deltas: 64% (1055/1648) +2023-11-12T09:00:18.2608833Z Resolving deltas: 65% (1072/1648) +2023-11-12T09:00:18.2612033Z Resolving deltas: 66% (1088/1648) +2023-11-12T09:00:18.2614253Z Resolving deltas: 67% (1105/1648) +2023-11-12T09:00:18.2618118Z Resolving deltas: 68% (1121/1648) +2023-11-12T09:00:18.2619827Z Resolving deltas: 69% (1138/1648) +2023-11-12T09:00:18.2621203Z Resolving deltas: 70% (1154/1648) +2023-11-12T09:00:18.2624401Z Resolving deltas: 71% (1171/1648) +2023-11-12T09:00:18.2627592Z Resolving deltas: 72% (1187/1648) +2023-11-12T09:00:18.2630703Z Resolving deltas: 73% (1204/1648) +2023-11-12T09:00:18.2633542Z Resolving deltas: 74% (1220/1648) +2023-11-12T09:00:18.2636165Z Resolving deltas: 75% (1236/1648) +2023-11-12T09:00:18.2638056Z Resolving deltas: 76% (1253/1648) +2023-11-12T09:00:18.2642611Z Resolving deltas: 77% (1269/1648) +2023-11-12T09:00:18.2645574Z Resolving deltas: 78% (1286/1648) +2023-11-12T09:00:18.2650111Z Resolving deltas: 79% (1302/1648) +2023-11-12T09:00:18.2653615Z Resolving deltas: 80% (1319/1648) +2023-11-12T09:00:18.2657080Z Resolving deltas: 81% (1335/1648) +2023-11-12T09:00:18.2661192Z Resolving deltas: 82% (1352/1648) +2023-11-12T09:00:18.2666443Z Resolving deltas: 83% (1368/1648) +2023-11-12T09:00:18.2671066Z Resolving deltas: 84% (1385/1648) +2023-11-12T09:00:18.2675875Z Resolving deltas: 85% (1401/1648) +2023-11-12T09:00:18.2680749Z Resolving deltas: 86% (1418/1648) +2023-11-12T09:00:18.2685418Z Resolving deltas: 87% (1434/1648) +2023-11-12T09:00:18.2691672Z Resolving deltas: 88% (1451/1648) +2023-11-12T09:00:18.2696947Z Resolving deltas: 89% (1467/1648) +2023-11-12T09:00:18.2704268Z Resolving deltas: 90% (1484/1648) +2023-11-12T09:00:18.2714966Z Resolving deltas: 91% (1500/1648) +2023-11-12T09:00:18.2724238Z Resolving deltas: 92% (1518/1648) +2023-11-12T09:00:18.2727054Z Resolving deltas: 93% (1533/1648) +2023-11-12T09:00:18.2732989Z Resolving deltas: 94% (1550/1648) +2023-11-12T09:00:18.2738406Z Resolving deltas: 95% (1567/1648) +2023-11-12T09:00:18.2743401Z Resolving deltas: 96% (1583/1648) +2023-11-12T09:00:18.2748306Z Resolving deltas: 97% (1599/1648) +2023-11-12T09:00:18.2752079Z Resolving deltas: 98% (1616/1648) +2023-11-12T09:00:18.2774732Z Resolving deltas: 99% (1632/1648) +2023-11-12T09:00:18.2776965Z Resolving deltas: 100% (1648/1648) +2023-11-12T09:00:18.2777617Z Resolving deltas: 100% (1648/1648), done. +2023-11-12T09:00:18.4151233Z From https://github.com/tgstation/tgstation +2023-11-12T09:00:18.4152324Z * [new ref] 0f52a54577af8e336ee4407c83bc6d3bfedd1d11 -> pull/79384/merge +2023-11-12T09:00:18.4174692Z ##[endgroup] +2023-11-12T09:00:18.4175546Z ##[group]Determining the checkout info +2023-11-12T09:00:18.4177292Z ##[endgroup] +2023-11-12T09:00:18.4178077Z ##[group]Checking out the ref +2023-11-12T09:00:18.4182006Z [command]/usr/bin/git checkout --progress --force refs/remotes/pull/79384/merge +2023-11-12T09:00:19.4499153Z Updating files: 65% (8853/13535) +2023-11-12T09:00:19.4677754Z Updating files: 66% (8934/13535) +2023-11-12T09:00:19.4881367Z Updating files: 67% (9069/13535) +2023-11-12T09:00:19.5117589Z Updating files: 68% (9204/13535) +2023-11-12T09:00:19.5393100Z Updating files: 69% (9340/13535) +2023-11-12T09:00:19.5649915Z Updating files: 70% (9475/13535) +2023-11-12T09:00:19.5885545Z Updating files: 71% (9610/13535) +2023-11-12T09:00:19.6092470Z Updating files: 72% (9746/13535) +2023-11-12T09:00:19.6193070Z Updating files: 73% (9881/13535) +2023-11-12T09:00:19.6275200Z Updating files: 74% (10016/13535) +2023-11-12T09:00:19.6366161Z Updating files: 75% (10152/13535) +2023-11-12T09:00:19.6497650Z Updating files: 76% (10287/13535) +2023-11-12T09:00:19.6864064Z Updating files: 77% (10422/13535) +2023-11-12T09:00:19.6905958Z Updating files: 78% (10558/13535) +2023-11-12T09:00:19.7095469Z Updating files: 79% (10693/13535) +2023-11-12T09:00:19.7217904Z Updating files: 80% (10828/13535) +2023-11-12T09:00:19.7299066Z Updating files: 81% (10964/13535) +2023-11-12T09:00:19.7371348Z Updating files: 82% (11099/13535) +2023-11-12T09:00:19.7439098Z Updating files: 83% (11235/13535) +2023-11-12T09:00:19.7509681Z Updating files: 84% (11370/13535) +2023-11-12T09:00:19.7583669Z Updating files: 85% (11505/13535) +2023-11-12T09:00:19.7654399Z Updating files: 86% (11641/13535) +2023-11-12T09:00:19.7761508Z Updating files: 87% (11776/13535) +2023-11-12T09:00:19.7996111Z Updating files: 88% (11911/13535) +2023-11-12T09:00:19.8212241Z Updating files: 89% (12047/13535) +2023-11-12T09:00:19.8280038Z Updating files: 90% (12182/13535) +2023-11-12T09:00:19.8351398Z Updating files: 91% (12317/13535) +2023-11-12T09:00:19.8428752Z Updating files: 92% (12453/13535) +2023-11-12T09:00:19.8508292Z Updating files: 93% (12588/13535) +2023-11-12T09:00:19.8572225Z Updating files: 94% (12723/13535) +2023-11-12T09:00:19.8650650Z Updating files: 95% (12859/13535) +2023-11-12T09:00:19.8729362Z Updating files: 96% (12994/13535) +2023-11-12T09:00:19.8829435Z Updating files: 97% (13129/13535) +2023-11-12T09:00:19.8894699Z Updating files: 98% (13265/13535) +2023-11-12T09:00:19.8994866Z Updating files: 99% (13400/13535) +2023-11-12T09:00:19.8995690Z Updating files: 100% (13535/13535) +2023-11-12T09:00:19.8996705Z Updating files: 100% (13535/13535), done. +2023-11-12T09:00:19.9124545Z Note: switching to 'refs/remotes/pull/79384/merge'. +2023-11-12T09:00:19.9125161Z +2023-11-12T09:00:19.9125767Z You are in 'detached HEAD' state. You can look around, make experimental +2023-11-12T09:00:19.9127145Z changes and commit them, and you can discard any commits you make in this +2023-11-12T09:00:19.9128712Z state without impacting any branches by switching back to a branch. +2023-11-12T09:00:19.9129440Z +2023-11-12T09:00:19.9129888Z If you want to create a new branch to retain commits you create, you may +2023-11-12T09:00:19.9131250Z do so (now or later) by using -c with the switch command. Example: +2023-11-12T09:00:19.9131887Z +2023-11-12T09:00:19.9132223Z git switch -c +2023-11-12T09:00:19.9132633Z +2023-11-12T09:00:19.9133095Z Or undo this operation with: +2023-11-12T09:00:19.9133655Z +2023-11-12T09:00:19.9133848Z git switch - +2023-11-12T09:00:19.9134127Z +2023-11-12T09:00:19.9134677Z Turn off this advice by setting config variable advice.detachedHead to false +2023-11-12T09:00:19.9135426Z +2023-11-12T09:00:19.9136195Z HEAD is now at 0f52a54 Merge 2104248ba951649225e5c5cb8168346f0220bdb7 into 1eb94ba2286812853f5c65b2557bf2f8f5e46d4f +2023-11-12T09:00:19.9215939Z ##[endgroup] +2023-11-12T09:00:19.9261644Z [command]/usr/bin/git log -1 --format='%H' +2023-11-12T09:00:19.9293509Z '0f52a54577af8e336ee4407c83bc6d3bfedd1d11' +2023-11-12T09:00:19.9616124Z ##[group]Run actions/cache@v3 +2023-11-12T09:00:19.9616601Z with: +2023-11-12T09:00:19.9616946Z path: ~/BYOND +2023-11-12T09:00:19.9617286Z key: Linux-byond- +2023-11-12T09:00:19.9617686Z enableCrossOsArchive: false +2023-11-12T09:00:19.9618092Z fail-on-cache-miss: false +2023-11-12T09:00:19.9618460Z lookup-only: false +2023-11-12T09:00:19.9618822Z ##[endgroup] +2023-11-12T09:00:20.2859595Z Cache Size: ~4 MB (4090426 B) +2023-11-12T09:00:20.2888527Z [command]/usr/bin/tar -xf /home/runner/work/_temp/edb2b23d-361f-4c19-b676-33998159e0b8/cache.tzst -P -C /home/runner/work/tgstation/tgstation --use-compress-program unzstd +2023-11-12T09:00:20.3193378Z Cache restored successfully +2023-11-12T09:00:20.3317264Z Cache restored from key: Linux-byond- +2023-11-12T09:00:20.3451434Z ##[group]Run sudo systemctl start mysql +2023-11-12T09:00:20.3452154Z sudo systemctl start mysql +2023-11-12T09:00:20.3452715Z mysql -u root -proot -e 'CREATE DATABASE tg_ci;' +2023-11-12T09:00:20.3453355Z mysql -u root -proot tg_ci < SQL/tgstation_schema.sql +2023-11-12T09:00:20.3454118Z mysql -u root -proot -e 'CREATE DATABASE tg_ci_prefixed;' +2023-11-12T09:00:20.3454828Z mysql -u root -proot tg_ci_prefixed < SQL/tgstation_schema_prefixed.sql +2023-11-12T09:00:20.3513329Z shell: /usr/bin/bash -e {0} +2023-11-12T09:00:20.3513775Z ##[endgroup] +2023-11-12T09:00:23.5982676Z mysql: [Warning] Using a password on the command line interface can be insecure. +2023-11-12T09:00:23.6362129Z mysql: [Warning] Using a password on the command line interface can be insecure. +2023-11-12T09:00:24.0220158Z mysql: [Warning] Using a password on the command line interface can be insecure. +2023-11-12T09:00:24.0302175Z mysql: [Warning] Using a password on the command line interface can be insecure. +2023-11-12T09:00:24.3266576Z ##[group]Run bash tools/ci/install_rust_g.sh +2023-11-12T09:00:24.3267216Z bash tools/ci/install_rust_g.sh +2023-11-12T09:00:24.3311615Z shell: /usr/bin/bash -e {0} +2023-11-12T09:00:24.3311996Z ##[endgroup] +2023-11-12T09:00:24.6018389Z 2023-11-12 09:00:24 URL:https://objects.githubusercontent.com/github-production-release-asset-2e65be/127494547/aea9a209-14bc-4b8b-b98c-1ba32c0aaf86?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20231112%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20231112T085850Z&X-Amz-Expires=300&X-Amz-Signature=c3e69a55ec6f839925bb9729c6b2e6b4d5b76b4855bfd64b96933c73f95a6734&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=127494547&response-content-disposition=attachment%3B%20filename%3Dlibrust_g.so&response-content-type=application%2Foctet-stream [66491316/66491316] -> "/home/runner/.byond/bin/librust_g.so" [1] +2023-11-12T09:00:24.6320307Z linux-gate.so.1 (0xf7f74000) +2023-11-12T09:00:24.6321993Z libz.so.1 => /lib32/libz.so.1 (0xf7f45000) +2023-11-12T09:00:24.6322879Z libgcc_s.so.1 => /lib32/libgcc_s.so.1 (0xf7f1e000) +2023-11-12T09:00:24.6323651Z libm.so.6 => /lib32/libm.so.6 (0xf7e16000) +2023-11-12T09:00:24.6324533Z libc.so.6 => /lib32/libc.so.6 (0xf7400000) +2023-11-12T09:00:24.6326012Z /lib/ld-linux.so.2 (0xf7f76000) +2023-11-12T09:00:24.6368501Z ##[group]Run bash tools/ci/install_auxlua.sh +2023-11-12T09:00:24.6369036Z bash tools/ci/install_auxlua.sh +2023-11-12T09:00:24.6417060Z shell: /usr/bin/bash -e {0} +2023-11-12T09:00:24.6417480Z ##[endgroup] +2023-11-12T09:00:24.7086755Z 2023-11-12 09:00:24 URL:https://objects.githubusercontent.com/github-production-release-asset-2e65be/473295481/ec517e6d-2695-477e-ae92-7645fee5b7ce?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20231112%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20231112T085916Z&X-Amz-Expires=300&X-Amz-Signature=e13d49b79e73a573dc4a351e5e9575d601b7f51fc16f9d3f03f959884cdf8941&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=473295481&response-content-disposition=attachment%3B%20filename%3Dlibauxlua.so&response-content-type=application%2Foctet-stream [6045340/6045340] -> "/home/runner/.byond/bin/libauxlua.so" [1] +2023-11-12T09:00:24.7172511Z linux-gate.so.1 (0xf7f77000) +2023-11-12T09:00:24.7173643Z libstdc++.so.6 => /lib32/libstdc++.so.6 (0xf7800000) +2023-11-12T09:00:24.7174378Z libgcc_s.so.1 => /lib32/libgcc_s.so.1 (0xf7f3e000) +2023-11-12T09:00:24.7175045Z libpthread.so.0 => /lib32/libpthread.so.0 (0xf7f39000) +2023-11-12T09:00:24.7176413Z libm.so.6 => /lib32/libm.so.6 (0xf7e31000) +2023-11-12T09:00:24.7177209Z libdl.so.2 => /lib32/libdl.so.2 (0xf7e2c000) +2023-11-12T09:00:24.7177918Z libc.so.6 => /lib32/libc.so.6 (0xf7400000) +2023-11-12T09:00:24.7178575Z /lib/ld-linux.so.2 (0xf7f79000) +2023-11-12T09:00:24.7231003Z ##[group]Run bash tools/ci/install_byond.sh +2023-11-12T09:00:24.7231555Z bash tools/ci/install_byond.sh +2023-11-12T09:00:24.7232077Z source $HOME/BYOND/byond/bin/byondsetup +2023-11-12T09:00:24.7232805Z tools/build/build --ci dm -DCIBUILDING -DANSICOLORS -WError -NWTG0001 +2023-11-12T09:00:24.7274898Z shell: /usr/bin/bash -e {0} +2023-11-12T09:00:24.7275297Z ##[endgroup] +2023-11-12T09:00:24.7365575Z Setting up BYOND. +2023-11-12T09:00:24.7497243Z % Total % Received % Xferd Average Speed Time Time Time Current +2023-11-12T09:00:24.7498339Z Dload Upload Total Spent Left Speed +2023-11-12T09:00:24.7499103Z +2023-11-12T09:00:24.7733411Z 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +2023-11-12T09:00:24.7884475Z 0 4021k 0 4979 0 0 203k 0 0:00:19 --:--:-- 0:00:19 202k +2023-11-12T09:00:24.7885997Z 100 4021k 100 4021k 0 0 100M 0 --:--:-- --:--:-- --:--:-- 100M +2023-11-12T09:00:24.8068033Z Archive: byond.zip +2023-11-12T09:00:24.8069055Z creating: byond/ +2023-11-12T09:00:24.8069884Z creating: byond/key/ +2023-11-12T09:00:24.8071025Z creating: byond/web/ +2023-11-12T09:00:24.8073333Z inflating: byond/web/child.dms +2023-11-12T09:00:24.8074283Z inflating: byond/web/button.dms +2023-11-12T09:00:24.8076478Z inflating: byond/web/input.dms +2023-11-12T09:00:24.8077391Z inflating: byond/web/text.dms +2023-11-12T09:00:24.8176215Z inflating: byond/web/webclient.dart.js +2023-11-12T09:00:24.8177154Z inflating: byond/web/verbmenu.dms +2023-11-12T09:00:24.8178296Z inflating: byond/web/defaultSkin.dms +2023-11-12T09:00:24.8179798Z inflating: byond/web/hotbar.dms +2023-11-12T09:00:24.8180913Z inflating: byond/web/label.dms +2023-11-12T09:00:24.8181973Z inflating: byond/web/alert.dms +2023-11-12T09:00:24.8182843Z inflating: byond/web/message.dms +2023-11-12T09:00:24.8183665Z inflating: byond/web/drag.png +2023-11-12T09:00:24.8185004Z inflating: byond/web/map.dms +2023-11-12T09:00:24.8186150Z inflating: byond/web/splashlogo.png +2023-11-12T09:00:24.8186893Z inflating: byond/web/drop.png +2023-11-12T09:00:24.8282279Z inflating: byond/web/ext.js +2023-11-12T09:00:24.8283075Z inflating: byond/web/file.dms +2023-11-12T09:00:24.8284575Z inflating: byond/web/grid.dms +2023-11-12T09:00:24.8286207Z inflating: byond/web/bar.dms +2023-11-12T09:00:24.8288946Z inflating: byond/web/dpad.dms +2023-11-12T09:00:24.8289936Z inflating: byond/web/output.dms +2023-11-12T09:00:24.8291365Z inflating: byond/web/tab.dms +2023-11-12T09:00:24.8293155Z inflating: byond/web/info.dms +2023-11-12T09:00:24.8294881Z inflating: byond/web/color.dms +2023-11-12T09:00:24.8296103Z inflating: byond/web/gamepad.dms +2023-11-12T09:00:24.8297532Z inflating: byond/web/browser.dms +2023-11-12T09:00:24.8298158Z inflating: byond/web/status.dms +2023-11-12T09:00:24.8299313Z inflating: byond/web/any.dms +2023-11-12T09:00:24.8300438Z inflating: byond/web/pane.dms +2023-11-12T09:00:24.8302172Z inflating: byond/web/pop.dms +2023-11-12T09:00:24.8303255Z inflating: byond/license.txt +2023-11-12T09:00:24.8303882Z inflating: byond/legal.txt +2023-11-12T09:00:24.8305048Z inflating: byond/Makefile +2023-11-12T09:00:24.8305748Z creating: byond/man/ +2023-11-12T09:00:24.8306319Z creating: byond/man/man6/ +2023-11-12T09:00:24.8307604Z inflating: byond/man/man6/DreamDaemon.6 +2023-11-12T09:00:24.8308434Z inflating: byond/man/man6/DreamMaker.6 +2023-11-12T09:00:24.8309437Z creating: byond/lib/ +2023-11-12T09:00:24.8310004Z creating: byond/host/ +2023-11-12T09:00:24.8311286Z inflating: byond/host/readme.html +2023-11-12T09:00:24.8312492Z inflating: byond/host/readme-unix.txt +2023-11-12T09:00:24.8313289Z creating: byond/host/home/ +2023-11-12T09:00:24.8314244Z creating: byond/host/home/root/ +2023-11-12T09:00:24.8315083Z creating: byond/host/home/root/byond/ +2023-11-12T09:00:24.8315883Z creating: byond/host/home/root/byond/tools/ +2023-11-12T09:00:24.8316724Z creating: byond/host/home/root/byond/tools/root/ +2023-11-12T09:00:24.8321401Z inflating: byond/host/home/root/byond/tools/root/root.dmb +2023-11-12T09:00:24.8322363Z creating: byond/host/shared/ +2023-11-12T09:00:24.8323118Z creating: byond/host/shared/byond/ +2023-11-12T09:00:24.8323939Z creating: byond/host/shared/byond/tools/ +2023-11-12T09:00:24.8324697Z creating: byond/host/shared/byond/tools/ftp/ +2023-11-12T09:00:24.8326100Z inflating: byond/host/shared/byond/tools/ftp/ftp.dmb +2023-11-12T09:00:24.8327214Z creating: byond/host/shared/byond/tools/admin/ +2023-11-12T09:00:24.8332506Z inflating: byond/host/shared/byond/tools/admin/admin.dmb +2023-11-12T09:00:24.8333692Z creating: byond/host/shared-web/ +2023-11-12T09:00:24.8334536Z creating: byond/host/shared-web/web/ +2023-11-12T09:00:24.8335395Z creating: byond/host/shared-web/web/tools/ +2023-11-12T09:00:24.8336389Z creating: byond/host/shared-web/web/tools/admin/ +2023-11-12T09:00:24.8340610Z inflating: byond/host/shared-web/web/tools/admin/index.dmb +2023-11-12T09:00:24.8347816Z inflating: byond/host/host.dmb +2023-11-12T09:00:24.8348686Z inflating: byond/host/host.start +2023-11-12T09:00:24.8349570Z inflating: byond/host/hostconf.orig +2023-11-12T09:00:24.8350612Z inflating: byond/host/hostconf.txt +2023-11-12T09:00:24.8351646Z inflating: byond/readme.txt +2023-11-12T09:00:24.8352393Z creating: byond/bin/ +2023-11-12T09:00:24.8353203Z inflating: byond/bin/byondexec +2023-11-12T09:00:24.8355525Z inflating: byond/bin/DreamDownload +2023-11-12T09:00:24.8915164Z inflating: byond/bin/libbyond.so +2023-11-12T09:00:24.9052390Z inflating: byond/bin/libext.so +2023-11-12T09:00:24.9056691Z inflating: byond/bin/DreamDaemon +2023-11-12T09:00:24.9060064Z inflating: byond/bin/DreamMaker +2023-11-12T09:00:24.9060916Z creating: byond/cfg/ +2023-11-12T09:00:24.9061543Z inflating: byond/cfg/release.txt +2023-11-12T09:00:24.9218525Z *************************** +2023-11-12T09:00:24.9225188Z Now run the following command: +2023-11-12T09:00:24.9233824Z +2023-11-12T09:00:24.9243155Z source /home/runner/BYOND/byond/bin/byondsetup +2023-11-12T09:00:24.9251769Z +2023-11-12T09:00:24.9259232Z If it generates errors, your shell is not compatible with 'sh', so you will +2023-11-12T09:00:24.9265751Z have to edit byondsetup and make it work with your shell. If the script works, you should be able to run DreamDaemon. +2023-11-12T09:00:24.9273703Z +2023-11-12T09:00:24.9280708Z IMPORTANT: once you have the script working, you must add the above line +2023-11-12T09:00:24.9287739Z to your startup script. The name of your startup script depends on the +2023-11-12T09:00:24.9294443Z shell you use. Typical ones are .profile or .bash_profile. +2023-11-12T09:00:24.9302682Z +2023-11-12T09:00:24.9309851Z Once everything is working, you can find out more about the software +2023-11-12T09:00:24.9316763Z by doing 'man DreamDaemon'. A host server has also been included +2023-11-12T09:00:24.9323620Z so edit host/hostconf.txt and boot up your world server! +2023-11-12T09:00:24.9330177Z *************************** +2023-11-12T09:00:24.9736645Z Using system-wide Node v18.18.2 +2023-11-12T09:00:25.1112864Z :: Juke Build version 0.8.1 +2023-11-12T09:00:25.3377241Z => Starting 'dm' +2023-11-12T09:00:25.3385788Z :: Using defines: CBT, CIBUILDING, ANSICOLORS +2023-11-12T09:00:25.6662719Z DM compiler version 514.1588 +2023-11-12T09:00:25.6663169Z loading tgstation.m.dme +2023-11-12T09:00:25.9197564Z code/__DEFINES/qdel.dm:22:warning: #warn TG0001 qdel REFERENCE_TRACKING enabled +2023-11-12T09:00:36.5749452Z loading interface/skin.dmf +2023-11-12T09:01:29.5751892Z loading map_files/generic/CentCom.dmm +2023-11-12T09:01:29.9653644Z saving tgstation.m.dmb (DEBUG mode) +2023-11-12T09:01:30.6467137Z tgstation.m.dmb - 0 errors, 1 warning (11/12/23 9:01 am) +2023-11-12T09:01:30.6468251Z Total time: 1:05 +2023-11-12T09:01:31.6898602Z => Finished 'dm' in 66.352s +2023-11-12T09:01:31.6901009Z => Done in 66.578s +2023-11-12T09:01:31.7007243Z ##[group]Run source $HOME/BYOND/byond/bin/byondsetup +2023-11-12T09:01:31.7007981Z source $HOME/BYOND/byond/bin/byondsetup +2023-11-12T09:01:31.7008503Z bash tools/ci/run_server.sh tramstation +2023-11-12T09:01:31.7058146Z shell: /usr/bin/bash -e {0} +2023-11-12T09:01:31.7058547Z ##[endgroup] +2023-11-12T09:01:31.7139001Z Testing tramstation +2023-11-12T09:01:32.0865721Z cp: cannot stat 'tgui/packages/tgfont/dist/*': No such file or directory +2023-11-12T09:01:32.1025274Z Sun Nov 12 09:01:32 2023 +2023-11-12T09:01:32.1026062Z World opened on network port 34125. +2023-11-12T09:01:32.1026759Z Welcome BYOND! (5.0 Public Version 514.1588) +2023-11-12T09:01:54.2375415Z World loaded at 09:01:54! +2023-11-12T09:01:54.2376123Z Running /tg/ revision: +2023-11-12T09:01:54.2376721Z No commit information +2023-11-12T09:01:54.2377340Z Running rust-g version 3.0.0 +2023-11-12T09:01:54.2445249Z Loading config file config.txt... +2023-11-12T09:01:54.2449139Z Loading config file maps.txt... +2023-11-12T09:01:54.2703464Z Unable to locate admins backup file. +2023-11-12T09:01:55.2792475Z Initialized Title Screen subsystem within 0 seconds! +2023-11-12T09:01:55.2793681Z Initialized Server Tasks subsystem within 0 seconds! +2023-11-12T09:01:55.2795047Z Initialized Input subsystem within 0 seconds! +2023-11-12T09:01:55.2858203Z Initialized Profiler subsystem within 0 seconds! +2023-11-12T09:01:55.2859689Z Initialized Database subsystem within 0 seconds! +2023-11-12T09:01:55.2862218Z Initialized Blackbox subsystem within 0 seconds! +2023-11-12T09:01:55.2938165Z Initialized Sounds subsystem within 0.01 seconds! +2023-11-12T09:01:55.3061210Z Initialized Instruments subsystem within 0.01 seconds! +2023-11-12T09:01:55.8390630Z Initialized Greyscale subsystem within 0.53 seconds! +2023-11-12T09:01:55.8391416Z Initialized Vis contents overlays subsystem within 0 seconds! +2023-11-12T09:01:55.8392841Z Initialized Security Level subsystem within 0 seconds! +2023-11-12T09:01:55.8412303Z Initialized Station subsystem within 0 seconds! +2023-11-12T09:01:55.8426733Z Initialized Quirks subsystem within 0 seconds! +2023-11-12T09:01:55.8553936Z Initialized Reagents subsystem within 0.01 seconds! +2023-11-12T09:01:55.8563912Z Initialized Events subsystem within 0 seconds! +2023-11-12T09:01:55.8612984Z Initialized IDs and Access subsystem within 0 seconds! +2023-11-12T09:01:55.8616522Z Initialized Jobs subsystem within 0 seconds! +2023-11-12T09:01:55.8618600Z Initialized AI movement subsystem within 0 seconds! +2023-11-12T09:01:55.8637284Z Initialized Ticker subsystem within 0 seconds! +2023-11-12T09:01:55.8693586Z Initialized AI Controller Ticker subsystem within 0.01 seconds! +2023-11-12T09:01:55.8697702Z Initialized AI Behavior Ticker subsystem within 0 seconds! +2023-11-12T09:01:55.8821358Z Initialized Trading Card Game subsystem within 0.01 seconds! +2023-11-12T09:01:55.8968123Z Loading Tramstation... +2023-11-12T09:01:57.4366548Z Loaded Station in 1.6s! +2023-11-12T09:01:58.7018385Z Loaded Lavaland in 1.3s! +2023-11-12T09:01:59.6958478Z All ruins being loaded for map testing. +2023-11-12T09:01:59.6960551Z Ruin loader finished with 0 left to spend. +2023-11-12T09:01:59.6963383Z All ruins being loaded for map testing. +2023-11-12T09:01:59.6966951Z Ruin loader finished with 0 left to spend. +2023-11-12T09:01:59.8030218Z Cave Generator terrain generation finished in 0.1s! +2023-11-12T09:01:59.8242156Z Cave Generator terrain generation finished in 0s! +2023-11-12T09:02:00.0123579Z Cave Generator terrain population finished in 0.1s! +2023-11-12T09:02:00.0174657Z Cave Generator terrain population finished in 0s! +2023-11-12T09:02:00.4204586Z Initialized Mapping subsystem within 4.54 seconds! +2023-11-12T09:02:18.7137331Z Initialized Early Assets subsystem within 18.29 seconds! +2023-11-12T09:02:18.7960177Z Initialized Research subsystem within 0.08 seconds! +2023-11-12T09:02:18.7964943Z Initialized Time Tracking subsystem within 0 seconds! +2023-11-12T09:02:18.8516125Z Initialized Spatial Grid subsystem within 0.05 seconds! +2023-11-12T09:02:18.8519915Z Initialized Economy subsystem within 0 seconds! +2023-11-12T09:02:18.8529046Z Initialized Restaurant subsystem within 0 seconds! +2023-11-12T09:02:24.3564078Z The BYOND hub reports that port 34125 is not reachable. +2023-11-12T09:03:00.5242715Z ## NOTICE: morgue_cadaver_disable_nonhumans. There are no valid roundstart nonhuman races enabled. Defaulting to humans only! +2023-11-12T09:03:08.8938364Z Initialized Atoms subsystem within 50.04 seconds! +2023-11-12T09:03:08.9459509Z Initialized Language subsystem within 0.01 seconds! +2023-11-12T09:03:09.0602930Z Initialized Machines subsystem within 0.11 seconds! +2023-11-12T09:03:09.0612163Z Initialized Skills subsystem within 0 seconds! +2023-11-12T09:03:09.0615253Z Initialized Queue Links subsystem within 0 seconds! +2023-11-12T09:03:09.0619204Z Initialized Addiction subsystem within 0 seconds! +2023-11-12T09:03:09.0639408Z Initialized Blackmarket subsystem within 0 seconds! +2023-11-12T09:03:09.0647224Z Initialized Disease subsystem within 0 seconds! +2023-11-12T09:03:09.0650704Z Initialized Fluid subsystem within 0 seconds! +2023-11-12T09:03:09.0654199Z Initialized Smoke subsystem within 0 seconds! +2023-11-12T09:03:09.0657541Z Initialized Foam subsystem within 0 seconds! +2023-11-12T09:03:09.0660882Z Initialized Lag Switch subsystem within 0 seconds! +2023-11-12T09:03:09.0888582Z Initialized Library Loading subsystem within 0.02 seconds! +2023-11-12T09:03:09.2645071Z Initialized Lua Scripting subsystem within 0.18 seconds! +2023-11-12T09:03:09.2735036Z Initialized Modular Computers subsystem within 0.01 seconds! +2023-11-12T09:03:09.2737635Z Initialized Night Shift subsystem within 0 seconds! +2023-11-12T09:03:09.2741231Z Initialized Stock Market subsystem within 0 seconds! +2023-11-12T09:03:09.2743761Z Initialized Sun subsystem within 0 seconds! +2023-11-12T09:03:09.2792256Z Initialized Traitor subsystem within 0 seconds! +2023-11-12T09:03:09.2795417Z Initialized Tutorials subsystem within 0 seconds! +2023-11-12T09:03:09.3133961Z Initialized Wardrobe subsystem within 0.03 seconds! +2023-11-12T09:03:09.3136967Z Initialized Weather subsystem within 0 seconds! +2023-11-12T09:03:09.3140470Z Initialized Wiremod Composite Templates subsystem within 0 seconds! +2023-11-12T09:03:14.7053894Z Initialized Atmospherics subsystem within 5.39 seconds! +2023-11-12T09:03:14.7127034Z Initialized Persistence subsystem within 0.01 seconds! +2023-11-12T09:03:14.7131026Z Initialized Persistent Paintings subsystem within 0 seconds! +2023-11-12T09:03:14.7134716Z Initialized Vote subsystem within 0 seconds! +2023-11-12T09:03:25.6600909Z Initialized Assets subsystem within 10.95 seconds! +2023-11-12T09:03:29.1318017Z Initialized Icon Smoothing subsystem within 3.42 seconds! +2023-11-12T09:03:29.1329352Z Initialized XKeyScore subsystem within 0 seconds! +2023-11-12T09:03:29.1349808Z Initialized PRISM subsystem within 0 seconds! +2023-11-12T09:03:39.5066635Z Initialized Lighting subsystem within 10.37 seconds! +2023-11-12T09:03:42.0097538Z Initialized Shuttle subsystem within 2.5 seconds! +2023-11-12T09:03:42.0100528Z Initialized Pathfinder subsystem within 0 seconds! +2023-11-12T09:03:42.0112119Z Initialized Ban Cache subsystem within 0 seconds! +2023-11-12T09:03:42.0114877Z Initialized Init Profiler subsystem within 0 seconds! +2023-11-12T09:03:42.0117470Z Initialized Chat subsystem within 0 seconds! +2023-11-12T09:03:42.0119918Z Initializations complete within 106.8 seconds! +2023-11-12T09:03:42.0699329Z Game start took 0s +2023-11-12T09:03:53.5395990Z ##[group]/datum/unit_test/log_mapping +2023-11-12T09:03:53.5399338Z PASS /datum/unit_test/log_mapping 0s +2023-11-12T09:03:53.5400530Z ##[endgroup] +2023-11-12T09:03:53.5529741Z ##[group]/datum/unit_test/abductor_baton_spell +2023-11-12T09:03:53.6248315Z PASS /datum/unit_test/abductor_baton_spell 0.1s +2023-11-12T09:03:53.6250017Z ##[endgroup] +2023-11-12T09:03:53.7293652Z ##[group]/datum/unit_test/ablative_hood_hud +2023-11-12T09:03:53.7538980Z PASS /datum/unit_test/ablative_hood_hud 0s +2023-11-12T09:03:53.7540945Z ##[endgroup] +2023-11-12T09:03:53.8177940Z ##[group]/datum/unit_test/ablative_hood_hud_with_helmet +2023-11-12T09:03:53.8373528Z PASS /datum/unit_test/ablative_hood_hud_with_helmet 0s +2023-11-12T09:03:53.8375040Z ##[endgroup] +2023-11-12T09:03:53.9037089Z ##[group]/datum/unit_test/achievements +2023-11-12T09:03:53.9146939Z PASS /datum/unit_test/achievements 0s +2023-11-12T09:03:53.9148600Z ##[endgroup] +2023-11-12T09:03:53.9709749Z ##[group]/datum/unit_test/anchored_mobs +2023-11-12T09:03:53.9714871Z PASS /datum/unit_test/anchored_mobs 0s +2023-11-12T09:03:53.9717149Z ##[endgroup] +2023-11-12T09:03:54.0290915Z ##[group]/datum/unit_test/anonymous_themes +2023-11-12T09:03:54.1282674Z PASS /datum/unit_test/anonymous_themes 0.1s +2023-11-12T09:03:54.1284602Z ##[endgroup] +2023-11-12T09:03:54.2369870Z ##[group]/datum/unit_test/revolution_conversion +2023-11-12T09:03:54.2811074Z PASS /datum/unit_test/revolution_conversion 0s +2023-11-12T09:03:54.2812989Z ##[endgroup] +2023-11-12T09:03:54.3619950Z ##[group]/datum/unit_test/cult_conversion +2023-11-12T09:03:54.4185381Z PASS /datum/unit_test/cult_conversion 0.1s +2023-11-12T09:03:54.4187014Z ##[endgroup] +2023-11-12T09:03:54.5109339Z ##[group]/datum/unit_test/antag_moodlets +2023-11-12T09:03:54.5391588Z PASS /datum/unit_test/antag_moodlets 0s +2023-11-12T09:03:54.5393248Z ##[endgroup] +2023-11-12T09:03:54.6099817Z ##[group]/datum/unit_test/armor_verification +2023-11-12T09:03:54.6105398Z PASS /datum/unit_test/armor_verification 0s +2023-11-12T09:03:54.6107086Z ##[endgroup] +2023-11-12T09:03:54.6711998Z ##[group]/datum/unit_test/autowiki +2023-11-12T09:03:56.4795605Z PASS /datum/unit_test/autowiki 1.8s +2023-11-12T09:03:56.4797118Z ##[endgroup] +2023-11-12T09:03:56.5376207Z ##[group]/datum/unit_test/autowiki_include_template +2023-11-12T09:03:56.5378371Z PASS /datum/unit_test/autowiki_include_template 0s +2023-11-12T09:03:56.5380504Z ##[endgroup] +2023-11-12T09:03:56.6003986Z ##[group]/datum/unit_test/barsigns_icon +2023-11-12T09:03:56.6303581Z PASS /datum/unit_test/barsigns_icon 0.1s +2023-11-12T09:03:56.6305267Z ##[endgroup] +2023-11-12T09:03:56.6912219Z ##[group]/datum/unit_test/barsigns_name +2023-11-12T09:03:56.6914950Z PASS /datum/unit_test/barsigns_name 0s +2023-11-12T09:03:56.6917244Z ##[endgroup] +2023-11-12T09:03:56.7530053Z ##[group]/datum/unit_test/baseturfs_unmodified_scrape +2023-11-12T09:03:56.7541656Z PASS /datum/unit_test/baseturfs_unmodified_scrape 0s +2023-11-12T09:03:56.7543322Z ##[endgroup] +2023-11-12T09:03:56.8163460Z ##[group]/datum/unit_test/baseturfs_placed_on_top +2023-11-12T09:03:56.8173471Z PASS /datum/unit_test/baseturfs_placed_on_top 0s +2023-11-12T09:03:56.8175579Z ##[endgroup] +2023-11-12T09:03:56.8789484Z ##[group]/datum/unit_test/baseturfs_placed_on_bottom +2023-11-12T09:03:56.8806366Z PASS /datum/unit_test/baseturfs_placed_on_bottom 0s +2023-11-12T09:03:56.8808190Z ##[endgroup] +2023-11-12T09:03:56.9420497Z ##[group]/datum/unit_test/bespoke_id +2023-11-12T09:03:56.9422999Z PASS /datum/unit_test/bespoke_id 0s +2023-11-12T09:03:56.9425227Z ##[endgroup] +2023-11-12T09:03:57.1727331Z ##[group]/datum/unit_test/binary_insert +2023-11-12T09:03:57.1728436Z PASS /datum/unit_test/binary_insert 0s +2023-11-12T09:03:57.1730597Z ##[endgroup] +2023-11-12T09:03:57.2270246Z ##[group]/datum/unit_test/bitrunner_vdom_settings +2023-11-12T09:03:57.2368664Z PASS /datum/unit_test/bitrunner_vdom_settings 0s +2023-11-12T09:03:57.2370507Z ##[endgroup] +2023-11-12T09:03:57.2860471Z ##[group]/datum/unit_test/blindness +2023-11-12T09:03:57.3060031Z PASS /datum/unit_test/blindness 0.1s +2023-11-12T09:03:57.3061453Z ##[endgroup] +2023-11-12T09:03:57.3685247Z ##[group]/datum/unit_test/nearsightedness +2023-11-12T09:03:57.3856666Z PASS /datum/unit_test/nearsightedness 0s +2023-11-12T09:03:57.3857831Z ##[endgroup] +2023-11-12T09:03:57.4094606Z ##[group]/datum/unit_test/eye_damage +2023-11-12T09:03:57.4266705Z PASS /datum/unit_test/eye_damage 0s +2023-11-12T09:03:57.4268768Z ##[endgroup] +2023-11-12T09:03:57.4514012Z ##[group]/datum/unit_test/bloody_footprints +2023-11-12T09:03:57.4771474Z PASS /datum/unit_test/bloody_footprints 0s +2023-11-12T09:03:57.4773523Z ##[endgroup] +2023-11-12T09:03:57.5095312Z ##[group]/datum/unit_test/breath/breath_sanity +2023-11-12T09:03:57.5793797Z PASS /datum/unit_test/breath/breath_sanity 0s +2023-11-12T09:03:57.5795766Z ##[endgroup] +2023-11-12T09:03:57.6356372Z ##[group]/datum/unit_test/breath/breath_sanity_plasmamen +2023-11-12T09:03:57.6920259Z PASS /datum/unit_test/breath/breath_sanity_plasmamen 0s +2023-11-12T09:03:57.6922126Z ##[endgroup] +2023-11-12T09:03:57.7478880Z ##[group]/datum/unit_test/breath/breath_sanity_ashwalker +2023-11-12T09:03:57.7793279Z PASS /datum/unit_test/breath/breath_sanity_ashwalker 0s +2023-11-12T09:03:57.7794768Z ##[endgroup] +2023-11-12T09:03:57.8063286Z ##[group]/datum/unit_test/burning +2023-11-12T09:03:57.8235820Z PASS /datum/unit_test/burning 0s +2023-11-12T09:03:57.8237580Z ##[endgroup] +2023-11-12T09:03:57.8463809Z ##[group]/datum/unit_test/cable_powernets +2023-11-12T09:03:57.8467369Z PASS /datum/unit_test/cable_powernets 0s +2023-11-12T09:03:57.8468842Z ##[endgroup] +2023-11-12T09:03:57.8681387Z ##[group]/datum/unit_test/card_mismatch +2023-11-12T09:03:57.8715332Z PASS /datum/unit_test/card_mismatch 0s +2023-11-12T09:03:57.8717822Z ##[endgroup] +2023-11-12T09:03:57.8839316Z ##[group]/datum/unit_test/cardboard_cutouts +2023-11-12T09:03:57.8847499Z cardboard_cutouts_normal_cutout was put in data/screenshots_new +2023-11-12T09:03:58.1374772Z cardboard_cutouts_nukie_cutout was put in data/screenshots_new +2023-11-12T09:03:58.1378574Z cardboard_cutouts_nukie_cutout_pushed was put in data/screenshots_new +2023-11-12T09:03:58.1547388Z cardboard_cutouts_xenomorph_cutout was put in data/screenshots_new +2023-11-12T09:03:58.1550933Z PASS /datum/unit_test/cardboard_cutouts 0.3s +2023-11-12T09:03:58.1553499Z ##[endgroup] +2023-11-12T09:03:58.2402466Z ##[group]/datum/unit_test/chain_pull_through_space +2023-11-12T09:03:58.2453035Z PASS /datum/unit_test/chain_pull_through_space 0s +2023-11-12T09:03:58.2454853Z ##[endgroup] +2023-11-12T09:03:58.3033483Z ##[group]/datum/unit_test/transformation_sting +2023-11-12T09:03:59.7549687Z transformation_sting_appearances was put in data/screenshots_new +2023-11-12T09:03:59.7551965Z PASS /datum/unit_test/transformation_sting 1.4s +2023-11-12T09:03:59.7553272Z ##[endgroup] +2023-11-12T09:03:59.7969350Z ##[group]/datum/unit_test/chat_filter_sanity +2023-11-12T09:03:59.7976589Z PASS /datum/unit_test/chat_filter_sanity 0s +2023-11-12T09:03:59.7978237Z ##[endgroup] +2023-11-12T09:03:59.8105892Z ##[group]/datum/unit_test/circuit_component_category +2023-11-12T09:03:59.8107746Z PASS /datum/unit_test/circuit_component_category 0s +2023-11-12T09:03:59.8109947Z ##[endgroup] +2023-11-12T09:03:59.8879728Z ##[group]/datum/unit_test/client_colours +2023-11-12T09:03:59.8889068Z PASS /datum/unit_test/client_colours 0s +2023-11-12T09:03:59.8891665Z ##[endgroup] +2023-11-12T09:03:59.9525316Z ##[group]/datum/unit_test/closets +2023-11-12T09:04:01.8031965Z PASS /datum/unit_test/closets 1.9s +2023-11-12T09:04:01.8033340Z ##[endgroup] +2023-11-12T09:04:02.6399153Z ##[group]/datum/unit_test/clothing_under_armor_subtype_check +2023-11-12T09:04:02.6403381Z PASS /datum/unit_test/clothing_under_armor_subtype_check 0s +2023-11-12T09:04:02.6405014Z ##[endgroup] +2023-11-12T09:04:02.7020573Z ##[group]/datum/unit_test/harm_punch +2023-11-12T09:04:02.7364226Z PASS /datum/unit_test/harm_punch 0s +2023-11-12T09:04:02.7366615Z ##[endgroup] +2023-11-12T09:04:02.7919290Z ##[group]/datum/unit_test/harm_melee +2023-11-12T09:04:02.8266028Z PASS /datum/unit_test/harm_melee 0.1s +2023-11-12T09:04:02.8268574Z ##[endgroup] +2023-11-12T09:04:02.8738136Z ##[group]/datum/unit_test/harm_different_damage +2023-11-12T09:04:02.9125671Z PASS /datum/unit_test/harm_different_damage 0.1s +2023-11-12T09:04:02.9127697Z ##[endgroup] +2023-11-12T09:04:02.9510991Z ##[group]/datum/unit_test/attack_chain +2023-11-12T09:04:02.9859497Z PASS /datum/unit_test/attack_chain 0s +2023-11-12T09:04:02.9861383Z ##[endgroup] +2023-11-12T09:04:03.0312671Z ##[group]/datum/unit_test/disarm +2023-11-12T09:04:03.0675162Z PASS /datum/unit_test/disarm 0s +2023-11-12T09:04:03.0677029Z ##[endgroup] +2023-11-12T09:04:03.1122424Z ##[group]/datum/unit_test/self_punch +2023-11-12T09:04:03.1297149Z PASS /datum/unit_test/self_punch 0s +2023-11-12T09:04:03.1299012Z ##[endgroup] +2023-11-12T09:04:03.1617839Z ##[group]/datum/unit_test/handcuff_punch +2023-11-12T09:04:03.1949728Z PASS /datum/unit_test/handcuff_punch 0s +2023-11-12T09:04:03.1950695Z ##[endgroup] +2023-11-12T09:04:03.2665996Z ##[group]/datum/unit_test/handcuff_bite +2023-11-12T09:04:03.3310134Z PASS /datum/unit_test/handcuff_bite 0.1s +2023-11-12T09:04:03.3311967Z ##[endgroup] +2023-11-12T09:04:03.3720567Z ##[group]/datum/unit_test/component_duping +2023-11-12T09:04:03.3725700Z PASS /datum/unit_test/component_duping 0s +2023-11-12T09:04:03.3728116Z ##[endgroup] +2023-11-12T09:04:03.3854948Z ##[group]/datum/unit_test/confusion_symptom +2023-11-12T09:04:03.4020935Z PASS /datum/unit_test/confusion_symptom 0.1s +2023-11-12T09:04:03.4023437Z ##[endgroup] +2023-11-12T09:04:03.4660129Z ##[group]/datum/unit_test/connect_loc_basic +2023-11-12T09:04:03.4667486Z PASS /datum/unit_test/connect_loc_basic 0s +2023-11-12T09:04:03.4669665Z ##[endgroup] +2023-11-12T09:04:03.5206421Z ##[group]/datum/unit_test/connect_loc_change_turf +2023-11-12T09:04:03.5219191Z PASS /datum/unit_test/connect_loc_change_turf 0s +2023-11-12T09:04:03.5221198Z ##[endgroup] +2023-11-12T09:04:03.5413589Z ##[group]/datum/unit_test/connect_loc_multiple_on_turf +2023-11-12T09:04:03.5422679Z PASS /datum/unit_test/connect_loc_multiple_on_turf 0s +2023-11-12T09:04:03.5424576Z ##[endgroup] +2023-11-12T09:04:03.5552785Z ##[group]/datum/unit_test/reagent_container_sanity +2023-11-12T09:04:03.8101359Z PASS /datum/unit_test/reagent_container_sanity 0.3s +2023-11-12T09:04:03.8102486Z ##[endgroup] +2023-11-12T09:04:03.9680842Z ##[group]/datum/unit_test/crayon_naming +2023-11-12T09:04:03.9683784Z PASS /datum/unit_test/crayon_naming 0s +2023-11-12T09:04:03.9686430Z ##[endgroup] +2023-11-12T09:04:03.9815420Z ##[group]/datum/unit_test/dcs_get_id_from_arguments +2023-11-12T09:04:03.9822614Z PASS /datum/unit_test/dcs_get_id_from_arguments 0s +2023-11-12T09:04:03.9825219Z ##[endgroup] +2023-11-12T09:04:03.9952914Z ##[group]/datum/unit_test/designs +2023-11-12T09:04:04.0032294Z PASS /datum/unit_test/designs 0.1s +2023-11-12T09:04:04.0034986Z ##[endgroup] +2023-11-12T09:04:04.0184498Z ##[group]/datum/unit_test/dismemberment +2023-11-12T09:04:04.0687805Z PASS /datum/unit_test/dismemberment 0s +2023-11-12T09:04:04.0690374Z ##[endgroup] +2023-11-12T09:04:04.1062552Z ##[group]/datum/unit_test/door_access_check +2023-11-12T09:04:04.1315486Z PASS /datum/unit_test/door_access_check 0s +2023-11-12T09:04:04.1318637Z ##[endgroup] +2023-11-12T09:04:04.1659906Z ##[group]/datum/unit_test/contents_barfer +2023-11-12T09:04:04.1881762Z PASS /datum/unit_test/contents_barfer 0s +2023-11-12T09:04:04.1884275Z ##[endgroup] +2023-11-12T09:04:04.2328534Z ##[group]/datum/unit_test/space_dragon_expiration +2023-11-12T09:04:04.2672064Z PASS /datum/unit_test/space_dragon_expiration 0s +2023-11-12T09:04:04.2674522Z ##[endgroup] +2023-11-12T09:04:04.3282341Z ##[group]/datum/unit_test/glass_style_icons +2023-11-12T09:04:04.3517947Z PASS /datum/unit_test/glass_style_icons 0s +2023-11-12T09:04:04.3520368Z ##[endgroup] +2023-11-12T09:04:04.3761901Z ##[group]/datum/unit_test/glass_style_functionality +2023-11-12T09:04:04.3773186Z PASS /datum/unit_test/glass_style_functionality 0s +2023-11-12T09:04:04.3775791Z ##[endgroup] +2023-11-12T09:04:04.3908269Z ##[group]/datum/unit_test/drink_icons +2023-11-12T09:04:04.4155215Z PASS /datum/unit_test/drink_icons 0.1s +2023-11-12T09:04:04.4157609Z ##[endgroup] +2023-11-12T09:04:04.4303228Z ##[group]/datum/unit_test/dummy_spawn_species +2023-11-12T09:04:05.4828810Z PASS /datum/unit_test/dummy_spawn_species 1s +2023-11-12T09:04:05.4829704Z ##[endgroup] +2023-11-12T09:04:05.5166735Z ##[group]/datum/unit_test/dummy_spawn_outfit +2023-11-12T09:04:05.5400845Z Job type /datum/job/ai could not be retrieved from SSjob +2023-11-12T09:04:06.0232636Z PASS /datum/unit_test/dummy_spawn_outfit 0.5s +2023-11-12T09:04:06.0234589Z ##[endgroup] +2023-11-12T09:04:06.0505202Z ##[group]/datum/unit_test/dynamic_roundstart_ruleset_sanity +2023-11-12T09:04:06.0508804Z PASS /datum/unit_test/dynamic_roundstart_ruleset_sanity 0s +2023-11-12T09:04:06.0511050Z ##[endgroup] +2023-11-12T09:04:06.0637233Z ##[group]/datum/unit_test/dynamic_unique_antag_flags +2023-11-12T09:04:06.0640294Z PASS /datum/unit_test/dynamic_unique_antag_flags 0s +2023-11-12T09:04:06.0642513Z ##[endgroup] +2023-11-12T09:04:06.0770713Z ##[group]/datum/unit_test/egg_glands +2023-11-12T09:04:06.1407083Z PASS /datum/unit_test/egg_glands 0.1s +2023-11-12T09:04:06.1408405Z ##[endgroup] +2023-11-12T09:04:06.1628261Z ##[group]/datum/unit_test/emoting +2023-11-12T09:04:06.1818671Z PASS /datum/unit_test/emoting 0s +2023-11-12T09:04:06.1821362Z ##[endgroup] +2023-11-12T09:04:06.2077157Z ##[group]/datum/unit_test/ensure_subtree_operational_datum +2023-11-12T09:04:08.1731821Z PASS /datum/unit_test/ensure_subtree_operational_datum 1.9s +2023-11-12T09:04:08.1733285Z ##[endgroup] +2023-11-12T09:04:08.7539706Z ##[group]/datum/unit_test/explosion_action +2023-11-12T09:04:08.8465799Z PASS /datum/unit_test/explosion_action 0.1s +2023-11-12T09:04:08.8468184Z ##[endgroup] +2023-11-12T09:04:08.9010946Z ##[group]/datum/unit_test/fish_size_weight +2023-11-12T09:04:08.9019514Z PASS /datum/unit_test/fish_size_weight 0s +2023-11-12T09:04:08.9022220Z ##[endgroup] +2023-11-12T09:04:08.9154882Z ##[group]/datum/unit_test/fish_breeding +2023-11-12T09:04:08.9227664Z PASS /datum/unit_test/fish_breeding 0s +2023-11-12T09:04:08.9230704Z ##[endgroup] +2023-11-12T09:04:08.9389958Z ##[group]/datum/unit_test/fish_evolution +2023-11-12T09:04:08.9418165Z PASS /datum/unit_test/fish_evolution 0s +2023-11-12T09:04:08.9421366Z ##[endgroup] +2023-11-12T09:04:08.9631338Z ##[group]/datum/unit_test/fish_scanning +2023-11-12T09:04:08.9635076Z PASS /datum/unit_test/fish_scanning 0s +2023-11-12T09:04:08.9638063Z ##[endgroup] +2023-11-12T09:04:08.9772162Z ##[group]/datum/unit_test/font_awesome_icons +2023-11-12T09:04:08.9779113Z CSS Actual: 96991 +2023-11-12T09:04:09.3976724Z PASS /datum/unit_test/font_awesome_icons 0.4s +2023-11-12T09:04:09.3978084Z ##[endgroup] +2023-11-12T09:04:09.4388919Z ##[group]/datum/unit_test/food_edibility_check +2023-11-12T09:04:11.4659822Z PASS /datum/unit_test/food_edibility_check 2s +2023-11-12T09:04:11.4661512Z ##[endgroup] +2023-11-12T09:04:11.4957968Z ##[group]/datum/unit_test/full_heal_heals_organs +2023-11-12T09:04:11.5147883Z PASS /datum/unit_test/full_heal_heals_organs 0.1s +2023-11-12T09:04:11.5149360Z ##[endgroup] +2023-11-12T09:04:11.5413116Z ##[group]/datum/unit_test/full_heal_regenerates_organs +2023-11-12T09:04:11.5651258Z PASS /datum/unit_test/full_heal_regenerates_organs 0s +2023-11-12T09:04:11.5653018Z ##[endgroup] +2023-11-12T09:04:11.6325061Z ##[group]/datum/unit_test/full_heal_damage_types +2023-11-12T09:04:11.6518216Z PASS /datum/unit_test/full_heal_damage_types 0s +2023-11-12T09:04:11.6519698Z ##[endgroup] +2023-11-12T09:04:11.7209709Z ##[group]/datum/unit_test/atmospheric_gas_transfer +2023-11-12T09:04:11.7227226Z PASS /datum/unit_test/atmospheric_gas_transfer 0s +2023-11-12T09:04:11.7228891Z ##[endgroup] +2023-11-12T09:04:11.7822095Z ##[group]/datum/unit_test/get_turf_pixel +2023-11-12T09:04:11.7849880Z PASS /datum/unit_test/get_turf_pixel 0s +2023-11-12T09:04:11.7851756Z ##[endgroup] +2023-11-12T09:04:11.8495917Z ##[group]/datum/unit_test/geyser +2023-11-12T09:04:11.8516781Z PASS /datum/unit_test/geyser 0s +2023-11-12T09:04:11.8518776Z ##[endgroup] +2023-11-12T09:04:11.9115770Z ##[group]/datum/unit_test/greyscale_item_icon_states +2023-11-12T09:04:11.9172841Z PASS /datum/unit_test/greyscale_item_icon_states 0s +2023-11-12T09:04:11.9174524Z ##[endgroup] +2023-11-12T09:04:11.9770664Z ##[group]/datum/unit_test/greyscale_color_count +2023-11-12T09:04:11.9908294Z PASS /datum/unit_test/greyscale_color_count 0s +2023-11-12T09:04:11.9910694Z ##[endgroup] +2023-11-12T09:04:12.0513128Z ##[group]/datum/unit_test/hallucination_icons +2023-11-12T09:04:12.2294786Z PASS /datum/unit_test/hallucination_icons 0.2s +2023-11-12T09:04:12.2296061Z ##[endgroup] +2023-11-12T09:04:12.2752905Z ##[group]/datum/unit_test/heretic_knowledge +2023-11-12T09:04:12.2797900Z PASS /datum/unit_test/heretic_knowledge 0s +2023-11-12T09:04:12.2800226Z ##[endgroup] +2023-11-12T09:04:12.3526741Z ##[group]/datum/unit_test/heretic_main_paths +2023-11-12T09:04:12.3530666Z PASS /datum/unit_test/heretic_main_paths 0s +2023-11-12T09:04:12.3532858Z ##[endgroup] +2023-11-12T09:04:12.3985035Z ##[group]/datum/unit_test/heretic_rituals +2023-11-12T09:04:12.4878733Z PASS /datum/unit_test/heretic_rituals 0.1s +2023-11-12T09:04:12.4880607Z ##[endgroup] +2023-11-12T09:04:12.5120786Z ##[group]/datum/unit_test/high_five +2023-11-12T09:04:12.5591361Z PASS /datum/unit_test/high_five 0s +2023-11-12T09:04:12.5593593Z ##[endgroup] +2023-11-12T09:04:12.6154998Z ##[group]/datum/unit_test/high_five_too_slow +2023-11-12T09:04:12.6462178Z PASS /datum/unit_test/high_five_too_slow 0s +2023-11-12T09:04:12.6464631Z ##[endgroup] +2023-11-12T09:04:12.6825675Z ##[group]/datum/unit_test/high_five_walk_away +2023-11-12T09:04:12.7302468Z PASS /datum/unit_test/high_five_walk_away 0.1s +2023-11-12T09:04:12.7304078Z ##[endgroup] +2023-11-12T09:04:12.7849321Z ##[group]/datum/unit_test/hanukkah_2123 +2023-11-12T09:04:12.7857129Z PASS /datum/unit_test/hanukkah_2123 0s +2023-11-12T09:04:12.7859467Z ##[endgroup] +2023-11-12T09:04:12.7985283Z ##[group]/datum/unit_test/ramadan_2165 +2023-11-12T09:04:12.7988232Z PASS /datum/unit_test/ramadan_2165 0s +2023-11-12T09:04:12.7990308Z ##[endgroup] +2023-11-12T09:04:12.8115461Z ##[group]/datum/unit_test/thanksgiving_2020 +2023-11-12T09:04:12.8118309Z PASS /datum/unit_test/thanksgiving_2020 0s +2023-11-12T09:04:12.8120732Z ##[endgroup] +2023-11-12T09:04:12.8276159Z ##[group]/datum/unit_test/mother_3683 +2023-11-12T09:04:12.8278795Z PASS /datum/unit_test/mother_3683 0s +2023-11-12T09:04:12.8281149Z ##[endgroup] +2023-11-12T09:04:12.8402992Z ##[group]/datum/unit_test/hello_2020 +2023-11-12T09:04:12.8405520Z PASS /datum/unit_test/hello_2020 0s +2023-11-12T09:04:12.8408004Z ##[endgroup] +2023-11-12T09:04:12.8529607Z ##[group]/datum/unit_test/new_year_1983 +2023-11-12T09:04:12.8531956Z PASS /datum/unit_test/new_year_1983 0s +2023-11-12T09:04:12.8534286Z ##[endgroup] +2023-11-12T09:04:12.8655830Z ##[group]/datum/unit_test/moth_week_2020 +2023-11-12T09:04:12.8735184Z PASS /datum/unit_test/moth_week_2020 0s +2023-11-12T09:04:12.8737646Z ##[endgroup] +2023-11-12T09:04:12.8963722Z ##[group]/datum/unit_test/hulk_attack +2023-11-12T09:04:12.9298282Z PASS /datum/unit_test/hulk_attack 0.1s +2023-11-12T09:04:12.9300378Z ##[endgroup] +2023-11-12T09:04:12.9631065Z ##[group]/datum/unit_test/hulk_north_star +2023-11-12T09:04:12.9971964Z PASS /datum/unit_test/hulk_north_star 0s +2023-11-12T09:04:12.9974198Z ##[endgroup] +2023-11-12T09:04:13.0684879Z ##[group]/datum/unit_test/human_through_recycler +2023-11-12T09:04:13.1042839Z PASS /datum/unit_test/human_through_recycler 0.1s +2023-11-12T09:04:13.1045346Z ##[endgroup] +2023-11-12T09:04:13.1302366Z ##[group]/datum/unit_test/hunger_curse +2023-11-12T09:04:13.1487751Z PASS /datum/unit_test/hunger_curse 0s +2023-11-12T09:04:13.1490362Z ##[endgroup] +2023-11-12T09:04:13.1724484Z ##[group]/datum/unit_test/hydroponics_extractor_storage +2023-11-12T09:04:13.2045321Z PASS /datum/unit_test/hydroponics_extractor_storage 0.1s +2023-11-12T09:04:13.2047744Z ##[endgroup] +2023-11-12T09:04:13.2424994Z ##[group]/datum/unit_test/hydroponics_harvest +2023-11-12T09:04:13.3172098Z PASS /datum/unit_test/hydroponics_harvest 0.1s +2023-11-12T09:04:13.3173538Z ##[endgroup] +2023-11-12T09:04:13.3896863Z ##[group]/datum/unit_test/hydroponics_self_mutation +2023-11-12T09:04:13.4546321Z PASS /datum/unit_test/hydroponics_self_mutation 0.1s +2023-11-12T09:04:13.4548349Z ##[endgroup] +2023-11-12T09:04:13.5127280Z ##[group]/datum/unit_test/hydroponics_validate_genes +2023-11-12T09:04:13.5761114Z PASS /datum/unit_test/hydroponics_validate_genes 0s +2023-11-12T09:04:13.5765353Z ##[endgroup] +2023-11-12T09:04:13.5897676Z ##[group]/datum/unit_test/defined_inhand_icon_states +2023-11-12T09:04:14.5257265Z Notice - Possible inhand icon matches found. It is best to be explicit with inhand sprite values. +2023-11-12T09:04:14.5260490Z /obj/item/clothing/head/costume/lizard does not have an inhand_icon_state value - Possible matching sprites for "lizard" found in: 'icons/mob/inhands/animal_item_lefthand.dmi' & 'icons/mob/inhands/animal_item_righthand.dmi' +2023-11-12T09:04:14.5265334Z /obj/item/clothing/head/costume/paper_hat does not have an inhand_icon_state value - Possible matching sprites for "paper" found in: 'icons/mob/inhands/items_lefthand.dmi' & 'icons/mob/inhands/items_righthand.dmi' +2023-11-12T09:04:14.5269130Z /obj/item/clothing/head/collectable/paper does not have an inhand_icon_state value - Possible matching sprites for "paper" found in: 'icons/mob/inhands/items_lefthand.dmi' & 'icons/mob/inhands/items_righthand.dmi' +2023-11-12T09:04:14.5272911Z /obj/item/clothing/head/cowboy does not have an inhand_icon_state value - Possible matching sprites for "cowboy_hat_brown" found in: 'icons/mob/inhands/clothing/hats_lefthand.dmi' & 'icons/mob/inhands/clothing/hats_righthand.dmi' +2023-11-12T09:04:14.5276899Z /obj/item/clothing/head/chaplain/habit_veil does not have an inhand_icon_state value - Possible matching sprites for "nun_hood_alt" found in: 'icons/mob/inhands/clothing/hats_lefthand.dmi' & 'icons/mob/inhands/clothing/hats_righthand.dmi' +2023-11-12T09:04:14.5280655Z /obj/item/clothing/mask/animal/small/fox does not have an inhand_icon_state value - Possible matching sprites for "fox" found in: 'icons/mob/inhands/pets_held_rh.dmi' & 'icons/mob/inhands/pets_held_lh.dmi' +2023-11-12T09:04:14.5284605Z /obj/item/clothing/mask/animal/small/fox/cursed does not have an inhand_icon_state value - Possible matching sprites for "fox" found in: 'icons/mob/inhands/pets_held_rh.dmi' & 'icons/mob/inhands/pets_held_lh.dmi' +2023-11-12T09:04:14.5288384Z /obj/item/clothing/accessory/pride does not have an inhand_icon_state value - Possible matching sprites for "pride" found in: 'icons/mob/inhands/weapons/hammers_lefthand.dmi' & 'icons/mob/inhands/weapons/hammers_righthand.dmi' +2023-11-12T09:04:14.5292328Z /obj/item/clothing/suit/apron/overalls does not have an inhand_icon_state value - Possible matching sprites for "overalls" found in: 'icons/mob/inhands/clothing/suits_righthand.dmi' & 'icons/mob/inhands/clothing/suits_lefthand.dmi' +2023-11-12T09:04:14.5296324Z /obj/item/clothing/suit/caution does not have an inhand_icon_state value - Possible matching sprites for "caution" found in: 'icons/mob/inhands/equipment/custodial_righthand.dmi' & 'icons/mob/inhands/equipment/custodial_lefthand.dmi' +2023-11-12T09:04:14.5300339Z /obj/item/clothing/suit/chaplainsuit/habit does not have an inhand_icon_state value - Possible matching sprites for "habit" found in: 'icons/mob/inhands/clothing/suits_righthand.dmi' & 'icons/mob/inhands/clothing/suits_lefthand.dmi' +2023-11-12T09:04:14.5305034Z /obj/item/clothing/glasses/hud/health/sunglasses does not have an inhand_icon_state value - Possible matching sprites for "sunhudmed" found in: 'icons/mob/inhands/clothing/glasses_righthand.dmi' & 'icons/mob/inhands/clothing/glasses_lefthand.dmi' +2023-11-12T09:04:14.5309450Z /obj/item/clothing/glasses/hud/security/sunglasses does not have an inhand_icon_state value - Possible matching sprites for "sunhudsec" found in: 'icons/mob/inhands/clothing/glasses_righthand.dmi' & 'icons/mob/inhands/clothing/glasses_lefthand.dmi' +2023-11-12T09:04:14.5313568Z /obj/item/mecha_parts/mecha_equipment/generator does not have an inhand_icon_state value - Possible matching sprites for "tesla" found in: 'icons/mob/inhands/weapons/guns_righthand.dmi' & 'icons/mob/inhands/weapons/guns_lefthand.dmi' +2023-11-12T09:04:14.5317158Z /obj/item/food/candy does not have an inhand_icon_state value - Possible matching sprites for "candy" found in: 'icons/mob/inhands/items/food_righthand.dmi' & 'icons/mob/inhands/items/food_lefthand.dmi' +2023-11-12T09:04:14.5320529Z /obj/item/food/chips does not have an inhand_icon_state value - Possible matching sprites for "chips" found in: 'icons/mob/inhands/items/food_righthand.dmi' & 'icons/mob/inhands/items/food_lefthand.dmi' +2023-11-12T09:04:14.5324489Z /obj/item/storage/bag/ore does not have an inhand_icon_state value - Possible matching sprites for "satchel" found in: 'icons/mob/inhands/equipment/backpack_righthand.dmi' & 'icons/mob/inhands/equipment/backpack_lefthand.dmi' +2023-11-12T09:04:14.5328382Z /obj/item/storage/bag/ore/cyborg does not have an inhand_icon_state value - Possible matching sprites for "satchel" found in: 'icons/mob/inhands/equipment/backpack_righthand.dmi' & 'icons/mob/inhands/equipment/backpack_lefthand.dmi' +2023-11-12T09:04:14.5332211Z /obj/item/melee/energy/blade does not have an inhand_icon_state value - Possible matching sprites for "blade" found in: 'icons/mob/inhands/weapons/swords_righthand.dmi' & 'icons/mob/inhands/weapons/swords_lefthand.dmi' +2023-11-12T09:04:14.5335835Z /obj/item/fireaxe does not have an inhand_icon_state value - Possible matching sprites for "fireaxe0" found in: 'icons/mob/inhands/weapons/axes_lefthand.dmi' & 'icons/mob/inhands/weapons/axes_righthand.dmi' +2023-11-12T09:04:14.5339617Z /obj/item/fireaxe/boneaxe does not have an inhand_icon_state value - Possible matching sprites for "bone_axe0" found in: 'icons/mob/inhands/weapons/axes_lefthand.dmi' & 'icons/mob/inhands/weapons/axes_righthand.dmi' +2023-11-12T09:04:14.5343300Z /obj/item/fireaxe/metal_h2_axe does not have an inhand_icon_state value - Possible matching sprites for "metalh2_axe0" found in: 'icons/mob/inhands/weapons/axes_lefthand.dmi' & 'icons/mob/inhands/weapons/axes_righthand.dmi' +2023-11-12T09:04:14.5347106Z /obj/item/crowbar/mechremoval does not have an inhand_icon_state value - Possible matching sprites for "mechremoval0" found in: 'icons/mob/inhands/equipment/tools_lefthand.dmi' & 'icons/mob/inhands/equipment/tools_righthand.dmi' +2023-11-12T09:04:14.5350901Z /obj/item/mod/module/medbeam does not have an inhand_icon_state value - Possible matching sprites for "chronogun" found in: 'icons/mob/inhands/weapons/guns_righthand.dmi' & 'icons/mob/inhands/weapons/guns_lefthand.dmi' +2023-11-12T09:04:14.5354609Z /obj/item/mod/module/welding does not have an inhand_icon_state value - Possible matching sprites for "welding" found in: 'icons/mob/inhands/clothing/masks_righthand.dmi' & 'icons/mob/inhands/clothing/masks_lefthand.dmi' +2023-11-12T09:04:14.5358402Z /obj/item/mod/module/mister does not have an inhand_icon_state value - Possible matching sprites for "mister" found in: 'icons/mob/inhands/equipment/mister_righthand.dmi' & 'icons/mob/inhands/equipment/mister_lefthand.dmi' +2023-11-12T09:04:14.5362405Z /obj/item/mod/module/mister/atmos does not have an inhand_icon_state value - Possible matching sprites for "mister" found in: 'icons/mob/inhands/equipment/mister_righthand.dmi' & 'icons/mob/inhands/equipment/mister_lefthand.dmi' +2023-11-12T09:04:14.5366326Z /obj/item/mod/module/jetpack does not have an inhand_icon_state value - Possible matching sprites for "jetpack" found in: 'icons/mob/inhands/equipment/jetpacks_righthand.dmi' & 'icons/mob/inhands/equipment/jetpacks_lefthand.dmi' +2023-11-12T09:04:14.5370513Z /obj/item/mod/module/flashlight does not have an inhand_icon_state value - Possible matching sprites for "flashlight" found in: 'icons/mob/inhands/items/devices_righthand.dmi' & 'icons/mob/inhands/items/devices_lefthand.dmi' +2023-11-12T09:04:14.5374077Z /obj/item/mod/module/stamp does not have an inhand_icon_state value - Possible matching sprites for "stamp" found in: 'icons/mob/inhands/items_lefthand.dmi' & 'icons/mob/inhands/items_righthand.dmi' +2023-11-12T09:04:14.5377613Z /obj/item/mod/module/holster does not have an inhand_icon_state value - Possible matching sprites for "holster" found in: 'icons/mob/inhands/equipment/belt_lefthand.dmi' & 'icons/mob/inhands/equipment/belt_righthand.dmi' +2023-11-12T09:04:14.5381427Z /obj/item/mod/module/megaphone does not have an inhand_icon_state value - Possible matching sprites for "megaphone" found in: 'icons/mob/inhands/items/megaphone_righthand.dmi' & 'icons/mob/inhands/items/megaphone_lefthand.dmi' +2023-11-12T09:04:14.5386246Z /obj/item/mod/module/drill does not have an inhand_icon_state value - Possible matching sprites for "drill" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' & 'icons/mob/inhands/equipment/tools_righthand.dmi' +2023-11-12T09:04:14.5390973Z /obj/item/mod/module/tem does not have an inhand_icon_state value - Possible matching sprites for "chronogun" found in: 'icons/mob/inhands/weapons/guns_righthand.dmi' & 'icons/mob/inhands/weapons/guns_lefthand.dmi' +2023-11-12T09:04:14.5394601Z /obj/item/reagent_containers/cup/soda_cans does not have an inhand_icon_state value - Possible matching sprites for "cola" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2023-11-12T09:04:14.5396934Z /obj/item/reagent_containers/cup/soda_cans/random does not have an inhand_icon_state value - Possible matching sprites for "cola" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2023-11-12T09:04:14.5399759Z /obj/item/reagent_containers/cup/soda_cans/cola does not have an inhand_icon_state value - Possible matching sprites for "cola" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2023-11-12T09:04:14.5402114Z /obj/item/reagent_containers/cup/soda_cans/tonic does not have an inhand_icon_state value - Possible matching sprites for "tonic" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2023-11-12T09:04:14.5404446Z /obj/item/reagent_containers/cup/soda_cans/sodawater does not have an inhand_icon_state value - Possible matching sprites for "sodawater" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2023-11-12T09:04:14.5406584Z /obj/item/reagent_containers/cup/soda_cans/lemon_lime does not have an inhand_icon_state value - Possible matching sprites for "lemon-lime" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2023-11-12T09:04:14.5408970Z /obj/item/reagent_containers/cup/soda_cans/space_up does not have an inhand_icon_state value - Possible matching sprites for "space-up" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2023-11-12T09:04:14.5411153Z /obj/item/reagent_containers/cup/soda_cans/starkist does not have an inhand_icon_state value - Possible matching sprites for "starkist" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2023-11-12T09:04:14.5413351Z /obj/item/reagent_containers/cup/soda_cans/space_mountain_wind does not have an inhand_icon_state value - Possible matching sprites for "space_mountain_wind" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2023-11-12T09:04:14.5415775Z /obj/item/reagent_containers/cup/soda_cans/thirteenloko does not have an inhand_icon_state value - Possible matching sprites for "thirteen_loko" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2023-11-12T09:04:14.5417918Z /obj/item/reagent_containers/cup/soda_cans/dr_gibb does not have an inhand_icon_state value - Possible matching sprites for "dr_gibb" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2023-11-12T09:04:14.5420047Z /obj/item/reagent_containers/cup/soda_cans/pwr_game does not have an inhand_icon_state value - Possible matching sprites for "purple_can" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2023-11-12T09:04:14.5422176Z /obj/item/reagent_containers/cup/soda_cans/wellcheers does not have an inhand_icon_state value - Possible matching sprites for "wellcheers" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2023-11-12T09:04:14.5424331Z /obj/item/reagent_containers/cup/soda_cans/volt_energy does not have an inhand_icon_state value - Possible matching sprites for "volt_energy" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2023-11-12T09:04:14.5426605Z /obj/item/reagent_containers/cup/soda_cans/melon_soda does not have an inhand_icon_state value - Possible matching sprites for "melon_soda" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2023-11-12T09:04:14.5428700Z /obj/item/reagent_containers/cup/soda_cans/beer does not have an inhand_icon_state value - Possible matching sprites for "space_beer" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2023-11-12T09:04:14.5430842Z /obj/item/reagent_containers/cup/soda_cans/beer/rice does not have an inhand_icon_state value - Possible matching sprites for "ebisu" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2023-11-12T09:04:14.5432971Z /obj/item/reagent_containers/cup/glass/coffee does not have an inhand_icon_state value - Possible matching sprites for "coffee" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2023-11-12T09:04:14.5435080Z /obj/item/reagent_containers/chem_pack does not have an inhand_icon_state value - Possible matching sprites for "chempack" found in: 'icons/mob/inhands/equipment/backpack_righthand.dmi' & 'icons/mob/inhands/equipment/backpack_lefthand.dmi' +2023-11-12T09:04:14.5437143Z /obj/item/toy/talking/codex_gigas does not have an inhand_icon_state value - Possible matching sprites for "demonomicon" found in: 'icons/mob/inhands/items/books_righthand.dmi' & 'icons/mob/inhands/items/books_lefthand.dmi' +2023-11-12T09:04:14.5439342Z /obj/item/toy/figure/chef does not have an inhand_icon_state value - Possible matching sprites for "chef" found in: 'icons/mob/inhands/clothing/suits_righthand.dmi' & 'icons/mob/inhands/clothing/suits_lefthand.dmi' +2023-11-12T09:04:14.5441474Z /obj/item/toy/figure/clown does not have an inhand_icon_state value - Possible matching sprites for "clown" found in: 'icons/mob/inhands/clothing/suits_righthand.dmi' & 'icons/mob/inhands/clothing/suits_lefthand.dmi' +2023-11-12T09:04:14.5443437Z /obj/item/toy/figure/janitor does not have an inhand_icon_state value - Possible matching sprites for "janitor" found in: 'icons/mob/inhands/clothing/suits_righthand.dmi' & 'icons/mob/inhands/clothing/suits_lefthand.dmi' +2023-11-12T09:04:14.5445333Z /obj/item/toy/cards/cardhand does not have an inhand_icon_state value - Possible matching sprites for "nothing" found in: 'icons/mob/inhands/items_lefthand.dmi' & 'icons/mob/inhands/items_righthand.dmi' +2023-11-12T09:04:14.5447188Z /obj/item/book/codex_gigas does not have an inhand_icon_state value - Possible matching sprites for "demonomicon" found in: 'icons/mob/inhands/items/books_righthand.dmi' & 'icons/mob/inhands/items/books_lefthand.dmi' +2023-11-12T09:04:14.5449271Z /obj/item/pipe_dispenser does not have an inhand_icon_state value - Possible matching sprites for "rpd" found in: 'icons/mob/inhands/equipment/tools_lefthand.dmi' & 'icons/mob/inhands/equipment/tools_righthand.dmi' +2023-11-12T09:04:14.5451184Z /obj/item/sbeacondrop does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_righthand.dmi' & 'icons/mob/inhands/items/devices_lefthand.dmi' +2023-11-12T09:04:14.5453081Z /obj/item/sbeacondrop/bomb does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_righthand.dmi' & 'icons/mob/inhands/items/devices_lefthand.dmi' +2023-11-12T09:04:14.5454974Z /obj/item/sbeacondrop/emp does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_righthand.dmi' & 'icons/mob/inhands/items/devices_lefthand.dmi' +2023-11-12T09:04:14.5456921Z /obj/item/sbeacondrop/powersink does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_righthand.dmi' & 'icons/mob/inhands/items/devices_lefthand.dmi' +2023-11-12T09:04:14.5459034Z /obj/item/sbeacondrop/clownbomb does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_righthand.dmi' & 'icons/mob/inhands/items/devices_lefthand.dmi' +2023-11-12T09:04:14.5460981Z /obj/item/sbeacondrop/horse does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_righthand.dmi' & 'icons/mob/inhands/items/devices_lefthand.dmi' +2023-11-12T09:04:14.5463020Z /obj/item/stack/medical/bruise_pack does not have an inhand_icon_state value - Possible matching sprites for "brutepack" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2023-11-12T09:04:14.5465143Z /obj/item/stack/medical/ointment does not have an inhand_icon_state value - Possible matching sprites for "ointment" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2023-11-12T09:04:14.5467227Z /obj/item/stack/tile/fairygrass does not have an inhand_icon_state value - Possible matching sprites for "tile_fairygrass" found in: 'icons/mob/inhands/items/tiles_righthand.dmi' & 'icons/mob/inhands/items/tiles_lefthand.dmi' +2023-11-12T09:04:14.5469256Z /obj/item/organ/internal/heart/gland/blood does not have an inhand_icon_state value - Possible matching sprites for "egg" found in: 'icons/mob/inhands/items/food_righthand.dmi' & 'icons/mob/inhands/items/food_lefthand.dmi' +2023-11-12T09:04:14.5471272Z /obj/item/organ/internal/heart/gland/egg does not have an inhand_icon_state value - Possible matching sprites for "egg" found in: 'icons/mob/inhands/items/food_righthand.dmi' & 'icons/mob/inhands/items/food_lefthand.dmi' +2023-11-12T09:04:14.5473406Z /obj/item/organ/internal/heart/gland/quantum does not have an inhand_icon_state value - Possible matching sprites for "emp" found in: 'icons/mob/inhands/equipment/security_lefthand.dmi' & 'icons/mob/inhands/equipment/security_righthand.dmi' +2023-11-12T09:04:14.5475638Z /obj/item/organ/internal/heart/gland/trauma does not have an inhand_icon_state value - Possible matching sprites for "emp" found in: 'icons/mob/inhands/equipment/security_lefthand.dmi' & 'icons/mob/inhands/equipment/security_righthand.dmi' +2023-11-12T09:04:14.5477679Z /obj/item/minespawner does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_righthand.dmi' & 'icons/mob/inhands/items/devices_lefthand.dmi' +2023-11-12T09:04:14.5479615Z /obj/item/boxcutter does not have an inhand_icon_state value - Possible matching sprites for "boxcutter" found in: 'icons/mob/inhands/equipment/boxcutter_righthand.dmi' & 'icons/mob/inhands/equipment/boxcutter_lefthand.dmi' +2023-11-12T09:04:14.5482091Z /obj/item/boxcutter/extended does not have an inhand_icon_state value - Possible matching sprites for "boxcutter" found in: 'icons/mob/inhands/equipment/boxcutter_righthand.dmi' & 'icons/mob/inhands/equipment/boxcutter_lefthand.dmi' +2023-11-12T09:04:14.5484159Z /obj/item/pushbroom does not have an inhand_icon_state value - Possible matching sprites for "broom0" found in: 'icons/mob/inhands/equipment/custodial_righthand.dmi' & 'icons/mob/inhands/equipment/custodial_lefthand.dmi' +2023-11-12T09:04:14.5486168Z /obj/item/pushbroom/cyborg does not have an inhand_icon_state value - Possible matching sprites for "broom0" found in: 'icons/mob/inhands/equipment/custodial_righthand.dmi' & 'icons/mob/inhands/equipment/custodial_lefthand.dmi' +2023-11-12T09:04:14.5488176Z /obj/item/chainsaw does not have an inhand_icon_state value - Possible matching sprites for "chainsaw_off" found in: 'icons/mob/inhands/weapons/chainsaw_righthand.dmi' & 'icons/mob/inhands/weapons/chainsaw_lefthand.dmi' +2023-11-12T09:04:14.5490187Z /obj/item/chainsaw/doomslayer does not have an inhand_icon_state value - Possible matching sprites for "chainsaw_off" found in: 'icons/mob/inhands/weapons/chainsaw_righthand.dmi' & 'icons/mob/inhands/weapons/chainsaw_lefthand.dmi' +2023-11-12T09:04:14.5492367Z /obj/item/kitchen/fork does not have an inhand_icon_state value - Possible matching sprites for "fork" found in: 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' & 'icons/mob/inhands/equipment/kitchen_righthand.dmi' +2023-11-12T09:04:14.5494352Z /obj/item/kitchen/spoon does not have an inhand_icon_state value - Possible matching sprites for "spoon" found in: 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' & 'icons/mob/inhands/equipment/kitchen_righthand.dmi' +2023-11-12T09:04:14.5496447Z /obj/item/kitchen/spoon/plastic does not have an inhand_icon_state value - Possible matching sprites for "plastic_spoon" found in: 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' & 'icons/mob/inhands/equipment/kitchen_righthand.dmi' +2023-11-12T09:04:14.5498538Z /obj/item/pitchfork does not have an inhand_icon_state value - Possible matching sprites for "pitchfork0" found in: 'icons/mob/inhands/weapons/polearms_lefthand.dmi' & 'icons/mob/inhands/weapons/polearms_righthand.dmi' +2023-11-12T09:04:14.5500478Z /obj/item/godstaff does not have an inhand_icon_state value - Possible matching sprites for "godstaff-red" found in: 'icons/mob/inhands/weapons/staves_lefthand.dmi' & 'icons/mob/inhands/weapons/staves_righthand.dmi' +2023-11-12T09:04:14.5502414Z /obj/item/godstaff/red does not have an inhand_icon_state value - Possible matching sprites for "godstaff-red" found in: 'icons/mob/inhands/weapons/staves_lefthand.dmi' & 'icons/mob/inhands/weapons/staves_righthand.dmi' +2023-11-12T09:04:14.5504543Z /obj/item/godstaff/blue does not have an inhand_icon_state value - Possible matching sprites for "godstaff-blue" found in: 'icons/mob/inhands/weapons/staves_lefthand.dmi' & 'icons/mob/inhands/weapons/staves_righthand.dmi' +2023-11-12T09:04:14.5506586Z /obj/item/singularityhammer does not have an inhand_icon_state value - Possible matching sprites for "singularity_hammer0" found in: 'icons/mob/inhands/weapons/hammers_lefthand.dmi' & 'icons/mob/inhands/weapons/hammers_righthand.dmi' +2023-11-12T09:04:14.5508606Z /obj/item/mjollnir does not have an inhand_icon_state value - Possible matching sprites for "mjollnir0" found in: 'icons/mob/inhands/weapons/hammers_lefthand.dmi' & 'icons/mob/inhands/weapons/hammers_righthand.dmi' +2023-11-12T09:04:14.5510522Z /obj/item/spear does not have an inhand_icon_state value - Possible matching sprites for "spearglass0" found in: 'icons/mob/inhands/weapons/polearms_lefthand.dmi' & 'icons/mob/inhands/weapons/polearms_righthand.dmi' +2023-11-12T09:04:14.5512535Z /obj/item/spear/explosive does not have an inhand_icon_state value - Possible matching sprites for "spearbomb0" found in: 'icons/mob/inhands/weapons/polearms_lefthand.dmi' & 'icons/mob/inhands/weapons/polearms_righthand.dmi' +2023-11-12T09:04:14.5514725Z /obj/item/spear/grey_tide does not have an inhand_icon_state value - Possible matching sprites for "spearglass0" found in: 'icons/mob/inhands/weapons/polearms_lefthand.dmi' & 'icons/mob/inhands/weapons/polearms_righthand.dmi' +2023-11-12T09:04:14.5516757Z /obj/item/spear/bonespear does not have an inhand_icon_state value - Possible matching sprites for "bone_spear0" found in: 'icons/mob/inhands/weapons/polearms_lefthand.dmi' & 'icons/mob/inhands/weapons/polearms_righthand.dmi' +2023-11-12T09:04:14.5518804Z /obj/item/spear/bamboospear does not have an inhand_icon_state value - Possible matching sprites for "bamboo_spear0" found in: 'icons/mob/inhands/weapons/polearms_lefthand.dmi' & 'icons/mob/inhands/weapons/polearms_righthand.dmi' +2023-11-12T09:04:14.5520748Z /obj/item/sticker/robot does not have an inhand_icon_state value - Possible matching sprites for "tile" found in: 'icons/mob/inhands/items/tiles_righthand.dmi' & 'icons/mob/inhands/items/tiles_lefthand.dmi' +2023-11-12T09:04:14.5522828Z /obj/item/trash/candy does not have an inhand_icon_state value - Possible matching sprites for "candy" found in: 'icons/mob/inhands/items/food_righthand.dmi' & 'icons/mob/inhands/items/food_lefthand.dmi' +2023-11-12T09:04:14.5524800Z /obj/item/trash/chips does not have an inhand_icon_state value - Possible matching sprites for "chips" found in: 'icons/mob/inhands/items/food_righthand.dmi' & 'icons/mob/inhands/items/food_lefthand.dmi' +2023-11-12T09:04:14.5526598Z /obj/item/trash/can does not have an inhand_icon_state value - Possible matching sprites for "cola" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2023-11-12T09:04:14.5528508Z /obj/item/highfrequencyblade does not have an inhand_icon_state value - Possible matching sprites for "hfrequency0" found in: 'icons/mob/inhands/weapons/swords_righthand.dmi' & 'icons/mob/inhands/weapons/swords_lefthand.dmi' +2023-11-12T09:04:14.5530557Z /obj/item/highfrequencyblade/wizard does not have an inhand_icon_state value - Possible matching sprites for "hfrequency0" found in: 'icons/mob/inhands/weapons/swords_righthand.dmi' & 'icons/mob/inhands/weapons/swords_lefthand.dmi' +2023-11-12T09:04:14.5532581Z /obj/item/construction/rcd does not have an inhand_icon_state value - Possible matching sprites for "rcd" found in: 'icons/mob/inhands/equipment/tools_lefthand.dmi' & 'icons/mob/inhands/equipment/tools_righthand.dmi' +2023-11-12T09:04:14.5534544Z /obj/item/construction/rcd/borg does not have an inhand_icon_state value - Possible matching sprites for "rcd" found in: 'icons/mob/inhands/equipment/tools_lefthand.dmi' & 'icons/mob/inhands/equipment/tools_righthand.dmi' +2023-11-12T09:04:14.5536539Z /obj/item/construction/rcd/loaded does not have an inhand_icon_state value - Possible matching sprites for "rcd" found in: 'icons/mob/inhands/equipment/tools_lefthand.dmi' & 'icons/mob/inhands/equipment/tools_righthand.dmi' +2023-11-12T09:04:14.5538610Z /obj/item/construction/rcd/loaded/upgraded does not have an inhand_icon_state value - Possible matching sprites for "rcd" found in: 'icons/mob/inhands/equipment/tools_lefthand.dmi' & 'icons/mob/inhands/equipment/tools_righthand.dmi' +2023-11-12T09:04:14.5540806Z /obj/item/construction/rcd/ce does not have an inhand_icon_state value - Possible matching sprites for "rcd" found in: 'icons/mob/inhands/equipment/tools_lefthand.dmi' & 'icons/mob/inhands/equipment/tools_righthand.dmi' +2023-11-12T09:04:14.5542811Z /obj/item/construction/rcd/internal does not have an inhand_icon_state value - Possible matching sprites for "rcd" found in: 'icons/mob/inhands/equipment/tools_lefthand.dmi' & 'icons/mob/inhands/equipment/tools_righthand.dmi' +2023-11-12T09:04:14.5544792Z /obj/item/construction/rld does not have an inhand_icon_state value - Possible matching sprites for "rld" found in: 'icons/mob/inhands/equipment/tools_lefthand.dmi' & 'icons/mob/inhands/equipment/tools_righthand.dmi' +2023-11-12T09:04:14.5546898Z /obj/item/construction/rld/mini does not have an inhand_icon_state value - Possible matching sprites for "rld" found in: 'icons/mob/inhands/equipment/tools_lefthand.dmi' & 'icons/mob/inhands/equipment/tools_righthand.dmi' +2023-11-12T09:04:14.5548856Z /obj/item/construction/rtd does not have an inhand_icon_state value - Possible matching sprites for "rtd" found in: 'icons/mob/inhands/equipment/tools_lefthand.dmi' & 'icons/mob/inhands/equipment/tools_righthand.dmi' +2023-11-12T09:04:14.5551347Z /obj/item/construction/rtd/loaded does not have an inhand_icon_state value - Possible matching sprites for "rtd" found in: 'icons/mob/inhands/equipment/tools_lefthand.dmi' & 'icons/mob/inhands/equipment/tools_righthand.dmi' +2023-11-12T09:04:14.5553359Z /obj/item/construction/rtd/admin does not have an inhand_icon_state value - Possible matching sprites for "rtd" found in: 'icons/mob/inhands/equipment/tools_lefthand.dmi' & 'icons/mob/inhands/equipment/tools_righthand.dmi' +2023-11-12T09:04:14.5555307Z /obj/item/rcd_ammo does not have an inhand_icon_state value - Possible matching sprites for "rcdammo" found in: 'icons/mob/inhands/equipment/tools_lefthand.dmi' & 'icons/mob/inhands/equipment/tools_righthand.dmi' +2023-11-12T09:04:14.5557368Z /obj/item/rcd_ammo/large does not have an inhand_icon_state value - Possible matching sprites for "rcdammo" found in: 'icons/mob/inhands/equipment/tools_lefthand.dmi' & 'icons/mob/inhands/equipment/tools_righthand.dmi' +2023-11-12T09:04:14.5559329Z /obj/item/borg/sight/meson does not have an inhand_icon_state value - Possible matching sprites for "meson" found in: 'icons/mob/inhands/clothing/glasses_righthand.dmi' & 'icons/mob/inhands/clothing/glasses_lefthand.dmi' +2023-11-12T09:04:14.5561639Z /obj/item/harmalarm does not have an inhand_icon_state value - Possible matching sprites for "megaphone" found in: 'icons/mob/inhands/items/megaphone_righthand.dmi' & 'icons/mob/inhands/items/megaphone_lefthand.dmi' +2023-11-12T09:04:14.5564165Z /obj/item/abductor_machine_beacon does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_righthand.dmi' & 'icons/mob/inhands/items/devices_lefthand.dmi' +2023-11-12T09:04:14.5566370Z /obj/item/abductor_machine_beacon/chem_dispenser does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_righthand.dmi' & 'icons/mob/inhands/items/devices_lefthand.dmi' +2023-11-12T09:04:14.5568963Z /obj/item/grown/carbon_rose does not have an inhand_icon_state value - Possible matching sprites for "carbonrose" found in: 'icons/mob/inhands/weapons/plants_lefthand.dmi' & 'icons/mob/inhands/weapons/plants_righthand.dmi' +2023-11-12T09:04:14.5571469Z /obj/item/paint_palette does not have an inhand_icon_state value - Possible matching sprites for "palette" found in: 'icons/mob/inhands/equipment/palette_lefthand.dmi' & 'icons/mob/inhands/equipment/palette_righthand.dmi' +2023-11-12T09:04:14.5573366Z /obj/item/surprise_egg does not have an inhand_icon_state value - Possible matching sprites for "egg" found in: 'icons/mob/inhands/items/food_righthand.dmi' & 'icons/mob/inhands/items/food_lefthand.dmi' +2023-11-12T09:04:14.5575235Z /obj/item/experi_scanner does not have an inhand_icon_state value - Possible matching sprites for "experiscanner" found in: 'icons/mob/inhands/items/devices_righthand.dmi' & 'icons/mob/inhands/items/devices_lefthand.dmi' +2023-11-12T09:04:14.5577115Z /obj/item/fishing_hook does not have an inhand_icon_state value - Possible matching sprites for "hook" found in: 'icons/mob/inhands/weapons/melee_righthand.dmi' & 'icons/mob/inhands/weapons/melee_lefthand.dmi' +2023-11-12T09:04:14.5578938Z /obj/item/shovel/giant_wrench does not have an inhand_icon_state value - Possible matching sprites for "giant_wrench" found in: 'icons/mob/inhands/64x64_righthand.dmi' & 'icons/mob/inhands/64x64_lefthand.dmi' +2023-11-12T09:04:14.5580822Z /obj/item/cursed_katana does not have an inhand_icon_state value - Possible matching sprites for "cursed_katana" found in: 'icons/mob/inhands/weapons/swords_righthand.dmi' & 'icons/mob/inhands/weapons/swords_lefthand.dmi' +2023-11-12T09:04:14.5583032Z /obj/item/guardian_creator/tech does not have an inhand_icon_state value - Possible matching sprites for "combat_hypo" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2023-11-12T09:04:14.5584953Z /obj/item/research_notes does not have an inhand_icon_state value - Possible matching sprites for "paper" found in: 'icons/mob/inhands/items_lefthand.dmi' & 'icons/mob/inhands/items_righthand.dmi' +2023-11-12T09:04:14.5586814Z /obj/item/bonesetter does not have an inhand_icon_state value - Possible matching sprites for "bonesetter" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2023-11-12T09:04:14.5588821Z /obj/item/blood_filter does not have an inhand_icon_state value - Possible matching sprites for "bloodfilter" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2023-11-12T09:04:14.5590945Z /obj/item/mecha_ammo/flashbang does not have an inhand_icon_state value - Possible matching sprites for "flashbang" found in: 'icons/mob/inhands/equipment/security_lefthand.dmi' & 'icons/mob/inhands/equipment/security_righthand.dmi' +2023-11-12T09:04:14.5592385Z PASS /datum/unit_test/defined_inhand_icon_states 1s +2023-11-12T09:04:14.5593067Z ##[endgroup] +2023-11-12T09:04:14.5593503Z ##[group]/datum/unit_test/json_savefiles +2023-11-12T09:04:14.5593927Z PASS /datum/unit_test/json_savefiles 0s +2023-11-12T09:04:14.5594439Z ##[endgroup] +2023-11-12T09:04:14.5697545Z ##[group]/datum/unit_test/keybinding_init +2023-11-12T09:04:14.5700044Z PASS /datum/unit_test/keybinding_init 0s +2023-11-12T09:04:14.5702215Z ##[endgroup] +2023-11-12T09:04:14.5828294Z ##[group]/datum/unit_test/knockoff_component +2023-11-12T09:04:14.6242363Z PASS /datum/unit_test/knockoff_component 0.1s +2023-11-12T09:04:14.6244697Z ##[endgroup] +2023-11-12T09:04:14.6630391Z ##[group]/datum/unit_test/language_species_swap_simple +2023-11-12T09:04:14.7587413Z PASS /datum/unit_test/language_species_swap_simple 0.1s +2023-11-12T09:04:14.7588791Z ##[endgroup] +2023-11-12T09:04:14.7909664Z ##[group]/datum/unit_test/language_species_swap_complex +2023-11-12T09:04:14.8535770Z PASS /datum/unit_test/language_species_swap_complex 0.1s +2023-11-12T09:04:14.8537437Z ##[endgroup] +2023-11-12T09:04:14.8839470Z ##[group]/datum/unit_test/language_species_change_other_known +2023-11-12T09:04:14.9795952Z PASS /datum/unit_test/language_species_change_other_known 0.1s +2023-11-12T09:04:14.9797030Z ##[endgroup] +2023-11-12T09:04:15.0435933Z ##[group]/datum/unit_test/language_mind_transfer +2023-11-12T09:04:15.1107127Z PASS /datum/unit_test/language_mind_transfer 0.1s +2023-11-12T09:04:15.1109587Z ##[endgroup] +2023-11-12T09:04:15.2112030Z ##[group]/datum/unit_test/language_mind_swap +2023-11-12T09:04:15.2925264Z PASS /datum/unit_test/language_mind_swap 0s +2023-11-12T09:04:15.2927698Z ##[endgroup] +2023-11-12T09:04:15.3795431Z ##[group]/datum/unit_test/book_of_babel +2023-11-12T09:04:15.4462613Z PASS /datum/unit_test/book_of_babel 0.1s +2023-11-12T09:04:15.4464636Z ##[endgroup] +2023-11-12T09:04:15.4773421Z ##[group]/datum/unit_test/lesserform +2023-11-12T09:04:15.6945571Z PASS /datum/unit_test/lesserform 0.2s +2023-11-12T09:04:15.6948228Z ##[endgroup] +2023-11-12T09:04:15.7353723Z ##[group]/datum/unit_test/limbsanity +2023-11-12T09:04:15.7943636Z PASS /datum/unit_test/limbsanity 0s +2023-11-12T09:04:15.7944637Z ##[endgroup] +2023-11-12T09:04:15.8094514Z ##[group]/datum/unit_test/limb_height_adjustment +2023-11-12T09:04:15.8922884Z PASS /datum/unit_test/limb_height_adjustment 0s +2023-11-12T09:04:15.8924726Z ##[endgroup] +2023-11-12T09:04:15.9430586Z ##[group]/datum/unit_test/ling_decap +2023-11-12T09:04:15.9835506Z PASS /datum/unit_test/ling_decap 0s +2023-11-12T09:04:15.9839509Z ##[endgroup] +2023-11-12T09:04:16.0140352Z ##[group]/datum/unit_test/normal_decap +2023-11-12T09:04:16.0424498Z PASS /datum/unit_test/normal_decap 0s +2023-11-12T09:04:16.0426983Z ##[endgroup] +2023-11-12T09:04:16.0805164Z ##[group]/datum/unit_test/liver/skeleton +2023-11-12T09:04:16.1038545Z PASS /datum/unit_test/liver/skeleton 0.1s +2023-11-12T09:04:16.1041112Z ##[endgroup] +2023-11-12T09:04:16.1284821Z ##[group]/datum/unit_test/liver/plasmaman +2023-11-12T09:04:16.1580562Z PASS /datum/unit_test/liver/plasmaman 0s +2023-11-12T09:04:16.1583210Z ##[endgroup] +2023-11-12T09:04:16.2153103Z ##[group]/datum/unit_test/load_map_security +2023-11-12T09:04:16.2161683Z map directory not in whitelist: data/load_map_security_temp for map runtimestation +2023-11-12T09:04:16.2164604Z PASS /datum/unit_test/load_map_security 0s +2023-11-12T09:04:16.2167411Z ##[endgroup] +2023-11-12T09:04:16.2305620Z ##[group]/datum/unit_test/lungs/lungs_sanity +2023-11-12T09:04:16.2992950Z PASS /datum/unit_test/lungs/lungs_sanity 0s +2023-11-12T09:04:16.2993961Z ##[endgroup] +2023-11-12T09:04:16.3555743Z ##[group]/datum/unit_test/lungs/lungs_sanity_plasmaman +2023-11-12T09:04:16.3893402Z PASS /datum/unit_test/lungs/lungs_sanity_plasmaman 0s +2023-11-12T09:04:16.3896070Z ##[endgroup] +2023-11-12T09:04:16.4363609Z ##[group]/datum/unit_test/lungs/lungs_sanity_ashwalker +2023-11-12T09:04:16.4534765Z PASS /datum/unit_test/lungs/lungs_sanity_ashwalker 0s +2023-11-12T09:04:16.4537484Z ##[endgroup] +2023-11-12T09:04:16.5268598Z ##[group]/datum/unit_test/machine_disassembly +2023-11-12T09:04:16.5331398Z PASS /datum/unit_test/machine_disassembly 0s +2023-11-12T09:04:16.5334165Z ##[endgroup] +2023-11-12T09:04:16.5965192Z ##[group]/datum/unit_test/mafia +2023-11-12T09:04:16.9361333Z PASS /datum/unit_test/mafia 0.4s +2023-11-12T09:04:16.9362885Z ##[endgroup] +2023-11-12T09:04:17.0130362Z ##[group]/datum/unit_test/job_roundstart_spawnpoints +2023-11-12T09:04:17.0143039Z PASS /datum/unit_test/job_roundstart_spawnpoints 0s +2023-11-12T09:04:17.0145274Z ##[endgroup] +2023-11-12T09:04:17.0659056Z ##[group]/datum/unit_test/mecha_damage +2023-11-12T09:04:17.1110027Z PASS /datum/unit_test/mecha_damage 0.1s +2023-11-12T09:04:17.1112178Z ##[endgroup] +2023-11-12T09:04:17.2054159Z ##[group]/datum/unit_test/test_human_base +2023-11-12T09:04:17.2287354Z PASS /datum/unit_test/test_human_base 0s +2023-11-12T09:04:17.2289454Z ##[endgroup] +2023-11-12T09:04:17.2929615Z ##[group]/datum/unit_test/test_human_bone +2023-11-12T09:04:17.3157404Z PASS /datum/unit_test/test_human_bone 0.1s +2023-11-12T09:04:17.3160356Z ##[endgroup] +2023-11-12T09:04:17.3434694Z ##[group]/datum/unit_test/merge_type +2023-11-12T09:04:17.3440046Z PASS /datum/unit_test/merge_type 0s +2023-11-12T09:04:17.3442753Z ##[endgroup] +2023-11-12T09:04:17.3573048Z ##[group]/datum/unit_test/metabolization +2023-11-12T09:04:17.6960389Z PASS /datum/unit_test/metabolization 0.3s +2023-11-12T09:04:17.6963225Z ##[endgroup] +2023-11-12T09:04:17.7388896Z ##[group]/datum/unit_test/on_mob_end_metabolize +2023-11-12T09:04:17.7590192Z PASS /datum/unit_test/on_mob_end_metabolize 0s +2023-11-12T09:04:17.7592863Z ##[endgroup] +2023-11-12T09:04:17.7841810Z ##[group]/datum/unit_test/addictions +2023-11-12T09:04:17.8425631Z PASS /datum/unit_test/addictions 0.1s +2023-11-12T09:04:17.8428724Z ##[endgroup] +2023-11-12T09:04:17.9023556Z ##[group]/datum/unit_test/actions_moved_on_mind_transfer +2023-11-12T09:04:17.9228877Z PASS /datum/unit_test/actions_moved_on_mind_transfer 0s +2023-11-12T09:04:17.9231703Z ##[endgroup] +2023-11-12T09:04:17.9679832Z ##[group]/datum/unit_test/missing_icons +2023-11-12T09:04:24.5752532Z PASS /datum/unit_test/missing_icons 6.6s +2023-11-12T09:04:24.5754181Z ##[endgroup] +2023-11-12T09:04:24.6466600Z ##[group]/datum/unit_test/mob_chains +2023-11-12T09:04:24.6632928Z PASS /datum/unit_test/mob_chains 0s +2023-11-12T09:04:24.6635968Z ##[endgroup] +2023-11-12T09:04:24.7913005Z ##[group]/datum/unit_test/mob_faction +2023-11-12T09:04:28.5066463Z PASS /datum/unit_test/mob_faction 3.8s +2023-11-12T09:04:28.5069188Z ##[endgroup] +2023-11-12T09:04:31.6163193Z ##[group]/datum/unit_test/mob_spawn +2023-11-12T09:04:31.6427245Z PASS /datum/unit_test/mob_spawn 0s +2023-11-12T09:04:31.6431419Z ##[endgroup] +2023-11-12T09:04:32.0058055Z ##[group]/datum/unit_test/modsuit_checks +2023-11-12T09:04:32.2811166Z PASS /datum/unit_test/modsuit_checks 0.2s +2023-11-12T09:04:32.2812528Z ##[endgroup] +2023-11-12T09:04:32.3511926Z ##[group]/datum/unit_test/modular_map_loader +2023-11-12T09:04:32.3521874Z PASS /datum/unit_test/modular_map_loader 0s +2023-11-12T09:04:32.3523808Z ##[endgroup] +2023-11-12T09:04:32.4142704Z ##[group]/datum/unit_test/mouse_bite_cable +2023-11-12T09:04:32.4246879Z PASS /datum/unit_test/mouse_bite_cable 0s +2023-11-12T09:04:32.4248567Z ##[endgroup] +2023-11-12T09:04:32.4874261Z ##[group]/datum/unit_test/mutant_hands +2023-11-12T09:04:32.5112259Z PASS /datum/unit_test/mutant_hands 0.1s +2023-11-12T09:04:32.5113850Z ##[endgroup] +2023-11-12T09:04:32.5849921Z ##[group]/datum/unit_test/mutant_hands_with_nodrop +2023-11-12T09:04:32.6040138Z PASS /datum/unit_test/mutant_hands_with_nodrop 0.1s +2023-11-12T09:04:32.6041689Z ##[endgroup] +2023-11-12T09:04:32.6773675Z ##[group]/datum/unit_test/mutant_hands_carry +2023-11-12T09:04:32.7131388Z PASS /datum/unit_test/mutant_hands_carry 0.1s +2023-11-12T09:04:32.7133185Z ##[endgroup] +2023-11-12T09:04:32.7786446Z ##[group]/datum/unit_test/mutant_organs +2023-11-12T09:04:34.2934214Z PASS /datum/unit_test/mutant_organs 1.5s +2023-11-12T09:04:34.2935313Z ##[endgroup] +2023-11-12T09:04:34.6462244Z ##[group]/datum/unit_test/novaflower_burn +2023-11-12T09:04:34.6850680Z PASS /datum/unit_test/novaflower_burn 0s +2023-11-12T09:04:34.6852577Z ##[endgroup] +2023-11-12T09:04:34.7556767Z ##[group]/datum/unit_test/nuke_cinematic +2023-11-12T09:04:39.0321508Z PASS /datum/unit_test/nuke_cinematic 4.3s +2023-11-12T09:04:39.0323281Z ##[endgroup] +2023-11-12T09:04:39.0458593Z ##[group]/datum/unit_test/objectives_category +2023-11-12T09:04:39.0479702Z PASS /datum/unit_test/objectives_category 0s +2023-11-12T09:04:39.0482187Z ##[endgroup] +2023-11-12T09:04:39.0633771Z ##[group]/datum/unit_test/operating_table +2023-11-12T09:04:39.0971239Z PASS /datum/unit_test/operating_table 0s +2023-11-12T09:04:39.0973601Z ##[endgroup] +2023-11-12T09:04:39.1707308Z ##[group]/datum/unit_test/orderable_items +2023-11-12T09:04:39.3304868Z PASS /datum/unit_test/orderable_items 0.2s +2023-11-12T09:04:39.3307041Z ##[endgroup] +2023-11-12T09:04:39.4628600Z ##[group]/datum/unit_test/organ_set_bonus_id +2023-11-12T09:04:39.4631127Z PASS /datum/unit_test/organ_set_bonus_id 0s +2023-11-12T09:04:39.4632993Z ##[endgroup] +2023-11-12T09:04:39.4763602Z ##[group]/datum/unit_test/organ_set_bonus_sanity +2023-11-12T09:04:39.7566200Z PASS /datum/unit_test/organ_set_bonus_sanity 0.3s +2023-11-12T09:04:39.7567687Z ##[endgroup] +2023-11-12T09:04:39.8948309Z ##[group]/datum/unit_test/organ_sanity +2023-11-12T09:04:39.8957864Z PASS /datum/unit_test/organ_sanity 0s +2023-11-12T09:04:39.8960612Z ##[endgroup] +2023-11-12T09:04:39.9099785Z ##[group]/datum/unit_test/organ_damage +2023-11-12T09:04:39.9663107Z PASS /datum/unit_test/organ_damage 0s +2023-11-12T09:04:39.9665107Z ##[endgroup] +2023-11-12T09:04:40.0023907Z ##[group]/datum/unit_test/outfit_sanity +2023-11-12T09:04:52.5011539Z PASS /datum/unit_test/outfit_sanity 12.5s +2023-11-12T09:04:52.5013136Z ##[endgroup] +2023-11-12T09:04:52.5847995Z ##[group]/datum/unit_test/oxyloss_suffocation +2023-11-12T09:04:52.6033624Z PASS /datum/unit_test/oxyloss_suffocation 0.1s +2023-11-12T09:04:52.6035713Z ##[endgroup] +2023-11-12T09:04:52.6523199Z ##[group]/datum/unit_test/paintings +2023-11-12T09:04:52.6718185Z PASS /datum/unit_test/paintings 0s +2023-11-12T09:04:52.6720334Z ##[endgroup] +2023-11-12T09:04:52.6860350Z ##[group]/datum/unit_test/pills +2023-11-12T09:04:52.7049829Z PASS /datum/unit_test/pills 0.1s +2023-11-12T09:04:52.7051614Z ##[endgroup] +2023-11-12T09:04:52.7284869Z ##[group]/datum/unit_test/plane_double_transform +2023-11-12T09:04:52.7568954Z PASS /datum/unit_test/plane_double_transform 0s +2023-11-12T09:04:52.7570947Z ##[endgroup] +2023-11-12T09:04:52.8088783Z ##[group]/datum/unit_test/plane_dupe_detector +2023-11-12T09:04:52.8092292Z PASS /datum/unit_test/plane_dupe_detector 0s +2023-11-12T09:04:52.8094235Z ##[endgroup] +2023-11-12T09:04:52.8223651Z ##[group]/datum/unit_test/plantgrowth +2023-11-12T09:04:52.9104725Z PASS /datum/unit_test/plantgrowth 0.1s +2023-11-12T09:04:52.9106537Z ##[endgroup] +2023-11-12T09:04:52.9238426Z ##[group]/datum/unit_test/preference_species +2023-11-12T09:04:52.9241982Z PASS /datum/unit_test/preference_species 0s +2023-11-12T09:04:52.9243985Z ##[endgroup] +2023-11-12T09:04:52.9366837Z ##[group]/datum/unit_test/preferences_implement_everything +2023-11-12T09:04:52.9767879Z PASS /datum/unit_test/preferences_implement_everything 0s +2023-11-12T09:04:52.9769887Z ##[endgroup] +2023-11-12T09:04:53.0386005Z ##[group]/datum/unit_test/preferences_valid_savefile_key +2023-11-12T09:04:53.0390164Z PASS /datum/unit_test/preferences_valid_savefile_key 0s +2023-11-12T09:04:53.0392300Z ##[endgroup] +2023-11-12T09:04:53.0533180Z ##[group]/datum/unit_test/preferences_valid_main_feature_name +2023-11-12T09:04:53.0536519Z PASS /datum/unit_test/preferences_valid_main_feature_name 0s +2023-11-12T09:04:53.0538733Z ##[endgroup] +2023-11-12T09:04:53.0666858Z ##[group]/datum/unit_test/preferences_should_generate_icons_sanity +2023-11-12T09:04:53.5932797Z PASS /datum/unit_test/preferences_should_generate_icons_sanity 0.5s +2023-11-12T09:04:53.5934463Z ##[endgroup] +2023-11-12T09:04:53.6200764Z ##[group]/datum/unit_test/projectile_movetypes +2023-11-12T09:04:53.6204485Z PASS /datum/unit_test/projectile_movetypes 0s +2023-11-12T09:04:53.6206834Z ##[endgroup] +2023-11-12T09:04:53.6336940Z ##[group]/datum/unit_test/gun_go_bang +2023-11-12T09:04:53.6829687Z PASS /datum/unit_test/gun_go_bang 0s +2023-11-12T09:04:53.6830843Z ##[endgroup] +2023-11-12T09:04:53.7230698Z ##[group]/datum/unit_test/quirk_icons +2023-11-12T09:04:53.7234275Z PASS /datum/unit_test/quirk_icons 0s +2023-11-12T09:04:53.7236777Z ##[endgroup] +2023-11-12T09:04:53.7365585Z ##[group]/datum/unit_test/range_return +2023-11-12T09:04:53.7369094Z PASS /datum/unit_test/range_return 0s +2023-11-12T09:04:53.7371240Z ##[endgroup] +2023-11-12T09:04:53.7500465Z ##[group]/datum/unit_test/frame_stacking +2023-11-12T09:04:53.7979971Z PASS /datum/unit_test/frame_stacking 0s +2023-11-12T09:04:53.7981883Z ##[endgroup] +2023-11-12T09:04:53.8318167Z ##[group]/datum/unit_test/reagent_container_defaults +2023-11-12T09:04:54.0941417Z PASS /datum/unit_test/reagent_container_defaults 0.2s +2023-11-12T09:04:54.0943278Z ##[endgroup] +2023-11-12T09:04:54.2270413Z ##[group]/datum/unit_test/reagent_id_typos +2023-11-12T09:04:54.2286982Z PASS /datum/unit_test/reagent_id_typos 0s +2023-11-12T09:04:54.2289435Z ##[endgroup] +2023-11-12T09:04:54.2420053Z ##[group]/datum/unit_test/reagent_mob_expose +2023-11-12T09:04:54.2723656Z PASS /datum/unit_test/reagent_mob_expose 0s +2023-11-12T09:04:54.2726334Z ##[endgroup] +2023-11-12T09:04:54.3099472Z ##[group]/datum/unit_test/reagent_mob_procs +2023-11-12T09:04:54.3289033Z PASS /datum/unit_test/reagent_mob_procs 0s +2023-11-12T09:04:54.3291717Z ##[endgroup] +2023-11-12T09:04:54.3541628Z ##[group]/datum/unit_test/reagent_names +2023-11-12T09:04:55.1766396Z PASS /datum/unit_test/reagent_names 0.8s +2023-11-12T09:04:55.1768837Z ##[endgroup] +2023-11-12T09:04:55.2029840Z ##[group]/datum/unit_test/reagent_recipe_collisions +2023-11-12T09:04:56.8716958Z PASS /datum/unit_test/reagent_recipe_collisions 1.6s +2023-11-12T09:04:56.8718508Z ##[endgroup] +2023-11-12T09:04:56.8869144Z ##[group]/datum/unit_test/reagent_transfer +2023-11-12T09:04:56.8878975Z PASS /datum/unit_test/reagent_transfer 0s +2023-11-12T09:04:56.8880828Z ##[endgroup] +2023-11-12T09:04:56.9011226Z ##[group]/datum/unit_test/required_map_items +2023-11-12T09:04:56.9014244Z PASS /datum/unit_test/required_map_items 0s +2023-11-12T09:04:56.9016215Z ##[endgroup] +2023-11-12T09:04:56.9145903Z ##[group]/datum/unit_test/stop_drop_and_roll +2023-11-12T09:04:56.9332587Z PASS /datum/unit_test/stop_drop_and_roll 0s +2023-11-12T09:04:56.9334766Z ##[endgroup] +2023-11-12T09:04:56.9894372Z ##[group]/datum/unit_test/container_resist +2023-11-12T09:04:57.0133852Z PASS /datum/unit_test/container_resist 0.1s +2023-11-12T09:04:57.0136482Z ##[endgroup] +2023-11-12T09:04:57.0869981Z ##[group]/datum/unit_test/get_message_mods +2023-11-12T09:04:57.1036296Z PASS /datum/unit_test/get_message_mods 0.1s +2023-11-12T09:04:57.1038377Z ##[endgroup] +2023-11-12T09:04:57.1761766Z ##[group]/datum/unit_test/say_signal +2023-11-12T09:04:57.1785738Z PASS /datum/unit_test/say_signal 0s +2023-11-12T09:04:57.1787867Z ##[endgroup] +2023-11-12T09:04:57.2275108Z ##[group]/datum/unit_test/translate_language +2023-11-12T09:04:57.2445118Z PASS /datum/unit_test/translate_language 0s +2023-11-12T09:04:57.2447197Z ##[endgroup] +2023-11-12T09:04:57.2776300Z ##[group]/datum/unit_test/speech +2023-11-12T09:04:57.3273922Z PASS /datum/unit_test/speech 0.1s +2023-11-12T09:04:57.3276048Z ##[endgroup] +2023-11-12T09:04:57.3648311Z ##[group]/datum/unit_test/screenshot_antag_icons +2023-11-12T09:04:57.3655596Z screenshot_antag_icons_cyberpolice was put in data/screenshots_new +2023-11-12T09:04:57.3668195Z screenshot_antag_icons_fugitive was put in data/screenshots_new +2023-11-12T09:04:57.3673743Z screenshot_antag_icons_loneoperative was put in data/screenshots_new +2023-11-12T09:04:57.3918428Z screenshot_antag_icons_sentiencepotionspawn was put in data/screenshots_new +2023-11-12T09:04:57.3925180Z screenshot_antag_icons_traitor was put in data/screenshots_new +2023-11-12T09:04:57.4212360Z screenshot_antag_icons_malfai was put in data/screenshots_new +2023-11-12T09:04:57.4244403Z screenshot_antag_icons_bloodbrother was put in data/screenshots_new +2023-11-12T09:04:57.4250630Z screenshot_antag_icons_changeling was put in data/screenshots_new +2023-11-12T09:04:57.4282149Z screenshot_antag_icons_heretic was put in data/screenshots_new +2023-11-12T09:04:57.4292701Z screenshot_antag_icons_wizard was put in data/screenshots_new +2023-11-12T09:04:57.4322992Z screenshot_antag_icons_cultist was put in data/screenshots_new +2023-11-12T09:04:57.4335181Z screenshot_antag_icons_operative was put in data/screenshots_new +2023-11-12T09:04:57.4347253Z screenshot_antag_icons_clownoperative was put in data/screenshots_new +2023-11-12T09:04:57.4360316Z screenshot_antag_icons_headrevolutionary was put in data/screenshots_new +2023-11-12T09:04:57.4362553Z screenshot_antag_icons_syndicateinfiltrator was put in data/screenshots_new +2023-11-12T09:04:57.4364249Z screenshot_antag_icons_provocateur was put in data/screenshots_new +2023-11-12T09:04:57.4365976Z screenshot_antag_icons_hereticsmuggler was put in data/screenshots_new +2023-11-12T09:04:57.4367872Z screenshot_antag_icons_stowawaychangeling was put in data/screenshots_new +2023-11-12T09:04:57.4369724Z screenshot_antag_icons_wizardmidround was put in data/screenshots_new +2023-11-12T09:04:57.4371538Z screenshot_antag_icons_operativemidround was put in data/screenshots_new +2023-11-12T09:04:57.4836255Z screenshot_antag_icons_blob was put in data/screenshots_new +2023-11-12T09:04:57.4913104Z screenshot_antag_icons_xenomorph was put in data/screenshots_new +2023-11-12T09:04:57.4918547Z screenshot_antag_icons_nightmare was put in data/screenshots_new +2023-11-12T09:04:57.4972641Z screenshot_antag_icons_spacedragon was put in data/screenshots_new +2023-11-12T09:04:57.4978863Z screenshot_antag_icons_abductor was put in data/screenshots_new +2023-11-12T09:04:57.4984390Z screenshot_antag_icons_spaceninja was put in data/screenshots_new +2023-11-12T09:04:57.5142179Z screenshot_antag_icons_revenant was put in data/screenshots_new +2023-11-12T09:04:57.5158225Z screenshot_antag_icons_sentientdisease was put in data/screenshots_new +2023-11-12T09:04:57.5164048Z screenshot_antag_icons_changelingmidround was put in data/screenshots_new +2023-11-12T09:04:57.5175747Z screenshot_antag_icons_paradoxclone was put in data/screenshots_new +2023-11-12T09:04:57.5177675Z screenshot_antag_icons_syndicatesleeperagent was put in data/screenshots_new +2023-11-12T09:04:57.5295585Z screenshot_antag_icons_blobinfection was put in data/screenshots_new +2023-11-12T09:04:57.5313285Z screenshot_antag_icons_obsessed was put in data/screenshots_new +2023-11-12T09:04:57.5315517Z screenshot_antag_icons_malfaimidround was put in data/screenshots_new +2023-11-12T09:04:57.5319787Z PASS /datum/unit_test/screenshot_antag_icons 0.2s +2023-11-12T09:04:57.5322595Z ##[endgroup] +2023-11-12T09:04:57.5541756Z ##[group]/datum/unit_test/screenshot_basic +2023-11-12T09:04:57.5545037Z screenshot_basic_red was put in data/screenshots_new +2023-11-12T09:04:57.5548126Z PASS /datum/unit_test/screenshot_basic 0s +2023-11-12T09:04:57.5550758Z ##[endgroup] +2023-11-12T09:04:57.5683479Z ##[group]/datum/unit_test/screenshot_dynamic_human_icons +2023-11-12T09:04:57.8350756Z screenshot_dynamic_human_icons_syndicate_commando was put in data/screenshots_new +2023-11-12T09:04:57.8354817Z PASS /datum/unit_test/screenshot_dynamic_human_icons 0.3s +2023-11-12T09:04:57.8357024Z ##[endgroup] +2023-11-12T09:04:57.8497778Z ##[group]/datum/unit_test/screenshot_humanoids +2023-11-12T09:04:58.2541589Z screenshot_humanoids__datum_species_lizard was put in data/screenshots_new +2023-11-12T09:04:58.8071729Z screenshot_humanoids__datum_species_moth was put in data/screenshots_new +2023-11-12T09:04:59.0481483Z screenshot_humanoids__datum_species_shadow was put in data/screenshots_new +2023-11-12T09:04:59.2204964Z screenshot_humanoids__datum_species_shadow_nightmare was put in data/screenshots_new +2023-11-12T09:04:59.4446438Z screenshot_humanoids__datum_species_abductor was put in data/screenshots_new +2023-11-12T09:04:59.9025529Z screenshot_humanoids__datum_species_human was put in data/screenshots_new +2023-11-12T09:05:00.3720324Z screenshot_humanoids__datum_species_human_tallboy was put in data/screenshots_new +2023-11-12T09:05:00.8410192Z screenshot_humanoids__datum_species_human_felinid was put in data/screenshots_new +2023-11-12T09:05:01.3919326Z screenshot_humanoids__datum_species_human_krokodil_addict was put in data/screenshots_new +2023-11-12T09:05:01.5050044Z screenshot_humanoids__datum_species_monkey was put in data/screenshots_new +2023-11-12T09:05:01.6332131Z screenshot_humanoids__datum_species_monkey_human_legged was put in data/screenshots_new +2023-11-12T09:05:01.8078163Z screenshot_humanoids__datum_species_monkey_monkey_freak was put in data/screenshots_new +2023-11-12T09:05:01.9204604Z screenshot_humanoids__datum_species_monkey_holodeck was put in data/screenshots_new +2023-11-12T09:05:02.2703729Z screenshot_humanoids__datum_species_android was put in data/screenshots_new +2023-11-12T09:05:02.5066397Z screenshot_humanoids__datum_species_dullahan was put in data/screenshots_new +2023-11-12T09:05:02.8821597Z screenshot_humanoids__datum_species_ethereal was put in data/screenshots_new +2023-11-12T09:05:03.0618503Z screenshot_humanoids__datum_species_ethereal_lustrous was put in data/screenshots_new +2023-11-12T09:05:03.6054858Z screenshot_humanoids__datum_species_fly was put in data/screenshots_new +2023-11-12T09:05:03.7723456Z screenshot_humanoids__datum_species_golem was put in data/screenshots_new +2023-11-12T09:05:04.2399263Z screenshot_humanoids__datum_species_jelly was put in data/screenshots_new +2023-11-12T09:05:04.7039511Z screenshot_humanoids__datum_species_jelly_slime was put in data/screenshots_new +2023-11-12T09:05:05.1607461Z screenshot_humanoids__datum_species_jelly_luminescent was put in data/screenshots_new +2023-11-12T09:05:05.6194475Z screenshot_humanoids__datum_species_jelly_stargazer was put in data/screenshots_new +2023-11-12T09:05:05.9809404Z screenshot_humanoids__datum_species_lizard_ashwalker was put in data/screenshots_new +2023-11-12T09:05:06.3898218Z screenshot_humanoids__datum_species_lizard_silverscale was put in data/screenshots_new +2023-11-12T09:05:06.6851305Z screenshot_humanoids__datum_species_mush was put in data/screenshots_new +2023-11-12T09:05:07.0392950Z screenshot_humanoids__datum_species_plasmaman was put in data/screenshots_new +2023-11-12T09:05:07.5136767Z screenshot_humanoids__datum_species_pod was put in data/screenshots_new +2023-11-12T09:05:07.7567133Z screenshot_humanoids__datum_species_skeleton was put in data/screenshots_new +2023-11-12T09:05:08.2342975Z screenshot_humanoids__datum_species_snail was put in data/screenshots_new +2023-11-12T09:05:08.6975763Z screenshot_humanoids__datum_species_vampire was put in data/screenshots_new +2023-11-12T09:05:09.2496544Z screenshot_humanoids__datum_species_zombie was put in data/screenshots_new +2023-11-12T09:05:09.8588009Z screenshot_humanoids__datum_species_zombie_infectious was put in data/screenshots_new +2023-11-12T09:05:09.8591473Z PASS /datum/unit_test/screenshot_humanoids 12s +2023-11-12T09:05:09.8593884Z ##[endgroup] +2023-11-12T09:05:10.3359233Z ##[group]/datum/unit_test/screenshot_husk +2023-11-12T09:05:10.4814584Z screenshot_husk_body was put in data/screenshots_new +2023-11-12T09:05:10.5100421Z screenshot_husk_body_missing_limbs was put in data/screenshots_new +2023-11-12T09:05:10.5103760Z PASS /datum/unit_test/screenshot_husk 0.2s +2023-11-12T09:05:10.5105844Z ##[endgroup] +2023-11-12T09:05:10.5738946Z ##[group]/datum/unit_test/screenshot_saturnx +2023-11-12T09:05:10.7302951Z screenshot_saturnx_invisibility was put in data/screenshots_new +2023-11-12T09:05:10.7306714Z PASS /datum/unit_test/screenshot_saturnx 0.2s +2023-11-12T09:05:10.7309565Z ##[endgroup] +2023-11-12T09:05:10.7993117Z ##[group]/datum/unit_test/security_levels +2023-11-12T09:05:10.7995233Z PASS /datum/unit_test/security_levels 0s +2023-11-12T09:05:10.7997473Z ##[endgroup] +2023-11-12T09:05:10.8718075Z ##[group]/datum/unit_test/security_officer_roundstart_distribution +2023-11-12T09:05:10.9829621Z PASS /datum/unit_test/security_officer_roundstart_distribution 0.1s +2023-11-12T09:05:10.9831233Z ##[endgroup] +2023-11-12T09:05:11.0917739Z ##[group]/datum/unit_test/security_officer_latejoin_distribution +2023-11-12T09:05:11.3756560Z PASS /datum/unit_test/security_officer_latejoin_distribution 0.3s +2023-11-12T09:05:11.3757917Z ##[endgroup] +2023-11-12T09:05:11.6159233Z ##[group]/datum/unit_test/servingtray +2023-11-12T09:05:11.6420663Z PASS /datum/unit_test/servingtray 0s +2023-11-12T09:05:11.6422707Z ##[endgroup] +2023-11-12T09:05:11.6722939Z ##[group]/datum/unit_test/simple_animal_freeze +2023-11-12T09:05:11.6727308Z PASS /datum/unit_test/simple_animal_freeze 0s +2023-11-12T09:05:11.6729459Z ##[endgroup] +2023-11-12T09:05:11.6858248Z ##[group]/datum/unit_test/siunit +2023-11-12T09:05:11.6862565Z PASS /datum/unit_test/siunit 0s +2023-11-12T09:05:11.6864627Z ##[endgroup] +2023-11-12T09:05:11.6994032Z ##[group]/datum/unit_test/slime_mood +2023-11-12T09:05:11.7086306Z PASS /datum/unit_test/slime_mood 0.1s +2023-11-12T09:05:11.7089418Z ##[endgroup] +2023-11-12T09:05:11.7646724Z ##[group]/datum/unit_test/slips +2023-11-12T09:05:11.7998254Z PASS /datum/unit_test/slips 0s +2023-11-12T09:05:11.7999914Z ##[endgroup] +2023-11-12T09:05:11.8832258Z ##[group]/datum/unit_test/spawn_humans +2023-11-12T09:05:16.9174068Z PASS /datum/unit_test/spawn_humans 5.1s +2023-11-12T09:05:16.9175480Z ##[endgroup] +2023-11-12T09:05:16.9826971Z ##[group]/datum/unit_test/human_default_traits +2023-11-12T09:05:16.9992542Z PASS /datum/unit_test/human_default_traits 0s +2023-11-12T09:05:16.9994648Z ##[endgroup] +2023-11-12T09:05:17.0453589Z ##[group]/datum/unit_test/spawn_mobs +2023-11-12T09:05:17.3110840Z PASS /datum/unit_test/spawn_mobs 0.3s +2023-11-12T09:05:17.3113201Z ##[endgroup] +2023-11-12T09:05:17.8604911Z ##[group]/datum/unit_test/species_change_clothing +2023-11-12T09:05:18.0037169Z PASS /datum/unit_test/species_change_clothing 0.2s +2023-11-12T09:05:18.0039927Z ##[endgroup] +2023-11-12T09:05:18.0594811Z ##[group]/datum/unit_test/species_change_held_items +2023-11-12T09:05:18.1241794Z PASS /datum/unit_test/species_change_held_items 0.1s +2023-11-12T09:05:18.1244171Z ##[endgroup] +2023-11-12T09:05:18.1531271Z ##[group]/datum/unit_test/species_change_organs +2023-11-12T09:05:18.2175195Z PASS /datum/unit_test/species_change_organs 0.1s +2023-11-12T09:05:18.2177564Z ##[endgroup] +2023-11-12T09:05:18.2917259Z ##[group]/datum/unit_test/species_config_sanity +2023-11-12T09:05:18.2920181Z PASS /datum/unit_test/species_config_sanity 0s +2023-11-12T09:05:18.2922846Z ##[endgroup] +2023-11-12T09:05:18.3062818Z ##[group]/datum/unit_test/species_unique_id +2023-11-12T09:05:18.3065971Z PASS /datum/unit_test/species_unique_id 0s +2023-11-12T09:05:18.3068171Z ##[endgroup] +2023-11-12T09:05:18.3222639Z ##[group]/datum/unit_test/species_whitelist_check +2023-11-12T09:05:18.3225988Z PASS /datum/unit_test/species_whitelist_check 0s +2023-11-12T09:05:18.3228060Z ##[endgroup] +2023-11-12T09:05:18.3393256Z ##[group]/datum/unit_test/spell_invocations +2023-11-12T09:05:18.3397536Z PASS /datum/unit_test/spell_invocations 0s +2023-11-12T09:05:18.3400085Z ##[endgroup] +2023-11-12T09:05:18.3530030Z ##[group]/datum/unit_test/shadow_jaunt +2023-11-12T09:05:18.3711590Z PASS /datum/unit_test/shadow_jaunt 0s +2023-11-12T09:05:18.3713925Z ##[endgroup] +2023-11-12T09:05:18.4080468Z ##[group]/datum/unit_test/mind_swap_spell +2023-11-12T09:05:18.4445059Z PASS /datum/unit_test/mind_swap_spell 0s +2023-11-12T09:05:18.4447973Z ##[endgroup] +2023-11-12T09:05:18.4831097Z ##[group]/datum/unit_test/spell_names +2023-11-12T09:05:18.4836690Z PASS /datum/unit_test/spell_names 0s +2023-11-12T09:05:18.4839793Z ##[endgroup] +2023-11-12T09:05:18.4973281Z ##[group]/datum/unit_test/shapeshift_spell_validity +2023-11-12T09:05:18.4982346Z PASS /datum/unit_test/shapeshift_spell_validity 0s +2023-11-12T09:05:18.4985502Z ##[endgroup] +2023-11-12T09:05:18.5118193Z ##[group]/datum/unit_test/shapeshift_spell +2023-11-12T09:05:31.3590354Z PASS /datum/unit_test/shapeshift_spell 12.8s +2023-11-12T09:05:31.3593257Z ##[endgroup] +2023-11-12T09:05:31.3839062Z ##[group]/datum/unit_test/shapeshift_holoparasites +2023-11-12T09:05:31.4236915Z PASS /datum/unit_test/shapeshift_holoparasites 0.1s +2023-11-12T09:05:31.4240548Z ##[endgroup] +2023-11-12T09:05:31.4609174Z ##[group]/datum/unit_test/shapeshift_health +2023-11-12T09:05:32.0958569Z PASS /datum/unit_test/shapeshift_health 0.6s +2023-11-12T09:05:32.0961165Z ##[endgroup] +2023-11-12T09:05:32.2270540Z ##[group]/datum/unit_test/spritesheets +2023-11-12T09:05:32.2310129Z PASS /datum/unit_test/spritesheets 0s +2023-11-12T09:05:32.2313287Z ##[endgroup] +2023-11-12T09:05:32.2444065Z ##[group]/datum/unit_test/stack_singular_name +2023-11-12T09:05:32.2449554Z PASS /datum/unit_test/stack_singular_name 0s +2023-11-12T09:05:32.2452311Z ##[endgroup] +2023-11-12T09:05:32.2582343Z ##[group]/datum/unit_test/station_traits +2023-11-12T09:05:32.2586458Z PASS /datum/unit_test/station_traits 0s +2023-11-12T09:05:32.2589532Z ##[endgroup] +2023-11-12T09:05:32.3273087Z ##[group]/datum/unit_test/status_effect_ticks +2023-11-12T09:05:32.3278478Z PASS /datum/unit_test/status_effect_ticks 0s +2023-11-12T09:05:32.3282046Z ##[endgroup] +2023-11-12T09:05:32.3883615Z ##[group]/datum/unit_test/stomach +2023-11-12T09:05:32.4148653Z PASS /datum/unit_test/stomach 0.1s +2023-11-12T09:05:32.4152041Z ##[endgroup] +2023-11-12T09:05:32.4474665Z ##[group]/datum/unit_test/strip_menu_ui_status +2023-11-12T09:05:32.4955743Z PASS /datum/unit_test/strip_menu_ui_status 0s +2023-11-12T09:05:32.4959231Z ##[endgroup] +2023-11-12T09:05:32.5763081Z ##[group]/datum/unit_test/stun +2023-11-12T09:05:32.5938628Z PASS /datum/unit_test/stun 0s +2023-11-12T09:05:32.5941798Z ##[endgroup] +2023-11-12T09:05:32.6174955Z ##[group]/datum/unit_test/knockdown +2023-11-12T09:05:32.6344357Z PASS /datum/unit_test/knockdown 0s +2023-11-12T09:05:32.6347424Z ##[endgroup] +2023-11-12T09:05:32.6656807Z ##[group]/datum/unit_test/paralyze +2023-11-12T09:05:32.6830553Z PASS /datum/unit_test/paralyze 0s +2023-11-12T09:05:32.6834151Z ##[endgroup] +2023-11-12T09:05:32.7067888Z ##[group]/datum/unit_test/unconsciousness +2023-11-12T09:05:32.7247146Z PASS /datum/unit_test/unconsciousness 0s +2023-11-12T09:05:32.7250770Z ##[endgroup] +2023-11-12T09:05:32.7494899Z ##[group]/datum/unit_test/stun_absorb +2023-11-12T09:05:32.7661160Z PASS /datum/unit_test/stun_absorb 0s +2023-11-12T09:05:32.7664703Z ##[endgroup] +2023-11-12T09:05:32.7898786Z ##[group]/datum/unit_test/subsystem_init +2023-11-12T09:05:32.7903149Z PASS /datum/unit_test/subsystem_init 0s +2023-11-12T09:05:32.7906701Z ##[endgroup] +2023-11-12T09:05:32.8135238Z ##[group]/datum/unit_test/suit_storage_icons +2023-11-12T09:05:34.6162263Z 1 - /obj/item/gun/ballistic/shotgun/hook using invalid icon_state, "hookshotgun" +2023-11-12T09:05:34.6285969Z 2 - /obj/item/gun/ballistic/automatic/surplus using invalid icon_state, "surplus" +2023-11-12T09:05:34.6466661Z 3 - /obj/item/melee/baton/security/cattleprod/telecrystalprod using invalid icon_state, "telecrystalprod" +2023-11-12T09:05:34.6533245Z 4 - /obj/item/melee/sickly_blade/void using invalid icon_state, "void_blade" +2023-11-12T09:05:34.6538232Z 5 - /obj/item/melee/sickly_blade/cosmic using invalid icon_state, "cosmic_blade" +2023-11-12T09:05:34.6541373Z 6 - /obj/item/melee/sickly_blade/lock using invalid icon_state, "key_blade" +2023-11-12T09:05:34.6628237Z 7 - /obj/item/radio/headset/syndicate/alt using invalid worn_icon_state, "syndie_headset" +2023-11-12T09:05:34.6633020Z 8 - /obj/item/radio/headset/headset_sec using invalid worn_icon_state, "sec_headset" +2023-11-12T09:05:34.6636156Z 9 - /obj/item/radio/headset/headset_sec/alt using invalid worn_icon_state, "sec_headset_alt" +2023-11-12T09:05:34.6639243Z 10 - /obj/item/radio/headset/headset_eng using invalid worn_icon_state, "eng_headset" +2023-11-12T09:05:34.6642514Z 11 - /obj/item/radio/headset/headset_rob using invalid worn_icon_state, "rob_headset" +2023-11-12T09:05:34.6645779Z 12 - /obj/item/radio/headset/headset_med using invalid worn_icon_state, "med_headset" +2023-11-12T09:05:34.6649005Z 13 - /obj/item/radio/headset/headset_sci using invalid worn_icon_state, "sci_headset" +2023-11-12T09:05:34.6652244Z 14 - /obj/item/radio/headset/headset_medsci using invalid worn_icon_state, "medsci_headset" +2023-11-12T09:05:34.6655462Z 15 - /obj/item/radio/headset/headset_srvsec using invalid worn_icon_state, "srvsec_headset" +2023-11-12T09:05:34.6658687Z 16 - /obj/item/radio/headset/headset_srvmed using invalid worn_icon_state, "srv_headset" +2023-11-12T09:05:34.6661917Z 17 - /obj/item/radio/headset/headset_com using invalid worn_icon_state, "com_headset" +2023-11-12T09:05:34.6667219Z 18 - /obj/item/radio/headset/heads/captain/alt using invalid worn_icon_state, "com_headset_alt" +2023-11-12T09:05:34.6670732Z 19 - /obj/item/radio/headset/headset_cargo using invalid worn_icon_state, "cargo_headset" +2023-11-12T09:05:34.6673230Z 20 - /obj/item/radio/headset/headset_cargo/mining using invalid worn_icon_state, "mine_headset" +2023-11-12T09:05:34.6675625Z 21 - /obj/item/radio/headset/headset_cent using invalid worn_icon_state, "cent_headset" +2023-11-12T09:05:34.6678128Z 22 - /obj/item/radio/headset/headset_cent/alt using invalid worn_icon_state, "cent_headset_alt" +2023-11-12T09:05:34.6972394Z 23 - /obj/item/toy/foam_runic_scepter using invalid worn_icon_state, "vendor_staff" +2023-11-12T09:05:34.7033817Z 24 - /obj/item/cultivator/rake using invalid icon_state, "rake" +2023-11-12T09:05:34.7038164Z 25 - /obj/item/hatchet/wooden using invalid icon_state, "woodhatchet" +2023-11-12T09:05:34.7039900Z 26 - /obj/item/hatchet/cutterblade using invalid icon_state, "cutterblade" +2023-11-12T09:05:34.7408592Z 27 - /obj/item/access_key using invalid icon_state, "access_key" +2023-11-12T09:05:34.7458044Z 28 - /obj/item/key/janitor using invalid icon_state, "keyjanitor" +2023-11-12T09:05:34.8393427Z 29 - /obj/item/universal_scanner using invalid icon_state, "export scanner" +2023-11-12T09:05:34.8476665Z 30 - /obj/item/nullrod/tribal_knife using invalid icon_state, "crysknife" +2023-11-12T09:05:34.8491387Z 31 - /obj/item/organ/internal/monster_core using invalid icon_state, "hivelord_core" +2023-11-12T09:05:34.8493709Z 32 - /obj/item/organ/internal/monster_core/brimdust_sac using invalid icon_state, "brim_sac" +2023-11-12T09:05:34.8496411Z 33 - /obj/item/organ/internal/monster_core/regenerative_core/legion using invalid icon_state, "legion_core" +2023-11-12T09:05:34.8498777Z 34 - /obj/item/organ/internal/monster_core/rush_gland using invalid icon_state, "lobster_gland" +2023-11-12T09:05:34.8538527Z 35 - /obj/item/abductor/gizmo using invalid icon_state, "gizmo_scan" +2023-11-12T09:05:34.8540751Z 36 - /obj/item/abductor/silencer using invalid icon_state, "silencer" +2023-11-12T09:05:34.8543252Z 37 - /obj/item/abductor/mind_device using invalid icon_state, "mind_device_message" +2023-11-12T09:05:34.8545406Z 38 - /obj/item/abductor/alien_omnitool using invalid icon_state, "omnitool" +2023-11-12T09:05:34.8552089Z 39 - /obj/item/banner using invalid icon_state, "banner" +2023-11-12T09:05:34.8554713Z 40 - /obj/item/banner/security using invalid icon_state, "banner_security" +2023-11-12T09:05:34.8557066Z 41 - /obj/item/banner/medical using invalid icon_state, "banner_medical" +2023-11-12T09:05:34.8559349Z 42 - /obj/item/banner/science using invalid icon_state, "banner_science" +2023-11-12T09:05:34.8561592Z 43 - /obj/item/banner/cargo using invalid icon_state, "banner_cargo" +2023-11-12T09:05:34.8564170Z 44 - /obj/item/banner/engineering using invalid icon_state, "banner_engineering" +2023-11-12T09:05:34.8566536Z 45 - /obj/item/banner/red using invalid icon_state, "banner-red" +2023-11-12T09:05:34.8568980Z 46 - /obj/item/banner/blue using invalid icon_state, "banner-blue" +2023-11-12T09:05:34.8576281Z 47 - /obj/item/claymore/cutlass using invalid worn_icon_state, "cutlass" +2023-11-12T09:05:34.8580270Z 48 - /obj/item/claymore/highlander/robot using invalid icon_state, "claymore_cyborg" +2023-11-12T09:05:34.8582334Z 49 - /obj/item/pillow using invalid icon_state, "pillow_1_t" +2023-11-12T09:05:34.8584899Z 50 - /obj/item/pillow/clown using invalid icon_state, "pillow_5_t" +2023-11-12T09:05:34.8587221Z 51 - /obj/item/pillow/mime using invalid icon_state, "pillow_6_t" +2023-11-12T09:05:34.8626613Z 52 - /obj/item/gun/magic/staff/chaos/true_wabbajack using invalid icon_state, "the_wabbajack" +2023-11-12T09:05:34.8633965Z 53 - /obj/item/gun/magic/staff/locker using invalid worn_icon_state, "lockerstaff" +2023-11-12T09:05:34.8636381Z 54 - /obj/item/gun/magic/staff/flying using invalid worn_icon_state, "flightstaff" +2023-11-12T09:05:34.8657485Z 55 - /obj/item/melee/energy/sword/pirate using invalid icon_state, "e_cutlass" +2023-11-12T09:05:34.8659958Z 56 - /obj/item/clothing/glasses/eyepatch using invalid icon_state, "eyepatch" +2023-11-12T09:05:34.8662250Z 57 - /obj/item/clothing/glasses/eyepatch/medical using invalid icon_state, "eyepatch_medical" +2023-11-12T09:05:34.8976969Z 58 - /obj/item/melee/energy/sword using invalid icon_state, "e_sword" +2023-11-12T09:05:34.8979094Z 59 - /obj/item/melee/energy/sword/cyborg/saw using invalid icon_state, "esaw" +2023-11-12T09:05:34.8988519Z 60 - /obj/item/tank/jetpack/improvised using invalid worn_icon_state, "jetpack-improvised" +2023-11-12T09:05:34.8993419Z 61 - /obj/item/multitool using invalid icon_state, "multitool" +2023-11-12T09:05:34.8996418Z 62 - /obj/item/multitool/cyborg using invalid icon_state, "multitool_cyborg" +2023-11-12T09:05:34.8998725Z 63 - /obj/item/multitool/circuit using invalid icon_state, "multitool_circuit" +2023-11-12T09:05:34.9001342Z 64 - /obj/item/assembly/flash/handheld using invalid icon_state, "flash" +2023-11-12T09:05:34.9004166Z 65 - /obj/item/clothing/mask/cigarette using invalid icon_state, "cigoff" +2023-11-12T09:05:34.9006481Z 66 - /obj/item/clothing/mask/cigarette/rollie using invalid icon_state, "spliffoff" +2023-11-12T09:05:34.9008788Z 67 - /obj/item/clothing/mask/cigarette/candy using invalid icon_state, "candyoff" +2023-11-12T09:05:34.9011087Z 68 - /obj/item/clothing/mask/cigarette/cigar using invalid icon_state, "cigaroff" +2023-11-12T09:05:34.9013684Z 69 - /obj/item/clothing/mask/cigarette/cigar/cohiba using invalid icon_state, "cigar2off" +2023-11-12T09:05:34.9016282Z 70 - /obj/item/clothing/mask/cigarette/pipe using invalid icon_state, "pipeoff" +2023-11-12T09:05:34.9019334Z 71 - /obj/item/clothing/mask/cigarette/pipe/cobpipe using invalid icon_state, "cobpipeoff" +2023-11-12T09:05:34.9021398Z 72 - /obj/item/disk using invalid icon_state, "datadisk0" +2023-11-12T09:05:34.9023878Z 73 - /obj/item/disk/holodisk using invalid icon_state, "holodisk" +2023-11-12T09:05:34.9026566Z 74 - /obj/item/disk/nuclear using invalid icon_state, "nucleardisk" +2023-11-12T09:05:34.9029044Z 75 - /obj/item/disk/surgery using invalid icon_state, "datadisk1" +2023-11-12T09:05:34.9031722Z 76 - /obj/item/disk/cargo/bluespace_pod using invalid icon_state, "cargodisk" +2023-11-12T09:05:34.9034253Z 77 - /obj/item/disk/design_disk/bepis using invalid icon_state, "rndmajordisk" +2023-11-12T09:05:34.9036755Z 78 - /obj/item/melee/powerfist using invalid icon_state, "powerfist" +2023-11-12T09:05:34.9044549Z 79 - /obj/item/melee/skateboard using invalid icon_state, "skateboard_held" +2023-11-12T09:05:34.9047217Z 80 - /obj/item/melee/skateboard/pro using invalid icon_state, "skateboard2_held" +2023-11-12T09:05:34.9049673Z 81 - /obj/item/melee/skateboard/hoverboard using invalid icon_state, "hoverboard_red_held" +2023-11-12T09:05:34.9052014Z 82 - /obj/item/melee/skateboard/hoverboard/admin using invalid icon_state, "hoverboard_nt_held" +2023-11-12T09:05:34.9054102Z 83 - /obj/item/melee/baseball_bat using invalid icon_state, "baseball_bat" +2023-11-12T09:05:34.9056494Z 84 - /obj/item/melee/baseball_bat/homerun using invalid icon_state, "baseball_bat_home" +2023-11-12T09:05:34.9058758Z 85 - /obj/item/melee/baseball_bat/ablative using invalid icon_state, "baseball_bat_metal" +2023-11-12T09:05:34.9061041Z 86 - /obj/item/melee/flyswatter using invalid icon_state, "flyswatter" +2023-11-12T09:05:34.9065209Z 87 - /obj/item/melee/energy/axe using invalid icon_state, "axe" +2023-11-12T09:05:34.9067917Z 88 - /obj/item/melee/energy/blade using invalid icon_state, "blade" +2023-11-12T09:05:34.9070409Z 89 - /obj/item/melee/energy/blade/hardlight using invalid icon_state, "lightblade" +2023-11-12T09:05:34.9072647Z 90 - /obj/item/melee/synthetic_arm_blade using invalid icon_state, "arm_blade" +2023-11-12T09:05:34.9074881Z 91 - /obj/item/melee/sabre using invalid icon_state, "sabre" +2023-11-12T09:05:34.9077162Z 92 - /obj/item/melee/beesword using invalid worn_icon_state, "stinger" +2023-11-12T09:05:34.9079597Z 93 - /obj/item/melee/supermatter_sword using invalid icon_state, "supermatter_sword_balanced" +2023-11-12T09:05:34.9085130Z 94 - /obj/item/melee/cleric_mace using invalid worn_icon_state, "default_worn" +2023-11-12T09:05:34.9087426Z 95 - /obj/item/melee/rune_carver using invalid icon_state, "rune_carver" +2023-11-12T09:05:34.9089642Z 96 - /obj/item/melee/ghost_sword using invalid icon_state, "spectral" +2023-11-12T09:05:34.9099563Z 97 - /obj/item/storage/lockbox/medal using invalid icon_state, "medalbox+l" +2023-11-12T09:05:34.9101839Z 98 - /obj/item/storage/bag/trash using invalid icon_state, "trashbag" +2023-11-12T09:05:34.9104337Z 99 - /obj/item/storage/bag/trash/bluespace using invalid icon_state, "bluetrashbag" +2023-11-12T09:05:34.9106526Z 100 - /obj/item/cane using invalid icon_state, "cane" +2023-11-12T09:05:34.9109148Z 101 - /obj/item/cane/white using invalid icon_state, "cane_white" +2023-11-12T09:05:34.9127968Z 102 - /obj/item/clothing/mask/facehugger/toy using invalid worn_icon_state, "facehugger" +2023-11-12T09:05:34.9129996Z 103 - /obj/item/kitchen/fork using invalid icon_state, "fork" +2023-11-12T09:05:34.9132741Z 104 - /obj/item/kitchen/fork/plastic using invalid icon_state, "plastic_fork" +2023-11-12T09:05:34.9137903Z 105 - /obj/item/kitchen/spoon using invalid icon_state, "spoon" +2023-11-12T09:05:34.9140308Z 106 - /obj/item/kitchen/spoon/plastic using invalid icon_state, "plastic_spoon" +2023-11-12T09:05:34.9142537Z 107 - /obj/item/kitchen/spoon/soup_ladle using invalid icon_state, "ladle" +2023-11-12T09:05:34.9144673Z 108 - /obj/item/kitchen/tongs using invalid icon_state, "tongs" +2023-11-12T09:05:34.9192479Z 109 - /obj/item/bonesetter using invalid icon_state, "bonesetter" +2023-11-12T09:05:34.9194966Z 110 - /obj/item/cautery using invalid icon_state, "cautery" +2023-11-12T09:05:34.9197552Z 111 - /obj/item/cautery/advanced using invalid icon_state, "e_cautery" +2023-11-12T09:05:34.9200017Z 112 - /obj/item/cautery/cruel using invalid icon_state, "cruelcautery" +2023-11-12T09:05:34.9202572Z 113 - /obj/item/hemostat using invalid icon_state, "hemostat" +2023-11-12T09:05:34.9205055Z 114 - /obj/item/hemostat/supermatter using invalid icon_state, "supermatter_tongs" +2023-11-12T09:05:34.9207385Z 115 - /obj/item/hemostat/cruel using invalid icon_state, "cruelhemostat" +2023-11-12T09:05:34.9209542Z 116 - /obj/item/retractor using invalid icon_state, "retractor" +2023-11-12T09:05:34.9211950Z 117 - /obj/item/retractor/advanced using invalid icon_state, "adv_retractor" +2023-11-12T09:05:34.9214520Z 118 - /obj/item/retractor/cruel using invalid icon_state, "cruelretractor" +2023-11-12T09:05:34.9216984Z 119 - /obj/item/scalpel using invalid icon_state, "scalpel" +2023-11-12T09:05:34.9219596Z 120 - /obj/item/scalpel/supermatter using invalid icon_state, "supermatter_scalpel" +2023-11-12T09:05:34.9221828Z 121 - /obj/item/scalpel/advanced using invalid icon_state, "e_scalpel" +2023-11-12T09:05:34.9224110Z 122 - /obj/item/scalpel/cruel using invalid icon_state, "cruelscalpel" +2023-11-12T09:05:34.9226426Z 123 - /obj/item/surgical_drapes using invalid icon_state, "surgical_drapes" +2023-11-12T09:05:34.9230490Z 124 - /obj/item/crowbar/mechremoval using invalid icon_state, "mechremoval0" +2023-11-12T09:05:34.9245013Z 125 - /obj/item/crowbar/hammer using invalid icon_state, "clawhammer" +2023-11-12T09:05:34.9274002Z PASS /datum/unit_test/suit_storage_icons 2.1s +2023-11-12T09:05:34.9277303Z ##[endgroup] +2023-11-12T09:05:35.0051949Z ##[group]/datum/unit_test/amputation +2023-11-12T09:05:35.0418593Z PASS /datum/unit_test/amputation 0s +2023-11-12T09:05:35.0421400Z ##[endgroup] +2023-11-12T09:05:35.0919237Z ##[group]/datum/unit_test/brain_surgery +2023-11-12T09:05:35.1251285Z PASS /datum/unit_test/brain_surgery 0.1s +2023-11-12T09:05:35.1254329Z ##[endgroup] +2023-11-12T09:05:35.1587969Z ##[group]/datum/unit_test/head_transplant +2023-11-12T09:05:35.2257286Z PASS /datum/unit_test/head_transplant 0.1s +2023-11-12T09:05:35.2260747Z ##[endgroup] +2023-11-12T09:05:35.2834393Z ##[group]/datum/unit_test/multiple_surgeries +2023-11-12T09:05:35.3338834Z PASS /datum/unit_test/multiple_surgeries 0.1s +2023-11-12T09:05:35.3341725Z ##[endgroup] +2023-11-12T09:05:35.4031367Z ##[group]/datum/unit_test/start_tend_wounds +2023-11-12T09:05:35.4361296Z PASS /datum/unit_test/start_tend_wounds 0s +2023-11-12T09:05:35.4364716Z ##[endgroup] +2023-11-12T09:05:35.4772361Z ##[group]/datum/unit_test/tend_wounds +2023-11-12T09:05:35.5590830Z PASS /datum/unit_test/tend_wounds 0.1s +2023-11-12T09:05:35.5594252Z ##[endgroup] +2023-11-12T09:05:35.6747135Z ##[group]/datum/unit_test/tail_wag +2023-11-12T09:05:35.8571590Z PASS /datum/unit_test/tail_wag 0.2s +2023-11-12T09:05:35.8574630Z ##[endgroup] +2023-11-12T09:05:35.8824009Z ##[group]/datum/unit_test/teleporter +2023-11-12T09:05:35.9106477Z PASS /datum/unit_test/teleporter 0.1s +2023-11-12T09:05:35.9109891Z ##[endgroup] +2023-11-12T09:05:35.9363555Z ##[group]/datum/unit_test/tgui_create_message +2023-11-12T09:05:35.9367522Z PASS /datum/unit_test/tgui_create_message 0s +2023-11-12T09:05:35.9370812Z ##[endgroup] +2023-11-12T09:05:35.9501436Z ##[group]/datum/unit_test/timer_sanity +2023-11-12T09:05:35.9504464Z PASS /datum/unit_test/timer_sanity 0s +2023-11-12T09:05:35.9508070Z ##[endgroup] +2023-11-12T09:05:35.9637540Z ##[group]/datum/unit_test/trait_addition_and_removal +2023-11-12T09:05:35.9642216Z PASS /datum/unit_test/trait_addition_and_removal 0s +2023-11-12T09:05:35.9645763Z ##[endgroup] +2023-11-12T09:05:35.9828636Z ##[group]/datum/unit_test/traitor +2023-11-12T09:05:37.5946953Z PASS /datum/unit_test/traitor 1.6s +2023-11-12T09:05:37.5948067Z ##[endgroup] +2023-11-12T09:05:38.4317615Z ##[group]/datum/unit_test/traitor_mail_content_check +2023-11-12T09:05:38.4490029Z PASS /datum/unit_test/traitor_mail_content_check 0s +2023-11-12T09:05:38.4491508Z ##[endgroup] +2023-11-12T09:05:38.4962906Z ##[group]/datum/unit_test/trauma_granting +2023-11-12T09:05:38.5450644Z PASS /datum/unit_test/trauma_granting 0.1s +2023-11-12T09:05:38.5452259Z ##[endgroup] +2023-11-12T09:05:38.5799327Z ##[group]/datum/unit_test/turf_icons +2023-11-12T09:05:39.0838086Z PASS /datum/unit_test/turf_icons 0.5s +2023-11-12T09:05:39.0839541Z ##[endgroup] +2023-11-12T09:05:39.1032413Z ##[group]/datum/unit_test/tutorial_sanity +2023-11-12T09:05:39.1035529Z PASS /datum/unit_test/tutorial_sanity 0s +2023-11-12T09:05:39.1037920Z ##[endgroup] +2023-11-12T09:05:39.1166898Z ##[group]/datum/unit_test/verify_config_tags +2023-11-12T09:05:39.1172282Z PASS /datum/unit_test/verify_config_tags 0s +2023-11-12T09:05:39.1174748Z ##[endgroup] +2023-11-12T09:05:39.1303312Z ##[group]/datum/unit_test/verify_emoji_names +2023-11-12T09:05:39.1306816Z PASS /datum/unit_test/verify_emoji_names 0s +2023-11-12T09:05:39.1309155Z ##[endgroup] +2023-11-12T09:05:39.1436423Z ##[group]/datum/unit_test/moth_food +2023-11-12T09:05:39.1899509Z PASS /datum/unit_test/moth_food 0s +2023-11-12T09:05:39.1901926Z ##[endgroup] +2023-11-12T09:05:39.2373626Z ##[group]/datum/unit_test/golem_food +2023-11-12T09:05:39.2647161Z PASS /datum/unit_test/golem_food 0s +2023-11-12T09:05:39.2649458Z ##[endgroup] +2023-11-12T09:05:39.2901012Z ##[group]/datum/unit_test/wizard_loadout +2023-11-12T09:05:39.3687154Z PASS /datum/unit_test/wizard_loadout 0.1s +2023-11-12T09:05:39.3689468Z ##[endgroup] +2023-11-12T09:05:39.4375880Z ##[group]/datum/unit_test/worn_icons +2023-11-12T09:05:40.0482290Z PASS /datum/unit_test/worn_icons 0.6s +2023-11-12T09:05:40.0483826Z ##[endgroup] +2023-11-12T09:05:40.0625703Z ##[group]/datum/unit_test/find_reference_sanity +2023-11-12T09:05:40.0632296Z PASS /datum/unit_test/find_reference_sanity 0s +2023-11-12T09:05:40.0634532Z ##[endgroup] +2023-11-12T09:05:40.0765341Z ##[group]/datum/unit_test/find_reference_baseline +2023-11-12T09:05:40.0771322Z PASS /datum/unit_test/find_reference_baseline 0s +2023-11-12T09:05:40.0773723Z ##[endgroup] +2023-11-12T09:05:40.0904726Z ##[group]/datum/unit_test/find_reference_exotic +2023-11-12T09:05:40.0910664Z PASS /datum/unit_test/find_reference_exotic 0s +2023-11-12T09:05:40.0913091Z ##[endgroup] +2023-11-12T09:05:40.1081989Z ##[group]/datum/unit_test/find_reference_esoteric +2023-11-12T09:05:40.1091594Z PASS /datum/unit_test/find_reference_esoteric 0s +2023-11-12T09:05:40.1093910Z ##[endgroup] +2023-11-12T09:05:40.1356236Z ##[group]/datum/unit_test/find_reference_null_key_entry +2023-11-12T09:05:40.1361917Z PASS /datum/unit_test/find_reference_null_key_entry 0s +2023-11-12T09:05:40.1364019Z ##[endgroup] +2023-11-12T09:05:40.1495527Z ##[group]/datum/unit_test/find_reference_assoc_investigation +2023-11-12T09:05:40.1501290Z PASS /datum/unit_test/find_reference_assoc_investigation 0s +2023-11-12T09:05:40.1503468Z ##[endgroup] +2023-11-12T09:05:40.1629204Z ##[group]/datum/unit_test/find_reference_static_investigation +2023-11-12T09:05:40.4955432Z PASS /datum/unit_test/find_reference_static_investigation 0.3s +2023-11-12T09:05:40.4956809Z ##[endgroup] +2023-11-12T09:05:40.5106809Z ##[group]/datum/unit_test/area_contents +2023-11-12T09:05:41.5891675Z PASS /datum/unit_test/area_contents 1s +2023-11-12T09:05:41.5893012Z ##[endgroup] +2023-11-12T09:05:41.6151445Z ##[group]/datum/unit_test/atmospherics_sanity +2023-11-12T09:05:41.6152255Z No starting areas found, defaulting... +2023-11-12T09:05:41.6155445Z Marking all station areas as goal areas due to marker at (2, 254, 2) +2023-11-12T09:05:42.2832551Z PASS /datum/unit_test/atmospherics_sanity 0.6s +2023-11-12T09:05:42.2834628Z ##[endgroup] +2023-11-12T09:05:42.3215674Z ##[group]/datum/unit_test/fish_rescue_hook +2023-11-12T09:05:49.5841266Z PASS /datum/unit_test/fish_rescue_hook 7.2s +2023-11-12T09:05:49.5842563Z ##[endgroup] +2023-11-12T09:05:49.6648561Z ##[group]/datum/unit_test/leash/no_teleport +2023-11-12T09:05:49.7264798Z PASS /datum/unit_test/leash/no_teleport 0.1s +2023-11-12T09:05:49.7267230Z ##[endgroup] +2023-11-12T09:05:49.7411212Z ##[group]/datum/unit_test/leash/will_teleport +2023-11-12T09:05:49.7421861Z PASS /datum/unit_test/leash/will_teleport 0s +2023-11-12T09:05:49.7424432Z ##[endgroup] +2023-11-12T09:05:49.7571233Z ##[group]/datum/unit_test/leash/limit_range +2023-11-12T09:05:49.7577430Z PASS /datum/unit_test/leash/limit_range 0s +2023-11-12T09:05:49.7579955Z ##[endgroup] +2023-11-12T09:05:49.7749544Z ##[group]/datum/unit_test/mapload_space_verification +2023-11-12T09:05:50.3597291Z PASS /datum/unit_test/mapload_space_verification 0.6s +2023-11-12T09:05:50.3598841Z ##[endgroup] +2023-11-12T09:05:50.3862628Z ##[group]/datum/unit_test/mob_damage +2023-11-12T09:05:50.4877049Z PASS /datum/unit_test/mob_damage 0.1s +2023-11-12T09:05:50.4878381Z ##[endgroup] +2023-11-12T09:05:50.5135873Z ##[group]/datum/unit_test/mob_damage/basic +2023-11-12T09:05:50.5174197Z PASS /datum/unit_test/mob_damage/basic 0s +2023-11-12T09:05:50.5176179Z ##[endgroup] +2023-11-12T09:05:50.5348335Z ##[group]/datum/unit_test/modify_fantasy_variable +2023-11-12T09:06:17.8433778Z PASS /datum/unit_test/modify_fantasy_variable 27.3s +2023-11-12T09:06:17.8434791Z ##[endgroup] +2023-11-12T09:06:24.9200774Z ##[group]/datum/unit_test/monkey_business +2023-11-12T09:06:44.1178950Z [09:06:44] Runtime in timer.dm,125: Invalid timer: Timer: Timer: 2433 ([0x2100859b]), TTR: 328041, wait:2 Flags: TIMER_CLIENT_TIME, TIMER_STOPPABLE, callBack: [0x2105a831], callBack.object: /datum/looping_sound/showering[0x210085b4](/datum/looping_sound/showering), callBack.delegate:/datum/looping_sound/proc/start_sound_loop(), source: code/datums/looping_sounds/_looping_sound.dm:220Prev: NULL, Next: NULL, SPENT(328041), QDELETED, NO CALLBACK world.time: 942.5, head_offset: 600, practical_offset: 686, REALTIMEOFDAY: 328041 +2023-11-12T09:06:44.1182762Z proc name: fire (/datum/controller/subsystem/timer/fire) +2023-11-12T09:06:44.1191977Z src: Sound Loops (/datum/controller/subsystem/timer/sound_loops) +2023-11-12T09:06:44.1192834Z call stack: +2023-11-12T09:06:44.1193480Z Sound Loops (/datum/controller/subsystem/timer/sound_loops): fire(0) +2023-11-12T09:06:44.1194547Z Sound Loops (/datum/controller/subsystem/timer/sound_loops): fire(0) +2023-11-12T09:06:44.1195659Z Sound Loops (/datum/controller/subsystem/timer/sound_loops): ignite(0) +2023-11-12T09:06:44.1196597Z Master (/datum/controller/master): RunQueue() +2023-11-12T09:06:44.1201550Z Master (/datum/controller/master): Loop(2) +2023-11-12T09:06:44.1202483Z Master (/datum/controller/master): StartProcessing(0) +2023-11-12T09:07:03.3211396Z ##[error][09:06:44] Runtime in timer.dm,125: Invalid timer: Timer: Timer: 2433 ([0x2100859b]), TTR: 328041, wait:2 Flags: TIMER_CLIENT_TIME, TIMER_STOPPABLE, callBack: [0x2105a831], callBack.object: /datum/looping_sound/showering[0x210085b4](/datum/looping_sound/showering), callBack.delegate:/datum/looping_sound/proc/start_sound_loop(), source: code/datums/looping_sounds/_looping_sound.dm:220Prev: NULL, Next: NULL, SPENT(328041), QDELETED, NO CALLBACK world.time: 942.5, head_offset: 600, practical_offset: 686, REALTIMEOFDAY: 328041 + proc name: fire (/datum/controller/subsystem/timer/fire) + src: Sound Loops (/datum/controller/subsystem/timer/sound_loops) + call stack: + Sound Loops (/datum/controller/subsystem/timer/sound_loops): fire(0) + Sound Loops (/datum/controller/subsystem/timer/sound_loops): fire(0) + Sound Loops (/datum/controller/subsystem/timer/sound_loops): ignite(0) + Master (/datum/controller/master): RunQueue() + Master (/datum/controller/master): Loop(2) + Master (/datum/controller/master): StartProcessing(0) +2023-11-12T09:07:03.3224436Z FAILURE #1: [09:06:44] Runtime in timer.dm,125: Invalid timer: Timer: Timer: 2433 ([0x2100859b]), TTR: 328041, wait:2 Flags: TIMER_CLIENT_TIME, TIMER_STOPPABLE, callBack: [0x2105a831], callBack.object: /datum/looping_sound/showering[0x210085b4](/datum/looping_sound/showering), callBack.delegate:/datum/looping_sound/proc/start_sound_loop(), source: code/datums/looping_sounds/_looping_sound.dm:220Prev: NULL, Next: NULL, SPENT(328041), QDELETED, NO CALLBACK world.time: 942.5, head_offset: 600, practical_offset: 686, REALTIMEOFDAY: 328041 +2023-11-12T09:07:03.3226826Z proc name: fire (/datum/controller/subsystem/timer/fire) +2023-11-12T09:07:03.3227626Z src: Sound Loops (/datum/controller/subsystem/timer/sound_loops) +2023-11-12T09:07:03.3228077Z call stack: +2023-11-12T09:07:03.3228462Z Sound Loops (/datum/controller/subsystem/timer/sound_loops): fire(0) +2023-11-12T09:07:03.3229045Z Sound Loops (/datum/controller/subsystem/timer/sound_loops): fire(0) +2023-11-12T09:07:03.3229619Z Sound Loops (/datum/controller/subsystem/timer/sound_loops): ignite(0) +2023-11-12T09:07:03.3230129Z Master (/datum/controller/master): RunQueue() +2023-11-12T09:07:03.3230524Z Master (/datum/controller/master): Loop(2) +2023-11-12T09:07:03.3231037Z Master (/datum/controller/master): StartProcessing(0) at timer.dm:125 +2023-11-12T09:07:03.3231712Z ##[endgroup] +2023-11-12T09:07:03.3232839Z ##[error]FAIL /datum/unit_test/monkey_business 38.4s +2023-11-12T09:07:05.4669397Z ##[group]/datum/unit_test/strange_reagent +2023-11-12T09:07:09.1986629Z PASS /datum/unit_test/strange_reagent 3.7s +2023-11-12T09:07:09.1988202Z ##[endgroup] +2023-11-12T09:07:11.6843550Z ##[group]/datum/unit_test/create_and_destroy +2023-11-12T09:07:36.2863567Z No elevator ID for elevator music provided at Test Room (126,126,14). +2023-11-12T09:08:13.7560132Z PASS /datum/unit_test/create_and_destroy 62.1s +2023-11-12T09:08:13.7561471Z ##[endgroup] +2023-11-12T09:08:13.7852782Z ##[group]/datum/unit_test/dcs_check_list_arguments +2023-11-12T09:08:13.7940678Z PASS /datum/unit_test/dcs_check_list_arguments 0s +2023-11-12T09:08:13.7942424Z ##[endgroup] +2023-11-12T09:08:15.2400236Z Shutting down Chat subsystem... +2023-11-12T09:08:15.2402039Z Shutting down Init Profiler subsystem... +2023-11-12T09:08:15.2404881Z Shutting down Ban Cache subsystem... +2023-11-12T09:08:15.2407209Z Shutting down Stat Panels subsystem... +2023-11-12T09:08:15.2409633Z Shutting down Explosions subsystem... +2023-11-12T09:08:15.2412008Z Shutting down Pathfinder subsystem... +2023-11-12T09:08:15.2414438Z Shutting down Minor Mapping subsystem... +2023-11-12T09:08:15.2416820Z Shutting down Shuttle subsystem... +2023-11-12T09:08:15.2420930Z Warning: Subsystem `Shuttle` slept 2 times. +2023-11-12T09:08:15.2421633Z Shutting down Lighting subsystem... +2023-11-12T09:08:15.2423743Z Shutting down XKeyScore subsystem... +2023-11-12T09:08:15.2425667Z Shutting down PRISM subsystem... +2023-11-12T09:08:15.2427615Z Shutting down Icon Smoothing subsystem... +2023-11-12T09:08:15.2429451Z Shutting down Assets subsystem... +2023-11-12T09:08:15.2431258Z Shutting down Vote subsystem... +2023-11-12T09:08:15.2433223Z Shutting down Persistent Paintings subsystem... +2023-11-12T09:08:15.2435113Z Shutting down Persistence subsystem... +2023-11-12T09:08:15.2437033Z Shutting down Atmospherics subsystem... +2023-11-12T09:08:15.2439009Z Shutting down Wiremod Composite Templates subsystem... +2023-11-12T09:08:15.2440741Z Shutting down Wet floors subsystem... +2023-11-12T09:08:15.2443279Z Shutting down Weather subsystem... +2023-11-12T09:08:15.2445531Z Shutting down Wardrobe subsystem... +2023-11-12T09:08:15.2447137Z Shutting down Verb Manager subsystem... +2023-11-12T09:08:15.2448994Z Shutting down Tutorials subsystem... +2023-11-12T09:08:15.2450888Z Shutting down Transport subsystem... +2023-11-12T09:08:15.2452762Z Shutting down Traitor subsystem... +2023-11-12T09:08:15.2454635Z Shutting down Throwing subsystem... +2023-11-12T09:08:15.2456529Z Shutting down tgui subsystem... +2023-11-12T09:08:15.2458543Z Shutting down Supermatter Cascade subsystem... +2023-11-12T09:08:15.2460380Z Shutting down Sun subsystem... +2023-11-12T09:08:15.2462254Z Shutting down Stock Market subsystem... +2023-11-12T09:08:15.2464168Z Shutting down Speech Controller subsystem... +2023-11-12T09:08:15.2466003Z Shutting down Space Drift subsystem... +2023-11-12T09:08:15.2467944Z Shutting down Smoke subsystem... +2023-11-12T09:08:15.2469878Z Shutting down Singularity subsystem... +2023-11-12T09:08:15.2472104Z Shutting down Radioactive Nebula subsystem... +2023-11-12T09:08:15.2473961Z Shutting down Radio subsystem... +2023-11-12T09:08:15.2476202Z Shutting down Radiation subsystem... +2023-11-12T09:08:15.2477898Z Shutting down Projectiles subsystem... +2023-11-12T09:08:15.2479832Z Shutting down Processing subsystem... +2023-11-12T09:08:15.2482409Z Shutting down Points of Interest subsystem... +2023-11-12T09:08:15.2484346Z Shutting down Plumbing subsystem... +2023-11-12T09:08:15.2486233Z Shutting down Ping subsystem... +2023-11-12T09:08:15.2488172Z Shutting down Parallax subsystem... +2023-11-12T09:08:15.2490092Z Shutting down pAI subsystem... +2023-11-12T09:08:15.2492038Z Shutting down Overlay subsystem... +2023-11-12T09:08:15.7359113Z Shutting down Objects subsystem... +2023-11-12T09:08:15.7360449Z Shutting down Obj Tab Items subsystem... +2023-11-12T09:08:15.7363590Z Shutting down NPC Pool subsystem... +2023-11-12T09:08:15.7365241Z Shutting down Night Shift subsystem... +2023-11-12T09:08:15.7367764Z Shutting down Movement Loops subsystem... +2023-11-12T09:08:15.7369511Z Shutting down Movement Handler subsystem... +2023-11-12T09:08:15.7371589Z Shutting down MouseEntered subsystem... +2023-11-12T09:08:15.7373527Z Shutting down Mood subsystem... +2023-11-12T09:08:15.7375649Z Shutting down Modular Computers subsystem... +2023-11-12T09:08:15.7377558Z Shutting down Mobs subsystem... +2023-11-12T09:08:15.7379600Z Shutting down Materials subsystem... +2023-11-12T09:08:15.7381572Z Shutting down Lua Scripting subsystem... +2023-11-12T09:08:15.7505514Z Shutting down Library Loading subsystem... +2023-11-12T09:08:15.7507489Z Shutting down Lag Switch subsystem... +2023-11-12T09:08:15.7509583Z Shutting down Idling NPC Pool subsystem... +2023-11-12T09:08:15.7511671Z Shutting down Hyperspace Drift subsystem... +2023-11-12T09:08:15.7513591Z Shutting down Foam subsystem... +2023-11-12T09:08:15.7515516Z Shutting down Fluid subsystem... +2023-11-12T09:08:15.7517494Z Shutting down Fishing subsystem... +2023-11-12T09:08:15.7519635Z Shutting down Fast Processing subsystem... +2023-11-12T09:08:15.7521688Z Shutting down Escape Menu subsystem... +2023-11-12T09:08:15.7523697Z Shutting down Eigenstates subsystem... +2023-11-12T09:08:15.7525621Z Shutting down Disease subsystem... +2023-11-12T09:08:15.7527699Z Shutting down Digital Clocks subsystem... +2023-11-12T09:08:15.7529722Z Shutting down Datum Component System subsystem... +2023-11-12T09:08:15.7531714Z Shutting down Conveyor Belts subsystem... +2023-11-12T09:08:15.7533950Z Shutting down Communications subsystem... +2023-11-12T09:08:15.7536091Z Shutting down Clock Component subsystem... +2023-11-12T09:08:15.7538058Z Shutting down Cliff Falling subsystem... +2023-11-12T09:08:15.7540124Z Shutting down Circuit Components subsystem... +2023-11-12T09:08:15.7542040Z Shutting down Burning subsystem... +2023-11-12T09:08:15.7544007Z Shutting down Blackmarket subsystem... +2023-11-12T09:08:15.7545998Z Shutting down Basic Avoidance subsystem... +2023-11-12T09:08:15.7547937Z Shutting down Aura Healing subsystem... +2023-11-12T09:08:15.7549860Z Shutting down Augury subsystem... +2023-11-12T09:08:15.7552123Z Shutting down Asset Loading subsystem... +2023-11-12T09:08:15.7553815Z Shutting down Area Contents subsystem... +2023-11-12T09:08:15.7555740Z Shutting down Antag HUDs subsystem... +2023-11-12T09:08:15.7557720Z Shutting down Ambience subsystem... +2023-11-12T09:08:15.7559697Z Shutting down Addiction subsystem... +2023-11-12T09:08:15.7562910Z Shutting down Acid subsystem... +2023-11-12T09:08:15.7564740Z Shutting down Timer subsystem... +2023-11-12T09:08:15.7566504Z Shutting down Sound Loops subsystem... +2023-11-12T09:08:15.7568731Z Shutting down Runechat subsystem... +2023-11-12T09:08:15.7570746Z Shutting down Queue Links subsystem... +2023-11-12T09:08:15.7572695Z Shutting down Skills subsystem... +2023-11-12T09:08:15.7574685Z Shutting down Machines subsystem... +2023-11-12T09:08:15.7576634Z Shutting down Language subsystem... +2023-11-12T09:08:15.7578608Z Shutting down Atoms subsystem... +2023-11-12T09:08:15.7601367Z Shutting down Text To Speech subsystem... +2023-11-12T09:08:15.7603675Z Shutting down Restaurant subsystem... +2023-11-12T09:08:15.7605588Z Shutting down Economy subsystem... +2023-11-12T09:08:15.7607616Z Shutting down Spatial Grid subsystem... +2023-11-12T09:08:15.7609600Z Shutting down Time Tracking subsystem... +2023-11-12T09:08:15.7611597Z Shutting down Research subsystem... +2023-11-12T09:08:15.7613755Z Shutting down Early Assets subsystem... +2023-11-12T09:08:15.7615768Z Shutting down Mapping subsystem... +2023-11-12T09:08:15.7617822Z Shutting down Trading Card Game subsystem... +2023-11-12T09:08:15.7619966Z Shutting down Ticker subsystem... +2023-11-12T09:08:15.7622043Z Warning: Subsystem `Ticker` slept 1 times. +2023-11-12T09:08:15.7644481Z Unable to locate admins backup file. +2023-11-12T09:08:15.7654489Z Shutting down AI Controller Ticker subsystem... +2023-11-12T09:08:15.7656545Z Shutting down AI Behavior Ticker subsystem... +2023-11-12T09:08:15.7658539Z Shutting down AI movement subsystem... +2023-11-12T09:08:15.7660519Z Shutting down Jobs subsystem... +2023-11-12T09:08:15.7662633Z Shutting down IDs and Access subsystem... +2023-11-12T09:08:15.7664623Z Shutting down Events subsystem... +2023-11-12T09:08:15.7666630Z Shutting down Reagents subsystem... +2023-11-12T09:08:15.7668611Z Shutting down Quirks subsystem... +2023-11-12T09:08:15.7670631Z Shutting down Station subsystem... +2023-11-12T09:08:15.7672688Z Shutting down Achievements subsystem... +2023-11-12T09:08:15.7674715Z Shutting down Discord subsystem... +2023-11-12T09:08:15.7676785Z Shutting down Security Level subsystem... +2023-11-12T09:08:15.7678830Z Shutting down Vis contents overlays subsystem... +2023-11-12T09:08:15.7680780Z Shutting down Greyscale subsystem... +2023-11-12T09:08:15.7683265Z Shutting down Instruments subsystem... +2023-11-12T09:08:15.7685284Z Shutting down Sounds subsystem... +2023-11-12T09:08:15.7687269Z Shutting down Input subsystem... +2023-11-12T09:08:15.7689286Z Shutting down Server Tasks subsystem... +2023-11-12T09:08:15.7691440Z Shutting down Blackbox subsystem... +2023-11-12T09:08:15.7700214Z Shutting down Database subsystem... +2023-11-12T09:08:15.7709204Z Shutting down Garbage subsystem... +2023-11-12T09:08:18.8763587Z Shutting down Title Screen subsystem... +2023-11-12T09:08:18.8783727Z Shutting down Profiler subsystem... +2023-11-12T09:08:18.8789879Z Shutdown complete +2023-11-12T09:08:18.8797124Z Test run failed! +2023-11-12T09:08:18.8797462Z Total runtimes: 1 +2023-11-12T09:08:18.8797716Z Unit Tests failed! +2023-11-12T09:08:22.0106377Z cat: ci_test/data/logs/ci/clean_run.lk: No such file or directory +2023-11-12T09:08:22.0116872Z ##[error]Process completed with exit code 1. +2023-11-12T09:08:22.0170857Z ##[group]Run actions/upload-artifact@v3 +2023-11-12T09:08:22.0171222Z with: +2023-11-12T09:08:22.0171467Z name: test_artifacts_tramstation +2023-11-12T09:08:22.0171798Z path: data/screenshots_new/ +2023-11-12T09:08:22.0172089Z retention-days: 1 +2023-11-12T09:08:22.0172354Z if-no-files-found: warn +2023-11-12T09:08:22.0172621Z ##[endgroup] +2023-11-12T09:08:22.1010805Z With the provided path, there will be 77 files uploaded +2023-11-12T09:08:22.1013040Z Starting artifact upload +2023-11-12T09:08:22.1014930Z For more detailed logs during the artifact upload process, enable step-debugging: https://docs.github.com/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging#enabling-step-debug-logging +2023-11-12T09:08:22.1016085Z Artifact name is valid! +2023-11-12T09:08:22.1655325Z Container for artifact "test_artifacts_tramstation" successfully created. Starting upload of file(s) +2023-11-12T09:08:25.4511686Z Total size of all the files uploaded is 104264 bytes +2023-11-12T09:08:25.4513089Z File upload process has finished. Finalizing the artifact upload +2023-11-12T09:08:25.4967864Z Artifact has been finalized. All files have been successfully uploaded! +2023-11-12T09:08:25.4968795Z +2023-11-12T09:08:25.4969438Z The raw size of all the files that were specified for upload is 104534 bytes +2023-11-12T09:08:25.4995080Z The size of all the files that were uploaded is 104264 bytes. This takes into account any gzip compression used to reduce the upload size, time and storage +2023-11-12T09:08:25.4996373Z +2023-11-12T09:08:25.5000590Z Note: The size of downloaded zips can differ significantly from the reported size. For more information see: https://github.com/actions/upload-artifact#zipped-artifact-downloads +2023-11-12T09:08:25.5002432Z +2023-11-12T09:08:25.5002844Z Artifact test_artifacts_tramstation has been successfully uploaded! +2023-11-12T09:08:25.5131976Z ##[group]Run tgstation/byond-client-compatibility-check@v3 +2023-11-12T09:08:25.5132416Z with: +2023-11-12T09:08:25.5132646Z dmb-location: tgstation.dmb +2023-11-12T09:08:25.5132971Z max-required-client-version: 514 +2023-11-12T09:08:25.5133284Z ##[endgroup] +2023-11-12T09:08:25.5322365Z ##[group]Run (( 514 )) +2023-11-12T09:08:25.5322641Z (( 514 )) +2023-11-12T09:08:25.5367699Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} +2023-11-12T09:08:25.5368129Z ##[endgroup] +2023-11-12T09:08:25.5463568Z ##[group]Run echo "required-client-version=$(( $( head -n2 tgstation.dmb | tail -n1 | cut -d " " -f 4 ) ))" >> $GITHUB_OUTPUT +2023-11-12T09:08:25.5464593Z echo "required-client-version=$(( $( head -n2 tgstation.dmb | tail -n1 | cut -d " " -f 4 ) ))" >> $GITHUB_OUTPUT +2023-11-12T09:08:25.5503899Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} +2023-11-12T09:08:25.5504317Z ##[endgroup] +2023-11-12T09:08:25.5643709Z ##[group]Run (( 514 <= 514 )) +2023-11-12T09:08:25.5644042Z (( 514 <= 514 )) +2023-11-12T09:08:25.5682534Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0} +2023-11-12T09:08:25.5682953Z ##[endgroup] +2023-11-12T09:08:25.5835969Z Post job cleanup. +2023-11-12T09:08:25.6654082Z [command]/usr/bin/git version +2023-11-12T09:08:25.6698640Z git version 2.42.0 +2023-11-12T09:08:25.6737360Z Temporarily overriding HOME='/home/runner/work/_temp/8c7eca89-05a8-49f5-91d4-2ad2b8c1f35c' before making global git config changes +2023-11-12T09:08:25.6738762Z Adding repository directory to the temporary git global config as a safe directory +2023-11-12T09:08:25.6742986Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/tgstation/tgstation +2023-11-12T09:08:25.6784154Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand +2023-11-12T09:08:25.6822086Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :" +2023-11-12T09:08:25.7132368Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader +2023-11-12T09:08:25.7163927Z http.https://github.com/.extraheader +2023-11-12T09:08:25.7175279Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader +2023-11-12T09:08:25.7216423Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :" +2023-11-12T09:08:25.7590917Z Print service container logs: c43e2a4f7a0044eda3c3640d7583be1f_mysqllatest_210664 +2023-11-12T09:08:25.7595897Z ##[command]/usr/bin/docker logs --details 37a3cfd21d3298b61164877b4eaf9717ee52eda64115ae9cd1aef5206d293ded +2023-11-12T09:08:25.7722763Z 2023-11-12 08:59:57+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.2.0-1.el8 started. +2023-11-12T09:08:25.7724170Z 2023-11-12 08:59:57+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql' +2023-11-12T09:08:25.7726315Z 2023-11-12T08:59:57.323609Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start. +2023-11-12T09:08:25.7728493Z 2023-11-12T08:59:57.324887Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead. +2023-11-12T09:08:25.7730639Z 2023-11-12 08:59:57+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.2.0-1.el8 started. +2023-11-12T09:08:25.7731931Z 2023-11-12 08:59:57+00:00 [Note] [Entrypoint]: Initializing database files +2023-11-12T09:08:25.7733478Z 2023-11-12T08:59:57.324980Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.2.0) initializing of server in progress as process 80 +2023-11-12T09:08:25.7735422Z 2023-11-12T08:59:57.329733Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. +2023-11-12T09:08:25.7736806Z 2023-11-12T08:59:57.538012Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. +2023-11-12T09:08:25.7737953Z 2023-11-12 09:00:00+00:00 [Note] [Entrypoint]: Database files initialized +2023-11-12T09:08:25.7738945Z 2023-11-12 09:00:00+00:00 [Note] [Entrypoint]: Starting temporary server +2023-11-12T09:08:25.7739945Z 2023-11-12 09:00:00+00:00 [Note] [Entrypoint]: Temporary server started. +2023-11-12T09:08:25.7740898Z '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock' +2023-11-12T09:08:25.7741615Z +2023-11-12T09:08:25.7742199Z 2023-11-12 09:00:02+00:00 [Note] [Entrypoint]: Stopping temporary server +2023-11-12T09:08:25.7743236Z 2023-11-12 09:00:03+00:00 [Note] [Entrypoint]: Temporary server stopped +2023-11-12T09:08:25.7744003Z +2023-11-12T09:08:25.7744708Z 2023-11-12 09:00:03+00:00 [Note] [Entrypoint]: MySQL init process done. Ready for start up. +2023-11-12T09:08:25.7746704Z 2023-11-12T08:59:58.210653Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option. +2023-11-12T09:08:25.7748648Z 2023-11-12T09:00:00.300732Z 0 [System] [MY-015018] [Server] MySQL Server Initialization - end. +2023-11-12T09:08:25.7749899Z 2023-11-12T09:00:00.347787Z 0 [System] [MY-015015] [Server] MySQL Server - start. +2023-11-12T09:08:25.7751901Z 2023-11-12T09:00:00.530321Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead. +2023-11-12T09:08:25.7754106Z 2023-11-12T09:00:00.531123Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.2.0) starting as process 124 +2023-11-12T09:08:25.7756278Z 2023-11-12T09:00:00.541412Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. +2023-11-12T09:08:25.7757517Z 2023-11-12T09:00:00.630355Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. +2023-11-12T09:08:25.7758462Z 2023-11-12T09:00:00.815198Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed. +2023-11-12T09:08:25.7759637Z 2023-11-12T09:00:00.815226Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel. +2023-11-12T09:08:25.7761631Z 2023-11-12T09:00:00.816463Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory. +2023-11-12T09:08:25.7763033Z 2023-11-12T09:00:00.828404Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: /var/run/mysqld/mysqlx.sock +2023-11-12T09:08:25.7764603Z 2023-11-12T09:00:00.828529Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.2.0' socket: '/var/run/mysqld/mysqld.sock' port: 0 MySQL Community Server - GPL. +2023-11-12T09:08:25.7765734Z 2023-11-12T09:00:00.829953Z 0 [System] [MY-015016] [Server] MySQL Server - end. +2023-11-12T09:08:25.7766430Z Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it. +2023-11-12T09:08:25.7767184Z Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it. +2023-11-12T09:08:25.7767935Z Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it. +2023-11-12T09:08:25.7768649Z Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it. +2023-11-12T09:08:25.7769346Z Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it. +2023-11-12T09:08:25.7770052Z Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it. +2023-11-12T09:08:25.7770961Z 2023-11-12T09:00:02.470903Z 10 [System] [MY-013172] [Server] Received SHUTDOWN from user root. Shutting down mysqld (Version: 8.2.0). +2023-11-12T09:08:25.7772265Z 2023-11-12T09:00:03.257971Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.2.0) MySQL Community Server - GPL. +2023-11-12T09:08:25.7773173Z 2023-11-12T09:00:03.260270Z 0 [System] [MY-015016] [Server] MySQL Server - end. +2023-11-12T09:08:25.7773836Z 2023-11-12T09:00:03.482460Z 0 [System] [MY-015015] [Server] MySQL Server - start. +2023-11-12T09:08:25.7774963Z 2023-11-12T09:00:03.659729Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead. +2023-11-12T09:08:25.7776201Z 2023-11-12T09:00:03.661194Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.2.0) starting as process 1 +2023-11-12T09:08:25.7777020Z 2023-11-12T09:00:03.666529Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. +2023-11-12T09:08:25.7777756Z 2023-11-12T09:00:03.752233Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. +2023-11-12T09:08:25.7778518Z 2023-11-12T09:00:03.907357Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed. +2023-11-12T09:08:25.7779564Z 2023-11-12T09:00:03.907387Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel. +2023-11-12T09:08:25.7781056Z 2023-11-12T09:00:03.908492Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory. +2023-11-12T09:08:25.7782533Z 2023-11-12T09:00:03.922214Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock +2023-11-12T09:08:25.7783946Z 2023-11-12T09:00:03.922317Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.2.0' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server - GPL. +2023-11-12T09:08:25.7784877Z +2023-11-12T09:08:25.7790536Z Stop and remove container: c43e2a4f7a0044eda3c3640d7583be1f_mysqllatest_210664 +2023-11-12T09:08:25.7796028Z ##[command]/usr/bin/docker rm --force 37a3cfd21d3298b61164877b4eaf9717ee52eda64115ae9cd1aef5206d293ded +2023-11-12T09:08:26.0454956Z 37a3cfd21d3298b61164877b4eaf9717ee52eda64115ae9cd1aef5206d293ded +2023-11-12T09:08:26.0480580Z Remove container network: github_network_bc2270e2d9644957ba98982ec5cf35f2 +2023-11-12T09:08:26.0487395Z ##[command]/usr/bin/docker network rm github_network_bc2270e2d9644957ba98982ec5cf35f2 +2023-11-12T09:08:26.3137535Z github_network_bc2270e2d9644957ba98982ec5cf35f2 +2023-11-12T09:08:26.3289510Z Cleaning up orphan processes diff --git a/tools/pull_request_hooks/flakyTestPayloads/monkey_business.txt b/tools/pull_request_hooks/flakyTestPayloads/monkey_business.txt new file mode 100644 index 000000000000..a52375357a07 --- /dev/null +++ b/tools/pull_request_hooks/flakyTestPayloads/monkey_business.txt @@ -0,0 +1,2451 @@ +2022-11-01T15:22:09.7007979Z Requested labels: ubuntu-20.04 +2022-11-01T15:22:09.7008038Z Job defined at: tgstation/tgstation/.github/workflows/ci_suite.yml@refs/pull/70980/merge +2022-11-01T15:22:09.7008063Z Waiting for a runner to pick up this job... +2022-11-01T15:22:10.2221600Z Job is waiting for a hosted runner to come online. +2022-11-01T15:22:14.3820892Z Job is about to start running on the hosted runner: GitHub Actions 16 (hosted) +2022-11-01T15:22:17.2355862Z Current runner version: '2.298.2' +2022-11-01T15:22:17.2393184Z ##[group]Operating System +2022-11-01T15:22:17.2393885Z Ubuntu +2022-11-01T15:22:17.2394168Z 20.04.5 +2022-11-01T15:22:17.2394933Z LTS +2022-11-01T15:22:17.2395251Z ##[endgroup] +2022-11-01T15:22:17.2395537Z ##[group]Runner Image +2022-11-01T15:22:17.2395920Z Image: ubuntu-20.04 +2022-11-01T15:22:17.2396312Z Version: 20221027.1 +2022-11-01T15:22:17.2396868Z Included Software: https://github.com/actions/runner-images/blob/ubuntu20/20221027.1/images/linux/Ubuntu2004-Readme.md +2022-11-01T15:22:17.2397529Z Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu20%2F20221027.1 +2022-11-01T15:22:17.2398002Z ##[endgroup] +2022-11-01T15:22:17.2398309Z ##[group]Runner Image Provisioner +2022-11-01T15:22:17.2398710Z 2.0.91.1 +2022-11-01T15:22:17.2399019Z ##[endgroup] +2022-11-01T15:22:17.2399973Z ##[group]GITHUB_TOKEN Permissions +2022-11-01T15:22:17.2400709Z Actions: read +2022-11-01T15:22:17.2401056Z Checks: read +2022-11-01T15:22:17.2401569Z Contents: read +2022-11-01T15:22:17.2401976Z Deployments: read +2022-11-01T15:22:17.2402321Z Discussions: read +2022-11-01T15:22:17.2402709Z Issues: read +2022-11-01T15:22:17.2402981Z Metadata: read +2022-11-01T15:22:17.2403324Z Packages: read +2022-11-01T15:22:17.2403646Z Pages: read +2022-11-01T15:22:17.2403926Z PullRequests: read +2022-11-01T15:22:17.2404338Z RepositoryProjects: read +2022-11-01T15:22:17.2404945Z SecurityEvents: read +2022-11-01T15:22:17.2405240Z Statuses: read +2022-11-01T15:22:17.2405577Z ##[endgroup] +2022-11-01T15:22:17.2410281Z Secret source: None +2022-11-01T15:22:17.2410802Z Prepare workflow directory +2022-11-01T15:22:17.3953802Z Prepare all required actions +2022-11-01T15:22:17.4201039Z Getting action download info +2022-11-01T15:22:17.6939075Z Download action repository 'actions/checkout@v3' (SHA:93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8) +2022-11-01T15:22:18.9161379Z Download action repository 'actions/cache@v3' (SHA:1c73980b09e7aea7201f325a7aa3ad00beddcdda) +2022-11-01T15:22:20.3064444Z Download action repository 'actions/upload-artifact@v3' (SHA:83fd05a356d7e2593de66fc9913b3002723633cb) +2022-11-01T15:22:21.5263114Z ##[group]Checking docker version +2022-11-01T15:22:21.5284545Z ##[command]/usr/bin/docker version --format '{{.Server.APIVersion}}' +2022-11-01T15:22:21.7821858Z '1.41' +2022-11-01T15:22:21.7840681Z Docker daemon API version: '1.41' +2022-11-01T15:22:21.7841209Z ##[command]/usr/bin/docker version --format '{{.Client.APIVersion}}' +2022-11-01T15:22:21.8152000Z '1.41' +2022-11-01T15:22:21.8176781Z Docker client API version: '1.41' +2022-11-01T15:22:21.8186583Z ##[endgroup] +2022-11-01T15:22:21.8192234Z ##[group]Clean up resources from previous jobs +2022-11-01T15:22:21.8200740Z ##[command]/usr/bin/docker ps --all --quiet --no-trunc --filter "label=8d5581" +2022-11-01T15:22:21.8479497Z ##[command]/usr/bin/docker network prune --force --filter "label=8d5581" +2022-11-01T15:22:21.8756254Z ##[endgroup] +2022-11-01T15:22:21.8756617Z ##[group]Create local container network +2022-11-01T15:22:21.8773847Z ##[command]/usr/bin/docker network create --label 8d5581 github_network_7d8483aa88b2460d91b946ac72079065 +2022-11-01T15:22:21.9692504Z e63735eb313884b0b3c2a30de089b7ac7f9db8f270d21a7e96d5dfa805d1dc67 +2022-11-01T15:22:21.9707619Z ##[endgroup] +2022-11-01T15:22:21.9833163Z ##[group]Starting mysql service container +2022-11-01T15:22:21.9860217Z ##[command]/usr/bin/docker pull mysql:latest +2022-11-01T15:22:23.3081644Z latest: Pulling from library/mysql +2022-11-01T15:22:23.6553709Z d67a603b911a: Pulling fs layer +2022-11-01T15:22:23.6554244Z 0cf69c8f1492: Pulling fs layer +2022-11-01T15:22:23.6554502Z a5ee239a0d3a: Pulling fs layer +2022-11-01T15:22:23.6554752Z 0f166cb3e327: Pulling fs layer +2022-11-01T15:22:23.6555140Z 882d294bf188: Pulling fs layer +2022-11-01T15:22:23.6555590Z 2649fc7eb806: Pulling fs layer +2022-11-01T15:22:23.6555993Z bddb3394e2e3: Pulling fs layer +2022-11-01T15:22:23.6556266Z 93c83d9a2206: Pulling fs layer +2022-11-01T15:22:23.6556762Z 99d7f45787c0: Pulling fs layer +2022-11-01T15:22:23.6557007Z 234663a2e3ee: Pulling fs layer +2022-11-01T15:22:23.6557699Z 74531487bb7b: Pulling fs layer +2022-11-01T15:22:23.6557925Z 882d294bf188: Waiting +2022-11-01T15:22:23.6558139Z 2649fc7eb806: Waiting +2022-11-01T15:22:23.6558335Z bddb3394e2e3: Waiting +2022-11-01T15:22:23.6558547Z 93c83d9a2206: Waiting +2022-11-01T15:22:23.6558750Z 99d7f45787c0: Waiting +2022-11-01T15:22:23.6558937Z 234663a2e3ee: Waiting +2022-11-01T15:22:23.6559142Z 74531487bb7b: Waiting +2022-11-01T15:22:23.6559540Z 0f166cb3e327: Waiting +2022-11-01T15:22:23.9867293Z a5ee239a0d3a: Verifying Checksum +2022-11-01T15:22:23.9867941Z a5ee239a0d3a: Download complete +2022-11-01T15:22:24.0450086Z 0cf69c8f1492: Verifying Checksum +2022-11-01T15:22:24.0453075Z 0cf69c8f1492: Download complete +2022-11-01T15:22:24.3464913Z 0f166cb3e327: Verifying Checksum +2022-11-01T15:22:24.3465310Z 0f166cb3e327: Download complete +2022-11-01T15:22:24.3517047Z 882d294bf188: Verifying Checksum +2022-11-01T15:22:24.3518202Z 882d294bf188: Download complete +2022-11-01T15:22:24.6730495Z 2649fc7eb806: Verifying Checksum +2022-11-01T15:22:24.6731468Z 2649fc7eb806: Download complete +2022-11-01T15:22:25.0002710Z 93c83d9a2206: Verifying Checksum +2022-11-01T15:22:25.0003976Z 93c83d9a2206: Download complete +2022-11-01T15:22:25.1541923Z bddb3394e2e3: Verifying Checksum +2022-11-01T15:22:25.1542827Z bddb3394e2e3: Download complete +2022-11-01T15:22:25.4166178Z d67a603b911a: Verifying Checksum +2022-11-01T15:22:25.4167080Z d67a603b911a: Download complete +2022-11-01T15:22:25.4830760Z 234663a2e3ee: Verifying Checksum +2022-11-01T15:22:25.4846538Z 234663a2e3ee: Download complete +2022-11-01T15:22:25.7381703Z 74531487bb7b: Verifying Checksum +2022-11-01T15:22:25.7382588Z 74531487bb7b: Download complete +2022-11-01T15:22:25.8527402Z 99d7f45787c0: Verifying Checksum +2022-11-01T15:22:25.8549349Z 99d7f45787c0: Download complete +2022-11-01T15:22:27.1417789Z d67a603b911a: Pull complete +2022-11-01T15:22:28.0615469Z 0cf69c8f1492: Pull complete +2022-11-01T15:22:28.1630064Z a5ee239a0d3a: Pull complete +2022-11-01T15:22:28.4630683Z 0f166cb3e327: Pull complete +2022-11-01T15:22:28.5470127Z 882d294bf188: Pull complete +2022-11-01T15:22:28.6222715Z 2649fc7eb806: Pull complete +2022-11-01T15:22:30.8200860Z bddb3394e2e3: Pull complete +2022-11-01T15:22:30.8846376Z 93c83d9a2206: Pull complete +2022-11-01T15:22:36.7604768Z 99d7f45787c0: Pull complete +2022-11-01T15:22:36.8357942Z 234663a2e3ee: Pull complete +2022-11-01T15:22:36.9012415Z 74531487bb7b: Pull complete +2022-11-01T15:22:36.9094455Z Digest: sha256:d4055451e7f42869e64089a60d1abc9e66eccde2910629f0dd666b53a5f230d8 +2022-11-01T15:22:36.9127968Z Status: Downloaded newer image for mysql:latest +2022-11-01T15:22:36.9154819Z docker.io/library/mysql:latest +2022-11-01T15:22:36.9298550Z ##[command]/usr/bin/docker create --name e281b5d836644f53b33d06a88663b086_mysqllatest_c6a68e --label 8d5581 --network github_network_7d8483aa88b2460d91b946ac72079065 --network-alias mysql -p 3306 --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 -e "MYSQL_ROOT_PASSWORD=root" -e GITHUB_ACTIONS=true -e CI=true mysql:latest +2022-11-01T15:22:36.9879151Z cd1d0f20f8f882176c274fb882d88cea0d4e9a7b2aebc33f1123c02f7b908aa1 +2022-11-01T15:22:36.9911210Z ##[command]/usr/bin/docker start cd1d0f20f8f882176c274fb882d88cea0d4e9a7b2aebc33f1123c02f7b908aa1 +2022-11-01T15:22:37.4755521Z cd1d0f20f8f882176c274fb882d88cea0d4e9a7b2aebc33f1123c02f7b908aa1 +2022-11-01T15:22:37.4795933Z ##[command]/usr/bin/docker ps --all --filter id=cd1d0f20f8f882176c274fb882d88cea0d4e9a7b2aebc33f1123c02f7b908aa1 --filter status=running --no-trunc --format "{{.ID}} {{.Status}}" +2022-11-01T15:22:37.5113258Z cd1d0f20f8f882176c274fb882d88cea0d4e9a7b2aebc33f1123c02f7b908aa1 Up Less than a second (health: starting) +2022-11-01T15:22:37.5177404Z ##[command]/usr/bin/docker port cd1d0f20f8f882176c274fb882d88cea0d4e9a7b2aebc33f1123c02f7b908aa1 +2022-11-01T15:22:37.5462051Z 3306/tcp -> 0.0.0.0:49153 +2022-11-01T15:22:37.5464354Z 3306/tcp -> :::49153 +2022-11-01T15:22:37.5587024Z ##[endgroup] +2022-11-01T15:22:37.5587360Z ##[group]Waiting for all services to be ready +2022-11-01T15:22:37.5644998Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" cd1d0f20f8f882176c274fb882d88cea0d4e9a7b2aebc33f1123c02f7b908aa1 +2022-11-01T15:22:37.5931031Z starting +2022-11-01T15:22:37.5967460Z mysql service is starting, waiting 2 seconds before checking again. +2022-11-01T15:22:39.5985654Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" cd1d0f20f8f882176c274fb882d88cea0d4e9a7b2aebc33f1123c02f7b908aa1 +2022-11-01T15:22:39.6392920Z starting +2022-11-01T15:22:39.6411834Z mysql service is starting, waiting 4 seconds before checking again. +2022-11-01T15:22:43.7096918Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" cd1d0f20f8f882176c274fb882d88cea0d4e9a7b2aebc33f1123c02f7b908aa1 +2022-11-01T15:22:43.7721367Z starting +2022-11-01T15:22:43.7737289Z mysql service is starting, waiting 8 seconds before checking again. +2022-11-01T15:22:51.9262367Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" cd1d0f20f8f882176c274fb882d88cea0d4e9a7b2aebc33f1123c02f7b908aa1 +2022-11-01T15:22:51.9505260Z starting +2022-11-01T15:22:51.9522218Z mysql service is starting, waiting 13 seconds before checking again. +2022-11-01T15:23:05.2771619Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" cd1d0f20f8f882176c274fb882d88cea0d4e9a7b2aebc33f1123c02f7b908aa1 +2022-11-01T15:23:05.3013771Z healthy +2022-11-01T15:23:05.3024538Z mysql service is healthy. +2022-11-01T15:23:05.3024986Z ##[endgroup] +2022-11-01T15:23:05.3498117Z ##[group]Run actions/checkout@v3 +2022-11-01T15:23:05.3498404Z with: +2022-11-01T15:23:05.3498607Z repository: tgstation/tgstation +2022-11-01T15:23:05.3499131Z token: *** +2022-11-01T15:23:05.3499336Z ssh-strict: true +2022-11-01T15:23:05.3499566Z persist-credentials: true +2022-11-01T15:23:05.3499930Z clean: true +2022-11-01T15:23:05.3500134Z fetch-depth: 1 +2022-11-01T15:23:05.3500323Z lfs: false +2022-11-01T15:23:05.3500668Z submodules: false +2022-11-01T15:23:05.3500890Z set-safe-directory: true +2022-11-01T15:23:05.3501110Z ##[endgroup] +2022-11-01T15:23:05.7431946Z Syncing repository: tgstation/tgstation +2022-11-01T15:23:05.7434241Z ##[group]Getting Git version info +2022-11-01T15:23:05.7435150Z Working directory is '/home/runner/work/tgstation/tgstation' +2022-11-01T15:23:05.7435653Z [command]/usr/bin/git version +2022-11-01T15:23:05.7647982Z git version 2.38.1 +2022-11-01T15:23:05.7683915Z ##[endgroup] +2022-11-01T15:23:05.7710794Z Temporarily overriding HOME='/home/runner/work/_temp/a63c17da-7308-4a9e-856a-69236f785151' before making global git config changes +2022-11-01T15:23:05.7711429Z Adding repository directory to the temporary git global config as a safe directory +2022-11-01T15:23:05.7718974Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/tgstation/tgstation +2022-11-01T15:23:05.7791610Z Deleting the contents of '/home/runner/work/tgstation/tgstation' +2022-11-01T15:23:05.7800753Z ##[group]Initializing the repository +2022-11-01T15:23:05.7810526Z [command]/usr/bin/git init /home/runner/work/tgstation/tgstation +2022-11-01T15:23:05.7999555Z hint: Using 'master' as the name for the initial branch. This default branch name +2022-11-01T15:23:05.8000657Z hint: is subject to change. To configure the initial branch name to use in all +2022-11-01T15:23:05.8001229Z hint: of your new repositories, which will suppress this warning, call: +2022-11-01T15:23:05.8001635Z hint: +2022-11-01T15:23:05.8002546Z hint: git config --global init.defaultBranch +2022-11-01T15:23:05.8003017Z hint: +2022-11-01T15:23:05.8003562Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +2022-11-01T15:23:05.8004498Z hint: 'development'. The just-created branch can be renamed via this command: +2022-11-01T15:23:05.8006177Z hint: +2022-11-01T15:23:05.8006532Z hint: git branch -m +2022-11-01T15:23:05.8016074Z Initialized empty Git repository in /home/runner/work/tgstation/tgstation/.git/ +2022-11-01T15:23:05.8029083Z [command]/usr/bin/git remote add origin https://github.com/tgstation/tgstation +2022-11-01T15:23:05.8108132Z ##[endgroup] +2022-11-01T15:23:05.8110681Z ##[group]Disabling automatic garbage collection +2022-11-01T15:23:05.8113311Z [command]/usr/bin/git config --local gc.auto 0 +2022-11-01T15:23:05.8153161Z ##[endgroup] +2022-11-01T15:23:05.8153891Z ##[group]Setting up auth +2022-11-01T15:23:05.8163234Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand +2022-11-01T15:23:05.8203566Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || : +2022-11-01T15:23:05.8796996Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader +2022-11-01T15:23:05.8820643Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || : +2022-11-01T15:23:05.9097833Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic *** +2022-11-01T15:23:05.9154264Z ##[endgroup] +2022-11-01T15:23:05.9155507Z ##[group]Fetching the repository +2022-11-01T15:23:05.9167693Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --progress --no-recurse-submodules --depth=1 origin +90d58213531368fd97e9955fe80b75ad69c20f24:refs/remotes/pull/70980/merge +2022-11-01T15:23:06.8635625Z remote: Enumerating objects: 12567, done. +2022-11-01T15:23:06.8636451Z remote: Counting objects: 0% (1/12567) +2022-11-01T15:23:06.8650219Z remote: Counting objects: 1% (126/12567) +2022-11-01T15:23:06.8660754Z remote: Counting objects: 2% (252/12567) +2022-11-01T15:23:06.8672560Z remote: Counting objects: 3% (378/12567) +2022-11-01T15:23:06.8672977Z remote: Counting objects: 4% (503/12567) +2022-11-01T15:23:06.8673376Z remote: Counting objects: 5% (629/12567) +2022-11-01T15:23:06.8675482Z remote: Counting objects: 6% (755/12567) +2022-11-01T15:23:06.8675791Z remote: Counting objects: 7% (880/12567) +2022-11-01T15:23:06.9160118Z remote: Counting objects: 8% (1006/12567) +2022-11-01T15:23:06.9160767Z remote: Counting objects: 9% (1132/12567) +2022-11-01T15:23:06.9161166Z remote: Counting objects: 10% (1257/12567) +2022-11-01T15:23:06.9161566Z remote: Counting objects: 11% (1383/12567) +2022-11-01T15:23:06.9161964Z remote: Counting objects: 12% (1509/12567) +2022-11-01T15:23:06.9162324Z remote: Counting objects: 13% (1634/12567) +2022-11-01T15:23:06.9162700Z remote: Counting objects: 14% (1760/12567) +2022-11-01T15:23:06.9163069Z remote: Counting objects: 15% (1886/12567) +2022-11-01T15:23:06.9163437Z remote: Counting objects: 16% (2011/12567) +2022-11-01T15:23:06.9163808Z remote: Counting objects: 17% (2137/12567) +2022-11-01T15:23:06.9164357Z remote: Counting objects: 18% (2263/12567) +2022-11-01T15:23:06.9165066Z remote: Counting objects: 19% (2388/12567) +2022-11-01T15:23:06.9165451Z remote: Counting objects: 20% (2514/12567) +2022-11-01T15:23:06.9165800Z remote: Counting objects: 21% (2640/12567) +2022-11-01T15:23:06.9166097Z remote: Counting objects: 22% (2765/12567) +2022-11-01T15:23:06.9166459Z remote: Counting objects: 23% (2891/12567) +2022-11-01T15:23:06.9166827Z remote: Counting objects: 24% (3017/12567) +2022-11-01T15:23:06.9167178Z remote: Counting objects: 25% (3142/12567) +2022-11-01T15:23:06.9167700Z remote: Counting objects: 26% (3268/12567) +2022-11-01T15:23:06.9168060Z remote: Counting objects: 27% (3394/12567) +2022-11-01T15:23:06.9168413Z remote: Counting objects: 28% (3519/12567) +2022-11-01T15:23:06.9168685Z remote: Counting objects: 29% (3645/12567) +2022-11-01T15:23:06.9169293Z remote: Counting objects: 30% (3771/12567) +2022-11-01T15:23:06.9169550Z remote: Counting objects: 31% (3896/12567) +2022-11-01T15:23:06.9169791Z remote: Counting objects: 32% (4022/12567) +2022-11-01T15:23:06.9170049Z remote: Counting objects: 33% (4148/12567) +2022-11-01T15:23:06.9170305Z remote: Counting objects: 34% (4273/12567) +2022-11-01T15:23:06.9170563Z remote: Counting objects: 35% (4399/12567) +2022-11-01T15:23:06.9170803Z remote: Counting objects: 36% (4525/12567) +2022-11-01T15:23:06.9171062Z remote: Counting objects: 37% (4650/12567) +2022-11-01T15:23:06.9171316Z remote: Counting objects: 38% (4776/12567) +2022-11-01T15:23:06.9171714Z remote: Counting objects: 39% (4902/12567) +2022-11-01T15:23:06.9171963Z remote: Counting objects: 40% (5027/12567) +2022-11-01T15:23:06.9172211Z remote: Counting objects: 41% (5153/12567) +2022-11-01T15:23:06.9172447Z remote: Counting objects: 42% (5279/12567) +2022-11-01T15:23:06.9172868Z remote: Counting objects: 43% (5404/12567) +2022-11-01T15:23:06.9173464Z remote: Counting objects: 44% (5530/12567) +2022-11-01T15:23:06.9173834Z remote: Counting objects: 45% (5656/12567) +2022-11-01T15:23:06.9174083Z remote: Counting objects: 46% (5781/12567) +2022-11-01T15:23:06.9174458Z remote: Counting objects: 47% (5907/12567) +2022-11-01T15:23:06.9174828Z remote: Counting objects: 48% (6033/12567) +2022-11-01T15:23:06.9175193Z remote: Counting objects: 49% (6158/12567) +2022-11-01T15:23:06.9175686Z remote: Counting objects: 50% (6284/12567) +2022-11-01T15:23:06.9176096Z remote: Counting objects: 51% (6410/12567) +2022-11-01T15:23:06.9176806Z remote: Counting objects: 52% (6535/12567) +2022-11-01T15:23:06.9177226Z remote: Counting objects: 53% (6661/12567) +2022-11-01T15:23:06.9383126Z remote: Counting objects: 54% (6787/12567) +2022-11-01T15:23:06.9383471Z remote: Counting objects: 55% (6912/12567) +2022-11-01T15:23:06.9383912Z remote: Counting objects: 56% (7038/12567) +2022-11-01T15:23:06.9384205Z remote: Counting objects: 57% (7164/12567) +2022-11-01T15:23:06.9384882Z remote: Counting objects: 58% (7289/12567) +2022-11-01T15:23:06.9385322Z remote: Counting objects: 59% (7415/12567) +2022-11-01T15:23:06.9385593Z remote: Counting objects: 60% (7541/12567) +2022-11-01T15:23:06.9386047Z remote: Counting objects: 61% (7666/12567) +2022-11-01T15:23:06.9386320Z remote: Counting objects: 62% (7792/12567) +2022-11-01T15:23:06.9386602Z remote: Counting objects: 63% (7918/12567) +2022-11-01T15:23:06.9387066Z remote: Counting objects: 64% (8043/12567) +2022-11-01T15:23:06.9387318Z remote: Counting objects: 65% (8169/12567) +2022-11-01T15:23:06.9387584Z remote: Counting objects: 66% (8295/12567) +2022-11-01T15:23:06.9387858Z remote: Counting objects: 67% (8420/12567) +2022-11-01T15:23:06.9388109Z remote: Counting objects: 68% (8546/12567) +2022-11-01T15:23:06.9388374Z remote: Counting objects: 69% (8672/12567) +2022-11-01T15:23:06.9388777Z remote: Counting objects: 70% (8797/12567) +2022-11-01T15:23:06.9389026Z remote: Counting objects: 71% (8923/12567) +2022-11-01T15:23:06.9389293Z remote: Counting objects: 72% (9049/12567) +2022-11-01T15:23:06.9389558Z remote: Counting objects: 73% (9174/12567) +2022-11-01T15:23:06.9389987Z remote: Counting objects: 74% (9300/12567) +2022-11-01T15:23:06.9390230Z remote: Counting objects: 75% (9426/12567) +2022-11-01T15:23:06.9390484Z remote: Counting objects: 76% (9551/12567) +2022-11-01T15:23:06.9390738Z remote: Counting objects: 77% (9677/12567) +2022-11-01T15:23:06.9390979Z remote: Counting objects: 78% (9803/12567) +2022-11-01T15:23:06.9391235Z remote: Counting objects: 79% (9928/12567) +2022-11-01T15:23:06.9391796Z remote: Counting objects: 80% (10054/12567) +2022-11-01T15:23:06.9392047Z remote: Counting objects: 81% (10180/12567) +2022-11-01T15:23:06.9392314Z remote: Counting objects: 82% (10305/12567) +2022-11-01T15:23:06.9392577Z remote: Counting objects: 83% (10431/12567) +2022-11-01T15:23:06.9392824Z remote: Counting objects: 84% (10557/12567) +2022-11-01T15:23:06.9393085Z remote: Counting objects: 85% (10682/12567) +2022-11-01T15:23:06.9394375Z remote: Counting objects: 86% (10808/12567) +2022-11-01T15:23:06.9394631Z remote: Counting objects: 87% (10934/12567) +2022-11-01T15:23:06.9394877Z remote: Counting objects: 88% (11059/12567) +2022-11-01T15:23:06.9395134Z remote: Counting objects: 89% (11185/12567) +2022-11-01T15:23:06.9395389Z remote: Counting objects: 90% (11311/12567) +2022-11-01T15:23:06.9395622Z remote: Counting objects: 91% (11436/12567) +2022-11-01T15:23:06.9395877Z remote: Counting objects: 92% (11562/12567) +2022-11-01T15:23:06.9396132Z remote: Counting objects: 93% (11688/12567) +2022-11-01T15:23:06.9396564Z remote: Counting objects: 94% (11813/12567) +2022-11-01T15:23:06.9396804Z remote: Counting objects: 95% (11939/12567) +2022-11-01T15:23:06.9397061Z remote: Counting objects: 96% (12065/12567) +2022-11-01T15:23:06.9397319Z remote: Counting objects: 97% (12190/12567) +2022-11-01T15:23:06.9397557Z remote: Counting objects: 98% (12316/12567) +2022-11-01T15:23:06.9397810Z remote: Counting objects: 99% (12442/12567) +2022-11-01T15:23:06.9398208Z remote: Counting objects: 100% (12567/12567) +2022-11-01T15:23:06.9398661Z remote: Counting objects: 100% (12567/12567), done. +2022-11-01T15:23:06.9398965Z remote: Compressing objects: 0% (1/10988) +2022-11-01T15:23:06.9399257Z remote: Compressing objects: 1% (110/10988) +2022-11-01T15:23:06.9439997Z remote: Compressing objects: 2% (220/10988) +2022-11-01T15:23:06.9561627Z remote: Compressing objects: 3% (330/10988) +2022-11-01T15:23:06.9680955Z remote: Compressing objects: 4% (440/10988) +2022-11-01T15:23:06.9723040Z remote: Compressing objects: 5% (550/10988) +2022-11-01T15:23:06.9876931Z remote: Compressing objects: 6% (660/10988) +2022-11-01T15:23:07.0170815Z remote: Compressing objects: 7% (770/10988) +2022-11-01T15:23:07.0504059Z remote: Compressing objects: 8% (880/10988) +2022-11-01T15:23:07.0836116Z remote: Compressing objects: 9% (989/10988) +2022-11-01T15:23:07.1460729Z remote: Compressing objects: 10% (1099/10988) +2022-11-01T15:23:07.6608683Z remote: Compressing objects: 11% (1209/10988) +2022-11-01T15:23:07.7588422Z remote: Compressing objects: 12% (1319/10988) +2022-11-01T15:23:07.9494647Z remote: Compressing objects: 13% (1429/10988) +2022-11-01T15:23:07.9527972Z remote: Compressing objects: 13% (1508/10988) +2022-11-01T15:23:07.9668498Z remote: Compressing objects: 14% (1539/10988) +2022-11-01T15:23:08.0219248Z remote: Compressing objects: 15% (1649/10988) +2022-11-01T15:23:08.0283852Z remote: Compressing objects: 16% (1759/10988) +2022-11-01T15:23:08.0452608Z remote: Compressing objects: 17% (1868/10988) +2022-11-01T15:23:08.0618448Z remote: Compressing objects: 18% (1978/10988) +2022-11-01T15:23:08.0889220Z remote: Compressing objects: 19% (2088/10988) +2022-11-01T15:23:08.1162946Z remote: Compressing objects: 20% (2198/10988) +2022-11-01T15:23:08.1247220Z remote: Compressing objects: 21% (2308/10988) +2022-11-01T15:23:08.1520626Z remote: Compressing objects: 22% (2418/10988) +2022-11-01T15:23:08.2139765Z remote: Compressing objects: 23% (2528/10988) +2022-11-01T15:23:08.2412924Z remote: Compressing objects: 24% (2638/10988) +2022-11-01T15:23:08.2597478Z remote: Compressing objects: 25% (2747/10988) +2022-11-01T15:23:08.2752211Z remote: Compressing objects: 26% (2857/10988) +2022-11-01T15:23:08.2966161Z remote: Compressing objects: 27% (2967/10988) +2022-11-01T15:23:08.3926822Z remote: Compressing objects: 28% (3077/10988) +2022-11-01T15:23:08.3927793Z remote: Compressing objects: 29% (3187/10988) +2022-11-01T15:23:08.4094739Z remote: Compressing objects: 30% (3297/10988) +2022-11-01T15:23:08.4338176Z remote: Compressing objects: 31% (3407/10988) +2022-11-01T15:23:08.4632502Z remote: Compressing objects: 32% (3517/10988) +2022-11-01T15:23:08.4940329Z remote: Compressing objects: 33% (3627/10988) +2022-11-01T15:23:08.5404129Z remote: Compressing objects: 34% (3736/10988) +2022-11-01T15:23:08.5814756Z remote: Compressing objects: 35% (3846/10988) +2022-11-01T15:23:08.6091092Z remote: Compressing objects: 36% (3956/10988) +2022-11-01T15:23:08.6446921Z remote: Compressing objects: 37% (4066/10988) +2022-11-01T15:23:08.6900873Z remote: Compressing objects: 38% (4176/10988) +2022-11-01T15:23:08.7213081Z remote: Compressing objects: 39% (4286/10988) +2022-11-01T15:23:08.7502723Z remote: Compressing objects: 40% (4396/10988) +2022-11-01T15:23:08.7869698Z remote: Compressing objects: 41% (4506/10988) +2022-11-01T15:23:08.8103626Z remote: Compressing objects: 42% (4615/10988) +2022-11-01T15:23:08.8451299Z remote: Compressing objects: 43% (4725/10988) +2022-11-01T15:23:08.8774688Z remote: Compressing objects: 44% (4835/10988) +2022-11-01T15:23:08.9003331Z remote: Compressing objects: 45% (4945/10988) +2022-11-01T15:23:08.9070180Z remote: Compressing objects: 45% (5034/10988) +2022-11-01T15:23:08.9344499Z remote: Compressing objects: 46% (5055/10988) +2022-11-01T15:23:08.9568190Z remote: Compressing objects: 47% (5165/10988) +2022-11-01T15:23:08.9805763Z remote: Compressing objects: 48% (5275/10988) +2022-11-01T15:23:09.0037568Z remote: Compressing objects: 49% (5385/10988) +2022-11-01T15:23:09.0301310Z remote: Compressing objects: 50% (5494/10988) +2022-11-01T15:23:09.0582321Z remote: Compressing objects: 51% (5604/10988) +2022-11-01T15:23:09.0808327Z remote: Compressing objects: 52% (5714/10988) +2022-11-01T15:23:09.1124129Z remote: Compressing objects: 53% (5824/10988) +2022-11-01T15:23:09.1387087Z remote: Compressing objects: 54% (5934/10988) +2022-11-01T15:23:09.1647455Z remote: Compressing objects: 55% (6044/10988) +2022-11-01T15:23:09.1915056Z remote: Compressing objects: 56% (6154/10988) +2022-11-01T15:23:09.2255320Z remote: Compressing objects: 57% (6264/10988) +2022-11-01T15:23:09.2457326Z remote: Compressing objects: 58% (6374/10988) +2022-11-01T15:23:09.2755910Z remote: Compressing objects: 59% (6483/10988) +2022-11-01T15:23:09.3017305Z remote: Compressing objects: 60% (6593/10988) +2022-11-01T15:23:09.3325069Z remote: Compressing objects: 61% (6703/10988) +2022-11-01T15:23:09.3546803Z remote: Compressing objects: 62% (6813/10988) +2022-11-01T15:23:09.3801684Z remote: Compressing objects: 63% (6923/10988) +2022-11-01T15:23:09.4067963Z remote: Compressing objects: 64% (7033/10988) +2022-11-01T15:23:09.5472387Z remote: Compressing objects: 65% (7143/10988) +2022-11-01T15:23:09.5473083Z remote: Compressing objects: 66% (7253/10988) +2022-11-01T15:23:09.5473536Z remote: Compressing objects: 67% (7362/10988) +2022-11-01T15:23:09.5473940Z remote: Compressing objects: 68% (7472/10988) +2022-11-01T15:23:09.5474375Z remote: Compressing objects: 69% (7582/10988) +2022-11-01T15:23:09.5474794Z remote: Compressing objects: 70% (7692/10988) +2022-11-01T15:23:09.5475212Z remote: Compressing objects: 71% (7802/10988) +2022-11-01T15:23:09.5475789Z remote: Compressing objects: 72% (7912/10988) +2022-11-01T15:23:09.5476209Z remote: Compressing objects: 73% (8022/10988) +2022-11-01T15:23:09.5477532Z remote: Compressing objects: 74% (8132/10988) +2022-11-01T15:23:09.5478233Z remote: Compressing objects: 75% (8241/10988) +2022-11-01T15:23:09.5478582Z remote: Compressing objects: 76% (8351/10988) +2022-11-01T15:23:09.5479163Z remote: Compressing objects: 77% (8461/10988) +2022-11-01T15:23:09.5479885Z remote: Compressing objects: 78% (8571/10988) +2022-11-01T15:23:09.5480434Z remote: Compressing objects: 79% (8681/10988) +2022-11-01T15:23:09.5480899Z remote: Compressing objects: 80% (8791/10988) +2022-11-01T15:23:09.5481594Z remote: Compressing objects: 81% (8901/10988) +2022-11-01T15:23:09.5482284Z remote: Compressing objects: 82% (9011/10988) +2022-11-01T15:23:09.5482865Z remote: Compressing objects: 83% (9121/10988) +2022-11-01T15:23:09.5483308Z remote: Compressing objects: 84% (9230/10988) +2022-11-01T15:23:09.5483685Z remote: Compressing objects: 85% (9340/10988) +2022-11-01T15:23:09.5484385Z remote: Compressing objects: 86% (9450/10988) +2022-11-01T15:23:09.5485582Z remote: Compressing objects: 87% (9560/10988) +2022-11-01T15:23:09.5486089Z remote: Compressing objects: 88% (9670/10988) +2022-11-01T15:23:09.5486597Z remote: Compressing objects: 89% (9780/10988) +2022-11-01T15:23:09.5487116Z remote: Compressing objects: 90% (9890/10988) +2022-11-01T15:23:09.5487742Z remote: Compressing objects: 91% (10000/10988) +2022-11-01T15:23:09.5488235Z remote: Compressing objects: 92% (10109/10988) +2022-11-01T15:23:09.5488673Z remote: Compressing objects: 93% (10219/10988) +2022-11-01T15:23:09.5489383Z remote: Compressing objects: 94% (10329/10988) +2022-11-01T15:23:09.5489745Z remote: Compressing objects: 95% (10439/10988) +2022-11-01T15:23:09.5490195Z remote: Compressing objects: 96% (10549/10988) +2022-11-01T15:23:09.5490745Z remote: Compressing objects: 97% (10659/10988) +2022-11-01T15:23:09.5491127Z remote: Compressing objects: 98% (10769/10988) +2022-11-01T15:23:09.5491596Z remote: Compressing objects: 99% (10879/10988) +2022-11-01T15:23:09.5492106Z remote: Compressing objects: 100% (10988/10988) +2022-11-01T15:23:09.5492683Z remote: Compressing objects: 100% (10988/10988), done. +2022-11-01T15:23:09.8456233Z Receiving objects: 0% (1/12567) +2022-11-01T15:23:10.1991946Z Receiving objects: 1% (126/12567) +2022-11-01T15:23:10.2129001Z Receiving objects: 2% (252/12567), 1.64 MiB | 3.13 MiB/s +2022-11-01T15:23:10.3381943Z Receiving objects: 3% (378/12567), 1.64 MiB | 3.13 MiB/s +2022-11-01T15:23:10.3419720Z Receiving objects: 4% (503/12567), 1.64 MiB | 3.13 MiB/s +2022-11-01T15:23:10.3481272Z Receiving objects: 5% (629/12567), 1.64 MiB | 3.13 MiB/s +2022-11-01T15:23:10.3610976Z Receiving objects: 6% (755/12567), 1.64 MiB | 3.13 MiB/s +2022-11-01T15:23:10.4060459Z Receiving objects: 7% (880/12567), 1.64 MiB | 3.13 MiB/s +2022-11-01T15:23:10.4152976Z Receiving objects: 8% (1006/12567), 1.64 MiB | 3.13 MiB/s +2022-11-01T15:23:10.4214294Z Receiving objects: 9% (1132/12567), 1.64 MiB | 3.13 MiB/s +2022-11-01T15:23:10.4443541Z Receiving objects: 10% (1257/12567), 1.64 MiB | 3.13 MiB/s +2022-11-01T15:23:10.4585667Z Receiving objects: 11% (1383/12567), 1.64 MiB | 3.13 MiB/s +2022-11-01T15:23:10.4664474Z Receiving objects: 12% (1509/12567), 1.64 MiB | 3.13 MiB/s +2022-11-01T15:23:10.4672354Z Receiving objects: 13% (1634/12567), 1.64 MiB | 3.13 MiB/s +2022-11-01T15:23:10.4765843Z Receiving objects: 14% (1760/12567), 1.64 MiB | 3.13 MiB/s +2022-11-01T15:23:10.4973914Z Receiving objects: 15% (1886/12567), 1.64 MiB | 3.13 MiB/s +2022-11-01T15:23:10.5317436Z Receiving objects: 16% (2011/12567), 1.64 MiB | 3.13 MiB/s +2022-11-01T15:23:10.5620851Z Receiving objects: 17% (2137/12567), 1.64 MiB | 3.13 MiB/s +2022-11-01T15:23:10.5694797Z Receiving objects: 17% (2211/12567), 1.64 MiB | 3.13 MiB/s +2022-11-01T15:23:10.5937016Z Receiving objects: 18% (2263/12567), 1.64 MiB | 3.13 MiB/s +2022-11-01T15:23:10.6179150Z Receiving objects: 19% (2388/12567), 5.60 MiB | 5.45 MiB/s +2022-11-01T15:23:10.6422936Z Receiving objects: 20% (2514/12567), 5.60 MiB | 5.45 MiB/s +2022-11-01T15:23:10.6652610Z Receiving objects: 21% (2640/12567), 5.60 MiB | 5.45 MiB/s +2022-11-01T15:23:10.6945718Z Receiving objects: 22% (2765/12567), 5.60 MiB | 5.45 MiB/s +2022-11-01T15:23:10.7167238Z Receiving objects: 23% (2891/12567), 5.60 MiB | 5.45 MiB/s +2022-11-01T15:23:10.7332899Z Receiving objects: 24% (3017/12567), 5.60 MiB | 5.45 MiB/s +2022-11-01T15:23:10.7570968Z Receiving objects: 25% (3142/12567), 5.60 MiB | 5.45 MiB/s +2022-11-01T15:23:10.7722439Z Receiving objects: 26% (3268/12567), 5.60 MiB | 5.45 MiB/s +2022-11-01T15:23:10.7982867Z Receiving objects: 27% (3394/12567), 5.60 MiB | 5.45 MiB/s +2022-11-01T15:23:10.8201011Z Receiving objects: 28% (3519/12567), 5.60 MiB | 5.45 MiB/s +2022-11-01T15:23:10.8338369Z Receiving objects: 29% (3645/12567), 5.60 MiB | 5.45 MiB/s +2022-11-01T15:23:10.8455222Z Receiving objects: 30% (3771/12567), 5.60 MiB | 5.45 MiB/s +2022-11-01T15:23:10.8589882Z Receiving objects: 31% (3896/12567), 5.60 MiB | 5.45 MiB/s +2022-11-01T15:23:10.8671253Z Receiving objects: 32% (4022/12567), 5.60 MiB | 5.45 MiB/s +2022-11-01T15:23:10.8915567Z Receiving objects: 33% (4148/12567), 5.60 MiB | 5.45 MiB/s +2022-11-01T15:23:10.9033131Z Receiving objects: 34% (4273/12567), 5.60 MiB | 5.45 MiB/s +2022-11-01T15:23:10.9275337Z Receiving objects: 35% (4399/12567), 5.60 MiB | 5.45 MiB/s +2022-11-01T15:23:11.0474018Z Receiving objects: 36% (4525/12567), 5.60 MiB | 5.45 MiB/s +2022-11-01T15:23:11.0614229Z Receiving objects: 37% (4650/12567), 5.60 MiB | 5.45 MiB/s +2022-11-01T15:23:11.0725415Z Receiving objects: 38% (4776/12567), 5.60 MiB | 5.45 MiB/s +2022-11-01T15:23:11.0818490Z Receiving objects: 39% (4902/12567), 5.60 MiB | 5.45 MiB/s +2022-11-01T15:23:11.0907264Z Receiving objects: 40% (5027/12567), 10.14 MiB | 6.64 MiB/s +2022-11-01T15:23:11.0974088Z Receiving objects: 41% (5153/12567), 10.14 MiB | 6.64 MiB/s +2022-11-01T15:23:11.1189127Z Receiving objects: 42% (5279/12567), 10.14 MiB | 6.64 MiB/s +2022-11-01T15:23:11.1576689Z Receiving objects: 43% (5404/12567), 10.14 MiB | 6.64 MiB/s +2022-11-01T15:23:11.1635112Z Receiving objects: 44% (5530/12567), 10.14 MiB | 6.64 MiB/s +2022-11-01T15:23:11.1783797Z Receiving objects: 45% (5656/12567), 10.14 MiB | 6.64 MiB/s +2022-11-01T15:23:11.1910308Z Receiving objects: 46% (5781/12567), 10.14 MiB | 6.64 MiB/s +2022-11-01T15:23:11.1973985Z Receiving objects: 47% (5907/12567), 10.14 MiB | 6.64 MiB/s +2022-11-01T15:23:11.2254839Z Receiving objects: 48% (6033/12567), 10.14 MiB | 6.64 MiB/s +2022-11-01T15:23:11.2318962Z Receiving objects: 49% (6158/12567), 10.14 MiB | 6.64 MiB/s +2022-11-01T15:23:11.2710865Z Receiving objects: 50% (6284/12567), 10.14 MiB | 6.64 MiB/s +2022-11-01T15:23:11.4267228Z Receiving objects: 51% (6410/12567), 10.14 MiB | 6.64 MiB/s +2022-11-01T15:23:11.5803346Z Receiving objects: 52% (6535/12567), 10.14 MiB | 6.64 MiB/s +2022-11-01T15:23:12.2068025Z Receiving objects: 52% (6537/12567), 17.98 MiB | 8.87 MiB/s +2022-11-01T15:23:12.5653011Z Receiving objects: 53% (6661/12567), 26.38 MiB | 10.44 MiB/s +2022-11-01T15:23:12.6958322Z Receiving objects: 53% (6662/12567), 26.38 MiB | 10.44 MiB/s +2022-11-01T15:23:12.7498019Z Receiving objects: 54% (6787/12567), 35.32 MiB | 11.67 MiB/s +2022-11-01T15:23:12.9576078Z Receiving objects: 55% (6912/12567), 35.32 MiB | 11.67 MiB/s +2022-11-01T15:23:13.0573630Z Receiving objects: 56% (7038/12567), 35.32 MiB | 11.67 MiB/s +2022-11-01T15:23:13.1975640Z Receiving objects: 57% (7164/12567), 35.32 MiB | 11.67 MiB/s +2022-11-01T15:23:13.2702208Z Receiving objects: 58% (7289/12567), 44.61 MiB | 12.65 MiB/s +2022-11-01T15:23:13.3294275Z Receiving objects: 59% (7415/12567), 44.61 MiB | 12.65 MiB/s +2022-11-01T15:23:13.3822287Z Receiving objects: 60% (7541/12567), 44.61 MiB | 12.65 MiB/s +2022-11-01T15:23:13.5599681Z Receiving objects: 61% (7666/12567), 44.61 MiB | 12.65 MiB/s +2022-11-01T15:23:13.5600309Z Receiving objects: 61% (7778/12567), 44.61 MiB | 12.65 MiB/s +2022-11-01T15:23:13.7119127Z Receiving objects: 62% (7792/12567), 44.61 MiB | 12.65 MiB/s +2022-11-01T15:23:14.4477813Z Receiving objects: 63% (7918/12567), 52.69 MiB | 13.08 MiB/s +2022-11-01T15:23:14.5754767Z Receiving objects: 64% (8043/12567), 64.39 MiB | 14.22 MiB/s +2022-11-01T15:23:15.3567308Z Receiving objects: 64% (8057/12567), 64.39 MiB | 14.22 MiB/s +2022-11-01T15:23:15.4930170Z Receiving objects: 65% (8169/12567), 85.50 MiB | 17.69 MiB/s +2022-11-01T15:23:15.5525805Z Receiving objects: 66% (8295/12567), 85.50 MiB | 17.69 MiB/s +2022-11-01T15:23:15.6305131Z Receiving objects: 66% (8356/12567), 85.50 MiB | 17.69 MiB/s +2022-11-01T15:23:15.7845146Z Receiving objects: 67% (8420/12567), 96.01 MiB | 18.97 MiB/s +2022-11-01T15:23:15.8950904Z Receiving objects: 68% (8546/12567), 96.01 MiB | 18.97 MiB/s +2022-11-01T15:23:16.1051375Z Receiving objects: 69% (8672/12567), 96.01 MiB | 18.97 MiB/s +2022-11-01T15:23:16.3043168Z Receiving objects: 70% (8797/12567), 96.01 MiB | 18.97 MiB/s +2022-11-01T15:23:16.6162611Z Receiving objects: 71% (8923/12567), 106.07 MiB | 19.39 MiB/s +2022-11-01T15:23:16.6815447Z Receiving objects: 71% (9011/12567), 106.07 MiB | 19.39 MiB/s +2022-11-01T15:23:16.7597143Z Receiving objects: 72% (9049/12567), 114.51 MiB | 19.40 MiB/s +2022-11-01T15:23:16.7696552Z Receiving objects: 73% (9174/12567), 114.51 MiB | 19.40 MiB/s +2022-11-01T15:23:16.8381002Z Receiving objects: 74% (9300/12567), 114.51 MiB | 19.40 MiB/s +2022-11-01T15:23:16.8584430Z Receiving objects: 75% (9426/12567), 114.51 MiB | 19.40 MiB/s +2022-11-01T15:23:16.9384015Z Receiving objects: 76% (9551/12567), 114.51 MiB | 19.40 MiB/s +2022-11-01T15:23:17.3179210Z Receiving objects: 77% (9677/12567), 114.51 MiB | 19.40 MiB/s +2022-11-01T15:23:17.3182197Z Receiving objects: 78% (9803/12567), 122.17 MiB | 19.07 MiB/s +2022-11-01T15:23:17.3869883Z Receiving objects: 79% (9928/12567), 122.17 MiB | 19.07 MiB/s +2022-11-01T15:23:17.5335850Z Receiving objects: 80% (10054/12567), 122.17 MiB | 19.07 MiB/s +2022-11-01T15:23:17.5428620Z Receiving objects: 81% (10180/12567), 122.17 MiB | 19.07 MiB/s +2022-11-01T15:23:17.5600130Z Receiving objects: 82% (10305/12567), 122.17 MiB | 19.07 MiB/s +2022-11-01T15:23:17.5640100Z Receiving objects: 82% (10382/12567), 122.17 MiB | 19.07 MiB/s +2022-11-01T15:23:17.6170093Z Receiving objects: 83% (10431/12567), 122.17 MiB | 19.07 MiB/s +2022-11-01T15:23:17.6260507Z Receiving objects: 84% (10557/12567), 122.17 MiB | 19.07 MiB/s +2022-11-01T15:23:17.6882844Z Receiving objects: 85% (10682/12567), 122.17 MiB | 19.07 MiB/s +2022-11-01T15:23:17.6964863Z Receiving objects: 86% (10808/12567), 131.07 MiB | 18.99 MiB/s +2022-11-01T15:23:17.7033288Z Receiving objects: 87% (10934/12567), 131.07 MiB | 18.99 MiB/s +2022-11-01T15:23:17.7862769Z Receiving objects: 88% (11059/12567), 131.07 MiB | 18.99 MiB/s +2022-11-01T15:23:17.9968632Z Receiving objects: 89% (11185/12567), 131.07 MiB | 18.99 MiB/s +2022-11-01T15:23:18.0444402Z Receiving objects: 90% (11311/12567), 131.07 MiB | 18.99 MiB/s +2022-11-01T15:23:18.0775190Z Receiving objects: 91% (11436/12567), 131.07 MiB | 18.99 MiB/s +2022-11-01T15:23:18.0824539Z Receiving objects: 92% (11562/12567), 131.07 MiB | 18.99 MiB/s +2022-11-01T15:23:18.0890030Z Receiving objects: 93% (11688/12567), 131.07 MiB | 18.99 MiB/s +2022-11-01T15:23:18.0956337Z Receiving objects: 94% (11813/12567), 131.07 MiB | 18.99 MiB/s +2022-11-01T15:23:18.1014935Z Receiving objects: 95% (11939/12567), 131.07 MiB | 18.99 MiB/s +2022-11-01T15:23:18.1056183Z Receiving objects: 96% (12065/12567), 131.07 MiB | 18.99 MiB/s +2022-11-01T15:23:18.1101897Z Receiving objects: 97% (12190/12567), 131.07 MiB | 18.99 MiB/s +2022-11-01T15:23:18.1271902Z Receiving objects: 98% (12316/12567), 131.07 MiB | 18.99 MiB/s +2022-11-01T15:23:18.1310792Z Receiving objects: 99% (12442/12567), 131.07 MiB | 18.99 MiB/s +2022-11-01T15:23:18.1311930Z remote: Total 12567 (delta 1595), reused 7195 (delta 1446), pack-reused 0 +2022-11-01T15:23:18.1338739Z Receiving objects: 100% (12567/12567), 131.07 MiB | 18.99 MiB/s +2022-11-01T15:23:18.1339954Z Receiving objects: 100% (12567/12567), 139.23 MiB | 16.22 MiB/s, done. +2022-11-01T15:23:18.1385156Z Resolving deltas: 0% (0/1595) +2022-11-01T15:23:18.1456938Z Resolving deltas: 1% (16/1595) +2022-11-01T15:23:18.1468555Z Resolving deltas: 2% (32/1595) +2022-11-01T15:23:18.1480623Z Resolving deltas: 3% (48/1595) +2022-11-01T15:23:18.1510723Z Resolving deltas: 4% (64/1595) +2022-11-01T15:23:18.1526135Z Resolving deltas: 5% (80/1595) +2022-11-01T15:23:18.1537025Z Resolving deltas: 6% (96/1595) +2022-11-01T15:23:18.1544963Z Resolving deltas: 7% (112/1595) +2022-11-01T15:23:18.1556566Z Resolving deltas: 8% (128/1595) +2022-11-01T15:23:18.1570240Z Resolving deltas: 9% (144/1595) +2022-11-01T15:23:18.1582264Z Resolving deltas: 10% (160/1595) +2022-11-01T15:23:18.1691779Z Resolving deltas: 11% (176/1595) +2022-11-01T15:23:18.1715280Z Resolving deltas: 12% (192/1595) +2022-11-01T15:23:18.1720797Z Resolving deltas: 13% (208/1595) +2022-11-01T15:23:18.1728838Z Resolving deltas: 14% (224/1595) +2022-11-01T15:23:18.1732276Z Resolving deltas: 15% (240/1595) +2022-11-01T15:23:18.1735362Z Resolving deltas: 16% (256/1595) +2022-11-01T15:23:18.1738747Z Resolving deltas: 17% (272/1595) +2022-11-01T15:23:18.1743520Z Resolving deltas: 18% (288/1595) +2022-11-01T15:23:18.1747596Z Resolving deltas: 19% (304/1595) +2022-11-01T15:23:18.1751835Z Resolving deltas: 20% (319/1595) +2022-11-01T15:23:18.1755707Z Resolving deltas: 21% (335/1595) +2022-11-01T15:23:18.1762459Z Resolving deltas: 22% (351/1595) +2022-11-01T15:23:18.1786752Z Resolving deltas: 23% (367/1595) +2022-11-01T15:23:18.1800095Z Resolving deltas: 24% (383/1595) +2022-11-01T15:23:18.1817527Z Resolving deltas: 25% (399/1595) +2022-11-01T15:23:18.1845355Z Resolving deltas: 26% (415/1595) +2022-11-01T15:23:18.1858445Z Resolving deltas: 27% (431/1595) +2022-11-01T15:23:18.1866810Z Resolving deltas: 28% (447/1595) +2022-11-01T15:23:18.1967962Z Resolving deltas: 29% (463/1595) +2022-11-01T15:23:18.2006641Z Resolving deltas: 30% (479/1595) +2022-11-01T15:23:18.2018922Z Resolving deltas: 31% (495/1595) +2022-11-01T15:23:18.2033737Z Resolving deltas: 32% (511/1595) +2022-11-01T15:23:18.2060821Z Resolving deltas: 33% (527/1595) +2022-11-01T15:23:18.2080072Z Resolving deltas: 34% (543/1595) +2022-11-01T15:23:18.2108427Z Resolving deltas: 35% (559/1595) +2022-11-01T15:23:18.2126164Z Resolving deltas: 36% (575/1595) +2022-11-01T15:23:18.2221258Z Resolving deltas: 37% (591/1595) +2022-11-01T15:23:18.2238691Z Resolving deltas: 38% (607/1595) +2022-11-01T15:23:18.2242266Z Resolving deltas: 39% (623/1595) +2022-11-01T15:23:18.2242686Z Resolving deltas: 40% (638/1595) +2022-11-01T15:23:18.2243401Z Resolving deltas: 41% (654/1595) +2022-11-01T15:23:18.2247475Z Resolving deltas: 42% (670/1595) +2022-11-01T15:23:18.2248012Z Resolving deltas: 43% (686/1595) +2022-11-01T15:23:18.2250915Z Resolving deltas: 44% (702/1595) +2022-11-01T15:23:18.2251757Z Resolving deltas: 45% (718/1595) +2022-11-01T15:23:18.2255808Z Resolving deltas: 46% (734/1595) +2022-11-01T15:23:18.2256261Z Resolving deltas: 47% (750/1595) +2022-11-01T15:23:18.2257458Z Resolving deltas: 48% (766/1595) +2022-11-01T15:23:18.2261205Z Resolving deltas: 49% (782/1595) +2022-11-01T15:23:18.2261740Z Resolving deltas: 50% (798/1595) +2022-11-01T15:23:18.2262498Z Resolving deltas: 51% (814/1595) +2022-11-01T15:23:18.2271025Z Resolving deltas: 52% (830/1595) +2022-11-01T15:23:18.2280763Z Resolving deltas: 53% (846/1595) +2022-11-01T15:23:18.2286419Z Resolving deltas: 54% (862/1595) +2022-11-01T15:23:18.2296969Z Resolving deltas: 55% (878/1595) +2022-11-01T15:23:18.2303419Z Resolving deltas: 56% (894/1595) +2022-11-01T15:23:18.2310028Z Resolving deltas: 57% (910/1595) +2022-11-01T15:23:18.2314981Z Resolving deltas: 58% (926/1595) +2022-11-01T15:23:18.2323520Z Resolving deltas: 59% (942/1595) +2022-11-01T15:23:18.2328697Z Resolving deltas: 60% (957/1595) +2022-11-01T15:23:18.2335792Z Resolving deltas: 61% (973/1595) +2022-11-01T15:23:18.2342110Z Resolving deltas: 62% (989/1595) +2022-11-01T15:23:18.2348324Z Resolving deltas: 63% (1005/1595) +2022-11-01T15:23:18.2354457Z Resolving deltas: 64% (1021/1595) +2022-11-01T15:23:18.2361497Z Resolving deltas: 65% (1037/1595) +2022-11-01T15:23:18.2370639Z Resolving deltas: 66% (1053/1595) +2022-11-01T15:23:18.2380549Z Resolving deltas: 67% (1069/1595) +2022-11-01T15:23:18.2387136Z Resolving deltas: 68% (1085/1595) +2022-11-01T15:23:18.2391989Z Resolving deltas: 69% (1101/1595) +2022-11-01T15:23:18.2398784Z Resolving deltas: 70% (1117/1595) +2022-11-01T15:23:18.2406442Z Resolving deltas: 71% (1133/1595) +2022-11-01T15:23:18.2412673Z Resolving deltas: 72% (1149/1595) +2022-11-01T15:23:18.2422301Z Resolving deltas: 73% (1165/1595) +2022-11-01T15:23:18.2427825Z Resolving deltas: 74% (1181/1595) +2022-11-01T15:23:18.2433572Z Resolving deltas: 75% (1197/1595) +2022-11-01T15:23:18.2438704Z Resolving deltas: 76% (1213/1595) +2022-11-01T15:23:18.2444857Z Resolving deltas: 77% (1229/1595) +2022-11-01T15:23:18.2450379Z Resolving deltas: 78% (1245/1595) +2022-11-01T15:23:18.2458830Z Resolving deltas: 79% (1261/1595) +2022-11-01T15:23:18.2464822Z Resolving deltas: 80% (1276/1595) +2022-11-01T15:23:18.2470368Z Resolving deltas: 81% (1292/1595) +2022-11-01T15:23:18.2477092Z Resolving deltas: 82% (1308/1595) +2022-11-01T15:23:18.2486290Z Resolving deltas: 83% (1324/1595) +2022-11-01T15:23:18.2495293Z Resolving deltas: 84% (1340/1595) +2022-11-01T15:23:18.2502703Z Resolving deltas: 85% (1356/1595) +2022-11-01T15:23:18.2509757Z Resolving deltas: 86% (1372/1595) +2022-11-01T15:23:18.2517689Z Resolving deltas: 87% (1388/1595) +2022-11-01T15:23:18.2526971Z Resolving deltas: 88% (1404/1595) +2022-11-01T15:23:18.2537951Z Resolving deltas: 89% (1420/1595) +2022-11-01T15:23:18.2547316Z Resolving deltas: 90% (1436/1595) +2022-11-01T15:23:18.2561578Z Resolving deltas: 91% (1452/1595) +2022-11-01T15:23:18.2579990Z Resolving deltas: 92% (1468/1595) +2022-11-01T15:23:18.2589743Z Resolving deltas: 93% (1484/1595) +2022-11-01T15:23:18.2595230Z Resolving deltas: 94% (1500/1595) +2022-11-01T15:23:18.2600818Z Resolving deltas: 95% (1516/1595) +2022-11-01T15:23:18.2611569Z Resolving deltas: 96% (1532/1595) +2022-11-01T15:23:18.2621438Z Resolving deltas: 97% (1548/1595) +2022-11-01T15:23:18.2626207Z Resolving deltas: 98% (1564/1595) +2022-11-01T15:23:18.2630366Z Resolving deltas: 99% (1580/1595) +2022-11-01T15:23:18.2685571Z Resolving deltas: 100% (1595/1595) +2022-11-01T15:23:18.2686158Z Resolving deltas: 100% (1595/1595), done. +2022-11-01T15:23:18.7231893Z From https://github.com/tgstation/tgstation +2022-11-01T15:23:18.7239390Z * [new ref] 90d58213531368fd97e9955fe80b75ad69c20f24 -> pull/70980/merge +2022-11-01T15:23:18.7262520Z ##[endgroup] +2022-11-01T15:23:18.7263398Z ##[group]Determining the checkout info +2022-11-01T15:23:18.7264882Z ##[endgroup] +2022-11-01T15:23:18.7274145Z ##[group]Checking out the ref +2022-11-01T15:23:18.7275402Z [command]/usr/bin/git checkout --progress --force refs/remotes/pull/70980/merge +2022-11-01T15:23:19.8646383Z Updating files: 63% (7322/11595) +2022-11-01T15:23:19.8892263Z Updating files: 64% (7421/11595) +2022-11-01T15:23:19.9117598Z Updating files: 65% (7537/11595) +2022-11-01T15:23:19.9395000Z Updating files: 66% (7653/11595) +2022-11-01T15:23:19.9581108Z Updating files: 67% (7769/11595) +2022-11-01T15:23:19.9854108Z Updating files: 68% (7885/11595) +2022-11-01T15:23:20.0092896Z Updating files: 69% (8001/11595) +2022-11-01T15:23:20.0541265Z Updating files: 70% (8117/11595) +2022-11-01T15:23:20.0650681Z Updating files: 71% (8233/11595) +2022-11-01T15:23:20.0764955Z Updating files: 72% (8349/11595) +2022-11-01T15:23:20.0853895Z Updating files: 73% (8465/11595) +2022-11-01T15:23:20.0939233Z Updating files: 74% (8581/11595) +2022-11-01T15:23:20.0992172Z Updating files: 75% (8697/11595) +2022-11-01T15:23:20.1498757Z Updating files: 76% (8813/11595) +2022-11-01T15:23:20.1610877Z Updating files: 77% (8929/11595) +2022-11-01T15:23:20.1643521Z Updating files: 78% (9045/11595) +2022-11-01T15:23:20.1892978Z Updating files: 79% (9161/11595) +2022-11-01T15:23:20.1990867Z Updating files: 80% (9276/11595) +2022-11-01T15:23:20.2065881Z Updating files: 81% (9392/11595) +2022-11-01T15:23:20.2137892Z Updating files: 82% (9508/11595) +2022-11-01T15:23:20.2198085Z Updating files: 83% (9624/11595) +2022-11-01T15:23:20.2257645Z Updating files: 84% (9740/11595) +2022-11-01T15:23:20.2323160Z Updating files: 85% (9856/11595) +2022-11-01T15:23:20.2380577Z Updating files: 86% (9972/11595) +2022-11-01T15:23:20.2444393Z Updating files: 87% (10088/11595) +2022-11-01T15:23:20.2544182Z Updating files: 88% (10204/11595) +2022-11-01T15:23:20.2807288Z Updating files: 89% (10320/11595) +2022-11-01T15:23:20.2939799Z Updating files: 90% (10436/11595) +2022-11-01T15:23:20.3191983Z Updating files: 91% (10552/11595) +2022-11-01T15:23:20.3258456Z Updating files: 92% (10668/11595) +2022-11-01T15:23:20.3340985Z Updating files: 93% (10784/11595) +2022-11-01T15:23:20.3423637Z Updating files: 94% (10900/11595) +2022-11-01T15:23:20.3500577Z Updating files: 95% (11016/11595) +2022-11-01T15:23:20.3558683Z Updating files: 96% (11132/11595) +2022-11-01T15:23:20.3634870Z Updating files: 97% (11248/11595) +2022-11-01T15:23:20.3814012Z Updating files: 98% (11364/11595) +2022-11-01T15:23:20.3892119Z Updating files: 99% (11480/11595) +2022-11-01T15:23:20.3892548Z Updating files: 100% (11595/11595) +2022-11-01T15:23:20.3892853Z Updating files: 100% (11595/11595), done. +2022-11-01T15:23:20.4056043Z Note: switching to 'refs/remotes/pull/70980/merge'. +2022-11-01T15:23:20.4056307Z +2022-11-01T15:23:20.4056668Z You are in 'detached HEAD' state. You can look around, make experimental +2022-11-01T15:23:20.4057485Z changes and commit them, and you can discard any commits you make in this +2022-11-01T15:23:20.4058470Z state without impacting any branches by switching back to a branch. +2022-11-01T15:23:20.4058838Z +2022-11-01T15:23:20.4059084Z If you want to create a new branch to retain commits you create, you may +2022-11-01T15:23:20.4060410Z do so (now or later) by using -c with the switch command. Example: +2022-11-01T15:23:20.4060709Z +2022-11-01T15:23:20.4061092Z git switch -c +2022-11-01T15:23:20.4061268Z +2022-11-01T15:23:20.4061433Z Or undo this operation with: +2022-11-01T15:23:20.4061641Z +2022-11-01T15:23:20.4061781Z git switch - +2022-11-01T15:23:20.4061964Z +2022-11-01T15:23:20.4062222Z Turn off this advice by setting config variable advice.detachedHead to false +2022-11-01T15:23:20.4062504Z +2022-11-01T15:23:20.4062736Z HEAD is now at 90d5821 Merge 1cb3ad143b2bd2b6467c31b7f52299c77448f1ee into 6ccb95a4ea337422d5d29cd85f5267e4c867ccff +2022-11-01T15:23:20.4116386Z ##[endgroup] +2022-11-01T15:23:20.4158288Z [command]/usr/bin/git log -1 --format='%H' +2022-11-01T15:23:20.4192267Z '90d58213531368fd97e9955fe80b75ad69c20f24' +2022-11-01T15:23:20.4605705Z ##[group]Run actions/cache@v3 +2022-11-01T15:23:20.4606069Z with: +2022-11-01T15:23:20.4606290Z path: ~/BYOND +2022-11-01T15:23:20.4606834Z key: Linux-byond- +2022-11-01T15:23:20.4607271Z ##[endgroup] +2022-11-01T15:23:22.1816608Z Received 0 of 4090426 (0.0%), 0.0 MBs/sec +2022-11-01T15:23:22.2496035Z Received 4090426 of 4090426 (100.0%), 3.6 MBs/sec +2022-11-01T15:23:22.2497318Z Cache Size: ~4 MB (4090426 B) +2022-11-01T15:23:22.2526348Z [command]/usr/bin/tar --use-compress-program unzstd -xf /home/runner/work/_temp/6dd95125-b59e-4597-b8ee-6c3714735e91/cache.tzst -P -C /home/runner/work/tgstation/tgstation +2022-11-01T15:23:22.3064448Z Cache restored successfully +2022-11-01T15:23:22.4635256Z Cache restored from key: Linux-byond- +2022-11-01T15:23:22.4810323Z ##[group]Run sudo systemctl start mysql +2022-11-01T15:23:22.4810903Z sudo systemctl start mysql +2022-11-01T15:23:22.4811432Z mysql -u root -proot -e 'CREATE DATABASE tg_ci;' +2022-11-01T15:23:22.4811815Z mysql -u root -proot tg_ci < SQL/tgstation_schema.sql +2022-11-01T15:23:22.4812211Z mysql -u root -proot -e 'CREATE DATABASE tg_ci_prefixed;' +2022-11-01T15:23:22.4812696Z mysql -u root -proot tg_ci_prefixed < SQL/tgstation_schema_prefixed.sql +2022-11-01T15:23:22.4876848Z shell: /usr/bin/bash -e {0} +2022-11-01T15:23:22.4877477Z ##[endgroup] +2022-11-01T15:23:27.2625132Z mysql: [Warning] Using a password on the command line interface can be insecure. +2022-11-01T15:23:27.3956584Z mysql: [Warning] Using a password on the command line interface can be insecure. +2022-11-01T15:23:28.2604742Z mysql: [Warning] Using a password on the command line interface can be insecure. +2022-11-01T15:23:28.2716557Z mysql: [Warning] Using a password on the command line interface can be insecure. +2022-11-01T15:23:29.0145539Z ##[group]Run sudo dpkg --add-architecture i386 +2022-11-01T15:23:29.0145924Z sudo dpkg --add-architecture i386 +2022-11-01T15:23:29.0146204Z sudo apt update || true +2022-11-01T15:23:29.0146531Z sudo apt install -o APT::Immediate-Configure=false libssl1.1:i386 +2022-11-01T15:23:29.0146860Z bash tools/ci/install_rust_g.sh +2022-11-01T15:23:29.0208114Z shell: /usr/bin/bash -e {0} +2022-11-01T15:23:29.0208371Z ##[endgroup] +2022-11-01T15:23:29.3467028Z +2022-11-01T15:23:29.3467957Z WARNING: apt does not have a stable CLI interface. Use with caution in scripts. +2022-11-01T15:23:29.3470221Z +2022-11-01T15:23:29.4665471Z Hit:1 http://azure.archive.ubuntu.com/ubuntu focal InRelease +2022-11-01T15:23:29.4669512Z Get:2 http://azure.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB] +2022-11-01T15:23:29.4687773Z Get:3 http://azure.archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB] +2022-11-01T15:23:29.4702492Z Get:4 http://azure.archive.ubuntu.com/ubuntu focal-security InRelease [114 kB] +2022-11-01T15:23:29.4705529Z Get:5 https://packages.microsoft.com/ubuntu/20.04/prod focal InRelease [10.5 kB] +2022-11-01T15:23:29.7585400Z Get:6 http://azure.archive.ubuntu.com/ubuntu focal-updates/main i386 Packages [745 kB] +2022-11-01T15:23:29.7767685Z Get:7 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [2196 kB] +2022-11-01T15:23:29.8010173Z Get:8 http://azure.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [972 kB] +2022-11-01T15:23:29.8070363Z Hit:9 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu focal InRelease +2022-11-01T15:23:29.8211172Z Get:10 http://azure.archive.ubuntu.com/ubuntu focal-updates/universe i386 Packages [697 kB] +2022-11-01T15:23:29.9292317Z Get:11 http://azure.archive.ubuntu.com/ubuntu focal-backports/universe i386 Packages [13.5 kB] +2022-11-01T15:23:29.9315932Z Get:12 http://azure.archive.ubuntu.com/ubuntu focal-backports/universe amd64 Packages [24.0 kB] +2022-11-01T15:23:29.9324114Z Get:13 http://azure.archive.ubuntu.com/ubuntu focal-backports/universe amd64 c-n-f Metadata [864 B] +2022-11-01T15:23:30.0626789Z Get:14 https://packages.microsoft.com/ubuntu/20.04/prod focal/main arm64 Packages [45.2 kB] +2022-11-01T15:23:30.0677343Z Get:15 https://packages.microsoft.com/ubuntu/20.04/prod focal/main amd64 Packages [204 kB] +2022-11-01T15:23:30.2127695Z Get:16 http://azure.archive.ubuntu.com/ubuntu focal-security/main amd64 Packages [1821 kB] +2022-11-01T15:23:30.2296608Z Get:17 http://azure.archive.ubuntu.com/ubuntu focal-security/main amd64 c-n-f Metadata [11.2 kB] +2022-11-01T15:23:30.2329110Z Get:18 http://azure.archive.ubuntu.com/ubuntu focal-security/universe amd64 Packages [743 kB] +2022-11-01T15:23:30.2861057Z Get:19 http://azure.archive.ubuntu.com/ubuntu focal-security/universe amd64 c-n-f Metadata [15.3 kB] +2022-11-01T15:23:30.6239298Z Get:20 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu focal/main i386 Packages [15.2 kB] +2022-11-01T15:23:46.7853764Z Fetched 7851 kB in 2s (4993 kB/s) +2022-11-01T15:23:48.1966173Z Reading package lists... +2022-11-01T15:23:48.4655905Z Building dependency tree... +2022-11-01T15:23:48.4674811Z Reading state information... +2022-11-01T15:23:48.6158045Z 30 packages can be upgraded. Run 'apt list --upgradable' to see them. +2022-11-01T15:23:48.6289670Z +2022-11-01T15:23:48.6290570Z WARNING: apt does not have a stable CLI interface. Use with caution in scripts. +2022-11-01T15:23:48.6290875Z +2022-11-01T15:23:48.7009344Z Reading package lists... +2022-11-01T15:23:48.9786347Z Building dependency tree... +2022-11-01T15:23:48.9806498Z Reading state information... +2022-11-01T15:23:49.1908267Z The following additional packages will be installed: +2022-11-01T15:23:49.1909169Z gcc-11-base:i386 libc6:i386 libcrypt1:i386 libgcc-s1 libgcc-s1:i386 +2022-11-01T15:23:49.1909925Z libidn2-0:i386 libunistring2:i386 +2022-11-01T15:23:49.1917188Z Suggested packages: +2022-11-01T15:23:49.1918006Z glibc-doc:i386 locales:i386 +2022-11-01T15:23:49.2785536Z The following NEW packages will be installed: +2022-11-01T15:23:49.2789401Z gcc-11-base:i386 libc6:i386 libcrypt1:i386 libgcc-s1:i386 libidn2-0:i386 +2022-11-01T15:23:49.2793380Z libssl1.1:i386 libunistring2:i386 +2022-11-01T15:23:49.2799841Z The following packages will be upgraded: +2022-11-01T15:23:49.2804848Z libgcc-s1 +2022-11-01T15:23:49.3261093Z 1 upgraded, 7 newly installed, 0 to remove and 29 not upgraded. +2022-11-01T15:23:49.4742625Z Need to get 4528 kB of archives. +2022-11-01T15:23:49.4743198Z After this operation, 19.3 MB of additional disk space will be used. +2022-11-01T15:23:49.4744237Z Get:1 http://azure.archive.ubuntu.com/ubuntu focal/main i386 libcrypt1 i386 1:4.4.10-10ubuntu4 [90.9 kB] +2022-11-01T15:23:49.6579955Z Get:2 http://azure.archive.ubuntu.com/ubuntu focal-updates/main i386 libc6 i386 2.31-0ubuntu9.9 [2580 kB] +2022-11-01T15:23:49.6658233Z Get:3 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu focal/main i386 gcc-11-base i386 11.1.0-1ubuntu1~20.04 [19.0 kB] +2022-11-01T15:23:50.0902580Z Get:4 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu focal/main amd64 libgcc-s1 amd64 11.1.0-1ubuntu1~20.04 [42.1 kB] +2022-11-01T15:23:50.1227741Z Get:5 http://azure.archive.ubuntu.com/ubuntu focal/main i386 libunistring2 i386 0.9.10-2 [377 kB] +2022-11-01T15:23:50.2138856Z Get:6 http://azure.archive.ubuntu.com/ubuntu focal/main i386 libidn2-0 i386 2.2.0-2 [51.4 kB] +2022-11-01T15:23:50.2991668Z Get:7 http://azure.archive.ubuntu.com/ubuntu focal-updates/main i386 libssl1.1 i386 1.1.1f-1ubuntu2.16 [1318 kB] +2022-11-01T15:23:50.5116502Z Get:8 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu focal/main i386 libgcc-s1 i386 11.1.0-1ubuntu1~20.04 [50.0 kB] +2022-11-01T15:23:51.2386768Z Preconfiguring packages ... +2022-11-01T15:23:51.3495462Z Fetched 4528 kB in 1s (3176 kB/s) +2022-11-01T15:23:51.3919752Z Selecting previously unselected package gcc-11-base:i386. +2022-11-01T15:23:51.4344862Z (Reading database ... +2022-11-01T15:23:51.4345195Z (Reading database ... 5% +2022-11-01T15:23:51.4345492Z (Reading database ... 10% +2022-11-01T15:23:51.4346277Z (Reading database ... 15% +2022-11-01T15:23:51.4346554Z (Reading database ... 20% +2022-11-01T15:23:51.4346817Z (Reading database ... 25% +2022-11-01T15:23:51.4347410Z (Reading database ... 30% +2022-11-01T15:23:51.4347706Z (Reading database ... 35% +2022-11-01T15:23:51.4348099Z (Reading database ... 40% +2022-11-01T15:23:51.4348378Z (Reading database ... 45% +2022-11-01T15:23:51.4348637Z (Reading database ... 50% +2022-11-01T15:23:51.4934309Z (Reading database ... 55% +2022-11-01T15:23:51.5685431Z (Reading database ... 60% +2022-11-01T15:23:51.6482633Z (Reading database ... 65% +2022-11-01T15:23:51.7528420Z (Reading database ... 70% +2022-11-01T15:23:51.9010214Z (Reading database ... 75% +2022-11-01T15:23:52.0151477Z (Reading database ... 80% +2022-11-01T15:23:52.1096967Z (Reading database ... 85% +2022-11-01T15:23:52.2608875Z (Reading database ... 90% +2022-11-01T15:23:52.3661328Z (Reading database ... 95% +2022-11-01T15:23:52.3661629Z (Reading database ... 100% +2022-11-01T15:23:52.3661963Z (Reading database ... 242126 files and directories currently installed.) +2022-11-01T15:23:52.3810032Z Preparing to unpack .../0-gcc-11-base_11.1.0-1ubuntu1~20.04_i386.deb ... +2022-11-01T15:23:52.3842110Z Unpacking gcc-11-base:i386 (11.1.0-1ubuntu1~20.04) ... +2022-11-01T15:23:52.6152846Z Preparing to unpack .../1-libgcc-s1_11.1.0-1ubuntu1~20.04_amd64.deb ... +2022-11-01T15:23:52.7192789Z Unpacking libgcc-s1:amd64 (11.1.0-1ubuntu1~20.04) over (10.3.0-1ubuntu1~20.04) ... +2022-11-01T15:23:52.7808541Z Selecting previously unselected package libgcc-s1:i386. +2022-11-01T15:23:52.8066352Z Preparing to unpack .../2-libgcc-s1_11.1.0-1ubuntu1~20.04_i386.deb ... +2022-11-01T15:23:52.8100949Z Unpacking libgcc-s1:i386 (11.1.0-1ubuntu1~20.04) ... +2022-11-01T15:23:52.8534885Z Selecting previously unselected package libcrypt1:i386. +2022-11-01T15:23:52.8817109Z Preparing to unpack .../3-libcrypt1_1%3a4.4.10-10ubuntu4_i386.deb ... +2022-11-01T15:23:52.8847883Z Unpacking libcrypt1:i386 (1:4.4.10-10ubuntu4) ... +2022-11-01T15:23:53.0566375Z Selecting previously unselected package libc6:i386. +2022-11-01T15:23:53.0861196Z Preparing to unpack .../4-libc6_2.31-0ubuntu9.9_i386.deb ... +2022-11-01T15:23:53.2571404Z Unpacking libc6:i386 (2.31-0ubuntu9.9) ... +2022-11-01T15:23:53.7102365Z Replacing files in old package libc6-i386 (2.31-0ubuntu9.9) ... +2022-11-01T15:23:53.8128077Z Selecting previously unselected package libunistring2:i386. +2022-11-01T15:23:53.8390204Z Preparing to unpack .../5-libunistring2_0.9.10-2_i386.deb ... +2022-11-01T15:23:53.8406925Z Unpacking libunistring2:i386 (0.9.10-2) ... +2022-11-01T15:23:54.3087452Z Selecting previously unselected package libidn2-0:i386. +2022-11-01T15:23:54.3331996Z Preparing to unpack .../6-libidn2-0_2.2.0-2_i386.deb ... +2022-11-01T15:23:54.4067995Z Unpacking libidn2-0:i386 (2.2.0-2) ... +2022-11-01T15:23:55.0668783Z Selecting previously unselected package libssl1.1:i386. +2022-11-01T15:23:55.0979147Z Preparing to unpack .../7-libssl1.1_1.1.1f-1ubuntu2.16_i386.deb ... +2022-11-01T15:23:55.1128241Z Unpacking libssl1.1:i386 (1.1.1f-1ubuntu2.16) ... +2022-11-01T15:23:55.5915523Z Setting up gcc-11-base:i386 (11.1.0-1ubuntu1~20.04) ... +2022-11-01T15:23:55.6480293Z Setting up libgcc-s1:amd64 (11.1.0-1ubuntu1~20.04) ... +2022-11-01T15:23:55.7536432Z Setting up libgcc-s1:i386 (11.1.0-1ubuntu1~20.04) ... +2022-11-01T15:23:55.8152741Z Setting up libcrypt1:i386 (1:4.4.10-10ubuntu4) ... +2022-11-01T15:23:55.9483752Z Setting up libc6:i386 (2.31-0ubuntu9.9) ... +2022-11-01T15:23:56.2906587Z Setting up libssl1.1:i386 (1.1.1f-1ubuntu2.16) ... +2022-11-01T15:23:56.4402654Z Setting up libunistring2:i386 (0.9.10-2) ... +2022-11-01T15:23:56.4473735Z Setting up libidn2-0:i386 (2.2.0-2) ... +2022-11-01T15:23:56.4556493Z Processing triggers for libc-bin (2.31-0ubuntu9.9) ... +2022-11-01T15:24:19.5231907Z 2022-11-01 15:24:19 URL:https://objects.githubusercontent.com/github-production-release-asset-2e65be/127494547/92c6bbfc-0d51-48ea-b586-9cd01c071d25?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20221101%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221101T152419Z&X-Amz-Expires=300&X-Amz-Signature=096796f299665e0b83404bf48a3be6669d780d8bafabb5a18038d4e1de323277&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=127494547&response-content-disposition=attachment%3B%20filename%3Dlibrust_g.so&response-content-type=application%2Foctet-stream [72809008/72809008] -> "/home/runner/.byond/bin/librust_g.so" [1] +2022-11-01T15:24:19.5331036Z linux-gate.so.1 (0xf7f93000) +2022-11-01T15:24:19.5332151Z libssl.so.1.1 => /lib/i386-linux-gnu/libssl.so.1.1 (0xf77c5000) +2022-11-01T15:24:19.5332758Z libcrypto.so.1.1 => /lib/i386-linux-gnu/libcrypto.so.1.1 (0xf750d000) +2022-11-01T15:24:19.5335819Z libz.so.1 => /lib32/libz.so.1 (0xf74ef000) +2022-11-01T15:24:19.5336449Z libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf74d0000) +2022-11-01T15:24:19.5337053Z libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf74ad000) +2022-11-01T15:24:19.5338254Z libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf73a8000) +2022-11-01T15:24:19.5343540Z libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf73a2000) +2022-11-01T15:24:19.5344153Z libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf71b3000) +2022-11-01T15:24:19.5344637Z /lib/ld-linux.so.2 (0xf7f95000) +2022-11-01T15:24:19.5376954Z ##[group]Run bash tools/ci/install_auxlua.sh +2022-11-01T15:24:19.5377389Z bash tools/ci/install_auxlua.sh +2022-11-01T15:24:19.5438035Z shell: /usr/bin/bash -e {0} +2022-11-01T15:24:19.5438277Z ##[endgroup] +2022-11-01T15:24:20.0520918Z 2022-11-01 15:24:20 URL:https://objects.githubusercontent.com/github-production-release-asset-2e65be/473295481/bb55dc2f-8248-4032-ad66-b80cb61a84f3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20221101%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221101T152408Z&X-Amz-Expires=300&X-Amz-Signature=f0ea96a2ae5093c3051eb36ca625d0917a1cc9e11ecef63953f9837499a4b7be&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=473295481&response-content-disposition=attachment%3B%20filename%3Dlibauxlua.so&response-content-type=application%2Foctet-stream [5781068/5781068] -> "/home/runner/.byond/bin/libauxlua.so" [1] +2022-11-01T15:24:20.0637194Z linux-gate.so.1 (0xf7ed0000) +2022-11-01T15:24:20.0638001Z libstdc++.so.6 => /lib32/libstdc++.so.6 (0xf7ac9000) +2022-11-01T15:24:20.0638990Z libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7aaa000) +2022-11-01T15:24:20.0639537Z libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7a87000) +2022-11-01T15:24:20.0640086Z libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7982000) +2022-11-01T15:24:20.0640535Z libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf797c000) +2022-11-01T15:24:20.0641053Z libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf778d000) +2022-11-01T15:24:20.0641431Z /lib/ld-linux.so.2 (0xf7ed2000) +2022-11-01T15:24:20.0687471Z ##[group]Run bash tools/ci/install_byond.sh +2022-11-01T15:24:20.0691349Z bash tools/ci/install_byond.sh +2022-11-01T15:24:20.0691690Z source $HOME/BYOND/byond/bin/byondsetup +2022-11-01T15:24:20.0692049Z tools/build/build --ci dm -DCIBUILDING -DANSICOLORS +2022-11-01T15:24:20.0788693Z shell: /usr/bin/bash -e {0} +2022-11-01T15:24:20.0788944Z ##[endgroup] +2022-11-01T15:24:20.0904985Z Setting up BYOND. +2022-11-01T15:24:20.1285049Z % Total % Received % Xferd Average Speed Time Time Time Current +2022-11-01T15:24:20.1288558Z Dload Upload Total Spent Left Speed +2022-11-01T15:24:20.1289906Z +2022-11-01T15:24:20.2648629Z 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +2022-11-01T15:24:20.2651476Z 100 4021k 100 4021k 0 0 28.8M 0 --:--:-- --:--:-- --:--:-- 28.8M +2022-11-01T15:24:20.2868719Z Archive: byond.zip +2022-11-01T15:24:20.2869523Z creating: byond/ +2022-11-01T15:24:20.2872392Z creating: byond/key/ +2022-11-01T15:24:20.2872809Z creating: byond/web/ +2022-11-01T15:24:20.2873278Z inflating: byond/web/child.dms +2022-11-01T15:24:20.2873868Z inflating: byond/web/button.dms +2022-11-01T15:24:20.2874291Z inflating: byond/web/input.dms +2022-11-01T15:24:20.2874708Z inflating: byond/web/text.dms +2022-11-01T15:24:20.2990682Z inflating: byond/web/webclient.dart.js +2022-11-01T15:24:20.2991338Z inflating: byond/web/verbmenu.dms +2022-11-01T15:24:20.2992247Z inflating: byond/web/defaultSkin.dms +2022-11-01T15:24:20.2994907Z inflating: byond/web/hotbar.dms +2022-11-01T15:24:20.2995370Z inflating: byond/web/label.dms +2022-11-01T15:24:20.2997432Z inflating: byond/web/alert.dms +2022-11-01T15:24:20.3045767Z inflating: byond/web/message.dms +2022-11-01T15:24:20.3046084Z inflating: byond/web/drag.png +2022-11-01T15:24:20.3046357Z inflating: byond/web/map.dms +2022-11-01T15:24:20.3046639Z inflating: byond/web/splashlogo.png +2022-11-01T15:24:20.3046920Z inflating: byond/web/drop.png +2022-11-01T15:24:20.3109752Z inflating: byond/web/ext.js +2022-11-01T15:24:20.3110039Z inflating: byond/web/file.dms +2022-11-01T15:24:20.3110743Z inflating: byond/web/grid.dms +2022-11-01T15:24:20.3112568Z inflating: byond/web/bar.dms +2022-11-01T15:24:20.3116279Z inflating: byond/web/dpad.dms +2022-11-01T15:24:20.3117768Z inflating: byond/web/output.dms +2022-11-01T15:24:20.3118380Z inflating: byond/web/tab.dms +2022-11-01T15:24:20.3121184Z inflating: byond/web/info.dms +2022-11-01T15:24:20.3125342Z inflating: byond/web/color.dms +2022-11-01T15:24:20.3127736Z inflating: byond/web/gamepad.dms +2022-11-01T15:24:20.3129918Z inflating: byond/web/browser.dms +2022-11-01T15:24:20.3130867Z inflating: byond/web/status.dms +2022-11-01T15:24:20.3131904Z inflating: byond/web/any.dms +2022-11-01T15:24:20.3133198Z inflating: byond/web/pane.dms +2022-11-01T15:24:20.3134980Z inflating: byond/web/pop.dms +2022-11-01T15:24:20.3136094Z inflating: byond/license.txt +2022-11-01T15:24:20.3136925Z inflating: byond/legal.txt +2022-11-01T15:24:20.3138018Z inflating: byond/Makefile +2022-11-01T15:24:20.3138748Z creating: byond/man/ +2022-11-01T15:24:20.3140374Z creating: byond/man/man6/ +2022-11-01T15:24:20.3140865Z inflating: byond/man/man6/DreamDaemon.6 +2022-11-01T15:24:20.3142127Z inflating: byond/man/man6/DreamMaker.6 +2022-11-01T15:24:20.3149532Z creating: byond/lib/ +2022-11-01T15:24:20.3149763Z creating: byond/host/ +2022-11-01T15:24:20.3150009Z inflating: byond/host/readme.html +2022-11-01T15:24:20.3150561Z inflating: byond/host/readme-unix.txt +2022-11-01T15:24:20.3150816Z creating: byond/host/home/ +2022-11-01T15:24:20.3151052Z creating: byond/host/home/root/ +2022-11-01T15:24:20.3151304Z creating: byond/host/home/root/byond/ +2022-11-01T15:24:20.3151781Z creating: byond/host/home/root/byond/tools/ +2022-11-01T15:24:20.3152089Z creating: byond/host/home/root/byond/tools/root/ +2022-11-01T15:24:20.3153050Z inflating: byond/host/home/root/byond/tools/root/root.dmb +2022-11-01T15:24:20.3154330Z creating: byond/host/shared/ +2022-11-01T15:24:20.3155440Z creating: byond/host/shared/byond/ +2022-11-01T15:24:20.3156763Z creating: byond/host/shared/byond/tools/ +2022-11-01T15:24:20.3157942Z creating: byond/host/shared/byond/tools/ftp/ +2022-11-01T15:24:20.3159544Z inflating: byond/host/shared/byond/tools/ftp/ftp.dmb +2022-11-01T15:24:20.3159981Z creating: byond/host/shared/byond/tools/admin/ +2022-11-01T15:24:20.3172339Z inflating: byond/host/shared/byond/tools/admin/admin.dmb +2022-11-01T15:24:20.3172798Z creating: byond/host/shared-web/ +2022-11-01T15:24:20.3173421Z creating: byond/host/shared-web/web/ +2022-11-01T15:24:20.3173784Z creating: byond/host/shared-web/web/tools/ +2022-11-01T15:24:20.3174165Z creating: byond/host/shared-web/web/tools/admin/ +2022-11-01T15:24:20.3176681Z inflating: byond/host/shared-web/web/tools/admin/index.dmb +2022-11-01T15:24:20.3186829Z inflating: byond/host/host.dmb +2022-11-01T15:24:20.3187123Z inflating: byond/host/host.start +2022-11-01T15:24:20.3188445Z inflating: byond/host/hostconf.orig +2022-11-01T15:24:20.3189903Z inflating: byond/host/hostconf.txt +2022-11-01T15:24:20.3191949Z inflating: byond/readme.txt +2022-11-01T15:24:20.3192209Z creating: byond/bin/ +2022-11-01T15:24:20.3193769Z inflating: byond/bin/byondexec +2022-11-01T15:24:20.3195439Z inflating: byond/bin/DreamDownload +2022-11-01T15:24:20.3908232Z inflating: byond/bin/libbyond.so +2022-11-01T15:24:20.4069319Z inflating: byond/bin/libext.so +2022-11-01T15:24:20.4073220Z inflating: byond/bin/DreamDaemon +2022-11-01T15:24:20.4080176Z inflating: byond/bin/DreamMaker +2022-11-01T15:24:20.4080431Z creating: byond/cfg/ +2022-11-01T15:24:20.4080676Z inflating: byond/cfg/release.txt +2022-11-01T15:24:20.4266638Z *************************** +2022-11-01T15:24:20.4273089Z Now run the following command: +2022-11-01T15:24:20.4285743Z +2022-11-01T15:24:20.4296269Z source /home/runner/BYOND/byond/bin/byondsetup +2022-11-01T15:24:20.4307061Z +2022-11-01T15:24:20.4314771Z If it generates errors, your shell is not compatible with 'sh', so you will +2022-11-01T15:24:20.4321421Z have to edit byondsetup and make it work with your shell. If the script works, you should be able to run DreamDaemon. +2022-11-01T15:24:20.4332109Z +2022-11-01T15:24:20.4340024Z IMPORTANT: once you have the script working, you must add the above line +2022-11-01T15:24:20.4346843Z to your startup script. The name of your startup script depends on the +2022-11-01T15:24:20.4352983Z shell you use. Typical ones are .profile or .bash_profile. +2022-11-01T15:24:20.4363091Z +2022-11-01T15:24:20.4371649Z Once everything is working, you can find out more about the software +2022-11-01T15:24:20.4381742Z by doing 'man DreamDaemon'. A host server has also been included +2022-11-01T15:24:20.4389897Z so edit host/hostconf.txt and boot up your world server! +2022-11-01T15:24:20.4400150Z *************************** +2022-11-01T15:24:21.3481300Z Using system-wide Node v16.18.0 +2022-11-01T15:24:22.7088337Z :: Juke Build version 0.8.1 +2022-11-01T15:24:23.2208661Z => Starting 'dm' +2022-11-01T15:24:23.2218632Z :: Using defines: CBT, CIBUILDING, ANSICOLORS +2022-11-01T15:24:23.6167555Z DM compiler version 514.1588 +2022-11-01T15:24:23.6168274Z loading tgstation.m.dme +2022-11-01T15:24:34.0461685Z loading interface/skin.dmf +2022-11-01T15:25:38.2374769Z loading map_files/generic/CentCom.dmm +2022-11-01T15:25:39.2778196Z saving tgstation.m.dmb (DEBUG mode) +2022-11-01T15:25:40.4869514Z tgstation.m.dmb - 0 errors, 0 warnings (11/1/22 3:25 pm) +2022-11-01T15:25:40.4869848Z Total time: 1:17 +2022-11-01T15:25:41.7065548Z => Finished 'dm' in 78.486s +2022-11-01T15:25:41.7070924Z => Done in 78.995s +2022-11-01T15:25:41.7168392Z ##[group]Run source $HOME/BYOND/byond/bin/byondsetup +2022-11-01T15:25:41.7168778Z source $HOME/BYOND/byond/bin/byondsetup +2022-11-01T15:25:41.7169083Z bash tools/ci/run_server.sh tramstation +2022-11-01T15:25:41.7233910Z shell: /usr/bin/bash -e {0} +2022-11-01T15:25:41.7234485Z ##[endgroup] +2022-11-01T15:25:41.7349856Z Testing tramstation +2022-11-01T15:25:42.0259046Z cp: cannot stat 'tgui/packages/tgfont/dist/*': No such file or directory +2022-11-01T15:25:42.0443276Z Tue Nov 1 15:25:42 2022 +2022-11-01T15:25:42.0444066Z World opened on network port 53835. +2022-11-01T15:25:42.0446892Z Welcome BYOND! (5.0 Public Version 514.1588) +2022-11-01T15:26:04.0921674Z 865 global variables +2022-11-01T15:26:04.9224562Z World loaded at 15:26:04! +2022-11-01T15:26:04.9749013Z Running /tg/ revision: +2022-11-01T15:26:04.9749563Z No commit information +2022-11-01T15:26:04.9837092Z Loading config file config.txt... +2022-11-01T15:26:04.9841145Z Loading config file maps.txt... +2022-11-01T15:26:04.9868634Z Unable to locate admins backup file. +2022-11-01T15:26:06.0048294Z Initialized Title Screen subsystem within 0 seconds! +2022-11-01T15:26:06.0049007Z Initialized Server Tasks subsystem within 0 seconds! +2022-11-01T15:26:06.0049497Z Initialized Input subsystem within 0 seconds! +2022-11-01T15:26:06.0125643Z Initialized Profiler subsystem within 0 seconds! +2022-11-01T15:26:06.0126234Z Initialized Database subsystem within 0 seconds! +2022-11-01T15:26:06.0126723Z Initialized Blackbox subsystem within 0 seconds! +2022-11-01T15:26:06.0129042Z Initialized Sounds subsystem within 0 seconds! +2022-11-01T15:26:06.0301324Z Initialized Instruments subsystem within 0.02 seconds! +2022-11-01T15:26:06.4428754Z Initialized Greyscale subsystem within 0.41 seconds! +2022-11-01T15:26:06.4429170Z Initialized Vis contents overlays subsystem within 0 seconds! +2022-11-01T15:26:06.4429549Z Initialized Security Level subsystem within 0 seconds! +2022-11-01T15:26:06.4465567Z Initialized Station subsystem within 0 seconds! +2022-11-01T15:26:06.4465936Z Initialized Quirks subsystem within 0 seconds! +2022-11-01T15:26:06.4599231Z Initialized Reagents subsystem within 0.01 seconds! +2022-11-01T15:26:06.4603336Z Initialized Events subsystem within 0 seconds! +2022-11-01T15:26:06.4668892Z Initialized IDs and Access subsystem within 0.01 seconds! +2022-11-01T15:26:06.4669458Z Initialized Jobs subsystem within 0 seconds! +2022-11-01T15:26:06.4670198Z Initialized AI movement subsystem within 0 seconds! +2022-11-01T15:26:06.4693524Z Initialized Ticker subsystem within 0 seconds! +2022-11-01T15:26:06.4698134Z Initialized AI Controller Ticker subsystem within 0 seconds! +2022-11-01T15:26:06.4699769Z Initialized AI Behavior Ticker subsystem within 0 seconds! +2022-11-01T15:26:06.4864335Z Initialized Trading Card Game subsystem within 0.02 seconds! +2022-11-01T15:26:06.4867314Z Loading Tramstation... +2022-11-01T15:26:09.0639832Z Loaded Station in 2.6s! +2022-11-01T15:26:11.3030341Z Loaded Lavaland in 2.1s! +2022-11-01T15:26:12.3779637Z Ruin loader finished with 0 left to spend. +2022-11-01T15:26:12.4524433Z Ruin loader finished with 0 left to spend. +2022-11-01T15:26:12.8605850Z Cave Generator finished in 0.4s! +2022-11-01T15:26:12.9076303Z Cave Generator finished in 0.1s! +2022-11-01T15:26:13.9109655Z Initialized Mapping subsystem within 7.42 seconds! +2022-11-01T15:26:39.1717128Z The BYOND hub reports that port 53835 is not reachable. +2022-11-01T15:26:42.3867216Z Initialized Early Assets subsystem within 28.47 seconds! +2022-11-01T15:26:42.4328496Z Initialized Research subsystem within 0.05 seconds! +2022-11-01T15:26:42.4331134Z Initialized Time Tracking subsystem within 0 seconds! +2022-11-01T15:26:42.4436988Z Initialized Networks subsystem within 0.01 seconds! +2022-11-01T15:26:42.4726624Z Initialized Spatial Grid subsystem within 0.03 seconds! +2022-11-01T15:26:42.4728372Z Initialized Economy subsystem within 0 seconds! +2022-11-01T15:26:42.4728944Z Initialized Restaurant subsystem within 0 seconds! +2022-11-01T15:27:25.2172855Z ## NOTICE: morgue_cadaver_disable_nonhumans. There are no valid roundstart nonhuman races enabled. Defaulting to humans only! +2022-11-01T15:27:25.7106020Z ## NOTICE: morgue_cadaver_disable_nonhumans. There are no valid roundstart nonhuman races enabled. Defaulting to humans only! +2022-11-01T15:27:32.9578334Z Initialized Atoms subsystem within 50.48 seconds! +2022-11-01T15:27:32.9805933Z Initialized Language subsystem within 0.01 seconds! +2022-11-01T15:27:33.0740878Z Initialized Machines subsystem within 0.09 seconds! +2022-11-01T15:27:33.0747270Z Initialized Skills subsystem within 0 seconds! +2022-11-01T15:27:33.0750239Z Initialized Addiction subsystem within 0 seconds! +2022-11-01T15:27:33.0763134Z Initialized Blackmarket subsystem within 0 seconds! +2022-11-01T15:27:33.0772232Z Initialized Disease subsystem within 0 seconds! +2022-11-01T15:27:33.0772589Z Initialized Fluid subsystem within 0 seconds! +2022-11-01T15:27:33.0772923Z Initialized Smoke subsystem within 0 seconds! +2022-11-01T15:27:33.0773294Z Initialized Foam subsystem within 0 seconds! +2022-11-01T15:27:33.0773619Z Initialized Lag Switch subsystem within 0 seconds! +2022-11-01T15:27:33.1054121Z Initialized Library Loading subsystem within 0.03 seconds! +2022-11-01T15:27:33.4024857Z Initialized Lua Scripting subsystem within 0.3 seconds! +2022-11-01T15:27:33.4027535Z Initialized Night Shift subsystem within 0 seconds! +2022-11-01T15:27:33.4029596Z Initialized Sun subsystem within 0 seconds! +2022-11-01T15:27:33.4063599Z Initialized Traitor subsystem within 0 seconds! +2022-11-01T15:27:33.4335232Z Initialized Wardrobe subsystem within 0.03 seconds! +2022-11-01T15:27:33.4336023Z Initialized Weather subsystem within 0 seconds! +2022-11-01T15:27:33.4338457Z Initialized Wiremod Composite Templates subsystem within 0 seconds! +2022-11-01T15:27:39.6841918Z Initialized Atmospherics subsystem within 6.25 seconds! +2022-11-01T15:27:39.6858388Z Initialized Persistence subsystem within 0 seconds! +2022-11-01T15:27:39.6861179Z Initialized Persistent Paintings subsystem within 0 seconds! +2022-11-01T15:27:39.6864229Z Initialized Vote subsystem within 0 seconds! +2022-11-01T15:27:53.6977895Z Initialized Assets subsystem within 14.01 seconds! +2022-11-01T15:27:56.4493673Z Initialized Icon Smoothing subsystem within 2.75 seconds! +2022-11-01T15:27:56.4505231Z Initialized XKeyScore subsystem within 0 seconds! +2022-11-01T15:27:56.4524307Z Initialized PRISM subsystem within 0 seconds! +2022-11-01T15:28:04.6339924Z Initialized Lighting subsystem within 8.18 seconds! +2022-11-01T15:28:07.7698313Z Initialized Shuttle subsystem within 3.14 seconds! +2022-11-01T15:28:07.7749093Z Initialized Pathfinder subsystem within 0 seconds! +2022-11-01T15:28:07.7749434Z Initialized Ban Cache subsystem within 0 seconds! +2022-11-01T15:28:07.7749744Z Initialized Init Profiler subsystem within 0 seconds! +2022-11-01T15:28:07.7750061Z Initialized Chat subsystem within 0 seconds! +2022-11-01T15:28:07.7750369Z Initializations complete within 121.7 seconds! +2022-11-01T15:28:07.7824332Z Game start took 0s +2022-11-01T15:28:18.9688166Z ##[group]/datum/unit_test/log_mapping +2022-11-01T15:28:18.9688840Z +2022-11-01T15:28:18.9691942Z PASS /datum/unit_test/log_mapping 0s +2022-11-01T15:28:18.9692629Z ##[endgroup] +2022-11-01T15:28:19.0858950Z ##[group]/datum/unit_test/ablative_hood_hud +2022-11-01T15:28:19.1163124Z +2022-11-01T15:28:19.1164826Z PASS /datum/unit_test/ablative_hood_hud 0.1s +2022-11-01T15:28:19.1165814Z ##[endgroup] +2022-11-01T15:28:19.1391399Z ##[group]/datum/unit_test/ablative_hood_hud_with_helmet +2022-11-01T15:28:19.1679738Z +2022-11-01T15:28:19.1680798Z PASS /datum/unit_test/ablative_hood_hud_with_helmet 0s +2022-11-01T15:28:19.1684214Z ##[endgroup] +2022-11-01T15:28:19.1915312Z ##[group]/datum/unit_test/achievements +2022-11-01T15:28:19.2020908Z +2022-11-01T15:28:19.2021795Z PASS /datum/unit_test/achievements 0.1s +2022-11-01T15:28:19.2022783Z ##[endgroup] +2022-11-01T15:28:19.2454845Z ##[group]/datum/unit_test/anchored_mobs +2022-11-01T15:28:19.2456383Z +2022-11-01T15:28:19.2457685Z PASS /datum/unit_test/anchored_mobs 0s +2022-11-01T15:28:19.2458601Z ##[endgroup] +2022-11-01T15:28:19.2632595Z ##[group]/datum/unit_test/anonymous_themes +2022-11-01T15:28:19.4123645Z +2022-11-01T15:28:19.4125365Z PASS /datum/unit_test/anonymous_themes 0.2s +2022-11-01T15:28:19.4128592Z ##[endgroup] +2022-11-01T15:28:19.6372545Z ##[group]/datum/unit_test/autowiki +2022-11-01T15:28:21.1559221Z +2022-11-01T15:28:21.1560055Z PASS /datum/unit_test/autowiki 1.5s +2022-11-01T15:28:21.1560742Z ##[endgroup] +2022-11-01T15:28:22.6418059Z ##[group]/datum/unit_test/autowiki_include_template +2022-11-01T15:28:22.6418298Z +2022-11-01T15:28:22.6419112Z PASS /datum/unit_test/autowiki_include_template 0s +2022-11-01T15:28:22.6419629Z ##[endgroup] +2022-11-01T15:28:22.6592281Z ##[group]/datum/unit_test/barsigns_icon +2022-11-01T15:28:22.6850472Z +2022-11-01T15:28:22.6851042Z PASS /datum/unit_test/barsigns_icon 0s +2022-11-01T15:28:22.6851783Z ##[endgroup] +2022-11-01T15:28:22.7025607Z ##[group]/datum/unit_test/barsigns_name +2022-11-01T15:28:22.7025827Z +2022-11-01T15:28:22.7026411Z PASS /datum/unit_test/barsigns_name 0s +2022-11-01T15:28:22.7026869Z ##[endgroup] +2022-11-01T15:28:22.7196300Z ##[group]/datum/unit_test/bespoke_id +2022-11-01T15:28:22.7196495Z +2022-11-01T15:28:22.7196933Z PASS /datum/unit_test/bespoke_id 0s +2022-11-01T15:28:22.7197373Z ##[endgroup] +2022-11-01T15:28:22.7528217Z ##[group]/datum/unit_test/binary_insert +2022-11-01T15:28:22.7528455Z +2022-11-01T15:28:22.7528943Z PASS /datum/unit_test/binary_insert 0s +2022-11-01T15:28:22.7529444Z ##[endgroup] +2022-11-01T15:28:22.7720960Z ##[group]/datum/unit_test/bloody_footprints +2022-11-01T15:28:22.8157307Z +2022-11-01T15:28:22.8158188Z PASS /datum/unit_test/bloody_footprints 0.1s +2022-11-01T15:28:22.8158909Z ##[endgroup] +2022-11-01T15:28:22.9653160Z ##[group]/datum/unit_test/breath_sanity +2022-11-01T15:28:23.0154449Z +2022-11-01T15:28:23.0155311Z PASS /datum/unit_test/breath_sanity 0.1s +2022-11-01T15:28:23.0155975Z ##[endgroup] +2022-11-01T15:28:23.0421572Z ##[group]/datum/unit_test/breath_sanity_plasmamen +2022-11-01T15:28:23.0966156Z +2022-11-01T15:28:23.0966990Z PASS /datum/unit_test/breath_sanity_plasmamen 0s +2022-11-01T15:28:23.0967848Z ##[endgroup] +2022-11-01T15:28:23.1238973Z ##[group]/datum/unit_test/breath_sanity_ashwalker +2022-11-01T15:28:23.1864867Z +2022-11-01T15:28:23.1865526Z PASS /datum/unit_test/breath_sanity_ashwalker 0s +2022-11-01T15:28:23.1866107Z ##[endgroup] +2022-11-01T15:28:23.2143094Z ##[group]/datum/unit_test/cable_powernets +2022-11-01T15:28:23.2143293Z +2022-11-01T15:28:23.2143753Z PASS /datum/unit_test/cable_powernets 0s +2022-11-01T15:28:23.2144353Z ##[endgroup] +2022-11-01T15:28:23.2296359Z ##[group]/datum/unit_test/card_mismatch +2022-11-01T15:28:23.2339244Z +2022-11-01T15:28:23.2339785Z PASS /datum/unit_test/card_mismatch 0s +2022-11-01T15:28:23.2340711Z ##[endgroup] +2022-11-01T15:28:23.3389441Z ##[group]/datum/unit_test/chain_pull_through_space +2022-11-01T15:28:23.3417372Z +2022-11-01T15:28:23.3428322Z PASS /datum/unit_test/chain_pull_through_space 0s +2022-11-01T15:28:23.3429414Z ##[endgroup] +2022-11-01T15:28:23.4797614Z ##[group]/datum/unit_test/chat_filter_sanity +2022-11-01T15:28:23.4802389Z +2022-11-01T15:28:23.4803303Z PASS /datum/unit_test/chat_filter_sanity 0s +2022-11-01T15:28:23.4803804Z ##[endgroup] +2022-11-01T15:28:23.4985708Z ##[group]/datum/unit_test/circuit_component_category +2022-11-01T15:28:23.4985973Z +2022-11-01T15:28:23.4986498Z PASS /datum/unit_test/circuit_component_category 0s +2022-11-01T15:28:23.4987054Z ##[endgroup] +2022-11-01T15:28:23.5170927Z ##[group]/datum/unit_test/closets +2022-11-01T15:28:25.4385541Z +2022-11-01T15:28:25.4386681Z PASS /datum/unit_test/closets 1.9s +2022-11-01T15:28:25.4387368Z ##[endgroup] +2022-11-01T15:28:28.6598884Z ##[group]/datum/unit_test/harm_punch +2022-11-01T15:28:28.7131885Z +2022-11-01T15:28:28.7132943Z PASS /datum/unit_test/harm_punch 0.1s +2022-11-01T15:28:28.7134837Z ##[endgroup] +2022-11-01T15:28:28.7421766Z ##[group]/datum/unit_test/harm_melee +2022-11-01T15:28:28.7933680Z +2022-11-01T15:28:28.7934808Z PASS /datum/unit_test/harm_melee 0s +2022-11-01T15:28:28.7935540Z ##[endgroup] +2022-11-01T15:28:28.8380921Z ##[group]/datum/unit_test/harm_different_damage +2022-11-01T15:28:28.8975633Z +2022-11-01T15:28:28.8976869Z PASS /datum/unit_test/harm_different_damage 0s +2022-11-01T15:28:28.8977671Z ##[endgroup] +2022-11-01T15:28:28.9761803Z ##[group]/datum/unit_test/attack_chain +2022-11-01T15:28:29.0318227Z +2022-11-01T15:28:29.0319454Z PASS /datum/unit_test/attack_chain 0.1s +2022-11-01T15:28:29.0320200Z ##[endgroup] +2022-11-01T15:28:29.0662718Z ##[group]/datum/unit_test/disarm +2022-11-01T15:28:29.1273517Z +2022-11-01T15:28:29.1275850Z PASS /datum/unit_test/disarm 0.1s +2022-11-01T15:28:29.1276795Z ##[endgroup] +2022-11-01T15:28:29.1606515Z ##[group]/datum/unit_test/component_duping +2022-11-01T15:28:29.1606753Z +2022-11-01T15:28:29.1607266Z PASS /datum/unit_test/component_duping 0s +2022-11-01T15:28:29.1607745Z ##[endgroup] +2022-11-01T15:28:29.1774627Z ##[group]/datum/unit_test/confusion_symptom +2022-11-01T15:28:29.2032018Z +2022-11-01T15:28:29.2033145Z PASS /datum/unit_test/confusion_symptom 0.1s +2022-11-01T15:28:29.2033987Z ##[endgroup] +2022-11-01T15:28:29.2246157Z ##[group]/datum/unit_test/connect_loc_basic +2022-11-01T15:28:29.2248367Z +2022-11-01T15:28:29.2249487Z PASS /datum/unit_test/connect_loc_basic 0s +2022-11-01T15:28:29.2250109Z ##[endgroup] +2022-11-01T15:28:29.2416396Z ##[group]/datum/unit_test/connect_loc_change_turf +2022-11-01T15:28:29.2424538Z +2022-11-01T15:28:29.2425333Z PASS /datum/unit_test/connect_loc_change_turf 0s +2022-11-01T15:28:29.2425972Z ##[endgroup] +2022-11-01T15:28:29.2592394Z ##[group]/datum/unit_test/connect_loc_multiple_on_turf +2022-11-01T15:28:29.2599395Z +2022-11-01T15:28:29.2599862Z PASS /datum/unit_test/connect_loc_multiple_on_turf 0s +2022-11-01T15:28:29.2600716Z ##[endgroup] +2022-11-01T15:28:29.2917858Z ##[group]/datum/unit_test/crayon_naming +2022-11-01T15:28:29.2996631Z +2022-11-01T15:28:29.2997310Z PASS /datum/unit_test/crayon_naming 0s +2022-11-01T15:28:29.2997930Z ##[endgroup] +2022-11-01T15:28:29.3177352Z ##[group]/datum/unit_test/dcs_get_id_from_arguments +2022-11-01T15:28:29.3178559Z +2022-11-01T15:28:29.3182903Z PASS /datum/unit_test/dcs_get_id_from_arguments 0s +2022-11-01T15:28:29.3183682Z ##[endgroup] +2022-11-01T15:28:29.3371899Z ##[group]/datum/unit_test/designs +2022-11-01T15:28:29.3438160Z +2022-11-01T15:28:29.3438713Z PASS /datum/unit_test/designs 0s +2022-11-01T15:28:29.3439280Z ##[endgroup] +2022-11-01T15:28:29.3630774Z ##[group]/datum/unit_test/dummy_spawn_species +2022-11-01T15:28:29.7865710Z +2022-11-01T15:28:29.7866984Z PASS /datum/unit_test/dummy_spawn_species 0.4s +2022-11-01T15:28:29.7868408Z ##[endgroup] +2022-11-01T15:28:30.2064941Z ##[group]/datum/unit_test/dummy_spawn_outfit +2022-11-01T15:28:30.2287943Z Job type /datum/job/ai could not be retrieved from SSjob +2022-11-01T15:28:30.5729399Z +2022-11-01T15:28:30.5730637Z PASS /datum/unit_test/dummy_spawn_outfit 0.3s +2022-11-01T15:28:30.5731452Z ##[endgroup] +2022-11-01T15:28:30.8929561Z ##[group]/datum/unit_test/dynamic_roundstart_ruleset_sanity +2022-11-01T15:28:30.8930214Z +2022-11-01T15:28:30.8933249Z PASS /datum/unit_test/dynamic_roundstart_ruleset_sanity 0s +2022-11-01T15:28:30.8933929Z ##[endgroup] +2022-11-01T15:28:30.9093619Z ##[group]/datum/unit_test/dynamic_unique_antag_flags +2022-11-01T15:28:30.9094243Z +2022-11-01T15:28:30.9097412Z PASS /datum/unit_test/dynamic_unique_antag_flags 0s +2022-11-01T15:28:30.9098086Z ##[endgroup] +2022-11-01T15:28:30.9259102Z ##[group]/datum/unit_test/egg_glands +2022-11-01T15:28:30.9738261Z +2022-11-01T15:28:30.9739529Z PASS /datum/unit_test/egg_glands 0s +2022-11-01T15:28:30.9742814Z ##[endgroup] +2022-11-01T15:28:30.9910488Z ##[group]/datum/unit_test/emoting +2022-11-01T15:28:31.0191020Z +2022-11-01T15:28:31.0192873Z PASS /datum/unit_test/emoting 0.1s +2022-11-01T15:28:31.0196009Z ##[endgroup] +2022-11-01T15:28:31.0470998Z ##[group]/datum/unit_test/food_edibility_check +2022-11-01T15:28:32.3907505Z +2022-11-01T15:28:32.3908587Z PASS /datum/unit_test/food_edibility_check 1.3s +2022-11-01T15:28:32.3909262Z ##[endgroup] +2022-11-01T15:28:33.7158865Z ##[group]/datum/unit_test/atmospheric_gas_transfer +2022-11-01T15:28:33.7169071Z +2022-11-01T15:28:33.7171453Z PASS /datum/unit_test/atmospheric_gas_transfer 0s +2022-11-01T15:28:33.7173553Z ##[endgroup] +2022-11-01T15:28:33.7346695Z ##[group]/datum/unit_test/get_turf_pixel +2022-11-01T15:28:33.7367134Z +2022-11-01T15:28:33.7368982Z PASS /datum/unit_test/get_turf_pixel 0s +2022-11-01T15:28:33.7371248Z ##[endgroup] +2022-11-01T15:28:33.7556559Z ##[group]/datum/unit_test/greyscale_item_icon_states +2022-11-01T15:28:33.7624830Z +2022-11-01T15:28:33.7626511Z PASS /datum/unit_test/greyscale_item_icon_states 0s +2022-11-01T15:28:33.7628685Z ##[endgroup] +2022-11-01T15:28:33.7811590Z ##[group]/datum/unit_test/greyscale_color_count +2022-11-01T15:28:33.7978824Z +2022-11-01T15:28:33.7981042Z PASS /datum/unit_test/greyscale_color_count 0s +2022-11-01T15:28:33.7981873Z ##[endgroup] +2022-11-01T15:28:33.8551069Z ##[group]/datum/unit_test/hallucination_icons +2022-11-01T15:28:34.1090174Z +2022-11-01T15:28:34.1096431Z PASS /datum/unit_test/hallucination_icons 0.3s +2022-11-01T15:28:34.1099789Z ##[endgroup] +2022-11-01T15:28:34.3281283Z ##[group]/datum/unit_test/heretic_knowledge +2022-11-01T15:28:34.3305016Z +2022-11-01T15:28:34.3306029Z PASS /datum/unit_test/heretic_knowledge 0s +2022-11-01T15:28:34.3306904Z ##[endgroup] +2022-11-01T15:28:34.3483924Z ##[group]/datum/unit_test/heretic_main_paths +2022-11-01T15:28:34.3484902Z +2022-11-01T15:28:34.3487952Z PASS /datum/unit_test/heretic_main_paths 0s +2022-11-01T15:28:34.3491126Z ##[endgroup] +2022-11-01T15:28:34.3668321Z ##[group]/datum/unit_test/heretic_rituals +2022-11-01T15:28:34.4513883Z +2022-11-01T15:28:34.4515231Z PASS /datum/unit_test/heretic_rituals 0.1s +2022-11-01T15:28:34.4518615Z ##[endgroup] +2022-11-01T15:28:34.5255676Z ##[group]/datum/unit_test/hanukkah_2123 +2022-11-01T15:28:34.5256380Z +2022-11-01T15:28:34.5258696Z PASS /datum/unit_test/hanukkah_2123 0s +2022-11-01T15:28:34.5306060Z ##[endgroup] +2022-11-01T15:28:34.5435626Z ##[group]/datum/unit_test/ramadan_2165 +2022-11-01T15:28:34.5435839Z +2022-11-01T15:28:34.5436316Z PASS /datum/unit_test/ramadan_2165 0s +2022-11-01T15:28:34.5436790Z ##[endgroup] +2022-11-01T15:28:34.5758281Z ##[group]/datum/unit_test/thanksgiving_2020 +2022-11-01T15:28:34.5758510Z +2022-11-01T15:28:34.5759790Z PASS /datum/unit_test/thanksgiving_2020 0s +2022-11-01T15:28:34.5760323Z ##[endgroup] +2022-11-01T15:28:34.5922636Z ##[group]/datum/unit_test/mother_3683 +2022-11-01T15:28:34.5923203Z +2022-11-01T15:28:34.5923668Z PASS /datum/unit_test/mother_3683 0s +2022-11-01T15:28:34.5924152Z ##[endgroup] +2022-11-01T15:28:34.6258731Z ##[group]/datum/unit_test/hello_2020 +2022-11-01T15:28:34.6258967Z +2022-11-01T15:28:34.6259461Z PASS /datum/unit_test/hello_2020 0s +2022-11-01T15:28:34.6260389Z ##[endgroup] +2022-11-01T15:28:34.6425516Z ##[group]/datum/unit_test/new_year_1983 +2022-11-01T15:28:34.6425720Z +2022-11-01T15:28:34.6426174Z PASS /datum/unit_test/new_year_1983 0s +2022-11-01T15:28:34.6426620Z ##[endgroup] +2022-11-01T15:28:34.6759224Z ##[group]/datum/unit_test/moth_week_2020 +2022-11-01T15:28:34.6792170Z +2022-11-01T15:28:34.6792723Z PASS /datum/unit_test/moth_week_2020 0s +2022-11-01T15:28:34.6793240Z ##[endgroup] +2022-11-01T15:28:34.6958289Z ##[group]/datum/unit_test/human_through_recycler +2022-11-01T15:28:34.7370291Z +2022-11-01T15:28:34.7371226Z PASS /datum/unit_test/human_through_recycler 0.1s +2022-11-01T15:28:34.7372112Z ##[endgroup] +2022-11-01T15:28:34.8623820Z ##[group]/datum/unit_test/hydroponics_extractor_storage +2022-11-01T15:28:34.8996006Z +2022-11-01T15:28:34.8996940Z PASS /datum/unit_test/hydroponics_extractor_storage 0s +2022-11-01T15:28:34.8997589Z ##[endgroup] +2022-11-01T15:28:34.9278188Z ##[group]/datum/unit_test/hydroponics_harvest +2022-11-01T15:28:35.0009791Z +2022-11-01T15:28:35.0010716Z PASS /datum/unit_test/hydroponics_harvest 0.1s +2022-11-01T15:28:35.0012013Z ##[endgroup] +2022-11-01T15:28:35.0747162Z ##[group]/datum/unit_test/hydroponics_self_mutation +2022-11-01T15:28:35.1406271Z +2022-11-01T15:28:35.1407332Z PASS /datum/unit_test/hydroponics_self_mutation 0.1s +2022-11-01T15:28:35.1408057Z ##[endgroup] +2022-11-01T15:28:35.2102485Z ##[group]/datum/unit_test/hydroponics_validate_genes +2022-11-01T15:28:35.2762621Z +2022-11-01T15:28:35.2763561Z PASS /datum/unit_test/hydroponics_validate_genes 0s +2022-11-01T15:28:35.2764288Z ##[endgroup] +2022-11-01T15:28:35.3749912Z ##[group]/datum/unit_test/defined_inhand_icon_states +2022-11-01T15:28:36.6110328Z Notice - Possible inhand icon matches found. It is best to be explicit with inhand sprite values. +2022-11-01T15:28:36.6111369Z /obj/item/clothing/accessory/pride does not have an inhand_icon_state value - Possible matching sprites for "pride" found in: 'icons/mob/inhands/weapons/hammers_lefthand.dmi' & 'icons/mob/inhands/weapons/hammers_righthand.dmi' +2022-11-01T15:28:36.6112643Z /obj/item/clothing/suit/caution does not have an inhand_icon_state value - Possible matching sprites for "caution" found in: 'icons/mob/inhands/equipment/custodial_lefthand.dmi' & 'icons/mob/inhands/equipment/custodial_righthand.dmi' +2022-11-01T15:28:36.6113827Z /obj/item/clothing/under/suit/sl does not have an inhand_icon_state value - Possible matching sprites for "sl_suit" found in: 'icons/mob/inhands/clothing/suits_righthand.dmi' & 'icons/mob/inhands/clothing/suits_lefthand.dmi' +2022-11-01T15:28:36.6114809Z /obj/item/clothing/head/collectable/paper does not have an inhand_icon_state value - Possible matching sprites for "paper" found in: 'icons/mob/inhands/items_lefthand.dmi' & 'icons/mob/inhands/items_righthand.dmi' +2022-11-01T15:28:36.6115778Z /obj/item/clothing/head/mod does not have an inhand_icon_state value - Possible matching sprites for "helmet" found in: 'icons/mob/inhands/clothing/hats_lefthand.dmi' & 'icons/mob/inhands/clothing/hats_righthand.dmi' +2022-11-01T15:28:36.6117382Z /obj/item/clothing/mask/animal/small/fox does not have an inhand_icon_state value - Possible matching sprites for "fox" found in: 'icons/mob/inhands/pets_held_rh.dmi' & 'icons/mob/inhands/pets_held_lh.dmi' +2022-11-01T15:28:36.6118311Z /obj/item/clothing/mask/animal/small/fox/cursed does not have an inhand_icon_state value - Possible matching sprites for "fox" found in: 'icons/mob/inhands/pets_held_rh.dmi' & 'icons/mob/inhands/pets_held_lh.dmi' +2022-11-01T15:28:36.6119323Z /obj/item/clothing/glasses/hud/health/sunglasses does not have an inhand_icon_state value - Possible matching sprites for "sunhudmed" found in: 'icons/mob/inhands/clothing/glasses_righthand.dmi' & 'icons/mob/inhands/clothing/glasses_lefthand.dmi' +2022-11-01T15:28:36.6120787Z /obj/item/clothing/glasses/hud/security/sunglasses does not have an inhand_icon_state value - Possible matching sprites for "sunhudsec" found in: 'icons/mob/inhands/clothing/glasses_righthand.dmi' & 'icons/mob/inhands/clothing/glasses_lefthand.dmi' +2022-11-01T15:28:36.6121863Z /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun does not have an inhand_icon_state value - Possible matching sprites for "syringegun" found in: 'icons/mob/inhands/weapons/guns_righthand.dmi' & 'icons/mob/inhands/weapons/guns_lefthand.dmi' +2022-11-01T15:28:36.6122899Z /obj/item/mecha_parts/mecha_equipment/generator does not have an inhand_icon_state value - Possible matching sprites for "tesla" found in: 'icons/mob/inhands/weapons/guns_righthand.dmi' & 'icons/mob/inhands/weapons/guns_lefthand.dmi' +2022-11-01T15:28:36.6124088Z /obj/item/storage/bag/ore does not have an inhand_icon_state value - Possible matching sprites for "satchel" found in: 'icons/mob/inhands/equipment/backpack_lefthand.dmi' & 'icons/mob/inhands/equipment/backpack_righthand.dmi' +2022-11-01T15:28:36.6125547Z /obj/item/storage/bag/ore/cyborg does not have an inhand_icon_state value - Possible matching sprites for "satchel" found in: 'icons/mob/inhands/equipment/backpack_lefthand.dmi' & 'icons/mob/inhands/equipment/backpack_righthand.dmi' +2022-11-01T15:28:36.6126550Z /obj/item/implant/emp does not have an inhand_icon_state value - Possible matching sprites for "emp" found in: 'icons/mob/inhands/equipment/security_righthand.dmi' & 'icons/mob/inhands/equipment/security_lefthand.dmi' +2022-11-01T15:28:36.6127486Z /obj/item/implant/uplink does not have an inhand_icon_state value - Possible matching sprites for "radio" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-01T15:28:36.6128467Z /obj/item/implant/uplink/precharged does not have an inhand_icon_state value - Possible matching sprites for "radio" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-01T15:28:36.6129445Z /obj/item/implant/uplink/starting does not have an inhand_icon_state value - Possible matching sprites for "radio" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-01T15:28:36.6130403Z /obj/item/melee/energy/blade does not have an inhand_icon_state value - Possible matching sprites for "blade" found in: 'icons/mob/inhands/weapons/swords_lefthand.dmi' & 'icons/mob/inhands/weapons/swords_righthand.dmi' +2022-11-01T15:28:36.6131355Z /obj/item/fireaxe does not have an inhand_icon_state value - Possible matching sprites for "fireaxe0" found in: 'icons/mob/inhands/weapons/axes_righthand.dmi' & 'icons/mob/inhands/weapons/axes_lefthand.dmi' +2022-11-01T15:28:36.6132532Z /obj/item/fireaxe/boneaxe does not have an inhand_icon_state value - Possible matching sprites for "bone_axe0" found in: 'icons/mob/inhands/weapons/axes_righthand.dmi' & 'icons/mob/inhands/weapons/axes_lefthand.dmi' +2022-11-01T15:28:36.6133828Z /obj/item/fireaxe/metal_h2_axe does not have an inhand_icon_state value - Possible matching sprites for "metalh2_axe0" found in: 'icons/mob/inhands/weapons/axes_righthand.dmi' & 'icons/mob/inhands/weapons/axes_lefthand.dmi' +2022-11-01T15:28:36.6134950Z /obj/item/reagent_containers/cup/soda_cans/cola does not have an inhand_icon_state value - Possible matching sprites for "cola" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-01T15:28:36.6135967Z /obj/item/reagent_containers/cup/soda_cans/tonic does not have an inhand_icon_state value - Possible matching sprites for "tonic" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-01T15:28:36.6137013Z /obj/item/reagent_containers/cup/soda_cans/sodawater does not have an inhand_icon_state value - Possible matching sprites for "sodawater" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-01T15:28:36.6138306Z /obj/item/reagent_containers/cup/soda_cans/lemon_lime does not have an inhand_icon_state value - Possible matching sprites for "lemon-lime" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-01T15:28:36.6139346Z /obj/item/reagent_containers/cup/soda_cans/space_up does not have an inhand_icon_state value - Possible matching sprites for "space-up" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-01T15:28:36.6140663Z /obj/item/reagent_containers/cup/soda_cans/starkist does not have an inhand_icon_state value - Possible matching sprites for "starkist" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-01T15:28:36.6142092Z /obj/item/reagent_containers/cup/soda_cans/space_mountain_wind does not have an inhand_icon_state value - Possible matching sprites for "space_mountain_wind" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-01T15:28:36.6143256Z /obj/item/reagent_containers/cup/soda_cans/thirteenloko does not have an inhand_icon_state value - Possible matching sprites for "thirteen_loko" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-01T15:28:36.6144724Z /obj/item/reagent_containers/cup/soda_cans/dr_gibb does not have an inhand_icon_state value - Possible matching sprites for "dr_gibb" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-01T15:28:36.6146202Z /obj/item/reagent_containers/cup/soda_cans/pwr_game does not have an inhand_icon_state value - Possible matching sprites for "purple_can" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-01T15:28:36.6147210Z /obj/item/reagent_containers/cup/glass/coffee does not have an inhand_icon_state value - Possible matching sprites for "coffee" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-01T15:28:36.6148208Z /obj/item/reagent_containers/chem_pack does not have an inhand_icon_state value - Possible matching sprites for "chempack" found in: 'icons/mob/inhands/equipment/backpack_lefthand.dmi' & 'icons/mob/inhands/equipment/backpack_righthand.dmi' +2022-11-01T15:28:36.6149458Z /obj/item/sbeacondrop does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-01T15:28:36.6150700Z /obj/item/sbeacondrop/bomb does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-01T15:28:36.6152025Z /obj/item/sbeacondrop/emp does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-01T15:28:36.6153053Z /obj/item/sbeacondrop/powersink does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-01T15:28:36.6154086Z /obj/item/sbeacondrop/clownbomb does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-01T15:28:36.6155452Z /obj/item/stack/medical/bruise_pack does not have an inhand_icon_state value - Possible matching sprites for "brutepack" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-11-01T15:28:36.6156679Z /obj/item/stack/medical/ointment does not have an inhand_icon_state value - Possible matching sprites for "ointment" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-11-01T15:28:36.6157638Z /obj/item/minespawner does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-01T15:28:36.6158596Z /obj/item/organ/internal/heart/gland/blood does not have an inhand_icon_state value - Possible matching sprites for "egg" found in: 'icons/mob/inhands/items/food_lefthand.dmi' & 'icons/mob/inhands/items/food_righthand.dmi' +2022-11-01T15:28:36.6159550Z /obj/item/organ/internal/heart/gland/egg does not have an inhand_icon_state value - Possible matching sprites for "egg" found in: 'icons/mob/inhands/items/food_lefthand.dmi' & 'icons/mob/inhands/items/food_righthand.dmi' +2022-11-01T15:28:36.6160683Z /obj/item/organ/internal/heart/gland/quantum does not have an inhand_icon_state value - Possible matching sprites for "emp" found in: 'icons/mob/inhands/equipment/security_righthand.dmi' & 'icons/mob/inhands/equipment/security_lefthand.dmi' +2022-11-01T15:28:36.6161755Z /obj/item/organ/internal/heart/gland/trauma does not have an inhand_icon_state value - Possible matching sprites for "emp" found in: 'icons/mob/inhands/equipment/security_righthand.dmi' & 'icons/mob/inhands/equipment/security_lefthand.dmi' +2022-11-01T15:28:36.6162756Z /obj/item/boxcutter does not have an inhand_icon_state value - Possible matching sprites for "boxcutter" found in: 'icons/mob/inhands/equipment/boxcutter_lefthand.dmi' & 'icons/mob/inhands/equipment/boxcutter_righthand.dmi' +2022-11-01T15:28:36.6163727Z /obj/item/pushbroom does not have an inhand_icon_state value - Possible matching sprites for "broom0" found in: 'icons/mob/inhands/equipment/custodial_lefthand.dmi' & 'icons/mob/inhands/equipment/custodial_righthand.dmi' +2022-11-01T15:28:36.6164922Z /obj/item/pushbroom/cyborg does not have an inhand_icon_state value - Possible matching sprites for "broom0" found in: 'icons/mob/inhands/equipment/custodial_lefthand.dmi' & 'icons/mob/inhands/equipment/custodial_righthand.dmi' +2022-11-01T15:28:36.6165928Z /obj/item/chainsaw does not have an inhand_icon_state value - Possible matching sprites for "chainsaw_off" found in: 'icons/mob/inhands/weapons/chainsaw_lefthand.dmi' & 'icons/mob/inhands/weapons/chainsaw_righthand.dmi' +2022-11-01T15:28:36.6166916Z /obj/item/chainsaw/doomslayer does not have an inhand_icon_state value - Possible matching sprites for "chainsaw_off" found in: 'icons/mob/inhands/weapons/chainsaw_lefthand.dmi' & 'icons/mob/inhands/weapons/chainsaw_righthand.dmi' +2022-11-01T15:28:36.6167902Z /obj/item/toy/talking/codex_gigas does not have an inhand_icon_state value - Possible matching sprites for "demonomicon" found in: 'icons/mob/inhands/items/books_righthand.dmi' & 'icons/mob/inhands/items/books_lefthand.dmi' +2022-11-01T15:28:36.6169082Z /obj/item/toy/figure/chef does not have an inhand_icon_state value - Possible matching sprites for "chef" found in: 'icons/mob/inhands/clothing/suits_righthand.dmi' & 'icons/mob/inhands/clothing/suits_lefthand.dmi' +2022-11-01T15:28:36.6170034Z /obj/item/toy/figure/clown does not have an inhand_icon_state value - Possible matching sprites for "clown" found in: 'icons/mob/inhands/clothing/suits_righthand.dmi' & 'icons/mob/inhands/clothing/suits_lefthand.dmi' +2022-11-01T15:28:36.6171029Z /obj/item/toy/figure/janitor does not have an inhand_icon_state value - Possible matching sprites for "janitor" found in: 'icons/mob/inhands/clothing/suits_righthand.dmi' & 'icons/mob/inhands/clothing/suits_lefthand.dmi' +2022-11-01T15:28:36.6172150Z /obj/item/food/candy does not have an inhand_icon_state value - Possible matching sprites for "candy" found in: 'icons/mob/inhands/items/food_lefthand.dmi' & 'icons/mob/inhands/items/food_righthand.dmi' +2022-11-01T15:28:36.6173251Z /obj/item/food/chips does not have an inhand_icon_state value - Possible matching sprites for "chips" found in: 'icons/mob/inhands/items/food_lefthand.dmi' & 'icons/mob/inhands/items/food_righthand.dmi' +2022-11-01T15:28:36.6174826Z /obj/item/kitchen/fork does not have an inhand_icon_state value - Possible matching sprites for "fork" found in: 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' & 'icons/mob/inhands/equipment/kitchen_righthand.dmi' +2022-11-01T15:28:36.6175832Z /obj/item/kitchen/spoon does not have an inhand_icon_state value - Possible matching sprites for "spoon" found in: 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' & 'icons/mob/inhands/equipment/kitchen_righthand.dmi' +2022-11-01T15:28:36.6176836Z /obj/item/kitchen/spoon/plastic does not have an inhand_icon_state value - Possible matching sprites for "plastic_spoon" found in: 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' & 'icons/mob/inhands/equipment/kitchen_righthand.dmi' +2022-11-01T15:28:36.6178144Z /obj/item/book/codex_gigas does not have an inhand_icon_state value - Possible matching sprites for "demonomicon" found in: 'icons/mob/inhands/items/books_righthand.dmi' & 'icons/mob/inhands/items/books_lefthand.dmi' +2022-11-01T15:28:36.6179305Z /obj/item/pitchfork does not have an inhand_icon_state value - Possible matching sprites for "pitchfork0" found in: 'icons/mob/inhands/weapons/polearms_righthand.dmi' & 'icons/mob/inhands/weapons/polearms_lefthand.dmi' +2022-11-01T15:28:36.6180738Z /obj/item/construction/rcd does not have an inhand_icon_state value - Possible matching sprites for "rcd" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-11-01T15:28:36.6181781Z /obj/item/construction/rcd/borg does not have an inhand_icon_state value - Possible matching sprites for "rcd" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-11-01T15:28:36.6182846Z /obj/item/construction/rcd/loaded does not have an inhand_icon_state value - Possible matching sprites for "rcd" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-11-01T15:28:36.6184070Z /obj/item/construction/rcd/loaded/upgraded does not have an inhand_icon_state value - Possible matching sprites for "rcd" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-11-01T15:28:36.6185254Z /obj/item/construction/rcd/internal does not have an inhand_icon_state value - Possible matching sprites for "rcd" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-11-01T15:28:36.6186373Z /obj/item/construction/rld does not have an inhand_icon_state value - Possible matching sprites for "rld-5" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-11-01T15:28:36.6187326Z /obj/item/construction/rld/mini does not have an inhand_icon_state value - Possible matching sprites for "rld-5" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-11-01T15:28:36.6188731Z /obj/item/rcd_ammo does not have an inhand_icon_state value - Possible matching sprites for "rcdammo" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-11-01T15:28:36.6190038Z /obj/item/rcd_ammo/large does not have an inhand_icon_state value - Possible matching sprites for "rcdammo" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-11-01T15:28:36.6191075Z /obj/item/godstaff does not have an inhand_icon_state value - Possible matching sprites for "godstaff-red" found in: 'icons/mob/inhands/weapons/staves_lefthand.dmi' & 'icons/mob/inhands/weapons/staves_righthand.dmi' +2022-11-01T15:28:36.6192277Z /obj/item/godstaff/red does not have an inhand_icon_state value - Possible matching sprites for "godstaff-red" found in: 'icons/mob/inhands/weapons/staves_lefthand.dmi' & 'icons/mob/inhands/weapons/staves_righthand.dmi' +2022-11-01T15:28:36.6193619Z /obj/item/godstaff/blue does not have an inhand_icon_state value - Possible matching sprites for "godstaff-blue" found in: 'icons/mob/inhands/weapons/staves_lefthand.dmi' & 'icons/mob/inhands/weapons/staves_righthand.dmi' +2022-11-01T15:28:36.6194578Z /obj/item/pipe_dispenser does not have an inhand_icon_state value - Possible matching sprites for "rpd" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-11-01T15:28:36.6195584Z /obj/item/singularityhammer does not have an inhand_icon_state value - Possible matching sprites for "singularity_hammer0" found in: 'icons/mob/inhands/weapons/hammers_lefthand.dmi' & 'icons/mob/inhands/weapons/hammers_righthand.dmi' +2022-11-01T15:28:36.6196678Z /obj/item/mjollnir does not have an inhand_icon_state value - Possible matching sprites for "mjollnir0" found in: 'icons/mob/inhands/weapons/hammers_lefthand.dmi' & 'icons/mob/inhands/weapons/hammers_righthand.dmi' +2022-11-01T15:28:36.6198710Z /obj/item/spear does not have an inhand_icon_state value - Possible matching sprites for "spearglass0" found in: 'icons/mob/inhands/weapons/polearms_righthand.dmi' & 'icons/mob/inhands/weapons/polearms_lefthand.dmi' +2022-11-01T15:28:36.6199875Z /obj/item/spear/explosive does not have an inhand_icon_state value - Possible matching sprites for "spearbomb0" found in: 'icons/mob/inhands/weapons/polearms_righthand.dmi' & 'icons/mob/inhands/weapons/polearms_lefthand.dmi' +2022-11-01T15:28:36.6202418Z /obj/item/spear/grey_tide does not have an inhand_icon_state value - Possible matching sprites for "spearglass0" found in: 'icons/mob/inhands/weapons/polearms_righthand.dmi' & 'icons/mob/inhands/weapons/polearms_lefthand.dmi' +2022-11-01T15:28:36.6203520Z /obj/item/spear/bonespear does not have an inhand_icon_state value - Possible matching sprites for "bone_spear0" found in: 'icons/mob/inhands/weapons/polearms_righthand.dmi' & 'icons/mob/inhands/weapons/polearms_lefthand.dmi' +2022-11-01T15:28:36.6204533Z /obj/item/spear/bamboospear does not have an inhand_icon_state value - Possible matching sprites for "bamboo_spear0" found in: 'icons/mob/inhands/weapons/polearms_righthand.dmi' & 'icons/mob/inhands/weapons/polearms_lefthand.dmi' +2022-11-01T15:28:36.6205666Z /obj/item/trash/candy does not have an inhand_icon_state value - Possible matching sprites for "candy" found in: 'icons/mob/inhands/items/food_lefthand.dmi' & 'icons/mob/inhands/items/food_righthand.dmi' +2022-11-01T15:28:36.6206576Z /obj/item/trash/chips does not have an inhand_icon_state value - Possible matching sprites for "chips" found in: 'icons/mob/inhands/items/food_lefthand.dmi' & 'icons/mob/inhands/items/food_righthand.dmi' +2022-11-01T15:28:36.6207473Z /obj/item/trash/can does not have an inhand_icon_state value - Possible matching sprites for "cola" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-01T15:28:36.6208487Z /obj/item/trash/can/food does not have an inhand_icon_state value - Possible matching sprites for "cola" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-01T15:28:36.6209479Z /obj/item/highfrequencyblade does not have an inhand_icon_state value - Possible matching sprites for "hfrequency0" found in: 'icons/mob/inhands/weapons/swords_lefthand.dmi' & 'icons/mob/inhands/weapons/swords_righthand.dmi' +2022-11-01T15:28:36.6210481Z /obj/item/highfrequencyblade/wizard does not have an inhand_icon_state value - Possible matching sprites for "hfrequency0" found in: 'icons/mob/inhands/weapons/swords_lefthand.dmi' & 'icons/mob/inhands/weapons/swords_righthand.dmi' +2022-11-01T15:28:36.6211474Z /obj/item/borg/sight/meson does not have an inhand_icon_state value - Possible matching sprites for "meson" found in: 'icons/mob/inhands/clothing/glasses_righthand.dmi' & 'icons/mob/inhands/clothing/glasses_lefthand.dmi' +2022-11-01T15:28:36.6212716Z /obj/item/ammo_casing/magic/hook does not have an inhand_icon_state value - Possible matching sprites for "hook" found in: 'icons/mob/inhands/weapons/melee_righthand.dmi' & 'icons/mob/inhands/weapons/melee_lefthand.dmi' +2022-11-01T15:28:36.6213695Z /obj/item/ammo_casing/magic/hook/bounty does not have an inhand_icon_state value - Possible matching sprites for "hook" found in: 'icons/mob/inhands/weapons/melee_righthand.dmi' & 'icons/mob/inhands/weapons/melee_lefthand.dmi' +2022-11-01T15:28:36.6214670Z /obj/item/harmalarm does not have an inhand_icon_state value - Possible matching sprites for "megaphone" found in: 'icons/mob/inhands/items/megaphone_lefthand.dmi' & 'icons/mob/inhands/items/megaphone_righthand.dmi' +2022-11-01T15:28:36.6215804Z /obj/item/abductor_machine_beacon does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-01T15:28:36.6216917Z /obj/item/abductor_machine_beacon/chem_dispenser does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-01T15:28:36.6217923Z /obj/item/grown/carbon_rose does not have an inhand_icon_state value - Possible matching sprites for "carbonrose" found in: 'icons/mob/inhands/weapons/plants_righthand.dmi' & 'icons/mob/inhands/weapons/plants_lefthand.dmi' +2022-11-01T15:28:36.6219079Z /obj/item/paint_palette does not have an inhand_icon_state value - Possible matching sprites for "palette" found in: 'icons/mob/inhands/equipment/palette_righthand.dmi' & 'icons/mob/inhands/equipment/palette_lefthand.dmi' +2022-11-01T15:28:36.6220238Z /obj/item/surprise_egg does not have an inhand_icon_state value - Possible matching sprites for "egg" found in: 'icons/mob/inhands/items/food_lefthand.dmi' & 'icons/mob/inhands/items/food_righthand.dmi' +2022-11-01T15:28:36.6221390Z /obj/item/experi_scanner does not have an inhand_icon_state value - Possible matching sprites for "experiscanner" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-01T15:28:36.6222338Z /obj/item/fishing_hook does not have an inhand_icon_state value - Possible matching sprites for "hook" found in: 'icons/mob/inhands/weapons/melee_righthand.dmi' & 'icons/mob/inhands/weapons/melee_lefthand.dmi' +2022-11-01T15:28:36.6223438Z /obj/item/cursed_katana does not have an inhand_icon_state value - Possible matching sprites for "cursed_katana" found in: 'icons/mob/inhands/weapons/swords_lefthand.dmi' & 'icons/mob/inhands/weapons/swords_righthand.dmi' +2022-11-01T15:28:36.6224409Z /obj/item/guardiancreator/tech does not have an inhand_icon_state value - Possible matching sprites for "combat_hypo" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-11-01T15:28:36.6225422Z /obj/item/guardiancreator/tech/choose does not have an inhand_icon_state value - Possible matching sprites for "combat_hypo" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-11-01T15:28:36.6226453Z /obj/item/guardiancreator/tech/choose/traitor does not have an inhand_icon_state value - Possible matching sprites for "combat_hypo" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-11-01T15:28:36.6227485Z /obj/item/guardiancreator/tech/choose/dextrous does not have an inhand_icon_state value - Possible matching sprites for "combat_hypo" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-11-01T15:28:36.6228666Z /obj/item/mod/module/welding does not have an inhand_icon_state value - Possible matching sprites for "welding" found in: 'icons/mob/inhands/clothing/masks_lefthand.dmi' & 'icons/mob/inhands/clothing/masks_righthand.dmi' +2022-11-01T15:28:36.6229814Z /obj/item/mod/module/mister does not have an inhand_icon_state value - Possible matching sprites for "mister" found in: 'icons/mob/inhands/equipment/mister_righthand.dmi' & 'icons/mob/inhands/equipment/mister_lefthand.dmi' +2022-11-01T15:28:36.6230969Z /obj/item/mod/module/mister/atmos does not have an inhand_icon_state value - Possible matching sprites for "mister" found in: 'icons/mob/inhands/equipment/mister_righthand.dmi' & 'icons/mob/inhands/equipment/mister_lefthand.dmi' +2022-11-01T15:28:36.6232420Z /obj/item/mod/module/jetpack does not have an inhand_icon_state value - Possible matching sprites for "jetpack" found in: 'icons/mob/inhands/equipment/jetpacks_lefthand.dmi' & 'icons/mob/inhands/equipment/jetpacks_righthand.dmi' +2022-11-01T15:28:36.6234473Z /obj/item/mod/module/flashlight does not have an inhand_icon_state value - Possible matching sprites for "flashlight" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-01T15:28:36.6235798Z /obj/item/mod/module/stamp does not have an inhand_icon_state value - Possible matching sprites for "stamp" found in: 'icons/mob/inhands/items_lefthand.dmi' & 'icons/mob/inhands/items_righthand.dmi' +2022-11-01T15:28:36.6236873Z /obj/item/mod/module/holster does not have an inhand_icon_state value - Possible matching sprites for "holster" found in: 'icons/mob/inhands/equipment/belt_lefthand.dmi' & 'icons/mob/inhands/equipment/belt_righthand.dmi' +2022-11-01T15:28:36.6237940Z /obj/item/mod/module/megaphone does not have an inhand_icon_state value - Possible matching sprites for "megaphone" found in: 'icons/mob/inhands/items/megaphone_lefthand.dmi' & 'icons/mob/inhands/items/megaphone_righthand.dmi' +2022-11-01T15:28:36.6239527Z /obj/item/mod/module/drill does not have an inhand_icon_state value - Possible matching sprites for "drill" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' & 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-11-01T15:28:36.6240615Z /obj/item/mod/module/tem does not have an inhand_icon_state value - Possible matching sprites for "chronogun" found in: 'icons/mob/inhands/weapons/guns_righthand.dmi' & 'icons/mob/inhands/weapons/guns_lefthand.dmi' +2022-11-01T15:28:36.6241586Z /obj/item/bonesetter does not have an inhand_icon_state value - Possible matching sprites for "bonesetter" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-11-01T15:28:36.6242563Z /obj/item/blood_filter does not have an inhand_icon_state value - Possible matching sprites for "bloodfilter" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-11-01T15:28:36.6243567Z /obj/item/mecha_ammo/flashbang does not have an inhand_icon_state value - Possible matching sprites for "flashbang" found in: 'icons/mob/inhands/equipment/security_righthand.dmi' & 'icons/mob/inhands/equipment/security_lefthand.dmi' +2022-11-01T15:28:36.6243984Z +2022-11-01T15:28:36.6244251Z PASS /datum/unit_test/defined_inhand_icon_states 1.3s +2022-11-01T15:28:36.6245107Z ##[endgroup] +2022-11-01T15:28:38.3781123Z ##[group]/datum/unit_test/keybinding_init +2022-11-01T15:28:38.3781642Z +2022-11-01T15:28:38.3782256Z PASS /datum/unit_test/keybinding_init 0s +2022-11-01T15:28:38.3782848Z ##[endgroup] +2022-11-01T15:28:38.3952800Z ##[group]/datum/unit_test/knockoff_component +2022-11-01T15:28:38.4583090Z +2022-11-01T15:28:38.4584605Z PASS /datum/unit_test/knockoff_component 0.1s +2022-11-01T15:28:38.4585463Z ##[endgroup] +2022-11-01T15:28:38.5388034Z ##[group]/datum/unit_test/limbsanity +2022-11-01T15:28:38.6201426Z +2022-11-01T15:28:38.6202784Z PASS /datum/unit_test/limbsanity 0.1s +2022-11-01T15:28:38.6203543Z ##[endgroup] +2022-11-01T15:28:38.6375016Z ##[group]/datum/unit_test/load_map_security +2022-11-01T15:28:38.6378905Z map directory not in whitelist: data/load_map_security_temp for map runtimestation +2022-11-01T15:28:38.6380282Z +2022-11-01T15:28:38.6381773Z PASS /datum/unit_test/load_map_security 0s +2022-11-01T15:28:38.6382439Z ##[endgroup] +2022-11-01T15:28:38.6552883Z ##[group]/datum/unit_test/machine_disassembly +2022-11-01T15:28:38.6594171Z +2022-11-01T15:28:38.6595097Z PASS /datum/unit_test/machine_disassembly 0s +2022-11-01T15:28:38.6595719Z ##[endgroup] +2022-11-01T15:28:38.6872178Z ##[group]/datum/unit_test/mecha_damage +2022-11-01T15:28:38.7397615Z +2022-11-01T15:28:38.7398654Z PASS /datum/unit_test/mecha_damage 0.1s +2022-11-01T15:28:38.7399283Z ##[endgroup] +2022-11-01T15:28:38.7754903Z ##[group]/datum/unit_test/test_human_base +2022-11-01T15:28:38.8529341Z +2022-11-01T15:28:38.8530478Z PASS /datum/unit_test/test_human_base 0.1s +2022-11-01T15:28:38.8531256Z ##[endgroup] +2022-11-01T15:28:38.9752946Z ##[group]/datum/unit_test/test_human_bone +2022-11-01T15:28:39.0547873Z +2022-11-01T15:28:39.0550271Z PASS /datum/unit_test/test_human_bone 0.1s +2022-11-01T15:28:39.0551284Z ##[endgroup] +2022-11-01T15:28:39.1298729Z ##[group]/datum/unit_test/merge_type +2022-11-01T15:28:39.1300463Z +2022-11-01T15:28:39.1301413Z PASS /datum/unit_test/merge_type 0s +2022-11-01T15:28:39.1302403Z ##[endgroup] +2022-11-01T15:28:39.1477365Z ##[group]/datum/unit_test/metabolization +2022-11-01T15:28:39.3901954Z +2022-11-01T15:28:39.3903433Z PASS /datum/unit_test/metabolization 0.2s +2022-11-01T15:28:39.3906497Z ##[endgroup] +2022-11-01T15:28:39.7294447Z ##[group]/datum/unit_test/on_mob_end_metabolize +2022-11-01T15:28:39.7598821Z +2022-11-01T15:28:39.7600420Z PASS /datum/unit_test/on_mob_end_metabolize 0s +2022-11-01T15:28:39.7649553Z ##[endgroup] +2022-11-01T15:28:39.7835943Z ##[group]/datum/unit_test/addictions +2022-11-01T15:28:39.8761920Z +2022-11-01T15:28:39.8763025Z PASS /datum/unit_test/addictions 0.1s +2022-11-01T15:28:39.8764090Z ##[endgroup] +2022-11-01T15:28:39.9657360Z ##[group]/datum/unit_test/actions_moved_on_mind_transfer +2022-11-01T15:28:39.9971522Z +2022-11-01T15:28:39.9972744Z PASS /datum/unit_test/actions_moved_on_mind_transfer 0s +2022-11-01T15:28:39.9974074Z ##[endgroup] +2022-11-01T15:28:40.0547546Z ##[group]/datum/unit_test/mob_faction +2022-11-01T15:28:44.4337194Z +2022-11-01T15:28:44.4338995Z PASS /datum/unit_test/mob_faction 4.4s +2022-11-01T15:28:44.4343946Z ##[endgroup] +2022-11-01T15:28:50.4570438Z ##[group]/datum/unit_test/mob_spawn +2022-11-01T15:28:50.4788560Z +2022-11-01T15:28:50.4789841Z PASS /datum/unit_test/mob_spawn 0s +2022-11-01T15:28:50.4791361Z ##[endgroup] +2022-11-01T15:28:50.6427929Z ##[group]/datum/unit_test/modsuit_checks +2022-11-01T15:28:50.8774698Z +2022-11-01T15:28:50.8776366Z PASS /datum/unit_test/modsuit_checks 0.2s +2022-11-01T15:28:50.8777936Z ##[endgroup] +2022-11-01T15:28:51.1124046Z ##[group]/datum/unit_test/modular_map_loader +2022-11-01T15:28:51.1141260Z +2022-11-01T15:28:51.1142098Z PASS /datum/unit_test/modular_map_loader 0s +2022-11-01T15:28:51.1142848Z ##[endgroup] +2022-11-01T15:28:51.1326741Z ##[group]/datum/unit_test/mouse_bite_cable +2022-11-01T15:28:51.1380480Z +2022-11-01T15:28:51.1381073Z PASS /datum/unit_test/mouse_bite_cable 0s +2022-11-01T15:28:51.1381752Z ##[endgroup] +2022-11-01T15:28:51.1577018Z ##[group]/datum/unit_test/novaflower_burn +2022-11-01T15:28:51.2169264Z +2022-11-01T15:28:51.2170162Z PASS /datum/unit_test/novaflower_burn 0.1s +2022-11-01T15:28:51.2170901Z ##[endgroup] +2022-11-01T15:28:51.2996852Z ##[group]/datum/unit_test/ntnetwork +2022-11-01T15:28:51.3019053Z +2022-11-01T15:28:51.3019857Z PASS /datum/unit_test/ntnetwork 0.1s +2022-11-01T15:28:51.3020531Z ##[endgroup] +2022-11-01T15:28:51.3196087Z ##[group]/datum/unit_test/nuke_cinematic +2022-11-01T15:28:56.0755977Z +2022-11-01T15:28:56.0763029Z PASS /datum/unit_test/nuke_cinematic 4.7s +2022-11-01T15:28:56.0764783Z ##[endgroup] +2022-11-01T15:28:56.3446321Z ##[group]/datum/unit_test/objectives_category +2022-11-01T15:28:56.3446835Z +2022-11-01T15:28:56.3447470Z PASS /datum/unit_test/objectives_category 0s +2022-11-01T15:28:56.3448136Z ##[endgroup] +2022-11-01T15:28:56.3614737Z ##[group]/datum/unit_test/operating_table +2022-11-01T15:28:56.4176620Z +2022-11-01T15:28:56.4177598Z PASS /datum/unit_test/operating_table 0.1s +2022-11-01T15:28:56.4178689Z ##[endgroup] +2022-11-01T15:28:56.4981266Z ##[group]/datum/unit_test/outfit_sanity +2022-11-01T15:29:06.6657414Z +2022-11-01T15:29:06.6658439Z PASS /datum/unit_test/outfit_sanity 10.2s +2022-11-01T15:29:06.6659196Z ##[endgroup] +2022-11-01T15:29:16.7908070Z ##[group]/datum/unit_test/paintings +2022-11-01T15:29:16.8212273Z +2022-11-01T15:29:16.8213346Z PASS /datum/unit_test/paintings 0.1s +2022-11-01T15:29:16.8214069Z ##[endgroup] +2022-11-01T15:29:16.8389425Z ##[group]/datum/unit_test/pills +2022-11-01T15:29:16.8676028Z +2022-11-01T15:29:16.8677434Z PASS /datum/unit_test/pills 0s +2022-11-01T15:29:16.8678165Z ##[endgroup] +2022-11-01T15:29:16.9417567Z ##[group]/datum/unit_test/plane_double_transform +2022-11-01T15:29:16.9735002Z +2022-11-01T15:29:16.9735721Z PASS /datum/unit_test/plane_double_transform 0s +2022-11-01T15:29:16.9736359Z ##[endgroup] +2022-11-01T15:29:17.0062562Z ##[group]/datum/unit_test/plane_dupe_detector +2022-11-01T15:29:17.0065142Z +2022-11-01T15:29:17.0067978Z PASS /datum/unit_test/plane_dupe_detector 0s +2022-11-01T15:29:17.0071640Z ##[endgroup] +2022-11-01T15:29:17.0244509Z ##[group]/datum/unit_test/plantgrowth +2022-11-01T15:29:17.0776528Z +2022-11-01T15:29:17.0779718Z PASS /datum/unit_test/plantgrowth 0s +2022-11-01T15:29:17.0781279Z ##[endgroup] +2022-11-01T15:29:17.0965505Z ##[group]/datum/unit_test/preference_species +2022-11-01T15:29:17.0966443Z +2022-11-01T15:29:17.0969864Z PASS /datum/unit_test/preference_species 0s +2022-11-01T15:29:17.0973093Z ##[endgroup] +2022-11-01T15:29:17.1152354Z ##[group]/datum/unit_test/preferences_implement_everything +2022-11-01T15:29:23.4577951Z +2022-11-01T15:29:23.4578850Z PASS /datum/unit_test/preferences_implement_everything 6.3s +2022-11-01T15:29:23.4579521Z ##[endgroup] +2022-11-01T15:29:29.7830207Z ##[group]/datum/unit_test/preferences_valid_savefile_key +2022-11-01T15:29:29.7830930Z +2022-11-01T15:29:29.7833510Z PASS /datum/unit_test/preferences_valid_savefile_key 0s +2022-11-01T15:29:29.7834275Z ##[endgroup] +2022-11-01T15:29:29.8033816Z ##[group]/datum/unit_test/preferences_valid_main_feature_name +2022-11-01T15:29:29.8034550Z +2022-11-01T15:29:29.8035744Z PASS /datum/unit_test/preferences_valid_main_feature_name 0s +2022-11-01T15:29:29.8089387Z ##[endgroup] +2022-11-01T15:29:29.8234720Z ##[group]/datum/unit_test/projectile_movetypes +2022-11-01T15:29:29.8234940Z +2022-11-01T15:29:29.8235533Z PASS /datum/unit_test/projectile_movetypes 0s +2022-11-01T15:29:29.8236221Z ##[endgroup] +2022-11-01T15:29:29.8415787Z ##[group]/datum/unit_test/gun_go_bang +2022-11-01T15:29:29.9160628Z +2022-11-01T15:29:29.9161545Z PASS /datum/unit_test/gun_go_bang 0.1s +2022-11-01T15:29:29.9162229Z ##[endgroup] +2022-11-01T15:29:30.0035502Z ##[group]/datum/unit_test/quirk_icons +2022-11-01T15:29:30.0035718Z +2022-11-01T15:29:30.0036645Z PASS /datum/unit_test/quirk_icons 0s +2022-11-01T15:29:30.0037121Z ##[endgroup] +2022-11-01T15:29:30.0231538Z ##[group]/datum/unit_test/range_return +2022-11-01T15:29:30.0231750Z +2022-11-01T15:29:30.0232212Z PASS /datum/unit_test/range_return 0s +2022-11-01T15:29:30.0232658Z ##[endgroup] +2022-11-01T15:29:30.0427797Z ##[group]/datum/unit_test/frame_stacking +2022-11-01T15:29:30.1020458Z +2022-11-01T15:29:30.1021324Z PASS /datum/unit_test/frame_stacking 0.1s +2022-11-01T15:29:30.1022036Z ##[endgroup] +2022-11-01T15:29:30.1824738Z ##[group]/datum/unit_test/reagent_id_typos +2022-11-01T15:29:30.1842378Z +2022-11-01T15:29:30.1842930Z PASS /datum/unit_test/reagent_id_typos 0s +2022-11-01T15:29:30.1843838Z ##[endgroup] +2022-11-01T15:29:30.2065945Z ##[group]/datum/unit_test/reagent_mob_expose +2022-11-01T15:29:30.2431485Z +2022-11-01T15:29:30.2432396Z PASS /datum/unit_test/reagent_mob_expose 0s +2022-11-01T15:29:30.2433748Z ##[endgroup] +2022-11-01T15:29:30.2736664Z ##[group]/datum/unit_test/reagent_mob_procs +2022-11-01T15:29:30.3087817Z +2022-11-01T15:29:30.3088677Z PASS /datum/unit_test/reagent_mob_procs 0.1s +2022-11-01T15:29:30.3089382Z ##[endgroup] +2022-11-01T15:29:30.3347974Z ##[group]/datum/unit_test/reagent_names +2022-11-01T15:29:31.2354819Z +2022-11-01T15:29:31.2355678Z PASS /datum/unit_test/reagent_names 0.9s +2022-11-01T15:29:31.2356318Z ##[endgroup] +2022-11-01T15:29:32.1042828Z ##[group]/datum/unit_test/reagent_recipe_collisions +2022-11-01T15:29:32.5727294Z +2022-11-01T15:29:32.5728917Z PASS /datum/unit_test/reagent_recipe_collisions 0.4s +2022-11-01T15:29:32.5730155Z ##[endgroup] +2022-11-01T15:29:32.9927755Z ##[group]/datum/unit_test/reagent_transfer +2022-11-01T15:29:32.9934109Z +2022-11-01T15:29:32.9935981Z PASS /datum/unit_test/reagent_transfer 0s +2022-11-01T15:29:32.9936895Z ##[endgroup] +2022-11-01T15:29:33.0126783Z ##[group]/datum/unit_test/stop_drop_and_roll +2022-11-01T15:29:33.0390175Z +2022-11-01T15:29:33.0391562Z PASS /datum/unit_test/stop_drop_and_roll 0s +2022-11-01T15:29:33.0394218Z ##[endgroup] +2022-11-01T15:29:33.0646804Z ##[group]/datum/unit_test/container_resist +2022-11-01T15:29:33.1054797Z +2022-11-01T15:29:33.1056167Z PASS /datum/unit_test/container_resist 0.1s +2022-11-01T15:29:33.1057687Z ##[endgroup] +2022-11-01T15:29:33.1496944Z ##[group]/datum/unit_test/get_message_mods +2022-11-01T15:29:33.1778888Z +2022-11-01T15:29:33.1780246Z PASS /datum/unit_test/get_message_mods 0s +2022-11-01T15:29:33.1781311Z ##[endgroup] +2022-11-01T15:29:33.2061026Z ##[group]/datum/unit_test/say_signal +2022-11-01T15:29:33.2078006Z +2022-11-01T15:29:33.2079823Z PASS /datum/unit_test/say_signal 0s +2022-11-01T15:29:33.2083007Z ##[endgroup] +2022-11-01T15:29:33.2288010Z ##[group]/datum/unit_test/screenshot_antag_icons +2022-11-01T15:29:33.2307183Z screenshot_antag_icons_fugitive was put in data/screenshots_new +2022-11-01T15:29:33.2317601Z screenshot_antag_icons_loneoperative was put in data/screenshots_new +2022-11-01T15:29:33.2741726Z screenshot_antag_icons_sentiencepotionspawn was put in data/screenshots_new +2022-11-01T15:29:33.2757069Z screenshot_antag_icons_traitor was put in data/screenshots_new +2022-11-01T15:29:33.3311410Z screenshot_antag_icons_malfai was put in data/screenshots_new +2022-11-01T15:29:33.3356755Z screenshot_antag_icons_bloodbrother was put in data/screenshots_new +2022-11-01T15:29:33.3365772Z screenshot_antag_icons_changeling was put in data/screenshots_new +2022-11-01T15:29:33.3430251Z screenshot_antag_icons_heretic was put in data/screenshots_new +2022-11-01T15:29:33.3445326Z screenshot_antag_icons_wizard was put in data/screenshots_new +2022-11-01T15:29:33.3487169Z screenshot_antag_icons_cultist was put in data/screenshots_new +2022-11-01T15:29:33.3511130Z screenshot_antag_icons_operative was put in data/screenshots_new +2022-11-01T15:29:33.3528654Z screenshot_antag_icons_clownoperative was put in data/screenshots_new +2022-11-01T15:29:33.3549119Z screenshot_antag_icons_headrevolutionary was put in data/screenshots_new +2022-11-01T15:29:33.3549976Z screenshot_antag_icons_syndicateinfiltrator was put in data/screenshots_new +2022-11-01T15:29:33.3550439Z screenshot_antag_icons_provocateur was put in data/screenshots_new +2022-11-01T15:29:33.3557417Z screenshot_antag_icons_hereticsmuggler was put in data/screenshots_new +2022-11-01T15:29:33.3557858Z screenshot_antag_icons_wizardmidround was put in data/screenshots_new +2022-11-01T15:29:33.3558296Z screenshot_antag_icons_operativemidround was put in data/screenshots_new +2022-11-01T15:29:33.4364141Z screenshot_antag_icons_blob was put in data/screenshots_new +2022-11-01T15:29:33.4501951Z screenshot_antag_icons_xenomorph was put in data/screenshots_new +2022-11-01T15:29:33.4510297Z screenshot_antag_icons_nightmare was put in data/screenshots_new +2022-11-01T15:29:33.4593244Z screenshot_antag_icons_spacedragon was put in data/screenshots_new +2022-11-01T15:29:33.4602657Z screenshot_antag_icons_abductor was put in data/screenshots_new +2022-11-01T15:29:33.4610909Z screenshot_antag_icons_spaceninja was put in data/screenshots_new +2022-11-01T15:29:33.4905469Z screenshot_antag_icons_revenant was put in data/screenshots_new +2022-11-01T15:29:33.4932248Z screenshot_antag_icons_sentientdisease was put in data/screenshots_new +2022-11-01T15:29:33.4934049Z screenshot_antag_icons_syndicatesleeperagent was put in data/screenshots_new +2022-11-01T15:29:33.5122130Z screenshot_antag_icons_blobinfection was put in data/screenshots_new +2022-11-01T15:29:33.5146398Z screenshot_antag_icons_obsessed was put in data/screenshots_new +2022-11-01T15:29:33.5153740Z screenshot_antag_icons_malfaimidround was put in data/screenshots_new +2022-11-01T15:29:33.5154025Z +2022-11-01T15:29:33.5154740Z PASS /datum/unit_test/screenshot_antag_icons 0.3s +2022-11-01T15:29:33.5155554Z ##[endgroup] +2022-11-01T15:29:33.7840161Z ##[group]/datum/unit_test/screenshot_basic +2022-11-01T15:29:33.7846135Z screenshot_basic_red was put in data/screenshots_new +2022-11-01T15:29:33.7850103Z +2022-11-01T15:29:33.7851242Z PASS /datum/unit_test/screenshot_basic 0s +2022-11-01T15:29:33.7851736Z ##[endgroup] +2022-11-01T15:29:33.8047719Z ##[group]/datum/unit_test/screenshot_humanoids +2022-11-01T15:29:34.5128170Z screenshot_humanoids__datum_species_lizard was put in data/screenshots_new +2022-11-01T15:29:35.3887159Z screenshot_humanoids__datum_species_moth was put in data/screenshots_new +2022-11-01T15:29:36.0866727Z screenshot_humanoids__datum_species_shadow was put in data/screenshots_new +2022-11-01T15:29:36.3285479Z screenshot_humanoids__datum_species_shadow_nightmare was put in data/screenshots_new +2022-11-01T15:29:37.0085075Z screenshot_humanoids__datum_species_abductor was put in data/screenshots_new +2022-11-01T15:29:37.6062780Z screenshot_humanoids__datum_species_android was put in data/screenshots_new +2022-11-01T15:29:38.2188199Z screenshot_humanoids__datum_species_dullahan was put in data/screenshots_new +2022-11-01T15:29:38.8612302Z screenshot_humanoids__datum_species_ethereal was put in data/screenshots_new +2022-11-01T15:29:39.5803701Z screenshot_humanoids__datum_species_human was put in data/screenshots_new +2022-11-01T15:29:40.3407635Z screenshot_humanoids__datum_species_human_felinid was put in data/screenshots_new +2022-11-01T15:29:41.1214653Z screenshot_humanoids__datum_species_human_krokodil_addict was put in data/screenshots_new +2022-11-01T15:29:41.9521982Z screenshot_humanoids__datum_species_fly was put in data/screenshots_new +2022-11-01T15:29:42.6006415Z screenshot_humanoids__datum_species_golem was put in data/screenshots_new +2022-11-01T15:29:43.2088729Z screenshot_humanoids__datum_species_golem_adamantine was put in data/screenshots_new +2022-11-01T15:29:43.8190470Z screenshot_humanoids__datum_species_golem_plasma was put in data/screenshots_new +2022-11-01T15:29:44.4370361Z screenshot_humanoids__datum_species_golem_diamond was put in data/screenshots_new +2022-11-01T15:29:45.0207260Z screenshot_humanoids__datum_species_golem_gold was put in data/screenshots_new +2022-11-01T15:29:45.6198968Z screenshot_humanoids__datum_species_golem_silver was put in data/screenshots_new +2022-11-01T15:29:46.2210457Z screenshot_humanoids__datum_species_golem_plasteel was put in data/screenshots_new +2022-11-01T15:29:46.7870537Z screenshot_humanoids__datum_species_golem_titanium was put in data/screenshots_new +2022-11-01T15:29:47.3882868Z screenshot_humanoids__datum_species_golem_plastitanium was put in data/screenshots_new +2022-11-01T15:29:47.9960089Z screenshot_humanoids__datum_species_golem_alloy was put in data/screenshots_new +2022-11-01T15:29:48.6148861Z screenshot_humanoids__datum_species_golem_wood was put in data/screenshots_new +2022-11-01T15:29:49.2815897Z screenshot_humanoids__datum_species_golem_uranium was put in data/screenshots_new +2022-11-01T15:29:49.9589760Z screenshot_humanoids__datum_species_golem_sand was put in data/screenshots_new +2022-11-01T15:29:50.5992504Z screenshot_humanoids__datum_species_golem_glass was put in data/screenshots_new +2022-11-01T15:29:51.2503187Z screenshot_humanoids__datum_species_golem_bluespace was put in data/screenshots_new +2022-11-01T15:29:51.8848719Z screenshot_humanoids__datum_species_golem_bananium was put in data/screenshots_new +2022-11-01T15:29:52.3852904Z screenshot_humanoids__datum_species_golem_runic was put in data/screenshots_new +2022-11-01T15:29:53.0469173Z screenshot_humanoids__datum_species_golem_cloth was put in data/screenshots_new +2022-11-01T15:29:53.6444155Z screenshot_humanoids__datum_species_golem_plastic was put in data/screenshots_new +2022-11-01T15:29:54.3098057Z screenshot_humanoids__datum_species_golem_bronze was put in data/screenshots_new +2022-11-01T15:29:54.8535540Z screenshot_humanoids__datum_species_golem_cardboard was put in data/screenshots_new +2022-11-01T15:29:55.5735108Z screenshot_humanoids__datum_species_golem_leather was put in data/screenshots_new +2022-11-01T15:29:56.0717640Z screenshot_humanoids__datum_species_golem_durathread was put in data/screenshots_new +2022-11-01T15:29:56.5432741Z screenshot_humanoids__datum_species_golem_bone was put in data/screenshots_new +2022-11-01T15:29:57.0369874Z screenshot_humanoids__datum_species_golem_snow was put in data/screenshots_new +2022-11-01T15:29:57.7216313Z screenshot_humanoids__datum_species_golem_mhydrogen was put in data/screenshots_new +2022-11-01T15:29:58.4794694Z screenshot_humanoids__datum_species_jelly was put in data/screenshots_new +2022-11-01T15:29:59.2634596Z screenshot_humanoids__datum_species_jelly_slime was put in data/screenshots_new +2022-11-01T15:30:00.0372590Z screenshot_humanoids__datum_species_jelly_luminescent was put in data/screenshots_new +2022-11-01T15:30:00.7908231Z screenshot_humanoids__datum_species_jelly_stargazer was put in data/screenshots_new +2022-11-01T15:30:01.4923254Z screenshot_humanoids__datum_species_lizard_ashwalker was put in data/screenshots_new +2022-11-01T15:30:02.2186441Z screenshot_humanoids__datum_species_lizard_silverscale was put in data/screenshots_new +2022-11-01T15:30:02.4149008Z screenshot_humanoids__datum_species_monkey was put in data/screenshots_new +2022-11-01T15:30:03.0255568Z screenshot_humanoids__datum_species_mush was put in data/screenshots_new +2022-11-01T15:30:03.6777755Z screenshot_humanoids__datum_species_plasmaman was put in data/screenshots_new +2022-11-01T15:30:04.4788826Z screenshot_humanoids__datum_species_pod was put in data/screenshots_new +2022-11-01T15:30:05.2174595Z screenshot_humanoids__datum_species_skeleton was put in data/screenshots_new +2022-11-01T15:30:05.9909000Z screenshot_humanoids__datum_species_snail was put in data/screenshots_new +2022-11-01T15:30:06.7544848Z screenshot_humanoids__datum_species_vampire was put in data/screenshots_new +2022-11-01T15:30:07.6424794Z screenshot_humanoids__datum_species_zombie was put in data/screenshots_new +2022-11-01T15:30:08.5972035Z screenshot_humanoids__datum_species_zombie_infectious was put in data/screenshots_new +2022-11-01T15:30:08.5972336Z +2022-11-01T15:30:08.5972854Z PASS /datum/unit_test/screenshot_humanoids 34.7s +2022-11-01T15:30:08.5973526Z ##[endgroup] +2022-11-01T15:30:44.2099567Z ##[group]/datum/unit_test/screenshot_saturnx +2022-11-01T15:30:44.5011065Z screenshot_saturnx_invisibility was put in data/screenshots_new +2022-11-01T15:30:44.5011333Z +2022-11-01T15:30:44.5012180Z PASS /datum/unit_test/screenshot_saturnx 0.3s +2022-11-01T15:30:44.5012769Z ##[endgroup] +2022-11-01T15:30:44.7785909Z ##[group]/datum/unit_test/security_officer_roundstart_distribution +2022-11-01T15:30:44.9017426Z +2022-11-01T15:30:44.9018614Z PASS /datum/unit_test/security_officer_roundstart_distribution 0.2s +2022-11-01T15:30:44.9019313Z ##[endgroup] +2022-11-01T15:30:45.0427506Z ##[group]/datum/unit_test/security_officer_latejoin_distribution +2022-11-01T15:30:45.5391742Z +2022-11-01T15:30:45.5392426Z PASS /datum/unit_test/security_officer_latejoin_distribution 0.5s +2022-11-01T15:30:45.5393125Z ##[endgroup] +2022-11-01T15:30:46.2210379Z ##[group]/datum/unit_test/security_levels +2022-11-01T15:30:46.2210589Z +2022-11-01T15:30:46.2216058Z PASS /datum/unit_test/security_levels 0s +2022-11-01T15:30:46.2216555Z ##[endgroup] +2022-11-01T15:30:46.2399271Z ##[group]/datum/unit_test/servingtray +2022-11-01T15:30:46.2779259Z +2022-11-01T15:30:46.2780125Z PASS /datum/unit_test/servingtray 0s +2022-11-01T15:30:46.2780972Z ##[endgroup] +2022-11-01T15:30:46.3048093Z ##[group]/datum/unit_test/simple_animal_freeze +2022-11-01T15:30:46.3059709Z +2022-11-01T15:30:46.3060267Z PASS /datum/unit_test/simple_animal_freeze 0s +2022-11-01T15:30:46.3060938Z ##[endgroup] +2022-11-01T15:30:46.3241320Z ##[group]/datum/unit_test/siunit +2022-11-01T15:30:46.3241508Z +2022-11-01T15:30:46.3241961Z PASS /datum/unit_test/siunit 0s +2022-11-01T15:30:46.3242362Z ##[endgroup] +2022-11-01T15:30:46.3753674Z ##[group]/datum/unit_test/slips +2022-11-01T15:30:46.4300467Z +2022-11-01T15:30:46.4301480Z PASS /datum/unit_test/slips 0.1s +2022-11-01T15:30:46.4302301Z ##[endgroup] +2022-11-01T15:30:46.5100922Z ##[group]/datum/unit_test/spawn_humans +2022-11-01T15:30:51.5880046Z +2022-11-01T15:30:51.5881071Z PASS /datum/unit_test/spawn_humans 5s +2022-11-01T15:30:51.5881789Z ##[endgroup] +2022-11-01T15:30:51.6350612Z ##[group]/datum/unit_test/spawn_mobs +2022-11-01T15:30:51.7210346Z +2022-11-01T15:30:51.7211375Z PASS /datum/unit_test/spawn_mobs 0.1s +2022-11-01T15:30:51.7212072Z ##[endgroup] +2022-11-01T15:30:51.8820435Z ##[group]/datum/unit_test/species_change_clothing +2022-11-01T15:30:51.9839314Z +2022-11-01T15:30:51.9840163Z PASS /datum/unit_test/species_change_clothing 0.1s +2022-11-01T15:30:51.9840797Z ##[endgroup] +2022-11-01T15:30:52.0595249Z ##[group]/datum/unit_test/species_change_organs +2022-11-01T15:30:52.1312087Z +2022-11-01T15:30:52.1313114Z PASS /datum/unit_test/species_change_organs 0.1s +2022-11-01T15:30:52.1313735Z ##[endgroup] +2022-11-01T15:30:52.2788548Z ##[group]/datum/unit_test/species_config_sanity +2022-11-01T15:30:52.2788764Z +2022-11-01T15:30:52.2789218Z PASS /datum/unit_test/species_config_sanity 0s +2022-11-01T15:30:52.2789672Z ##[endgroup] +2022-11-01T15:30:52.2965591Z ##[group]/datum/unit_test/species_unique_id +2022-11-01T15:30:52.2965794Z +2022-11-01T15:30:52.2966648Z PASS /datum/unit_test/species_unique_id 0s +2022-11-01T15:30:52.2967087Z ##[endgroup] +2022-11-01T15:30:52.3145296Z ##[group]/datum/unit_test/species_whitelist_check +2022-11-01T15:30:52.3145500Z +2022-11-01T15:30:52.3145979Z PASS /datum/unit_test/species_whitelist_check 0s +2022-11-01T15:30:52.3146421Z ##[endgroup] +2022-11-01T15:30:52.3319686Z ##[group]/datum/unit_test/spell_invocations +2022-11-01T15:30:52.3320202Z +2022-11-01T15:30:52.3320653Z PASS /datum/unit_test/spell_invocations 0s +2022-11-01T15:30:52.3321098Z ##[endgroup] +2022-11-01T15:30:52.3490883Z ##[group]/datum/unit_test/mind_swap_spell +2022-11-01T15:30:52.4036851Z +2022-11-01T15:30:52.4037676Z PASS /datum/unit_test/mind_swap_spell 0.1s +2022-11-01T15:30:52.4038275Z ##[endgroup] +2022-11-01T15:30:52.4828774Z ##[group]/datum/unit_test/spell_names +2022-11-01T15:30:52.4828988Z +2022-11-01T15:30:52.4829550Z PASS /datum/unit_test/spell_names 0s +2022-11-01T15:30:52.4829982Z ##[endgroup] +2022-11-01T15:30:52.5000265Z ##[group]/datum/unit_test/shapeshift_spell_validity +2022-11-01T15:30:52.5004478Z +2022-11-01T15:30:52.5005145Z PASS /datum/unit_test/shapeshift_spell_validity 0.1s +2022-11-01T15:30:52.5005621Z ##[endgroup] +2022-11-01T15:30:52.5165907Z ##[group]/datum/unit_test/shapeshift_spell +2022-11-01T15:30:52.8039754Z +2022-11-01T15:30:52.8040573Z PASS /datum/unit_test/shapeshift_spell 0.3s +2022-11-01T15:30:52.8041200Z ##[endgroup] +2022-11-01T15:30:53.0783548Z ##[group]/datum/unit_test/shapeshift_holoparasites +2022-11-01T15:30:53.1126288Z +2022-11-01T15:30:53.1127333Z PASS /datum/unit_test/shapeshift_holoparasites 0.1s +2022-11-01T15:30:53.1128391Z ##[endgroup] +2022-11-01T15:30:53.1559214Z ##[group]/datum/unit_test/spritesheets +2022-11-01T15:30:53.1593744Z +2022-11-01T15:30:53.1596242Z PASS /datum/unit_test/spritesheets 0s +2022-11-01T15:30:53.1599434Z ##[endgroup] +2022-11-01T15:30:53.1775369Z ##[group]/datum/unit_test/stack_singular_name +2022-11-01T15:30:53.1777955Z +2022-11-01T15:30:53.1780282Z PASS /datum/unit_test/stack_singular_name 0s +2022-11-01T15:30:53.1781032Z ##[endgroup] +2022-11-01T15:30:53.1978111Z ##[group]/datum/unit_test/stomach +2022-11-01T15:30:53.2306019Z +2022-11-01T15:30:53.2308397Z PASS /datum/unit_test/stomach 0.1s +2022-11-01T15:30:53.2311132Z ##[endgroup] +2022-11-01T15:30:53.2563959Z ##[group]/datum/unit_test/strip_menu_ui_status +2022-11-01T15:30:53.3090477Z +2022-11-01T15:30:53.3091739Z PASS /datum/unit_test/strip_menu_ui_status 0.1s +2022-11-01T15:30:53.3094850Z ##[endgroup] +2022-11-01T15:30:53.3492514Z ##[group]/datum/unit_test/subsystem_init +2022-11-01T15:30:53.3493184Z +2022-11-01T15:30:53.3495636Z PASS /datum/unit_test/subsystem_init 0s +2022-11-01T15:30:53.3498157Z ##[endgroup] +2022-11-01T15:30:53.3664175Z ##[group]/datum/unit_test/suit_storage_icons +2022-11-01T15:30:55.3207063Z 1 - /obj/item/ammo_casing/shotgun using invalid worn_icon_state, "shell" +2022-11-01T15:30:55.3382821Z 2 - /obj/item/gun/ballistic/shotgun/hook using invalid icon_state, "hookshotgun" +2022-11-01T15:30:55.3567861Z 3 - /obj/item/gun/ballistic/automatic/surplus using invalid icon_state, "surplus" +2022-11-01T15:30:55.3745473Z 4 - /obj/item/gun/energy/beam_rifle using invalid icon_state, "esniper" +2022-11-01T15:30:55.3772721Z 5 - /obj/item/gun/energy/lasercannon using invalid icon_state, "lasercannon" +2022-11-01T15:30:55.3812025Z 6 - /obj/item/gun/energy/ionrifle using invalid icon_state, "ionrifle" +2022-11-01T15:30:55.3814794Z 7 - /obj/item/gun/energy/ionrifle/carbine using invalid icon_state, "ioncarbine" +2022-11-01T15:30:55.3984674Z 8 - /obj/item/tome using invalid icon_state, "tome" +2022-11-01T15:30:55.4027757Z 9 - /obj/item/melee/sickly_blade/void using invalid icon_state, "void_blade" +2022-11-01T15:30:55.4043373Z 10 - /obj/item/nullrod/staff using invalid icon_state, "godstaff-red" +2022-11-01T15:30:55.4048073Z 11 - /obj/item/nullrod/staff/blue using invalid icon_state, "godstaff-blue" +2022-11-01T15:30:55.4136802Z 12 - /obj/item/nullrod/tribal_knife using invalid icon_state, "crysknife" +2022-11-01T15:30:55.4148858Z 13 - /obj/item/nullrod/spear using invalid icon_state, "ratvarian_spear" +2022-11-01T15:30:55.4161026Z 14 - /obj/item/candle using invalid icon_state, "candle1" +2022-11-01T15:30:55.4710008Z 15 - /obj/item/toy/eightball using invalid icon_state, "eightball" +2022-11-01T15:30:55.4712397Z 16 - /obj/item/toy/mecha using invalid icon_state, "fivestarstoy" +2022-11-01T15:30:55.4717528Z 17 - /obj/item/toy/mecha/ripley using invalid icon_state, "ripleytoy" +2022-11-01T15:30:55.4720640Z 18 - /obj/item/toy/mecha/ripleymkii using invalid icon_state, "ripleymkiitoy" +2022-11-01T15:30:55.4725923Z 19 - /obj/item/toy/mecha/hauler using invalid icon_state, "haulertoy" +2022-11-01T15:30:55.4728709Z 20 - /obj/item/toy/mecha/clarke using invalid icon_state, "clarketoy" +2022-11-01T15:30:55.4732862Z 21 - /obj/item/toy/mecha/odysseus using invalid icon_state, "odysseustoy" +2022-11-01T15:30:55.4736959Z 22 - /obj/item/toy/mecha/gygax using invalid icon_state, "gygaxtoy" +2022-11-01T15:30:55.4741521Z 23 - /obj/item/toy/mecha/durand using invalid icon_state, "durandtoy" +2022-11-01T15:30:55.4745193Z 24 - /obj/item/toy/mecha/savannahivanov using invalid icon_state, "savannahivanovtoy" +2022-11-01T15:30:55.4748259Z 25 - /obj/item/toy/mecha/phazon using invalid icon_state, "phazontoy" +2022-11-01T15:30:55.4752835Z 26 - /obj/item/toy/mecha/honk using invalid icon_state, "honktoy" +2022-11-01T15:30:55.4755743Z 27 - /obj/item/toy/mecha/darkgygax using invalid icon_state, "darkgygaxtoy" +2022-11-01T15:30:55.4760291Z 28 - /obj/item/toy/mecha/mauler using invalid icon_state, "maulertoy" +2022-11-01T15:30:55.4763840Z 29 - /obj/item/toy/mecha/darkhonk using invalid icon_state, "darkhonktoy" +2022-11-01T15:30:55.4768684Z 30 - /obj/item/toy/mecha/deathripley using invalid icon_state, "deathripleytoy" +2022-11-01T15:30:55.4772115Z 31 - /obj/item/toy/mecha/reticence using invalid icon_state, "reticencetoy" +2022-11-01T15:30:55.4774925Z 32 - /obj/item/toy/mecha/marauder using invalid icon_state, "maraudertoy" +2022-11-01T15:30:55.4779221Z 33 - /obj/item/toy/mecha/seraph using invalid icon_state, "seraphtoy" +2022-11-01T15:30:55.4783197Z 34 - /obj/item/toy/mecha/firefighter using invalid icon_state, "firefightertoy" +2022-11-01T15:30:55.4786820Z 35 - /obj/item/toy/waterballoon using invalid icon_state, "waterballoon-e" +2022-11-01T15:30:55.4790265Z 36 - /obj/item/toy/balloon using invalid icon_state, "balloon" +2022-11-01T15:30:55.4794733Z 37 - /obj/item/toy/balloon/corgi using invalid icon_state, "corgi" +2022-11-01T15:30:55.4798121Z 38 - /obj/item/toy/balloon/syndicate using invalid icon_state, "syndballoon" +2022-11-01T15:30:55.4800642Z 39 - /obj/item/toy/balloon/arrest using invalid icon_state, "arrestballoon" +2022-11-01T15:30:55.4805597Z 40 - /obj/item/toy/captainsaid using invalid icon_state, "captainsaid_off" +2022-11-01T15:30:55.4810625Z 41 - /obj/item/toy/spinningtoy using invalid icon_state, "singularity_s1" +2022-11-01T15:30:55.4819042Z 42 - /obj/item/toy/ammo/gun using invalid icon_state, "357OLD-7" +2022-11-01T15:30:55.4821247Z 43 - /obj/item/toy/sword using invalid icon_state, "e_sword" +2022-11-01T15:30:55.4826674Z 44 - /obj/item/toy/foamblade using invalid icon_state, "foamblade" +2022-11-01T15:30:55.4906032Z 45 - /obj/item/toy/windup_toolbox using invalid icon_state, "green" +2022-11-01T15:30:55.4915446Z 46 - /obj/item/toy/snappop using invalid icon_state, "snappop" +2022-11-01T15:30:55.4918336Z 47 - /obj/item/toy/talking using invalid icon_state, "owlprize" +2022-11-01T15:30:55.4923506Z 48 - /obj/item/toy/talking/ai using invalid icon_state, "AI" +2022-11-01T15:30:55.4927158Z 49 - /obj/item/toy/talking/codex_gigas using invalid icon_state, "demonomicon" +2022-11-01T15:30:55.4931629Z 50 - /obj/item/toy/talking/griffin using invalid icon_state, "griffinprize" +2022-11-01T15:30:55.4935255Z 51 - /obj/item/toy/nuke using invalid icon_state, "nuketoyidle" +2022-11-01T15:30:55.4941687Z 52 - /obj/item/toy/minimeteor using invalid icon_state, "minimeteor" +2022-11-01T15:30:55.4950575Z 53 - /obj/item/toy/redbutton using invalid icon_state, "bigred" +2022-11-01T15:30:55.4951244Z 54 - /obj/item/toy/snowball using invalid icon_state, "snowball" +2022-11-01T15:30:55.4954561Z 55 - /obj/item/toy/beach_ball using invalid icon_state, "ball" +2022-11-01T15:30:55.4958662Z 56 - /obj/item/toy/beach_ball/baseball using invalid icon_state, "baseball" +2022-11-01T15:30:55.4963000Z 57 - /obj/item/toy/beach_ball/holoball using invalid icon_state, "basketball" +2022-11-01T15:30:55.4966965Z 58 - /obj/item/toy/beach_ball/holoball/dodgeball using invalid icon_state, "dodgeball" +2022-11-01T15:30:55.4977748Z 59 - /obj/item/toy/toy_xeno using invalid icon_state, "toy_xeno" +2022-11-01T15:30:55.4980250Z 60 - /obj/item/toy/cattoy using invalid icon_state, "toy_mouse" +2022-11-01T15:30:55.4983618Z 61 - /obj/item/toy/figure using invalid icon_state, "nuketoy" +2022-11-01T15:30:55.4987315Z 62 - /obj/item/toy/figure/cmo using invalid icon_state, "cmo" +2022-11-01T15:30:55.4997139Z 63 - /obj/item/toy/figure/assistant using invalid icon_state, "assistant" +2022-11-01T15:30:55.4997624Z 64 - /obj/item/toy/figure/atmos using invalid icon_state, "atmos" +2022-11-01T15:30:55.4998070Z 65 - /obj/item/toy/figure/bartender using invalid icon_state, "bartender" +2022-11-01T15:30:55.5000037Z 66 - /obj/item/toy/figure/borg using invalid icon_state, "borg" +2022-11-01T15:30:55.5005726Z 67 - /obj/item/toy/figure/botanist using invalid icon_state, "botanist" +2022-11-01T15:30:55.5009351Z 68 - /obj/item/toy/figure/captain using invalid icon_state, "captain" +2022-11-01T15:30:55.5013740Z 69 - /obj/item/toy/figure/cargotech using invalid icon_state, "cargotech" +2022-11-01T15:30:55.5017249Z 70 - /obj/item/toy/figure/ce using invalid icon_state, "ce" +2022-11-01T15:30:55.5020387Z 71 - /obj/item/toy/figure/chaplain using invalid icon_state, "chaplain" +2022-11-01T15:30:55.5024141Z 72 - /obj/item/toy/figure/chef using invalid icon_state, "chef" +2022-11-01T15:30:55.5028293Z 73 - /obj/item/toy/figure/chemist using invalid icon_state, "chemist" +2022-11-01T15:30:55.5031085Z 74 - /obj/item/toy/figure/clown using invalid icon_state, "clown" +2022-11-01T15:30:55.5034369Z 75 - /obj/item/toy/figure/ian using invalid icon_state, "ian" +2022-11-01T15:30:55.5038425Z 76 - /obj/item/toy/figure/detective using invalid icon_state, "detective" +2022-11-01T15:30:55.5042175Z 77 - /obj/item/toy/figure/dsquad using invalid icon_state, "dsquad" +2022-11-01T15:30:55.5046297Z 78 - /obj/item/toy/figure/engineer using invalid icon_state, "engineer" +2022-11-01T15:30:55.5050167Z 79 - /obj/item/toy/figure/geneticist using invalid icon_state, "geneticist" +2022-11-01T15:30:55.5053342Z 80 - /obj/item/toy/figure/hop using invalid icon_state, "hop" +2022-11-01T15:30:55.5056872Z 81 - /obj/item/toy/figure/hos using invalid icon_state, "hos" +2022-11-01T15:30:55.5060399Z 82 - /obj/item/toy/figure/qm using invalid icon_state, "qm" +2022-11-01T15:30:55.5063872Z 83 - /obj/item/toy/figure/janitor using invalid icon_state, "janitor" +2022-11-01T15:30:55.5067662Z 84 - /obj/item/toy/figure/lawyer using invalid icon_state, "lawyer" +2022-11-01T15:30:55.5070895Z 85 - /obj/item/toy/figure/curator using invalid icon_state, "curator" +2022-11-01T15:30:55.5074298Z 86 - /obj/item/toy/figure/md using invalid icon_state, "md" +2022-11-01T15:30:55.5077555Z 87 - /obj/item/toy/figure/paramedic using invalid icon_state, "paramedic" +2022-11-01T15:30:55.5080888Z 88 - /obj/item/toy/figure/psychologist using invalid icon_state, "psychologist" +2022-11-01T15:30:55.5084180Z 89 - /obj/item/toy/figure/prisoner using invalid icon_state, "prisoner" +2022-11-01T15:30:55.5087759Z 90 - /obj/item/toy/figure/mime using invalid icon_state, "mime" +2022-11-01T15:30:55.5091521Z 91 - /obj/item/toy/figure/miner using invalid icon_state, "miner" +2022-11-01T15:30:55.5094739Z 92 - /obj/item/toy/figure/ninja using invalid icon_state, "ninja" +2022-11-01T15:30:55.5098467Z 93 - /obj/item/toy/figure/wizard using invalid icon_state, "wizard" +2022-11-01T15:30:55.5101717Z 94 - /obj/item/toy/figure/rd using invalid icon_state, "rd" +2022-11-01T15:30:55.5105157Z 95 - /obj/item/toy/figure/roboticist using invalid icon_state, "roboticist" +2022-11-01T15:30:55.5108497Z 96 - /obj/item/toy/figure/scientist using invalid icon_state, "scientist" +2022-11-01T15:30:55.5111745Z 97 - /obj/item/toy/figure/syndie using invalid icon_state, "syndie" +2022-11-01T15:30:55.5115064Z 98 - /obj/item/toy/figure/secofficer using invalid icon_state, "secofficer" +2022-11-01T15:30:55.5120612Z 99 - /obj/item/toy/figure/virologist using invalid icon_state, "virologist" +2022-11-01T15:30:55.5123956Z 100 - /obj/item/toy/figure/warden using invalid icon_state, "warden" +2022-11-01T15:30:55.5128284Z 101 - /obj/item/toy/dummy using invalid icon_state, "puppet" +2022-11-01T15:30:55.5131152Z 102 - /obj/item/toy/seashell using invalid icon_state, "shell1" +2022-11-01T15:30:55.5134593Z 103 - /obj/item/toy/brokenradio using invalid icon_state, "broken_radio" +2022-11-01T15:30:55.5137892Z 104 - /obj/item/toy/braintoy using invalid icon_state, "brain-old" +2022-11-01T15:30:55.5144558Z 105 - /obj/item/toy/reality_pierce using invalid icon_state, "pierced_illusion" +2022-11-01T15:30:55.5147190Z 106 - /obj/item/toy/foamfinger using invalid icon_state, "foamfinger" +2022-11-01T15:30:55.5150535Z 107 - /obj/item/toy/intento using invalid icon_state, "blank" +2022-11-01T15:30:55.5198041Z 108 - /obj/item/toy/sprayoncan using invalid icon_state, "sprayoncan" +2022-11-01T15:30:55.5200657Z 109 - /obj/item/toy/xmas_cracker using invalid icon_state, "cracker" +2022-11-01T15:30:55.5207230Z 110 - /obj/item/cultivator/rake using invalid icon_state, "rake" +2022-11-01T15:30:55.5214896Z 111 - /obj/item/hatchet/wooden using invalid icon_state, "woodhatchet" +2022-11-01T15:30:55.5218699Z 112 - /obj/item/hatchet/cutterblade using invalid icon_state, "cutterblade" +2022-11-01T15:30:55.6152861Z 113 - /obj/item/reagent_containers/hypospray/medipen using invalid worn_icon_state, "medipen" +2022-11-01T15:30:55.6332977Z 114 - /obj/item/storage/pill_bottle using invalid icon_state, "pill_canister" +2022-11-01T15:30:55.6344463Z 115 - /obj/item/analyzer/ranged using invalid icon_state, "analyzerranged" +2022-11-01T15:30:55.6996164Z 116 - /obj/item/organ/internal/monster_core using invalid icon_state, "hivelord_core" +2022-11-01T15:30:55.6996812Z 117 - /obj/item/organ/internal/monster_core/brimdust_sac using invalid icon_state, "brim_sac" +2022-11-01T15:30:55.7000924Z 118 - /obj/item/organ/internal/monster_core/regenerative_core/legion using invalid icon_state, "legion_core" +2022-11-01T15:30:55.7004434Z 119 - /obj/item/organ/internal/monster_core/rush_gland using invalid icon_state, "lobster_gland" +2022-11-01T15:30:55.7019240Z 120 - /obj/item/spear/bamboospear using invalid icon_state, "bamboo_spear0" +2022-11-01T15:30:55.7066737Z 121 - /obj/item/abductor/gizmo using invalid icon_state, "gizmo_scan" +2022-11-01T15:30:55.7071949Z 122 - /obj/item/abductor/silencer using invalid icon_state, "silencer" +2022-11-01T15:30:55.7074703Z 123 - /obj/item/abductor/mind_device using invalid icon_state, "mind_device_message" +2022-11-01T15:30:55.7093947Z 124 - /obj/item/claymore/cutlass using invalid worn_icon_state, "cutlass" +2022-11-01T15:30:55.7100530Z 125 - /obj/item/claymore/highlander/robot using invalid icon_state, "claymore_cyborg" +2022-11-01T15:30:55.7103494Z 126 - /obj/item/banner using invalid icon_state, "banner" +2022-11-01T15:30:55.7106179Z 127 - /obj/item/banner/security using invalid icon_state, "banner_security" +2022-11-01T15:30:55.7109205Z 128 - /obj/item/banner/medical using invalid icon_state, "banner_medical" +2022-11-01T15:30:55.7112253Z 129 - /obj/item/banner/science using invalid icon_state, "banner_science" +2022-11-01T15:30:55.7115489Z 130 - /obj/item/banner/cargo using invalid icon_state, "banner_cargo" +2022-11-01T15:30:55.7118625Z 131 - /obj/item/banner/engineering using invalid icon_state, "banner_engineering" +2022-11-01T15:30:55.7121768Z 132 - /obj/item/banner/red using invalid icon_state, "banner-red" +2022-11-01T15:30:55.7125528Z 133 - /obj/item/banner/blue using invalid icon_state, "banner-blue" +2022-11-01T15:30:55.7173275Z 134 - /obj/item/gun/magic/staff using invalid icon_state, "staff" +2022-11-01T15:30:55.7176309Z 135 - /obj/item/gun/magic/staff/change using invalid icon_state, "staffofchange" +2022-11-01T15:30:55.7179814Z 136 - /obj/item/gun/magic/staff/animate using invalid icon_state, "staffofanimation" +2022-11-01T15:30:55.7183703Z 137 - /obj/item/gun/magic/staff/healing using invalid icon_state, "staffofhealing" +2022-11-01T15:30:55.7187827Z 138 - /obj/item/gun/magic/staff/chaos using invalid icon_state, "staffofchaos" +2022-11-01T15:30:55.7191418Z 139 - /obj/item/gun/magic/staff/door using invalid icon_state, "staffofdoor" +2022-11-01T15:30:55.7194614Z 140 - /obj/item/gun/magic/staff/honk using invalid icon_state, "honker" +2022-11-01T15:30:55.7201412Z 141 - /obj/item/gun/magic/staff/locker using invalid worn_icon_state, "lockerstaff" +2022-11-01T15:30:55.7204043Z 142 - /obj/item/gun/magic/staff/flying using invalid worn_icon_state, "flightstaff" +2022-11-01T15:30:55.7207467Z 143 - /obj/item/gun/magic/staff/babel using invalid worn_icon_state, "babelstaff" +2022-11-01T15:30:55.7211147Z 144 - /obj/item/gun/magic/staff/necropotence using invalid worn_icon_state, "necrostaff" +2022-11-01T15:30:55.7215407Z 145 - /obj/item/gun/magic/staff/wipe using invalid worn_icon_state, "wipestaff" +2022-11-01T15:30:55.7241733Z 146 - /obj/item/melee/energy/sword/pirate using invalid icon_state, "e_cutlass" +2022-11-01T15:30:55.7244715Z 147 - /obj/item/clothing/glasses/eyepatch using invalid icon_state, "eyepatch" +2022-11-01T15:30:55.7252484Z 148 - /obj/item/melee/energy/sword/cyborg/saw using invalid icon_state, "esaw" +2022-11-01T15:30:55.7266561Z 149 - /obj/item/tank/jetpack/improvised using invalid worn_icon_state, "jetpack-improvised" +2022-11-01T15:30:55.7274060Z 150 - /obj/item/multitool using invalid icon_state, "multitool" +2022-11-01T15:30:55.7276378Z 151 - /obj/item/multitool/cyborg using invalid icon_state, "multitool_cyborg" +2022-11-01T15:30:55.7280858Z 152 - /obj/item/multitool/circuit using invalid icon_state, "multitool_circuit" +2022-11-01T15:30:55.7284308Z 153 - /obj/item/storage/bag/trash using invalid icon_state, "trashbag" +2022-11-01T15:30:55.7287840Z 154 - /obj/item/storage/bag/trash/bluespace using invalid icon_state, "bluetrashbag" +2022-11-01T15:30:55.7290759Z 155 - /obj/item/cane using invalid icon_state, "cane" +2022-11-01T15:30:55.7294298Z 156 - /obj/item/cane/white using invalid icon_state, "cane_white" +2022-11-01T15:30:55.7297184Z 157 - /obj/item/megaphone/clown using invalid icon_state, "megaphone-clown" +2022-11-01T15:30:55.7318542Z 158 - /obj/item/food/pie/cream using invalid icon_state, "pie" +2022-11-01T15:30:55.7334187Z 159 - /obj/item/instrument/bikehorn using invalid icon_state, "bike_horn" +2022-11-01T15:30:55.7337088Z 160 - /obj/item/reagent_containers/cup/soda_cans/canned_laughter using invalid icon_state, "laughter" +2022-11-01T15:30:55.7358710Z 161 - /obj/item/grown/bananapeel using invalid icon_state, "banana_peel" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-11-01T15:30:55.7362056Z 162 - /obj/item/grown/bananapeel/bombanana using invalid icon_state, "banana_peel" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-11-01T15:30:55.7363000Z 163 - /obj/item/grown/bananapeel/mimanapeel using invalid icon_state, "mimana_peel" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-11-01T15:30:55.7367080Z 164 - /obj/item/grown/bananapeel/bluespace using invalid icon_state, "bluenana_peel" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-11-01T15:30:55.7368175Z 165 - /obj/item/grown/bananapeel/specialpeel using invalid icon_state, "banana_peel" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-11-01T15:30:55.7369395Z 166 - /obj/item/food/grown/banana using invalid icon_state, "banana" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-11-01T15:30:55.7372848Z 167 - /obj/item/food/grown/banana/bombanana using invalid icon_state, "banana" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-11-01T15:30:55.7373761Z 168 - /obj/item/food/grown/banana/mime using invalid icon_state, "mimana" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-11-01T15:30:55.7377078Z 169 - /obj/item/food/grown/banana/bluespace using invalid icon_state, "bluenana" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-11-01T15:30:55.7377931Z 170 - /obj/item/food/grown/banana/bunch using invalid icon_state, "banana_bunch" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-11-01T15:30:55.7380762Z 171 - /obj/item/stack/spacecash/c1 using invalid icon_state, "spacecash1" +2022-11-01T15:30:55.7381375Z 172 - /obj/item/stack/spacecash/c10 using invalid icon_state, "spacecash10" +2022-11-01T15:30:55.7381845Z 173 - /obj/item/stack/spacecash/c20 using invalid icon_state, "spacecash20" +2022-11-01T15:30:55.7384576Z 174 - /obj/item/stack/spacecash/c50 using invalid icon_state, "spacecash50" +2022-11-01T15:30:55.7385391Z 175 - /obj/item/stack/spacecash/c100 using invalid icon_state, "spacecash100" +2022-11-01T15:30:55.7386850Z 176 - /obj/item/stack/spacecash/c200 using invalid icon_state, "spacecash200" +2022-11-01T15:30:55.7389337Z 177 - /obj/item/stack/spacecash/c500 using invalid icon_state, "spacecash500" +2022-11-01T15:30:55.7394435Z 178 - /obj/item/stack/spacecash/c1000 using invalid icon_state, "spacecash1000" +2022-11-01T15:30:55.7397872Z 179 - /obj/item/stack/spacecash/c10000 using invalid icon_state, "spacecash10000" +2022-11-01T15:30:55.7401273Z 180 - /obj/item/clothing/mask/facehugger/toy using invalid worn_icon_state, "facehugger" +2022-11-01T15:30:55.7415134Z 181 - /obj/item/kitchen/fork using invalid icon_state, "fork" +2022-11-01T15:30:55.7417371Z 182 - /obj/item/kitchen/fork/plastic using invalid icon_state, "plastic_fork" +2022-11-01T15:30:55.7428215Z 183 - /obj/item/kitchen/spoon using invalid icon_state, "spoon" +2022-11-01T15:30:55.7429945Z 184 - /obj/item/kitchen/spoon/plastic using invalid icon_state, "plastic_spoon" +2022-11-01T15:30:55.7442913Z 185 - /obj/item/bonesetter using invalid icon_state, "bonesetter" +2022-11-01T15:30:55.7446497Z 186 - /obj/item/cautery using invalid icon_state, "cautery" +2022-11-01T15:30:55.7450823Z 187 - /obj/item/cautery/advanced using invalid icon_state, "e_cautery" +2022-11-01T15:30:55.7453942Z 188 - /obj/item/hemostat using invalid icon_state, "hemostat" +2022-11-01T15:30:55.7457254Z 189 - /obj/item/hemostat/supermatter using invalid icon_state, "supermatter_tongs" +2022-11-01T15:30:55.7459972Z 190 - /obj/item/retractor using invalid icon_state, "retractor" +2022-11-01T15:30:55.7463122Z 191 - /obj/item/retractor/advanced using invalid icon_state, "adv_retractor" +2022-11-01T15:30:55.7466265Z 192 - /obj/item/scalpel using invalid icon_state, "scalpel" +2022-11-01T15:30:55.7469369Z 193 - /obj/item/scalpel/supermatter using invalid icon_state, "supermatter_scalpel" +2022-11-01T15:30:55.7472302Z 194 - /obj/item/scalpel/advanced using invalid icon_state, "e_scalpel" +2022-11-01T15:30:55.7475283Z 195 - /obj/item/surgical_drapes using invalid icon_state, "surgical_drapes" +2022-11-01T15:30:55.7481626Z 196 - /obj/item/stack/medical/bruise_pack using invalid icon_state, "brutepack" +2022-11-01T15:30:55.7483890Z 197 - /obj/item/stack/medical/gauze using invalid icon_state, "gauze" +2022-11-01T15:30:55.7488309Z 198 - /obj/item/stack/medical/suture using invalid icon_state, "suture" +2022-11-01T15:30:55.7491279Z 199 - /obj/item/stack/medical/suture/medicated using invalid icon_state, "suture_purp" +2022-11-01T15:30:55.7494706Z 200 - /obj/item/stack/medical/ointment using invalid icon_state, "ointment" +2022-11-01T15:30:55.7498204Z 201 - /obj/item/stack/medical/mesh using invalid icon_state, "regen_mesh" +2022-11-01T15:30:55.7501745Z 202 - /obj/item/stack/medical/mesh/advanced using invalid icon_state, "aloe_mesh" +2022-11-01T15:30:55.7505332Z 203 - /obj/item/stack/medical/aloe using invalid icon_state, "aloe_paste" +2022-11-01T15:30:55.7508511Z 204 - /obj/item/stack/medical/bone_gel using invalid icon_state, "bone-gel" +2022-11-01T15:30:55.7511537Z 205 - /obj/item/stack/medical/poultice using invalid icon_state, "poultice" +2022-11-01T15:30:55.7514762Z 206 - /obj/item/assembly/flash/handheld using invalid icon_state, "flash" +2022-11-01T15:30:55.7518179Z 207 - /obj/item/clothing/mask/cigarette using invalid icon_state, "cigoff" +2022-11-01T15:30:55.7521263Z 208 - /obj/item/clothing/mask/cigarette/rollie using invalid icon_state, "spliffoff" +2022-11-01T15:30:55.7525138Z 209 - /obj/item/clothing/mask/cigarette/candy using invalid icon_state, "candyoff" +2022-11-01T15:30:55.7529005Z 210 - /obj/item/clothing/mask/cigarette/cigar using invalid icon_state, "cigaroff" +2022-11-01T15:30:55.7532227Z 211 - /obj/item/clothing/mask/cigarette/cigar/cohiba using invalid icon_state, "cigar2off" +2022-11-01T15:30:55.7535378Z 212 - /obj/item/clothing/mask/cigarette/pipe using invalid icon_state, "pipeoff" +2022-11-01T15:30:55.7538704Z 213 - /obj/item/clothing/mask/cigarette/pipe/cobpipe using invalid icon_state, "cobpipeoff" +2022-11-01T15:30:55.7541822Z 214 - /obj/item/disk using invalid icon_state, "datadisk0" +2022-11-01T15:30:55.7547750Z 215 - /obj/item/disk/holodisk using invalid icon_state, "holodisk" +2022-11-01T15:30:55.7551232Z 216 - /obj/item/disk/nuclear using invalid icon_state, "nucleardisk" +2022-11-01T15:30:55.7554426Z 217 - /obj/item/disk/surgery using invalid icon_state, "datadisk1" +2022-11-01T15:30:55.7558238Z 218 - /obj/item/disk/cargo/bluespace_pod using invalid icon_state, "cargodisk" +2022-11-01T15:30:55.7561786Z 219 - /obj/item/disk/tech_disk/major using invalid icon_state, "rndmajordisk" +2022-11-01T15:30:55.7566298Z 220 - /obj/item/melee/powerfist using invalid icon_state, "powerfist" +2022-11-01T15:30:55.7579366Z 221 - /obj/item/melee/skateboard using invalid icon_state, "skateboard" +2022-11-01T15:30:55.7581695Z 222 - /obj/item/melee/skateboard/pro using invalid icon_state, "skateboard2" +2022-11-01T15:30:55.7586449Z 223 - /obj/item/melee/skateboard/hoverboard using invalid icon_state, "hoverboard_red" +2022-11-01T15:30:55.7589798Z 224 - /obj/item/melee/skateboard/hoverboard/admin using invalid icon_state, "hoverboard_nt" +2022-11-01T15:30:55.7593858Z 225 - /obj/item/melee/baseball_bat using invalid icon_state, "baseball_bat" +2022-11-01T15:30:55.7597594Z 226 - /obj/item/melee/baseball_bat/homerun using invalid icon_state, "baseball_bat_home" +2022-11-01T15:30:55.7600520Z 227 - /obj/item/melee/baseball_bat/ablative using invalid icon_state, "baseball_bat_metal" +2022-11-01T15:30:55.7604782Z 228 - /obj/item/melee/flyswatter using invalid icon_state, "flyswatter" +2022-11-01T15:30:55.7611481Z 229 - /obj/item/melee/energy/axe using invalid icon_state, "axe" +2022-11-01T15:30:55.7613484Z 230 - /obj/item/melee/energy/blade using invalid icon_state, "blade" +2022-11-01T15:30:55.7618410Z 231 - /obj/item/melee/energy/blade/hardlight using invalid icon_state, "lightblade" +2022-11-01T15:30:55.7620400Z 232 - /obj/item/melee/synthetic_arm_blade using invalid icon_state, "arm_blade" +2022-11-01T15:30:55.7624742Z 233 - /obj/item/melee/sabre using invalid icon_state, "sabre" +2022-11-01T15:30:55.7628282Z 234 - /obj/item/melee/beesword using invalid worn_icon_state, "stinger" +2022-11-01T15:30:55.7631104Z 235 - /obj/item/melee/supermatter_sword using invalid icon_state, "supermatter_sword" +2022-11-01T15:30:55.7640059Z 236 - /obj/item/melee/cleric_mace using invalid worn_icon_state, "default_worn" +2022-11-01T15:30:55.7642519Z 237 - /obj/item/melee/rune_carver using invalid icon_state, "rune_carver" +2022-11-01T15:30:55.7649015Z 238 - /obj/item/melee/ghost_sword using invalid icon_state, "spectral" +2022-11-01T15:30:55.7652669Z 239 - /obj/item/reagent_containers/cup/glass/flask using invalid icon_state, "flask" +2022-11-01T15:30:55.7656181Z 240 - /obj/item/reagent_containers/cup/glass/flask/gold using invalid icon_state, "flask_gold" +2022-11-01T15:30:55.7659386Z 241 - /obj/item/reagent_containers/cup/glass/flask/det using invalid icon_state, "detflask" +2022-11-01T15:30:55.7661823Z 242 - /obj/item/stamp using invalid icon_state, "stamp-ok" +2022-11-01T15:30:55.7665189Z 243 - /obj/item/stamp/qm using invalid icon_state, "stamp-qm" +2022-11-01T15:30:55.7668223Z 244 - /obj/item/stamp/law using invalid icon_state, "stamp-law" +2022-11-01T15:30:55.7671146Z 245 - /obj/item/stamp/captain using invalid icon_state, "stamp-cap" +2022-11-01T15:30:55.7674101Z 246 - /obj/item/stamp/hop using invalid icon_state, "stamp-hop" +2022-11-01T15:30:55.7677062Z 247 - /obj/item/stamp/hos using invalid icon_state, "stamp-hos" +2022-11-01T15:30:55.7679998Z 248 - /obj/item/stamp/ce using invalid icon_state, "stamp-ce" +2022-11-01T15:30:55.7684534Z 249 - /obj/item/stamp/rd using invalid icon_state, "stamp-rd" +2022-11-01T15:30:55.7688688Z 250 - /obj/item/stamp/cmo using invalid icon_state, "stamp-cmo" +2022-11-01T15:30:55.7691562Z 251 - /obj/item/stamp/denied using invalid icon_state, "stamp-deny" +2022-11-01T15:30:55.7694516Z 252 - /obj/item/stamp/void using invalid icon_state, "stamp-void" +2022-11-01T15:30:55.7697505Z 253 - /obj/item/stamp/clown using invalid icon_state, "stamp-clown" +2022-11-01T15:30:55.7708237Z 254 - /obj/item/stamp/mime using invalid icon_state, "stamp-mime" +2022-11-01T15:30:55.7708827Z 255 - /obj/item/stamp/chap using invalid icon_state, "stamp-chap" +2022-11-01T15:30:55.7709256Z 256 - /obj/item/stamp/centcom using invalid icon_state, "stamp-centcom" +2022-11-01T15:30:55.7751313Z 257 - /obj/item/stamp/syndicate using invalid icon_state, "stamp-syndicate" +2022-11-01T15:30:55.7752422Z 258 - /obj/item/storage/lockbox/medal using invalid icon_state, "medalbox+l" +2022-11-01T15:30:55.7752898Z 259 - /obj/item/crowbar/red/caravan using invalid icon_state, "crowbar_caravan" +2022-11-01T15:30:55.7757058Z 260 - /obj/item/crowbar/drone using invalid icon_state, "crowbar_cyborg" +2022-11-01T15:30:55.7784906Z +2022-11-01T15:30:55.7785304Z PASS /datum/unit_test/suit_storage_icons 2.4s +2022-11-01T15:30:55.7786128Z ##[endgroup] +2022-11-01T15:30:58.1989647Z ##[group]/datum/unit_test/amputation +2022-11-01T15:30:58.2542620Z +2022-11-01T15:30:58.2543982Z PASS /datum/unit_test/amputation 0.1s +2022-11-01T15:30:58.2545007Z ##[endgroup] +2022-11-01T15:30:58.2861052Z ##[group]/datum/unit_test/brain_surgery +2022-11-01T15:30:58.3393398Z +2022-11-01T15:30:58.3395072Z PASS /datum/unit_test/brain_surgery 0.1s +2022-11-01T15:30:58.3396351Z ##[endgroup] +2022-11-01T15:30:58.3713295Z ##[group]/datum/unit_test/head_transplant +2022-11-01T15:30:58.4648885Z +2022-11-01T15:30:58.4650964Z PASS /datum/unit_test/head_transplant 0.1s +2022-11-01T15:30:58.4652113Z ##[endgroup] +2022-11-01T15:30:58.5529908Z ##[group]/datum/unit_test/multiple_surgeries +2022-11-01T15:30:58.6322272Z +2022-11-01T15:30:58.6323733Z PASS /datum/unit_test/multiple_surgeries 0.1s +2022-11-01T15:30:58.6324863Z ##[endgroup] +2022-11-01T15:30:58.7192842Z ##[group]/datum/unit_test/start_tend_wounds +2022-11-01T15:30:58.7696686Z +2022-11-01T15:30:58.7697933Z PASS /datum/unit_test/start_tend_wounds 0s +2022-11-01T15:30:58.7699007Z ##[endgroup] +2022-11-01T15:30:58.8006481Z ##[group]/datum/unit_test/tend_wounds +2022-11-01T15:30:58.9098267Z +2022-11-01T15:30:58.9099817Z PASS /datum/unit_test/tend_wounds 0.1s +2022-11-01T15:30:58.9100900Z ##[endgroup] +2022-11-01T15:30:59.0574781Z ##[group]/datum/unit_test/auto_teleporter_linking +2022-11-01T15:30:59.0986969Z +2022-11-01T15:30:59.0988029Z PASS /datum/unit_test/auto_teleporter_linking 0s +2022-11-01T15:30:59.0989210Z ##[endgroup] +2022-11-01T15:30:59.1397849Z ##[group]/datum/unit_test/tgui_create_message +2022-11-01T15:30:59.1398053Z +2022-11-01T15:30:59.1398515Z PASS /datum/unit_test/tgui_create_message 0s +2022-11-01T15:30:59.1398931Z ##[endgroup] +2022-11-01T15:30:59.1585159Z ##[group]/datum/unit_test/timer_sanity +2022-11-01T15:30:59.1585371Z +2022-11-01T15:30:59.1585837Z PASS /datum/unit_test/timer_sanity 0s +2022-11-01T15:30:59.1586293Z ##[endgroup] +2022-11-01T15:30:59.1763570Z ##[group]/datum/unit_test/traitor +2022-11-01T15:31:01.0798012Z +2022-11-01T15:31:01.0799101Z PASS /datum/unit_test/traitor 1.9s +2022-11-01T15:31:01.0799858Z ##[endgroup] +2022-11-01T15:31:05.2187120Z ##[group]/datum/unit_test/verify_config_tags +2022-11-01T15:31:05.2190123Z +2022-11-01T15:31:05.2191991Z PASS /datum/unit_test/verify_config_tags 0s +2022-11-01T15:31:05.2193777Z ##[endgroup] +2022-11-01T15:31:05.2366479Z ##[group]/datum/unit_test/wizard_loadout +2022-11-01T15:31:05.3463154Z +2022-11-01T15:31:05.3463988Z PASS /datum/unit_test/wizard_loadout 0.1s +2022-11-01T15:31:05.3465519Z ##[endgroup] +2022-11-01T15:31:05.4918147Z ##[group]/datum/unit_test/find_reference_sanity +2022-11-01T15:31:05.4922156Z +2022-11-01T15:31:05.4923183Z PASS /datum/unit_test/find_reference_sanity 0s +2022-11-01T15:31:05.4924120Z ##[endgroup] +2022-11-01T15:31:05.5122652Z ##[group]/datum/unit_test/find_reference_baseline +2022-11-01T15:31:05.5126059Z +2022-11-01T15:31:05.5126875Z PASS /datum/unit_test/find_reference_baseline 0s +2022-11-01T15:31:05.5127655Z ##[endgroup] +2022-11-01T15:31:05.5361446Z ##[group]/datum/unit_test/find_reference_exotic +2022-11-01T15:31:05.5367626Z +2022-11-01T15:31:05.5369228Z PASS /datum/unit_test/find_reference_exotic 0s +2022-11-01T15:31:05.5369940Z ##[endgroup] +2022-11-01T15:31:05.5551795Z ##[group]/datum/unit_test/find_reference_esoteric +2022-11-01T15:31:05.5558725Z +2022-11-01T15:31:05.5559583Z PASS /datum/unit_test/find_reference_esoteric 0s +2022-11-01T15:31:05.5560670Z ##[endgroup] +2022-11-01T15:31:05.5737466Z ##[group]/datum/unit_test/find_reference_null_key_entry +2022-11-01T15:31:05.5741407Z +2022-11-01T15:31:05.5742596Z PASS /datum/unit_test/find_reference_null_key_entry 0s +2022-11-01T15:31:05.5743489Z ##[endgroup] +2022-11-01T15:31:05.6053804Z ##[group]/datum/unit_test/find_reference_assoc_investigation +2022-11-01T15:31:05.6057935Z +2022-11-01T15:31:05.6058863Z PASS /datum/unit_test/find_reference_assoc_investigation 0s +2022-11-01T15:31:05.6060051Z ##[endgroup] +2022-11-01T15:31:05.6233030Z ##[group]/datum/unit_test/find_reference_static_investigation +2022-11-01T15:31:05.8520469Z +2022-11-01T15:31:05.8521954Z PASS /datum/unit_test/find_reference_static_investigation 0.2s +2022-11-01T15:31:05.8523118Z ##[endgroup] +2022-11-01T15:31:06.0724951Z ##[group]/datum/unit_test/monkey_business +2022-11-01T15:31:23.2321441Z [15:31:23] Runtime in _forensics.dm,232: Cannot execute null.resolve(). +2022-11-01T15:31:23.2322464Z proc name: check blood (/datum/forensics/proc/check_blood) +2022-11-01T15:31:23.2323531Z src: /datum/forensics (/datum/forensics) +2022-11-01T15:31:23.2323854Z call stack: +2022-11-01T15:31:23.2324155Z /datum/forensics (/datum/forensics): check blood() +2022-11-01T15:31:23.2325062Z /datum/forensics (/datum/forensics): New(the blood splatter (/obj/effect/decal/cleanable/blood/hitsplatter), null, null, /list (/list), null) +2022-11-01T15:31:23.2325582Z the blood splatter (/obj/effect/decal/cleanable/blood/hitsplatter): add blood DNA(/list (/list)) +2022-11-01T15:31:23.2326006Z Anthony Hayhurst (461) (/mob/living/carbon/human): spray blood(2, 1) +2022-11-01T15:31:23.2326395Z Rough Abrasion (/datum/wound/slash/flesh/moderate): wound injury(null, 2) +2022-11-01T15:31:23.2327172Z Rough Abrasion (/datum/wound/slash/flesh/moderate): apply wound(the monkey left leg (/obj/item/bodypart/l_leg/monkey), 0, null, 0, 2) +2022-11-01T15:31:23.2327747Z the monkey left leg (/obj/item/bodypart/l_leg/monkey): check wounding(2, 8, 5, 15, 2) +2022-11-01T15:31:23.2328155Z the monkey left leg (/obj/item/bodypart/l_leg/monkey): receive damage(8, 0, 0, 0, 1, null, 5, 15, 1, 2) +2022-11-01T15:31:23.2328594Z Monkey (/datum/species/monkey): apply damage(8, "brute", "l_leg", 0, Anthony Hayhurst (461) (/mob/living/carbon/human), 0, 0, 5, 15, 1, 2) +2022-11-01T15:31:23.2329362Z Monkey (/datum/species/monkey): spec attacked by(the glass shiv (/obj/item/knife/shiv), Abigail Schmidt (295) (/mob/living/carbon/human), the monkey left leg (/obj/item/bodypart/l_leg/monkey), Anthony Hayhurst (461) (/mob/living/carbon/human)) +2022-11-01T15:31:23.2329835Z ... +2022-11-01T15:31:23.2330578Z Anthony Hayhurst (461) (/mob/living/carbon/human): attackby(the glass shiv (/obj/item/knife/shiv), Abigail Schmidt (295) (/mob/living/carbon/human), null) +2022-11-01T15:31:23.2331348Z the glass shiv (/obj/item/knife/shiv): melee attack chain(Abigail Schmidt (295) (/mob/living/carbon/human), Anthony Hayhurst (461) (/mob/living/carbon/human), null) +2022-11-01T15:31:23.2332042Z /datum/ai_behavior/monkey_atta... (/datum/ai_behavior/monkey_attack_mob): monkey attack(/datum/ai_controller/monkey/an... (/datum/ai_controller/monkey/angry), Anthony Hayhurst (461) (/mob/living/carbon/human), 0.8, 0) +2022-11-01T15:31:23.2332773Z /datum/ai_behavior/monkey_atta... (/datum/ai_behavior/monkey_attack_mob): perform(0.8, /datum/ai_controller/monkey/an... (/datum/ai_controller/monkey/angry), "BB_monkey_current_attack_targe...") +2022-11-01T15:31:23.2333442Z /datum/ai_controller/monkey/an... (/datum/ai_controller/monkey/angry): ProcessBehavior(0.8, /datum/ai_behavior/monkey_atta... (/datum/ai_behavior/monkey_attack_mob)) +2022-11-01T15:31:23.2333980Z /datum/ai_controller/monkey/an... (/datum/ai_controller/monkey/angry): process(0.1) +2022-11-01T15:31:23.2334424Z AI Behavior Ticker (/datum/controller/subsystem/processing/ai_behaviors): fire(0) +2022-11-01T15:31:23.2334875Z AI Behavior Ticker (/datum/controller/subsystem/processing/ai_behaviors): ignite(0) +2022-11-01T15:31:23.2335885Z Master (/datum/controller/master): Loop(2) +2022-11-01T15:31:23.2336391Z Master (/datum/controller/master): StartProcessing(0) +2022-11-01T15:31:44.6315657Z ##[error][15:31:23] Runtime in _forensics.dm,232: Cannot execute null.resolve(). + proc name: check blood (/datum/forensics/proc/check_blood) + src: /datum/forensics (/datum/forensics) + call stack: + /datum/forensics (/datum/forensics): check blood() + /datum/forensics (/datum/forensics): New(the blood splatter (/obj/effect/decal/cleanable/blood/hitsplatter), null, null, /list (/list), null) + the blood splatter (/obj/effect/decal/cleanable/blood/hitsplatter): add blood DNA(/list (/list)) + Anthony Hayhurst (461) (/mob/living/carbon/human): spray blood(2, 1) + Rough Abrasion (/datum/wound/slash/flesh/moderate): wound injury(null, 2) + Rough Abrasion (/datum/wound/slash/flesh/moderate): apply wound(the monkey left leg (/obj/item/bodypart/l_leg/monkey), 0, null, 0, 2) + the monkey left leg (/obj/item/bodypart/l_leg/monkey): check wounding(2, 8, 5, 15, 2) + the monkey left leg (/obj/item/bodypart/l_leg/monkey): receive damage(8, 0, 0, 0, 1, null, 5, 15, 1, 2) + Monkey (/datum/species/monkey): apply damage(8, "brute", "l_leg", 0, Anthony Hayhurst (461) (/mob/living/carbon/human), 0, 0, 5, 15, 1, 2) + Monkey (/datum/species/monkey): spec attacked by(the glass shiv (/obj/item/knife/shiv), Abigail Schmidt (295) (/mob/living/carbon/human), the monkey left leg (/obj/item/bodypart/l_leg/monkey), Anthony Hayhurst (461) (/mob/living/carbon/human)) + ... + Anthony Hayhurst (461) (/mob/living/carbon/human): attackby(the glass shiv (/obj/item/knife/shiv), Abigail Schmidt (295) (/mob/living/carbon/human), null) + the glass shiv (/obj/item/knife/shiv): melee attack chain(Abigail Schmidt (295) (/mob/living/carbon/human), Anthony Hayhurst (461) (/mob/living/carbon/human), null) + /datum/ai_behavior/monkey_atta... (/datum/ai_behavior/monkey_attack_mob): monkey attack(/datum/ai_controller/monkey/an... (/datum/ai_controller/monkey/angry), Anthony Hayhurst (461) (/mob/living/carbon/human), 0.8, 0) + /datum/ai_behavior/monkey_atta... (/datum/ai_behavior/monkey_attack_mob): perform(0.8, /datum/ai_controller/monkey/an... (/datum/ai_controller/monkey/angry), "BB_monkey_current_attack_targe...") + /datum/ai_controller/monkey/an... (/datum/ai_controller/monkey/angry): ProcessBehavior(0.8, /datum/ai_behavior/monkey_atta... (/datum/ai_behavior/monkey_attack_mob)) + /datum/ai_controller/monkey/an... (/datum/ai_controller/monkey/angry): process(0.1) + AI Behavior Ticker (/datum/controller/subsystem/processing/ai_behaviors): fire(0) + AI Behavior Ticker (/datum/controller/subsystem/processing/ai_behaviors): ignite(0) + Master (/datum/controller/master): Loop(2) + Master (/datum/controller/master): StartProcessing(0) +2022-11-01T15:31:44.6330863Z ##[error]Monkey Business caused 1 runtimes +2022-11-01T15:31:44.6331536Z FAILURE #1: [15:31:23] Runtime in _forensics.dm,232: Cannot execute null.resolve(). +2022-11-01T15:31:44.6331910Z proc name: check blood (/datum/forensics/proc/check_blood) +2022-11-01T15:31:44.6332223Z src: /datum/forensics (/datum/forensics) +2022-11-01T15:31:44.6332475Z call stack: +2022-11-01T15:31:44.6332738Z /datum/forensics (/datum/forensics): check blood() +2022-11-01T15:31:44.6333171Z /datum/forensics (/datum/forensics): New(the blood splatter (/obj/effect/decal/cleanable/blood/hitsplatter), null, null, /list (/list), null) +2022-11-01T15:31:44.6333653Z the blood splatter (/obj/effect/decal/cleanable/blood/hitsplatter): add blood DNA(/list (/list)) +2022-11-01T15:31:44.6334238Z Anthony Hayhurst (461) (/mob/living/carbon/human): spray blood(2, 1) +2022-11-01T15:31:44.6334605Z Rough Abrasion (/datum/wound/slash/flesh/moderate): wound injury(null, 2) +2022-11-01T15:31:44.6335055Z Rough Abrasion (/datum/wound/slash/flesh/moderate): apply wound(the monkey left leg (/obj/item/bodypart/l_leg/monkey), 0, null, 0, 2) +2022-11-01T15:31:44.6335679Z the monkey left leg (/obj/item/bodypart/l_leg/monkey): check wounding(2, 8, 5, 15, 2) +2022-11-01T15:31:44.6336429Z the monkey left leg (/obj/item/bodypart/l_leg/monkey): receive damage(8, 0, 0, 0, 1, null, 5, 15, 1, 2) +2022-11-01T15:31:44.6336913Z Monkey (/datum/species/monkey): apply damage(8, "brute", "l_leg", 0, Anthony Hayhurst (461) (/mob/living/carbon/human), 0, 0, 5, 15, 1, 2) +2022-11-01T15:31:44.6337727Z Monkey (/datum/species/monkey): spec attacked by(the glass shiv (/obj/item/knife/shiv), Abigail Schmidt (295) (/mob/living/carbon/human), the monkey left leg (/obj/item/bodypart/l_leg/monkey), Anthony Hayhurst (461) (/mob/living/carbon/human)) +2022-11-01T15:31:44.6338196Z ... +2022-11-01T15:31:44.6338557Z Anthony Hayhurst (461) (/mob/living/carbon/human): attackby(the glass shiv (/obj/item/knife/shiv), Abigail Schmidt (295) (/mob/living/carbon/human), null) +2022-11-01T15:31:44.6339113Z the glass shiv (/obj/item/knife/shiv): melee attack chain(Abigail Schmidt (295) (/mob/living/carbon/human), Anthony Hayhurst (461) (/mob/living/carbon/human), null) +2022-11-01T15:31:44.6339859Z /datum/ai_behavior/monkey_atta... (/datum/ai_behavior/monkey_attack_mob): monkey attack(/datum/ai_controller/monkey/an... (/datum/ai_controller/monkey/angry), Anthony Hayhurst (461) (/mob/living/carbon/human), 0.8, 0) +2022-11-01T15:31:44.6340560Z /datum/ai_behavior/monkey_atta... (/datum/ai_behavior/monkey_attack_mob): perform(0.8, /datum/ai_controller/monkey/an... (/datum/ai_controller/monkey/angry), "BB_monkey_current_attack_targe...") +2022-11-01T15:31:44.6341189Z /datum/ai_controller/monkey/an... (/datum/ai_controller/monkey/angry): ProcessBehavior(0.8, /datum/ai_behavior/monkey_atta... (/datum/ai_behavior/monkey_attack_mob)) +2022-11-01T15:31:44.6341689Z /datum/ai_controller/monkey/an... (/datum/ai_controller/monkey/angry): process(0.1) +2022-11-01T15:31:44.6342103Z AI Behavior Ticker (/datum/controller/subsystem/processing/ai_behaviors): fire(0) +2022-11-01T15:31:44.6342523Z AI Behavior Ticker (/datum/controller/subsystem/processing/ai_behaviors): ignite(0) +2022-11-01T15:31:44.6342869Z Master (/datum/controller/master): Loop(2) +2022-11-01T15:31:44.6343234Z Master (/datum/controller/master): StartProcessing(0) at _forensics.dm:232 +2022-11-01T15:31:44.6345243Z ##[error]FAIL /datum/unit_test/monkey_business 38.6s +2022-11-01T15:31:46.9833542Z ##[group]/datum/unit_test/create_and_destroy +2022-11-01T15:37:15.1785471Z +2022-11-01T15:37:15.1787041Z PASS /datum/unit_test/create_and_destroy 328.2s +2022-11-01T15:37:15.1788074Z ##[endgroup] +2022-11-01T15:37:15.2115771Z Shutting down Chat subsystem... +2022-11-01T15:37:15.2116567Z Shutting down Init Profiler subsystem... +2022-11-01T15:37:15.2208167Z Shutting down Ban Cache subsystem... +2022-11-01T15:37:15.2208478Z Shutting down Stat Panels subsystem... +2022-11-01T15:37:15.2208750Z Shutting down Explosions subsystem... +2022-11-01T15:37:15.2209680Z Shutting down Pathfinder subsystem... +2022-11-01T15:37:15.2210086Z Shutting down Minor Mapping subsystem... +2022-11-01T15:37:15.2210409Z Shutting down Shuttle subsystem... +2022-11-01T15:37:15.2210690Z Shutting down Lighting subsystem... +2022-11-01T15:37:15.2210997Z Shutting down XKeyScore subsystem... +2022-11-01T15:37:15.2211299Z Shutting down PRISM subsystem... +2022-11-01T15:37:15.2211603Z Shutting down Icon Smoothing subsystem... +2022-11-01T15:37:15.2211910Z Shutting down Assets subsystem... +2022-11-01T15:37:15.2212179Z Shutting down Vote subsystem... +2022-11-01T15:37:15.2212502Z Shutting down Persistent Paintings subsystem... +2022-11-01T15:37:15.2212991Z Shutting down Persistence subsystem... +2022-11-01T15:37:15.2213473Z Shutting down Atmospherics subsystem... +2022-11-01T15:37:15.2213821Z Shutting down Wiremod Composite Templates subsystem... +2022-11-01T15:37:15.2214138Z Shutting down Wet floors subsystem... +2022-11-01T15:37:15.2214441Z Shutting down Weather subsystem... +2022-11-01T15:37:15.2214736Z Shutting down Wardrobe subsystem... +2022-11-01T15:37:15.2215362Z Shutting down Verb Manager subsystem... +2022-11-01T15:37:15.2215678Z Shutting down Tram Process subsystem... +2022-11-01T15:37:15.2215965Z Shutting down Traitor subsystem... +2022-11-01T15:37:15.2216263Z Shutting down Throwing subsystem... +2022-11-01T15:37:15.2216556Z Shutting down tgui subsystem... +2022-11-01T15:37:15.2216873Z Shutting down Supermatter Cascade subsystem... +2022-11-01T15:37:15.2217334Z Shutting down Sun subsystem... +2022-11-01T15:37:15.2217957Z Shutting down Speech Controller subsystem... +2022-11-01T15:37:15.2218246Z Shutting down Space Drift subsystem... +2022-11-01T15:37:15.2218517Z Shutting down Smoke subsystem... +2022-11-01T15:37:15.2218784Z Shutting down Singularity subsystem... +2022-11-01T15:37:15.2219050Z Shutting down Radio subsystem... +2022-11-01T15:37:15.2219464Z Shutting down Radiation subsystem... +2022-11-01T15:37:15.2219884Z Shutting down Projectiles subsystem... +2022-11-01T15:37:15.2220146Z Shutting down Processing subsystem... +2022-11-01T15:37:15.2220418Z Shutting down Points of Interest subsystem... +2022-11-01T15:37:15.2220689Z Shutting down Plumbing subsystem... +2022-11-01T15:37:15.2221061Z Shutting down Ping subsystem... +2022-11-01T15:37:15.2221313Z Shutting down Parallax subsystem... +2022-11-01T15:37:15.2221568Z Shutting down pAI subsystem... +2022-11-01T15:37:15.2221814Z Shutting down Overlay subsystem... +2022-11-01T15:37:15.5486394Z Shutting down Objects subsystem... +2022-11-01T15:37:15.5489952Z Shutting down Obj Tab Items subsystem... +2022-11-01T15:37:15.5493560Z Shutting down NPC Pool subsystem... +2022-11-01T15:37:15.5496794Z Shutting down Night Shift subsystem... +2022-11-01T15:37:15.5500936Z Shutting down Movement Loops subsystem... +2022-11-01T15:37:15.5503981Z Shutting down Movement Handler subsystem... +2022-11-01T15:37:15.5507931Z Shutting down MouseEntered subsystem... +2022-11-01T15:37:15.5511418Z Shutting down Mood subsystem... +2022-11-01T15:37:15.5514382Z Shutting down Mobs subsystem... +2022-11-01T15:37:15.5517620Z Shutting down Materials subsystem... +2022-11-01T15:37:15.5520737Z Shutting down Lua Scripting subsystem... +2022-11-01T15:37:15.5698324Z Shutting down Library Loading subsystem... +2022-11-01T15:37:15.5702028Z Shutting down Lag Switch subsystem... +2022-11-01T15:37:15.5705452Z Shutting down Idling NPC Pool subsystem... +2022-11-01T15:37:15.5708861Z Shutting down Foam subsystem... +2022-11-01T15:37:15.5711826Z Shutting down Fluid subsystem... +2022-11-01T15:37:15.5714787Z Shutting down Fire Burning subsystem... +2022-11-01T15:37:15.5717774Z Shutting down Fast Processing subsystem... +2022-11-01T15:37:15.5720765Z Shutting down Eigenstates subsystem... +2022-11-01T15:37:15.5724720Z Shutting down Disease subsystem... +2022-11-01T15:37:15.5728367Z Shutting down Datum Component System subsystem... +2022-11-01T15:37:15.5731629Z Shutting down Conveyor Belts subsystem... +2022-11-01T15:37:15.5735561Z Shutting down Communications subsystem... +2022-11-01T15:37:15.5741612Z Shutting down Clock Component subsystem... +2022-11-01T15:37:15.5741985Z Shutting down Circuit Components subsystem... +2022-11-01T15:37:15.5744678Z Shutting down Blackmarket subsystem... +2022-11-01T15:37:15.5746962Z Shutting down Basic Avoidance subsystem... +2022-11-01T15:37:15.5747274Z Shutting down Aura Healing subsystem... +2022-11-01T15:37:15.5747561Z Shutting down Augury subsystem... +2022-11-01T15:37:15.5749911Z Shutting down Asset Loading subsystem... +2022-11-01T15:37:15.5754181Z Shutting down Antag HUDs subsystem... +2022-11-01T15:37:15.5758062Z Shutting down Ambience subsystem... +2022-11-01T15:37:15.5761140Z Shutting down Addiction subsystem... +2022-11-01T15:37:15.5765437Z Shutting down Acid subsystem... +2022-11-01T15:37:15.5766113Z Shutting down Timer subsystem... +2022-11-01T15:37:15.5767908Z Shutting down Sound Loops subsystem... +2022-11-01T15:37:15.5769204Z Shutting down Runechat subsystem... +2022-11-01T15:37:15.5770456Z Shutting down Skills subsystem... +2022-11-01T15:37:15.5771990Z Shutting down Machines subsystem... +2022-11-01T15:37:15.5772983Z Shutting down Language subsystem... +2022-11-01T15:37:15.5774580Z Shutting down Atoms subsystem... +2022-11-01T15:37:15.5841490Z Shutting down Restaurant subsystem... +2022-11-01T15:37:15.5842179Z Shutting down Economy subsystem... +2022-11-01T15:37:15.5843973Z Shutting down Spatial Grid subsystem... +2022-11-01T15:37:15.5846087Z Shutting down Networks subsystem... +2022-11-01T15:37:15.5847879Z Shutting down Time Tracking subsystem... +2022-11-01T15:37:15.5849604Z Shutting down Research subsystem... +2022-11-01T15:37:15.5850285Z Shutting down Early Assets subsystem... +2022-11-01T15:37:15.5850811Z Shutting down Mapping subsystem... +2022-11-01T15:37:15.5852025Z Shutting down Trading Card Game subsystem... +2022-11-01T15:37:15.5852482Z Shutting down Ticker subsystem... +2022-11-01T15:37:15.5872565Z Unable to locate admins backup file. +2022-11-01T15:37:15.5885253Z Shutting down AI Controller Ticker subsystem... +2022-11-01T15:37:15.5885786Z Shutting down AI Behavior Ticker subsystem... +2022-11-01T15:37:15.5886089Z Shutting down AI movement subsystem... +2022-11-01T15:37:15.5886382Z Shutting down Jobs subsystem... +2022-11-01T15:37:15.5886664Z Shutting down IDs and Access subsystem... +2022-11-01T15:37:15.5887205Z Shutting down Events subsystem... +2022-11-01T15:37:15.5887507Z Shutting down Reagents subsystem... +2022-11-01T15:37:15.5887770Z Shutting down Quirks subsystem... +2022-11-01T15:37:15.5888040Z Shutting down Station subsystem... +2022-11-01T15:37:15.5888322Z Shutting down Achievements subsystem... +2022-11-01T15:37:15.5888724Z Shutting down Discord subsystem... +2022-11-01T15:37:15.5889010Z Shutting down Security Level subsystem... +2022-11-01T15:37:15.5889306Z Shutting down Vis contents overlays subsystem... +2022-11-01T15:37:15.5889608Z Shutting down Greyscale subsystem... +2022-11-01T15:37:15.5889894Z Shutting down Instruments subsystem... +2022-11-01T15:37:15.5890172Z Shutting down Sounds subsystem... +2022-11-01T15:37:15.5893120Z Shutting down Input subsystem... +2022-11-01T15:37:15.5893553Z Shutting down Server Tasks subsystem... +2022-11-01T15:37:15.5893838Z Shutting down Blackbox subsystem... +2022-11-01T15:37:15.5894135Z Shutting down Database subsystem... +2022-11-01T15:37:15.5898881Z Shutting down Garbage subsystem... +2022-11-01T15:37:19.6680958Z Shutting down Title Screen subsystem... +2022-11-01T15:37:19.6687147Z Shutting down Profiler subsystem... +2022-11-01T15:37:19.6687404Z Shutdown complete +2022-11-01T15:37:19.6691132Z Test run failed! +2022-11-01T15:37:19.6691327Z Total runtimes: 1 +2022-11-01T15:37:19.6691534Z Unit Tests failed! +2022-11-01T15:37:23.9554639Z cat: ci_test/data/logs/ci/clean_run.lk: No such file or directory +2022-11-01T15:37:23.9572826Z ##[error]Process completed with exit code 1. +2022-11-01T15:37:23.9632357Z ##[group]Run actions/upload-artifact@v3 +2022-11-01T15:37:23.9632655Z with: +2022-11-01T15:37:23.9632880Z name: test_artifacts_tramstation +2022-11-01T15:37:23.9633150Z path: data/screenshots_new/ +2022-11-01T15:37:23.9633405Z retention-days: 1 +2022-11-01T15:37:23.9633657Z if-no-files-found: warn +2022-11-01T15:37:23.9633904Z ##[endgroup] +2022-11-01T15:37:24.0862474Z With the provided path, there will be 85 files uploaded +2022-11-01T15:37:24.0868892Z Starting artifact upload +2022-11-01T15:37:24.0869932Z For more detailed logs during the artifact upload process, enable step-debugging: https://docs.github.com/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging#enabling-step-debug-logging +2022-11-01T15:37:24.0872765Z Artifact name is valid! +2022-11-01T15:37:24.2152427Z Container for artifact "test_artifacts_tramstation" successfully created. Starting upload of file(s) +2022-11-01T15:37:31.3325316Z Total size of all the files uploaded is 138917 bytes +2022-11-01T15:37:31.3326061Z File upload process has finished. Finalizing the artifact upload +2022-11-01T15:37:31.4289346Z Artifact has been finalized. All files have been successfully uploaded! +2022-11-01T15:37:31.4291368Z +2022-11-01T15:37:31.4293992Z The raw size of all the files that were specified for upload is 139272 bytes +2022-11-01T15:37:31.4298141Z The size of all the files that were uploaded is 138917 bytes. This takes into account any gzip compression used to reduce the upload size, time and storage +2022-11-01T15:37:31.4301961Z +2022-11-01T15:37:31.4303707Z Note: The size of downloaded zips can differ significantly from the reported size. For more information see: https://github.com/actions/upload-artifact#zipped-artifact-downloads +2022-11-01T15:37:31.4304326Z +2022-11-01T15:37:31.4305332Z Artifact test_artifacts_tramstation has been successfully uploaded! +2022-11-01T15:37:31.4451625Z Post job cleanup. +2022-11-01T15:37:31.5950708Z [command]/usr/bin/git version +2022-11-01T15:37:31.6017097Z git version 2.38.1 +2022-11-01T15:37:31.6089966Z Temporarily overriding HOME='/home/runner/work/_temp/b4760186-42be-4069-aaa5-837bedeee4b8' before making global git config changes +2022-11-01T15:37:31.6092488Z Adding repository directory to the temporary git global config as a safe directory +2022-11-01T15:37:31.6100037Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/tgstation/tgstation +2022-11-01T15:37:31.6160949Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand +2022-11-01T15:37:31.6210420Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || : +2022-11-01T15:37:31.6542403Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader +2022-11-01T15:37:31.6580227Z http.https://github.com/.extraheader +2022-11-01T15:37:31.6595477Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader +2022-11-01T15:37:31.6646421Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || : +2022-11-01T15:37:31.7192910Z Print service container logs: e281b5d836644f53b33d06a88663b086_mysqllatest_c6a68e +2022-11-01T15:37:31.7200768Z ##[command]/usr/bin/docker logs --details cd1d0f20f8f882176c274fb882d88cea0d4e9a7b2aebc33f1123c02f7b908aa1 +2022-11-01T15:37:31.7459373Z 2022-11-01T15:22:37.911886Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead. +2022-11-01T15:37:31.7460001Z 2022-11-01 15:22:37+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.31-1.el8 started. +2022-11-01T15:37:31.7461115Z 2022-11-01T15:22:37.912008Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.31) initializing of server in progress as process 79 +2022-11-01T15:37:31.7461587Z 2022-11-01T15:22:37.920633Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. +2022-11-01T15:37:31.7462180Z 2022-11-01T15:22:38.395422Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. +2022-11-01T15:37:31.7462662Z 2022-11-01T15:22:39.587998Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option. +2022-11-01T15:37:31.7463283Z 2022-11-01T15:22:42.870247Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead. +2022-11-01T15:37:31.7463804Z 2022-11-01T15:22:42.873029Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.31) starting as process 128 +2022-11-01T15:37:31.7464196Z 2022-11-01T15:22:42.887863Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. +2022-11-01T15:37:31.7464742Z 2022-11-01T15:22:43.221367Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. +2022-11-01T15:37:31.7465133Z 2022-11-01T15:22:43.520686Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed. +2022-11-01T15:37:31.7465779Z 2022-11-01T15:22:43.520748Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel. +2022-11-01T15:37:31.7466727Z 2022-11-01T15:22:43.522020Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory. +2022-11-01T15:37:31.7467384Z 2022-11-01T15:22:43.546149Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.31' socket: '/var/run/mysqld/mysqld.sock' port: 0 MySQL Community Server - GPL. +2022-11-01T15:37:31.7468097Z 2022-11-01T15:22:43.546223Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: /var/run/mysqld/mysqlx.sock +2022-11-01T15:37:31.7468696Z Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it. +2022-11-01T15:37:31.7576656Z Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it. +2022-11-01T15:37:31.7577123Z 2022-11-01 15:22:37+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql' +2022-11-01T15:37:31.7579077Z Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it. +2022-11-01T15:37:31.7579519Z Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it. +2022-11-01T15:37:31.7582066Z Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it. +2022-11-01T15:37:31.7582539Z 2022-11-01T15:22:46.179932Z 10 [System] [MY-013172] [Server] Received SHUTDOWN from user root. Shutting down mysqld (Version: 8.0.31). +2022-11-01T15:37:31.7583335Z 2022-11-01T15:22:47.016783Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.31) MySQL Community Server - GPL. +2022-11-01T15:37:31.7583954Z 2022-11-01T15:22:47.446654Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead. +2022-11-01T15:37:31.7584942Z 2022-11-01T15:22:47.448502Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.31) starting as process 1 +2022-11-01T15:37:31.7585376Z 2022-11-01T15:22:47.455938Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. +2022-11-01T15:37:31.7585762Z 2022-11-01T15:22:47.684708Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. +2022-11-01T15:37:31.7586149Z 2022-11-01T15:22:47.881879Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed. +2022-11-01T15:37:31.7586624Z 2022-11-01T15:22:47.881923Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel. +2022-11-01T15:37:31.7587101Z 2022-11-01 15:22:37+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.31-1.el8 started. +2022-11-01T15:37:31.7587663Z 2022-11-01T15:22:47.883353Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory. +2022-11-01T15:37:31.7588411Z 2022-11-01T15:22:47.904354Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock +2022-11-01T15:37:31.7588952Z 2022-11-01T15:22:47.904482Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.31' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server - GPL. +2022-11-01T15:37:31.7589414Z 2022-11-01 15:22:37+00:00 [Note] [Entrypoint]: Initializing database files +2022-11-01T15:37:31.7589752Z 2022-11-01 15:22:42+00:00 [Note] [Entrypoint]: Database files initialized +2022-11-01T15:37:31.7590084Z 2022-11-01 15:22:42+00:00 [Note] [Entrypoint]: Starting temporary server +2022-11-01T15:37:31.7590409Z 2022-11-01 15:22:43+00:00 [Note] [Entrypoint]: Temporary server started. +2022-11-01T15:37:31.7590742Z '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock' +2022-11-01T15:37:31.7590984Z +2022-11-01T15:37:31.7591244Z 2022-11-01 15:22:46+00:00 [Note] [Entrypoint]: Stopping temporary server +2022-11-01T15:37:31.7591577Z 2022-11-01 15:22:47+00:00 [Note] [Entrypoint]: Temporary server stopped +2022-11-01T15:37:31.7592516Z +2022-11-01T15:37:31.7592791Z 2022-11-01 15:22:47+00:00 [Note] [Entrypoint]: MySQL init process done. Ready for start up. +2022-11-01T15:37:31.7593063Z +2022-11-01T15:37:31.7608136Z Stop and remove container: e281b5d836644f53b33d06a88663b086_mysqllatest_c6a68e +2022-11-01T15:37:31.7616365Z ##[command]/usr/bin/docker rm --force cd1d0f20f8f882176c274fb882d88cea0d4e9a7b2aebc33f1123c02f7b908aa1 +2022-11-01T15:37:32.0241098Z cd1d0f20f8f882176c274fb882d88cea0d4e9a7b2aebc33f1123c02f7b908aa1 +2022-11-01T15:37:32.0279431Z Remove container network: github_network_7d8483aa88b2460d91b946ac72079065 +2022-11-01T15:37:32.0288111Z ##[command]/usr/bin/docker network rm github_network_7d8483aa88b2460d91b946ac72079065 +2022-11-01T15:37:32.1478643Z github_network_7d8483aa88b2460d91b946ac72079065 +2022-11-01T15:37:32.1688580Z Cleaning up orphan processes diff --git a/tools/pull_request_hooks/flakyTestPayloads/multiple_failures.txt b/tools/pull_request_hooks/flakyTestPayloads/multiple_failures.txt new file mode 100644 index 000000000000..a1a52cdb1a3f --- /dev/null +++ b/tools/pull_request_hooks/flakyTestPayloads/multiple_failures.txt @@ -0,0 +1,8 @@ +2022-11-22T05:59:45.2618397Z ##[group]/datum/unit_test/shapeshift_spell +2022-11-22T05:59:45.4118582Z ##[error]Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape Juggernaut. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). +2022-11-22T05:59:45.4119786Z FAILURE #1: Shapeshift spell: Dragon Form failed to transform the dummy into the shape . (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). at code/modules/unit_tests/spell_shapeshift.dm:65 +2022-11-22T05:59:45.2618397Z ##[endgroup] +2022-11-22T05:59:45.2618397Z ##[group]/datum/unit_test/more_shapeshift_spell +2022-11-22T05:59:45.4118582Z ##[error]Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape Juggernaut. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). +2022-11-22T05:59:45.4119786Z FAILURE #1: Shapeshift spell: Dragon Form failed to transform the dummy into the shape . (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). at code/modules/unit_tests/spell_shapeshift.dm:65 +2022-11-22T05:59:45.2618397Z ##[endgroup] diff --git a/tools/pull_request_hooks/flakyTestPayloads/shapeshift.txt b/tools/pull_request_hooks/flakyTestPayloads/shapeshift.txt new file mode 100644 index 000000000000..b151f1888e13 --- /dev/null +++ b/tools/pull_request_hooks/flakyTestPayloads/shapeshift.txt @@ -0,0 +1,2466 @@ +2022-11-22T05:53:38.0374888Z Requested labels: ubuntu-20.04 +2022-11-22T05:53:38.0374935Z Job defined at: tgstation/tgstation/.github/workflows/run_integration_tests.yml@refs/pull/71181/merge +2022-11-22T05:53:38.0374956Z Waiting for a runner to pick up this job... +2022-11-22T05:53:38.4265982Z Job is waiting for a hosted runner to come online. +2022-11-22T05:53:41.3842133Z Job is about to start running on the hosted runner: GitHub Actions 11 (hosted) +2022-11-22T05:53:43.5319684Z Current runner version: '2.299.1' +2022-11-22T05:53:43.5346147Z ##[group]Operating System +2022-11-22T05:53:43.5346780Z Ubuntu +2022-11-22T05:53:43.5347041Z 20.04.5 +2022-11-22T05:53:43.5347353Z LTS +2022-11-22T05:53:43.5347672Z ##[endgroup] +2022-11-22T05:53:43.5347952Z ##[group]Runner Image +2022-11-22T05:53:43.5348342Z Image: ubuntu-20.04 +2022-11-22T05:53:43.5348676Z Version: 20221027.1 +2022-11-22T05:53:43.5349164Z Included Software: https://github.com/actions/runner-images/blob/ubuntu20/20221027.1/images/linux/Ubuntu2004-Readme.md +2022-11-22T05:53:43.5349811Z Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu20%2F20221027.1 +2022-11-22T05:53:43.5350263Z ##[endgroup] +2022-11-22T05:53:43.5350646Z ##[group]Runner Image Provisioner +2022-11-22T05:53:43.5350944Z 2.0.91.1 +2022-11-22T05:53:43.5351255Z ##[endgroup] +2022-11-22T05:53:43.5352178Z ##[group]GITHUB_TOKEN Permissions +2022-11-22T05:53:43.5352874Z Actions: read +2022-11-22T05:53:43.5353161Z Checks: read +2022-11-22T05:53:43.5353647Z Contents: read +2022-11-22T05:53:43.5353978Z Deployments: read +2022-11-22T05:53:43.5354356Z Discussions: read +2022-11-22T05:53:43.5354705Z Issues: read +2022-11-22T05:53:43.5354973Z Metadata: read +2022-11-22T05:53:43.5355295Z Packages: read +2022-11-22T05:53:43.5355637Z Pages: read +2022-11-22T05:53:43.5356005Z PullRequests: read +2022-11-22T05:53:43.5356320Z RepositoryProjects: read +2022-11-22T05:53:43.5356684Z SecurityEvents: read +2022-11-22T05:53:43.5357015Z Statuses: read +2022-11-22T05:53:43.5357311Z ##[endgroup] +2022-11-22T05:53:43.5360971Z Secret source: None +2022-11-22T05:53:43.5361464Z Prepare workflow directory +2022-11-22T05:53:43.6494787Z Prepare all required actions +2022-11-22T05:53:43.6676576Z Getting action download info +2022-11-22T05:53:43.8661995Z Download action repository 'actions/checkout@v3' (SHA:93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8) +2022-11-22T05:53:44.2330502Z Download action repository 'actions/cache@v3' (SHA:9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7) +2022-11-22T05:53:44.4868016Z Download action repository 'actions/upload-artifact@v3' (SHA:83fd05a356d7e2593de66fc9913b3002723633cb) +2022-11-22T05:53:44.7641359Z Uses: tgstation/tgstation/.github/workflows/run_integration_tests.yml +2022-11-22T05:53:44.7643311Z ##[group] Inputs +2022-11-22T05:53:44.7643604Z map: metastation +2022-11-22T05:53:44.7643819Z major: +2022-11-22T05:53:44.7643991Z minor: +2022-11-22T05:53:44.7644186Z ##[endgroup] +2022-11-22T05:53:44.7644691Z Complete job name: Integration Tests (metastation) / run_integration_tests +2022-11-22T05:53:44.8338079Z ##[group]Checking docker version +2022-11-22T05:53:44.8354483Z ##[command]/usr/bin/docker version --format '{{.Server.APIVersion}}' +2022-11-22T05:53:45.0506135Z '1.41' +2022-11-22T05:53:45.0515561Z Docker daemon API version: '1.41' +2022-11-22T05:53:45.0515967Z ##[command]/usr/bin/docker version --format '{{.Client.APIVersion}}' +2022-11-22T05:53:45.0778446Z '1.41' +2022-11-22T05:53:45.0797454Z Docker client API version: '1.41' +2022-11-22T05:53:45.0803406Z ##[endgroup] +2022-11-22T05:53:45.0807033Z ##[group]Clean up resources from previous jobs +2022-11-22T05:53:45.0813032Z ##[command]/usr/bin/docker ps --all --quiet --no-trunc --filter "label=290506" +2022-11-22T05:53:45.1033571Z ##[command]/usr/bin/docker network prune --force --filter "label=290506" +2022-11-22T05:53:45.1259718Z ##[endgroup] +2022-11-22T05:53:45.1260017Z ##[group]Create local container network +2022-11-22T05:53:45.1270797Z ##[command]/usr/bin/docker network create --label 290506 github_network_7853d588c20f407bba7b04c3e70db729 +2022-11-22T05:53:45.1987626Z 71dabce427017ea3bab6d7ce48f6c7aaee980f9942b9d66f36e69e74f5fd921f +2022-11-22T05:53:45.2004385Z ##[endgroup] +2022-11-22T05:53:45.2093406Z ##[group]Starting mysql service container +2022-11-22T05:53:45.2113754Z ##[command]/usr/bin/docker pull mysql:latest +2022-11-22T05:53:45.4670300Z latest: Pulling from library/mysql +2022-11-22T05:53:45.5358977Z 0bb5c0c24818: Pulling fs layer +2022-11-22T05:53:45.5359400Z cbb3106fbb5a: Pulling fs layer +2022-11-22T05:53:45.5359691Z 550536ae1d5e: Pulling fs layer +2022-11-22T05:53:45.5360232Z 33f98928796e: Pulling fs layer +2022-11-22T05:53:45.5360486Z a341087cff11: Pulling fs layer +2022-11-22T05:53:45.5360746Z 0e26ac5b33f6: Pulling fs layer +2022-11-22T05:53:45.5360985Z c883b83a7112: Pulling fs layer +2022-11-22T05:53:45.5361246Z 873af5c876c6: Pulling fs layer +2022-11-22T05:53:45.5361483Z 33f98928796e: Waiting +2022-11-22T05:53:45.5361701Z a341087cff11: Waiting +2022-11-22T05:53:45.5361926Z 0e26ac5b33f6: Waiting +2022-11-22T05:53:45.5362161Z c883b83a7112: Waiting +2022-11-22T05:53:45.5362390Z 8fe8ebd061d5: Pulling fs layer +2022-11-22T05:53:45.5362660Z 7ac2553cf6b4: Pulling fs layer +2022-11-22T05:53:45.5362912Z ad655e218e12: Pulling fs layer +2022-11-22T05:53:45.5363152Z 8fe8ebd061d5: Waiting +2022-11-22T05:53:45.5363368Z 7ac2553cf6b4: Waiting +2022-11-22T05:53:45.5363591Z ad655e218e12: Waiting +2022-11-22T05:53:45.5364183Z 873af5c876c6: Waiting +2022-11-22T05:53:45.6234256Z cbb3106fbb5a: Download complete +2022-11-22T05:53:45.6623068Z 550536ae1d5e: Verifying Checksum +2022-11-22T05:53:45.6623379Z 550536ae1d5e: Download complete +2022-11-22T05:53:45.7431784Z a341087cff11: Verifying Checksum +2022-11-22T05:53:45.7432683Z a341087cff11: Download complete +2022-11-22T05:53:45.8330384Z 0e26ac5b33f6: Verifying Checksum +2022-11-22T05:53:45.8331535Z 0e26ac5b33f6: Download complete +2022-11-22T05:53:45.8722359Z 0bb5c0c24818: Verifying Checksum +2022-11-22T05:53:45.8722993Z 0bb5c0c24818: Download complete +2022-11-22T05:53:45.8885518Z 33f98928796e: Verifying Checksum +2022-11-22T05:53:45.8886144Z 33f98928796e: Download complete +2022-11-22T05:53:45.9620666Z 873af5c876c6: Verifying Checksum +2022-11-22T05:53:45.9624337Z 873af5c876c6: Download complete +2022-11-22T05:53:46.0723260Z 7ac2553cf6b4: Verifying Checksum +2022-11-22T05:53:46.0729266Z 7ac2553cf6b4: Download complete +2022-11-22T05:53:46.1847787Z ad655e218e12: Verifying Checksum +2022-11-22T05:53:46.1852352Z ad655e218e12: Download complete +2022-11-22T05:53:46.4992758Z 8fe8ebd061d5: Verifying Checksum +2022-11-22T05:53:46.4993194Z 8fe8ebd061d5: Download complete +2022-11-22T05:53:46.6873819Z c883b83a7112: Verifying Checksum +2022-11-22T05:53:46.6894121Z c883b83a7112: Download complete +2022-11-22T05:53:47.4927005Z 0bb5c0c24818: Pull complete +2022-11-22T05:53:48.3726655Z cbb3106fbb5a: Pull complete +2022-11-22T05:53:48.4410442Z 550536ae1d5e: Pull complete +2022-11-22T05:53:48.6472190Z 33f98928796e: Pull complete +2022-11-22T05:53:48.7065871Z a341087cff11: Pull complete +2022-11-22T05:53:48.7593552Z 0e26ac5b33f6: Pull complete +2022-11-22T05:53:50.6234832Z c883b83a7112: Pull complete +2022-11-22T05:53:50.6783015Z 873af5c876c6: Pull complete +2022-11-22T05:53:55.9655421Z 8fe8ebd061d5: Pull complete +2022-11-22T05:53:56.0172449Z 7ac2553cf6b4: Pull complete +2022-11-22T05:53:56.0721706Z ad655e218e12: Pull complete +2022-11-22T05:53:56.0770468Z Digest: sha256:96439dd0d8d085cd90c8001be2c9dde07b8a68b472bd20efcbe3df78cff66492 +2022-11-22T05:53:56.0780303Z Status: Downloaded newer image for mysql:latest +2022-11-22T05:53:56.0800496Z docker.io/library/mysql:latest +2022-11-22T05:53:56.0907615Z ##[command]/usr/bin/docker create --name 57e9ed27eab042ee8653063f2a3e4b8e_mysqllatest_56fbdc --label 290506 --network github_network_7853d588c20f407bba7b04c3e70db729 --network-alias mysql -p 3306 --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 -e "MYSQL_ROOT_PASSWORD=root" -e GITHUB_ACTIONS=true -e CI=true mysql:latest +2022-11-22T05:53:56.1330409Z 46227faa62763969a068baae79fb2a9335a09ba7482aae30a49c8fed2bf356df +2022-11-22T05:53:56.1355904Z ##[command]/usr/bin/docker start 46227faa62763969a068baae79fb2a9335a09ba7482aae30a49c8fed2bf356df +2022-11-22T05:53:56.5058287Z 46227faa62763969a068baae79fb2a9335a09ba7482aae30a49c8fed2bf356df +2022-11-22T05:53:56.5093538Z ##[command]/usr/bin/docker ps --all --filter id=46227faa62763969a068baae79fb2a9335a09ba7482aae30a49c8fed2bf356df --filter status=running --no-trunc --format "{{.ID}} {{.Status}}" +2022-11-22T05:53:56.5325566Z 46227faa62763969a068baae79fb2a9335a09ba7482aae30a49c8fed2bf356df Up Less than a second (health: starting) +2022-11-22T05:53:56.5337249Z ##[command]/usr/bin/docker port 46227faa62763969a068baae79fb2a9335a09ba7482aae30a49c8fed2bf356df +2022-11-22T05:53:56.5611482Z 3306/tcp -> 0.0.0.0:49153 +2022-11-22T05:53:56.5612227Z 3306/tcp -> :::49153 +2022-11-22T05:53:56.5704537Z ##[endgroup] +2022-11-22T05:53:56.5734437Z ##[group]Waiting for all services to be ready +2022-11-22T05:53:56.5780170Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" 46227faa62763969a068baae79fb2a9335a09ba7482aae30a49c8fed2bf356df +2022-11-22T05:53:56.6025583Z starting +2022-11-22T05:53:56.6049671Z mysql service is starting, waiting 2 seconds before checking again. +2022-11-22T05:53:58.6031859Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" 46227faa62763969a068baae79fb2a9335a09ba7482aae30a49c8fed2bf356df +2022-11-22T05:53:58.6340318Z starting +2022-11-22T05:53:58.6357312Z mysql service is starting, waiting 3 seconds before checking again. +2022-11-22T05:54:02.3718080Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" 46227faa62763969a068baae79fb2a9335a09ba7482aae30a49c8fed2bf356df +2022-11-22T05:54:02.4089096Z starting +2022-11-22T05:54:02.4104252Z mysql service is starting, waiting 8 seconds before checking again. +2022-11-22T05:54:10.5021256Z ##[command]/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" 46227faa62763969a068baae79fb2a9335a09ba7482aae30a49c8fed2bf356df +2022-11-22T05:54:10.5229049Z healthy +2022-11-22T05:54:10.5246329Z mysql service is healthy. +2022-11-22T05:54:10.5246744Z ##[endgroup] +2022-11-22T05:54:10.5622212Z ##[group]Run actions/checkout@v3 +2022-11-22T05:54:10.5622478Z with: +2022-11-22T05:54:10.5622701Z repository: tgstation/tgstation +2022-11-22T05:54:10.5623165Z token: *** +2022-11-22T05:54:10.5623358Z ssh-strict: true +2022-11-22T05:54:10.5623595Z persist-credentials: true +2022-11-22T05:54:10.5623831Z clean: true +2022-11-22T05:54:10.5624017Z fetch-depth: 1 +2022-11-22T05:54:10.5624216Z lfs: false +2022-11-22T05:54:10.5624410Z submodules: false +2022-11-22T05:54:10.5624622Z set-safe-directory: true +2022-11-22T05:54:10.5624849Z ##[endgroup] +2022-11-22T05:54:10.8769664Z Syncing repository: tgstation/tgstation +2022-11-22T05:54:10.8771464Z ##[group]Getting Git version info +2022-11-22T05:54:10.8771995Z Working directory is '/home/runner/work/tgstation/tgstation' +2022-11-22T05:54:10.8772502Z [command]/usr/bin/git version +2022-11-22T05:54:10.8934189Z git version 2.38.1 +2022-11-22T05:54:10.8936302Z ##[endgroup] +2022-11-22T05:54:10.8957434Z Temporarily overriding HOME='/home/runner/work/_temp/98913b85-f6f6-46e0-b153-ead562301846' before making global git config changes +2022-11-22T05:54:10.8957893Z Adding repository directory to the temporary git global config as a safe directory +2022-11-22T05:54:10.8958437Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/tgstation/tgstation +2022-11-22T05:54:10.9000496Z Deleting the contents of '/home/runner/work/tgstation/tgstation' +2022-11-22T05:54:10.9006615Z ##[group]Initializing the repository +2022-11-22T05:54:10.9011194Z [command]/usr/bin/git init /home/runner/work/tgstation/tgstation +2022-11-22T05:54:10.9106800Z hint: Using 'master' as the name for the initial branch. This default branch name +2022-11-22T05:54:10.9107434Z hint: is subject to change. To configure the initial branch name to use in all +2022-11-22T05:54:10.9108265Z hint: of your new repositories, which will suppress this warning, call: +2022-11-22T05:54:10.9108574Z hint: +2022-11-22T05:54:10.9109084Z hint: git config --global init.defaultBranch +2022-11-22T05:54:10.9109349Z hint: +2022-11-22T05:54:10.9109712Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and +2022-11-22T05:54:10.9110192Z hint: 'development'. The just-created branch can be renamed via this command: +2022-11-22T05:54:10.9110453Z hint: +2022-11-22T05:54:10.9110705Z hint: git branch -m +2022-11-22T05:54:10.9123730Z Initialized empty Git repository in /home/runner/work/tgstation/tgstation/.git/ +2022-11-22T05:54:10.9133692Z [command]/usr/bin/git remote add origin https://github.com/tgstation/tgstation +2022-11-22T05:54:10.9191164Z ##[endgroup] +2022-11-22T05:54:10.9191935Z ##[group]Disabling automatic garbage collection +2022-11-22T05:54:10.9196662Z [command]/usr/bin/git config --local gc.auto 0 +2022-11-22T05:54:10.9229900Z ##[endgroup] +2022-11-22T05:54:10.9231230Z ##[group]Setting up auth +2022-11-22T05:54:10.9239946Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand +2022-11-22T05:54:10.9275132Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || : +2022-11-22T05:54:10.9691507Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader +2022-11-22T05:54:10.9715174Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || : +2022-11-22T05:54:10.9955394Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic *** +2022-11-22T05:54:10.9987844Z ##[endgroup] +2022-11-22T05:54:10.9988301Z ##[group]Fetching the repository +2022-11-22T05:54:10.9999455Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --progress --no-recurse-submodules --depth=1 origin +806eced1b6aa2166e665748be44c5c519833b2e2:refs/remotes/pull/71181/merge +2022-11-22T05:54:11.4745200Z remote: Enumerating objects: 12670, done. +2022-11-22T05:54:11.4781948Z remote: Counting objects: 0% (1/12670) +2022-11-22T05:54:11.4788862Z remote: Counting objects: 1% (127/12670) +2022-11-22T05:54:11.4791723Z remote: Counting objects: 2% (254/12670) +2022-11-22T05:54:11.4795385Z remote: Counting objects: 3% (381/12670) +2022-11-22T05:54:11.4798193Z remote: Counting objects: 4% (507/12670) +2022-11-22T05:54:11.4812287Z remote: Counting objects: 5% (634/12670) +2022-11-22T05:54:11.4813111Z remote: Counting objects: 6% (761/12670) +2022-11-22T05:54:11.4816606Z remote: Counting objects: 7% (887/12670) +2022-11-22T05:54:11.4816922Z remote: Counting objects: 8% (1014/12670) +2022-11-22T05:54:11.4820085Z remote: Counting objects: 9% (1141/12670) +2022-11-22T05:54:11.4820719Z remote: Counting objects: 10% (1267/12670) +2022-11-22T05:54:11.4825610Z remote: Counting objects: 11% (1394/12670) +2022-11-22T05:54:11.4833209Z remote: Counting objects: 12% (1521/12670) +2022-11-22T05:54:11.4834855Z remote: Counting objects: 13% (1648/12670) +2022-11-22T05:54:11.4836592Z remote: Counting objects: 14% (1774/12670) +2022-11-22T05:54:11.4841147Z remote: Counting objects: 15% (1901/12670) +2022-11-22T05:54:11.4842686Z remote: Counting objects: 16% (2028/12670) +2022-11-22T05:54:11.4845844Z remote: Counting objects: 17% (2154/12670) +2022-11-22T05:54:11.4850655Z remote: Counting objects: 18% (2281/12670) +2022-11-22T05:54:11.4856457Z remote: Counting objects: 19% (2408/12670) +2022-11-22T05:54:11.4860749Z remote: Counting objects: 20% (2534/12670) +2022-11-22T05:54:11.4866335Z remote: Counting objects: 21% (2661/12670) +2022-11-22T05:54:11.4868281Z remote: Counting objects: 22% (2788/12670) +2022-11-22T05:54:11.4875422Z remote: Counting objects: 23% (2915/12670) +2022-11-22T05:54:11.4878698Z remote: Counting objects: 24% (3041/12670) +2022-11-22T05:54:11.4881887Z remote: Counting objects: 25% (3168/12670) +2022-11-22T05:54:11.4885601Z remote: Counting objects: 26% (3295/12670) +2022-11-22T05:54:11.4885891Z remote: Counting objects: 27% (3421/12670) +2022-11-22T05:54:11.4895978Z remote: Counting objects: 28% (3548/12670) +2022-11-22T05:54:11.4899479Z remote: Counting objects: 29% (3675/12670) +2022-11-22T05:54:11.4900702Z remote: Counting objects: 30% (3801/12670) +2022-11-22T05:54:11.4905007Z remote: Counting objects: 31% (3928/12670) +2022-11-22T05:54:11.4913601Z remote: Counting objects: 32% (4055/12670) +2022-11-22T05:54:11.4913882Z remote: Counting objects: 33% (4182/12670) +2022-11-22T05:54:11.4929604Z remote: Counting objects: 34% (4308/12670) +2022-11-22T05:54:11.4929903Z remote: Counting objects: 35% (4435/12670) +2022-11-22T05:54:11.5015998Z remote: Counting objects: 36% (4562/12670) +2022-11-22T05:54:11.5016343Z remote: Counting objects: 37% (4688/12670) +2022-11-22T05:54:11.5016621Z remote: Counting objects: 38% (4815/12670) +2022-11-22T05:54:11.5016894Z remote: Counting objects: 39% (4942/12670) +2022-11-22T05:54:11.5017152Z remote: Counting objects: 40% (5068/12670) +2022-11-22T05:54:11.5017647Z remote: Counting objects: 41% (5195/12670) +2022-11-22T05:54:11.5017996Z remote: Counting objects: 42% (5322/12670) +2022-11-22T05:54:11.5018305Z remote: Counting objects: 43% (5449/12670) +2022-11-22T05:54:11.5018644Z remote: Counting objects: 44% (5575/12670) +2022-11-22T05:54:11.5018982Z remote: Counting objects: 45% (5702/12670) +2022-11-22T05:54:11.5019303Z remote: Counting objects: 46% (5829/12670) +2022-11-22T05:54:11.5019637Z remote: Counting objects: 47% (5955/12670) +2022-11-22T05:54:11.5019982Z remote: Counting objects: 48% (6082/12670) +2022-11-22T05:54:11.5020319Z remote: Counting objects: 49% (6209/12670) +2022-11-22T05:54:11.5020778Z remote: Counting objects: 50% (6335/12670) +2022-11-22T05:54:11.5021186Z remote: Counting objects: 51% (6462/12670) +2022-11-22T05:54:11.5021532Z remote: Counting objects: 52% (6589/12670) +2022-11-22T05:54:11.5021820Z remote: Counting objects: 53% (6716/12670) +2022-11-22T05:54:11.5022178Z remote: Counting objects: 54% (6842/12670) +2022-11-22T05:54:11.5022546Z remote: Counting objects: 55% (6969/12670) +2022-11-22T05:54:11.5022845Z remote: Counting objects: 56% (7096/12670) +2022-11-22T05:54:11.5023177Z remote: Counting objects: 57% (7222/12670) +2022-11-22T05:54:11.5023513Z remote: Counting objects: 58% (7349/12670) +2022-11-22T05:54:11.5023845Z remote: Counting objects: 59% (7476/12670) +2022-11-22T05:54:11.5074038Z remote: Counting objects: 60% (7602/12670) +2022-11-22T05:54:11.5074496Z remote: Counting objects: 61% (7729/12670) +2022-11-22T05:54:11.5074840Z remote: Counting objects: 62% (7856/12670) +2022-11-22T05:54:11.5077738Z remote: Counting objects: 63% (7983/12670) +2022-11-22T05:54:11.5078154Z remote: Counting objects: 64% (8109/12670) +2022-11-22T05:54:11.5080069Z remote: Counting objects: 65% (8236/12670) +2022-11-22T05:54:11.5080464Z remote: Counting objects: 66% (8363/12670) +2022-11-22T05:54:11.5080767Z remote: Counting objects: 67% (8489/12670) +2022-11-22T05:54:11.5081113Z remote: Counting objects: 68% (8616/12670) +2022-11-22T05:54:11.5081547Z remote: Counting objects: 69% (8743/12670) +2022-11-22T05:54:11.5083609Z remote: Counting objects: 70% (8869/12670) +2022-11-22T05:54:11.5084045Z remote: Counting objects: 71% (8996/12670) +2022-11-22T05:54:11.5084412Z remote: Counting objects: 72% (9123/12670) +2022-11-22T05:54:11.5086279Z remote: Counting objects: 73% (9250/12670) +2022-11-22T05:54:11.5086641Z remote: Counting objects: 74% (9376/12670) +2022-11-22T05:54:11.5087027Z remote: Counting objects: 75% (9503/12670) +2022-11-22T05:54:11.5087358Z remote: Counting objects: 76% (9630/12670) +2022-11-22T05:54:11.5087661Z remote: Counting objects: 77% (9756/12670) +2022-11-22T05:54:11.5088036Z remote: Counting objects: 78% (9883/12670) +2022-11-22T05:54:11.5088378Z remote: Counting objects: 79% (10010/12670) +2022-11-22T05:54:11.5088856Z remote: Counting objects: 80% (10136/12670) +2022-11-22T05:54:11.5089215Z remote: Counting objects: 81% (10263/12670) +2022-11-22T05:54:11.5089563Z remote: Counting objects: 82% (10390/12670) +2022-11-22T05:54:11.5089941Z remote: Counting objects: 83% (10517/12670) +2022-11-22T05:54:11.5090397Z remote: Counting objects: 84% (10643/12670) +2022-11-22T05:54:11.5090737Z remote: Counting objects: 85% (10770/12670) +2022-11-22T05:54:11.5091087Z remote: Counting objects: 86% (10897/12670) +2022-11-22T05:54:11.5091375Z remote: Counting objects: 87% (11023/12670) +2022-11-22T05:54:11.5091895Z remote: Counting objects: 88% (11150/12670) +2022-11-22T05:54:11.5092268Z remote: Counting objects: 89% (11277/12670) +2022-11-22T05:54:11.5092621Z remote: Counting objects: 90% (11403/12670) +2022-11-22T05:54:11.5092910Z remote: Counting objects: 91% (11530/12670) +2022-11-22T05:54:11.5093293Z remote: Counting objects: 92% (11657/12670) +2022-11-22T05:54:11.5093629Z remote: Counting objects: 93% (11784/12670) +2022-11-22T05:54:11.5093976Z remote: Counting objects: 94% (11910/12670) +2022-11-22T05:54:11.5094262Z remote: Counting objects: 95% (12037/12670) +2022-11-22T05:54:11.5094599Z remote: Counting objects: 96% (12164/12670) +2022-11-22T05:54:11.5099944Z remote: Counting objects: 97% (12290/12670) +2022-11-22T05:54:11.5108887Z remote: Counting objects: 98% (12417/12670) +2022-11-22T05:54:11.5114474Z remote: Counting objects: 99% (12544/12670) +2022-11-22T05:54:11.5114975Z remote: Counting objects: 100% (12670/12670) +2022-11-22T05:54:11.5115371Z remote: Counting objects: 100% (12670/12670), done. +2022-11-22T05:54:11.5294385Z remote: Compressing objects: 0% (1/11138) +2022-11-22T05:54:11.5455556Z remote: Compressing objects: 1% (112/11138) +2022-11-22T05:54:11.5603717Z remote: Compressing objects: 2% (223/11138) +2022-11-22T05:54:11.5715131Z remote: Compressing objects: 3% (335/11138) +2022-11-22T05:54:11.5791988Z remote: Compressing objects: 4% (446/11138) +2022-11-22T05:54:11.5875970Z remote: Compressing objects: 5% (557/11138) +2022-11-22T05:54:11.5992597Z remote: Compressing objects: 6% (669/11138) +2022-11-22T05:54:11.6261135Z remote: Compressing objects: 7% (780/11138) +2022-11-22T05:54:11.6614165Z remote: Compressing objects: 8% (892/11138) +2022-11-22T05:54:11.6929090Z remote: Compressing objects: 9% (1003/11138) +2022-11-22T05:54:11.7520585Z remote: Compressing objects: 10% (1114/11138) +2022-11-22T05:54:11.8656642Z remote: Compressing objects: 11% (1226/11138) +2022-11-22T05:54:12.3621233Z remote: Compressing objects: 12% (1337/11138) +2022-11-22T05:54:12.4278664Z remote: Compressing objects: 13% (1448/11138) +2022-11-22T05:54:12.5681269Z remote: Compressing objects: 14% (1560/11138) +2022-11-22T05:54:12.5742648Z remote: Compressing objects: 14% (1564/11138) +2022-11-22T05:54:12.6042588Z remote: Compressing objects: 15% (1671/11138) +2022-11-22T05:54:12.6277778Z remote: Compressing objects: 16% (1783/11138) +2022-11-22T05:54:12.6502958Z remote: Compressing objects: 17% (1894/11138) +2022-11-22T05:54:12.6639889Z remote: Compressing objects: 18% (2005/11138) +2022-11-22T05:54:12.6825168Z remote: Compressing objects: 19% (2117/11138) +2022-11-22T05:54:12.7061189Z remote: Compressing objects: 20% (2228/11138) +2022-11-22T05:54:12.7163241Z remote: Compressing objects: 21% (2339/11138) +2022-11-22T05:54:12.7229844Z remote: Compressing objects: 22% (2451/11138) +2022-11-22T05:54:12.7963458Z remote: Compressing objects: 23% (2562/11138) +2022-11-22T05:54:12.8191300Z remote: Compressing objects: 24% (2674/11138) +2022-11-22T05:54:12.8429274Z remote: Compressing objects: 25% (2785/11138) +2022-11-22T05:54:12.8590322Z remote: Compressing objects: 26% (2896/11138) +2022-11-22T05:54:12.8794121Z remote: Compressing objects: 27% (3008/11138) +2022-11-22T05:54:12.9360005Z remote: Compressing objects: 28% (3119/11138) +2022-11-22T05:54:12.9509115Z remote: Compressing objects: 29% (3231/11138) +2022-11-22T05:54:12.9789410Z remote: Compressing objects: 30% (3342/11138) +2022-11-22T05:54:13.0109912Z remote: Compressing objects: 31% (3453/11138) +2022-11-22T05:54:13.0315139Z remote: Compressing objects: 32% (3565/11138) +2022-11-22T05:54:13.0679208Z remote: Compressing objects: 33% (3676/11138) +2022-11-22T05:54:13.1106278Z remote: Compressing objects: 34% (3787/11138) +2022-11-22T05:54:13.1559648Z remote: Compressing objects: 35% (3899/11138) +2022-11-22T05:54:13.1815080Z remote: Compressing objects: 36% (4010/11138) +2022-11-22T05:54:13.2032125Z remote: Compressing objects: 37% (4122/11138) +2022-11-22T05:54:13.2508874Z remote: Compressing objects: 38% (4233/11138) +2022-11-22T05:54:13.2873404Z remote: Compressing objects: 39% (4344/11138) +2022-11-22T05:54:13.3141434Z remote: Compressing objects: 40% (4456/11138) +2022-11-22T05:54:13.3472418Z remote: Compressing objects: 41% (4567/11138) +2022-11-22T05:54:13.3689876Z remote: Compressing objects: 42% (4678/11138) +2022-11-22T05:54:13.4026125Z remote: Compressing objects: 43% (4790/11138) +2022-11-22T05:54:13.4351768Z remote: Compressing objects: 44% (4901/11138) +2022-11-22T05:54:13.4635455Z remote: Compressing objects: 45% (5013/11138) +2022-11-22T05:54:13.4913930Z remote: Compressing objects: 46% (5124/11138) +2022-11-22T05:54:13.5126550Z remote: Compressing objects: 47% (5235/11138) +2022-11-22T05:54:13.5178454Z remote: Compressing objects: 47% (5330/11138) +2022-11-22T05:54:13.5387150Z remote: Compressing objects: 48% (5347/11138) +2022-11-22T05:54:13.5667572Z remote: Compressing objects: 49% (5458/11138) +2022-11-22T05:54:13.5885095Z remote: Compressing objects: 50% (5569/11138) +2022-11-22T05:54:13.6141160Z remote: Compressing objects: 51% (5681/11138) +2022-11-22T05:54:13.6409490Z remote: Compressing objects: 52% (5792/11138) +2022-11-22T05:54:13.6653623Z remote: Compressing objects: 53% (5904/11138) +2022-11-22T05:54:13.6948366Z remote: Compressing objects: 54% (6015/11138) +2022-11-22T05:54:13.7220019Z remote: Compressing objects: 55% (6126/11138) +2022-11-22T05:54:13.7483195Z remote: Compressing objects: 56% (6238/11138) +2022-11-22T05:54:13.7731314Z remote: Compressing objects: 57% (6349/11138) +2022-11-22T05:54:13.8003867Z remote: Compressing objects: 58% (6461/11138) +2022-11-22T05:54:13.8256482Z remote: Compressing objects: 59% (6572/11138) +2022-11-22T05:54:13.8642960Z remote: Compressing objects: 60% (6683/11138) +2022-11-22T05:54:13.8869630Z remote: Compressing objects: 61% (6795/11138) +2022-11-22T05:54:13.9178442Z remote: Compressing objects: 62% (6906/11138) +2022-11-22T05:54:13.9401919Z remote: Compressing objects: 63% (7017/11138) +2022-11-22T05:54:13.9693523Z remote: Compressing objects: 64% (7129/11138) +2022-11-22T05:54:13.9916641Z remote: Compressing objects: 65% (7240/11138) +2022-11-22T05:54:14.0243553Z remote: Compressing objects: 66% (7352/11138) +2022-11-22T05:54:14.0431165Z remote: Compressing objects: 67% (7463/11138) +2022-11-22T05:54:14.0432887Z remote: Compressing objects: 68% (7574/11138) +2022-11-22T05:54:14.0475569Z remote: Compressing objects: 69% (7686/11138) +2022-11-22T05:54:14.0480770Z remote: Compressing objects: 70% (7797/11138) +2022-11-22T05:54:14.0481393Z remote: Compressing objects: 71% (7908/11138) +2022-11-22T05:54:14.0481820Z remote: Compressing objects: 72% (8020/11138) +2022-11-22T05:54:14.0482177Z remote: Compressing objects: 73% (8131/11138) +2022-11-22T05:54:14.0482859Z remote: Compressing objects: 74% (8243/11138) +2022-11-22T05:54:14.0488239Z remote: Compressing objects: 75% (8354/11138) +2022-11-22T05:54:14.0488623Z remote: Compressing objects: 76% (8465/11138) +2022-11-22T05:54:14.0522233Z remote: Compressing objects: 77% (8577/11138) +2022-11-22T05:54:14.0522712Z remote: Compressing objects: 78% (8688/11138) +2022-11-22T05:54:14.0523143Z remote: Compressing objects: 79% (8800/11138) +2022-11-22T05:54:14.0553594Z remote: Compressing objects: 80% (8911/11138) +2022-11-22T05:54:14.0592171Z remote: Compressing objects: 81% (9022/11138) +2022-11-22T05:54:14.0592578Z remote: Compressing objects: 82% (9134/11138) +2022-11-22T05:54:14.0689423Z remote: Compressing objects: 83% (9245/11138) +2022-11-22T05:54:14.0774112Z remote: Compressing objects: 84% (9356/11138) +2022-11-22T05:54:14.0774568Z remote: Compressing objects: 85% (9468/11138) +2022-11-22T05:54:14.0775008Z remote: Compressing objects: 86% (9579/11138) +2022-11-22T05:54:14.0775359Z remote: Compressing objects: 87% (9691/11138) +2022-11-22T05:54:14.0775775Z remote: Compressing objects: 88% (9802/11138) +2022-11-22T05:54:14.0776226Z remote: Compressing objects: 89% (9913/11138) +2022-11-22T05:54:14.0778641Z remote: Compressing objects: 90% (10025/11138) +2022-11-22T05:54:14.0956337Z remote: Compressing objects: 91% (10136/11138) +2022-11-22T05:54:14.0978087Z remote: Compressing objects: 92% (10247/11138) +2022-11-22T05:54:14.0990638Z remote: Compressing objects: 93% (10359/11138) +2022-11-22T05:54:14.1012960Z remote: Compressing objects: 94% (10470/11138) +2022-11-22T05:54:14.1037619Z remote: Compressing objects: 95% (10582/11138) +2022-11-22T05:54:14.1050702Z remote: Compressing objects: 96% (10693/11138) +2022-11-22T05:54:14.1063360Z remote: Compressing objects: 97% (10804/11138) +2022-11-22T05:54:14.1081312Z remote: Compressing objects: 98% (10916/11138) +2022-11-22T05:54:14.1113135Z remote: Compressing objects: 99% (11027/11138) +2022-11-22T05:54:14.1113531Z remote: Compressing objects: 100% (11138/11138) +2022-11-22T05:54:14.1113923Z remote: Compressing objects: 100% (11138/11138), done. +2022-11-22T05:54:14.1437731Z Receiving objects: 0% (1/12670) +2022-11-22T05:54:14.7969071Z Receiving objects: 1% (127/12670) +2022-11-22T05:54:14.8098924Z Receiving objects: 2% (254/12670), 1.64 MiB | 2.91 MiB/s +2022-11-22T05:54:14.9436264Z Receiving objects: 3% (381/12670), 1.64 MiB | 2.91 MiB/s +2022-11-22T05:54:14.9491670Z Receiving objects: 4% (507/12670), 1.64 MiB | 2.91 MiB/s +2022-11-22T05:54:14.9541674Z Receiving objects: 5% (634/12670), 1.64 MiB | 2.91 MiB/s +2022-11-22T05:54:14.9697968Z Receiving objects: 6% (761/12670), 1.64 MiB | 2.91 MiB/s +2022-11-22T05:54:14.9906135Z Receiving objects: 7% (887/12670), 1.64 MiB | 2.91 MiB/s +2022-11-22T05:54:15.0124892Z Receiving objects: 8% (1014/12670), 1.64 MiB | 2.91 MiB/s +2022-11-22T05:54:15.0247894Z Receiving objects: 9% (1141/12670), 1.64 MiB | 2.91 MiB/s +2022-11-22T05:54:15.0464602Z Receiving objects: 10% (1267/12670), 1.64 MiB | 2.91 MiB/s +2022-11-22T05:54:15.0642253Z Receiving objects: 11% (1394/12670), 1.64 MiB | 2.91 MiB/s +2022-11-22T05:54:15.0749336Z Receiving objects: 12% (1521/12670), 1.64 MiB | 2.91 MiB/s +2022-11-22T05:54:15.0761823Z Receiving objects: 13% (1648/12670), 1.64 MiB | 2.91 MiB/s +2022-11-22T05:54:15.0886767Z Receiving objects: 14% (1774/12670), 1.64 MiB | 2.91 MiB/s +2022-11-22T05:54:15.1085477Z Receiving objects: 15% (1901/12670), 1.64 MiB | 2.91 MiB/s +2022-11-22T05:54:15.1165503Z Receiving objects: 16% (2028/12670), 1.64 MiB | 2.91 MiB/s +2022-11-22T05:54:15.1466407Z Receiving objects: 16% (2071/12670), 1.64 MiB | 2.91 MiB/s +2022-11-22T05:54:15.1775614Z Receiving objects: 17% (2154/12670), 1.64 MiB | 2.91 MiB/s +2022-11-22T05:54:15.2046679Z Receiving objects: 18% (2281/12670), 1.64 MiB | 2.91 MiB/s +2022-11-22T05:54:15.2350074Z Receiving objects: 19% (2408/12670), 5.54 MiB | 5.20 MiB/s +2022-11-22T05:54:15.2648667Z Receiving objects: 20% (2534/12670), 5.54 MiB | 5.20 MiB/s +2022-11-22T05:54:15.2950136Z Receiving objects: 21% (2661/12670), 5.54 MiB | 5.20 MiB/s +2022-11-22T05:54:15.3229118Z Receiving objects: 22% (2788/12670), 5.54 MiB | 5.20 MiB/s +2022-11-22T05:54:15.3508301Z Receiving objects: 23% (2915/12670), 5.54 MiB | 5.20 MiB/s +2022-11-22T05:54:15.3736900Z Receiving objects: 24% (3041/12670), 5.54 MiB | 5.20 MiB/s +2022-11-22T05:54:15.3928328Z Receiving objects: 25% (3168/12670), 5.54 MiB | 5.20 MiB/s +2022-11-22T05:54:15.4102878Z Receiving objects: 26% (3295/12670), 5.54 MiB | 5.20 MiB/s +2022-11-22T05:54:15.4387561Z Receiving objects: 27% (3421/12670), 5.54 MiB | 5.20 MiB/s +2022-11-22T05:54:15.4581868Z Receiving objects: 28% (3548/12670), 5.54 MiB | 5.20 MiB/s +2022-11-22T05:54:15.4720691Z Receiving objects: 29% (3675/12670), 5.54 MiB | 5.20 MiB/s +2022-11-22T05:54:15.4949914Z Receiving objects: 30% (3801/12670), 5.54 MiB | 5.20 MiB/s +2022-11-22T05:54:15.5088093Z Receiving objects: 31% (3928/12670), 5.54 MiB | 5.20 MiB/s +2022-11-22T05:54:15.5251105Z Receiving objects: 32% (4055/12670), 5.54 MiB | 5.20 MiB/s +2022-11-22T05:54:15.5419154Z Receiving objects: 33% (4182/12670), 5.54 MiB | 5.20 MiB/s +2022-11-22T05:54:15.5562173Z Receiving objects: 34% (4308/12670), 5.54 MiB | 5.20 MiB/s +2022-11-22T05:54:15.5822789Z Receiving objects: 35% (4435/12670), 5.54 MiB | 5.20 MiB/s +2022-11-22T05:54:15.6098583Z Receiving objects: 36% (4562/12670), 5.54 MiB | 5.20 MiB/s +2022-11-22T05:54:15.6486705Z Receiving objects: 37% (4688/12670), 5.54 MiB | 5.20 MiB/s +2022-11-22T05:54:15.6836221Z Receiving objects: 38% (4815/12670), 5.54 MiB | 5.20 MiB/s +2022-11-22T05:54:15.7184372Z Receiving objects: 39% (4942/12670), 10.06 MiB | 6.41 MiB/s +2022-11-22T05:54:15.7304334Z Receiving objects: 40% (5068/12670), 10.06 MiB | 6.41 MiB/s +2022-11-22T05:54:15.7558967Z Receiving objects: 41% (5195/12670), 10.06 MiB | 6.41 MiB/s +2022-11-22T05:54:15.7948469Z Receiving objects: 42% (5322/12670), 10.06 MiB | 6.41 MiB/s +2022-11-22T05:54:15.8261068Z Receiving objects: 43% (5449/12670), 10.06 MiB | 6.41 MiB/s +2022-11-22T05:54:15.8392502Z Receiving objects: 44% (5575/12670), 10.06 MiB | 6.41 MiB/s +2022-11-22T05:54:15.8543246Z Receiving objects: 45% (5702/12670), 10.06 MiB | 6.41 MiB/s +2022-11-22T05:54:15.8682415Z Receiving objects: 46% (5829/12670), 10.06 MiB | 6.41 MiB/s +2022-11-22T05:54:15.8784329Z Receiving objects: 47% (5955/12670), 10.06 MiB | 6.41 MiB/s +2022-11-22T05:54:15.8925819Z Receiving objects: 48% (6082/12670), 10.06 MiB | 6.41 MiB/s +2022-11-22T05:54:15.9001936Z Receiving objects: 49% (6209/12670), 10.06 MiB | 6.41 MiB/s +2022-11-22T05:54:15.9514165Z Receiving objects: 50% (6335/12670), 10.06 MiB | 6.41 MiB/s +2022-11-22T05:54:16.0360562Z Receiving objects: 51% (6462/12670), 10.06 MiB | 6.41 MiB/s +2022-11-22T05:54:16.1833774Z Receiving objects: 52% (6589/12670), 10.06 MiB | 6.41 MiB/s +2022-11-22T05:54:16.6045841Z Receiving objects: 52% (6598/12670), 17.71 MiB | 8.56 MiB/s +2022-11-22T05:54:16.8791679Z Receiving objects: 53% (6716/12670), 17.71 MiB | 8.56 MiB/s +2022-11-22T05:54:16.9124702Z Receiving objects: 54% (6842/12670), 31.08 MiB | 12.10 MiB/s +2022-11-22T05:54:17.0161642Z Receiving objects: 55% (6969/12670), 31.08 MiB | 12.10 MiB/s +2022-11-22T05:54:17.0595048Z Receiving objects: 56% (7096/12670), 31.08 MiB | 12.10 MiB/s +2022-11-22T05:54:17.0975600Z Receiving objects: 57% (7222/12670), 31.08 MiB | 12.10 MiB/s +2022-11-22T05:54:17.1141406Z Receiving objects: 58% (7349/12670), 31.08 MiB | 12.10 MiB/s +2022-11-22T05:54:17.1405634Z Receiving objects: 58% (7401/12670), 31.08 MiB | 12.10 MiB/s +2022-11-22T05:54:17.1720210Z Receiving objects: 59% (7476/12670), 31.08 MiB | 12.10 MiB/s +2022-11-22T05:54:17.2015621Z Receiving objects: 60% (7602/12670), 31.08 MiB | 12.10 MiB/s +2022-11-22T05:54:17.2421975Z Receiving objects: 61% (7729/12670), 49.89 MiB | 16.26 MiB/s +2022-11-22T05:54:17.2500420Z Receiving objects: 62% (7856/12670), 49.89 MiB | 16.26 MiB/s +2022-11-22T05:54:17.5988832Z Receiving objects: 63% (7983/12670), 49.89 MiB | 16.26 MiB/s +2022-11-22T05:54:17.9560268Z Receiving objects: 64% (8109/12670), 49.89 MiB | 16.26 MiB/s +2022-11-22T05:54:18.0169362Z Receiving objects: 65% (8236/12670), 74.38 MiB | 20.85 MiB/s +2022-11-22T05:54:18.0610635Z Receiving objects: 66% (8363/12670), 74.38 MiB | 20.85 MiB/s +2022-11-22T05:54:18.1142278Z Receiving objects: 67% (8489/12670), 74.38 MiB | 20.85 MiB/s +2022-11-22T05:54:18.1185495Z Receiving objects: 67% (8604/12670), 74.38 MiB | 20.85 MiB/s +2022-11-22T05:54:18.1538486Z Receiving objects: 68% (8616/12670), 74.38 MiB | 20.85 MiB/s +2022-11-22T05:54:18.2062287Z Receiving objects: 69% (8743/12670), 74.38 MiB | 20.85 MiB/s +2022-11-22T05:54:18.2545599Z Receiving objects: 70% (8869/12670), 104.45 MiB | 25.68 MiB/s +2022-11-22T05:54:18.3571596Z Receiving objects: 71% (8996/12670), 104.45 MiB | 25.68 MiB/s +2022-11-22T05:54:18.3758401Z Receiving objects: 72% (9123/12670), 104.45 MiB | 25.68 MiB/s +2022-11-22T05:54:18.3859281Z Receiving objects: 73% (9250/12670), 104.45 MiB | 25.68 MiB/s +2022-11-22T05:54:18.3976873Z Receiving objects: 74% (9376/12670), 104.45 MiB | 25.68 MiB/s +2022-11-22T05:54:18.4120242Z Receiving objects: 75% (9503/12670), 104.45 MiB | 25.68 MiB/s +2022-11-22T05:54:18.4306434Z Receiving objects: 76% (9630/12670), 104.45 MiB | 25.68 MiB/s +2022-11-22T05:54:18.5319302Z Receiving objects: 77% (9756/12670), 104.45 MiB | 25.68 MiB/s +2022-11-22T05:54:18.5320722Z Receiving objects: 78% (9883/12670), 104.45 MiB | 25.68 MiB/s +2022-11-22T05:54:18.5526871Z Receiving objects: 79% (10010/12670), 104.45 MiB | 25.68 MiB/s +2022-11-22T05:54:18.5891167Z Receiving objects: 80% (10136/12670), 104.45 MiB | 25.68 MiB/s +2022-11-22T05:54:18.5967265Z Receiving objects: 81% (10263/12670), 104.45 MiB | 25.68 MiB/s +2022-11-22T05:54:18.6052595Z Receiving objects: 82% (10390/12670), 104.45 MiB | 25.68 MiB/s +2022-11-22T05:54:18.6120029Z Receiving objects: 83% (10517/12670), 104.45 MiB | 25.68 MiB/s +2022-11-22T05:54:18.6174493Z Receiving objects: 84% (10643/12670), 104.45 MiB | 25.68 MiB/s +2022-11-22T05:54:18.6234676Z Receiving objects: 85% (10770/12670), 104.45 MiB | 25.68 MiB/s +2022-11-22T05:54:18.6299547Z Receiving objects: 86% (10897/12670), 104.45 MiB | 25.68 MiB/s +2022-11-22T05:54:18.6365696Z Receiving objects: 87% (11023/12670), 104.45 MiB | 25.68 MiB/s +2022-11-22T05:54:18.6532983Z Receiving objects: 88% (11150/12670), 104.45 MiB | 25.68 MiB/s +2022-11-22T05:54:18.7047669Z Receiving objects: 89% (11277/12670), 104.45 MiB | 25.68 MiB/s +2022-11-22T05:54:18.7436095Z Receiving objects: 90% (11403/12670), 135.69 MiB | 29.71 MiB/s +2022-11-22T05:54:18.7478331Z Receiving objects: 91% (11530/12670), 135.69 MiB | 29.71 MiB/s +2022-11-22T05:54:18.7516826Z Receiving objects: 92% (11657/12670), 135.69 MiB | 29.71 MiB/s +2022-11-22T05:54:18.7572212Z Receiving objects: 93% (11784/12670), 135.69 MiB | 29.71 MiB/s +2022-11-22T05:54:18.7627489Z Receiving objects: 94% (11910/12670), 135.69 MiB | 29.71 MiB/s +2022-11-22T05:54:18.7680868Z Receiving objects: 95% (12037/12670), 135.69 MiB | 29.71 MiB/s +2022-11-22T05:54:18.7719714Z Receiving objects: 96% (12164/12670), 135.69 MiB | 29.71 MiB/s +2022-11-22T05:54:18.7750985Z Receiving objects: 97% (12290/12670), 135.69 MiB | 29.71 MiB/s +2022-11-22T05:54:18.7895759Z Receiving objects: 98% (12417/12670), 135.69 MiB | 29.71 MiB/s +2022-11-22T05:54:18.7934049Z Receiving objects: 99% (12544/12670), 135.69 MiB | 29.71 MiB/s +2022-11-22T05:54:18.7934871Z remote: Total 12670 (delta 1563), reused 7049 (delta 1400), pack-reused 0 +2022-11-22T05:54:18.7957233Z Receiving objects: 100% (12670/12670), 135.69 MiB | 29.71 MiB/s +2022-11-22T05:54:18.7957672Z Receiving objects: 100% (12670/12670), 139.64 MiB | 29.83 MiB/s, done. +2022-11-22T05:54:18.7991376Z Resolving deltas: 0% (0/1563) +2022-11-22T05:54:18.8007713Z Resolving deltas: 1% (16/1563) +2022-11-22T05:54:18.8018232Z Resolving deltas: 2% (32/1563) +2022-11-22T05:54:18.8025488Z Resolving deltas: 3% (47/1563) +2022-11-22T05:54:18.8083114Z Resolving deltas: 4% (63/1563) +2022-11-22T05:54:18.8129512Z Resolving deltas: 5% (79/1563) +2022-11-22T05:54:18.8137107Z Resolving deltas: 6% (94/1563) +2022-11-22T05:54:18.8145420Z Resolving deltas: 7% (110/1563) +2022-11-22T05:54:18.8197932Z Resolving deltas: 8% (126/1563) +2022-11-22T05:54:18.8224181Z Resolving deltas: 9% (141/1563) +2022-11-22T05:54:18.8237686Z Resolving deltas: 10% (157/1563) +2022-11-22T05:54:18.8264690Z Resolving deltas: 11% (172/1563) +2022-11-22T05:54:18.8270115Z Resolving deltas: 12% (188/1563) +2022-11-22T05:54:18.8278891Z Resolving deltas: 13% (204/1563) +2022-11-22T05:54:18.8282387Z Resolving deltas: 14% (219/1563) +2022-11-22T05:54:18.8286062Z Resolving deltas: 15% (235/1563) +2022-11-22T05:54:18.8289540Z Resolving deltas: 16% (251/1563) +2022-11-22T05:54:18.8293460Z Resolving deltas: 17% (266/1563) +2022-11-22T05:54:18.8296655Z Resolving deltas: 18% (282/1563) +2022-11-22T05:54:18.8300378Z Resolving deltas: 19% (297/1563) +2022-11-22T05:54:18.8303678Z Resolving deltas: 20% (313/1563) +2022-11-22T05:54:18.8306940Z Resolving deltas: 21% (329/1563) +2022-11-22T05:54:18.8321902Z Resolving deltas: 22% (344/1563) +2022-11-22T05:54:18.8337564Z Resolving deltas: 23% (360/1563) +2022-11-22T05:54:18.8351461Z Resolving deltas: 24% (376/1563) +2022-11-22T05:54:18.8376364Z Resolving deltas: 25% (391/1563) +2022-11-22T05:54:18.8447413Z Resolving deltas: 26% (407/1563) +2022-11-22T05:54:18.8455814Z Resolving deltas: 27% (423/1563) +2022-11-22T05:54:18.8519899Z Resolving deltas: 28% (438/1563) +2022-11-22T05:54:18.8528664Z Resolving deltas: 29% (454/1563) +2022-11-22T05:54:18.8546501Z Resolving deltas: 30% (469/1563) +2022-11-22T05:54:18.8556266Z Resolving deltas: 31% (485/1563) +2022-11-22T05:54:18.8583895Z Resolving deltas: 32% (501/1563) +2022-11-22T05:54:18.8597665Z Resolving deltas: 33% (516/1563) +2022-11-22T05:54:18.8667049Z Resolving deltas: 34% (532/1563) +2022-11-22T05:54:18.8690494Z Resolving deltas: 35% (548/1563) +2022-11-22T05:54:18.8719328Z Resolving deltas: 36% (563/1563) +2022-11-22T05:54:18.8733653Z Resolving deltas: 37% (579/1563) +2022-11-22T05:54:18.8737567Z Resolving deltas: 38% (594/1563) +2022-11-22T05:54:18.8741272Z Resolving deltas: 39% (610/1563) +2022-11-22T05:54:18.8745180Z Resolving deltas: 40% (626/1563) +2022-11-22T05:54:18.8749043Z Resolving deltas: 41% (641/1563) +2022-11-22T05:54:18.8752838Z Resolving deltas: 42% (657/1563) +2022-11-22T05:54:18.8756750Z Resolving deltas: 43% (673/1563) +2022-11-22T05:54:18.8760570Z Resolving deltas: 44% (688/1563) +2022-11-22T05:54:18.8764977Z Resolving deltas: 45% (704/1563) +2022-11-22T05:54:18.8768748Z Resolving deltas: 46% (719/1563) +2022-11-22T05:54:18.8774098Z Resolving deltas: 47% (735/1563) +2022-11-22T05:54:18.8775178Z Resolving deltas: 48% (751/1563) +2022-11-22T05:54:18.8775461Z Resolving deltas: 49% (766/1563) +2022-11-22T05:54:18.8778107Z Resolving deltas: 50% (782/1563) +2022-11-22T05:54:18.8783837Z Resolving deltas: 51% (798/1563) +2022-11-22T05:54:18.8788309Z Resolving deltas: 52% (813/1563) +2022-11-22T05:54:18.8793942Z Resolving deltas: 53% (829/1563) +2022-11-22T05:54:18.8800371Z Resolving deltas: 54% (845/1563) +2022-11-22T05:54:18.8804490Z Resolving deltas: 55% (860/1563) +2022-11-22T05:54:18.8807918Z Resolving deltas: 56% (876/1563) +2022-11-22T05:54:18.8811794Z Resolving deltas: 57% (891/1563) +2022-11-22T05:54:18.8816897Z Resolving deltas: 58% (907/1563) +2022-11-22T05:54:18.8820531Z Resolving deltas: 59% (923/1563) +2022-11-22T05:54:18.8826617Z Resolving deltas: 60% (938/1563) +2022-11-22T05:54:18.8830227Z Resolving deltas: 61% (954/1563) +2022-11-22T05:54:18.8833639Z Resolving deltas: 62% (970/1563) +2022-11-22T05:54:18.8837198Z Resolving deltas: 63% (985/1563) +2022-11-22T05:54:18.8841013Z Resolving deltas: 64% (1001/1563) +2022-11-22T05:54:18.8847335Z Resolving deltas: 65% (1016/1563) +2022-11-22T05:54:18.8852046Z Resolving deltas: 66% (1032/1563) +2022-11-22T05:54:18.8856289Z Resolving deltas: 67% (1048/1563) +2022-11-22T05:54:18.8861881Z Resolving deltas: 68% (1063/1563) +2022-11-22T05:54:18.8865510Z Resolving deltas: 69% (1079/1563) +2022-11-22T05:54:18.8870298Z Resolving deltas: 70% (1095/1563) +2022-11-22T05:54:18.8873958Z Resolving deltas: 71% (1110/1563) +2022-11-22T05:54:18.8879331Z Resolving deltas: 72% (1126/1563) +2022-11-22T05:54:18.8884282Z Resolving deltas: 73% (1141/1563) +2022-11-22T05:54:18.8887555Z Resolving deltas: 74% (1157/1563) +2022-11-22T05:54:18.8893031Z Resolving deltas: 75% (1173/1563) +2022-11-22T05:54:18.8897133Z Resolving deltas: 76% (1188/1563) +2022-11-22T05:54:18.8902745Z Resolving deltas: 77% (1204/1563) +2022-11-22T05:54:18.8907760Z Resolving deltas: 78% (1220/1563) +2022-11-22T05:54:18.8915339Z Resolving deltas: 79% (1235/1563) +2022-11-22T05:54:18.8919747Z Resolving deltas: 80% (1251/1563) +2022-11-22T05:54:18.8925282Z Resolving deltas: 81% (1267/1563) +2022-11-22T05:54:18.8930887Z Resolving deltas: 82% (1282/1563) +2022-11-22T05:54:18.8939494Z Resolving deltas: 83% (1298/1563) +2022-11-22T05:54:18.8943800Z Resolving deltas: 84% (1313/1563) +2022-11-22T05:54:18.8952847Z Resolving deltas: 85% (1329/1563) +2022-11-22T05:54:18.8957233Z Resolving deltas: 86% (1345/1563) +2022-11-22T05:54:18.8964897Z Resolving deltas: 87% (1360/1563) +2022-11-22T05:54:18.8974626Z Resolving deltas: 88% (1376/1563) +2022-11-22T05:54:18.8981120Z Resolving deltas: 89% (1392/1563) +2022-11-22T05:54:18.8991169Z Resolving deltas: 90% (1407/1563) +2022-11-22T05:54:18.9004223Z Resolving deltas: 91% (1423/1563) +2022-11-22T05:54:18.9017738Z Resolving deltas: 92% (1438/1563) +2022-11-22T05:54:18.9022799Z Resolving deltas: 93% (1454/1563) +2022-11-22T05:54:18.9029380Z Resolving deltas: 94% (1470/1563) +2022-11-22T05:54:18.9033633Z Resolving deltas: 95% (1485/1563) +2022-11-22T05:54:18.9044646Z Resolving deltas: 96% (1501/1563) +2022-11-22T05:54:18.9053816Z Resolving deltas: 97% (1517/1563) +2022-11-22T05:54:18.9057259Z Resolving deltas: 98% (1532/1563) +2022-11-22T05:54:18.9061864Z Resolving deltas: 99% (1548/1563) +2022-11-22T05:54:18.9069074Z Resolving deltas: 100% (1563/1563) +2022-11-22T05:54:18.9069513Z Resolving deltas: 100% (1563/1563), done. +2022-11-22T05:54:19.3818094Z From https://github.com/tgstation/tgstation +2022-11-22T05:54:19.3819106Z * [new ref] 806eced1b6aa2166e665748be44c5c519833b2e2 -> pull/71181/merge +2022-11-22T05:54:19.3843465Z ##[endgroup] +2022-11-22T05:54:19.3844157Z ##[group]Determining the checkout info +2022-11-22T05:54:19.3845757Z ##[endgroup] +2022-11-22T05:54:19.3854920Z ##[group]Checking out the ref +2022-11-22T05:54:19.3855731Z [command]/usr/bin/git checkout --progress --force refs/remotes/pull/71181/merge +2022-11-22T05:54:20.4063926Z Updating files: 68% (8032/11696) +2022-11-22T05:54:20.4275321Z Updating files: 69% (8071/11696) +2022-11-22T05:54:20.4667553Z Updating files: 70% (8188/11696) +2022-11-22T05:54:20.4748863Z Updating files: 71% (8305/11696) +2022-11-22T05:54:20.4839310Z Updating files: 72% (8422/11696) +2022-11-22T05:54:20.4912300Z Updating files: 73% (8539/11696) +2022-11-22T05:54:20.4973377Z Updating files: 74% (8656/11696) +2022-11-22T05:54:20.5018309Z Updating files: 75% (8772/11696) +2022-11-22T05:54:20.5413696Z Updating files: 76% (8889/11696) +2022-11-22T05:54:20.5531187Z Updating files: 77% (9006/11696) +2022-11-22T05:54:20.5555866Z Updating files: 78% (9123/11696) +2022-11-22T05:54:20.5753360Z Updating files: 79% (9240/11696) +2022-11-22T05:54:20.5835545Z Updating files: 80% (9357/11696) +2022-11-22T05:54:20.5898136Z Updating files: 81% (9474/11696) +2022-11-22T05:54:20.5952825Z Updating files: 82% (9591/11696) +2022-11-22T05:54:20.5998934Z Updating files: 83% (9708/11696) +2022-11-22T05:54:20.6049707Z Updating files: 84% (9825/11696) +2022-11-22T05:54:20.6100460Z Updating files: 85% (9942/11696) +2022-11-22T05:54:20.6152185Z Updating files: 86% (10059/11696) +2022-11-22T05:54:20.6202834Z Updating files: 87% (10176/11696) +2022-11-22T05:54:20.6283782Z Updating files: 88% (10293/11696) +2022-11-22T05:54:20.6506593Z Updating files: 89% (10410/11696) +2022-11-22T05:54:20.6736171Z Updating files: 90% (10527/11696) +2022-11-22T05:54:20.6788889Z Updating files: 91% (10644/11696) +2022-11-22T05:54:20.6838906Z Updating files: 92% (10761/11696) +2022-11-22T05:54:20.6898626Z Updating files: 93% (10878/11696) +2022-11-22T05:54:20.6956323Z Updating files: 94% (10995/11696) +2022-11-22T05:54:20.7015640Z Updating files: 95% (11112/11696) +2022-11-22T05:54:20.7064247Z Updating files: 96% (11229/11696) +2022-11-22T05:54:20.7113161Z Updating files: 97% (11346/11696) +2022-11-22T05:54:20.7209831Z Updating files: 98% (11463/11696) +2022-11-22T05:54:20.7272887Z Updating files: 99% (11580/11696) +2022-11-22T05:54:20.7273303Z Updating files: 100% (11696/11696) +2022-11-22T05:54:20.7275554Z Updating files: 100% (11696/11696), done. +2022-11-22T05:54:20.7421345Z Note: switching to 'refs/remotes/pull/71181/merge'. +2022-11-22T05:54:20.7421551Z +2022-11-22T05:54:20.7421839Z You are in 'detached HEAD' state. You can look around, make experimental +2022-11-22T05:54:20.7422215Z changes and commit them, and you can discard any commits you make in this +2022-11-22T05:54:20.7422574Z state without impacting any branches by switching back to a branch. +2022-11-22T05:54:20.7422770Z +2022-11-22T05:54:20.7422934Z If you want to create a new branch to retain commits you create, you may +2022-11-22T05:54:20.7423364Z do so (now or later) by using -c with the switch command. Example: +2022-11-22T05:54:20.7423551Z +2022-11-22T05:54:20.7423727Z git switch -c +2022-11-22T05:54:20.7423871Z +2022-11-22T05:54:20.7423975Z Or undo this operation with: +2022-11-22T05:54:20.7424120Z +2022-11-22T05:54:20.7424204Z git switch - +2022-11-22T05:54:20.7424328Z +2022-11-22T05:54:20.7424684Z Turn off this advice by setting config variable advice.detachedHead to false +2022-11-22T05:54:20.7424902Z +2022-11-22T05:54:20.7425103Z HEAD is now at 806eced Merge 417e724a9b957bc5b5f40526ff328526f1efe7f3 into 08a748704bfd2d68598c4c036723717421983145 +2022-11-22T05:54:20.7465533Z ##[endgroup] +2022-11-22T05:54:20.7511808Z [command]/usr/bin/git log -1 --format='%H' +2022-11-22T05:54:20.7544816Z '806eced1b6aa2166e665748be44c5c519833b2e2' +2022-11-22T05:54:20.7875252Z ##[group]Run actions/cache@v3 +2022-11-22T05:54:20.7875497Z with: +2022-11-22T05:54:20.7875691Z path: ~/BYOND +2022-11-22T05:54:20.7875891Z key: Linux-byond- +2022-11-22T05:54:20.7876098Z ##[endgroup] +2022-11-22T05:54:21.3195522Z Received 4090426 of 4090426 (100.0%), 24.5 MBs/sec +2022-11-22T05:54:21.3196161Z Cache Size: ~4 MB (4090426 B) +2022-11-22T05:54:21.3216111Z [command]/usr/bin/tar --use-compress-program unzstd -xf /home/runner/work/_temp/b2d9ae3f-43dc-4494-a10d-0913d9199ba9/cache.tzst -P -C /home/runner/work/tgstation/tgstation +2022-11-22T05:54:21.3633267Z Cache restored successfully +2022-11-22T05:54:21.3869456Z Cache restored from key: Linux-byond- +2022-11-22T05:54:21.4011996Z ##[group]Run sudo systemctl start mysql +2022-11-22T05:54:21.4012363Z sudo systemctl start mysql +2022-11-22T05:54:21.4012678Z mysql -u root -proot -e 'CREATE DATABASE tg_ci;' +2022-11-22T05:54:21.4013012Z mysql -u root -proot tg_ci < SQL/tgstation_schema.sql +2022-11-22T05:54:21.4013358Z mysql -u root -proot -e 'CREATE DATABASE tg_ci_prefixed;' +2022-11-22T05:54:21.4013736Z mysql -u root -proot tg_ci_prefixed < SQL/tgstation_schema_prefixed.sql +2022-11-22T05:54:21.4068798Z shell: /usr/bin/bash -e {0} +2022-11-22T05:54:21.4069059Z ##[endgroup] +2022-11-22T05:54:26.1328031Z mysql: [Warning] Using a password on the command line interface can be insecure. +2022-11-22T05:54:26.1632489Z mysql: [Warning] Using a password on the command line interface can be insecure. +2022-11-22T05:54:26.7713121Z mysql: [Warning] Using a password on the command line interface can be insecure. +2022-11-22T05:54:26.7789364Z mysql: [Warning] Using a password on the command line interface can be insecure. +2022-11-22T05:54:27.1574220Z ##[group]Run sudo dpkg --add-architecture i386 +2022-11-22T05:54:27.1574565Z sudo dpkg --add-architecture i386 +2022-11-22T05:54:27.1574835Z sudo apt update || true +2022-11-22T05:54:27.1575275Z sudo apt install -o APT::Immediate-Configure=false libssl1.1:i386 +2022-11-22T05:54:27.1575591Z bash tools/ci/install_rust_g.sh +2022-11-22T05:54:27.1627061Z shell: /usr/bin/bash -e {0} +2022-11-22T05:54:27.1627322Z ##[endgroup] +2022-11-22T05:54:27.3375235Z +2022-11-22T05:54:27.3375988Z WARNING: apt does not have a stable CLI interface. Use with caution in scripts. +2022-11-22T05:54:27.3376493Z +2022-11-22T05:54:27.4285840Z Hit:1 http://azure.archive.ubuntu.com/ubuntu focal InRelease +2022-11-22T05:54:27.4289676Z Get:2 http://azure.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB] +2022-11-22T05:54:27.4297956Z Get:3 http://azure.archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB] +2022-11-22T05:54:27.4307795Z Get:4 http://azure.archive.ubuntu.com/ubuntu focal-security InRelease [114 kB] +2022-11-22T05:54:27.4622061Z Get:5 https://packages.microsoft.com/ubuntu/20.04/prod focal InRelease [10.5 kB] +2022-11-22T05:54:27.6682767Z Hit:6 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu focal InRelease +2022-11-22T05:54:27.6820644Z Get:7 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [2242 kB] +2022-11-22T05:54:27.7080253Z Get:8 http://azure.archive.ubuntu.com/ubuntu focal-updates/main i386 Packages [756 kB] +2022-11-22T05:54:27.7153659Z Get:9 http://azure.archive.ubuntu.com/ubuntu focal-updates/main Translation-en [391 kB] +2022-11-22T05:54:27.7199273Z Get:10 http://azure.archive.ubuntu.com/ubuntu focal-updates/main amd64 c-n-f Metadata [16.1 kB] +2022-11-22T05:54:27.7222773Z Get:11 http://azure.archive.ubuntu.com/ubuntu focal-updates/restricted i386 Packages [27.8 kB] +2022-11-22T05:54:27.7303676Z Get:12 http://azure.archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packages [1424 kB] +2022-11-22T05:54:27.7515018Z Get:13 http://azure.archive.ubuntu.com/ubuntu focal-updates/restricted Translation-en [202 kB] +2022-11-22T05:54:27.7544674Z Get:14 http://azure.archive.ubuntu.com/ubuntu focal-updates/restricted amd64 c-n-f Metadata [636 B] +2022-11-22T05:54:27.7574161Z Get:15 http://azure.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [1003 kB] +2022-11-22T05:54:27.7673252Z Get:16 http://azure.archive.ubuntu.com/ubuntu focal-updates/universe i386 Packages [704 kB] +2022-11-22T05:54:27.8208601Z Get:17 http://azure.archive.ubuntu.com/ubuntu focal-updates/universe Translation-en [233 kB] +2022-11-22T05:54:27.8216256Z Get:18 http://azure.archive.ubuntu.com/ubuntu focal-updates/universe amd64 c-n-f Metadata [23.1 kB] +2022-11-22T05:54:27.8232910Z Get:19 http://azure.archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 Packages [24.4 kB] +2022-11-22T05:54:27.8249854Z Get:20 http://azure.archive.ubuntu.com/ubuntu focal-updates/multiverse i386 Packages [8448 B] +2022-11-22T05:54:27.8266458Z Get:21 http://azure.archive.ubuntu.com/ubuntu focal-updates/multiverse Translation-en [7316 B] +2022-11-22T05:54:27.8273359Z Get:22 http://azure.archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 c-n-f Metadata [592 B] +2022-11-22T05:54:27.8430731Z Get:23 http://azure.archive.ubuntu.com/ubuntu focal-backports/main amd64 Packages [45.7 kB] +2022-11-22T05:54:27.8448045Z Get:24 http://azure.archive.ubuntu.com/ubuntu focal-backports/main i386 Packages [36.1 kB] +2022-11-22T05:54:27.8455777Z Get:25 http://azure.archive.ubuntu.com/ubuntu focal-backports/main amd64 c-n-f Metadata [1420 B] +2022-11-22T05:54:27.8474467Z Get:26 http://azure.archive.ubuntu.com/ubuntu focal-backports/universe amd64 Packages [24.0 kB] +2022-11-22T05:54:27.8487869Z Get:27 http://azure.archive.ubuntu.com/ubuntu focal-backports/universe i386 Packages [13.5 kB] +2022-11-22T05:54:27.8504387Z Get:28 http://azure.archive.ubuntu.com/ubuntu focal-backports/universe Translation-en [16.0 kB] +2022-11-22T05:54:27.8546555Z Get:29 http://azure.archive.ubuntu.com/ubuntu focal-backports/universe amd64 c-n-f Metadata [860 B] +2022-11-22T05:54:27.9493534Z Get:30 http://azure.archive.ubuntu.com/ubuntu focal-security/main i386 Packages [523 kB] +2022-11-22T05:54:27.9983671Z Get:31 http://azure.archive.ubuntu.com/ubuntu focal-security/main amd64 Packages [1860 kB] +2022-11-22T05:54:28.0182794Z Get:32 http://azure.archive.ubuntu.com/ubuntu focal-security/main Translation-en [305 kB] +2022-11-22T05:54:28.0222410Z Get:33 http://azure.archive.ubuntu.com/ubuntu focal-security/main amd64 c-n-f Metadata [11.2 kB] +2022-11-22T05:54:28.0233838Z Get:34 http://azure.archive.ubuntu.com/ubuntu focal-security/restricted i386 Packages [26.5 kB] +2022-11-22T05:54:28.0249393Z Get:35 http://azure.archive.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [1332 kB] +2022-11-22T05:54:28.0380967Z Get:36 http://azure.archive.ubuntu.com/ubuntu focal-security/restricted Translation-en [188 kB] +2022-11-22T05:54:28.0408349Z Get:37 http://azure.archive.ubuntu.com/ubuntu focal-security/restricted amd64 c-n-f Metadata [640 B] +2022-11-22T05:54:28.0444696Z Get:38 http://azure.archive.ubuntu.com/ubuntu focal-security/universe i386 Packages [572 kB] +2022-11-22T05:54:28.0502119Z Get:39 http://azure.archive.ubuntu.com/ubuntu focal-security/universe amd64 Packages [772 kB] +2022-11-22T05:54:28.0585971Z Get:40 http://azure.archive.ubuntu.com/ubuntu focal-security/universe Translation-en [148 kB] +2022-11-22T05:54:28.0636831Z Get:41 http://azure.archive.ubuntu.com/ubuntu focal-security/universe amd64 c-n-f Metadata [16.7 kB] +2022-11-22T05:54:28.0654711Z Get:42 http://azure.archive.ubuntu.com/ubuntu focal-security/multiverse amd64 Packages [22.2 kB] +2022-11-22T05:54:28.0669089Z Get:43 http://azure.archive.ubuntu.com/ubuntu focal-security/multiverse i386 Packages [7204 B] +2022-11-22T05:54:28.0683649Z Get:44 http://azure.archive.ubuntu.com/ubuntu focal-security/multiverse Translation-en [5400 B] +2022-11-22T05:54:28.1105332Z Get:45 http://azure.archive.ubuntu.com/ubuntu focal-security/multiverse amd64 c-n-f Metadata [516 B] +2022-11-22T05:54:28.1142074Z Get:46 https://packages.microsoft.com/ubuntu/20.04/prod focal/main armhf Packages [29.1 kB] +2022-11-22T05:54:28.1209782Z Get:47 https://packages.microsoft.com/ubuntu/20.04/prod focal/main amd64 Packages [212 kB] +2022-11-22T05:54:28.1419050Z Get:48 https://packages.microsoft.com/ubuntu/20.04/prod focal/main arm64 Packages [46.2 kB] +2022-11-22T05:54:28.3678597Z Get:49 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu focal/main i386 Packages [15.2 kB] +2022-11-22T05:54:38.6427399Z Fetched 13.6 MB in 2s (5935 kB/s) +2022-11-22T05:54:39.7808627Z Reading package lists... +2022-11-22T05:54:40.0112436Z Building dependency tree... +2022-11-22T05:54:40.0125566Z Reading state information... +2022-11-22T05:54:40.1053352Z 85 packages can be upgraded. Run 'apt list --upgradable' to see them. +2022-11-22T05:54:40.1155226Z +2022-11-22T05:54:40.1156119Z WARNING: apt does not have a stable CLI interface. Use with caution in scripts. +2022-11-22T05:54:40.1156379Z +2022-11-22T05:54:40.1697963Z Reading package lists... +2022-11-22T05:54:40.3785154Z Building dependency tree... +2022-11-22T05:54:40.3851341Z Reading state information... +2022-11-22T05:54:40.5578517Z The following additional packages will be installed: +2022-11-22T05:54:40.5579769Z gcc-11-base:i386 libc6:i386 libcrypt1:i386 libgcc-s1 libgcc-s1:i386 +2022-11-22T05:54:40.5582977Z libidn2-0:i386 libunistring2:i386 +2022-11-22T05:54:40.5590112Z Suggested packages: +2022-11-22T05:54:40.5590688Z glibc-doc:i386 locales:i386 +2022-11-22T05:54:40.6255739Z The following NEW packages will be installed: +2022-11-22T05:54:40.6261367Z gcc-11-base:i386 libc6:i386 libcrypt1:i386 libgcc-s1:i386 libidn2-0:i386 +2022-11-22T05:54:40.6266998Z libssl1.1:i386 libunistring2:i386 +2022-11-22T05:54:40.6273154Z The following packages will be upgraded: +2022-11-22T05:54:40.6279277Z libgcc-s1 +2022-11-22T05:54:40.6671578Z 1 upgraded, 7 newly installed, 0 to remove and 84 not upgraded. +2022-11-22T05:54:40.7568259Z Need to get 4528 kB of archives. +2022-11-22T05:54:40.7569656Z After this operation, 19.3 MB of additional disk space will be used. +2022-11-22T05:54:40.7571172Z Get:1 http://azure.archive.ubuntu.com/ubuntu focal/main i386 libcrypt1 i386 1:4.4.10-10ubuntu4 [90.9 kB] +2022-11-22T05:54:40.8228146Z Get:2 http://azure.archive.ubuntu.com/ubuntu focal-updates/main i386 libc6 i386 2.31-0ubuntu9.9 [2580 kB] +2022-11-22T05:54:40.8872245Z Get:3 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu focal/main i386 gcc-11-base i386 11.1.0-1ubuntu1~20.04 [19.0 kB] +2022-11-22T05:54:40.9288307Z Get:4 http://azure.archive.ubuntu.com/ubuntu focal/main i386 libunistring2 i386 0.9.10-2 [377 kB] +2022-11-22T05:54:40.9540992Z Get:5 http://azure.archive.ubuntu.com/ubuntu focal/main i386 libidn2-0 i386 2.2.0-2 [51.4 kB] +2022-11-22T05:54:40.9732163Z Get:6 http://azure.archive.ubuntu.com/ubuntu focal-updates/main i386 libssl1.1 i386 1.1.1f-1ubuntu2.16 [1318 kB] +2022-11-22T05:54:41.1393577Z Get:7 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu focal/main amd64 libgcc-s1 amd64 11.1.0-1ubuntu1~20.04 [42.1 kB] +2022-11-22T05:54:41.3919926Z Get:8 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu focal/main i386 libgcc-s1 i386 11.1.0-1ubuntu1~20.04 [50.0 kB] +2022-11-22T05:54:41.9330770Z Preconfiguring packages ... +2022-11-22T05:54:42.0223529Z Fetched 4528 kB in 1s (5289 kB/s) +2022-11-22T05:54:42.0557174Z Selecting previously unselected package gcc-11-base:i386. +2022-11-22T05:54:42.0854631Z (Reading database ... +2022-11-22T05:54:42.0856650Z (Reading database ... 5% +2022-11-22T05:54:42.0857135Z (Reading database ... 10% +2022-11-22T05:54:42.0857616Z (Reading database ... 15% +2022-11-22T05:54:42.0858054Z (Reading database ... 20% +2022-11-22T05:54:42.0858479Z (Reading database ... 25% +2022-11-22T05:54:42.0858956Z (Reading database ... 30% +2022-11-22T05:54:42.0859370Z (Reading database ... 35% +2022-11-22T05:54:42.0861988Z (Reading database ... 40% +2022-11-22T05:54:42.0862367Z (Reading database ... 45% +2022-11-22T05:54:42.0868447Z (Reading database ... 50% +2022-11-22T05:54:42.1200369Z (Reading database ... 55% +2022-11-22T05:54:42.1600440Z (Reading database ... 60% +2022-11-22T05:54:42.2011877Z (Reading database ... 65% +2022-11-22T05:54:42.2691087Z (Reading database ... 70% +2022-11-22T05:54:42.3704401Z (Reading database ... 75% +2022-11-22T05:54:42.4279826Z (Reading database ... 80% +2022-11-22T05:54:42.5026921Z (Reading database ... 85% +2022-11-22T05:54:42.6241054Z (Reading database ... 90% +2022-11-22T05:54:42.6851914Z (Reading database ... 95% +2022-11-22T05:54:42.6852580Z (Reading database ... 100% +2022-11-22T05:54:42.6853325Z (Reading database ... 242126 files and directories currently installed.) +2022-11-22T05:54:42.6940933Z Preparing to unpack .../0-gcc-11-base_11.1.0-1ubuntu1~20.04_i386.deb ... +2022-11-22T05:54:42.7004541Z Unpacking gcc-11-base:i386 (11.1.0-1ubuntu1~20.04) ... +2022-11-22T05:54:42.8039338Z Preparing to unpack .../1-libgcc-s1_11.1.0-1ubuntu1~20.04_amd64.deb ... +2022-11-22T05:54:42.8690745Z Unpacking libgcc-s1:amd64 (11.1.0-1ubuntu1~20.04) over (10.3.0-1ubuntu1~20.04) ... +2022-11-22T05:54:42.9070629Z Selecting previously unselected package libgcc-s1:i386. +2022-11-22T05:54:42.9298797Z Preparing to unpack .../2-libgcc-s1_11.1.0-1ubuntu1~20.04_i386.deb ... +2022-11-22T05:54:42.9315714Z Unpacking libgcc-s1:i386 (11.1.0-1ubuntu1~20.04) ... +2022-11-22T05:54:42.9648689Z Selecting previously unselected package libcrypt1:i386. +2022-11-22T05:54:42.9852885Z Preparing to unpack .../3-libcrypt1_1%3a4.4.10-10ubuntu4_i386.deb ... +2022-11-22T05:54:42.9856149Z Unpacking libcrypt1:i386 (1:4.4.10-10ubuntu4) ... +2022-11-22T05:54:43.0771392Z Selecting previously unselected package libc6:i386. +2022-11-22T05:54:43.1007419Z Preparing to unpack .../4-libc6_2.31-0ubuntu9.9_i386.deb ... +2022-11-22T05:54:43.2242069Z Unpacking libc6:i386 (2.31-0ubuntu9.9) ... +2022-11-22T05:54:43.5298133Z Replacing files in old package libc6-i386 (2.31-0ubuntu9.9) ... +2022-11-22T05:54:43.5688011Z Selecting previously unselected package libunistring2:i386. +2022-11-22T05:54:43.5908746Z Preparing to unpack .../5-libunistring2_0.9.10-2_i386.deb ... +2022-11-22T05:54:43.5926527Z Unpacking libunistring2:i386 (0.9.10-2) ... +2022-11-22T05:54:43.7011902Z Selecting previously unselected package libidn2-0:i386. +2022-11-22T05:54:43.7250698Z Preparing to unpack .../6-libidn2-0_2.2.0-2_i386.deb ... +2022-11-22T05:54:43.7260936Z Unpacking libidn2-0:i386 (2.2.0-2) ... +2022-11-22T05:54:43.8011769Z Selecting previously unselected package libssl1.1:i386. +2022-11-22T05:54:43.8231978Z Preparing to unpack .../7-libssl1.1_1.1.1f-1ubuntu2.16_i386.deb ... +2022-11-22T05:54:43.8249767Z Unpacking libssl1.1:i386 (1.1.1f-1ubuntu2.16) ... +2022-11-22T05:54:43.9966260Z Setting up gcc-11-base:i386 (11.1.0-1ubuntu1~20.04) ... +2022-11-22T05:54:44.0023499Z Setting up libgcc-s1:amd64 (11.1.0-1ubuntu1~20.04) ... +2022-11-22T05:54:44.0074843Z Setting up libgcc-s1:i386 (11.1.0-1ubuntu1~20.04) ... +2022-11-22T05:54:44.0147311Z Setting up libcrypt1:i386 (1:4.4.10-10ubuntu4) ... +2022-11-22T05:54:44.0207900Z Setting up libc6:i386 (2.31-0ubuntu9.9) ... +2022-11-22T05:54:44.2245544Z Setting up libssl1.1:i386 (1.1.1f-1ubuntu2.16) ... +2022-11-22T05:54:44.3413101Z Setting up libunistring2:i386 (0.9.10-2) ... +2022-11-22T05:54:44.3480700Z Setting up libidn2-0:i386 (2.2.0-2) ... +2022-11-22T05:54:44.3526066Z Processing triggers for libc-bin (2.31-0ubuntu9.9) ... +2022-11-22T05:54:47.9184710Z 2022-11-22 05:54:47 URL:https://objects.githubusercontent.com/github-production-release-asset-2e65be/127494547/92c6bbfc-0d51-48ea-b586-9cd01c071d25?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20221122%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221122T055447Z&X-Amz-Expires=300&X-Amz-Signature=a32f997c627b97bfd5d0adc58e9308d7ad18409d943ce16b7a351e9c3ed708ae&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=127494547&response-content-disposition=attachment%3B%20filename%3Dlibrust_g.so&response-content-type=application%2Foctet-stream [72809008/72809008] -> "/home/runner/.byond/bin/librust_g.so" [1] +2022-11-22T05:54:47.9588206Z linux-gate.so.1 (0xf7f26000) +2022-11-22T05:54:47.9589002Z libssl.so.1.1 => /lib/i386-linux-gnu/libssl.so.1.1 (0xf7758000) +2022-11-22T05:54:47.9589713Z libcrypto.so.1.1 => /lib/i386-linux-gnu/libcrypto.so.1.1 (0xf74a0000) +2022-11-22T05:54:47.9590427Z libz.so.1 => /lib32/libz.so.1 (0xf7482000) +2022-11-22T05:54:47.9591034Z libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7463000) +2022-11-22T05:54:47.9603888Z libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7440000) +2022-11-22T05:54:47.9604548Z libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf733b000) +2022-11-22T05:54:47.9605162Z libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7335000) +2022-11-22T05:54:47.9607450Z libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7146000) +2022-11-22T05:54:47.9608010Z /lib/ld-linux.so.2 (0xf7f28000) +2022-11-22T05:54:47.9651599Z ##[group]Run bash tools/ci/install_auxlua.sh +2022-11-22T05:54:47.9651916Z bash tools/ci/install_auxlua.sh +2022-11-22T05:54:47.9705175Z shell: /usr/bin/bash -e {0} +2022-11-22T05:54:47.9705424Z ##[endgroup] +2022-11-22T05:54:48.2148819Z 2022-11-22 05:54:48 URL:https://objects.githubusercontent.com/github-production-release-asset-2e65be/473295481/bb55dc2f-8248-4032-ad66-b80cb61a84f3?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20221122%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20221122T055448Z&X-Amz-Expires=300&X-Amz-Signature=a48846f5bb1d413d7d97402cc3c1d0f7f80f6a04583d898bce2ff6a0bdfd469a&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=473295481&response-content-disposition=attachment%3B%20filename%3Dlibauxlua.so&response-content-type=application%2Foctet-stream [5781068/5781068] -> "/home/runner/.byond/bin/libauxlua.so" [1] +2022-11-22T05:54:48.2431263Z linux-gate.so.1 (0xf7ee6000) +2022-11-22T05:54:48.2431996Z libstdc++.so.6 => /lib32/libstdc++.so.6 (0xf7adf000) +2022-11-22T05:54:48.2436279Z libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7ac0000) +2022-11-22T05:54:48.2436997Z libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7a9d000) +2022-11-22T05:54:48.2437658Z libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7998000) +2022-11-22T05:54:48.2439621Z libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7992000) +2022-11-22T05:54:48.2440822Z libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf77a3000) +2022-11-22T05:54:48.2441586Z /lib/ld-linux.so.2 (0xf7ee8000) +2022-11-22T05:54:48.2494794Z ##[group]Run bash tools/ci/install_byond.sh +2022-11-22T05:54:48.2495106Z bash tools/ci/install_byond.sh +2022-11-22T05:54:48.2495386Z source $HOME/BYOND/byond/bin/byondsetup +2022-11-22T05:54:48.2495706Z tools/build/build --ci dm -DCIBUILDING -DANSICOLORS +2022-11-22T05:54:48.2545744Z shell: /usr/bin/bash -e {0} +2022-11-22T05:54:48.2545971Z ##[endgroup] +2022-11-22T05:54:48.2653351Z Setting up BYOND. +2022-11-22T05:54:48.2793431Z % Total % Received % Xferd Average Speed Time Time Time Current +2022-11-22T05:54:48.2797236Z Dload Upload Total Spent Left Speed +2022-11-22T05:54:48.2797554Z +2022-11-22T05:54:48.3941092Z 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 +2022-11-22T05:54:48.3943148Z 100 4021k 100 4021k 0 0 34.1M 0 --:--:-- --:--:-- --:--:-- 34.1M +2022-11-22T05:54:48.3983451Z Archive: byond.zip +2022-11-22T05:54:48.3983864Z creating: byond/ +2022-11-22T05:54:48.3984237Z creating: byond/key/ +2022-11-22T05:54:48.3984563Z creating: byond/web/ +2022-11-22T05:54:48.3985833Z inflating: byond/web/child.dms +2022-11-22T05:54:48.3986928Z inflating: byond/web/button.dms +2022-11-22T05:54:48.3988496Z inflating: byond/web/input.dms +2022-11-22T05:54:48.3989251Z inflating: byond/web/text.dms +2022-11-22T05:54:48.4097340Z inflating: byond/web/webclient.dart.js +2022-11-22T05:54:48.4098200Z inflating: byond/web/verbmenu.dms +2022-11-22T05:54:48.4099001Z inflating: byond/web/defaultSkin.dms +2022-11-22T05:54:48.4100540Z inflating: byond/web/hotbar.dms +2022-11-22T05:54:48.4101414Z inflating: byond/web/label.dms +2022-11-22T05:54:48.4102162Z inflating: byond/web/alert.dms +2022-11-22T05:54:48.4102953Z inflating: byond/web/message.dms +2022-11-22T05:54:48.4103516Z inflating: byond/web/drag.png +2022-11-22T05:54:48.4104351Z inflating: byond/web/map.dms +2022-11-22T05:54:48.4105580Z inflating: byond/web/splashlogo.png +2022-11-22T05:54:48.4106166Z inflating: byond/web/drop.png +2022-11-22T05:54:48.4211884Z inflating: byond/web/ext.js +2022-11-22T05:54:48.4212354Z inflating: byond/web/file.dms +2022-11-22T05:54:48.4213426Z inflating: byond/web/grid.dms +2022-11-22T05:54:48.4214990Z inflating: byond/web/bar.dms +2022-11-22T05:54:48.4218521Z inflating: byond/web/dpad.dms +2022-11-22T05:54:48.4218793Z inflating: byond/web/output.dms +2022-11-22T05:54:48.4220119Z inflating: byond/web/tab.dms +2022-11-22T05:54:48.4221829Z inflating: byond/web/info.dms +2022-11-22T05:54:48.4223462Z inflating: byond/web/color.dms +2022-11-22T05:54:48.4224634Z inflating: byond/web/gamepad.dms +2022-11-22T05:54:48.4226063Z inflating: byond/web/browser.dms +2022-11-22T05:54:48.4226672Z inflating: byond/web/status.dms +2022-11-22T05:54:48.4227640Z inflating: byond/web/any.dms +2022-11-22T05:54:48.4228616Z inflating: byond/web/pane.dms +2022-11-22T05:54:48.4230037Z inflating: byond/web/pop.dms +2022-11-22T05:54:48.4231031Z inflating: byond/license.txt +2022-11-22T05:54:48.4231783Z inflating: byond/legal.txt +2022-11-22T05:54:48.4232778Z inflating: byond/Makefile +2022-11-22T05:54:48.4233180Z creating: byond/man/ +2022-11-22T05:54:48.4233524Z creating: byond/man/man6/ +2022-11-22T05:54:48.4234935Z inflating: byond/man/man6/DreamDaemon.6 +2022-11-22T05:54:48.4235672Z inflating: byond/man/man6/DreamMaker.6 +2022-11-22T05:54:48.4235940Z creating: byond/lib/ +2022-11-22T05:54:48.4236255Z creating: byond/host/ +2022-11-22T05:54:48.4237956Z inflating: byond/host/readme.html +2022-11-22T05:54:48.4238971Z inflating: byond/host/readme-unix.txt +2022-11-22T05:54:48.4239365Z creating: byond/host/home/ +2022-11-22T05:54:48.4239866Z creating: byond/host/home/root/ +2022-11-22T05:54:48.4240241Z creating: byond/host/home/root/byond/ +2022-11-22T05:54:48.4240880Z creating: byond/host/home/root/byond/tools/ +2022-11-22T05:54:48.4241382Z creating: byond/host/home/root/byond/tools/root/ +2022-11-22T05:54:48.4247309Z inflating: byond/host/home/root/byond/tools/root/root.dmb +2022-11-22T05:54:48.4247605Z creating: byond/host/shared/ +2022-11-22T05:54:48.4247857Z creating: byond/host/shared/byond/ +2022-11-22T05:54:48.4248438Z creating: byond/host/shared/byond/tools/ +2022-11-22T05:54:48.4248723Z creating: byond/host/shared/byond/tools/ftp/ +2022-11-22T05:54:48.4251228Z inflating: byond/host/shared/byond/tools/ftp/ftp.dmb +2022-11-22T05:54:48.4251558Z creating: byond/host/shared/byond/tools/admin/ +2022-11-22T05:54:48.4257787Z inflating: byond/host/shared/byond/tools/admin/admin.dmb +2022-11-22T05:54:48.4258223Z creating: byond/host/shared-web/ +2022-11-22T05:54:48.4258547Z creating: byond/host/shared-web/web/ +2022-11-22T05:54:48.4259004Z creating: byond/host/shared-web/web/tools/ +2022-11-22T05:54:48.4259439Z creating: byond/host/shared-web/web/tools/admin/ +2022-11-22T05:54:48.4265239Z inflating: byond/host/shared-web/web/tools/admin/index.dmb +2022-11-22T05:54:48.4272736Z inflating: byond/host/host.dmb +2022-11-22T05:54:48.4273011Z inflating: byond/host/host.start +2022-11-22T05:54:48.4273659Z inflating: byond/host/hostconf.orig +2022-11-22T05:54:48.4274617Z inflating: byond/host/hostconf.txt +2022-11-22T05:54:48.4275402Z inflating: byond/readme.txt +2022-11-22T05:54:48.4275717Z creating: byond/bin/ +2022-11-22T05:54:48.4276299Z inflating: byond/bin/byondexec +2022-11-22T05:54:48.4278446Z inflating: byond/bin/DreamDownload +2022-11-22T05:54:48.4922483Z inflating: byond/bin/libbyond.so +2022-11-22T05:54:48.5068123Z inflating: byond/bin/libext.so +2022-11-22T05:54:48.5070046Z inflating: byond/bin/DreamDaemon +2022-11-22T05:54:48.5074232Z inflating: byond/bin/DreamMaker +2022-11-22T05:54:48.5074521Z creating: byond/cfg/ +2022-11-22T05:54:48.5074946Z inflating: byond/cfg/release.txt +2022-11-22T05:54:48.5230052Z *************************** +2022-11-22T05:54:48.5237614Z Now run the following command: +2022-11-22T05:54:48.5248736Z +2022-11-22T05:54:48.5259947Z source /home/runner/BYOND/byond/bin/byondsetup +2022-11-22T05:54:48.5270619Z +2022-11-22T05:54:48.5278255Z If it generates errors, your shell is not compatible with 'sh', so you will +2022-11-22T05:54:48.5285604Z have to edit byondsetup and make it work with your shell. If the script works, you should be able to run DreamDaemon. +2022-11-22T05:54:48.5297083Z +2022-11-22T05:54:48.5304283Z IMPORTANT: once you have the script working, you must add the above line +2022-11-22T05:54:48.5311617Z to your startup script. The name of your startup script depends on the +2022-11-22T05:54:48.5318799Z shell you use. Typical ones are .profile or .bash_profile. +2022-11-22T05:54:48.5329607Z +2022-11-22T05:54:48.5335539Z Once everything is working, you can find out more about the software +2022-11-22T05:54:48.5340846Z by doing 'man DreamDaemon'. A host server has also been included +2022-11-22T05:54:48.5345719Z so edit host/hostconf.txt and boot up your world server! +2022-11-22T05:54:48.5350723Z *************************** +2022-11-22T05:54:48.6078889Z Using system-wide Node v16.18.0 +2022-11-22T05:54:48.7660550Z :: Juke Build version 0.8.1 +2022-11-22T05:54:49.0224910Z => Starting 'dm' +2022-11-22T05:54:49.0233013Z :: Using defines: CBT, CIBUILDING, ANSICOLORS +2022-11-22T05:54:49.2134158Z DM compiler version 514.1588 +2022-11-22T05:54:49.2134485Z loading tgstation.m.dme +2022-11-22T05:54:57.6255000Z loading interface/skin.dmf +2022-11-22T05:55:47.8603172Z loading map_files/generic/CentCom.dmm +2022-11-22T05:55:48.8009123Z saving tgstation.m.dmb (DEBUG mode) +2022-11-22T05:55:49.8362884Z tgstation.m.dmb - 0 errors, 0 warnings (11/22/22 5:55 am) +2022-11-22T05:55:49.8414352Z Total time: 1:00 +2022-11-22T05:55:50.7626726Z => Finished 'dm' in 61.74s +2022-11-22T05:55:50.7630781Z => Done in 61.996s +2022-11-22T05:55:50.7723825Z ##[group]Run source $HOME/BYOND/byond/bin/byondsetup +2022-11-22T05:55:50.7724384Z source $HOME/BYOND/byond/bin/byondsetup +2022-11-22T05:55:50.7725050Z bash tools/ci/run_server.sh metastation +2022-11-22T05:55:50.7801355Z shell: /usr/bin/bash -e {0} +2022-11-22T05:55:50.7801587Z ##[endgroup] +2022-11-22T05:55:50.7892704Z Testing metastation +2022-11-22T05:55:51.0035586Z cp: cannot stat 'tgui/packages/tgfont/dist/*': No such file or directory +2022-11-22T05:55:51.0189960Z Tue Nov 22 05:55:51 2022 +2022-11-22T05:55:51.0190868Z World opened on network port 58409. +2022-11-22T05:55:51.0191359Z Welcome BYOND! (5.0 Public Version 514.1588) +2022-11-22T05:56:10.1077799Z 868 global variables +2022-11-22T05:56:10.7927422Z World loaded at 05:56:10! +2022-11-22T05:56:10.8379706Z Running /tg/ revision: +2022-11-22T05:56:10.8380020Z No commit information +2022-11-22T05:56:10.8454815Z Loading config file config.txt... +2022-11-22T05:56:10.8458259Z Loading config file maps.txt... +2022-11-22T05:56:10.8479868Z Unable to locate admins backup file. +2022-11-22T05:56:11.8631460Z Initialized Title Screen subsystem within 0 seconds! +2022-11-22T05:56:11.8631891Z Initialized Server Tasks subsystem within 0 seconds! +2022-11-22T05:56:11.8632565Z Initialized Input subsystem within 0 seconds! +2022-11-22T05:56:11.8690820Z Initialized Profiler subsystem within 0 seconds! +2022-11-22T05:56:11.8691168Z Initialized Database subsystem within 0 seconds! +2022-11-22T05:56:11.8691814Z Initialized Blackbox subsystem within 0 seconds! +2022-11-22T05:56:11.8692797Z Initialized Sounds subsystem within 0 seconds! +2022-11-22T05:56:11.8828615Z Initialized Instruments subsystem within 0.01 seconds! +2022-11-22T05:56:12.2167428Z Initialized Greyscale subsystem within 0.33 seconds! +2022-11-22T05:56:12.2167879Z Initialized Vis contents overlays subsystem within 0 seconds! +2022-11-22T05:56:12.2168267Z Initialized Security Level subsystem within 0 seconds! +2022-11-22T05:56:12.2189261Z Initialized Station subsystem within 0 seconds! +2022-11-22T05:56:12.2202098Z Initialized Quirks subsystem within 0 seconds! +2022-11-22T05:56:12.2320897Z Initialized Reagents subsystem within 0.01 seconds! +2022-11-22T05:56:12.2325541Z Initialized Events subsystem within 0 seconds! +2022-11-22T05:56:12.2377703Z Initialized IDs and Access subsystem within 0.01 seconds! +2022-11-22T05:56:12.2378499Z Initialized Jobs subsystem within 0 seconds! +2022-11-22T05:56:12.2379505Z Initialized AI movement subsystem within 0 seconds! +2022-11-22T05:56:12.2399099Z Initialized Ticker subsystem within 0 seconds! +2022-11-22T05:56:12.2401506Z Initialized AI Controller Ticker subsystem within 0 seconds! +2022-11-22T05:56:12.2402756Z Initialized AI Behavior Ticker subsystem within 0 seconds! +2022-11-22T05:56:12.2534901Z Initialized Trading Card Game subsystem within 0.01 seconds! +2022-11-22T05:56:12.2695227Z Loading MetaStation... +2022-11-22T05:56:13.6007721Z Loaded Station in 1.4s! +2022-11-22T05:56:14.3263930Z Loaded Lavaland in 0.6s! +2022-11-22T05:56:15.0849457Z Ruin loader finished with 0 left to spend. +2022-11-22T05:56:15.1862835Z Ruin loader finished with 0 left to spend. +2022-11-22T05:56:15.4246125Z Cave Generator finished in 0.3s! +2022-11-22T05:56:15.4560459Z Cave Generator finished in 0s! +2022-11-22T05:56:16.0885613Z Initialized Mapping subsystem within 3.83 seconds! +2022-11-22T05:56:38.2726128Z Initialized Early Assets subsystem within 22.18 seconds! +2022-11-22T05:56:38.3071167Z Initialized Research subsystem within 0.03 seconds! +2022-11-22T05:56:38.3073379Z Initialized Time Tracking subsystem within 0 seconds! +2022-11-22T05:56:38.3169516Z Initialized Networks subsystem within 0.01 seconds! +2022-11-22T05:56:38.3386821Z Initialized Spatial Grid subsystem within 0.02 seconds! +2022-11-22T05:56:38.3387426Z Initialized Economy subsystem within 0 seconds! +2022-11-22T05:56:38.3396301Z Initialized Restaurant subsystem within 0 seconds! +2022-11-22T05:56:40.9885406Z The BYOND hub reports that port 58409 is not reachable. +2022-11-22T05:57:05.1172204Z ## NOTICE: morgue_cadaver_disable_nonhumans. There are no valid roundstart nonhuman races enabled. Defaulting to humans only! +2022-11-22T05:57:06.7858739Z Initialized Atoms subsystem within 28.45 seconds! +2022-11-22T05:57:06.7975404Z Initialized Language subsystem within 0.01 seconds! +2022-11-22T05:57:06.8745273Z Initialized Machines subsystem within 0.08 seconds! +2022-11-22T05:57:06.8746886Z Initialized Skills subsystem within 0 seconds! +2022-11-22T05:57:06.8748827Z Initialized Addiction subsystem within 0 seconds! +2022-11-22T05:57:06.8758560Z Initialized Blackmarket subsystem within 0 seconds! +2022-11-22T05:57:06.8761410Z Initialized Disease subsystem within 0 seconds! +2022-11-22T05:57:06.8761834Z Initialized Fluid subsystem within 0 seconds! +2022-11-22T05:57:06.8762760Z Initialized Smoke subsystem within 0 seconds! +2022-11-22T05:57:06.8763545Z Initialized Foam subsystem within 0 seconds! +2022-11-22T05:57:06.8764349Z Initialized Lag Switch subsystem within 0 seconds! +2022-11-22T05:57:06.8940474Z Initialized Library Loading subsystem within 0.02 seconds! +2022-11-22T05:57:07.2408456Z Initialized Lua Scripting subsystem within 0.35 seconds! +2022-11-22T05:57:07.2409327Z Initialized Night Shift subsystem within 0 seconds! +2022-11-22T05:57:07.2410361Z Initialized Sun subsystem within 0 seconds! +2022-11-22T05:57:07.2435844Z Initialized Traitor subsystem within 0 seconds! +2022-11-22T05:57:07.2632292Z Initialized Wardrobe subsystem within 0.02 seconds! +2022-11-22T05:57:07.2633023Z Initialized Weather subsystem within 0 seconds! +2022-11-22T05:57:07.2633877Z Initialized Wiremod Composite Templates subsystem within 0 seconds! +2022-11-22T05:57:10.9882289Z Initialized Atmospherics subsystem within 3.72 seconds! +2022-11-22T05:57:10.9894873Z Initialized Persistence subsystem within 0 seconds! +2022-11-22T05:57:10.9899148Z Initialized Persistent Paintings subsystem within 0 seconds! +2022-11-22T05:57:10.9903351Z Initialized Vote subsystem within 0 seconds! +2022-11-22T05:57:22.4988698Z Initialized Assets subsystem within 11.51 seconds! +2022-11-22T05:57:24.3487800Z Initialized Icon Smoothing subsystem within 1.85 seconds! +2022-11-22T05:57:24.3495654Z Initialized XKeyScore subsystem within 0 seconds! +2022-11-22T05:57:24.3511340Z Initialized PRISM subsystem within 0 seconds! +2022-11-22T05:57:29.2181327Z Initialized Lighting subsystem within 4.87 seconds! +2022-11-22T05:57:31.3719906Z Initialized Shuttle subsystem within 2.15 seconds! +2022-11-22T05:57:31.3720568Z Initialized Pathfinder subsystem within 0 seconds! +2022-11-22T05:57:31.3728738Z Initialized Ban Cache subsystem within 0 seconds! +2022-11-22T05:57:31.3729264Z Initialized Init Profiler subsystem within 0 seconds! +2022-11-22T05:57:31.3729723Z Initialized Chat subsystem within 0 seconds! +2022-11-22T05:57:31.3730281Z Initializations complete within 79.5 seconds! +2022-11-22T05:57:31.3830937Z Game start took 0s +2022-11-22T05:57:42.0634964Z ##[group]/datum/unit_test/log_mapping +2022-11-22T05:57:42.0635672Z +2022-11-22T05:57:42.0636846Z PASS /datum/unit_test/log_mapping 0s +2022-11-22T05:57:42.0637417Z ##[endgroup] +2022-11-22T05:57:42.1282731Z ##[group]/datum/unit_test/ablative_hood_hud +2022-11-22T05:57:42.1532576Z +2022-11-22T05:57:42.1533762Z PASS /datum/unit_test/ablative_hood_hud 0s +2022-11-22T05:57:42.1534764Z ##[endgroup] +2022-11-22T05:57:42.1781522Z ##[group]/datum/unit_test/ablative_hood_hud_with_helmet +2022-11-22T05:57:42.2004168Z +2022-11-22T05:57:42.2005116Z PASS /datum/unit_test/ablative_hood_hud_with_helmet 0.1s +2022-11-22T05:57:42.2011130Z ##[endgroup] +2022-11-22T05:57:42.2281431Z ##[group]/datum/unit_test/achievements +2022-11-22T05:57:42.2391582Z +2022-11-22T05:57:42.2392386Z PASS /datum/unit_test/achievements 0s +2022-11-22T05:57:42.2393271Z ##[endgroup] +2022-11-22T05:57:42.2781664Z ##[group]/datum/unit_test/anchored_mobs +2022-11-22T05:57:42.2783035Z +2022-11-22T05:57:42.2783769Z PASS /datum/unit_test/anchored_mobs 0s +2022-11-22T05:57:42.2784572Z ##[endgroup] +2022-11-22T05:57:42.2936672Z ##[group]/datum/unit_test/anonymous_themes +2022-11-22T05:57:42.4235721Z +2022-11-22T05:57:42.4237433Z PASS /datum/unit_test/anonymous_themes 0.2s +2022-11-22T05:57:42.4238500Z ##[endgroup] +2022-11-22T05:57:42.6392895Z ##[group]/datum/unit_test/autowiki +2022-11-22T05:57:43.8278371Z +2022-11-22T05:57:43.8280173Z PASS /datum/unit_test/autowiki 1.2s +2022-11-22T05:57:43.8281239Z ##[endgroup] +2022-11-22T05:57:44.9926595Z ##[group]/datum/unit_test/autowiki_include_template +2022-11-22T05:57:44.9929132Z +2022-11-22T05:57:44.9931384Z PASS /datum/unit_test/autowiki_include_template 0s +2022-11-22T05:57:44.9933262Z ##[endgroup] +2022-11-22T05:57:45.0087357Z ##[group]/datum/unit_test/barsigns_icon +2022-11-22T05:57:45.0294182Z +2022-11-22T05:57:45.0295837Z PASS /datum/unit_test/barsigns_icon 0s +2022-11-22T05:57:45.0298739Z ##[endgroup] +2022-11-22T05:57:45.0940696Z ##[group]/datum/unit_test/barsigns_name +2022-11-22T05:57:45.0941383Z +2022-11-22T05:57:45.0944198Z PASS /datum/unit_test/barsigns_name 0s +2022-11-22T05:57:45.0946955Z ##[endgroup] +2022-11-22T05:57:45.1096461Z ##[group]/datum/unit_test/bespoke_id +2022-11-22T05:57:45.1096937Z +2022-11-22T05:57:45.1099174Z PASS /datum/unit_test/bespoke_id 0s +2022-11-22T05:57:45.1100742Z ##[endgroup] +2022-11-22T05:57:45.1439539Z ##[group]/datum/unit_test/binary_insert +2022-11-22T05:57:45.1442012Z +2022-11-22T05:57:45.1443259Z PASS /datum/unit_test/binary_insert 0s +2022-11-22T05:57:45.1444013Z ##[endgroup] +2022-11-22T05:57:45.1594465Z ##[group]/datum/unit_test/bloody_footprints +2022-11-22T05:57:45.1861559Z +2022-11-22T05:57:45.1862509Z PASS /datum/unit_test/bloody_footprints 0s +2022-11-22T05:57:45.1863678Z ##[endgroup] +2022-11-22T05:57:45.2757269Z ##[group]/datum/unit_test/breath_sanity +2022-11-22T05:57:45.3154911Z +2022-11-22T05:57:45.3155918Z PASS /datum/unit_test/breath_sanity 0.1s +2022-11-22T05:57:45.3157085Z ##[endgroup] +2022-11-22T05:57:45.3851583Z ##[group]/datum/unit_test/breath_sanity_plasmamen +2022-11-22T05:57:45.4259844Z +2022-11-22T05:57:45.4260721Z PASS /datum/unit_test/breath_sanity_plasmamen 0.1s +2022-11-22T05:57:45.4261835Z ##[endgroup] +2022-11-22T05:57:45.4970449Z ##[group]/datum/unit_test/breath_sanity_ashwalker +2022-11-22T05:57:45.5458718Z +2022-11-22T05:57:45.5459726Z PASS /datum/unit_test/breath_sanity_ashwalker 0.1s +2022-11-22T05:57:45.5460898Z ##[endgroup] +2022-11-22T05:57:45.6672536Z ##[group]/datum/unit_test/cable_powernets +2022-11-22T05:57:45.6673181Z +2022-11-22T05:57:45.6674204Z PASS /datum/unit_test/cable_powernets 0s +2022-11-22T05:57:45.6674983Z ##[endgroup] +2022-11-22T05:57:45.6813975Z ##[group]/datum/unit_test/card_mismatch +2022-11-22T05:57:45.6847490Z +2022-11-22T05:57:45.6848203Z PASS /datum/unit_test/card_mismatch 0s +2022-11-22T05:57:45.6849278Z ##[endgroup] +2022-11-22T05:57:45.7667452Z ##[group]/datum/unit_test/chain_pull_through_space +2022-11-22T05:57:45.7691182Z +2022-11-22T05:57:45.7692013Z PASS /datum/unit_test/chain_pull_through_space 0s +2022-11-22T05:57:45.7693138Z ##[endgroup] +2022-11-22T05:57:45.9995429Z ##[group]/datum/unit_test/chat_filter_sanity +2022-11-22T05:57:46.0000038Z +2022-11-22T05:57:46.0000532Z PASS /datum/unit_test/chat_filter_sanity 0s +2022-11-22T05:57:46.0001077Z ##[endgroup] +2022-11-22T05:57:46.0139755Z ##[group]/datum/unit_test/circuit_component_category +2022-11-22T05:57:46.0139979Z +2022-11-22T05:57:46.0140376Z PASS /datum/unit_test/circuit_component_category 0s +2022-11-22T05:57:46.0140890Z ##[endgroup] +2022-11-22T05:57:46.0280886Z ##[group]/datum/unit_test/closets +2022-11-22T05:57:47.4931763Z +2022-11-22T05:57:47.4932352Z PASS /datum/unit_test/closets 1.4s +2022-11-22T05:57:47.4932981Z ##[endgroup] +2022-11-22T05:57:50.1800201Z ##[group]/datum/unit_test/harm_punch +2022-11-22T05:57:50.2237522Z +2022-11-22T05:57:50.2238465Z PASS /datum/unit_test/harm_punch 0.1s +2022-11-22T05:57:50.2239270Z ##[endgroup] +2022-11-22T05:57:50.2470659Z ##[group]/datum/unit_test/harm_melee +2022-11-22T05:57:50.2990417Z +2022-11-22T05:57:50.2991838Z PASS /datum/unit_test/harm_melee 0s +2022-11-22T05:57:50.2994899Z ##[endgroup] +2022-11-22T05:57:50.3439298Z ##[group]/datum/unit_test/harm_different_damage +2022-11-22T05:57:50.3918437Z +2022-11-22T05:57:50.3919330Z PASS /datum/unit_test/harm_different_damage 0s +2022-11-22T05:57:50.4008259Z ##[endgroup] +2022-11-22T05:57:50.4167399Z ##[group]/datum/unit_test/attack_chain +2022-11-22T05:57:50.4632392Z +2022-11-22T05:57:50.4633058Z PASS /datum/unit_test/attack_chain 0s +2022-11-22T05:57:50.4633745Z ##[endgroup] +2022-11-22T05:57:50.4904110Z ##[group]/datum/unit_test/disarm +2022-11-22T05:57:50.5347143Z +2022-11-22T05:57:50.5347804Z PASS /datum/unit_test/disarm 0.1s +2022-11-22T05:57:50.5348427Z ##[endgroup] +2022-11-22T05:57:50.5595669Z ##[group]/datum/unit_test/component_duping +2022-11-22T05:57:50.5595898Z +2022-11-22T05:57:50.5596342Z PASS /datum/unit_test/component_duping 0s +2022-11-22T05:57:50.5596852Z ##[endgroup] +2022-11-22T05:57:50.5739602Z ##[group]/datum/unit_test/confusion_symptom +2022-11-22T05:57:50.5945849Z +2022-11-22T05:57:50.5946402Z PASS /datum/unit_test/confusion_symptom 0s +2022-11-22T05:57:50.5947016Z ##[endgroup] +2022-11-22T05:57:50.6143700Z ##[group]/datum/unit_test/connect_loc_basic +2022-11-22T05:57:50.6143916Z +2022-11-22T05:57:50.6144283Z PASS /datum/unit_test/connect_loc_basic 0s +2022-11-22T05:57:50.6144785Z ##[endgroup] +2022-11-22T05:57:50.6284913Z ##[group]/datum/unit_test/connect_loc_change_turf +2022-11-22T05:57:50.6292634Z +2022-11-22T05:57:50.6293007Z PASS /datum/unit_test/connect_loc_change_turf 0s +2022-11-22T05:57:50.6293533Z ##[endgroup] +2022-11-22T05:57:50.6434958Z ##[group]/datum/unit_test/connect_loc_multiple_on_turf +2022-11-22T05:57:50.6440347Z +2022-11-22T05:57:50.6440682Z PASS /datum/unit_test/connect_loc_multiple_on_turf 0s +2022-11-22T05:57:50.6441134Z ##[endgroup] +2022-11-22T05:57:50.6579913Z ##[group]/datum/unit_test/reagent_container_sanity +2022-11-22T05:57:50.7818215Z +2022-11-22T05:57:50.7818993Z PASS /datum/unit_test/reagent_container_sanity 0.1s +2022-11-22T05:57:50.7819687Z ##[endgroup] +2022-11-22T05:57:51.0092450Z ##[group]/datum/unit_test/crayon_naming +2022-11-22T05:57:51.0150514Z +2022-11-22T05:57:51.0151055Z PASS /datum/unit_test/crayon_naming 0s +2022-11-22T05:57:51.0151629Z ##[endgroup] +2022-11-22T05:57:51.0291644Z ##[group]/datum/unit_test/dcs_get_id_from_arguments +2022-11-22T05:57:51.0295148Z +2022-11-22T05:57:51.0295468Z PASS /datum/unit_test/dcs_get_id_from_arguments 0s +2022-11-22T05:57:51.0295906Z ##[endgroup] +2022-11-22T05:57:51.0436006Z ##[group]/datum/unit_test/designs +2022-11-22T05:57:51.0482298Z +2022-11-22T05:57:51.0482663Z PASS /datum/unit_test/designs 0s +2022-11-22T05:57:51.0483175Z ##[endgroup] +2022-11-22T05:57:51.0620982Z ##[group]/datum/unit_test/dummy_spawn_species +2022-11-22T05:57:51.4128167Z +2022-11-22T05:57:51.4128925Z PASS /datum/unit_test/dummy_spawn_species 0.4s +2022-11-22T05:57:51.4129626Z ##[endgroup] +2022-11-22T05:57:51.7309194Z ##[group]/datum/unit_test/dummy_spawn_outfit +2022-11-22T05:57:51.7520497Z Job type /datum/job/ai could not be retrieved from SSjob +2022-11-22T05:57:52.0337175Z +2022-11-22T05:57:52.0338303Z PASS /datum/unit_test/dummy_spawn_outfit 0.3s +2022-11-22T05:57:52.0339259Z ##[endgroup] +2022-11-22T05:57:52.3010961Z ##[group]/datum/unit_test/dynamic_roundstart_ruleset_sanity +2022-11-22T05:57:52.3011803Z +2022-11-22T05:57:52.3012594Z PASS /datum/unit_test/dynamic_roundstart_ruleset_sanity 0s +2022-11-22T05:57:52.3013299Z ##[endgroup] +2022-11-22T05:57:52.3164698Z ##[group]/datum/unit_test/dynamic_unique_antag_flags +2022-11-22T05:57:52.3165134Z +2022-11-22T05:57:52.3165719Z PASS /datum/unit_test/dynamic_unique_antag_flags 0s +2022-11-22T05:57:52.3166684Z ##[endgroup] +2022-11-22T05:57:52.3307956Z ##[group]/datum/unit_test/egg_glands +2022-11-22T05:57:52.3727674Z +2022-11-22T05:57:52.3728398Z PASS /datum/unit_test/egg_glands 0s +2022-11-22T05:57:52.3729449Z ##[endgroup] +2022-11-22T05:57:52.3876533Z ##[group]/datum/unit_test/emoting +2022-11-22T05:57:52.4097216Z +2022-11-22T05:57:52.4097697Z PASS /datum/unit_test/emoting 0.1s +2022-11-22T05:57:52.4098176Z ##[endgroup] +2022-11-22T05:57:52.7391670Z ##[group]/datum/unit_test/food_edibility_check +2022-11-22T05:57:53.8611412Z +2022-11-22T05:57:53.8612472Z PASS /datum/unit_test/food_edibility_check 1.1s +2022-11-22T05:57:53.8613293Z ##[endgroup] +2022-11-22T05:57:54.9307669Z ##[group]/datum/unit_test/atmospheric_gas_transfer +2022-11-22T05:57:54.9314807Z +2022-11-22T05:57:54.9315632Z PASS /datum/unit_test/atmospheric_gas_transfer 0s +2022-11-22T05:57:54.9316476Z ##[endgroup] +2022-11-22T05:57:54.9470739Z ##[group]/datum/unit_test/get_turf_pixel +2022-11-22T05:57:54.9485851Z +2022-11-22T05:57:54.9486504Z PASS /datum/unit_test/get_turf_pixel 0s +2022-11-22T05:57:54.9487302Z ##[endgroup] +2022-11-22T05:57:54.9638937Z ##[group]/datum/unit_test/greyscale_item_icon_states +2022-11-22T05:57:54.9698181Z +2022-11-22T05:57:54.9698921Z PASS /datum/unit_test/greyscale_item_icon_states 0s +2022-11-22T05:57:54.9699816Z ##[endgroup] +2022-11-22T05:57:54.9841288Z ##[group]/datum/unit_test/greyscale_color_count +2022-11-22T05:57:54.9971884Z +2022-11-22T05:57:54.9972668Z PASS /datum/unit_test/greyscale_color_count 0s +2022-11-22T05:57:54.9973372Z ##[endgroup] +2022-11-22T05:57:55.0566622Z ##[group]/datum/unit_test/hallucination_icons +2022-11-22T05:57:55.2636405Z +2022-11-22T05:57:55.2637180Z PASS /datum/unit_test/hallucination_icons 0.2s +2022-11-22T05:57:55.2637869Z ##[endgroup] +2022-11-22T05:57:55.4281623Z ##[group]/datum/unit_test/heretic_knowledge +2022-11-22T05:57:55.4312752Z +2022-11-22T05:57:55.4313343Z PASS /datum/unit_test/heretic_knowledge 0s +2022-11-22T05:57:55.4313933Z ##[endgroup] +2022-11-22T05:57:55.4464795Z ##[group]/datum/unit_test/heretic_main_paths +2022-11-22T05:57:55.4465364Z +2022-11-22T05:57:55.4465818Z PASS /datum/unit_test/heretic_main_paths 0s +2022-11-22T05:57:55.4466260Z ##[endgroup] +2022-11-22T05:57:55.4606916Z ##[group]/datum/unit_test/heretic_rituals +2022-11-22T05:57:55.5247753Z +2022-11-22T05:57:55.5248512Z PASS /datum/unit_test/heretic_rituals 0.1s +2022-11-22T05:57:55.5249184Z ##[endgroup] +2022-11-22T05:57:55.5940368Z ##[group]/datum/unit_test/hanukkah_2123 +2022-11-22T05:57:55.5940592Z +2022-11-22T05:57:55.5941492Z PASS /datum/unit_test/hanukkah_2123 0s +2022-11-22T05:57:55.5942009Z ##[endgroup] +2022-11-22T05:57:55.6091512Z ##[group]/datum/unit_test/ramadan_2165 +2022-11-22T05:57:55.6091717Z +2022-11-22T05:57:55.6092048Z PASS /datum/unit_test/ramadan_2165 0s +2022-11-22T05:57:55.6092523Z ##[endgroup] +2022-11-22T05:57:55.6442352Z ##[group]/datum/unit_test/thanksgiving_2020 +2022-11-22T05:57:55.6442890Z +2022-11-22T05:57:55.6443757Z PASS /datum/unit_test/thanksgiving_2020 0s +2022-11-22T05:57:55.6444979Z ##[endgroup] +2022-11-22T05:57:55.6598675Z ##[group]/datum/unit_test/mother_3683 +2022-11-22T05:57:55.6598889Z +2022-11-22T05:57:55.6599297Z PASS /datum/unit_test/mother_3683 0s +2022-11-22T05:57:55.6599751Z ##[endgroup] +2022-11-22T05:57:55.6738486Z ##[group]/datum/unit_test/hello_2020 +2022-11-22T05:57:55.6738688Z +2022-11-22T05:57:55.6739014Z PASS /datum/unit_test/hello_2020 0s +2022-11-22T05:57:55.6739488Z ##[endgroup] +2022-11-22T05:57:55.6878688Z ##[group]/datum/unit_test/new_year_1983 +2022-11-22T05:57:55.6878886Z +2022-11-22T05:57:55.6879201Z PASS /datum/unit_test/new_year_1983 0s +2022-11-22T05:57:55.6879685Z ##[endgroup] +2022-11-22T05:57:55.7020176Z ##[group]/datum/unit_test/moth_week_2020 +2022-11-22T05:57:55.7046044Z +2022-11-22T05:57:55.7046466Z PASS /datum/unit_test/moth_week_2020 0s +2022-11-22T05:57:55.7047027Z ##[endgroup] +2022-11-22T05:57:55.7187159Z ##[group]/datum/unit_test/human_through_recycler +2022-11-22T05:57:55.7514671Z +2022-11-22T05:57:55.7515299Z PASS /datum/unit_test/human_through_recycler 0s +2022-11-22T05:57:55.7516283Z ##[endgroup] +2022-11-22T05:57:55.7919867Z ##[group]/datum/unit_test/hydroponics_extractor_storage +2022-11-22T05:57:55.8186193Z +2022-11-22T05:57:55.8186944Z PASS /datum/unit_test/hydroponics_extractor_storage 0.1s +2022-11-22T05:57:55.8187599Z ##[endgroup] +2022-11-22T05:57:55.8398289Z ##[group]/datum/unit_test/hydroponics_harvest +2022-11-22T05:57:55.8939596Z +2022-11-22T05:57:55.8940352Z PASS /datum/unit_test/hydroponics_harvest 0s +2022-11-22T05:57:55.8941013Z ##[endgroup] +2022-11-22T05:57:56.0137178Z ##[group]/datum/unit_test/hydroponics_self_mutation +2022-11-22T05:57:56.0571748Z +2022-11-22T05:57:56.0572297Z PASS /datum/unit_test/hydroponics_self_mutation 0s +2022-11-22T05:57:56.0572944Z ##[endgroup] +2022-11-22T05:57:56.0712557Z ##[group]/datum/unit_test/hydroponics_validate_genes +2022-11-22T05:57:56.1145858Z +2022-11-22T05:57:56.1146632Z PASS /datum/unit_test/hydroponics_validate_genes 0.1s +2022-11-22T05:57:56.1147317Z ##[endgroup] +2022-11-22T05:57:56.1288831Z ##[group]/datum/unit_test/defined_inhand_icon_states +2022-11-22T05:57:56.9990761Z Notice - Possible inhand icon matches found. It is best to be explicit with inhand sprite values. +2022-11-22T05:57:56.9991785Z /obj/item/clothing/accessory/pride does not have an inhand_icon_state value - Possible matching sprites for "pride" found in: 'icons/mob/inhands/weapons/hammers_lefthand.dmi' & 'icons/mob/inhands/weapons/hammers_righthand.dmi' +2022-11-22T05:57:56.9992933Z /obj/item/clothing/suit/caution does not have an inhand_icon_state value - Possible matching sprites for "caution" found in: 'icons/mob/inhands/equipment/custodial_lefthand.dmi' & 'icons/mob/inhands/equipment/custodial_righthand.dmi' +2022-11-22T05:57:56.9994021Z /obj/item/clothing/under/suit/sl does not have an inhand_icon_state value - Possible matching sprites for "sl_suit" found in: 'icons/mob/inhands/clothing/suits_righthand.dmi' & 'icons/mob/inhands/clothing/suits_lefthand.dmi' +2022-11-22T05:57:56.9995081Z /obj/item/clothing/head/collectable/paper does not have an inhand_icon_state value - Possible matching sprites for "paper" found in: 'icons/mob/inhands/items_lefthand.dmi' & 'icons/mob/inhands/items_righthand.dmi' +2022-11-22T05:57:56.9996131Z /obj/item/clothing/head/mod does not have an inhand_icon_state value - Possible matching sprites for "helmet" found in: 'icons/mob/inhands/clothing/hats_lefthand.dmi' & 'icons/mob/inhands/clothing/hats_righthand.dmi' +2022-11-22T05:57:56.9997136Z /obj/item/clothing/mask/animal/small/fox does not have an inhand_icon_state value - Possible matching sprites for "fox" found in: 'icons/mob/inhands/pets_held_rh.dmi' & 'icons/mob/inhands/pets_held_lh.dmi' +2022-11-22T05:57:56.9998121Z /obj/item/clothing/mask/animal/small/fox/cursed does not have an inhand_icon_state value - Possible matching sprites for "fox" found in: 'icons/mob/inhands/pets_held_rh.dmi' & 'icons/mob/inhands/pets_held_lh.dmi' +2022-11-22T05:57:56.9999214Z /obj/item/clothing/glasses/hud/health/sunglasses does not have an inhand_icon_state value - Possible matching sprites for "sunhudmed" found in: 'icons/mob/inhands/clothing/glasses_righthand.dmi' & 'icons/mob/inhands/clothing/glasses_lefthand.dmi' +2022-11-22T05:57:57.0000419Z /obj/item/clothing/glasses/hud/security/sunglasses does not have an inhand_icon_state value - Possible matching sprites for "sunhudsec" found in: 'icons/mob/inhands/clothing/glasses_righthand.dmi' & 'icons/mob/inhands/clothing/glasses_lefthand.dmi' +2022-11-22T05:57:57.0001582Z /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun does not have an inhand_icon_state value - Possible matching sprites for "syringegun" found in: 'icons/mob/inhands/weapons/guns_righthand.dmi' & 'icons/mob/inhands/weapons/guns_lefthand.dmi' +2022-11-22T05:57:57.0002710Z /obj/item/mecha_parts/mecha_equipment/generator does not have an inhand_icon_state value - Possible matching sprites for "tesla" found in: 'icons/mob/inhands/weapons/guns_righthand.dmi' & 'icons/mob/inhands/weapons/guns_lefthand.dmi' +2022-11-22T05:57:57.0004089Z /obj/item/storage/bag/ore does not have an inhand_icon_state value - Possible matching sprites for "satchel" found in: 'icons/mob/inhands/equipment/backpack_lefthand.dmi' & 'icons/mob/inhands/equipment/backpack_righthand.dmi' +2022-11-22T05:57:57.0005300Z /obj/item/storage/bag/ore/cyborg does not have an inhand_icon_state value - Possible matching sprites for "satchel" found in: 'icons/mob/inhands/equipment/backpack_lefthand.dmi' & 'icons/mob/inhands/equipment/backpack_righthand.dmi' +2022-11-22T05:57:57.0006371Z /obj/item/implant/emp does not have an inhand_icon_state value - Possible matching sprites for "emp" found in: 'icons/mob/inhands/equipment/security_righthand.dmi' & 'icons/mob/inhands/equipment/security_lefthand.dmi' +2022-11-22T05:57:57.0007395Z /obj/item/implant/uplink does not have an inhand_icon_state value - Possible matching sprites for "radio" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-22T05:57:57.0008445Z /obj/item/implant/uplink/precharged does not have an inhand_icon_state value - Possible matching sprites for "radio" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-22T05:57:57.0009494Z /obj/item/implant/uplink/starting does not have an inhand_icon_state value - Possible matching sprites for "radio" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-22T05:57:57.0010726Z /obj/item/melee/energy/blade does not have an inhand_icon_state value - Possible matching sprites for "blade" found in: 'icons/mob/inhands/weapons/swords_lefthand.dmi' & 'icons/mob/inhands/weapons/swords_righthand.dmi' +2022-11-22T05:57:57.0011749Z /obj/item/fireaxe does not have an inhand_icon_state value - Possible matching sprites for "fireaxe0" found in: 'icons/mob/inhands/weapons/axes_righthand.dmi' & 'icons/mob/inhands/weapons/axes_lefthand.dmi' +2022-11-22T05:57:57.0012773Z /obj/item/fireaxe/boneaxe does not have an inhand_icon_state value - Possible matching sprites for "bone_axe0" found in: 'icons/mob/inhands/weapons/axes_righthand.dmi' & 'icons/mob/inhands/weapons/axes_lefthand.dmi' +2022-11-22T05:57:57.0013837Z /obj/item/fireaxe/metal_h2_axe does not have an inhand_icon_state value - Possible matching sprites for "metalh2_axe0" found in: 'icons/mob/inhands/weapons/axes_righthand.dmi' & 'icons/mob/inhands/weapons/axes_lefthand.dmi' +2022-11-22T05:57:57.0014905Z /obj/item/reagent_containers/cup/soda_cans/cola does not have an inhand_icon_state value - Possible matching sprites for "cola" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-22T05:57:57.0016006Z /obj/item/reagent_containers/cup/soda_cans/tonic does not have an inhand_icon_state value - Possible matching sprites for "tonic" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-22T05:57:57.0017128Z /obj/item/reagent_containers/cup/soda_cans/sodawater does not have an inhand_icon_state value - Possible matching sprites for "sodawater" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-22T05:57:57.0018271Z /obj/item/reagent_containers/cup/soda_cans/lemon_lime does not have an inhand_icon_state value - Possible matching sprites for "lemon-lime" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-22T05:57:57.0019407Z /obj/item/reagent_containers/cup/soda_cans/space_up does not have an inhand_icon_state value - Possible matching sprites for "space-up" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-22T05:57:57.0020513Z /obj/item/reagent_containers/cup/soda_cans/starkist does not have an inhand_icon_state value - Possible matching sprites for "starkist" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-22T05:57:57.0021776Z /obj/item/reagent_containers/cup/soda_cans/space_mountain_wind does not have an inhand_icon_state value - Possible matching sprites for "space_mountain_wind" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-22T05:57:57.0023030Z /obj/item/reagent_containers/cup/soda_cans/thirteenloko does not have an inhand_icon_state value - Possible matching sprites for "thirteen_loko" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-22T05:57:57.0024156Z /obj/item/reagent_containers/cup/soda_cans/dr_gibb does not have an inhand_icon_state value - Possible matching sprites for "dr_gibb" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-22T05:57:57.0025284Z /obj/item/reagent_containers/cup/soda_cans/pwr_game does not have an inhand_icon_state value - Possible matching sprites for "purple_can" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-22T05:57:57.0026401Z /obj/item/reagent_containers/cup/glass/coffee does not have an inhand_icon_state value - Possible matching sprites for "coffee" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-22T05:57:57.0027532Z /obj/item/reagent_containers/chem_pack does not have an inhand_icon_state value - Possible matching sprites for "chempack" found in: 'icons/mob/inhands/equipment/backpack_lefthand.dmi' & 'icons/mob/inhands/equipment/backpack_righthand.dmi' +2022-11-22T05:57:57.0028593Z /obj/item/sbeacondrop does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-22T05:57:57.0029625Z /obj/item/sbeacondrop/bomb does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-22T05:57:57.0030654Z /obj/item/sbeacondrop/emp does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-22T05:57:57.0031702Z /obj/item/sbeacondrop/powersink does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-22T05:57:57.0032748Z /obj/item/sbeacondrop/clownbomb does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-22T05:57:57.0033834Z /obj/item/stack/medical/bruise_pack does not have an inhand_icon_state value - Possible matching sprites for "brutepack" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-11-22T05:57:57.0034933Z /obj/item/stack/medical/ointment does not have an inhand_icon_state value - Possible matching sprites for "ointment" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-11-22T05:57:57.0035979Z /obj/item/minespawner does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-22T05:57:57.0037019Z /obj/item/organ/internal/heart/gland/blood does not have an inhand_icon_state value - Possible matching sprites for "egg" found in: 'icons/mob/inhands/items/food_lefthand.dmi' & 'icons/mob/inhands/items/food_righthand.dmi' +2022-11-22T05:57:57.0038119Z /obj/item/organ/internal/heart/gland/egg does not have an inhand_icon_state value - Possible matching sprites for "egg" found in: 'icons/mob/inhands/items/food_lefthand.dmi' & 'icons/mob/inhands/items/food_righthand.dmi' +2022-11-22T05:57:57.0039221Z /obj/item/organ/internal/heart/gland/quantum does not have an inhand_icon_state value - Possible matching sprites for "emp" found in: 'icons/mob/inhands/equipment/security_righthand.dmi' & 'icons/mob/inhands/equipment/security_lefthand.dmi' +2022-11-22T05:57:57.0040406Z /obj/item/organ/internal/heart/gland/trauma does not have an inhand_icon_state value - Possible matching sprites for "emp" found in: 'icons/mob/inhands/equipment/security_righthand.dmi' & 'icons/mob/inhands/equipment/security_lefthand.dmi' +2022-11-22T05:57:57.0041502Z /obj/item/boxcutter does not have an inhand_icon_state value - Possible matching sprites for "boxcutter" found in: 'icons/mob/inhands/equipment/boxcutter_lefthand.dmi' & 'icons/mob/inhands/equipment/boxcutter_righthand.dmi' +2022-11-22T05:57:57.0042546Z /obj/item/pushbroom does not have an inhand_icon_state value - Possible matching sprites for "broom0" found in: 'icons/mob/inhands/equipment/custodial_lefthand.dmi' & 'icons/mob/inhands/equipment/custodial_righthand.dmi' +2022-11-22T05:57:57.0043620Z /obj/item/pushbroom/cyborg does not have an inhand_icon_state value - Possible matching sprites for "broom0" found in: 'icons/mob/inhands/equipment/custodial_lefthand.dmi' & 'icons/mob/inhands/equipment/custodial_righthand.dmi' +2022-11-22T05:57:57.0044677Z /obj/item/chainsaw does not have an inhand_icon_state value - Possible matching sprites for "chainsaw_off" found in: 'icons/mob/inhands/weapons/chainsaw_lefthand.dmi' & 'icons/mob/inhands/weapons/chainsaw_righthand.dmi' +2022-11-22T05:57:57.0045751Z /obj/item/chainsaw/doomslayer does not have an inhand_icon_state value - Possible matching sprites for "chainsaw_off" found in: 'icons/mob/inhands/weapons/chainsaw_lefthand.dmi' & 'icons/mob/inhands/weapons/chainsaw_righthand.dmi' +2022-11-22T05:57:57.0047360Z /obj/item/toy/talking/codex_gigas does not have an inhand_icon_state value - Possible matching sprites for "demonomicon" found in: 'icons/mob/inhands/items/books_righthand.dmi' & 'icons/mob/inhands/items/books_lefthand.dmi' +2022-11-22T05:57:57.0048399Z /obj/item/toy/figure/chef does not have an inhand_icon_state value - Possible matching sprites for "chef" found in: 'icons/mob/inhands/clothing/suits_righthand.dmi' & 'icons/mob/inhands/clothing/suits_lefthand.dmi' +2022-11-22T05:57:57.0049430Z /obj/item/toy/figure/clown does not have an inhand_icon_state value - Possible matching sprites for "clown" found in: 'icons/mob/inhands/clothing/suits_righthand.dmi' & 'icons/mob/inhands/clothing/suits_lefthand.dmi' +2022-11-22T05:57:57.0050554Z /obj/item/toy/figure/janitor does not have an inhand_icon_state value - Possible matching sprites for "janitor" found in: 'icons/mob/inhands/clothing/suits_righthand.dmi' & 'icons/mob/inhands/clothing/suits_lefthand.dmi' +2022-11-22T05:57:57.0051561Z /obj/item/food/candy does not have an inhand_icon_state value - Possible matching sprites for "candy" found in: 'icons/mob/inhands/items/food_lefthand.dmi' & 'icons/mob/inhands/items/food_righthand.dmi' +2022-11-22T05:57:57.0052539Z /obj/item/food/chips does not have an inhand_icon_state value - Possible matching sprites for "chips" found in: 'icons/mob/inhands/items/food_lefthand.dmi' & 'icons/mob/inhands/items/food_righthand.dmi' +2022-11-22T05:57:57.0053552Z /obj/item/kitchen/fork does not have an inhand_icon_state value - Possible matching sprites for "fork" found in: 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' & 'icons/mob/inhands/equipment/kitchen_righthand.dmi' +2022-11-22T05:57:57.0054597Z /obj/item/kitchen/spoon does not have an inhand_icon_state value - Possible matching sprites for "spoon" found in: 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' & 'icons/mob/inhands/equipment/kitchen_righthand.dmi' +2022-11-22T05:57:57.0055672Z /obj/item/kitchen/spoon/plastic does not have an inhand_icon_state value - Possible matching sprites for "plastic_spoon" found in: 'icons/mob/inhands/equipment/kitchen_lefthand.dmi' & 'icons/mob/inhands/equipment/kitchen_righthand.dmi' +2022-11-22T05:57:57.0056849Z /obj/item/book/codex_gigas does not have an inhand_icon_state value - Possible matching sprites for "demonomicon" found in: 'icons/mob/inhands/items/books_righthand.dmi' & 'icons/mob/inhands/items/books_lefthand.dmi' +2022-11-22T05:57:57.0057975Z /obj/item/pitchfork does not have an inhand_icon_state value - Possible matching sprites for "pitchfork0" found in: 'icons/mob/inhands/weapons/polearms_righthand.dmi' & 'icons/mob/inhands/weapons/polearms_lefthand.dmi' +2022-11-22T05:57:57.0059026Z /obj/item/construction/rcd does not have an inhand_icon_state value - Possible matching sprites for "rcd" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-11-22T05:57:57.0060072Z /obj/item/construction/rcd/borg does not have an inhand_icon_state value - Possible matching sprites for "rcd" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-11-22T05:57:57.0061125Z /obj/item/construction/rcd/loaded does not have an inhand_icon_state value - Possible matching sprites for "rcd" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-11-22T05:57:57.0062218Z /obj/item/construction/rcd/loaded/upgraded does not have an inhand_icon_state value - Possible matching sprites for "rcd" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-11-22T05:57:57.0063307Z /obj/item/construction/rcd/internal does not have an inhand_icon_state value - Possible matching sprites for "rcd" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-11-22T05:57:57.0064355Z /obj/item/construction/rld does not have an inhand_icon_state value - Possible matching sprites for "rld-5" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-11-22T05:57:57.0065418Z /obj/item/construction/rld/mini does not have an inhand_icon_state value - Possible matching sprites for "rld-5" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-11-22T05:57:57.0066456Z /obj/item/rcd_ammo does not have an inhand_icon_state value - Possible matching sprites for "rcdammo" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-11-22T05:57:57.0067491Z /obj/item/rcd_ammo/large does not have an inhand_icon_state value - Possible matching sprites for "rcdammo" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-11-22T05:57:57.0068534Z /obj/item/godstaff does not have an inhand_icon_state value - Possible matching sprites for "godstaff-red" found in: 'icons/mob/inhands/weapons/staves_lefthand.dmi' & 'icons/mob/inhands/weapons/staves_righthand.dmi' +2022-11-22T05:57:57.0069585Z /obj/item/godstaff/red does not have an inhand_icon_state value - Possible matching sprites for "godstaff-red" found in: 'icons/mob/inhands/weapons/staves_lefthand.dmi' & 'icons/mob/inhands/weapons/staves_righthand.dmi' +2022-11-22T05:57:57.0070654Z /obj/item/godstaff/blue does not have an inhand_icon_state value - Possible matching sprites for "godstaff-blue" found in: 'icons/mob/inhands/weapons/staves_lefthand.dmi' & 'icons/mob/inhands/weapons/staves_righthand.dmi' +2022-11-22T05:57:57.0071702Z /obj/item/pipe_dispenser does not have an inhand_icon_state value - Possible matching sprites for "rpd" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-11-22T05:57:57.0073144Z /obj/item/singularityhammer does not have an inhand_icon_state value - Possible matching sprites for "singularity_hammer0" found in: 'icons/mob/inhands/weapons/hammers_lefthand.dmi' & 'icons/mob/inhands/weapons/hammers_righthand.dmi' +2022-11-22T05:57:57.0074330Z /obj/item/mjollnir does not have an inhand_icon_state value - Possible matching sprites for "mjollnir0" found in: 'icons/mob/inhands/weapons/hammers_lefthand.dmi' & 'icons/mob/inhands/weapons/hammers_righthand.dmi' +2022-11-22T05:57:57.0075441Z /obj/item/spear does not have an inhand_icon_state value - Possible matching sprites for "spearglass0" found in: 'icons/mob/inhands/weapons/polearms_righthand.dmi' & 'icons/mob/inhands/weapons/polearms_lefthand.dmi' +2022-11-22T05:57:57.0076509Z /obj/item/spear/explosive does not have an inhand_icon_state value - Possible matching sprites for "spearbomb0" found in: 'icons/mob/inhands/weapons/polearms_righthand.dmi' & 'icons/mob/inhands/weapons/polearms_lefthand.dmi' +2022-11-22T05:57:57.0077599Z /obj/item/spear/grey_tide does not have an inhand_icon_state value - Possible matching sprites for "spearglass0" found in: 'icons/mob/inhands/weapons/polearms_righthand.dmi' & 'icons/mob/inhands/weapons/polearms_lefthand.dmi' +2022-11-22T05:57:57.0078680Z /obj/item/spear/bonespear does not have an inhand_icon_state value - Possible matching sprites for "bone_spear0" found in: 'icons/mob/inhands/weapons/polearms_righthand.dmi' & 'icons/mob/inhands/weapons/polearms_lefthand.dmi' +2022-11-22T05:57:57.0079765Z /obj/item/spear/bamboospear does not have an inhand_icon_state value - Possible matching sprites for "bamboo_spear0" found in: 'icons/mob/inhands/weapons/polearms_righthand.dmi' & 'icons/mob/inhands/weapons/polearms_lefthand.dmi' +2022-11-22T05:57:57.0080775Z /obj/item/trash/candy does not have an inhand_icon_state value - Possible matching sprites for "candy" found in: 'icons/mob/inhands/items/food_lefthand.dmi' & 'icons/mob/inhands/items/food_righthand.dmi' +2022-11-22T05:57:57.0082023Z /obj/item/trash/chips does not have an inhand_icon_state value - Possible matching sprites for "chips" found in: 'icons/mob/inhands/items/food_lefthand.dmi' & 'icons/mob/inhands/items/food_righthand.dmi' +2022-11-22T05:57:57.0083017Z /obj/item/trash/can does not have an inhand_icon_state value - Possible matching sprites for "cola" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-22T05:57:57.0084019Z /obj/item/trash/can/food does not have an inhand_icon_state value - Possible matching sprites for "cola" found in: 'icons/mob/inhands/items/drinks_righthand.dmi' & 'icons/mob/inhands/items/drinks_lefthand.dmi' +2022-11-22T05:57:57.0085071Z /obj/item/highfrequencyblade does not have an inhand_icon_state value - Possible matching sprites for "hfrequency0" found in: 'icons/mob/inhands/weapons/swords_lefthand.dmi' & 'icons/mob/inhands/weapons/swords_righthand.dmi' +2022-11-22T05:57:57.0086187Z /obj/item/highfrequencyblade/wizard does not have an inhand_icon_state value - Possible matching sprites for "hfrequency0" found in: 'icons/mob/inhands/weapons/swords_lefthand.dmi' & 'icons/mob/inhands/weapons/swords_righthand.dmi' +2022-11-22T05:57:57.0087262Z /obj/item/borg/sight/meson does not have an inhand_icon_state value - Possible matching sprites for "meson" found in: 'icons/mob/inhands/clothing/glasses_righthand.dmi' & 'icons/mob/inhands/clothing/glasses_lefthand.dmi' +2022-11-22T05:57:57.0088347Z /obj/item/ammo_casing/magic/hook does not have an inhand_icon_state value - Possible matching sprites for "hook" found in: 'icons/mob/inhands/weapons/melee_righthand.dmi' & 'icons/mob/inhands/weapons/melee_lefthand.dmi' +2022-11-22T05:57:57.0089259Z /obj/item/ammo_casing/magic/hook/bounty does not have an inhand_icon_state value - Possible matching sprites for "hook" found in: 'icons/mob/inhands/weapons/melee_righthand.dmi' & 'icons/mob/inhands/weapons/melee_lefthand.dmi' +2022-11-22T05:57:57.0090243Z /obj/item/harmalarm does not have an inhand_icon_state value - Possible matching sprites for "megaphone" found in: 'icons/mob/inhands/items/megaphone_lefthand.dmi' & 'icons/mob/inhands/items/megaphone_righthand.dmi' +2022-11-22T05:57:57.0091252Z /obj/item/crowbar/mechremoval does not have an inhand_icon_state value - Possible matching sprites for "mechremoval0" found in: 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-11-22T05:57:57.0092194Z /obj/item/abductor_machine_beacon does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-22T05:57:57.0093224Z /obj/item/abductor_machine_beacon/chem_dispenser does not have an inhand_icon_state value - Possible matching sprites for "beacon" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-22T05:57:57.0094166Z /obj/item/grown/carbon_rose does not have an inhand_icon_state value - Possible matching sprites for "carbonrose" found in: 'icons/mob/inhands/weapons/plants_righthand.dmi' & 'icons/mob/inhands/weapons/plants_lefthand.dmi' +2022-11-22T05:57:57.0095086Z /obj/item/paint_palette does not have an inhand_icon_state value - Possible matching sprites for "palette" found in: 'icons/mob/inhands/equipment/palette_righthand.dmi' & 'icons/mob/inhands/equipment/palette_lefthand.dmi' +2022-11-22T05:57:57.0095973Z /obj/item/surprise_egg does not have an inhand_icon_state value - Possible matching sprites for "egg" found in: 'icons/mob/inhands/items/food_lefthand.dmi' & 'icons/mob/inhands/items/food_righthand.dmi' +2022-11-22T05:57:57.0096871Z /obj/item/experi_scanner does not have an inhand_icon_state value - Possible matching sprites for "experiscanner" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-22T05:57:57.0097746Z /obj/item/fishing_hook does not have an inhand_icon_state value - Possible matching sprites for "hook" found in: 'icons/mob/inhands/weapons/melee_righthand.dmi' & 'icons/mob/inhands/weapons/melee_lefthand.dmi' +2022-11-22T05:57:57.0098649Z /obj/item/cursed_katana does not have an inhand_icon_state value - Possible matching sprites for "cursed_katana" found in: 'icons/mob/inhands/weapons/swords_lefthand.dmi' & 'icons/mob/inhands/weapons/swords_righthand.dmi' +2022-11-22T05:57:57.0099593Z /obj/item/guardiancreator/tech does not have an inhand_icon_state value - Possible matching sprites for "combat_hypo" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-11-22T05:57:57.0100605Z /obj/item/guardiancreator/tech/choose does not have an inhand_icon_state value - Possible matching sprites for "combat_hypo" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-11-22T05:57:57.0101605Z /obj/item/guardiancreator/tech/choose/traitor does not have an inhand_icon_state value - Possible matching sprites for "combat_hypo" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-11-22T05:57:57.0102626Z /obj/item/guardiancreator/tech/choose/dextrous does not have an inhand_icon_state value - Possible matching sprites for "combat_hypo" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-11-22T05:57:57.0103578Z /obj/item/mod/module/welding does not have an inhand_icon_state value - Possible matching sprites for "welding" found in: 'icons/mob/inhands/clothing/masks_lefthand.dmi' & 'icons/mob/inhands/clothing/masks_righthand.dmi' +2022-11-22T05:57:57.0104491Z /obj/item/mod/module/mister does not have an inhand_icon_state value - Possible matching sprites for "mister" found in: 'icons/mob/inhands/equipment/mister_righthand.dmi' & 'icons/mob/inhands/equipment/mister_lefthand.dmi' +2022-11-22T05:57:57.0105414Z /obj/item/mod/module/mister/atmos does not have an inhand_icon_state value - Possible matching sprites for "mister" found in: 'icons/mob/inhands/equipment/mister_righthand.dmi' & 'icons/mob/inhands/equipment/mister_lefthand.dmi' +2022-11-22T05:57:57.0106415Z /obj/item/mod/module/jetpack does not have an inhand_icon_state value - Possible matching sprites for "jetpack" found in: 'icons/mob/inhands/equipment/jetpacks_lefthand.dmi' & 'icons/mob/inhands/equipment/jetpacks_righthand.dmi' +2022-11-22T05:57:57.0107402Z /obj/item/mod/module/flashlight does not have an inhand_icon_state value - Possible matching sprites for "flashlight" found in: 'icons/mob/inhands/items/devices_lefthand.dmi' & 'icons/mob/inhands/items/devices_righthand.dmi' +2022-11-22T05:57:57.0108273Z /obj/item/mod/module/stamp does not have an inhand_icon_state value - Possible matching sprites for "stamp" found in: 'icons/mob/inhands/items_lefthand.dmi' & 'icons/mob/inhands/items_righthand.dmi' +2022-11-22T05:57:57.0109157Z /obj/item/mod/module/holster does not have an inhand_icon_state value - Possible matching sprites for "holster" found in: 'icons/mob/inhands/equipment/belt_lefthand.dmi' & 'icons/mob/inhands/equipment/belt_righthand.dmi' +2022-11-22T05:57:57.0110093Z /obj/item/mod/module/megaphone does not have an inhand_icon_state value - Possible matching sprites for "megaphone" found in: 'icons/mob/inhands/items/megaphone_lefthand.dmi' & 'icons/mob/inhands/items/megaphone_righthand.dmi' +2022-11-22T05:57:57.0111228Z /obj/item/mod/module/drill does not have an inhand_icon_state value - Possible matching sprites for "drill" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' & 'icons/mob/inhands/equipment/tools_righthand.dmi' & 'icons/mob/inhands/equipment/tools_lefthand.dmi' +2022-11-22T05:57:57.0112255Z /obj/item/mod/module/tem does not have an inhand_icon_state value - Possible matching sprites for "chronogun" found in: 'icons/mob/inhands/weapons/guns_righthand.dmi' & 'icons/mob/inhands/weapons/guns_lefthand.dmi' +2022-11-22T05:57:57.0113170Z /obj/item/bonesetter does not have an inhand_icon_state value - Possible matching sprites for "bonesetter" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-11-22T05:57:57.0114103Z /obj/item/blood_filter does not have an inhand_icon_state value - Possible matching sprites for "bloodfilter" found in: 'icons/mob/inhands/equipment/medical_lefthand.dmi' & 'icons/mob/inhands/equipment/medical_righthand.dmi' +2022-11-22T05:57:57.0115057Z /obj/item/mecha_ammo/flashbang does not have an inhand_icon_state value - Possible matching sprites for "flashbang" found in: 'icons/mob/inhands/equipment/security_righthand.dmi' & 'icons/mob/inhands/equipment/security_lefthand.dmi' +2022-11-22T05:57:57.0115440Z +2022-11-22T05:57:57.0115677Z PASS /datum/unit_test/defined_inhand_icon_states 0.8s +2022-11-22T05:57:57.0116249Z ##[endgroup] +2022-11-22T05:57:57.8132217Z ##[group]/datum/unit_test/json_savefiles +2022-11-22T05:57:57.8161427Z +2022-11-22T05:57:57.8163650Z PASS /datum/unit_test/json_savefiles 0s +2022-11-22T05:57:57.8165166Z ##[endgroup] +2022-11-22T05:57:57.8317025Z ##[group]/datum/unit_test/keybinding_init +2022-11-22T05:57:57.8317555Z +2022-11-22T05:57:57.8318129Z PASS /datum/unit_test/keybinding_init 0s +2022-11-22T05:57:57.8318715Z ##[endgroup] +2022-11-22T05:57:57.8457921Z ##[group]/datum/unit_test/key_prefixes +2022-11-22T05:57:57.8458449Z +2022-11-22T05:57:57.8459042Z PASS /datum/unit_test/key_prefixes 0s +2022-11-22T05:57:57.8462361Z ##[endgroup] +2022-11-22T05:57:57.8599650Z ##[group]/datum/unit_test/knockoff_component +2022-11-22T05:57:57.9089397Z +2022-11-22T05:57:57.9090717Z PASS /datum/unit_test/knockoff_component 0.1s +2022-11-22T05:57:57.9091840Z ##[endgroup] +2022-11-22T05:57:57.9827579Z ##[group]/datum/unit_test/limbsanity +2022-11-22T05:57:58.0484756Z +2022-11-22T05:57:58.0485892Z PASS /datum/unit_test/limbsanity 0.1s +2022-11-22T05:57:58.0486834Z ##[endgroup] +2022-11-22T05:57:58.0629221Z ##[group]/datum/unit_test/load_map_security +2022-11-22T05:57:58.0631540Z map directory not in whitelist: data/load_map_security_temp for map runtimestation +2022-11-22T05:57:58.0632494Z +2022-11-22T05:57:58.0634849Z PASS /datum/unit_test/load_map_security 0s +2022-11-22T05:57:58.0635457Z ##[endgroup] +2022-11-22T05:57:58.0781973Z ##[group]/datum/unit_test/machine_disassembly +2022-11-22T05:57:58.0810119Z +2022-11-22T05:57:58.0811067Z PASS /datum/unit_test/machine_disassembly 0s +2022-11-22T05:57:58.0813933Z ##[endgroup] +2022-11-22T05:57:58.1127230Z ##[group]/datum/unit_test/mecha_damage +2022-11-22T05:57:58.1567386Z +2022-11-22T05:57:58.1568502Z PASS /datum/unit_test/mecha_damage 0s +2022-11-22T05:57:58.1569451Z ##[endgroup] +2022-11-22T05:57:58.1825660Z ##[group]/datum/unit_test/test_human_base +2022-11-22T05:57:58.2244474Z +2022-11-22T05:57:58.2245632Z PASS /datum/unit_test/test_human_base 0.1s +2022-11-22T05:57:58.2246699Z ##[endgroup] +2022-11-22T05:57:58.2704857Z ##[group]/datum/unit_test/test_human_bone +2022-11-22T05:57:58.3113306Z +2022-11-22T05:57:58.3114010Z PASS /datum/unit_test/test_human_bone 0.1s +2022-11-22T05:57:58.3114667Z ##[endgroup] +2022-11-22T05:57:58.3301107Z ##[group]/datum/unit_test/merge_type +2022-11-22T05:57:58.3302955Z +2022-11-22T05:57:58.3303622Z PASS /datum/unit_test/merge_type 0s +2022-11-22T05:57:58.3304293Z ##[endgroup] +2022-11-22T05:57:58.3450988Z ##[group]/datum/unit_test/metabolization +2022-11-22T05:57:58.5454349Z +2022-11-22T05:57:58.5455483Z PASS /datum/unit_test/metabolization 0.2s +2022-11-22T05:57:58.5456119Z ##[endgroup] +2022-11-22T05:57:58.7181588Z ##[group]/datum/unit_test/on_mob_end_metabolize +2022-11-22T05:57:58.7436989Z +2022-11-22T05:57:58.7438144Z PASS /datum/unit_test/on_mob_end_metabolize 0s +2022-11-22T05:57:58.7438781Z ##[endgroup] +2022-11-22T05:57:58.7634355Z ##[group]/datum/unit_test/addictions +2022-11-22T05:57:58.8327697Z +2022-11-22T05:57:58.8328724Z PASS /datum/unit_test/addictions 0.1s +2022-11-22T05:57:58.8329396Z ##[endgroup] +2022-11-22T05:57:58.9646352Z ##[group]/datum/unit_test/actions_moved_on_mind_transfer +2022-11-22T05:57:58.9894685Z +2022-11-22T05:57:58.9895899Z PASS /datum/unit_test/actions_moved_on_mind_transfer 0s +2022-11-22T05:57:58.9899018Z ##[endgroup] +2022-11-22T05:57:59.0145385Z ##[group]/datum/unit_test/mob_faction +2022-11-22T05:58:02.3668071Z +2022-11-22T05:58:02.3669027Z PASS /datum/unit_test/mob_faction 3.3s +2022-11-22T05:58:02.3669939Z ##[endgroup] +2022-11-22T05:58:07.7854295Z ##[group]/datum/unit_test/mob_spawn +2022-11-22T05:58:07.7991138Z +2022-11-22T05:58:07.7991742Z PASS /datum/unit_test/mob_spawn 0s +2022-11-22T05:58:07.7992334Z ##[endgroup] +2022-11-22T05:58:07.9421769Z ##[group]/datum/unit_test/modsuit_checks +2022-11-22T05:58:08.1300462Z +2022-11-22T05:58:08.1301703Z PASS /datum/unit_test/modsuit_checks 0.2s +2022-11-22T05:58:08.1302808Z ##[endgroup] +2022-11-22T05:58:08.2981112Z ##[group]/datum/unit_test/modular_map_loader +2022-11-22T05:58:08.2993538Z +2022-11-22T05:58:08.2994017Z PASS /datum/unit_test/modular_map_loader 0s +2022-11-22T05:58:08.2994490Z ##[endgroup] +2022-11-22T05:58:08.3152720Z ##[group]/datum/unit_test/mouse_bite_cable +2022-11-22T05:58:08.3194795Z +2022-11-22T05:58:08.3195300Z PASS /datum/unit_test/mouse_bite_cable 0s +2022-11-22T05:58:08.3195915Z ##[endgroup] +2022-11-22T05:58:08.3481029Z ##[group]/datum/unit_test/novaflower_burn +2022-11-22T05:58:08.3949558Z +2022-11-22T05:58:08.3950307Z PASS /datum/unit_test/novaflower_burn 0s +2022-11-22T05:58:08.3950994Z ##[endgroup] +2022-11-22T05:58:08.4260753Z ##[group]/datum/unit_test/ntnetwork +2022-11-22T05:58:08.4260950Z +2022-11-22T05:58:08.4261366Z PASS /datum/unit_test/ntnetwork 0s +2022-11-22T05:58:08.4261791Z ##[endgroup] +2022-11-22T05:58:08.4438911Z ##[group]/datum/unit_test/nuke_cinematic +2022-11-22T05:58:12.2927681Z +2022-11-22T05:58:12.2928809Z PASS /datum/unit_test/nuke_cinematic 3.8s +2022-11-22T05:58:12.2929427Z ##[endgroup] +2022-11-22T05:58:12.5093172Z ##[group]/datum/unit_test/objectives_category +2022-11-22T05:58:12.5093989Z +2022-11-22T05:58:12.5095122Z PASS /datum/unit_test/objectives_category 0s +2022-11-22T05:58:12.5096774Z ##[endgroup] +2022-11-22T05:58:12.5256872Z ##[group]/datum/unit_test/orderable_item_descriptions +2022-11-22T05:58:12.5771407Z +2022-11-22T05:58:12.5772577Z PASS /datum/unit_test/orderable_item_descriptions 0s +2022-11-22T05:58:12.5773724Z ##[endgroup] +2022-11-22T05:58:12.5931358Z ##[group]/datum/unit_test/operating_table +2022-11-22T05:58:12.6369527Z +2022-11-22T05:58:12.6370760Z PASS /datum/unit_test/operating_table 0.1s +2022-11-22T05:58:12.6371649Z ##[endgroup] +2022-11-22T05:58:12.6652645Z ##[group]/datum/unit_test/outfit_sanity +2022-11-22T05:58:20.4025368Z +2022-11-22T05:58:20.4026450Z PASS /datum/unit_test/outfit_sanity 7.8s +2022-11-22T05:58:20.4027358Z ##[endgroup] +2022-11-22T05:58:28.1332042Z ##[group]/datum/unit_test/paintings +2022-11-22T05:58:28.1602466Z +2022-11-22T05:58:28.1603414Z PASS /datum/unit_test/paintings 0s +2022-11-22T05:58:28.1604319Z ##[endgroup] +2022-11-22T05:58:28.1760460Z ##[group]/datum/unit_test/pills +2022-11-22T05:58:28.1992533Z +2022-11-22T05:58:28.1993343Z PASS /datum/unit_test/pills 0s +2022-11-22T05:58:28.1994038Z ##[endgroup] +2022-11-22T05:58:28.2194261Z ##[group]/datum/unit_test/plane_double_transform +2022-11-22T05:58:28.2430543Z +2022-11-22T05:58:28.2431815Z PASS /datum/unit_test/plane_double_transform 0s +2022-11-22T05:58:28.2434784Z ##[endgroup] +2022-11-22T05:58:28.2932472Z ##[group]/datum/unit_test/plane_dupe_detector +2022-11-22T05:58:28.2933160Z +2022-11-22T05:58:28.2935921Z PASS /datum/unit_test/plane_dupe_detector 0s +2022-11-22T05:58:28.2938654Z ##[endgroup] +2022-11-22T05:58:28.3090410Z ##[group]/datum/unit_test/plantgrowth +2022-11-22T05:58:28.3481022Z +2022-11-22T05:58:28.3482119Z PASS /datum/unit_test/plantgrowth 0s +2022-11-22T05:58:28.3483278Z ##[endgroup] +2022-11-22T05:58:28.3644306Z ##[group]/datum/unit_test/preference_species +2022-11-22T05:58:28.3644848Z +2022-11-22T05:58:28.3645467Z PASS /datum/unit_test/preference_species 0s +2022-11-22T05:58:28.3648326Z ##[endgroup] +2022-11-22T05:58:28.3800065Z ##[group]/datum/unit_test/preferences_implement_everything +2022-11-22T05:58:33.0443739Z +2022-11-22T05:58:33.0446214Z PASS /datum/unit_test/preferences_implement_everything 4.7s +2022-11-22T05:58:33.0447293Z ##[endgroup] +2022-11-22T05:58:37.7153022Z ##[group]/datum/unit_test/preferences_valid_savefile_key +2022-11-22T05:58:37.7155101Z +2022-11-22T05:58:37.7157164Z PASS /datum/unit_test/preferences_valid_savefile_key 0s +2022-11-22T05:58:37.7158100Z ##[endgroup] +2022-11-22T05:58:37.7323713Z ##[group]/datum/unit_test/preferences_valid_main_feature_name +2022-11-22T05:58:37.7329320Z +2022-11-22T05:58:37.7330388Z PASS /datum/unit_test/preferences_valid_main_feature_name 0s +2022-11-22T05:58:37.7330952Z ##[endgroup] +2022-11-22T05:58:37.7489830Z ##[group]/datum/unit_test/projectile_movetypes +2022-11-22T05:58:37.7490689Z +2022-11-22T05:58:37.7491455Z PASS /datum/unit_test/projectile_movetypes 0s +2022-11-22T05:58:37.7491963Z ##[endgroup] +2022-11-22T05:58:37.7649766Z ##[group]/datum/unit_test/gun_go_bang +2022-11-22T05:58:37.8209519Z +2022-11-22T05:58:37.8210665Z PASS /datum/unit_test/gun_go_bang 0.1s +2022-11-22T05:58:37.8211545Z ##[endgroup] +2022-11-22T05:58:37.8502284Z ##[group]/datum/unit_test/quirk_icons +2022-11-22T05:58:37.8502850Z +2022-11-22T05:58:37.8503567Z PASS /datum/unit_test/quirk_icons 0s +2022-11-22T05:58:37.8504117Z ##[endgroup] +2022-11-22T05:58:37.8657773Z ##[group]/datum/unit_test/range_return +2022-11-22T05:58:37.8658306Z +2022-11-22T05:58:37.8658926Z PASS /datum/unit_test/range_return 0s +2022-11-22T05:58:37.8659408Z ##[endgroup] +2022-11-22T05:58:37.8813805Z ##[group]/datum/unit_test/frame_stacking +2022-11-22T05:58:37.9259992Z +2022-11-22T05:58:37.9261883Z PASS /datum/unit_test/frame_stacking 0.1s +2022-11-22T05:58:37.9264250Z ##[endgroup] +2022-11-22T05:58:37.9487864Z ##[group]/datum/unit_test/reagent_id_typos +2022-11-22T05:58:37.9501045Z +2022-11-22T05:58:37.9502744Z PASS /datum/unit_test/reagent_id_typos 0s +2022-11-22T05:58:37.9504577Z ##[endgroup] +2022-11-22T05:58:37.9652919Z ##[group]/datum/unit_test/reagent_mob_expose +2022-11-22T05:58:37.9929781Z +2022-11-22T05:58:37.9930884Z PASS /datum/unit_test/reagent_mob_expose 0s +2022-11-22T05:58:37.9932053Z ##[endgroup] +2022-11-22T05:58:38.0197685Z ##[group]/datum/unit_test/reagent_mob_procs +2022-11-22T05:58:38.0416951Z +2022-11-22T05:58:38.0417978Z PASS /datum/unit_test/reagent_mob_procs 0s +2022-11-22T05:58:38.0420890Z ##[endgroup] +2022-11-22T05:58:38.0622397Z ##[group]/datum/unit_test/reagent_names +2022-11-22T05:58:38.8276671Z +2022-11-22T05:58:38.8277981Z PASS /datum/unit_test/reagent_names 0.8s +2022-11-22T05:58:38.8278989Z ##[endgroup] +2022-11-22T05:58:39.5940322Z ##[group]/datum/unit_test/reagent_recipe_collisions +2022-11-22T05:58:39.9910847Z +2022-11-22T05:58:39.9911887Z PASS /datum/unit_test/reagent_recipe_collisions 0.4s +2022-11-22T05:58:39.9912840Z ##[endgroup] +2022-11-22T05:58:40.3577765Z ##[group]/datum/unit_test/reagent_transfer +2022-11-22T05:58:40.3582341Z +2022-11-22T05:58:40.3583185Z PASS /datum/unit_test/reagent_transfer 0s +2022-11-22T05:58:40.3584011Z ##[endgroup] +2022-11-22T05:58:40.3745578Z ##[group]/datum/unit_test/stop_drop_and_roll +2022-11-22T05:58:40.3962558Z +2022-11-22T05:58:40.3963493Z PASS /datum/unit_test/stop_drop_and_roll 0s +2022-11-22T05:58:40.3965748Z ##[endgroup] +2022-11-22T05:58:40.4169199Z ##[group]/datum/unit_test/container_resist +2022-11-22T05:58:40.4450945Z +2022-11-22T05:58:40.4452010Z PASS /datum/unit_test/container_resist 0s +2022-11-22T05:58:40.4452942Z ##[endgroup] +2022-11-22T05:58:40.4681974Z ##[group]/datum/unit_test/get_message_mods +2022-11-22T05:58:40.4890976Z +2022-11-22T05:58:40.4891902Z PASS /datum/unit_test/get_message_mods 0s +2022-11-22T05:58:40.4938745Z ##[endgroup] +2022-11-22T05:58:40.5092622Z ##[group]/datum/unit_test/say_signal +2022-11-22T05:58:40.5109636Z +2022-11-22T05:58:40.5110057Z PASS /datum/unit_test/say_signal 0s +2022-11-22T05:58:40.5110529Z ##[endgroup] +2022-11-22T05:58:40.5273081Z ##[group]/datum/unit_test/screenshot_antag_icons +2022-11-22T05:58:40.5292264Z screenshot_antag_icons_fugitive was put in data/screenshots_new +2022-11-22T05:58:40.5297917Z screenshot_antag_icons_loneoperative was put in data/screenshots_new +2022-11-22T05:58:40.5648778Z screenshot_antag_icons_sentiencepotionspawn was put in data/screenshots_new +2022-11-22T05:58:40.5657229Z screenshot_antag_icons_traitor was put in data/screenshots_new +2022-11-22T05:58:40.6056549Z screenshot_antag_icons_malfai was put in data/screenshots_new +2022-11-22T05:58:40.6093403Z screenshot_antag_icons_bloodbrother was put in data/screenshots_new +2022-11-22T05:58:40.6099494Z screenshot_antag_icons_changeling was put in data/screenshots_new +2022-11-22T05:58:40.6141861Z screenshot_antag_icons_heretic was put in data/screenshots_new +2022-11-22T05:58:40.6152817Z screenshot_antag_icons_wizard was put in data/screenshots_new +2022-11-22T05:58:40.6187229Z screenshot_antag_icons_cultist was put in data/screenshots_new +2022-11-22T05:58:40.6199509Z screenshot_antag_icons_operative was put in data/screenshots_new +2022-11-22T05:58:40.6212847Z screenshot_antag_icons_clownoperative was put in data/screenshots_new +2022-11-22T05:58:40.6234689Z screenshot_antag_icons_headrevolutionary was put in data/screenshots_new +2022-11-22T05:58:40.6235113Z screenshot_antag_icons_syndicateinfiltrator was put in data/screenshots_new +2022-11-22T05:58:40.6235503Z screenshot_antag_icons_provocateur was put in data/screenshots_new +2022-11-22T05:58:40.6235874Z screenshot_antag_icons_hereticsmuggler was put in data/screenshots_new +2022-11-22T05:58:40.6236247Z screenshot_antag_icons_wizardmidround was put in data/screenshots_new +2022-11-22T05:58:40.6236614Z screenshot_antag_icons_operativemidround was put in data/screenshots_new +2022-11-22T05:58:40.6888373Z screenshot_antag_icons_blob was put in data/screenshots_new +2022-11-22T05:58:40.6981477Z screenshot_antag_icons_xenomorph was put in data/screenshots_new +2022-11-22T05:58:40.6987596Z screenshot_antag_icons_nightmare was put in data/screenshots_new +2022-11-22T05:58:40.7057997Z screenshot_antag_icons_spacedragon was put in data/screenshots_new +2022-11-22T05:58:40.7064121Z screenshot_antag_icons_abductor was put in data/screenshots_new +2022-11-22T05:58:40.7069837Z screenshot_antag_icons_spaceninja was put in data/screenshots_new +2022-11-22T05:58:40.7301887Z screenshot_antag_icons_revenant was put in data/screenshots_new +2022-11-22T05:58:40.7320268Z screenshot_antag_icons_sentientdisease was put in data/screenshots_new +2022-11-22T05:58:40.7321448Z screenshot_antag_icons_syndicatesleeperagent was put in data/screenshots_new +2022-11-22T05:58:40.7464714Z screenshot_antag_icons_blobinfection was put in data/screenshots_new +2022-11-22T05:58:40.7484344Z screenshot_antag_icons_obsessed was put in data/screenshots_new +2022-11-22T05:58:40.7485272Z screenshot_antag_icons_malfaimidround was put in data/screenshots_new +2022-11-22T05:58:40.7485491Z +2022-11-22T05:58:40.7486250Z PASS /datum/unit_test/screenshot_antag_icons 0.2s +2022-11-22T05:58:40.7487461Z ##[endgroup] +2022-11-22T05:58:40.9148897Z ##[group]/datum/unit_test/screenshot_basic +2022-11-22T05:58:40.9152865Z screenshot_basic_red was put in data/screenshots_new +2022-11-22T05:58:40.9153089Z +2022-11-22T05:58:40.9153840Z PASS /datum/unit_test/screenshot_basic 0s +2022-11-22T05:58:40.9154358Z ##[endgroup] +2022-11-22T05:58:40.9323137Z ##[group]/datum/unit_test/screenshot_humanoids +2022-11-22T05:58:41.4860399Z screenshot_humanoids__datum_species_lizard was put in data/screenshots_new +2022-11-22T05:58:42.1812125Z screenshot_humanoids__datum_species_moth was put in data/screenshots_new +2022-11-22T05:58:42.7396430Z screenshot_humanoids__datum_species_shadow was put in data/screenshots_new +2022-11-22T05:58:42.9412448Z screenshot_humanoids__datum_species_shadow_nightmare was put in data/screenshots_new +2022-11-22T05:58:43.4856493Z screenshot_humanoids__datum_species_abductor was put in data/screenshots_new +2022-11-22T05:58:43.9790579Z screenshot_humanoids__datum_species_android was put in data/screenshots_new +2022-11-22T05:58:44.4705884Z screenshot_humanoids__datum_species_dullahan was put in data/screenshots_new +2022-11-22T05:58:44.9659470Z screenshot_humanoids__datum_species_ethereal was put in data/screenshots_new +2022-11-22T05:58:45.5314689Z screenshot_humanoids__datum_species_human was put in data/screenshots_new +2022-11-22T05:58:46.1537771Z screenshot_humanoids__datum_species_human_felinid was put in data/screenshots_new +2022-11-22T05:58:46.8079860Z screenshot_humanoids__datum_species_human_krokodil_addict was put in data/screenshots_new +2022-11-22T05:58:47.4445783Z screenshot_humanoids__datum_species_fly was put in data/screenshots_new +2022-11-22T05:58:47.9686077Z screenshot_humanoids__datum_species_golem was put in data/screenshots_new +2022-11-22T05:58:48.4853290Z screenshot_humanoids__datum_species_golem_adamantine was put in data/screenshots_new +2022-11-22T05:58:49.0233415Z screenshot_humanoids__datum_species_golem_plasma was put in data/screenshots_new +2022-11-22T05:58:49.5402611Z screenshot_humanoids__datum_species_golem_diamond was put in data/screenshots_new +2022-11-22T05:58:50.0619605Z screenshot_humanoids__datum_species_golem_gold was put in data/screenshots_new +2022-11-22T05:58:50.5960700Z screenshot_humanoids__datum_species_golem_silver was put in data/screenshots_new +2022-11-22T05:58:51.1268001Z screenshot_humanoids__datum_species_golem_plasteel was put in data/screenshots_new +2022-11-22T05:58:51.6041410Z screenshot_humanoids__datum_species_golem_titanium was put in data/screenshots_new +2022-11-22T05:58:52.1421369Z screenshot_humanoids__datum_species_golem_plastitanium was put in data/screenshots_new +2022-11-22T05:58:52.6646881Z screenshot_humanoids__datum_species_golem_alloy was put in data/screenshots_new +2022-11-22T05:58:53.1822437Z screenshot_humanoids__datum_species_golem_wood was put in data/screenshots_new +2022-11-22T05:58:53.7093546Z screenshot_humanoids__datum_species_golem_uranium was put in data/screenshots_new +2022-11-22T05:58:54.2289778Z screenshot_humanoids__datum_species_golem_sand was put in data/screenshots_new +2022-11-22T05:58:54.7551132Z screenshot_humanoids__datum_species_golem_glass was put in data/screenshots_new +2022-11-22T05:58:55.2923350Z screenshot_humanoids__datum_species_golem_bluespace was put in data/screenshots_new +2022-11-22T05:58:55.8209063Z screenshot_humanoids__datum_species_golem_bananium was put in data/screenshots_new +2022-11-22T05:58:56.2556562Z screenshot_humanoids__datum_species_golem_runic was put in data/screenshots_new +2022-11-22T05:58:56.8660417Z screenshot_humanoids__datum_species_golem_cloth was put in data/screenshots_new +2022-11-22T05:58:57.3592195Z screenshot_humanoids__datum_species_golem_plastic was put in data/screenshots_new +2022-11-22T05:58:57.9036879Z screenshot_humanoids__datum_species_golem_bronze was put in data/screenshots_new +2022-11-22T05:58:58.3538566Z screenshot_humanoids__datum_species_golem_cardboard was put in data/screenshots_new +2022-11-22T05:58:58.9038125Z screenshot_humanoids__datum_species_golem_leather was put in data/screenshots_new +2022-11-22T05:58:59.3259282Z screenshot_humanoids__datum_species_golem_durathread was put in data/screenshots_new +2022-11-22T05:58:59.7415514Z screenshot_humanoids__datum_species_golem_bone was put in data/screenshots_new +2022-11-22T05:59:00.1624246Z screenshot_humanoids__datum_species_golem_snow was put in data/screenshots_new +2022-11-22T05:59:00.7017097Z screenshot_humanoids__datum_species_golem_mhydrogen was put in data/screenshots_new +2022-11-22T05:59:01.2962128Z screenshot_humanoids__datum_species_jelly was put in data/screenshots_new +2022-11-22T05:59:01.8914644Z screenshot_humanoids__datum_species_jelly_slime was put in data/screenshots_new +2022-11-22T05:59:02.4944760Z screenshot_humanoids__datum_species_jelly_luminescent was put in data/screenshots_new +2022-11-22T05:59:03.1051896Z screenshot_humanoids__datum_species_jelly_stargazer was put in data/screenshots_new +2022-11-22T05:59:03.6316289Z screenshot_humanoids__datum_species_lizard_ashwalker was put in data/screenshots_new +2022-11-22T05:59:04.1732683Z screenshot_humanoids__datum_species_lizard_silverscale was put in data/screenshots_new +2022-11-22T05:59:04.3219378Z screenshot_humanoids__datum_species_monkey was put in data/screenshots_new +2022-11-22T05:59:04.7808061Z screenshot_humanoids__datum_species_mush was put in data/screenshots_new +2022-11-22T05:59:05.2791916Z screenshot_humanoids__datum_species_plasmaman was put in data/screenshots_new +2022-11-22T05:59:05.8726674Z screenshot_humanoids__datum_species_pod was put in data/screenshots_new +2022-11-22T05:59:06.4421620Z screenshot_humanoids__datum_species_skeleton was put in data/screenshots_new +2022-11-22T05:59:07.0386329Z screenshot_humanoids__datum_species_snail was put in data/screenshots_new +2022-11-22T05:59:07.6272099Z screenshot_humanoids__datum_species_vampire was put in data/screenshots_new +2022-11-22T05:59:08.2909176Z screenshot_humanoids__datum_species_zombie was put in data/screenshots_new +2022-11-22T05:59:09.0366652Z screenshot_humanoids__datum_species_zombie_infectious was put in data/screenshots_new +2022-11-22T05:59:09.0367022Z +2022-11-22T05:59:09.0367523Z PASS /datum/unit_test/screenshot_humanoids 28.1s +2022-11-22T05:59:09.0368166Z ##[endgroup] +2022-11-22T05:59:37.6866607Z ##[group]/datum/unit_test/screenshot_saturnx +2022-11-22T05:59:37.9124865Z screenshot_saturnx_invisibility was put in data/screenshots_new +2022-11-22T05:59:37.9125745Z +2022-11-22T05:59:37.9127093Z PASS /datum/unit_test/screenshot_saturnx 0.3s +2022-11-22T05:59:37.9127697Z ##[endgroup] +2022-11-22T05:59:38.0853482Z ##[group]/datum/unit_test/security_officer_roundstart_distribution +2022-11-22T05:59:38.2014087Z +2022-11-22T05:59:38.2015341Z PASS /datum/unit_test/security_officer_roundstart_distribution 0.2s +2022-11-22T05:59:38.2015989Z ##[endgroup] +2022-11-22T05:59:38.3357446Z ##[group]/datum/unit_test/security_officer_latejoin_distribution +2022-11-22T05:59:38.7057220Z +2022-11-22T05:59:38.7058863Z PASS /datum/unit_test/security_officer_latejoin_distribution 0.4s +2022-11-22T05:59:38.7060729Z ##[endgroup] +2022-11-22T05:59:39.2017954Z ##[group]/datum/unit_test/security_levels +2022-11-22T05:59:39.2018640Z +2022-11-22T05:59:39.2021443Z PASS /datum/unit_test/security_levels 0s +2022-11-22T05:59:39.2024185Z ##[endgroup] +2022-11-22T05:59:39.2192675Z ##[group]/datum/unit_test/servingtray +2022-11-22T05:59:39.2471606Z +2022-11-22T05:59:39.2472412Z PASS /datum/unit_test/servingtray 0s +2022-11-22T05:59:39.2475270Z ##[endgroup] +2022-11-22T05:59:39.2694155Z ##[group]/datum/unit_test/simple_animal_freeze +2022-11-22T05:59:39.2703215Z +2022-11-22T05:59:39.2703882Z PASS /datum/unit_test/simple_animal_freeze 0s +2022-11-22T05:59:39.2704730Z ##[endgroup] +2022-11-22T05:59:39.2859664Z ##[group]/datum/unit_test/siunit +2022-11-22T05:59:39.2860192Z +2022-11-22T05:59:39.2905239Z PASS /datum/unit_test/siunit 0s +2022-11-22T05:59:39.2905758Z ##[endgroup] +2022-11-22T05:59:39.3380495Z ##[group]/datum/unit_test/slips +2022-11-22T05:59:39.3816463Z +2022-11-22T05:59:39.3817092Z PASS /datum/unit_test/slips 0s +2022-11-22T05:59:39.3817715Z ##[endgroup] +2022-11-22T05:59:39.4069986Z ##[group]/datum/unit_test/spawn_humans +2022-11-22T05:59:44.4570883Z +2022-11-22T05:59:44.4573502Z PASS /datum/unit_test/spawn_humans 5s +2022-11-22T05:59:44.4574683Z ##[endgroup] +2022-11-22T05:59:44.4963535Z ##[group]/datum/unit_test/spawn_mobs +2022-11-22T05:59:44.5574109Z +2022-11-22T05:59:44.5575293Z PASS /datum/unit_test/spawn_mobs 0.1s +2022-11-22T05:59:44.5575900Z ##[endgroup] +2022-11-22T05:59:44.6565999Z ##[group]/datum/unit_test/species_change_clothing +2022-11-22T05:59:44.7330373Z +2022-11-22T05:59:44.7331058Z PASS /datum/unit_test/species_change_clothing 0.1s +2022-11-22T05:59:44.7331700Z ##[endgroup] +2022-11-22T05:59:44.7549387Z ##[group]/datum/unit_test/species_change_organs +2022-11-22T05:59:44.8048767Z +2022-11-22T05:59:44.8049950Z PASS /datum/unit_test/species_change_organs 0.1s +2022-11-22T05:59:44.8051289Z ##[endgroup] +2022-11-22T05:59:44.8279792Z ##[group]/datum/unit_test/species_config_sanity +2022-11-22T05:59:44.8280594Z +2022-11-22T05:59:44.8283317Z PASS /datum/unit_test/species_config_sanity 0s +2022-11-22T05:59:44.8284090Z ##[endgroup] +2022-11-22T05:59:44.8437473Z ##[group]/datum/unit_test/species_unique_id +2022-11-22T05:59:44.8438066Z +2022-11-22T05:59:44.8438608Z PASS /datum/unit_test/species_unique_id 0s +2022-11-22T05:59:44.8439291Z ##[endgroup] +2022-11-22T05:59:44.8779329Z ##[group]/datum/unit_test/species_whitelist_check +2022-11-22T05:59:44.8779795Z +2022-11-22T05:59:44.8782619Z PASS /datum/unit_test/species_whitelist_check 0s +2022-11-22T05:59:44.8783319Z ##[endgroup] +2022-11-22T05:59:44.8936699Z ##[group]/datum/unit_test/spell_invocations +2022-11-22T05:59:44.8937279Z +2022-11-22T05:59:44.8939987Z PASS /datum/unit_test/spell_invocations 0s +2022-11-22T05:59:44.8940786Z ##[endgroup] +2022-11-22T05:59:45.0281600Z ##[group]/datum/unit_test/mind_swap_spell +2022-11-22T05:59:45.0736031Z +2022-11-22T05:59:45.0737123Z PASS /datum/unit_test/mind_swap_spell 0s +2022-11-22T05:59:45.0738202Z ##[endgroup] +2022-11-22T05:59:45.2297228Z ##[group]/datum/unit_test/spell_names +2022-11-22T05:59:45.2298287Z +2022-11-22T05:59:45.2299157Z PASS /datum/unit_test/spell_names 0s +2022-11-22T05:59:45.2299995Z ##[endgroup] +2022-11-22T05:59:45.2458199Z ##[group]/datum/unit_test/shapeshift_spell_validity +2022-11-22T05:59:45.2460243Z +2022-11-22T05:59:45.2460928Z PASS /datum/unit_test/shapeshift_spell_validity 0s +2022-11-22T05:59:45.2461604Z ##[endgroup] +2022-11-22T05:59:45.2618397Z ##[group]/datum/unit_test/shapeshift_spell +2022-11-22T05:59:45.4081241Z ##[error]Shapeshift spell: Dragon Form failed to transform the dummy into the shape . (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). +2022-11-22T05:59:45.4091958Z ##[error]Shapeshift spell: Dragon Form failed to transform the dummy into the shape . (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). +2022-11-22T05:59:45.4093892Z ##[error]Shapeshift spell: Polar Bear Form failed to transform the dummy into the shape . (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). +2022-11-22T05:59:45.4095548Z ##[error]Shapeshift spell: Polar Bear Form failed to transform the dummy into the shape . (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). +2022-11-22T05:59:45.4097222Z ##[error]Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape mouse. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). +2022-11-22T05:59:45.4098881Z ##[error]Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape corgi. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). +2022-11-22T05:59:45.4100589Z ##[error]Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape chaos magicarp. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). +2022-11-22T05:59:45.4102710Z ##[error]Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape ED-209 Security Robot. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). +2022-11-22T05:59:45.4104442Z ##[error]Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape viper spider. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). +2022-11-22T05:59:45.4106168Z ##[error]Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape Juggernaut. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). +2022-11-22T05:59:45.4107958Z ##[error]Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape mouse. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). +2022-11-22T05:59:45.4110135Z ##[error]Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape corgi. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). +2022-11-22T05:59:45.4112154Z ##[error]Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape chaos magicarp. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). +2022-11-22T05:59:45.4114456Z ##[error]Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape ED-209 Security Robot. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). +2022-11-22T05:59:45.4116528Z ##[error]Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape viper spider. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). +2022-11-22T05:59:45.4118582Z ##[error]Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape Juggernaut. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). +2022-11-22T05:59:45.4119786Z FAILURE #1: Shapeshift spell: Dragon Form failed to transform the dummy into the shape . (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). at code/modules/unit_tests/spell_shapeshift.dm:65 +2022-11-22T05:59:45.4120672Z FAILURE #2: Shapeshift spell: Dragon Form failed to transform the dummy into the shape . (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). at code/modules/unit_tests/spell_shapeshift.dm:65 +2022-11-22T05:59:45.4121597Z FAILURE #3: Shapeshift spell: Polar Bear Form failed to transform the dummy into the shape . (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). at code/modules/unit_tests/spell_shapeshift.dm:65 +2022-11-22T05:59:45.4122479Z FAILURE #4: Shapeshift spell: Polar Bear Form failed to transform the dummy into the shape . (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). at code/modules/unit_tests/spell_shapeshift.dm:65 +2022-11-22T05:59:45.4123517Z FAILURE #5: Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape mouse. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). at code/modules/unit_tests/spell_shapeshift.dm:65 +2022-11-22T05:59:45.4124518Z FAILURE #6: Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape corgi. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). at code/modules/unit_tests/spell_shapeshift.dm:65 +2022-11-22T05:59:45.4125489Z FAILURE #7: Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape chaos magicarp. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). at code/modules/unit_tests/spell_shapeshift.dm:65 +2022-11-22T05:59:45.4126570Z FAILURE #8: Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape ED-209 Security Robot. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). at code/modules/unit_tests/spell_shapeshift.dm:65 +2022-11-22T05:59:45.4127396Z FAILURE #9: Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape viper spider. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). at code/modules/unit_tests/spell_shapeshift.dm:65 +2022-11-22T05:59:45.4128221Z FAILURE #10: Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape Juggernaut. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). at code/modules/unit_tests/spell_shapeshift.dm:65 +2022-11-22T05:59:45.4129047Z FAILURE #11: Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape mouse. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). at code/modules/unit_tests/spell_shapeshift.dm:65 +2022-11-22T05:59:45.4129842Z FAILURE #12: Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape corgi. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). at code/modules/unit_tests/spell_shapeshift.dm:65 +2022-11-22T05:59:45.4130862Z FAILURE #13: Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape chaos magicarp. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). at code/modules/unit_tests/spell_shapeshift.dm:65 +2022-11-22T05:59:45.4131926Z FAILURE #14: Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape ED-209 Security Robot. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). at code/modules/unit_tests/spell_shapeshift.dm:65 +2022-11-22T05:59:45.4132782Z FAILURE #15: Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape viper spider. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). at code/modules/unit_tests/spell_shapeshift.dm:65 +2022-11-22T05:59:45.4133589Z FAILURE #16: Shapeshift spell: Wild Shapeshift failed to transform the dummy into the shape Juggernaut. (Pablo Pfeifer was located within the floor, which is a /turf/open/floor/iron). at code/modules/unit_tests/spell_shapeshift.dm:65 +2022-11-22T05:59:45.4134297Z ##[endgroup] +2022-11-22T05:59:45.4135321Z ##[error]FAIL /datum/unit_test/shapeshift_spell 0.2s +2022-11-22T05:59:45.5762391Z ##[group]/datum/unit_test/shapeshift_holoparasites +2022-11-22T05:59:45.6070063Z +2022-11-22T05:59:45.6070794Z PASS /datum/unit_test/shapeshift_holoparasites 0.1s +2022-11-22T05:59:45.6071835Z ##[endgroup] +2022-11-22T05:59:45.6299960Z ##[group]/datum/unit_test/spritesheets +2022-11-22T05:59:45.6328891Z +2022-11-22T05:59:45.6329636Z PASS /datum/unit_test/spritesheets 0s +2022-11-22T05:59:45.6330450Z ##[endgroup] +2022-11-22T05:59:45.6504395Z ##[group]/datum/unit_test/stack_singular_name +2022-11-22T05:59:45.6504677Z +2022-11-22T05:59:45.6505199Z PASS /datum/unit_test/stack_singular_name 0s +2022-11-22T05:59:45.6506428Z ##[endgroup] +2022-11-22T05:59:45.6810947Z ##[group]/datum/unit_test/station_traits +2022-11-22T05:59:45.6811136Z +2022-11-22T05:59:45.6811839Z PASS /datum/unit_test/station_traits 0s +2022-11-22T05:59:45.6812628Z ##[endgroup] +2022-11-22T05:59:45.6968300Z ##[group]/datum/unit_test/stomach +2022-11-22T05:59:45.7241514Z +2022-11-22T05:59:45.7242199Z PASS /datum/unit_test/stomach 0.1s +2022-11-22T05:59:45.7242846Z ##[endgroup] +2022-11-22T05:59:45.7453036Z ##[group]/datum/unit_test/strip_menu_ui_status +2022-11-22T05:59:45.7868616Z +2022-11-22T05:59:45.7869391Z PASS /datum/unit_test/strip_menu_ui_status 0s +2022-11-22T05:59:45.7870070Z ##[endgroup] +2022-11-22T05:59:45.8340124Z ##[group]/datum/unit_test/subsystem_init +2022-11-22T05:59:45.8340353Z +2022-11-22T05:59:45.8340796Z PASS /datum/unit_test/subsystem_init 0s +2022-11-22T05:59:45.8341746Z ##[endgroup] +2022-11-22T05:59:45.8497480Z ##[group]/datum/unit_test/suit_storage_icons +2022-11-22T05:59:47.2782798Z 1 - /obj/item/ammo_casing/shotgun using invalid worn_icon_state, "shell" +2022-11-22T05:59:47.2904416Z 2 - /obj/item/gun/ballistic/shotgun/hook using invalid icon_state, "hookshotgun" +2022-11-22T05:59:47.3032597Z 3 - /obj/item/gun/ballistic/automatic/surplus using invalid icon_state, "surplus" +2022-11-22T05:59:47.3160623Z 4 - /obj/item/gun/energy/beam_rifle using invalid icon_state, "esniper" +2022-11-22T05:59:47.3179488Z 5 - /obj/item/gun/energy/lasercannon using invalid icon_state, "lasercannon" +2022-11-22T05:59:47.3204942Z 6 - /obj/item/gun/energy/ionrifle using invalid icon_state, "ionrifle" +2022-11-22T05:59:47.3205749Z 7 - /obj/item/gun/energy/ionrifle/carbine using invalid icon_state, "ioncarbine" +2022-11-22T05:59:47.3333663Z 8 - /obj/item/tome using invalid icon_state, "tome" +2022-11-22T05:59:47.3367736Z 9 - /obj/item/melee/sickly_blade/void using invalid icon_state, "void_blade" +2022-11-22T05:59:47.3379696Z 10 - /obj/item/nullrod/staff using invalid icon_state, "godstaff-red" +2022-11-22T05:59:47.3382004Z 11 - /obj/item/nullrod/staff/blue using invalid icon_state, "godstaff-blue" +2022-11-22T05:59:47.3455165Z 12 - /obj/item/nullrod/tribal_knife using invalid icon_state, "crysknife" +2022-11-22T05:59:47.3462398Z 13 - /obj/item/nullrod/spear using invalid icon_state, "ratvarian_spear" +2022-11-22T05:59:47.3471005Z 14 - /obj/item/candle using invalid icon_state, "candle1" +2022-11-22T05:59:47.3818626Z 15 - /obj/item/toy/eightball using invalid icon_state, "eightball" +2022-11-22T05:59:47.3819882Z 16 - /obj/item/toy/mecha using invalid icon_state, "fivestarstoy" +2022-11-22T05:59:47.3822376Z 17 - /obj/item/toy/mecha/ripley using invalid icon_state, "ripleytoy" +2022-11-22T05:59:47.3824854Z 18 - /obj/item/toy/mecha/ripleymkii using invalid icon_state, "ripleymkiitoy" +2022-11-22T05:59:47.3827367Z 19 - /obj/item/toy/mecha/hauler using invalid icon_state, "haulertoy" +2022-11-22T05:59:47.3829817Z 20 - /obj/item/toy/mecha/clarke using invalid icon_state, "clarketoy" +2022-11-22T05:59:47.3832329Z 21 - /obj/item/toy/mecha/odysseus using invalid icon_state, "odysseustoy" +2022-11-22T05:59:47.3834765Z 22 - /obj/item/toy/mecha/gygax using invalid icon_state, "gygaxtoy" +2022-11-22T05:59:47.3837259Z 23 - /obj/item/toy/mecha/durand using invalid icon_state, "durandtoy" +2022-11-22T05:59:47.3839922Z 24 - /obj/item/toy/mecha/savannahivanov using invalid icon_state, "savannahivanovtoy" +2022-11-22T05:59:47.3842813Z 25 - /obj/item/toy/mecha/phazon using invalid icon_state, "phazontoy" +2022-11-22T05:59:47.3845150Z 26 - /obj/item/toy/mecha/honk using invalid icon_state, "honktoy" +2022-11-22T05:59:47.3847669Z 27 - /obj/item/toy/mecha/darkgygax using invalid icon_state, "darkgygaxtoy" +2022-11-22T05:59:47.3850308Z 28 - /obj/item/toy/mecha/mauler using invalid icon_state, "maulertoy" +2022-11-22T05:59:47.3852869Z 29 - /obj/item/toy/mecha/darkhonk using invalid icon_state, "darkhonktoy" +2022-11-22T05:59:47.3855423Z 30 - /obj/item/toy/mecha/deathripley using invalid icon_state, "deathripleytoy" +2022-11-22T05:59:47.3857917Z 31 - /obj/item/toy/mecha/reticence using invalid icon_state, "reticencetoy" +2022-11-22T05:59:47.3860420Z 32 - /obj/item/toy/mecha/marauder using invalid icon_state, "maraudertoy" +2022-11-22T05:59:47.3863149Z 33 - /obj/item/toy/mecha/seraph using invalid icon_state, "seraphtoy" +2022-11-22T05:59:47.3865478Z 34 - /obj/item/toy/mecha/firefighter using invalid icon_state, "firefightertoy" +2022-11-22T05:59:47.3867946Z 35 - /obj/item/toy/waterballoon using invalid icon_state, "waterballoon-e" +2022-11-22T05:59:47.3870341Z 36 - /obj/item/toy/balloon using invalid icon_state, "balloon" +2022-11-22T05:59:47.3872883Z 37 - /obj/item/toy/balloon/corgi using invalid icon_state, "corgi" +2022-11-22T05:59:47.3875334Z 38 - /obj/item/toy/balloon/syndicate using invalid icon_state, "syndballoon" +2022-11-22T05:59:47.3877875Z 39 - /obj/item/toy/balloon/arrest using invalid icon_state, "arrestballoon" +2022-11-22T05:59:47.3881362Z 40 - /obj/item/toy/captainsaid using invalid icon_state, "captainsaid_off" +2022-11-22T05:59:47.3882960Z 41 - /obj/item/toy/spinningtoy using invalid icon_state, "singularity_s1" +2022-11-22T05:59:47.3887746Z 42 - /obj/item/toy/ammo/gun using invalid icon_state, "357OLD-7" +2022-11-22T05:59:47.3890028Z 43 - /obj/item/toy/sword using invalid icon_state, "e_sword" +2022-11-22T05:59:47.3892708Z 44 - /obj/item/toy/foamblade using invalid icon_state, "foamblade" +2022-11-22T05:59:47.3895134Z 45 - /obj/item/toy/windup_toolbox using invalid icon_state, "green" +2022-11-22T05:59:47.3899921Z 46 - /obj/item/toy/snappop using invalid icon_state, "snappop" +2022-11-22T05:59:47.3902685Z 47 - /obj/item/toy/talking using invalid icon_state, "owlprize" +2022-11-22T05:59:47.3904842Z 48 - /obj/item/toy/talking/ai using invalid icon_state, "AI" +2022-11-22T05:59:47.3907306Z 49 - /obj/item/toy/talking/codex_gigas using invalid icon_state, "demonomicon" +2022-11-22T05:59:47.3909825Z 50 - /obj/item/toy/talking/griffin using invalid icon_state, "griffinprize" +2022-11-22T05:59:47.3912295Z 51 - /obj/item/toy/nuke using invalid icon_state, "nuketoyidle" +2022-11-22T05:59:47.3914956Z 52 - /obj/item/toy/minimeteor using invalid icon_state, "minimeteor" +2022-11-22T05:59:47.3917314Z 53 - /obj/item/toy/redbutton using invalid icon_state, "bigred" +2022-11-22T05:59:47.3919850Z 54 - /obj/item/toy/snowball using invalid icon_state, "snowball" +2022-11-22T05:59:47.3922324Z 55 - /obj/item/toy/beach_ball using invalid icon_state, "ball" +2022-11-22T05:59:47.3924942Z 56 - /obj/item/toy/beach_ball/baseball using invalid icon_state, "baseball" +2022-11-22T05:59:47.3927403Z 57 - /obj/item/toy/beach_ball/holoball using invalid icon_state, "basketball" +2022-11-22T05:59:47.3930060Z 58 - /obj/item/toy/beach_ball/holoball/dodgeball using invalid icon_state, "dodgeball" +2022-11-22T05:59:47.3937167Z 59 - /obj/item/toy/toy_xeno using invalid icon_state, "toy_xeno" +2022-11-22T05:59:47.3939549Z 60 - /obj/item/toy/cattoy using invalid icon_state, "toy_mouse" +2022-11-22T05:59:47.3942078Z 61 - /obj/item/toy/figure using invalid icon_state, "nuketoy" +2022-11-22T05:59:47.3944589Z 62 - /obj/item/toy/figure/cmo using invalid icon_state, "cmo" +2022-11-22T05:59:47.3947155Z 63 - /obj/item/toy/figure/assistant using invalid icon_state, "assistant" +2022-11-22T05:59:47.3949638Z 64 - /obj/item/toy/figure/atmos using invalid icon_state, "atmos" +2022-11-22T05:59:47.3952141Z 65 - /obj/item/toy/figure/bartender using invalid icon_state, "bartender" +2022-11-22T05:59:47.3954628Z 66 - /obj/item/toy/figure/borg using invalid icon_state, "borg" +2022-11-22T05:59:47.3957148Z 67 - /obj/item/toy/figure/botanist using invalid icon_state, "botanist" +2022-11-22T05:59:47.3959629Z 68 - /obj/item/toy/figure/captain using invalid icon_state, "captain" +2022-11-22T05:59:47.3962149Z 69 - /obj/item/toy/figure/cargotech using invalid icon_state, "cargotech" +2022-11-22T05:59:47.3964605Z 70 - /obj/item/toy/figure/ce using invalid icon_state, "ce" +2022-11-22T05:59:47.3967148Z 71 - /obj/item/toy/figure/chaplain using invalid icon_state, "chaplain" +2022-11-22T05:59:47.3969647Z 72 - /obj/item/toy/figure/chef using invalid icon_state, "chef" +2022-11-22T05:59:47.3972328Z 73 - /obj/item/toy/figure/chemist using invalid icon_state, "chemist" +2022-11-22T05:59:47.3975052Z 74 - /obj/item/toy/figure/clown using invalid icon_state, "clown" +2022-11-22T05:59:47.3977375Z 75 - /obj/item/toy/figure/ian using invalid icon_state, "ian" +2022-11-22T05:59:47.3979914Z 76 - /obj/item/toy/figure/detective using invalid icon_state, "detective" +2022-11-22T05:59:47.3982376Z 77 - /obj/item/toy/figure/dsquad using invalid icon_state, "dsquad" +2022-11-22T05:59:47.3984915Z 78 - /obj/item/toy/figure/engineer using invalid icon_state, "engineer" +2022-11-22T05:59:47.3987388Z 79 - /obj/item/toy/figure/geneticist using invalid icon_state, "geneticist" +2022-11-22T05:59:47.3989933Z 80 - /obj/item/toy/figure/hop using invalid icon_state, "hop" +2022-11-22T05:59:47.3992345Z 81 - /obj/item/toy/figure/hos using invalid icon_state, "hos" +2022-11-22T05:59:47.3994832Z 82 - /obj/item/toy/figure/qm using invalid icon_state, "qm" +2022-11-22T05:59:47.3997314Z 83 - /obj/item/toy/figure/janitor using invalid icon_state, "janitor" +2022-11-22T05:59:47.3999822Z 84 - /obj/item/toy/figure/lawyer using invalid icon_state, "lawyer" +2022-11-22T05:59:47.4002303Z 85 - /obj/item/toy/figure/curator using invalid icon_state, "curator" +2022-11-22T05:59:47.4004824Z 86 - /obj/item/toy/figure/md using invalid icon_state, "md" +2022-11-22T05:59:47.4007316Z 87 - /obj/item/toy/figure/paramedic using invalid icon_state, "paramedic" +2022-11-22T05:59:47.4009871Z 88 - /obj/item/toy/figure/psychologist using invalid icon_state, "psychologist" +2022-11-22T05:59:47.4012455Z 89 - /obj/item/toy/figure/prisoner using invalid icon_state, "prisoner" +2022-11-22T05:59:47.4015072Z 90 - /obj/item/toy/figure/mime using invalid icon_state, "mime" +2022-11-22T05:59:47.4017416Z 91 - /obj/item/toy/figure/miner using invalid icon_state, "miner" +2022-11-22T05:59:47.4019976Z 92 - /obj/item/toy/figure/ninja using invalid icon_state, "ninja" +2022-11-22T05:59:47.4022438Z 93 - /obj/item/toy/figure/wizard using invalid icon_state, "wizard" +2022-11-22T05:59:47.4024907Z 94 - /obj/item/toy/figure/rd using invalid icon_state, "rd" +2022-11-22T05:59:47.4027464Z 95 - /obj/item/toy/figure/roboticist using invalid icon_state, "roboticist" +2022-11-22T05:59:47.4029958Z 96 - /obj/item/toy/figure/scientist using invalid icon_state, "scientist" +2022-11-22T05:59:47.4032492Z 97 - /obj/item/toy/figure/syndie using invalid icon_state, "syndie" +2022-11-22T05:59:47.4035062Z 98 - /obj/item/toy/figure/secofficer using invalid icon_state, "secofficer" +2022-11-22T05:59:47.4037516Z 99 - /obj/item/toy/figure/virologist using invalid icon_state, "virologist" +2022-11-22T05:59:47.4040034Z 100 - /obj/item/toy/figure/warden using invalid icon_state, "warden" +2022-11-22T05:59:47.4042570Z 101 - /obj/item/toy/dummy using invalid icon_state, "puppet" +2022-11-22T05:59:47.4045132Z 102 - /obj/item/toy/seashell using invalid icon_state, "shell1" +2022-11-22T05:59:47.4047654Z 103 - /obj/item/toy/brokenradio using invalid icon_state, "broken_radio" +2022-11-22T05:59:47.4050253Z 104 - /obj/item/toy/braintoy using invalid icon_state, "brain-old" +2022-11-22T05:59:47.4055251Z 105 - /obj/item/toy/reality_pierce using invalid icon_state, "pierced_illusion" +2022-11-22T05:59:47.4057520Z 106 - /obj/item/toy/foamfinger using invalid icon_state, "foamfinger" +2022-11-22T05:59:47.4060004Z 107 - /obj/item/toy/intento using invalid icon_state, "blank" +2022-11-22T05:59:47.4092596Z 108 - /obj/item/toy/sprayoncan using invalid icon_state, "sprayoncan" +2022-11-22T05:59:47.4093827Z 109 - /obj/item/toy/xmas_cracker using invalid icon_state, "cracker" +2022-11-22T05:59:47.4098242Z 110 - /obj/item/cultivator/rake using invalid icon_state, "rake" +2022-11-22T05:59:47.4104109Z 111 - /obj/item/hatchet/wooden using invalid icon_state, "woodhatchet" +2022-11-22T05:59:47.4106239Z 112 - /obj/item/hatchet/cutterblade using invalid icon_state, "cutterblade" +2022-11-22T05:59:47.4792952Z 113 - /obj/item/reagent_containers/hypospray/medipen using invalid worn_icon_state, "medipen" +2022-11-22T05:59:47.4928931Z 114 - /obj/item/storage/pill_bottle using invalid icon_state, "pill_canister" +2022-11-22T05:59:47.4937506Z 115 - /obj/item/analyzer/ranged using invalid icon_state, "analyzerranged" +2022-11-22T05:59:47.5463999Z 116 - /obj/item/organ/internal/monster_core using invalid icon_state, "hivelord_core" +2022-11-22T05:59:47.5466585Z 117 - /obj/item/organ/internal/monster_core/brimdust_sac using invalid icon_state, "brim_sac" +2022-11-22T05:59:47.5467229Z 118 - /obj/item/organ/internal/monster_core/regenerative_core/legion using invalid icon_state, "legion_core" +2022-11-22T05:59:47.5469256Z 119 - /obj/item/organ/internal/monster_core/rush_gland using invalid icon_state, "lobster_gland" +2022-11-22T05:59:47.5479181Z 120 - /obj/item/spear/bamboospear using invalid icon_state, "bamboo_spear0" +2022-11-22T05:59:47.5517467Z 121 - /obj/item/abductor/gizmo using invalid icon_state, "gizmo_scan" +2022-11-22T05:59:47.5518755Z 122 - /obj/item/abductor/silencer using invalid icon_state, "silencer" +2022-11-22T05:59:47.5521102Z 123 - /obj/item/abductor/mind_device using invalid icon_state, "mind_device_message" +2022-11-22T05:59:47.5536484Z 124 - /obj/item/claymore/cutlass using invalid worn_icon_state, "cutlass" +2022-11-22T05:59:47.5540915Z 125 - /obj/item/claymore/highlander/robot using invalid icon_state, "claymore_cyborg" +2022-11-22T05:59:47.5543262Z 126 - /obj/item/banner using invalid icon_state, "banner" +2022-11-22T05:59:47.5545809Z 127 - /obj/item/banner/security using invalid icon_state, "banner_security" +2022-11-22T05:59:47.5548315Z 128 - /obj/item/banner/medical using invalid icon_state, "banner_medical" +2022-11-22T05:59:47.5550843Z 129 - /obj/item/banner/science using invalid icon_state, "banner_science" +2022-11-22T05:59:47.5553341Z 130 - /obj/item/banner/cargo using invalid icon_state, "banner_cargo" +2022-11-22T05:59:47.5555871Z 131 - /obj/item/banner/engineering using invalid icon_state, "banner_engineering" +2022-11-22T05:59:47.5558379Z 132 - /obj/item/banner/red using invalid icon_state, "banner-red" +2022-11-22T05:59:47.5560854Z 133 - /obj/item/banner/blue using invalid icon_state, "banner-blue" +2022-11-22T05:59:47.5597308Z 134 - /obj/item/gun/magic/staff using invalid icon_state, "staff" +2022-11-22T05:59:47.5598624Z 135 - /obj/item/gun/magic/staff/change using invalid icon_state, "staffofchange" +2022-11-22T05:59:47.5601122Z 136 - /obj/item/gun/magic/staff/animate using invalid icon_state, "staffofanimation" +2022-11-22T05:59:47.5603650Z 137 - /obj/item/gun/magic/staff/healing using invalid icon_state, "staffofhealing" +2022-11-22T05:59:47.5606162Z 138 - /obj/item/gun/magic/staff/chaos using invalid icon_state, "staffofchaos" +2022-11-22T05:59:47.5608674Z 139 - /obj/item/gun/magic/staff/door using invalid icon_state, "staffofdoor" +2022-11-22T05:59:47.5611329Z 140 - /obj/item/gun/magic/staff/honk using invalid icon_state, "honker" +2022-11-22T05:59:47.5616211Z 141 - /obj/item/gun/magic/staff/locker using invalid worn_icon_state, "lockerstaff" +2022-11-22T05:59:47.5618590Z 142 - /obj/item/gun/magic/staff/flying using invalid worn_icon_state, "flightstaff" +2022-11-22T05:59:47.5621083Z 143 - /obj/item/gun/magic/staff/babel using invalid worn_icon_state, "babelstaff" +2022-11-22T05:59:47.5623626Z 144 - /obj/item/gun/magic/staff/necropotence using invalid worn_icon_state, "necrostaff" +2022-11-22T05:59:47.5626131Z 145 - /obj/item/gun/magic/staff/wipe using invalid worn_icon_state, "wipestaff" +2022-11-22T05:59:47.5643345Z 146 - /obj/item/melee/energy/sword/pirate using invalid icon_state, "e_cutlass" +2022-11-22T05:59:47.5645538Z 147 - /obj/item/clothing/glasses/eyepatch using invalid icon_state, "eyepatch" +2022-11-22T05:59:47.5650375Z 148 - /obj/item/melee/energy/sword/cyborg/saw using invalid icon_state, "esaw" +2022-11-22T05:59:47.5661667Z 149 - /obj/item/tank/jetpack/improvised using invalid worn_icon_state, "jetpack-improvised" +2022-11-22T05:59:47.5667402Z 150 - /obj/item/multitool using invalid icon_state, "multitool" +2022-11-22T05:59:47.5669936Z 151 - /obj/item/multitool/cyborg using invalid icon_state, "multitool_cyborg" +2022-11-22T05:59:47.5672485Z 152 - /obj/item/multitool/circuit using invalid icon_state, "multitool_circuit" +2022-11-22T05:59:47.5675177Z 153 - /obj/item/pillow using invalid icon_state, "pillow_1_t" +2022-11-22T05:59:47.5677618Z 154 - /obj/item/pillow/clown using invalid icon_state, "pillow_5_t" +2022-11-22T05:59:47.5680084Z 155 - /obj/item/pillow/mime using invalid icon_state, "pillow_6_t" +2022-11-22T05:59:47.5682788Z 156 - /obj/item/storage/bag/trash using invalid icon_state, "trashbag" +2022-11-22T05:59:47.5685228Z 157 - /obj/item/storage/bag/trash/bluespace using invalid icon_state, "bluetrashbag" +2022-11-22T05:59:47.5687673Z 158 - /obj/item/cane using invalid icon_state, "cane" +2022-11-22T05:59:47.5690323Z 159 - /obj/item/cane/white using invalid icon_state, "cane_white" +2022-11-22T05:59:47.5692922Z 160 - /obj/item/megaphone/clown using invalid icon_state, "megaphone-clown" +2022-11-22T05:59:47.5711035Z 161 - /obj/item/food/pie/cream using invalid icon_state, "pie" +2022-11-22T05:59:47.5722637Z 162 - /obj/item/instrument/bikehorn using invalid icon_state, "bike_horn" +2022-11-22T05:59:47.5724979Z 163 - /obj/item/reagent_containers/cup/soda_cans/canned_laughter using invalid icon_state, "laughter" +2022-11-22T05:59:47.5740550Z 164 - /obj/item/grown/bananapeel using invalid icon_state, "banana_peel" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-11-22T05:59:47.5741267Z 165 - /obj/item/grown/bananapeel/bombanana using invalid icon_state, "banana_peel" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-11-22T05:59:47.5741975Z 166 - /obj/item/grown/bananapeel/mimanapeel using invalid icon_state, "mimana_peel" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-11-22T05:59:47.5742678Z 167 - /obj/item/grown/bananapeel/bluespace using invalid icon_state, "bluenana_peel" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-11-22T05:59:47.5743387Z 168 - /obj/item/grown/bananapeel/specialpeel using invalid icon_state, "banana_peel" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-11-22T05:59:47.5744054Z 169 - /obj/item/food/grown/banana using invalid icon_state, "banana" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-11-22T05:59:47.5744727Z 170 - /obj/item/food/grown/banana/bombanana using invalid icon_state, "banana" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-11-22T05:59:47.5745395Z 171 - /obj/item/food/grown/banana/mime using invalid icon_state, "mimana" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-11-22T05:59:47.5746068Z 172 - /obj/item/food/grown/banana/bluespace using invalid icon_state, "bluenana" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-11-22T05:59:47.5746753Z 173 - /obj/item/food/grown/banana/bunch using invalid icon_state, "banana_bunch" in worn_icon override file, 'icons/mob/clothing/head/hydroponics.dmi' +2022-11-22T05:59:47.5748235Z 174 - /obj/item/stack/spacecash/c1 using invalid icon_state, "spacecash1" +2022-11-22T05:59:47.5749552Z 175 - /obj/item/stack/spacecash/c10 using invalid icon_state, "spacecash10" +2022-11-22T05:59:47.5750858Z 176 - /obj/item/stack/spacecash/c20 using invalid icon_state, "spacecash20" +2022-11-22T05:59:47.5752155Z 177 - /obj/item/stack/spacecash/c50 using invalid icon_state, "spacecash50" +2022-11-22T05:59:47.5754575Z 178 - /obj/item/stack/spacecash/c100 using invalid icon_state, "spacecash100" +2022-11-22T05:59:47.5758018Z 179 - /obj/item/stack/spacecash/c200 using invalid icon_state, "spacecash200" +2022-11-22T05:59:47.5759981Z 180 - /obj/item/stack/spacecash/c500 using invalid icon_state, "spacecash500" +2022-11-22T05:59:47.5763153Z 181 - /obj/item/stack/spacecash/c1000 using invalid icon_state, "spacecash1000" +2022-11-22T05:59:47.5765191Z 182 - /obj/item/stack/spacecash/c10000 using invalid icon_state, "spacecash10000" +2022-11-22T05:59:47.5768449Z 183 - /obj/item/clothing/mask/facehugger/toy using invalid worn_icon_state, "facehugger" +2022-11-22T05:59:47.5777399Z 184 - /obj/item/kitchen/fork using invalid icon_state, "fork" +2022-11-22T05:59:47.5779609Z 185 - /obj/item/kitchen/fork/plastic using invalid icon_state, "plastic_fork" +2022-11-22T05:59:47.5786931Z 186 - /obj/item/kitchen/spoon using invalid icon_state, "spoon" +2022-11-22T05:59:47.5788816Z 187 - /obj/item/kitchen/spoon/plastic using invalid icon_state, "plastic_spoon" +2022-11-22T05:59:47.5796132Z 188 - /obj/item/bonesetter using invalid icon_state, "bonesetter" +2022-11-22T05:59:47.5798117Z 189 - /obj/item/cautery using invalid icon_state, "cautery" +2022-11-22T05:59:47.5801358Z 190 - /obj/item/cautery/advanced using invalid icon_state, "e_cautery" +2022-11-22T05:59:47.5803355Z 191 - /obj/item/hemostat using invalid icon_state, "hemostat" +2022-11-22T05:59:47.5806562Z 192 - /obj/item/hemostat/supermatter using invalid icon_state, "supermatter_tongs" +2022-11-22T05:59:47.5808614Z 193 - /obj/item/retractor using invalid icon_state, "retractor" +2022-11-22T05:59:47.5811999Z 194 - /obj/item/retractor/advanced using invalid icon_state, "adv_retractor" +2022-11-22T05:59:47.5814490Z 195 - /obj/item/scalpel using invalid icon_state, "scalpel" +2022-11-22T05:59:47.5817072Z 196 - /obj/item/scalpel/supermatter using invalid icon_state, "supermatter_scalpel" +2022-11-22T05:59:47.5820120Z 197 - /obj/item/scalpel/advanced using invalid icon_state, "e_scalpel" +2022-11-22T05:59:47.5822112Z 198 - /obj/item/surgical_drapes using invalid icon_state, "surgical_drapes" +2022-11-22T05:59:47.5826686Z 199 - /obj/item/stack/medical/bruise_pack using invalid icon_state, "brutepack" +2022-11-22T05:59:47.5829169Z 200 - /obj/item/stack/medical/gauze using invalid icon_state, "gauze" +2022-11-22T05:59:47.5831713Z 201 - /obj/item/stack/medical/suture using invalid icon_state, "suture" +2022-11-22T05:59:47.5834293Z 202 - /obj/item/stack/medical/suture/medicated using invalid icon_state, "suture_purp" +2022-11-22T05:59:47.5836945Z 203 - /obj/item/stack/medical/ointment using invalid icon_state, "ointment" +2022-11-22T05:59:47.5839365Z 204 - /obj/item/stack/medical/mesh using invalid icon_state, "regen_mesh" +2022-11-22T05:59:47.5841890Z 205 - /obj/item/stack/medical/mesh/advanced using invalid icon_state, "aloe_mesh" +2022-11-22T05:59:47.5844397Z 206 - /obj/item/stack/medical/aloe using invalid icon_state, "aloe_paste" +2022-11-22T05:59:47.5846906Z 207 - /obj/item/stack/medical/bone_gel using invalid icon_state, "bone-gel" +2022-11-22T05:59:47.5849452Z 208 - /obj/item/stack/medical/poultice using invalid icon_state, "poultice" +2022-11-22T05:59:47.5852140Z 209 - /obj/item/assembly/flash/handheld using invalid icon_state, "flash" +2022-11-22T05:59:47.5854699Z 210 - /obj/item/clothing/mask/cigarette using invalid icon_state, "cigoff" +2022-11-22T05:59:47.5857377Z 211 - /obj/item/clothing/mask/cigarette/rollie using invalid icon_state, "spliffoff" +2022-11-22T05:59:47.5859944Z 212 - /obj/item/clothing/mask/cigarette/candy using invalid icon_state, "candyoff" +2022-11-22T05:59:47.5862552Z 213 - /obj/item/clothing/mask/cigarette/cigar using invalid icon_state, "cigaroff" +2022-11-22T05:59:47.5865143Z 214 - /obj/item/clothing/mask/cigarette/cigar/cohiba using invalid icon_state, "cigar2off" +2022-11-22T05:59:47.5867644Z 215 - /obj/item/clothing/mask/cigarette/pipe using invalid icon_state, "pipeoff" +2022-11-22T05:59:47.5870191Z 216 - /obj/item/clothing/mask/cigarette/pipe/cobpipe using invalid icon_state, "cobpipeoff" +2022-11-22T05:59:47.5872621Z 217 - /obj/item/disk using invalid icon_state, "datadisk0" +2022-11-22T05:59:47.5875148Z 218 - /obj/item/disk/holodisk using invalid icon_state, "holodisk" +2022-11-22T05:59:47.5877898Z 219 - /obj/item/disk/nuclear using invalid icon_state, "nucleardisk" +2022-11-22T05:59:47.5880496Z 220 - /obj/item/disk/surgery using invalid icon_state, "datadisk1" +2022-11-22T05:59:47.5883119Z 221 - /obj/item/disk/cargo/bluespace_pod using invalid icon_state, "cargodisk" +2022-11-22T05:59:47.5885955Z 222 - /obj/item/disk/tech_disk/major using invalid icon_state, "rndmajordisk" +2022-11-22T05:59:47.5888500Z 223 - /obj/item/melee/powerfist using invalid icon_state, "powerfist" +2022-11-22T05:59:47.5897706Z 224 - /obj/item/melee/skateboard using invalid icon_state, "skateboard" +2022-11-22T05:59:47.5899984Z 225 - /obj/item/melee/skateboard/pro using invalid icon_state, "skateboard2" +2022-11-22T05:59:47.5902460Z 226 - /obj/item/melee/skateboard/hoverboard using invalid icon_state, "hoverboard_red" +2022-11-22T05:59:47.5904690Z 227 - /obj/item/melee/skateboard/hoverboard/admin using invalid icon_state, "hoverboard_nt" +2022-11-22T05:59:47.5907845Z 228 - /obj/item/melee/baseball_bat using invalid icon_state, "baseball_bat" +2022-11-22T05:59:47.5910306Z 229 - /obj/item/melee/baseball_bat/homerun using invalid icon_state, "baseball_bat_home" +2022-11-22T05:59:47.5912836Z 230 - /obj/item/melee/baseball_bat/ablative using invalid icon_state, "baseball_bat_metal" +2022-11-22T05:59:47.5915302Z 231 - /obj/item/melee/flyswatter using invalid icon_state, "flyswatter" +2022-11-22T05:59:47.5919886Z 232 - /obj/item/melee/energy/axe using invalid icon_state, "axe" +2022-11-22T05:59:47.5922388Z 233 - /obj/item/melee/energy/blade using invalid icon_state, "blade" +2022-11-22T05:59:47.5924922Z 234 - /obj/item/melee/energy/blade/hardlight using invalid icon_state, "lightblade" +2022-11-22T05:59:47.5927400Z 235 - /obj/item/melee/synthetic_arm_blade using invalid icon_state, "arm_blade" +2022-11-22T05:59:47.5929855Z 236 - /obj/item/melee/sabre using invalid icon_state, "sabre" +2022-11-22T05:59:47.5932585Z 237 - /obj/item/melee/beesword using invalid worn_icon_state, "stinger" +2022-11-22T05:59:47.5935177Z 238 - /obj/item/melee/supermatter_sword using invalid icon_state, "supermatter_sword" +2022-11-22T05:59:47.5941969Z 239 - /obj/item/melee/cleric_mace using invalid worn_icon_state, "default_worn" +2022-11-22T05:59:47.5944403Z 240 - /obj/item/melee/rune_carver using invalid icon_state, "rune_carver" +2022-11-22T05:59:47.5946893Z 241 - /obj/item/melee/ghost_sword using invalid icon_state, "spectral" +2022-11-22T05:59:47.5949437Z 242 - /obj/item/reagent_containers/cup/glass/flask using invalid icon_state, "flask" +2022-11-22T05:59:47.5951947Z 243 - /obj/item/reagent_containers/cup/glass/flask/gold using invalid icon_state, "flask_gold" +2022-11-22T05:59:47.5954470Z 244 - /obj/item/reagent_containers/cup/glass/flask/det using invalid icon_state, "detflask" +2022-11-22T05:59:47.5956926Z 245 - /obj/item/stamp using invalid icon_state, "stamp-ok" +2022-11-22T05:59:47.5959499Z 246 - /obj/item/stamp/qm using invalid icon_state, "stamp-qm" +2022-11-22T05:59:47.5962007Z 247 - /obj/item/stamp/law using invalid icon_state, "stamp-law" +2022-11-22T05:59:47.5964537Z 248 - /obj/item/stamp/captain using invalid icon_state, "stamp-cap" +2022-11-22T05:59:47.5967023Z 249 - /obj/item/stamp/hop using invalid icon_state, "stamp-hop" +2022-11-22T05:59:47.5969512Z 250 - /obj/item/stamp/hos using invalid icon_state, "stamp-hos" +2022-11-22T05:59:47.5972211Z 251 - /obj/item/stamp/ce using invalid icon_state, "stamp-ce" +2022-11-22T05:59:47.5974735Z 252 - /obj/item/stamp/rd using invalid icon_state, "stamp-rd" +2022-11-22T05:59:47.5977316Z 253 - /obj/item/stamp/cmo using invalid icon_state, "stamp-cmo" +2022-11-22T05:59:47.5979863Z 254 - /obj/item/stamp/denied using invalid icon_state, "stamp-deny" +2022-11-22T05:59:47.5982340Z 255 - /obj/item/stamp/void using invalid icon_state, "stamp-void" +2022-11-22T05:59:47.5984839Z 256 - /obj/item/stamp/clown using invalid icon_state, "stamp-clown" +2022-11-22T05:59:47.5987328Z 257 - /obj/item/stamp/mime using invalid icon_state, "stamp-mime" +2022-11-22T05:59:47.5989790Z 258 - /obj/item/stamp/chap using invalid icon_state, "stamp-chap" +2022-11-22T05:59:47.5992332Z 259 - /obj/item/stamp/centcom using invalid icon_state, "stamp-centcom" +2022-11-22T05:59:47.5994835Z 260 - /obj/item/stamp/syndicate using invalid icon_state, "stamp-syndicate" +2022-11-22T05:59:47.5999537Z 261 - /obj/item/storage/lockbox/medal using invalid icon_state, "medalbox+l" +2022-11-22T05:59:47.6006307Z 262 - /obj/item/crowbar/red/caravan using invalid icon_state, "crowbar_caravan" +2022-11-22T05:59:47.6026916Z 263 - /obj/item/crowbar/mechremoval using invalid icon_state, "mechremoval0" +2022-11-22T05:59:47.6027464Z 264 - /obj/item/crowbar/drone using invalid icon_state, "crowbar_cyborg" +2022-11-22T05:59:47.6045435Z +2022-11-22T05:59:47.6045723Z PASS /datum/unit_test/suit_storage_icons 1.8s +2022-11-22T05:59:47.6046285Z ##[endgroup] +2022-11-22T05:59:49.3705818Z ##[group]/datum/unit_test/amputation +2022-11-22T05:59:49.4134911Z +2022-11-22T05:59:49.4135822Z PASS /datum/unit_test/amputation 0.1s +2022-11-22T05:59:49.4136599Z ##[endgroup] +2022-11-22T05:59:49.4382113Z ##[group]/datum/unit_test/brain_surgery +2022-11-22T05:59:49.4804850Z +2022-11-22T05:59:49.4805763Z PASS /datum/unit_test/brain_surgery 0s +2022-11-22T05:59:49.4806504Z ##[endgroup] +2022-11-22T05:59:49.5219202Z ##[group]/datum/unit_test/head_transplant +2022-11-22T05:59:49.5928104Z +2022-11-22T05:59:49.5929815Z PASS /datum/unit_test/head_transplant 0s +2022-11-22T05:59:49.5933029Z ##[endgroup] +2022-11-22T05:59:49.6712586Z ##[group]/datum/unit_test/multiple_surgeries +2022-11-22T05:59:49.7356777Z +2022-11-22T05:59:49.7357986Z PASS /datum/unit_test/multiple_surgeries 0.1s +2022-11-22T05:59:49.7359539Z ##[endgroup] +2022-11-22T05:59:49.7649974Z ##[group]/datum/unit_test/start_tend_wounds +2022-11-22T05:59:49.8066946Z +2022-11-22T05:59:49.8067917Z PASS /datum/unit_test/start_tend_wounds 0.1s +2022-11-22T05:59:49.8068876Z ##[endgroup] +2022-11-22T05:59:49.8487591Z ##[group]/datum/unit_test/tend_wounds +2022-11-22T05:59:49.9400599Z +2022-11-22T05:59:49.9401319Z PASS /datum/unit_test/tend_wounds 0.1s +2022-11-22T05:59:49.9402005Z ##[endgroup] +2022-11-22T05:59:50.0310912Z ##[group]/datum/unit_test/auto_teleporter_linking +2022-11-22T05:59:50.0641967Z +2022-11-22T05:59:50.0643714Z PASS /datum/unit_test/auto_teleporter_linking 0s +2022-11-22T05:59:50.0647032Z ##[endgroup] +2022-11-22T05:59:50.0823643Z ##[group]/datum/unit_test/tgui_create_message +2022-11-22T05:59:50.0824184Z +2022-11-22T05:59:50.0826702Z PASS /datum/unit_test/tgui_create_message 0s +2022-11-22T05:59:50.0827332Z ##[endgroup] +2022-11-22T05:59:50.0980740Z ##[group]/datum/unit_test/timer_sanity +2022-11-22T05:59:50.0981184Z +2022-11-22T05:59:50.0983576Z PASS /datum/unit_test/timer_sanity 0s +2022-11-22T05:59:50.0984274Z ##[endgroup] +2022-11-22T05:59:50.1136569Z ##[group]/datum/unit_test/traitor +2022-11-22T05:59:51.5476276Z +2022-11-22T05:59:51.5477028Z PASS /datum/unit_test/traitor 1.4s +2022-11-22T05:59:51.5477682Z ##[endgroup] +2022-11-22T05:59:53.7711821Z ##[group]/datum/unit_test/verify_config_tags +2022-11-22T05:59:53.7714663Z +2022-11-22T05:59:53.7716722Z PASS /datum/unit_test/verify_config_tags 0s +2022-11-22T05:59:53.7718585Z ##[endgroup] +2022-11-22T05:59:53.7880948Z ##[group]/datum/unit_test/verify_emoji_names +2022-11-22T05:59:53.7883956Z +2022-11-22T05:59:53.7885900Z PASS /datum/unit_test/verify_emoji_names 0s +2022-11-22T05:59:53.7886813Z ##[endgroup] +2022-11-22T05:59:53.8042437Z ##[group]/datum/unit_test/wizard_loadout +2022-11-22T05:59:53.8966549Z +2022-11-22T05:59:53.8967690Z PASS /datum/unit_test/wizard_loadout 0s +2022-11-22T05:59:53.8971302Z ##[endgroup] +2022-11-22T05:59:54.0341360Z ##[group]/datum/unit_test/find_reference_sanity +2022-11-22T05:59:54.0343250Z +2022-11-22T05:59:54.0344168Z PASS /datum/unit_test/find_reference_sanity 0s +2022-11-22T05:59:54.0344973Z ##[endgroup] +2022-11-22T05:59:54.0508234Z ##[group]/datum/unit_test/find_reference_baseline +2022-11-22T05:59:54.0509845Z +2022-11-22T05:59:54.0510616Z PASS /datum/unit_test/find_reference_baseline 0s +2022-11-22T05:59:54.0511376Z ##[endgroup] +2022-11-22T05:59:54.0666075Z ##[group]/datum/unit_test/find_reference_exotic +2022-11-22T05:59:54.0667801Z +2022-11-22T05:59:54.0668446Z PASS /datum/unit_test/find_reference_exotic 0s +2022-11-22T05:59:54.0669104Z ##[endgroup] +2022-11-22T05:59:54.0824375Z ##[group]/datum/unit_test/find_reference_esoteric +2022-11-22T05:59:54.0827948Z +2022-11-22T05:59:54.0828897Z PASS /datum/unit_test/find_reference_esoteric 0s +2022-11-22T05:59:54.0831682Z ##[endgroup] +2022-11-22T05:59:54.0985304Z ##[group]/datum/unit_test/find_reference_null_key_entry +2022-11-22T05:59:54.0986412Z +2022-11-22T05:59:54.0989135Z PASS /datum/unit_test/find_reference_null_key_entry 0s +2022-11-22T05:59:54.0989794Z ##[endgroup] +2022-11-22T05:59:54.1142690Z ##[group]/datum/unit_test/find_reference_assoc_investigation +2022-11-22T05:59:54.1144882Z +2022-11-22T05:59:54.1145600Z PASS /datum/unit_test/find_reference_assoc_investigation 0s +2022-11-22T05:59:54.1146288Z ##[endgroup] +2022-11-22T05:59:54.1488133Z ##[group]/datum/unit_test/find_reference_static_investigation +2022-11-22T05:59:54.3399002Z +2022-11-22T05:59:54.3403994Z PASS /datum/unit_test/find_reference_static_investigation 0.2s +2022-11-22T05:59:54.3407766Z ##[endgroup] +2022-11-22T05:59:54.5076371Z ##[group]/datum/unit_test/area_contents +2022-11-22T05:59:55.8000804Z +2022-11-22T05:59:55.8001526Z PASS /datum/unit_test/area_contents 1.2s +2022-11-22T05:59:55.8002197Z ##[endgroup] +2022-11-22T05:59:57.0666199Z ##[group]/datum/unit_test/mapload_space_verification +2022-11-22T05:59:57.6160655Z +2022-11-22T05:59:57.6161803Z PASS /datum/unit_test/mapload_space_verification 0.6s +2022-11-22T05:59:57.6162718Z ##[endgroup] +2022-11-22T05:59:58.1323397Z ##[group]/datum/unit_test/monkey_business +2022-11-22T06:00:35.7184860Z +2022-11-22T06:00:35.7185899Z PASS /datum/unit_test/monkey_business 37.6s +2022-11-22T06:00:35.7186595Z ##[endgroup] +2022-11-22T06:00:37.5877549Z ##[group]/datum/unit_test/create_and_destroy +2022-11-22T06:05:59.0302461Z +2022-11-22T06:05:59.0303736Z PASS /datum/unit_test/create_and_destroy 321.5s +2022-11-22T06:05:59.0304705Z ##[endgroup] +2022-11-22T06:05:59.0560174Z Shutting down Chat subsystem... +2022-11-22T06:05:59.0560975Z Shutting down Init Profiler subsystem... +2022-11-22T06:05:59.0561903Z Shutting down Ban Cache subsystem... +2022-11-22T06:05:59.0562231Z Shutting down Stat Panels subsystem... +2022-11-22T06:05:59.0562518Z Shutting down Explosions subsystem... +2022-11-22T06:05:59.0562810Z Shutting down Pathfinder subsystem... +2022-11-22T06:05:59.0563088Z Shutting down Minor Mapping subsystem... +2022-11-22T06:05:59.0563534Z Shutting down Shuttle subsystem... +2022-11-22T06:05:59.0565078Z Shutting down Lighting subsystem... +2022-11-22T06:05:59.0566480Z Shutting down XKeyScore subsystem... +2022-11-22T06:05:59.0567870Z Shutting down PRISM subsystem... +2022-11-22T06:05:59.0569247Z Shutting down Icon Smoothing subsystem... +2022-11-22T06:05:59.0570863Z Shutting down Assets subsystem... +2022-11-22T06:05:59.0572220Z Shutting down Vote subsystem... +2022-11-22T06:05:59.0573617Z Shutting down Persistent Paintings subsystem... +2022-11-22T06:05:59.0575023Z Shutting down Persistence subsystem... +2022-11-22T06:05:59.0576420Z Shutting down Atmospherics subsystem... +2022-11-22T06:05:59.0577826Z Shutting down Wiremod Composite Templates subsystem... +2022-11-22T06:05:59.0579235Z Shutting down Wet floors subsystem... +2022-11-22T06:05:59.0580595Z Shutting down Weather subsystem... +2022-11-22T06:05:59.0581983Z Shutting down Wardrobe subsystem... +2022-11-22T06:05:59.0583357Z Shutting down Verb Manager subsystem... +2022-11-22T06:05:59.0584713Z Shutting down Tram Process subsystem... +2022-11-22T06:05:59.0586074Z Shutting down Traitor subsystem... +2022-11-22T06:05:59.0587442Z Shutting down Throwing subsystem... +2022-11-22T06:05:59.0588806Z Shutting down tgui subsystem... +2022-11-22T06:05:59.0590275Z Shutting down Supermatter Cascade subsystem... +2022-11-22T06:05:59.0591689Z Shutting down Sun subsystem... +2022-11-22T06:05:59.0593206Z Shutting down Speech Controller subsystem... +2022-11-22T06:05:59.0594635Z Shutting down Space Drift subsystem... +2022-11-22T06:05:59.0596040Z Shutting down Smoke subsystem... +2022-11-22T06:05:59.0597460Z Shutting down Singularity subsystem... +2022-11-22T06:05:59.0598856Z Shutting down Radio subsystem... +2022-11-22T06:05:59.0600239Z Shutting down Radiation subsystem... +2022-11-22T06:05:59.0601840Z Shutting down Projectiles subsystem... +2022-11-22T06:05:59.0603292Z Shutting down Processing subsystem... +2022-11-22T06:05:59.0604868Z Shutting down Points of Interest subsystem... +2022-11-22T06:05:59.0606290Z Shutting down Plumbing subsystem... +2022-11-22T06:05:59.0607708Z Shutting down Ping subsystem... +2022-11-22T06:05:59.0609094Z Shutting down Parallax subsystem... +2022-11-22T06:05:59.0611351Z Shutting down pAI subsystem... +2022-11-22T06:05:59.0611677Z Shutting down Overlay subsystem... +2022-11-22T06:05:59.3302992Z Shutting down Objects subsystem... +2022-11-22T06:05:59.3303354Z Shutting down Obj Tab Items subsystem... +2022-11-22T06:05:59.3303683Z Shutting down NPC Pool subsystem... +2022-11-22T06:05:59.3303994Z Shutting down Night Shift subsystem... +2022-11-22T06:05:59.3304320Z Shutting down Movement Loops subsystem... +2022-11-22T06:05:59.3304653Z Shutting down Movement Handler subsystem... +2022-11-22T06:05:59.3304967Z Shutting down MouseEntered subsystem... +2022-11-22T06:05:59.3305289Z Shutting down Mood subsystem... +2022-11-22T06:05:59.3305578Z Shutting down Mobs subsystem... +2022-11-22T06:05:59.3305883Z Shutting down Materials subsystem... +2022-11-22T06:05:59.3306202Z Shutting down Lua Scripting subsystem... +2022-11-22T06:05:59.3460713Z Shutting down Library Loading subsystem... +2022-11-22T06:05:59.3461033Z Shutting down Lag Switch subsystem... +2022-11-22T06:05:59.3461327Z Shutting down Idling NPC Pool subsystem... +2022-11-22T06:05:59.3461603Z Shutting down Foam subsystem... +2022-11-22T06:05:59.3461857Z Shutting down Fluid subsystem... +2022-11-22T06:05:59.3462121Z Shutting down Fire Burning subsystem... +2022-11-22T06:05:59.3462392Z Shutting down Fast Processing subsystem... +2022-11-22T06:05:59.3462673Z Shutting down Eigenstates subsystem... +2022-11-22T06:05:59.3462939Z Shutting down Disease subsystem... +2022-11-22T06:05:59.3463226Z Shutting down Datum Component System subsystem... +2022-11-22T06:05:59.3463522Z Shutting down Conveyor Belts subsystem... +2022-11-22T06:05:59.3463807Z Shutting down Communications subsystem... +2022-11-22T06:05:59.3464096Z Shutting down Clock Component subsystem... +2022-11-22T06:05:59.3464398Z Shutting down Circuit Components subsystem... +2022-11-22T06:05:59.3464683Z Shutting down Blackmarket subsystem... +2022-11-22T06:05:59.3464965Z Shutting down Basic Avoidance subsystem... +2022-11-22T06:05:59.3465243Z Shutting down Aura Healing subsystem... +2022-11-22T06:05:59.3465499Z Shutting down Augury subsystem... +2022-11-22T06:05:59.3465766Z Shutting down Asset Loading subsystem... +2022-11-22T06:05:59.3466047Z Shutting down Area Contents subsystem... +2022-11-22T06:05:59.3466317Z Shutting down Antag HUDs subsystem... +2022-11-22T06:05:59.3466583Z Shutting down Ambience subsystem... +2022-11-22T06:05:59.3466879Z Shutting down Addiction subsystem... +2022-11-22T06:05:59.3467142Z Shutting down Acid subsystem... +2022-11-22T06:05:59.3467393Z Shutting down Timer subsystem... +2022-11-22T06:05:59.3467655Z Shutting down Sound Loops subsystem... +2022-11-22T06:05:59.3467925Z Shutting down Runechat subsystem... +2022-11-22T06:05:59.3468169Z Shutting down Skills subsystem... +2022-11-22T06:05:59.3468430Z Shutting down Machines subsystem... +2022-11-22T06:05:59.3468688Z Shutting down Language subsystem... +2022-11-22T06:05:59.3468945Z Shutting down Atoms subsystem... +2022-11-22T06:05:59.3498456Z Shutting down Restaurant subsystem... +2022-11-22T06:05:59.3498741Z Shutting down Economy subsystem... +2022-11-22T06:05:59.3499019Z Shutting down Spatial Grid subsystem... +2022-11-22T06:05:59.3499293Z Shutting down Networks subsystem... +2022-11-22T06:05:59.3499567Z Shutting down Time Tracking subsystem... +2022-11-22T06:05:59.3499837Z Shutting down Research subsystem... +2022-11-22T06:05:59.3500105Z Shutting down Early Assets subsystem... +2022-11-22T06:05:59.3500360Z Shutting down Mapping subsystem... +2022-11-22T06:05:59.3500639Z Shutting down Trading Card Game subsystem... +2022-11-22T06:05:59.3500911Z Shutting down Ticker subsystem... +2022-11-22T06:05:59.3510965Z Unable to locate admins backup file. +2022-11-22T06:05:59.3520958Z Shutting down AI Controller Ticker subsystem... +2022-11-22T06:05:59.3521311Z Shutting down AI Behavior Ticker subsystem... +2022-11-22T06:05:59.3521671Z Shutting down AI movement subsystem... +2022-11-22T06:05:59.3521947Z Shutting down Jobs subsystem... +2022-11-22T06:05:59.3522221Z Shutting down IDs and Access subsystem... +2022-11-22T06:05:59.3522494Z Shutting down Events subsystem... +2022-11-22T06:05:59.3522763Z Shutting down Reagents subsystem... +2022-11-22T06:05:59.3523011Z Shutting down Quirks subsystem... +2022-11-22T06:05:59.3523274Z Shutting down Station subsystem... +2022-11-22T06:05:59.3523543Z Shutting down Achievements subsystem... +2022-11-22T06:05:59.3523814Z Shutting down Discord subsystem... +2022-11-22T06:05:59.3524084Z Shutting down Security Level subsystem... +2022-11-22T06:05:59.3524367Z Shutting down Vis contents overlays subsystem... +2022-11-22T06:05:59.3524654Z Shutting down Greyscale subsystem... +2022-11-22T06:05:59.3524926Z Shutting down Instruments subsystem... +2022-11-22T06:05:59.3525192Z Shutting down Sounds subsystem... +2022-11-22T06:05:59.3525449Z Shutting down Input subsystem... +2022-11-22T06:05:59.3525704Z Shutting down Server Tasks subsystem... +2022-11-22T06:05:59.3525973Z Shutting down Blackbox subsystem... +2022-11-22T06:05:59.3532540Z Shutting down Database subsystem... +2022-11-22T06:05:59.3536259Z Shutting down Garbage subsystem... +2022-11-22T06:06:02.5929884Z Shutting down Title Screen subsystem... +2022-11-22T06:06:02.5938646Z Shutting down Profiler subsystem... +2022-11-22T06:06:02.5938959Z Shutdown complete +2022-11-22T06:06:02.5939212Z Test run failed! +2022-11-22T06:06:02.5939464Z Unit Tests failed! +2022-11-22T06:06:05.8501499Z cat: ci_test/data/logs/ci/clean_run.lk: No such file or directory +2022-11-22T06:06:05.8510694Z ##[error]Process completed with exit code 1. +2022-11-22T06:06:05.8571091Z ##[group]Run actions/upload-artifact@v3 +2022-11-22T06:06:05.8571371Z with: +2022-11-22T06:06:05.8571578Z name: test_artifacts_metastation +2022-11-22T06:06:05.8571829Z path: data/screenshots_new/ +2022-11-22T06:06:05.8572069Z retention-days: 1 +2022-11-22T06:06:05.8572302Z if-no-files-found: warn +2022-11-22T06:06:05.8572537Z ##[endgroup] +2022-11-22T06:06:05.9542976Z With the provided path, there will be 85 files uploaded +2022-11-22T06:06:05.9547799Z Starting artifact upload +2022-11-22T06:06:05.9548728Z For more detailed logs during the artifact upload process, enable step-debugging: https://docs.github.com/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging#enabling-step-debug-logging +2022-11-22T06:06:05.9549251Z Artifact name is valid! +2022-11-22T06:06:06.0022749Z Container for artifact "test_artifacts_metastation" successfully created. Starting upload of file(s) +2022-11-22T06:06:09.2441638Z Total size of all the files uploaded is 138917 bytes +2022-11-22T06:06:09.2447148Z File upload process has finished. Finalizing the artifact upload +2022-11-22T06:06:09.2805430Z Artifact has been finalized. All files have been successfully uploaded! +2022-11-22T06:06:09.2806662Z +2022-11-22T06:06:09.2807159Z The raw size of all the files that were specified for upload is 139272 bytes +2022-11-22T06:06:09.2807708Z The size of all the files that were uploaded is 138917 bytes. This takes into account any gzip compression used to reduce the upload size, time and storage +2022-11-22T06:06:09.2808041Z +2022-11-22T06:06:09.2808979Z Note: The size of downloaded zips can differ significantly from the reported size. For more information see: https://github.com/actions/upload-artifact#zipped-artifact-downloads +2022-11-22T06:06:09.2809397Z +2022-11-22T06:06:09.2812047Z Artifact test_artifacts_metastation has been successfully uploaded! +2022-11-22T06:06:09.2918500Z Post job cleanup. +2022-11-22T06:06:09.4177546Z [command]/usr/bin/git version +2022-11-22T06:06:09.4226862Z git version 2.38.1 +2022-11-22T06:06:09.4272386Z Temporarily overriding HOME='/home/runner/work/_temp/3651e392-e3ad-4441-afa8-7ee48fcb17c5' before making global git config changes +2022-11-22T06:06:09.4273477Z Adding repository directory to the temporary git global config as a safe directory +2022-11-22T06:06:09.4278058Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/tgstation/tgstation +2022-11-22T06:06:09.4318612Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand +2022-11-22T06:06:09.4355928Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || : +2022-11-22T06:06:09.4604637Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader +2022-11-22T06:06:09.4633829Z http.https://github.com/.extraheader +2022-11-22T06:06:09.4644074Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader +2022-11-22T06:06:09.4679820Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || : +2022-11-22T06:06:09.5065985Z Print service container logs: 57e9ed27eab042ee8653063f2a3e4b8e_mysqllatest_56fbdc +2022-11-22T06:06:09.5071674Z ##[command]/usr/bin/docker logs --details 46227faa62763969a068baae79fb2a9335a09ba7482aae30a49c8fed2bf356df +2022-11-22T06:06:09.5286568Z 2022-11-22T05:53:56.868118Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead. +2022-11-22T06:06:09.5287137Z 2022-11-22 05:53:56+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.31-1.el8 started. +2022-11-22T06:06:09.5287504Z 2022-11-22 05:53:56+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql' +2022-11-22T06:06:09.5287896Z 2022-11-22 05:53:56+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.31-1.el8 started. +2022-11-22T06:06:09.5288258Z 2022-11-22 05:53:56+00:00 [Note] [Entrypoint]: Initializing database files +2022-11-22T06:06:09.5289019Z 2022-11-22T05:53:56.868208Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.31) initializing of server in progress as process 81 +2022-11-22T06:06:09.5289439Z 2022-11-22 05:54:00+00:00 [Note] [Entrypoint]: Database files initialized +2022-11-22T06:06:09.5289930Z 2022-11-22T05:53:56.874552Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. +2022-11-22T06:06:09.5290557Z 2022-11-22 05:54:00+00:00 [Note] [Entrypoint]: Starting temporary server +2022-11-22T06:06:09.5291047Z 2022-11-22T05:53:57.197629Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. +2022-11-22T06:06:09.5291408Z 2022-11-22 05:54:00+00:00 [Note] [Entrypoint]: Temporary server started. +2022-11-22T06:06:09.5291988Z 2022-11-22T05:53:58.200181Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option. +2022-11-22T06:06:09.5292452Z '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock' +2022-11-22T06:06:09.5293070Z 2022-11-22T05:54:00.332994Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead. +2022-11-22T06:06:09.5293480Z +2022-11-22T06:06:09.5293901Z 2022-11-22T05:54:00.334950Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.31) starting as process 130 +2022-11-22T06:06:09.5294357Z 2022-11-22 05:54:02+00:00 [Note] [Entrypoint]: Stopping temporary server +2022-11-22T06:06:09.5294846Z 2022-11-22T05:54:00.346343Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. +2022-11-22T06:06:09.5295201Z 2022-11-22 05:54:03+00:00 [Note] [Entrypoint]: Temporary server stopped +2022-11-22T06:06:09.5295682Z 2022-11-22T05:54:00.487954Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. +2022-11-22T06:06:09.5295962Z +2022-11-22T06:06:09.5296368Z 2022-11-22T05:54:00.674850Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed. +2022-11-22T06:06:09.5296761Z 2022-11-22 05:54:03+00:00 [Note] [Entrypoint]: MySQL init process done. Ready for start up. +2022-11-22T06:06:09.5297625Z 2022-11-22T05:54:00.674889Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel. +2022-11-22T06:06:09.5297989Z +2022-11-22T06:06:09.5298506Z 2022-11-22T05:54:00.677758Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory. +2022-11-22T06:06:09.5299158Z 2022-11-22T05:54:00.693697Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: /var/run/mysqld/mysqlx.sock +2022-11-22T06:06:09.5299767Z 2022-11-22T05:54:00.694297Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.31' socket: '/var/run/mysqld/mysqld.sock' port: 0 MySQL Community Server - GPL. +2022-11-22T06:06:09.5300346Z Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it. +2022-11-22T06:06:09.5300968Z Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it. +2022-11-22T06:06:09.5301453Z Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it. +2022-11-22T06:06:09.5301932Z Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it. +2022-11-22T06:06:09.5302399Z Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it. +2022-11-22T06:06:09.5302918Z 2022-11-22T05:54:02.435269Z 10 [System] [MY-013172] [Server] Received SHUTDOWN from user root. Shutting down mysqld (Version: 8.0.31). +2022-11-22T06:06:09.5303480Z 2022-11-22T05:54:03.189926Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.31) MySQL Community Server - GPL. +2022-11-22T06:06:09.5304121Z 2022-11-22T05:54:03.676610Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead. +2022-11-22T06:06:09.5304722Z 2022-11-22T05:54:03.678566Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.31) starting as process 1 +2022-11-22T06:06:09.5305204Z 2022-11-22T05:54:03.685173Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. +2022-11-22T06:06:09.5305655Z 2022-11-22T05:54:03.828263Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. +2022-11-22T06:06:09.5306116Z 2022-11-22T05:54:03.993458Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed. +2022-11-22T06:06:09.5306666Z 2022-11-22T05:54:03.993495Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel. +2022-11-22T06:06:09.5307354Z 2022-11-22T05:54:03.994531Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory. +2022-11-22T06:06:09.5308031Z 2022-11-22T05:54:04.011801Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock +2022-11-22T06:06:09.5308675Z 2022-11-22T05:54:04.011928Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.0.31' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server - GPL. +2022-11-22T06:06:09.5341028Z Stop and remove container: 57e9ed27eab042ee8653063f2a3e4b8e_mysqllatest_56fbdc +2022-11-22T06:06:09.5349945Z ##[command]/usr/bin/docker rm --force 46227faa62763969a068baae79fb2a9335a09ba7482aae30a49c8fed2bf356df +2022-11-22T06:06:09.7815354Z 46227faa62763969a068baae79fb2a9335a09ba7482aae30a49c8fed2bf356df +2022-11-22T06:06:09.7841366Z Remove container network: github_network_7853d588c20f407bba7b04c3e70db729 +2022-11-22T06:06:09.7846737Z ##[command]/usr/bin/docker network rm github_network_7853d588c20f407bba7b04c3e70db729 +2022-11-22T06:06:09.8812686Z github_network_7853d588c20f407bba7b04c3e70db729 +2022-11-22T06:06:09.8962630Z Cleaning up orphan processes diff --git a/tools/pull_request_hooks/package.json b/tools/pull_request_hooks/package.json new file mode 100644 index 000000000000..bedb411a9124 --- /dev/null +++ b/tools/pull_request_hooks/package.json @@ -0,0 +1,3 @@ +{ + "type": "module" +} diff --git a/tools/pull_request_hooks/rerunFlakyTests.js b/tools/pull_request_hooks/rerunFlakyTests.js new file mode 100644 index 000000000000..d3085a67260b --- /dev/null +++ b/tools/pull_request_hooks/rerunFlakyTests.js @@ -0,0 +1,298 @@ +const LABEL = "🤖 Flaky Test Report"; +const TITLE_BOT_HEADER = "title: "; + +// Only check jobs that start with these. +// Helps make sure we don't restart something like screenshot tests or linters, which are not known to be flaky. +const CONSIDERED_JOBS = [ + "Integration Tests", +]; + +async function getFailedJobsForRun(github, context, workflowRunId, runAttempt) { + const jobs = await github.paginate( + github.rest.actions.listJobsForWorkflowRunAttempt, + { + owner: context.repo.owner, + repo: context.repo.repo, + run_id: workflowRunId, + attempt_number: runAttempt + }, + response => { + return response.data; + }); + + return jobs + .filter((job) => job.conclusion === "failure"); +} + +export async function rerunFlakyTests({ github, context }) { + const failingJobs = await getFailedJobsForRun( + github, + context, + context.payload.workflow_run.id, + context.payload.workflow_run.run_attempt + ); + + const filteredFailingJobs = failingJobs.filter((job) => { + console.log(`Failing job: ${job.name}`) + return CONSIDERED_JOBS.some((title) => job.name.startsWith(title)); + }); + if (filteredFailingJobs.length === 0) { + console.log("Failing jobs are NOT designated flaky. Not rerunning."); + return; + } + + console.log(`Rerunning job: ${filteredFailingJobs[0].name}`); + + github.rest.actions.reRunWorkflowFailedJobs({ + owner: context.repo.owner, + repo: context.repo.repo, + run_id: context.payload.workflow_run.id, + }); +} + +// Tries its best to extract a useful error title and message for the given log +export function extractDetails(log) { + // Strip off timestamp + const lines = log.split(/^[0-9.:T\-]*?Z /gm); + + const failureRegex = /^\t?FAILURE #(?[0-9]+): (?.+)/; + const groupRegex = /^##\[group\](?.+)/; + + const failures = []; + let lastGroup = "root"; + let loggingFailure; + + const newFailure = (failureMatch) => { + const { headline } = failureMatch.groups; + + loggingFailure = { + headline, + group: lastGroup.replace("/datum/unit_test/", ""), + details: [], + }; + }; + + for (const line of lines) { + const groupMatch = line.match(groupRegex); + if (groupMatch) { + lastGroup = groupMatch.groups.group.trim(); + continue; + } + + const failureMatch = line.match(failureRegex); + + if (loggingFailure === undefined) { + if (!failureMatch) { + continue; + } + + newFailure(failureMatch); + } else if (failureMatch || line.startsWith("##")) { + failures.push(loggingFailure); + loggingFailure = undefined; + + if (failureMatch) { + newFailure(failureMatch); + } + } else { + loggingFailure.details.push(line.trim()); + } + } + + // We had no logged failures, there's not really anything we can do here + if (failures.length === 0) { + return { + title: "Flaky test failure with no obvious source", + failures, + }; + } + + // We *could* create multiple failures for multiple groups. + // This would be important if we had multiple flaky tests at the same time. + // I'm choosing not to because it complicates this logic a bit, has the ability to go terribly wrong, + // and also because there's something funny to me about that increasing the urgency of fixing + // flaky tests. If it becomes a serious issue though, I would not mind this being fixed. + const uniqueGroups = new Set(failures.map((failure) => failure.group)); + + if (uniqueGroups.size > 1) { + return { + title: `Multiple flaky test failures in ${Array.from(uniqueGroups) + .sort() + .join(", ")}`, + failures, + }; + } + + const failGroup = failures[0].group; + + if (failures.length > 1) { + return { + title: `Multiple errors in flaky test ${failGroup}`, + failures, + }; + } + + const failure = failures[0]; + + // Common patterns where we can always get a detailed title + const runtimeMatch = failure.headline.match(/Runtime in .+?: (?.+)/); + if (runtimeMatch) { + const runtime = runtimeMatch.groups.error.trim(); + + const invalidTimerMatch = runtime.match(/^Invalid timer:.+object:(?[^[]+).*delegate:(?.+?), source:/); + if (invalidTimerMatch) { + return { + title: `Flaky test ${failGroup}: Invalid timer: ${invalidTimerMatch.groups.proc.trim()} on ${invalidTimerMatch.groups.object.trim()}`, + failures, + }; + } + + return { + title: `Flaky test ${failGroup}: ${runtime}`, + failures, + }; + } + + const hardDelMatch = failure.headline.match(/^(?\/[\w/]+) hard deleted .* times out of a total del count of/); + if (hardDelMatch) { + return { + title: `Flaky hard delete: ${hardDelMatch.groups.object}`, + failures, + }; + } + + // Try to normalize the title and remove anything that might be variable + const normalizedError = failure.headline.replace(/\s*at .+?:[0-9]+.*/g, ""); // " at code.dm:123" + + return { + title: `Flaky test ${failGroup}: ${normalizedError}`, + failures, + }; +} + +async function getExistingIssueId(graphql, context, title) { + // Hope you never have more than 100 of these open! + const { + repository: { + issues: { nodes: openFlakyTestIssues }, + }, + } = await graphql( + ` + query ($owner: String!, $repo: String!, $label: String!) { + repository(owner: $owner, name: $repo) { + issues( + labels: [$label] + first: 100 + orderBy: { field: CREATED_AT, direction: DESC } + states: [OPEN] + ) { + nodes { + number + title + body + } + } + } + } + `, + { + owner: context.repo.owner, + repo: context.repo.repo, + label: LABEL, + } + ); + + const exactTitle = openFlakyTestIssues.find((issue) => issue.title === title); + if (exactTitle !== undefined) { + return exactTitle.number; + } + + const foundInBody = openFlakyTestIssues.find((issue) => + issue.body.includes(``) + ); + if (foundInBody !== undefined) { + return foundInBody.number; + } + + return undefined; +} + +function createBody({ title, failures }, runUrl) { + return ` + + + + Flaky tests were detected in [this test run](${runUrl}). This means that there was a failure that was cleared when the tests were simply restarted. + + Failures: + \`\`\` + ${failures + .map( + (failure) => + `${failure.group}: ${failure.headline}\n\t${failure.details.join("\n")}` + ) + .join("\n")} + \`\`\` + `.replace(/^\s*/gm, ""); +} + +export async function reportFlakyTests({ github, context }) { + const failedJobsFromLastRun = await getFailedJobsForRun( + github, + context, + context.payload.workflow_run.id, + context.payload.workflow_run.run_attempt - 1 + ); + + const filteredFailingJobs = failedJobsFromLastRun.filter((job) => { + console.log(`Failing job: ${job.name}`) + return CONSIDERED_JOBS.some((title) => job.name.startsWith(title)); + }); + + // This could one day be relaxed if we face serious enough flaky test problems, so we're going to loop anyway + if (filteredFailingJobs.length !== 1) { + console.log( + "Multiple jobs failing after retry, assuming maintainer rerun." + ); + + return; + } + + for (const job of filteredFailingJobs) { + const { data: log } = + await github.rest.actions.downloadJobLogsForWorkflowRun({ + owner: context.repo.owner, + repo: context.repo.repo, + job_id: job.id, + }); + + const details = extractDetails(log); + + const existingIssueId = await getExistingIssueId( + github.graphql, + context, + details.title + ); + + if (existingIssueId !== undefined) { + // Maybe in the future, if it's helpful, update the existing issue with new links + console.log(`Existing issue found: #${existingIssueId}`); + return; + } + + await github.rest.issues.create({ + owner: context.repo.owner, + repo: context.repo.repo, + title: details.title, + labels: [LABEL], + body: createBody( + details, + `https://github.com/${context.repo.owner}/${ + context.repo.repo + }/actions/runs/${context.payload.workflow_run.id}/attempts/${ + context.payload.workflow_run.run_attempt - 1 + }` + ), + }); + } +} diff --git a/tools/pull_request_hooks/rerunFlakyTests.test.js b/tools/pull_request_hooks/rerunFlakyTests.test.js new file mode 100644 index 000000000000..6a3300ff59be --- /dev/null +++ b/tools/pull_request_hooks/rerunFlakyTests.test.js @@ -0,0 +1,45 @@ +import { strict as assert } from "node:assert"; +import fs from "node:fs"; +import { extractDetails } from "./rerunFlakyTests.js"; + +function extractDetailsFromPayload(filename) { + return extractDetails( + fs.readFileSync(`tests/flakyTestPayloads/${filename}.txt`, { + encoding: "utf8", + }) + ); +} + +const chatClient = extractDetailsFromPayload("chat_client"); +assert.equal( + chatClient.title, + "Flaky hard delete: /datum/computer_file/program/chatclient" +); +assert.equal(chatClient.failures.length, 1); + +const monkeyBusiness = extractDetailsFromPayload("monkey_business"); +assert.equal( + monkeyBusiness.title, + "Flaky test monkey_business: Cannot execute null.resolve()." +); +assert.equal(monkeyBusiness.failures.length, 1); + +const shapeshift = extractDetailsFromPayload("shapeshift"); +assert.equal( + shapeshift.title, + "Multiple errors in flaky test shapeshift_spell" +); +assert.equal(shapeshift.failures.length, 16); + +const multipleFailures = extractDetailsFromPayload("multiple_failures"); +assert.equal( + multipleFailures.title, + "Multiple flaky test failures in more_shapeshift_spell, shapeshift_spell" +); +assert.equal(multipleFailures.failures.length, 2); + +const invalidTimer = extractDetailsFromPayload("invalid_timer"); +assert.equal( + invalidTimer.title, + "Flaky test monkey_business: Invalid timer: /datum/looping_sound/proc/start_sound_loop() on /datum/looping_sound/showering" +); From faf8ba8c230b7377d2e48c09e4d1897a81f29e0d Mon Sep 17 00:00:00 2001 From: rye-rice <58402542+rye-rice@users.noreply.github.com> Date: Mon, 7 Oct 2024 13:34:07 -0700 Subject: [PATCH 009/344] Resprites wisp (#3488) # please please, please do not port this to tg or a non-ship server. this is me asking nicely to not to, i do not want this on a non-shiptest-like server ## About The Pull Request ![image](https://github.com/user-attachments/assets/dc29e3a3-ede5-4d32-87db-491afe04259b) Resprites wisp part of project re:hair ![Screenshot_18092](https://github.com/user-attachments/assets/047f75e1-e064-47d8-9ca1-dc90a3188e2e) ## Why It's Good For The Game hi thrax ## Changelog :cl: rye-rice, Imaginos16 add: Resprites Wisp /:cl: Co-authored-by: retlaw34 <58402542+retlaw34@users.noreply.github.com> --- icons/mob/human_face.dmi | Bin 103505 -> 103088 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/human_face.dmi b/icons/mob/human_face.dmi index a819dd3ca7802824ac557e8065a4194dd21fb494..ab667d8d93371a02091ee08e2c65a190a5b9ad56 100644 GIT binary patch delta 39064 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 From 7deaaa4344419709d8625af047e1357675e3fdec Mon Sep 17 00:00:00 2001 From: DrCrawler <62419802+DrCrawler@users.noreply.github.com> Date: Tue, 8 Oct 2024 03:48:03 +0700 Subject: [PATCH 010/344] Give IPCs some more adjectives to work with and cleans up duplicate adjectives. (#3475) ## About The Pull Request Adds the adjectives that can also be applied to IPCs from the main adjective list to the IPC adjective list. ## Why It's Good For The Game Lets players pick a more fitting adjective for their character, removes arbitrariness and duplicate adjectives. ## Changelog :cl: add: Gives IPCs a little more adjectives to work with. del: Removed some duplicate adjectives from the raw file. /:cl: --- strings/ipc_preference_adjectives.txt | 17 +++++++++++++++++ strings/preference_adjectives.txt | 3 --- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/strings/ipc_preference_adjectives.txt b/strings/ipc_preference_adjectives.txt index a243b2d77fc5..a106aa76ba8f 100644 --- a/strings/ipc_preference_adjectives.txt +++ b/strings/ipc_preference_adjectives.txt @@ -1,3 +1,5 @@ +Angsty +Awkward Bedraggled Brawny Bulky @@ -22,6 +24,7 @@ Fragile Frail Friendly Gentle +Gormless Hawkish Hefty Hobbling @@ -38,25 +41,39 @@ Mangled Masculine Messy Nimble +Pathetic +Peppy Petite Pompous Pugnacious +Quievering +Radical Repulsive Robust Rough Rusted Scarred Shifty +Shrewd Sickly Skittish Sleek Slender +Slimy Slovenly Sluggish +Sly +Smooth +Sniveling +Soulrendered Spacy Stiff Stony +Stout +Strapping +Sturdy Stylish +Tubular Unattractive Unremarkable Unsightly diff --git a/strings/preference_adjectives.txt b/strings/preference_adjectives.txt index 0d67f16803f8..450e4c78901f 100644 --- a/strings/preference_adjectives.txt +++ b/strings/preference_adjectives.txt @@ -24,7 +24,6 @@ Effeminate Elegant Emaciated Energetic -Energetic Exasperated Exotic Faint @@ -41,7 +40,6 @@ Gentle Gloomy Gormless Hawkish -Hawkish Healthy Hefty Hobbling @@ -57,7 +55,6 @@ Lopsided Lovely Malnourished Mangled -Mangled Masculine Messy Muscular From 843e83c1bcde896639d65f2e53a296cd4beb6e4c Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Mon, 7 Oct 2024 19:06:23 -0500 Subject: [PATCH 011/344] tweaks the syntax of unit tests to be caught by flaky tests (#3493) ## About The Pull Request see title also combines the two outfit sanity tests ## Why It's Good For The Game much better syntax that can be caught be the flaky test runner. ## Changelog :cl: code: tweaks to the syntax of unit test logs to be more readable by humans and flaky tests /:cl: --- check_regex.yaml | 2 +- code/modules/unit_tests/_unit_tests.dm | 6 ++- code/modules/unit_tests/outfit_names.dm | 12 ------ code/modules/unit_tests/outfit_sanity.dm | 11 +++-- .../unit_tests/ship_outpost_placement.dm | 6 +-- code/modules/unit_tests/unit_test.dm | 40 +++++++++++++++---- 6 files changed, 49 insertions(+), 28 deletions(-) delete mode 100644 code/modules/unit_tests/outfit_names.dm diff --git a/check_regex.yaml b/check_regex.yaml index a56bd83644d3..94f37cdcf83e 100644 --- a/check_regex.yaml +++ b/check_regex.yaml @@ -38,7 +38,7 @@ standards: - exactly: [ - 261, + 262, "non-bitwise << uses", '(? Date: Mon, 7 Oct 2024 20:11:00 -0400 Subject: [PATCH 012/344] More chemicals orderable! (#3431) ## About The Pull Request Re-sprites the chem jugs so that every elemental chem has a clearly readable label. ![image](https://github.com/user-attachments/assets/83196d6d-557b-46cb-b2d5-c2e581ae49e2) ![image](https://github.com/user-attachments/assets/bbceb62a-e595-4011-abcc-69ed47b118ed) The chem starter kit now comes with a complete set of chemicals to make everything else. However, it lost its bottle of pre-made sulfuric acid. Also, all elementary chemicals are now available from the outpost, and sugar and ethanol are orderable in bulk (these two are under foods and agriculture, the idea is sugar is for cooking and ethanol for hydroponics, even though they're useful to amateur chemists too!) as mini bottles and bags. ## Why It's Good For The Game Outpost and the chemistry starter kit was missing some baseline chems. Now you can buy any of them if you have the credits. Sure you can ghetto many of these, but I still prefer options. ## FEEDBACK ON PRICING NEEDED. Some of these chem costs were awfully high for what they were... I set pretty much everything to 750 now. ## Changelog :cl: add: Added more purchasable chemicals to outpost. add: Added missing elemental chems to chem starter kit del: removed sulfuric acid from chem starter set. You have to make it. imageadd: tweaked and added more elemental chemical jugs. /:cl: --- code/modules/cargo/packs/chemistry.dm | 152 +++++++++++------- code/modules/cargo/packs/food.dm | 24 +++ .../reagents/reagent_containers/jug.dm | 87 ++++++---- icons/obj/chemical/chem_jug.dmi | Bin 964 -> 2123 bytes 4 files changed, 177 insertions(+), 86 deletions(-) diff --git a/code/modules/cargo/packs/chemistry.dm b/code/modules/cargo/packs/chemistry.dm index 5c7ae4a20ab9..236706f7b6c0 100644 --- a/code/modules/cargo/packs/chemistry.dm +++ b/code/modules/cargo/packs/chemistry.dm @@ -10,19 +10,26 @@ name = "Chemical Starter Kit Crate" desc = "Contains thirteen different chemicals, for all the fun experiments you can make." cost = 1250 // This is intentionally underpriced; the hope is that people will start using ghettochem, upon which time the price can be raised. - contains = list(/obj/item/reagent_containers/glass/bottle/hydrogen, + contains = list(/obj/item/reagent_containers/glass/bottle/aluminium, + /obj/item/reagent_containers/glass/bottle/bromine, /obj/item/reagent_containers/glass/bottle/carbon, + /obj/item/reagent_containers/glass/bottle/chlorine, + /obj/item/reagent_containers/glass/bottle/copper, + /obj/item/reagent_containers/glass/bottle/ethanol, + /obj/item/reagent_containers/glass/bottle/fluorine, + /obj/item/reagent_containers/glass/bottle/hydrogen, + /obj/item/reagent_containers/glass/bottle/iodine, + /obj/item/reagent_containers/glass/bottle/lithium, + /obj/item/reagent_containers/glass/bottle/mercury, /obj/item/reagent_containers/glass/bottle/nitrogen, /obj/item/reagent_containers/glass/bottle/oxygen, - /obj/item/reagent_containers/glass/bottle/fluorine, /obj/item/reagent_containers/glass/bottle/phosphorus, - /obj/item/reagent_containers/glass/bottle/silicon, - /obj/item/reagent_containers/glass/bottle/chlorine, - /obj/item/reagent_containers/glass/bottle/radium, - /obj/item/reagent_containers/glass/bottle/sacid, - /obj/item/reagent_containers/glass/bottle/ethanol, /obj/item/reagent_containers/glass/bottle/potassium, + /obj/item/reagent_containers/glass/bottle/radium, /obj/item/reagent_containers/glass/bottle/sugar, + /obj/item/reagent_containers/glass/bottle/sodium, + /obj/item/reagent_containers/glass/bottle/sulfur, + /obj/item/reagent_containers/glass/bottle/silicon, /obj/item/reagent_scanner, /obj/item/reagent_containers/dropper, /obj/item/storage/box/beakers) @@ -53,61 +60,96 @@ Bulk materials */ +/datum/supply_pack/chemistry/aluminium + name = "Bulk Aluminium Crate" + desc = "Contains a jug filled with 150u of aluminium." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/chem_jug/aluminium) + crate_name = "bulk aluminium crate" + +/datum/supply_pack/chemistry/bromine + name = "Bulk Bromine Crate" + desc = "Contains a jug filled with 150u of bromine." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/chem_jug/bromine) + crate_name = "bulk bromine crate" + /datum/supply_pack/chemistry/carbon name = "Bulk Carbon Crate" desc = "Contains a jug filled with 150u of carbon." - cost = 500 + cost = 750 contains = list(/obj/item/reagent_containers/glass/chem_jug/carbon) crate_name = "bulk carbon crate" -/datum/supply_pack/chemistry/oxygen - name = "Bulk Oxygen Crate" - desc = "Contains a jug filled with 150u of oxygen." - cost = 500 - contains = list(/obj/item/reagent_containers/glass/chem_jug/oxygen) - crate_name = "bulk oxygen crate" +/datum/supply_pack/chemistry/chlorine + name = "Bulk Chlorine Crate" + desc = "Contains a jug filled with 150u of chlorine." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/chem_jug/chlorine) + crate_name = "bulk chlorine crate" + +/datum/supply_pack/chemistry/copper + name = "Bulk Copper Crate" + desc = "Contains a jug filled with 150u of copper." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/chem_jug/copper) + crate_name = "bulk copper crate" + +/datum/supply_pack/chemistry/fluorine + name = "Bulk Fluorine Crate" + desc = "Contains a jug filled with 150u of fluorine." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/chem_jug/fluorine) + crate_name = "bulk fluorine crate" /datum/supply_pack/chemistry/hydrogen name = "Bulk Hydrogen Crate" desc = "Contains a jug filled with 150u of Hydrogen." - cost = 500 + cost = 750 contains = list(/obj/item/reagent_containers/glass/chem_jug/hydrogen) crate_name = "bulk hydrogen crate" +/datum/supply_pack/chemistry/iodine + name = "Bulk Iodine Crate" + desc = "Contains a jug filled with 150u of iodine." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/chem_jug/iodine) + crate_name = "bulk iodine crate" + +/datum/supply_pack/chemistry/lithium + name = "Bulk Lithium Crate" + desc = "Contains a jug filled with 150u of lithium." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/chem_jug/lithium) + crate_name = "bulk lithium crate" + +/datum/supply_pack/chemistry/mercury + name = "Bulk Mercury Crate" + desc = "Contains a jug filled with 150u of mercury." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/chem_jug/mercury) + crate_name = "bulk mercury crate" + /datum/supply_pack/chemistry/nitrogen name = "Bulk Nitrogen Crate" desc = "Contains a jug filled with 150u of nitrogen." - cost = 625 + cost = 750 contains = list(/obj/item/reagent_containers/glass/chem_jug/nitrogen) crate_name = "bulk nitrogen crate" -/datum/supply_pack/chemistry/aluminium - name = "Bulk Aluminium Crate" - desc = "Contains a jug filled with 150u of aluminium." - cost = 625 - contains = list(/obj/item/reagent_containers/glass/chem_jug/aluminium) - crate_name = "bulk aluminium crate" - -/datum/supply_pack/chemistry/copper - name = "Bulk Copper Crate" - desc = "Contains a jug filled with 150u of copper." - cost = 625 - contains = list(/obj/item/reagent_containers/glass/chem_jug/copper) - crate_name = "bulk copper crate" - -/datum/supply_pack/chemistry/bromine - name = "Bulk Bromine Crate" - desc = "Contains a jug filled with 150u of bromine." - cost = 625 - contains = list(/obj/item/reagent_containers/glass/chem_jug/bromine) - crate_name = "bulk bromine crate" +/datum/supply_pack/chemistry/oxygen + name = "Bulk Oxygen Crate" + desc = "Contains a jug filled with 150u of oxygen." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/chem_jug/oxygen) + crate_name = "bulk oxygen crate" -/datum/supply_pack/chemistry/iodine - name = "Bulk Iodine Crate" - desc = "Contains a jug filled with 150u of iodine." +/datum/supply_pack/chemistry/phosphorus + name = "Bulk Phosphorus Crate" + desc = "Contains a jug filled with 150u of phosphorus." cost = 750 - contains = list(/obj/item/reagent_containers/glass/chem_jug/iodine) - crate_name = "bulk iodine crate" + contains = list(/obj/item/reagent_containers/glass/chem_jug/phosphorus) + crate_name = "bulk phosphorus crate" /datum/supply_pack/chemistry/potassium name = "Bulk Potassium Crate" @@ -116,23 +158,23 @@ contains = list(/obj/item/reagent_containers/glass/chem_jug/potassium) crate_name = "bulk potassium crate" +/datum/supply_pack/chemistry/radium + name = "Bulk Radium Crate" + desc = "Contains a jug filled with 150u of radium." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/chem_jug/radium) + crate_name = "bulk radium crate" + +/datum/supply_pack/chemistry/sodium + name = "Bulk Sodium Crate" + desc = "Contains a jug filled with 150u of sodium." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/chem_jug/sodium) + crate_name = "bulk sodium crate" + /datum/supply_pack/chemistry/sulfur name = "Bulk Sulfur Crate" desc = "Contains a jug filled with 150u of sulfur." cost = 750 contains = list(/obj/item/reagent_containers/glass/chem_jug/sulfur) crate_name = "bulk sulfur crate" - -/datum/supply_pack/chemistry/chlorine - name = "Bulk Chlorine Crate" - desc = "Contains a jug filled with 150u of chlorine." - cost = 750 - contains = list(/obj/item/reagent_containers/glass/chem_jug/chlorine) - crate_name = "bulk chlorine crate" - -/datum/supply_pack/chemistry/radium - name = "Bulk Radium Crate" - desc = "Contains a jug filled with 150u of radium." - cost = 1000 - contains = list(/obj/item/reagent_containers/glass/chem_jug/radium) - crate_name = "bulk radium crate" diff --git a/code/modules/cargo/packs/food.dm b/code/modules/cargo/packs/food.dm index 3db603dd6965..94299b96c694 100644 --- a/code/modules/cargo/packs/food.dm +++ b/code/modules/cargo/packs/food.dm @@ -230,6 +230,17 @@ crate_name = "food crate" crate_type = /obj/structure/closet/crate/freezer +/datum/supply_pack/food/sugar + name = "Sugar Crate" + desc = "A crate with a few bags of sugar. Good for cake shops and amateur chemists." + cost = 500 + contains = list(/obj/item/reagent_containers/condiment/sugar, + /obj/item/reagent_containers/condiment/sugar, + /obj/item/reagent_containers/condiment/sugar + ) + crate_name = "sugar crate" + crate_type = /obj/structure/closet/crate + /* Cooking */ @@ -297,6 +308,19 @@ crate_name = "gardening crate" crate_type = /obj/structure/closet/crate/hydroponics +/datum/supply_pack/food/ethanol + name = "Ethanol Crate" + desc = "Five small bottles of ethanol for the aspiring botanist or amateur chemist." + cost = 750 + contains = list(/obj/item/reagent_containers/glass/bottle/ethanol, + /obj/item/reagent_containers/glass/bottle/ethanol, + /obj/item/reagent_containers/glass/bottle/ethanol, + /obj/item/reagent_containers/glass/bottle/ethanol, + /obj/item/reagent_containers/glass/bottle/ethanol + ) + crate_name = "gardening crate" + crate_type = /obj/structure/closet/crate/hydroponics + /datum/supply_pack/food/weedcontrol name = "Weed Control Crate" desc = "Contains a scythe, gasmask, and two anti-weed defoliant grenades, for when your garden grows out of control." diff --git a/code/modules/reagents/reagent_containers/jug.dm b/code/modules/reagents/reagent_containers/jug.dm index de1570a9ef5c..10baf946a089 100644 --- a/code/modules/reagents/reagent_containers/jug.dm +++ b/code/modules/reagents/reagent_containers/jug.dm @@ -1,7 +1,7 @@ /obj/item/reagent_containers/glass/chem_jug name = "chemical jug" desc = "A large jug used for storing bulk ammounts chemicals. Provided with a tamper seal which ensures that the contents are pure" - icon = 'icons/obj/chemical/chem_jug.dmi' + icon = 'icons/obj/chemical/chem_jug.dmi' // the coloring of labels for elemental chemicals is based on the chemical group block coloring at https://pubchem.ncbi.nlm.nih.gov/periodic-table/ . Everything else is whatever. icon_state = "chem_jug" item_state = "sheet-plastic" w_class = WEIGHT_CLASS_BULKY @@ -80,36 +80,21 @@ /obj/item/reagent_containers/glass/chem_jug/open cap_on = FALSE -/obj/item/reagent_containers/glass/chem_jug/carbon - name = "chemical jug (carbon)" - icon_state = "chem_jug_carbon" - list_reagents = list(/datum/reagent/carbon = 150) - -/obj/item/reagent_containers/glass/chem_jug/oxygen - name = "chemical jug (oxygen)" - icon_state = "chem_jug_oxygen" - list_reagents = list(/datum/reagent/oxygen = 150) - -/obj/item/reagent_containers/glass/chem_jug/nitrogen - name = "chemical jug (nitrogen)" - icon_state = "chem_jug_nitrogen" - list_reagents = list(/datum/reagent/nitrogen = 150) - -/obj/item/reagent_containers/glass/chem_jug/hydrogen - name = "chemical jug (hydrogen)" - icon_state = "chem_jug_hydrogen" - list_reagents = list(/datum/reagent/hydrogen = 150) - -/obj/item/reagent_containers/glass/chem_jug/radium - name = "chemical jug (radium)" - icon_state = "chem_jug_radium" - list_reagents = list(/datum/reagent/uranium/radium = 150) - /obj/item/reagent_containers/glass/chem_jug/aluminium name = "chemical jug (aluminium)" icon_state = "chem_jug_aluminium" list_reagents = list(/datum/reagent/aluminium = 150) +/obj/item/reagent_containers/glass/chem_jug/bromine + name = "chemical jug (bromine)" + icon_state = "chem_jug_bromine" + list_reagents = list(/datum/reagent/bromine = 150) + +/obj/item/reagent_containers/glass/chem_jug/carbon + name = "chemical jug (carbon)" + icon_state = "chem_jug_carbon" + list_reagents = list(/datum/reagent/carbon = 150) + /obj/item/reagent_containers/glass/chem_jug/chlorine name = "chemical jug (chlorine)" icon_state = "chem_jug_chlorine" @@ -120,27 +105,67 @@ icon_state = "chem_jug_copper" list_reagents = list(/datum/reagent/copper = 150) -/obj/item/reagent_containers/glass/chem_jug/bromine - name = "chemical jug (bromine)" - icon_state = "chem_jug_bromine" - list_reagents = list(/datum/reagent/bromine = 150) +/obj/item/reagent_containers/glass/chem_jug/fluorine + name = "chemical jug (fluorine)" + icon_state = "chem_jug_fluorine" + list_reagents = list(/datum/reagent/fluorine = 150) + +/obj/item/reagent_containers/glass/chem_jug/hydrogen + name = "chemical jug (hydrogen)" + icon_state = "chem_jug_hydrogen" + list_reagents = list(/datum/reagent/hydrogen = 150) /obj/item/reagent_containers/glass/chem_jug/iodine name = "chemical jug (iodine)" icon_state = "chem_jug_iodine" list_reagents = list(/datum/reagent/iodine = 150) +/obj/item/reagent_containers/glass/chem_jug/lithium + name = "chemical jug (lithium)" + icon_state = "chem_jug_lithium" + list_reagents = list(/datum/reagent/lithium = 150) + +/obj/item/reagent_containers/glass/chem_jug/mercury + name = "chemical jug (mercury)" + icon_state = "chem_jug_mercury" + list_reagents = list(/datum/reagent/mercury = 150) + +/obj/item/reagent_containers/glass/chem_jug/nitrogen + name = "chemical jug (nitrogen)" + icon_state = "chem_jug_nitrogen" + list_reagents = list(/datum/reagent/nitrogen = 150) + +/obj/item/reagent_containers/glass/chem_jug/oxygen + name = "chemical jug (oxygen)" + icon_state = "chem_jug_oxygen" + list_reagents = list(/datum/reagent/oxygen = 150) + +/obj/item/reagent_containers/glass/chem_jug/phosphorus + name = "chemical jug (phosphorus)" + icon_state = "chem_jug_phosphorus" + list_reagents = list(/datum/reagent/phosphorus = 150) + /obj/item/reagent_containers/glass/chem_jug/potassium name = "chemical jug (potassium)" icon_state = "chem_jug_potassium" list_reagents = list(/datum/reagent/potassium = 150) +/obj/item/reagent_containers/glass/chem_jug/radium + name = "chemical jug (radium)" + icon_state = "chem_jug_radium" + list_reagents = list(/datum/reagent/uranium/radium = 150) + +/obj/item/reagent_containers/glass/chem_jug/sodium + name = "chemical jug (sodium)" + icon_state = "chem_jug_sodium" + list_reagents = list(/datum/reagent/sodium = 150) + /obj/item/reagent_containers/glass/chem_jug/sulfur name = "chemical jug (sulfur)" icon_state = "chem_jug_sulfur" list_reagents = list(/datum/reagent/sulfur = 150) -/obj/item/reagent_containers/glass/chem_jug/thermite +/obj/item/reagent_containers/glass/chem_jug/thermite // not giving this its own "elemental" jug sprite. name = "chemical jug (thermite)" list_reagents = list(/datum/reagent/thermite = 150) diff --git a/icons/obj/chemical/chem_jug.dmi b/icons/obj/chemical/chem_jug.dmi index d872ba00ff1d2dd67a378b78c2b2d4da7a69b62f..e5ab15a43e14a23660ba7126daa44330f11d1aa2 100644 GIT binary patch literal 2123 zcmZuzdpHw%AJxc3$3?A(xrj*qrIS?|J*<{p0ujKF{}edA^^^^L>8lULLM0O4>?ta&jte zNVtzIQ)G*vs342?LV|TR&9CVOVA<4~6Fo zQSjK9KD7U3;%Ar94-e>kX)EG>dq}h*I4Gq%`9jsVF6JNt)MIoV;DJn%vKj0ED>dAw zkHHM@EWm7>RLg{@Y=!byd(rwZo~oT%e0j#zYBy1lytZv50FuGNK%+L3dfoQn5Co73 zF|W2mqyOcBLEJ<7WVj05@~nq(*!c_g`7i3#RNbyIq+V7;MSVN-pxX+*_5pCo!9_IU?`y-9+TAu%yS?dSE>p zzgnm5(HV~>J+c98iGtAdh3yn}iuJ+^Ruxq&Nb z{d9!Eti!W963 zq%Koa(^o5e_S2VaHhVn_jYd0+Xawyr289(dS?lH z$GF@C9wl*&s2d0b0(svXa&vRfrk*hr|Jy)aLgdB)XUVrE5NtC~%osjHNiXd zG@7T-qG|E-qU|)fMbK-{59|}(tRROwYHXX5T8~G@UOcRw^-m)&!##n`n=SX$No#}< z6>BT2Q^b;z=NJs;I;_d89eQ%FEm3EOu?rE)nt+0vQFtW1S z6lZnfT?iLu6@p5*dCNOCqPL@Vzg zF3;o}g0jWzA#=RFp77~&^mn`?|I9h&kccp3&TMFh%;P>8GIsl{}qY7Ve?W zxP5sw3!Q6SuXeCiI`IfzGL$4A4|XsLZtF`+oOK1Qf@f3yH4N|;R8-W5I>}GMyLa4R z@uc4Rq!R@VngLA;aQ9TYQg(i={5$BF3d&#*yR2;?9@$AJMNeFD1RG0gIS2-6UKPkx zSdKjjq%qzKvfmSUc-#8;fCfQONBz~Q-_xKoG+B>5PmayJ-z%6tGUlc`6RcrdZJya} zqEN!YnqvB#@#8!F!5aFlrLRF@M8vBxL zlPc~8l-v7}Wt6A#Au=_*;wI&NK-Il6DUJzWDu4e<7w6NMwpZ6@(s{DlPCd}V+oeJC za^2Ns+;{;q;XCSE?K{fGdp!Vm2ubZ9m$i?b5@xlh->`2cif`wOVivJeH^ua}`}p?y zJUO)3ZOSV}JO!l`cs2)xwVOej^|0WA1DI)r{s%(y&y%OrU|u;ShqpWn$xkAZ0zTZ79P2(es)Gy$}rIAAFo*D6}XUrP__|)KmpXUVbG4p4C=A~4#(HsI# zF|B^RQElMfR8lpYYh0{Y=y{|*@<8-GQ;E(;bI_=GSk38+=J7cUTQ)5c!)+fN@KYM! zZW;1OA4ND0$n^*-n|!TccKmSBe3i{*=qJ~c9}sU{{pK>Fp5a(~|6s_ws2HuLeKpde zN_|#aR9GVf)z30{g6=VP^ zT1W9f%kXC5#rFMdv>iwW*eJ8uAPbTnf--Y<6<*8{!6zcd{dZ>eovLA;-oV`SUoZN- hkpAtk|IzF}fxe5>KxTzAu(IEQoEyReUgP{*;-ASoG|~V7 literal 964 zcmV;#13UbQP)C0000^P)t-sz`(%O z)z#|i>TPXpFtYL;jNGiOtpET2G&D5CPfzwoN2M+&G@mfgQc795RDBm82uc<%bT8Jz zJn-2+lwJ^{cN%`7#Gu6JCN+YI00DGTPE!Ct=GbNc0075&R9JLGWpiV4 zX>fFDZ*Bkpc$}3}%L;=q5Imc&2zoDlU3)1?@lbz3ViHY?ab=UV_3s<%u~6LG%re8y zENsEA)va!Ld9T@1qqi{e3qSAnEPGiMOd_Wv%Z#>z2`lkI1f5_mjdtxL4mrz|MW03o zmh~u{Uh$8xm0~7|+aTPmal6OIv5y4(3_*BrquXw=pzNe6HL!zeyB>ui<&iLxPShbd zQUNi>WFTdlY(N+^p|vz4ASo8S7t#i^sK1#CUNzPWf-n$8F-kyN3JNIy|D`2B5Jz^G%C4m2USB$MaXFI-*pn#IXf$JX#_XbKKjgVT z91bz|eX6JCTbm@-rpCp#e>~qHj&T6Ir{-JZE-vjfWMD+yQ068RaNx>^G^Y$&*K3D-WQPjd4RI6 zaRA{JD66_c0YH1@=qGys0)YLUqwn@W74!-q{?5@)-UENvbLl<+0K(s;d)nWndyPh; z(F71ZAJFpwJs)`dr|mP(2QYu<=&wE?0OIc){q@!d0qFF7R-J~v#`{)(%X#-30Gg%; zn12eKK12RK0s?aB0V@Ka{h$EU4cvUJFINJ<_R7&u_5i#BkiT>E*LDlE33&w&f9L2Y z?|~5Yd~*OjAJAwt8qM~R_J1nU{!iXt+W%<)VgIKh?*CN8{eL0A7s7XX;QukDus zApX9#UkK2E_B#4K(S!E85a31uyb8D!pt%9|`lc0t?R9Ox5CHb~wf#bXtyci?_q9C@ mAg$lw1Bm-S74?73r{)(<%6zn6bN0ai0000 Date: Mon, 7 Oct 2024 17:16:25 -0700 Subject: [PATCH 013/344] Circuit Board Resprite (#3497) ## About The Pull Request This PR redoes the visuals for the main machine/computer boards that can be printed off of any circuit imprinter. ![image](https://github.com/user-attachments/assets/3e557ce0-bef5-4e35-be3a-4a07a0c79f9f) More will come in the future. ## Why It's Good For The Game Our previous ones were quite a mess in comparison, and it's a small little thing to keep us occupied while I work on other, larger sweeping changes. I've been meaning to PR it for a while in any case. ## Changelog :cl: PositiveEntropy imageadd: We now have improved visuals for circuit boards! /:cl: --- icons/obj/module.dmi | Bin 18994 -> 19926 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/module.dmi b/icons/obj/module.dmi index 49c818b217d0cd20a94c8b27afc39e7f567138dc..e7f379175a5e79d0b37e4125c002422dca0e3bb4 100644 GIT binary patch delta 18802 zcmYJa1z1$y7cM+QNQ0aU6=}#V)r^}cIS84I0Cf|j?S0edOl9#7V<+72~8Dv=ZGy#H62LEmG{ z!y*2KS^6)`DjQAir>@o5c^yM)n20P;)Orp*2t5k4Ihx(=Yn{=dI5DY#UC z1*zx2YV6lg6S+TcVq;C1GhZXo4SG)vDXbwlq zZ_`}WgEF4?d{xz(mveC;C($f7HA_-*Kc*I3 z1)X$QUpkUfNVd4b=5JW>S5@DA65>ZEB8 zG|!IVhkyARc;)gataXd30G7Sm+L3;DapGjI=XIUw zh`bdKH}C4~tVeEP+J*{GC!2} z)8>f^uc9b(NecCa2dSLqiMRP8!uaII18{Pr^Q31J?y`Q_Cd*w1Eoo z2lZ5?&U5-7dpP>XIN*d+ZY-^9^w-qT#((y{Lm_tcc5OfKFM#?Gp~L1Fvw^sZPyLVL z*z_KVo0>ku#KhELjk{epwqp;^H$|qYBp&88z8Q>m2KAI_da4XzWx3I5;>O zq*{d!_GLOdJIVQA)Ys?xtIHiVI|p%NAZ8mnK5jRWEwN)g;WX7^z+$Cec&R#p-p-W0h0gm8yW^XxDgDiP&($uZr&#|^vOVkn{ zYa;({)*@}awCUjFgLgMl__iLJOk-Pd{+d22|sf9fr`h%`= zRKp;16+--5@9E`}$@0VIQ>8Y^_V5jo?}?N>0aA`I;`eq^KmDi@3?}5xGvCk}(oPe9 zmb@-yLuS%p`<6X39`ZP~*oWz)SE+>PJp{O)tHKT^>ijKPkX zA=NHWpH2TGqjHq5iNxN`xuT?!ewTfiH3KsnN6*ANu*U1bq^bebuF&7}?;)GOW!riz2-H-Bq^J z=D#S5FS0LWXZGFhcE-nWpE5EA5er2*gS!ecF)`tAwc0AbL)@Hl(<`9W~Q-R!aO_T)0U{q~4CFiFotQ&JKLZO-o4`+M6w?M4?6x)mcJl zx2ZEI$8g`Bp%<2orMb1Ms;c@Ndc#)>@=|v$<{eVzO-ReM=S`*nEschnE{u@8+IhDG zlrJtjGSj}gHKQy~w?u3GxR^)Hd?1dGz>kSE)ghj~C4c?^R~k zAf$$Xs3W;lk`S$vi{E2e?=4|_H|`n&0&b1ZVoQOKe8>3SiP4umowu!B!VA4k|10LS zhAk6CeSFnMe`3wS0j_>5=}d!LWq#+8=331=LlSF=3tj7Q!KH3^(^6fG@|l#_3^KrB z&Oz{&DsC&hHOBF=XiPfp1E4egciE!Z8e6nFZ&_JRrrbVxL0ig7N+~jc9{*kQc8W+H zV7RK8=J2vh<9)x-qHzwPQ4C~Sc!7>(5?*$a2EQ+7S;N(Mi+c5&5GR# zX(!a7XVOl&Ntul>{n1tO9vHbYB+%I<;Rcto4ELy*{*v zeDJN6%B`la6>3?c+$E8 z+H_u$t3ldLqeZ6dUzUwIsk_B{vVU)^`4g7?4x_{U57SQx{Mc2_>MmTZ(Z$6IzB9}A zZi0lk*JWyI>Nc{np;MciW@Ir2+z}HKp3fP3sy=pi-9wD(*HpkYQvCFluHr0-roj}P zss-3)V$6L+MkZspWG!*lWE{LE=vvK6fy+#PZWh1pSa@}Q;g-#XB;hA>*hnj1F|U{7 zOxXK2ms~hJQ$`r}Gz`KV-9Q{}`V)Bd9NXeyuKvX~b+}ir&64HDg){Z18KDhCJS_pg z8M&NwVWO#~I%N0?GV#NpIyLiYpJD8KeK~*y+^WTfs!}de!BJ--+xvr4uaAx91#!8U+CvzYxFAeh7sLy>_P{R_8yafrli|eTnwlg} zpqr2@`Hp{GFXlpb_jSs&eKsZV0E3W)GiQUTLs@N!v&bQBq00&_{=O{ zD#zFdeEPz@GP$u{2ndwVm(5IMScOtv#AXowT2<*ynLof2p*#vh6oAjW%1eqwMaqsv zGPq#ipL(ZG!rU@Pq z_+O)45pEJMt1(iP!igLm9fg6q{WlPIeXiUraim1~`~`NsGxzAT)@$FiGiU#Z10}gH zXOC-Nc(7`FDw>I(K_?w{oahCQMd%yw-yduzi8$XUf@DK1XvQ6x z{G??{W*|b|zkr`0mEl1Z#-1#i-6q1#!b;KND5-Kpld)>qiS85Il1eq-80*+czJl>N z%^5lYWA#$&*5zjGYGfBcroPxnEwQ=! z*Jp|7x&MJ!o3o!|i5{Ux1{aq8{Eh(Dypb0${y#7)=9O&YLjD}_%$a;@y#L4YJx0VS zeR)3CA{E!EtkJI}#{i*SHBHSNnO03rze0b!xzAgPQ8>>_nF1PqD+G0C4I6Q5M#s0qOei z%|rpK5{$kP=&roqxO=2OxX?c*G+yG#_&)sBPoidJCMf)nD1(u<>>t_eCG@XYScDQY z5HW_%?crp-4K?o|2`z8F#>T!PWi=XEYB^@ruTR+9TOSO!aj2C%Qf3KULWJj+L^5%3 z{LH)$IyRQM>b#VwwL&Aq=tTgw8TM1Ve*J3=9sE#WS)bgDchypPde?XI* zYX);BwoTK|?Cj^LPY6tuaW&SG&*GVLiaWX+S=Z#7b`Ozl)6bh01$7sXjXwYVQ1~{M zQ7E$0*mpWMp_WL&tep8>q<=h{UeAvg@;7t%YU3lWv@t(_{(P9V6dF4Q5C>|IQpNKG5q{9Uzw@b=!G5^zcMm~wlRUPu&yidEk%L-lI7HpGM#%1 z3x~(Gyz|QY)>9ZZ!s;fNIK>G}@q)IJ_!7ZK>LsK@MHA`rL+(fU{60UUfYLR*ZQv@t ztQAY#E9jQ$8mV_d4&9vm_|dtf)BJtP*iHodg<5sPD#LWA2C%PK{U(gJ$O@vO4*ehA zzjc(l(|wAeXOvgfU?l`!hxE1Q={L(LJoasN(3wQH>=M|#)F+!}>J<5FWmNK^>Os?@ zl9yNG=85m*;lalVfv2@pMP*Ve%bW)c2;&excAs9`p6~IcRLVi!&>@xug}$)KhrXyN zYqe?Y88#vy>aG^fgGM-USe6FxZYGu2DiI9dI22zXUpX1F<${dGE2cE;fwi7N=AUM* zzM`l0p2=u66Qr&;WL-;$>Zvuzh*@z^PcP2#qF1 z?Lm_=chO|wWr^M%AtU;)_UX@G+O3VN(xybd?Y?>gL^@iA#WC;fV5E$4H5{&}B| z-s%T`E?-n5W5U4!a6s)=xysJq_Xm8z3iA#`zh0Uv1+lG zboz2P^A0cT2`cvSLT(L;I2&w8KBY#^Kh)C_NBrV>tWE=bN^L2CBMoKRb3+pp8kA05 zyAN*gVVx51-o*|6;tED0y{HMXsOnmWa#MsXEiISN=k1vo88`CU>)&eqw+eflcF+8j zI|Kp&ql0vl@}sJ&x$BhQobgpxmuKX3Gu_jS>4$nnzjwFM#QDQRC{ z5io@g{Q4C-y0kQG7H=S}s5pdgoCDYRV)Wm9wD;OQbSgjLjEG*dE{npr!-gpKz0&0! z%)fya2q>~IOp?`=$8(N}fzGIC0n$^0zdo&-BRqXYrP}!h3(=Pmm17C=gFzeq1~u;R zDk}A#f~g#W=vA}DO4%0Wen>C3*YJHl1Ev)tUjzvqaKph8&%TPffahgq284y-irySa z_?>5ACi6R@MGU=tkVS}Y(v-tq%0KQm5XUxdvAqg?k8}RX>2riQ6b!>aL2)sDqMrpC zB{WHXke}7sCYb8SE|{@gmo8ydM{=>Ly8Bo=zuI$W7bY4OIu!2ViGC&|l=Kyk40-Kl zJOBNei~~RQ^IXNv$Ky=+6r6$1!vet|(SbFaLdy=lX^g{-H2;6Q5WUAxh{uZlJPyaO zva)4n8Q-*k%>jYiMXhCJaN=?>#U5ItcBT%>rRTPD4*kG4J29al9Yu}P4(cwlii&0{ zonJp$SX?Vk%cA;YnC>cpJ3pml{HI-CU&;>Brdnhe5sr+KC=bEAE)-1`bvs^jyujX=i~YTb4HDgBYo zSFg&Hqj4mbHBCUqOV@3MO>@iA0$w~Q7ej|wGOt*i9!p5-D6Qm7#~kecQ8&Li+ah|G zaDp7?wRPTP4`lLqCw;FqLCvcs_d_jKQu*bjAH*>k@81E#mgYkV40n+t{zr}KN^c)x zbhL#)@j5AfALr&8Yrl1Pi?8z#gW)|sjvFS1N%=irLibu1wLAN|L~;2b`Cu<-{vW6E zZrJ?ap=z53A3E<)64dez9y%V?0nzau`|2ft~m+=I4Eew;l4L3fzenU8dF{a9VSR;?m4ma$!sc!K>`ovn(U6=K5pfNU2ecjs9DJduXFq*U0y} zq+>+2V#*;TS@@Dgh~ffM*~oM%f+B47bOfbF1QG{OeDG8dfVkUhZ#Gd@5Hsg68=MCZ zxKR=NCOMh>QeOq_7Z@Bo4o0b(DQu;eb`aY;<-4iH&0vSQp1ho#sqX@ileX$UW{mGlah%o`awp4%|QB?oUFQ&5xrF}-># zS>Y;J%f?QpauL4hnP+^MFy*nP+`1ntx@&WKKV#R=w$4&qA)7dKtEl?6 zBbQzKr5UR<9sfsy2aojCAbyel-eX3BSF(`Ko?3OCOU85q$ew5po#1rWxIq*trk=0b zHU--{j>GK{@K9HGt|QZ$%IqGJ;@Eb*$lTZT;^l5;4-ok53a7X!u z`DM_(#O|It9yJ3EiInB{TojZTB*QCCYi%9C5%IZnsEh7BB+obc|Kj1o5pW+5u@vvd z#b2PZ`zOkrkj-ANtNN&I>&?ex_<$=;w1PA-r;9NnEaqEWN%3 zQwx8}WKnkx-XY1#*|%dAQ66LD6K()41L4 z2Ap4YU7cy&{A{yl)!U&_Ck_#V#GC}Dw>Tr6v3NPd6B2R6L!*sC4MHP_!Xrk?%Ti+X zNOb?7W8beQ9boPfUk2DJJCKCbjW}WzcMPbya>1&KXdPDL3pmja6D*HD zyQRg~qho}?jJ+H>x;p!FZf+HI^;ONQ#6(KU=9^=z8%;SIw|^Cj6{qccuwP$H)Hccczb112;FZ9u)M^F5BOPflkEA87*ybzG8RE}UW=;)ManOz(# z%K7>EsobJ*&LH0%_N5(T2XxHXO7nfA1JyOKC>0Zg`xcbdaDXq=+coMB1K);DT5AT( zvQ+aSCD06BuAEtHcPa0*?D2AQZ=I&;9Dmav#mpcIfnMWL;riG7k$Y3t7!*?q+q~+M zPzg4NL`|k?#IFw+Xr`-(a}fM%(#g>fnNn!*rzt->!E73+$IPd^M1E{H{C94;CTKC| zFuyIw>C=S!X8;(e(DAyiQBr5Mo+!d>?Fu4r)?>uLrowGNz9DBUUSkgH#iU@2VL*I% z0@im(uC>3Je&$Rs#{VPTm3bU)EL?19XcAa$g7lqJwV5t;onKv9SwVV$RGoo=Az9e- zhefJq5RH%<`N=ada^77!lqC7d%i}RAr~Zc3Re_lT86Ze`)3gZ-8>??zFEKgI{4p zsnP=dVuJ}Bre~h!CV78`URZ$nTdQ$Z!F#btF;I>>aV+o0l2l= zRopdx{g=N#5Rn<(J`m}Gt?L=TMO7MGNigjr4 z%85z)v@^-~#(N6wpylEg#?!3yHoxw6$3s#w5Y}1h!Us=d=B>BUB;euUF^FqHozDkt zH!ecgI+?2|WV{>w-X-!Sf+8f{iOMD)ylB)R}0-=YDg zsH=~=eOvtP+m3V*1_(ktVt+#_0`<0dnxfB`*T^Av!KWjv(tL<=&rN81d%Go`D4_L1 zU^z5_ejpEt{l(u$fnb&DN%ZTFeR>X^5bWRPT$u(v+gULtv?2gL`P!Wx=39Qd`t>-> zKW%p{a~R)jSv3DRF(nF)@cr12zN_DaH6$ybx?h#;{Bteq14DVoa-1G1^IW-54CcRi^=INFE=;2BL?!0SoUaR3R#qF|4 z|9br%AcJjQN(@< z+GKaCBxZGy$kM!VyMc3gcfn}@ZGE)dyL>ji7{LD#1Jx_wtTlO&GH}K6h?eU>t?Unt z*okA>G}}w;w@2Ue^O=2{b8@;JMA+_p7_-G(9=lQ&#$B_qd_lA&4>#Yh!zlTUf!MD@q0c3 zfCRy0wI_07YRc(sOZ9wzo^Olb=_m#lmR*HT?9#!fmY3t&)e~r}Dz_;@W3loDKaz{t z2Zl7WmMa%R8S9+;M@?=0jG$@&O?BI`8 zd$M2G{*QVC*=A6u7IyOf)}$wbqALdoEy1UFgqtkiKV>e?V=AQ@5)yJ$=RziEgw2ft zm#(X;tJCDh_Tz*z2oyQH!Cny%Jcr5{U%Ys^zP|1^dzYgA5R@(CJ{(Anf6iydq~B?G z`SXWTQFYkrncBnB`b1mz@1?a1RL#7`>ab}~u$CUHzO-83Hu@UU;37Gb0#r0bY*Lv@ zd(jA*`d=Xe!M2Zk8YUn4^+fh|5nd`dAh^GKe$E?&uS%2x&S!3Zo?y(a`}8YB4vxd2 z@0~tsKq&a?Raj4tboLL z3cRDdV_MOAWjC)~0=2F}I?&GS@CE{N-EEo=k8#FM?*v=f5u57=99E>@ndt7}b zgYbjGfWM9VRCGuP_WPxV=H`Xi*w}0rfvFn!Z;G4elfd(pvMp^1dA8)bSzo^(8bLZ& z>1_IT=edp;93e_Q&)a8*hYwm{LFRv4`RIF}2g6)otIpJg46`C7Id{ywn^Ns&EnpS~ z76MT8qj{*}MFSeaU93karS=a*T`r7nlIQ#TcGY!QOf}hlroUfq$P?=AdQ5zfPon2j_U5CD7&1xFS!Z%twGv9 zXGx6wOXltKH`q;IujfIDXGygq{djjW)q$`~sdjI-h4NXm`N`nm*crc-_t2|E!K=RLq5o9q_5FM}rx+)%@y&r{t4dERq2Q~Kt+lAlD+#8G{ z!39Lg(gekP`<8BmXpFd~5J5_oNNgpl{E(YqdBb1U$38B-tQ$Ox{M^G${J0^Z&;5!# zW7TQe`D9Ht2%q8|nE!#a2+Zd}UR=8QMLC&&Y)IEfX8sUFo!o|oS-TI;&Q-8Jyn#r0 zEFNy|qnJSjah|t!z{1b_G@OzWEf@3@6EIl0H7%;xsf<6Q*!DLd5TE-y2ez*GmvoWc zr1*{Ad$svsJr4cjzMX1*yuM_PRYvY-=VWyj_FRjg3!mM{5U**ae&uyRS)L*#;Lh#C zk2x&`jN`E!=13CAN5+Gu7$9EgP&O7r`ZSx4=<~x#wKunZca`oAu*F&!0CB!G~I<)3aTg@ zAjp~5GmOt}u37xE8Z8#J2xAfvS7cjv1R^cQKYJ^pm3<2 zXg6O=@%M?sOQ{AM&FPTwpAx}@6ifJuFQv9Wia$obm~Yy~QsJ8cpZiPj=Ls2E%#R;` z%^G;y>g&m$4NhCvyaEI6uG>|-k)JGJU_b+Yef{!y^~sYbmvtn8R7;6TnmnvYLsNSF zh7{OX^Wymu>8iF4)302GN5|q=c3KbFFI6jaOa3JC*t}O(=BuZr8B0}FO{+s%;DRoY z8&Hq-qL4ovO!;H`V6R*|N_#e(zI&FM%Js|~1Q zb>h8V8+hIJX=^m2`Q~K6aQdy%!?zEWh^i;@%R$ueP$+l<|xc04D;GSB*b zFv0UwAQsp%ix4Vvt=;)U|5q>oIy~0k^Qd?ZPB0R*awdZ>dkx`fIs#$R#BMBfSIbsoS;68GQEe zA&2oh_&h;lD|lfsfa=c*4?f=dX97bG_1TvK9=QH6jQ zJF;xXXbgc^@9#N_FsYh7BMjp4y=K||Zy4{cBE#=xZMR5KyHP#+mi1{C6%CD8v{C*t z)kC~Lx@MD2ep7KaDdpmZ`qWEX*5tjM;53wP!ZRuM1_9k7k5EM_Sl8DWqc7w z+t&bC!beOSl`RNgm_t%O{9LUV%>T}@z`rXEnQAK!>g!`pdo@8rk$&Mn$6rQl^YiDw ze;@r>lNpOmVy~9m=IvnL&xiPy@}q4w@Mr`~p6xiymIJCIkK)A66MD_)czxj5v(T)= z1XrrqpPm!$gN+2IEW7xVb+^mdW@a7}b+^DWHs&3*S-xNYN)vQs-pJ_^#u(}OM+KDx zYYeS~o!=?)E&c{w-8TQWve7KowF)(`19m5#J(57|vPO%iY{J`yPq4H0iO#Kj7b(k& zu3C|QiXtc}Rx6UtTkT0&`iWWrCeJeDU0624&H7Jw3zhX~Olik^iRQDNq6j)MV99QY zt4O;F25ML}hei!Q)R~4?h@6YA_Jee8-_#{y8PW77mLOVyS!HDO!ev7#YM!7X*>yP7 zf5-dduJcG}>sFc;l9oV6UdU(c2oo}G;BHXIa+$e;w^YQuku*LI77})xF`GML=Q&{P z9INI05X_G+G? zVKRU56RAbwy6sbGDk{(WPT35&9mYbu{=pvArka6)qK=ME+p96Eu+#p$mt@p2)Lu`h zYuMzX{Q(?=>dwPAjA*5Wg*%+~Aj!WuY`I7faAthnf-LOilzwQ74&a|-(vLDFgMCEA z$VJK{a7eG3fX>c$zRfi?lNXep?I7myJ`q6~Lkl6JPnQS9C7TEc2qI`j5)%@lTn1OV zf)U66;aEiJ1OKEeISe19w0I_9zUyw&eqTV__!r7y+OuV*oGL5}QZXi7Wkk`_mVX~x zK}Hoe4}{gc_?1ueud;?hI*-oU+B(0eC@VKtI*kl$1=||Siu~bXIyB|Qj_m$W%vL%X z{8@4U(KyARa%F_AUkdhb!7WiRf|(>sEtXZ?^BJkQq4`|xk;T#GKPD4{dII0v<8 z5Dnz|(7a+&Q6$(#>(kA|Zu!#BK1Tz=SY~vc#!jkdzAzZ;j?-3QC&@ z{-gLdpufJpS3qZSxW1l&HkilJkZ1pp3`D)n?YuN|Fkn-Q`8D@uFvNEJsC@CQ7>M$w zZv7a+Ee?aR_eUIP>C$YRmj{)4a7XNxwHaRZ@U?b;1uCrOF%Q$cHgiWURtJ(TO>2hPvk=H}+SZcaea0bwE`f&NV9 z0WT4`h7*TX373Lz(-uwuJ*35?IbQ>gWH%bde^Qf2pj`! z>UQ18ro(vq@J2kE_$c)85})0pQ}D7aszpi%a9A>fwJSi`U;uLCK9KaW6(otizq70u z4G{=Y6e>HR4D6|60_b#*M=`!$4Z8|sd)p z+y3O`qbxC*Pk#zYM}O+XT-m!S{#ucd@u%8k(@ltg`D14Qiyj_dNGsNF|F4DxxRJ{Z zjUyEE>C*KO?)JR_(PuWwPrwoRHKuc4m*GZ25(9KC-tyBt1kg#ne%tc06ciLdd@z3t zYyy~rUR-JQ_IV9M;m&?xVPQ{#yBJi<>CgT*fi&OqU%gkF8N`7uRSNu7AmabuZh3S+ z22q2v7T#sq7{+boCIt_i0&#n_H-jU2}xz+mX+>U8lQr5wB-5ff+p?&*0% zK_RQI9&;<;uneiFr~r=uKWa8ZME#cAp>ZN;@ zOh;CA!eWu$`cfMOmaM<2$DzBqwtoBq3L0R##W?6iqrSLHGfsNpI+)0j1xFl9i+SD( zDcE{4St11*z6pKz1N#%+Z3URO8u=V!hK7dP!dnfD-1=X{0}$)LB9U+55fN)Yh#*F%1%nJFpG5i8{pf8>>O@;!=1DNJNFupR4 z_SEM!A53U1RU=RL2=iycS4E#4cqef+5G(Bm)IKJpDS#R)d-tZqkwUK*15=7lU2Ys{ zkG=xy!!EueX!>Yo{WPbF4gQ-N)p{70eQB(cQan_dX~LlJFCgO6tB3N-p+7Kc_`7;j zG9ogaHi`I^sVt^Rd%5XHi&|QT+#tJ&Jod0wWm}Fq{TDV!eUSxDJHG|)4?{f80PlF` zDFG(5Li@FIK0dyr!lEJ)wjYyD9S~iy*&Id18(XH>R6c#9-0ogQMa9M|Ep6@9!?P}y zHXlqwESSUaXiwdhdJdVdB3Zl_hMJi8{2}Ggi}-@B%1@J@4s>g9{{98~4szrB7pif_ zwT)es#K7{RvN;oZb{pZ}zX?^YK#`&ONu%rMaWSD7?sRL3UU^cIU%$ZmTl3VRJK<$` z<1^U!W+d$-ToVy4)8^ig1a;GqFup{D)46c8cLbVuir1+Y->L;+RR=o;t^3)h7eOC9 zQhvaXz1{cu9mN(=LN&FeiAhFkSl>dm>|K-%hGm`h`8D~Gw2{1&f?*vyz>L&=mHCvb zY6OYmT^6T;Sv+Who(GMQ(NAMJmJSW*Q&3UL6$D>_dqYxM+M2kWgJ^m9A^Kh%#K6BA zTP6BdKlMlqWy%9Dh|mgF7E1bPw%#b2?j}Sby&GKA_1AbiUN9+LAn!U8n3HbrFn=Sn zEK(D&WkcvOS{uMG@zepBrp_ltO};JzTb@mIJ-;@x)@4OB{Eq1U2(1!4Bo4>ia~nGh z@}qD_cWPP8SQpHD?e?p#zUgnzwv7T&dTmkb*!0iTH3O{8@gVI5Nir_~hwNDhLwQXrsmw$hHlT)<1 zNknAw|1@$g+nF~gp?g3r{!kUPumCe;c-5O!b)7QQm zI)-}wEyr0fJU2GezRGbaqg%XpTR(^ILUM_xrxx}(R|Xl$bKM1ZZO&hWhgH#~^?-3L{f`P+f{PtlWy~#{l#)lFuP^G(Eco9O6-D#YojXrfP zxs&Ux+?~trOvMhJTO6pVuD;Y5t1xAsbnc5`d;zjMH8sNajIQe&*k#9*vSN#xm9^T1 z$)`{CKrg4FB3o?iUhvyTM=>1A8+B*Z${$1K1Cp>7MYp0V$c%C&qeCY0Y@&G` zw^oT10pxhqAHA=79;-vZW%Ir?EzqJpoJ$EfD19J=P-JnnXHxEieGt$~$GEx2Cxr^G zg1bempnPAA&3|<=;OKKJAS5S$-NMxq)u3^OstksBtk-B?t)nig?v@!kbBD5AcfAZf z_chIZFQg%Ub)O30if?9+F^rMghON$Mbeg`M5_dM6V`ApVA6$8yH;2u@qF}N96@YDH zkD|Ok?Hc{F!wS|pX(P?T0qF~_O=V7chZYW}W?;#on|Yskc7YGWUtVi;P5cZt4_5&r99gA(9k>I(1j zvW%x#4Eba^&G(^Y^?utn9EkDQSr7_Esiw##0T=NjPKEWqs??tHpX^D%;8b*U@~97| zzr4ERA!pNp&f0C+3Ux{hALAo!$Y^)YFTI((S*O{Bvqze^ko@k#J~^Ugb-r+KjJ-Y0 z+1R9vsF}&=mt>qHL10r`;orZI_vpBIc&fHX`*4@y)%r9f!MwKvkfuDK?2a-Xi-97} zXpEF@$WB@Vnt$#IY!=cE*cmu}t8*tk*?(!(+)(vx7Yy-lL}J~;8N4K)2PZ`#WDNQI z|0UfH?5EMb@RH1i`9p-t8l?NRKhFL=`96P#|R+S18V0y*!7ze{}Ei?XSgG?;THnh;F&T zwQOfTwh8&dEO(n7lGvs>TtB0e_F8=IJf=2i@UB==pi%~!fU3d~uQF6>BDdOu>kSEP z-k_HzNd4hsJknZ;yX`yeoSSSecjLKWSLMseuWmFrLp`jz9{45y{JPCjF4%UyT((#2DcZ>Q%Wu5VwZ&vt zl;(`jcE-5RiwC`NHG2AZxTmR+d^AAH{$*P8X>;$Pq02szr^Tv)D8*<=)d=H;(68pE ziU{{`Z+4(5$C&B+OR`Gv_bSH^+E0@_=oe*UwX5>cOu7u zK(CoR`;MnY$^o)%=H$iq?<+S*zF!7$i)VYZv}t~&MlRgw$hDYg5q9A9A*?hJ6$=}_ z-;nhobZD&<-)Nyj3260jH*{F;h1R?^qXLoHI+cJz0xj-nk<~?zIi#Bp74MpIR)fuL z6l%76e$hnUzI7Bu-BL#8zc?9MT@BE!4h6VF`ENoOOY|{zFfAKhaff2LX!;V;#>(v6 z#@(g;`B=mL9{Pwc9)gDMgr8hE*?S4|Bh00JG23%Dxs022r(U-KpGfbGRyeaLQN10P zYf23hoHA>>468-i02xXbE;n|rv_uf^rIOXC;Ih5RYM$n3|IcfjuK9peyL(ECET#2Y zQN=5+n9zm~Fyf<_SsX*n9z7VU&6Reu?dWLSZ*p7qj-ct<`TL=c0(87>GZjl@7}%?T zdnCi@xY6ejy}OqlrWG=vsZur(efSe!T!dBP-0NCXZz;d!0_!b8mR37U{tCpKO^Qv@ zZLR4P;<(4Dh%T8Q0IbmbClfk0T|u;TbjaGbO>PP?lG=^-8tU*6*HLJanZPu4nxo zeW%++>bB##94&v>TVfi&C9r&(F6Cbqhf;&PMRujl;GmW;Z`gn`K~rJoZTN%bXL%fA zKksOluMgY2$8={hD3{*T8ebOF_&W=(K%=kM?iMF___wQoR_ANDuZv-HFJ0hKt~~A_ z59SI%OD(#V?J)BUnpu`mrtwe$9v)t3l2CkogY!#P)`_;PV=!w5D*=gMjTnV|xJ=OW z?;M94UXidM`gu*vmEjYeaNa;~TJyIH5*AJ^v@NXV73IC=4@c~5!}%MTHo%q}0^U|P zXGeK-c?5tRK96&QD_!fnINkXcs&W+hmT<-;5X>`VC_Rg`q0D4&uZbb;k4**-Xs-U= zE;ruQJ=t4}3isP|^!RW|vR691TGRbOgGTuMWXG2ULATKPMr0L{p-z)-bavCcG#lD2 zg3qt38F|N9cH4Hd*)i=i6%@4(Z$v@BJ(YfL2|SL(x*Id|lJ8JzJwAF>w^BYYgwMQA z^%$9VxNzIQt=d8h=;6AZY*G!`zMSa~>_2!JvQ*oqjn2DXn6_3KMP1$lHa9&5vGRw! zNoI-Z9FMi%=mA_0J<^zx9^(SdVQV02pT@hCV{VE38!0q8I(l-b2jMnJhVC>8S1XSJ zzFTQ~{F@!CfJtkkA!i=kNBJ${@4^@ThX}-(JKcgH02Q#Aj8nd!cKGJsg`mVMG!V8NuS-cO zu2(Mr=RC>@S3aLr4{}J^9dPj^FD%Iu)s}bWsvmb$bGz$4cbnHHwzTTdxyBLk%KMT3 zudFmvC$A?l<5`fy+BRhYW7ZuH)QJ~ZN6G!Eoj>3t^at$U)L|ukQ*=sOq0)I2 z{k-FiZ{*iirFuocrdrTvFq(3X&BLe1rS{3*^V@%i^#nY^i>Xo6g1~}3aw;tk?GDX& zooWY%nDf90d35WYC{nIk9 z#Cfg&;PZSQ|C!m{&*VatCyM%42y;~Vt)7-q1Ya?GmpW#UD z_JbW^NRNUtrZFlU?39r=bQ(O<@Tj42tr>hjl?^K=5cyPs@zM&bfed^YU|X4J~Z?I?|}W3HhI$nj%az)4KK)#P*Cj+d_Q zA#!*h-hBJ&z?iHozJrEuFMvudWBja_i44t{u;1-N7lU#Uupclju)HS7Jfz(l-(BdL zkW-=jcXTv8-ZvoF(sr+5Hb|_#U!oLo7*up#OouI6hz#uObD;I!$9u+< z2o*V}osdbYxLqN1v%SULr8`Kct+%fAa@uS?4`vsrCukx%nVz>l?)T?LOQR4C;=j z>+D@CYzHm5K5AhbgTS7fwVM?N+qrDRuNK3}Llwvv;j;r}95xN*0I<6*s+SI+zW>h^ zz^n1lK8qhNNp)SrPw1;LxjPy{#t~3Z)`Fw0R+%<2!SeFe+~odfs4`M{kfH!0tSyS` z|NU9Bcm2`T*j+)_Dgw-`;D_-LZdC6@;YMx_rPt~f41tN??KsHfYZOXDQ363tP1W8N zuvy0)9c<^-1FM^icC&FQp|JI~CSgEbS<%PclMz5#F%B_UAiU|ab9}X-Gj7$m{x;IT zRdp^CW%bU-F0G^CMN0)sDUszuHz(I^x?Cjw`Hpqoh?br&)-hG(r^D;W>i-j72BG=s z{eBTc+y3dtD*%`$^z?L3 z`7ekw5MK@Gbk`pU1alt*d;fpu+qWx#UtUG-58iIS*AcL33B*>YUVQ5<%k<^Lh7Hrl zAF6gS;1c!!66DW#1VIoyW0)~oEEYX-76TTOQ7kuqq5mALu2ynazZCf1F9ksm&O}^I zclqY6iZ<_Hb+s6=AP9nw^x7+O$hd#;+_t&O-py)%RE}G2@mtTYf*=S&FFdzxuJZky z?dA35IrJN+5TRsY3#+9DgNw{R_hfQ=(Y=Xt=C`-=xRyyMPKwq-{1P( z=76i$j8>E*4=d0AY@+h~&n7Bu%KIdr9ftklRx+;|t0An zKbxokgh!sQ_YUeSO-(JF`pG^{o!SS$qkqhQ;+}gRq^M{Y_uTU!0H=PkkK|+p=-QLB z==-iec1RMZJ|Ehx{@5W&B#*gD^hMtg{j8tt=iQ|J-RfukWIu|H(@MWv1AZazD^_Hz zWM|Q*>@50}+M`Wu-F`qf+MPw80x%`@LI7%yHt}Y`y8t}>chw}KM@05*D+NIi&LFyf zO+nl``)p#qlgZlUo75RapXz1{7wX2W(tX4o9(g`|UhAjoc4fnc4Th~-^hICvMc+vM zZVmW_yssc{B_qbfvGk=TqDNfF?jm(r?a?NzBh=`3XVIrD|DlD&&)WgGsI7^+{@UU*l!He?5uzIvroIs543)1sd~}V_Cuibqub)CZ#ve0Wqwm= zmFSDU;S8qp->V3C>-GbBK6n4#YHE)*VWw*ySYt}+g%mg=;OG&N9QwG=_39OE=XV|t zB%KW~(Au33z(5hXX9Ootbv!#Z_*@9gpA0r|<68qu@*1US~zdSNeBbnoMlnet;GaxuSlP z3z6rBv+%z8L`H^FSlB{;WMnu^O)V4`du|-56)DDAl6JOWj(sGI90t9u=jq5H~`?}oVVR@ z^`6TZ>3%Z)u{M6mwYXRf5*Pp+yVeO_rvgfMGrF5mgN=Lq z{r>kp_uf6*v+-=4bH4F;-}m!=K4&5YS`iB^Z^i-kQvCy{*P3sTMW5=;BYJQ?`Om1U zTQ+_9j!VAG{mm|f zNWfOvj#49@hmn0Kkr2RR=aNdx%j0>d7L}jZ68>2SC%(~FyFpW9_=QR!&8-cUhf-{5 zj`Yc~)k4Nuyy$Elq$cd{fYC$M?}~PIj}f<{hz3)N<$>Gx^f}c>mE?7ZRa8`(N3FXA z+}Gbcew-|-K8)8E+OP8DyGT;3hn{kP9zo`2cuO4m9bLI*?&qmF1dR*HutAym6m*PS z10d`Q!QQ;q6&U0nqbV5`fpI5CMn_vu{JiDMw&l_)UOAgzaTUVWC+@}C$SaD|Ry}Fb zyU^^fPz*>oKUG>_5K2z`9!JJtw%$Q9BCuQl&)DB3cMh#yGk%jH&ji`JcT{Yk4Yx2J zrokv~r3+0dr_2I}^hdW{G7`*ay=kQ%QoIKE?q`;jwC3ZgPXe~fny2nRmtyLu5k~IG zIQWcBg{8N8j(+S7qxy{i^?vW=U!RoIrBn60d4ScaV%LA4KT&Z!Z47*zL3cv`GAzk+ z_gRqWsk{|q_FMnx@4EI@=KxV?VR~E~jW*_Yc!HcZaI)^E z58P00lhY-iN46<3s1pW^yyN+)Pm`6%~V&F4$>gz*^a!9II{b zJ+;Kh3N3Dp=2vK0 z+~;yFVY=D>{39>aIxk~&tsudd?#>;RVs5p6<9+&cgp(I3ZxTSIV!U}NVu?E(6V2Jt!amR99Dbr|Tkm>59JW0NAm$c+f% z+;TePvHz4gR^cve{OLkTxJi4oPrBggsNsZTpoY7fhZZ7bjt`2 z>j?%7a?93aXvo2HC;?B3Zx;X9>Mo8loT;24dL~7g%-XExaos)~35HLjoyupk8?k39 zUJPUe;{t`4O8)~=D_yIVQ@{T4{92k9Aga>rO1J;iUxCqoD#x{|@;npLswFa}ajg`~BLuIr^ zp?C9YaqQAn00p1slk4vvVv=f$gY@YEnqY1v7UDaP)XTIcCrnEp@My)a<Ohj?5!Gr&+b`ASw+_BGS*JDAPQ!DOLVFI80D9xODQ zOGOn+xyFhpG#7pU8u#q7W+8>r20QH$9GNdnQ6)psJ=r}x3HF;x zS@1lRp@D&otu4`2D~qs*IbTXrNS60jfo*OH456PrK z%(vOO)nVJYb>Xa+#T#SBBoA2L)-p}_39?;<<8vyZ)9vuD^5~~cquQnv@A(xUIa_;2 z_t`)52M98U^8aYNFztL3jS%@_2036sbq? zUIXMbnNNm{7_~-5FnDC*zA~LWrz=0x8Hy;TK5V^HRZvji?U!B)gy1+#6}M!Gu`}MK zVvZ-0H)KZO#0HfGo@?Py+p*0Qt@w9n(hIz}dhr0A;^L z^{?%yadmjb8kt?&$;0f`evRxufAqK7pjJG6EFf#6VTIFDP4_0^y}t(2`QqeQ|Ejbb zCo~lNjDj6Ld+AODKt99}50lgn=_v?o`PCh?TwM%D2fcBk$Cdp^s}x7KIvxM6b19>y zCcdvvxw$w^gR!P71AlJpgHuq-qzGJd>ew=*g33VZM^-oMe0jG#D0EZAzi(h-~Xu}7XI0kPr zBF2b@e5mhAE#*APBSCaC`8)j5WX)d7YYMduRh-v9c%jJ}LLm(X4eOmk{#X;eemndI zak3Axq;*+$W(&1Xl}t>i1gupj@|{f#+h>lckN*#G#LysLs7U!?$7zF|O1COXN(v5Y zuYpWjB{&yXGz#S*>>RXk8x!Qiny=4@T9vu?HmBJlF}*bTK#^Agos}LukAUC24~KMW zyS1%oO`_Dk{coPIE*5ctS6~%)G2>#r?-i zZ#C5e4{J;tW%)hMj|j#L1VW&sd4w#^tW&{6fyvi*`wwA8OAFKAV0XmGokhYG>b-6s zG2zvFNMN+1m`VfDGFyIa)!tt{UaoIUI zDt5~1#ztz4BK;+Qu%85Omjm;i=ISt$X4Ys>vG@deN~x=9(I`jhZoKV_uy!>mLNYY^ z_~=WKmnm5fYfjZO_poZg`BUm#XAm7D#=-YJ0NCXp7e?)9#(E+E8d$nXn7hc884OIot3)< z`KL~X3wgG=mVJG+8<>KV<*H7vmedE24XAgEy+>S%>|#l43s+|Jry>~2`%98}FVt}G znoj~w0znN@PU=a_V@&BKA!DrYTgXF-@nA^1W0;rU#wGy)0>2d8xmvnyAQh0XwYRt2 z7)X6$+5+Mui(PIIXCa#?;^p>C7BRoKk0Q$ZVy1|OVelZJJE5i|SSNNsa$dUlns zD~Pv>pt*8yQ!#FLFK2uE2ngi<$7m<1Ki@&d)%K8M+dlMp85WJ@tVYG zk2j^-FpdRfWs_`3v|kLJnanI@4*Gob=y`gkQm_>mR*stGk5oM4(pL37jOt=V`W2DJH!^r>)kn71}w#~SYxS<;d zDx)IuZD&dnX`1Ow6dRB$4%J^GWpb%zBL~is*b1)7tJ9DlB_(@%p~BBX`=Gpr@k~Rv zpk@opNqyh-L9U}0bzyl23gVw$dyhf7L;K%P9KB_3gKcw67wouWCfeDLY>Jd>&nrL*&yRjLWy~wi)TnelfHamPer4D7TWV?v zbMaEfLBv8&iZd8XfY724ZD}Z87rinwK@*>DbJO5Fj<&n@yB~j#=s)~Mcf}^wkUB8w zCI66bi18BKN;bt$W;Td#}9ZL(3auo!o%OTq|jxsPyMY zZZ81Bgln#SEa*JXcenD88+qY@F@9pj_hRGF;3l2FMwzc@fBL;+x)vI*c{5J2J%54u z6zJAgT^+wUD>CgW%HRjrqiIg{0N3Would62LiGySiagRSlqQgo&BW4&T^W+oL7kmC zx@sPNaQq^Y-^*;wlo4Qfpi=tVcP7T>2#9so8ii!!;UpUv+LnZUPX2oO;$uyVs;T>^ zaEm#?qX)%C0qPF*=4qnex5=uGzPoogg&##7W}v2Zb|y+XcTP3c)hU{=E~fsJFfWq=iB@83GiI@XA~FrS-}oN0Y~YqnBW`SMK{uo{nX8{tb>zF zRQaevy1BaZn4Ao}?VIGp*2Z0V9@i^!uM1Ja&0}FB?n{v>b(c&M4!keMNu(@l8AKg= zZ5_aKD)({-n7G`SS+vENGra>vpG)M zygj99IsDLCtoPGmn5(SmTcuThva^x*yk{9y4Mt>HN1AQkoXZ{bQ~(fosjB)=KtRAu z)S^y3_Hk@b?k0H(tLZD}7gRs%HB85MX`8ULmU2!``{xO~rcv`w8|z8Bu*3CTZy(gK zLij|PDL||zjz7ysH(@xF#Xm*wXZ(mQP{R4gBkf1`kWKF+M3!z7K5}J@_=x>x9jJzUa0Shd z6tAW~6H<+~j*e@FNc3G$ZXpTsB7X`;gr3INyjQ}FdcJo754!egBam^GQ-y<%MJiHE zWNNCz?k>qI_$uKPt%ZH0k7w@#r?lDPltX9W$`GPcWq~nEHGFC@9Fx%L~O^ou9mO=3O2u&@yu*drId> zOS;4D$iJ+1Rbo`HnVv(gz``z?_($$34&ILvpd`1ZM%WG=_{jzr%(y{m(#+^IVB2M4 z%iMzI8`2r5F`7U0W%NC40oHw87JN7OODyUBr4&cYzpYH8_8e?&+c!?W#=%p_9hq-a zQFV%Ke19GgAZd!Jm22`l)JBLXYexpr%Xj*{G7Mp%gnyZ1WyU3G!ufx@b1RO z#&n+>%(coUj&CUMX!otGC%Yfeq>mK%0lm9(*_y5%K9X5^a`5bJAlt}<*ss#j#29o_voP}wIuWDY;~d? zdqcx(($_(AcX`* z600jQEdGVg-c?@@>4&k)WYRpUuAzba=+5fj8w{gUDgyjjBIGcm8?q$N&r<@u_p(88 z{(<*N&XSX-!3?j4yP3&UtsS#2PveLKY(nq-%#k#~54xIFmE>diX=MOhS<&ny3G1k9k+VnlR}>+;V*23Swnax|z1<<5*Z8vmIVdlwakDa<9D_wrM z<}K_xsO%!%2p%Kcg(0X`Q~_#4cXW5^YaS|32i-`8yout zraREh%}uj`?_#^4S=sZJd=?S+IF^0z?$1^Ip86FpH;K&6-P0$&cU|sq)%A;*BLhqi zqSldrqL|@K>ek>63_fLb2@}-+2UHmYXM3}3rRimi%9oeJ!_H1X)W@LKANG%wqncn5 z&gGul{&VEPaio&{13fnJIfbz zULb`^`! z0?!=7mSEdnN9Z!@rsfs8=<6p{!2*|&8y3&Fyqg;3^|gkD?D z$T8~_QG}9T*=-U|h!)!-D@xa>8Xs{{AmxC>a>z(PeL9ukC`X0zA_i_^uh875q6UAd z7O#P$pB`Rki09)qe-V!LQ#z%)z@4+C;{s_0s%!%g>YvQd&$IISPvJYbKObOh-?%3d zm4w@f%S1tNaY*VbW)<2p?88=ITIKmaAh$#9IIraT9#v-0%5;2^)M^=KvQc=tbEKCO z4GV}e5g>m%rCdd5^CQqdgDT1j@f8@EjQlhB?%eOCqOYuewcYr~S&E^kH9K75!eONM zMVL$()F25qaer~*myUrUhN}6n$XPGHU>z~OG&Q9MQW7|itCfQ|YBr9Jj-8)_%yBsh ze~YszO#h$=lEz2QOj$zo^}7bEiT=Kn#*a5w^UNnxmaVi$Y;B#x z(Q4|EwMCU8HN+x#S+#65DgBWxyx-x{I_c-l#?6%FagTVk;n^#!X(*tIaO!d3N(~%@ z@C^AT|MLgs-fB4hH2_ytbu}dwl|b<(4Q+cQF^$sjbo)UF9FuBs;{VJ>#4H4lqJ1BG zmP)g)B0C&iihY#f%=`X!hI)#vV!h14c*p0W30&IO*47;7^XHwEj^Rt2z)p(yR_DR^ ze#gei&$@=>j;{%*@ zzCC~5;aT!2KrnYWxSuqsq(o3yIP`Vv&!1l>D1d7XAbzAF6?e~j7s*eMY%Py`^Ka}n zEG#&TJ>4Oa@Ba}~SB%Z@1PzOTfEKiFDU?36_-Z}H8AsjFkZab6BI^TKI0CUIKQ=yI zevOwUyM&h{^7>vhi(W+UTTg<^;Syd#5a~l=bd;aP$iVOczOJveUc@1M4_(Dml?0K* zjGu#)bLiQ>V~c%!BC+xFAmIk0V~Uu+Q8loT!1&E7T{0n}JE<>DitWYlw*AuJ(s!$? zV28s;PM#(OM%r@3c+|7BEuXau#{&D;@tY8qA9;O9JIOMFP&?t!FvYg$r86}T%JShj zh6^{T*Sdi2iVMl9eQKWQ*bm)X0a}`xIO{}|9Unprd9%$sls;wQrfS$!>W`%5etHGf z!(i<|riDr}9V&<9((rx=H}~we^ElFf@hcgSQ;4Wzm(Ipb6OE_>1Gdj$pi0i;ii!`o0YxJmO%zE5BPC_(p!{)%>KTa zr9^}yf6bplSVftaX_fE`89;7^F0djVUo1wGMb}iy5P8@Ctch~#R0rZlg1>uo33>E$ z_SDv#-ZkBl$H||8qcu>I+|P&%c#_lK3ojTrWF{X-<13SA%V2iHEq{$0*5|^l zw8gLHwmDS|^s`k1L@a1U$b=y@eA)D4|GWfu{bwTMr;|1XyN>1#z0bH(M9rmA_pXklJUl6`v zGoF8c-(|}gmQuo^?mxM&>s#hUqt#-jt3^q+Gcz(|Rw*=RaZ3+7QIay<;8`gYB0E$I zg%tz1mw(5+lYnVX@QUX@Zlg8W%o>eFO!^~?6D?Z;hfAN@+uK9I^2-_Ga>kCHA(pEO0{lc|qndYBZ5@Bgk~ zmbRg9vRlyurW;4!}27#F8Z5~RmI^u-nfZy8ob^immz|FZo z{urScUZx4UsPogOPYp!$_iP%H9`WcMJFrDYMq<{RFV|DzxA2Xib>>;~QDyluaF)H4 z-3x~8XwdkG9JFq^H{BGS+)$vV}HqRMf|Z#Kgk-vR<*fxLVn`}*(V4m0c7u5YIoxF_y-XTxkF<;iH< zbZq*Yg;UKq5i>IeiXTAkMKJuBH<8#zRdbCE45UGYo-Ksfk@>J|DkNK!XcON{)Rn9NA#}q|6Pf3ADE7t_GvZ|lCt@&QfI!6jH$bCrU9F0 zCT!N=iOs4EhbXG3FqRuwTC(|{?^hSo{IcPgQA6rQ-C_sy$Z-)I5=?ZBR(!-SUungL z;)iz*JsK%v-Zw)v9}Bc2*fN>@cnN8q`06l{d0m#7zolFB04)QDJ|+r816v;HAxqbl zhQs8&9z9{x!~D69_D>Z~^Wy&%DW;>n6S*6r2E{XGaeZz5&s*3R{rtFLJpEqOD!g1mQK zZ4^{`Ib6wF&AwWD|5gagi+8h5hB-ECG7qmBky6eA6O~zvjZ8ODn%77a@HNx^c^H1#4!fea{4tnKrdw-%9R3{VjyzJs;>{OoV~(%{@7K zJZSw4{ai$&HPf!%G@3y8+DG^nfW>Db|Kd)=z-*G@ zlN0YEWLu%i!#wtAIh^+~goua;0;-U$ywU0D0<{BRclQlgS_BgS*WD?8GA2pUb<+DI zF9ZnoTts6tOW!;%5HPA5!+D|^v@uX!U!dvcHsL5}8l;O=L<_K5F?m9haoHq@?8c&gr&9u(VUfnT+FR5%WtF7Zi|qGWusP za@XHab!3z(b?n<+h|J6=9ZL14h#UQU@HeIMl%N`Aug_{ zsK^5PPg7Hb#-ySwpp=-7oPMKgW%(~JFIZmca2^?QvP9# zP_?E%QG-itPL1%%6u_;`Twu5#2~6)@)sRD&TTG$ff*0i` zd9RCugM)XWX73Kf1eKH$GDOIpUnJj>xfTQng)%~~tWb2SR#tgI6FVXfPyJAzW`osicz%e{T)hApBox|M?ADB4P15$3kw^2`)qI`)6$s0^avGj zSfG`UucvfjGuvER8U;QOzKo2F4XnJSH9U-CGc$j^!#_jDajVV$(P>ppjXa>-T3Sk0 zHW@y-Q~jELOz?#{bWt1jCFYXjsQ)~;Xp*K+6>j4&dq(WOK1ZyMOMRYXOhVnCN8%BKVQs;OD|`C(KXszcM$Fa7-+3--$EL64z}b*H3%06*PRm)%#N z`KUUb=M5GYaboMh(4b=Z(p0|ydw1qeqDd*k;(8U)0}c)@Y>G26re8Okb}Yp;6rBgQ z#;ED)-VoLn6@_2;2+8rAci^gi7o|LYsxYBQ^B0lO6q?gi*$wM;pXFL&r)X?_d#gh z>r9kD##|5P42q^4ixdWJp1*xb0tG*Qn639EVb<+OxgI|*?+8d$&421RQw7}sj{k57 ziiij}&54571IX&@C)GEz;1G__eJ?bxH!97vBl}}BH7);~{(j_g2>W1R=hvv3h##{- z8H)=4>h@qcAv+_ZZP^PY@2?{ln7N(K3F7(m-;v(f)z5EQ;!Wf;g*yQ`hq4;2yIS~; z6O7sE0mnoHao@hC(y?TM6CR>lD6d|)|7P1<~}&b8_IFBfaAEE$C?g(`W~ zSiV)A{K{{*(=beUl2sIT8g0})m!VzbQ~LwPbP~uNcH0=q zUn^+Cco2`%8eraoJ`US`=z_gCYSPfj`wkCk$`#kToAdN-FxqPQ?fHB+qxW39=>X40 zl*B$^qO)M{&m7a(3$f3);WQb{=aW(mEy75f2`e{S1J;DRJNTP7YyCRLrYX*VpuK>v zhdyyM&nu##gNseTGtjYRxVZlfIK}8&9Pb=~e}Ag{Ub~@1)%w(KqS4n3_6re9ZuKY{ z5_|LlH{O4b{G4*c@T+svQI~niQ2Ncawbq~vxEqOOW;=v2#_9up`Pgl1$Cl7LWw~Ts z2OL@u?7HHrAK;0pK1w#_L>({YN4hyT{?-%%hD;6YcqqjyG2CMJBg&#c+lg&vwJK=09`4g*6*BMbwH{$3HO5*+}DLp9gc{9`}VEVZb*hY1dBgb^T83!#b3XE4WV8UF()nRI|tA|2XS z0M;KZCn?;q7_Y2cbety=7E%Vhoj*_HU(=1>M*8iP_~1`r!5s}&n~p!{qPbFZm+zTj zbcM^_T;{CBZ;MDU1+Oo*0+lP24}F;#CXVq1&9X1C=Do~`qO3wTQvCrpMp%xPOJM)a z33DHu&DL3>x}GS2RA}?%q)iTM&tZTp~Z%WQhk8bq#%*{{!$jSk+I~o|X-HX#QIa8Dx7bXM0IG0h{ z2}6sZcd9dQ!wZ;0^8+OXi{X{GY@D5$yZ6?07#YbY##Fwz)toERk#){ z@<8DU>G1GyyFz#L$>QHQ$%?s|$}-CS3kcx**kUHx3P~mN;Igis-R!#Q<%E11*kY@* zNlptT=SYw^D7s~1W5XgX9rPlSmiRZYF}jYABuQt&<2X>BU|VGFJbF`&Tl@*Jv$J!h zlJfK|F>twKTE7-=c!6OCuoP8McV5gwvIB8GqM#gL1JMU80$&n5<}-sf(APO#DlIKN zG^EBg=nlae7p#w+7R=3tcf7p4sXz`YC>@j^`@#zFCzgTzN}pry%zVE;M(=80 zO{A00Oh->|>*SR8^QT67JXj*jc^Omujl^s|Y9(M_!TQKTF2+RuHut2x!}FZuR*HI~ z^#3%G!RTBb4HxTl>z!vuM<)*z%Yglkcf8P7(Cj?c?@~|#jeN+wJU+204Hu(O^$Ylq7%<8ShR)2KL_Hs`s!s_Oo+!6&dstg(k z^q&DCbX}1m3qP)VTd!|%b91*_?HKtieb_~|roZBCjvW|K1x3h|&e>xjAkcaj{(kY9 zhLN3#0heoU_IwD-`vF9LFQ`pa(JF|fZ8olu8Fw_jU0Eo246uvaXFZ1*WDRArA;OEXf}uv? zPnTc?ha?(GS_d9>Fp%fsCXH?f(uD0w{}q5IOA-1~eY6j~!4-OX9%IoG^Ocwbcv!x? zB-H6wx1&5!<66%ST#<xX}07@VXF2Fs#f;m%~wSjmbq0u->j_`jWMxqN+nApyiWSNQ;OA4ZFF%XEM|F@FCh zHX(saI$bTxOqLdx-^^Swib3qQhhL!4{hzQtssV@Zs`<+&mtYalr+MLH`bRYy%okFh zu84bRl=)e&ZdvG-R>5NV*$Pah`;@49n4c zjg6&N=jG?u*xKCWvo^iZMPZ!xyWQXEOh5f|qh!Qo66F`V&81zqFLNNZdu3tp8?Ri`w~IJdea1KZ3=m_Bq|3Laj3(%^G#hiMh+qrKzLb_kF_W z25PhNOqcP!dDuo0sNWBf_XohS7nT(j6;svr3DO5yKsXQ17@=+>YeH=7FF6|H9EC2( zq>($RkdRPLZtn2VkeSJYCoiaf=f(?rXNoUs!-YktQ%Nr`FIVk{jf13TYn>Hb+Y^{K zjk`XbeMNpDec4(sR)}8RC_3hIz?jRmwg2l(>@a@MrzCdJbmBqPyqOj5aWbArM?=F` zI{xw%@G2WDW1kF23?2(hgLG(E>iTfUo|46+=SW6XU{O7?;3D1-qW2}H6D*<2q*^r@ z0f#0BA9-)WM!+)0EOg2PbL!B5^^-}x%ZVvowt$S#JYflJ$B{`DX26&$w1N2vq}Xrw zXU0jMa?;Z|IpXYCGs?ra{B|t zKM~vcu0=Us>xKc7J_k}#($9DQ*wvds_N1n@_x7&M$X}<5n55_b?%vzmYq%5^6g2Zf zoA*Z7wiUJYV~J)CRRy#|hbBGvtJuDwDGdNi!Gsl!S87pqPhX|Y6JK6BpnOo`a)z}Q zSJdCJM+66_6;_UUa_Ajacsg(?;kD^mYS1d}hPI~pNhh!7An4LS4KiVf|}*6tL1%qlTFJ)mWiDXaDRbtUr%ZSZ)x5IEh*&MM2jZ}<6g zXbIc`7FD%$_O_UQQC%+(=jp;n0WV$w5M`nYSw>^P&`?qW7s%eJEtM5tl!a0pYD<~H zgt@nW2*)rAAq$i>d-E~IKR?fh5{~WU4%uOFtBXI!2gSACN(KT%(fN+J431rHxYByO zAD7k<-447T1s(u6BI`2Mn+F$#E1-4gpk`b!;C?;<_UeOGax>k0sbv?$Bo`XScOMq@ zy40Jc%4lQvZK!Q8exYM(OV=);9sOyE31G?l@#{K*+ni&Yl!JT2mLUpP-gw35!6{o6 z)(>}zL_2r;@NX3j^j|>~q~hlN7|9o)9kNOO&fF7teznF6yaYW-`Ws{+w0FMIo4g3x zu?gnl{{j_kGeB`L3Zd5#)#6XHVHl+S0eDP13EOcZ^6#US*&jR?Gh0#;oU6O*>|Gn?p#(e-l&_d>CzguSdK z^8H7^N=+O(z;g9mz4QEZY4@)K0w}*Bu`b@}ZD%D>0s$JlRpgGx0*H-62V0_%$;ov5 zNC8@~g$nsKva9uLDi8YDl%nGc3ZozxiHc!_4S*DoW$u@s-SXm5$Cn2WA3jd_JvFp& ziEoG1-3yIp;M)T!r)e@<5yeHw%0dYe6Zkz}3zd_?4u?^?8xM08x5_FyR@DY?MPeyv zJ|On5jfeq-D(n~H1M5+%nbz>arOxz(lSIJrYR1a2Q)LW4>^|^);$KnhsRy?##e0D; za|~-ESV?oC`v%N=-iCr^EbSLUJqp}*TqeKG%whUBO1Mu5JM>mF!wsj;Fp$iD>{KwH5R|iTO?MI8rugi=oZ(~KEFz(QRgA>!`bol@**oT z4@?qYyFK3nSoigi8RS<~&>=cK2~=(*e%b77tf}bE%#J%I#>P@qsrvhK#Kj%FyB=;~ zc|lg&9m=KaJN54PkT1G9ldJJHjOQp8qAprM!B9BN<6A?BIG`?aeil@t$jFPWqP1?O zN*@dx++f={?mc3Z`nz9PNJ-y0#+mR4u761ZF~nW~1VI6VQcb`n-_ay*j(s%04-#E)BVb+!UV3M(er1`yf!SX{q8oJ z902VhWTAsQO(D$W)YAR=@bs7TbhW@BX~^Y2X{=#%xJKZY;M$RM9?B@{!B>2l-x%~d zvC;&psF9X8Uh}3$)A~l~VP4+I$P{h-b(LY62E+i~6dOCZ$6PVCdBz|h2lTVo6SwV1 zskYE+3BM^gdNE0)g-THNm50{xop}QcTP==5ZrySlFuv-uS54^YmAuVCLoq|>Bc$i& zCi?**gPQBrCj&`8JG}~z{nlzGU%x5{s%fXjL;!{b5Qe~w=MRmJ>RDg0x!-b|(%dF` z)w)`GMBFwpdDp#H#h&2Ft#jOG>FyDC`pE{$P4QL6s;*v1BMQjK>D za)IfJ49Kseoy}iF0efJ}NU^{9@!^CYt;gP!*>r^(0Va}O#GqpCmh%%$$Zfa$5zKNe zR5Usc^S9Ns;k#|Ume}j+_u$*=T?*wt2# zXbSb1CYx~6is~f1_3Y6tHQ*Plth_8NXpMZi_oDxD1IPb@bmNRCRTBdNiKEK9PlHK+4H`@} zBKAA;Hr1N{guDO2UA%LKakXeY4lXNZKgg@RaGQT7`ZQ8XL~SKO#1WiO+GN#D%0stt zA0Y>)A9Sk{2DsNfgA5Niyx&hGQ|Mi0raHTPNrzv)8S?FgZwRQ^3vSTYQ` z^b|rNP2-r=!E;>b-`bjSBn-9cCR+`q*-=3RnF?((QSic{ z`-|)#<44n7+DRI|eo@*e%7SB3DJ-yx|Di)9s6~1cmB17<^E$O1WqN||w3@0|nU3RDkWQA(S^}B5}Q1AE1CXVjACNdpB)52yM)sKQuxTPVJNkNf9yi zLD*jAoJL$byFUqo|I|U!Le-R2#s|^zQOx#BY&Ydr;@pvu429wjcDRy>SW3TalcM{J z?WoHfG8qw5uKSC!r=&I-Q)4Hs)HN;qIAq$$LP8(Dz?B0BZCuFdJYsD!+k6fA=<5G@95R7jq$p|62@{KYRz{!5M zW$!gs?f)(<^kaJU&={f5;i+zP^YNrK8yFU-k#7v;H8tJ3jNLn@7XC`}7s)SY{G{?E%0p&e$prHFvaNhz`0oKMI3eE( zJQR?muQYgm<$RMU6f9CZnRO@jFPN9XG zo<47rlkb`SKf=qfXPIqnf~9`q=BJUT3r6t}WT}^6l>h8zV&UWrK06ygj3|SO>*jQF zPuV{|>bZ6^`$cv{(hX?_@{7ba(0Z@db@Y`H`~*$8b>0sx3)r&u*gaLK!#;KW_%<=K zYz+Z7z!H*zk^RFu#H6Jk7ZOBKHc|grzL_Dg(Hck1BbCn@gL(brgfhlJLC(^dC|D%m zDvzaO_#g!qw6;h`mg@H|(DPt(O+B#!i+#0qGgFhmF~gH<@9j*~%+Ue_zB1W3m6-9l zS|CezU4cLd)c#fI58T%Fd7~5s60u`)+ddnHH}aEpm74)O0?kjDE$(F&13i>3POPiz z2>(|9=b)6js>-qFq?cXSz=T@XYwy?&F6&SVJI_0ACa*qa@vdlU6_+8DnS~1D!t9)ZALr##KsR*Lf(hZyX=72!t;$jdKvq28N@bimCdFd^UGD^#Od5v%6a{I~QBfRq*SOW*|m{3V*;C1y)1?QTbY2A zO>#wdrI{;(Eo*x+NWUkKTbut$oD-+3R^qmGBxdl3$qg%g{teA9H^m~2<_r4TlCh2a zoSe;0av@rhI!#O~Zu%ex*pwSWf!iB_KYYP!^Pd|ElmRoLyynN7y&}MK=*4Ieul_MQ zv#DuI2^4^Bh%z&0=YyPz@pP@fCjL|!G`OhjIsqz|fB zMc<>_+e-~Nn|~K@HZ2Qb!jxI;H|)s%?LBv!G$zM6oc0FG$=MJLa`g#%X-6&c&w6F{ z3O+EFP8Xvx5DS3!^wz#;y=Xi*@jAPLZPNhffz&klaY23RcP4mW)99S*a%f@epV(Zk zmQL#P-OxkE7^k|?A0C|_1b-?hs1g(=^EL+UsR2TK!Nrj>YfeZ^rG4U!2mT@J?v|;v zpXWV?MwT`kfr?6~e#?m8syI=oR# z#DPBspVK0ZpaRDeQB=tLkn>XpT5iy&IG<3J1_LF%I8CpHGCkZVTp?JPFB$}H#p^t3 zywO|4y~Va@D!IMB#_iwJ?+H=YUSk)TY`2V-GE22##x$_qY>G&YptZG4Ab}Dul)!=) zNmMN`=IrNh)C{_$YZ19C@Ek%P3%f$5Q#uW{W!U!s*3>$nq*m~FFTCdHicH~K3qGyw zUWvxcT>Z zg?TNvc}%@2FlR5GKK=Unr%$+_7lob){97$~(?vx{jJf9?-;KJPhIX0%JDO#h^<6@u zuK#!c?H+iM?St=^Po6;!RDU@3@dn(k+45F?f$YKD#4G*R>4j_x$uSYd7WM3;kQ>+digi~dkf4E*Csv=lyB;|_VIqW zz0&djz!Yh}_r}Va)H^#CEd6HKSD$*vBGu^>>nU#i+(5M@F$rGFUjXyhsUAsj?S@Iy z&Bbdk2yt5_b?*a4;tO~0`WwJ3e!%3j=wwF;gUJCBijyY@v(zhZ3($TB?w?sRvemE_ zLwaZY**k%QyoUtN0J};-p-qc+T)D3Q{^s83n>z{@GigYh=Y@RwwCwd~N#6CTV!(ml zr*lN#vH_QD&RN-#djKeFvRD?VJzd7|@ZUqBSH&k!Vfk(!a3w$PqOmwA3obM95df~% zH_ibr?fh|cao(%GKh3MO^ci;UOYyz|yI--&6@I|4M( z=|#_thOH~MzXvY*ZxWD7yxX#R)h91t@43mqsckCrxsNOO6QQAa B=9d5f From 9577743f902c3f5b8b4e6b33b3e93d696477993a Mon Sep 17 00:00:00 2001 From: zimon9 <122945887+zimon9@users.noreply.github.com> Date: Mon, 7 Oct 2024 21:54:40 -0400 Subject: [PATCH 014/344] Atomizes flamethrower and incendiary grenade crates (#3494) ## About The Pull Request This change splits the incendiary cargo crate, containing 3 flamethrowers and 3 incendiary grenades for 5000 credits, into two crates: | Flamethrower Crate | Incendiary Grenade Crate | |--------------------|--------------------------| | 1x flamethrower | 1x incendiary grenade | | 1250 credits | 750 credits | If added together, this brings the total cost, if one were to replicate the kit, to 6000 credits. ## Why It's Good For The Game This crate was long overdue for atomization, just like how all of the weapon crates available right now have already been atomized. ## Changelog :cl: add: Added flamethrower crate add: Added incendiary grenade crate del: Removed incendiary supply crate /:cl: --- code/modules/cargo/packs/sec_supply.dm | 28 ++++++++++++++------------ 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/code/modules/cargo/packs/sec_supply.dm b/code/modules/cargo/packs/sec_supply.dm index f0f062160c79..1045f2730ea9 100644 --- a/code/modules/cargo/packs/sec_supply.dm +++ b/code/modules/cargo/packs/sec_supply.dm @@ -90,19 +90,21 @@ crate_name = "combat knife crate" */ -/datum/supply_pack/sec_supply/fire - name = "Incendiary Weapons Crate" - desc = "Burn, baby burn. Contains three incendiary grenades and three prebuilt flamethrowers." - cost = 5000 - contains = list( - /obj/item/flamethrower/full, - /obj/item/flamethrower/full, - /obj/item/flamethrower/full, - /obj/item/grenade/chem_grenade/incendiary, - /obj/item/grenade/chem_grenade/incendiary, - /obj/item/grenade/chem_grenade/incendiary, - ) - crate_name = "incendiary weapons crate" +/datum/supply_pack/sec_supply/flamethrower + name = "Flamethrower Crate" + desc = "Contains one flamethrower. Point the nozzle away from anything important." + cost = 1250 + contains = list(/obj/item/flamethrower/full) + crate_name = "flamethrower crate" + crate_type = /obj/structure/closet/crate/secure/weapon + faction = FACTION_NGR + +/datum/supply_pack/sec_supply/incendiary_grenade + name = "Incendiary Grenade Crate" + desc = "Contains one incendiary grenade. Better not let it go off in your hands." + cost = 750 + contains = list(/obj/item/grenade/chem_grenade/incendiary) + crate_name = "incendiary grenade crate" crate_type = /obj/structure/closet/crate/secure/plasma faction = FACTION_NGR From a78556ce3a874813ba588fc749d5b8ff00e42e1f Mon Sep 17 00:00:00 2001 From: Imaginos16 <77556824+Imaginos16@users.noreply.github.com> Date: Mon, 7 Oct 2024 19:27:08 -0700 Subject: [PATCH 015/344] Assorted Resprites Part Something: Dog Beds, Barrels and Tank Dispensers! (#3498) ## About The Pull Request Does What It Says On The Tin ![image](https://github.com/user-attachments/assets/c3f4ce96-7aac-4941-9e70-1a096f131cd3) ![image](https://github.com/user-attachments/assets/36fee2f4-efc2-4e55-91bc-29822f0f0e77) ![image](https://github.com/user-attachments/assets/6122b8fd-1fa5-4531-a5a3-6d09b0a0ac9f) ## Why It's Good For The Game Part 2 of me going through my backlog and getting shit done. ## Changelog :cl: PositiveEntropy imageadd: Dog Beds Now Look Fancier! imageadd: Tank Dispensers have been repaletted! imageadd: Nuclear Waste Barrels Look A Lot Better! /:cl: --- icons/obj/hazard.dmi | Bin 4005 -> 4932 bytes icons/obj/objects.dmi | Bin 103649 -> 103767 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/hazard.dmi b/icons/obj/hazard.dmi index 5c350c5afb9b189a968d8642f18305443570bff0..f9df336f607dc505f11701c25b691d935925971d 100644 GIT binary patch delta 4789 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 AEC2ui delta 3855 zcmV+q5Ag8BCZ!*cyMGSUNklRM`V@8Q!QW+62q9`*d z!4@M(e#*uR}9eG+ePx+ zcyBa4<}l9F4W^~(gyQ02Qd3hYDJfBTy8W>RkB@-f-Y(9aJLl#Bm$yXKqD`e10_iP2qm5=L7cIbrpGAGF_Tiyzu&G zUU7YSTQUW%bc+{L13V(%#sIy&UF78Ckd~$std*tJYK3LX*ElpnTAEHs*JX00_NvYO z9Xnn_ufNH@eS2JeF9jsUXKhMT+z$*5w_CpS=w<<6=6}<>JYtBvEt$e&KlZXlt>Rj! z4}bUJMyKVEedxM;8v~S-l&G{?tx#NCtmwIeg_Tn8Z*De{uFFKL)e3%oYK|W-;_Y|d zqqOwoVDDlV7mjWgvNomB-quNbTc_gLz-z;GBT@H7@KF4{Oo*OH>Cw%?aE*|+B~z9U zFcqk)zJFx5thM~05DgVB$d?T;aM|ErH*Z7gxs3(`CQ}E&!GTDl0Fd2`R;v}#b(u6b z8v!_7dI~>3H9K~^CM$oSTXF}1q2UCEhSS*agTpd~N2<8e6UwHQ5d?*3=(yEFezBh1 zr-vfZ0%MDbsF+xyaIE-&@?&RA2Oz)r^q}%p)_;p}lAD=X-HBL2LIP!HtB8z@;B@IJOr{Q|PJg+dE45c?ZZ=X;UP@w8ibC-q@<8gsC*^ih zQWm1uH@Ny;?cx^`?*$+*L__Mr2M7$&5EP;zDkc^HLwy}!;e!sVPpR&(hz4 zPtCS%TjWqv8W|GOb(uC{t*iLk4}U)bAvX7QYYPGBX%epwY@g(y?(pDDeoqtN8xLD= zu(;zqsjn_@TfRI3PMkQd`t*~7m`oj%ovlQ#Z{YEiCkPG>Bse&bgoFgSQlr7Zkt0Rq zOF9*M zB1cDHiHQ38x)?W3t!QH)H@FLlgaboG0$#T1YgT1d1KuTJM_9M@2J5!ou(=--;Q9c! zSq-%|LSj-1r%O-CgnYX66d8*a0VpD$jAs;;raRbWPdDLBu~T=5)zm`BVL{nSCp61+1W~8pQ!M}q!eb&7Jaw15h}_{ z-I^8KizJq9`Wk@a`AaDL-^T##_C(J`K}tvw*n#bnOo<@<$4s>smA$&u4=(dav#3|*W;eovDq|IqtqIQ0G*7EHB7K$3hZavBVF zqaewrOOvpHkbh>olH&XNy3lCC0HqQ3?b}1y*-Db<&XMa5wyEO?QWUggsU->mOBD30 zC#2{{bLX?uVO#ECLVpuQZ?%!JaW+eq#z0V>X-d^@aBKc11&eerCB&dw+Yo%njfF^*jDjV|me#5ZhU$ zs~8vsN$9xMLQsf?_O?y}Lo^;!zBMksYdh2R1Y`qfwOV1tiWQj6X4Gmm_uO+20F{-M zba!`SHk(vhPQ9uc54*m z?meu^&VO1d0PNnBVjsJ5SkN_c{OaF|Kt9vVo)t zpeyoKB_$>N)7mxtQ>MoGj2}Oq@bGZVW;1?%egOFR_|V$giXaH|_4N@N8j2tY`1tr> zG#U{E0YMPx?d>HjEDS*qP^nb3w6w_g!^17TwSTv_mm4>3P=5B?`Y-?V)ns>+AsJ#Y zctY{^uyg%Fq0x7|N9C)+Lhs3oo$}E0GiT03tyZH}t8ELZRI;M``}+|DQ4i9+fzJj$ zmt2#C?(S~RpFdASeeM2ZU!2_F>dTHrjJw@=yXe}rYtLV~as_{XfBO6Ty)M+(*B4)3 zUw;Aue2cvhl|1TKOaeY z5U@@A8|l2!p<>h+KvJNq$xp{V+${XL{IBx0JN3YGd85O{s0c#`=3hF4lz$20F4*2Z zCwOk%e7EaWd|l7Xr+2CDhM|Zld{Hs6a(_;xBNQH~;^3Wq*4P=-iHeD(rY&Gd_414L z9(niSV$`@GDWB4rE6KJ}v{W7fcqKb;NcBboMvVca4Gd@bm(50#O}%L$;(-Z^Vnw3% zMBe64fl*-qXQ>}`7b@Ai=LFz7(Y}(M$0JD(lK5DRd~Yaun?D7HZGa1RPNRT#B7cj$ zdrlw`w6pwtun_HY>*mWuYi)$lh+&a%cGgNE`u-rKzY9k<3)Tj46^^n8bZZNTMbP=h zdb`;Q&Sd`781e|n&RQu<3+d+JM-%0q`B1#L^CiXf?o4{5ECPEW?h4iJ$@5Xp+mw+mb1`Y6M65mw)-it`W4owrUD$ZSpq93<>|siYb7ol&x8@y%&X9O)J$BuTQbq1FWuzzc3mhg*- z_mZKDy1ou+??3MRc-l!+w76+`EFD6w*Mg%k2)MDd{ zS3f&XCd#rMVZ=rS@ZvZ31GYpx5Y|!9x~(_xA8#>&y9Xq!iPk!AGxw#4pJx=bYiE`q zDIY|?UwEX7mcxa_##yq14}WZ*#Oi0~iG}{{48eubygC0Wuh*wysIPNM%1R|i)6)dM zOYi4cjr#{AtciB2e*<4#iI&?QZBfvmE+{)|r9%1Ee&5*KPu*pU54IlaA7yK(GxQJ} z|x2$cn)lz#8-t&Sg|3~X<29fU&88V=W$^BBywMhV9C194PGTPjpw7_E;{Wld=xh@k{_zb!O!f21H~E=j&=K%_ zcRMi+Jxo@s$lh&K_ius=M{SWfu(O`<+`c6Kw<4F0rdk?GL zD5$l2sLs;|BqTZBN`GH;7j}2V@}7B0sEU});*Rr7R*UcXmajN`A1>+PWOW-8Hd=Bd zB_$ks{|xiyMziLJiLAPCk_=rO7vDWk)wEbPzr5F_FKjRWQ(AII*q^VD|>)I^OZf;JMfYWXrH6V{8H;IUEuygC0W{^J^0{~w~; zkW$B&ERE-*n12goOpKFV$``-Q5bC=HUikRfu!g-i4oHkNWCN`K{T3mbw1^ikR&&LyRT(z#Ziqzf&l^K}g0J*#kgNpXdS_gnwkBRb@o0%7}R8GVNz#=)N9C z&-GAQ`3*uce>tb7&d@Epu&RjJM61fE?-t$r`rmJHd0E04K|8`|BU)!rm6Vjo3h^IT zOHbdFVSirMP9$>K1!AKD=vWc#u-yK)Uw2DE-Z-E!(i|`<@`6SZBW-~H19%VP@&xkH R&Hw-a00>D%PDHLkV1iZzn9%?L diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi index 8479c100f1b0a25f9ca2e2cb61b391e86f03899e..628c19d63e43265403c76cdc8b170556812bac8c 100644 GIT binary patch delta 29990 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 delta 29882 zcmX_n1ymI8+xF5eB_JSO(g;g;Bd~yUhjgQK4h_=XrId7oG=hM1w{&;MlHdCKzvtU? zc4wYh*tt8dd!D&c)mU4loZ;uIT* zedlhTXho7L3A@quRXquFVZBG`yYCwHnl%-?^@MzgpML(NjHCNYPaE(7ejR~!VU?mT zcVS_~p*9nPclX+3tA;BVI^1UIR(qLoD}1Me@OBo=dhRBdq)j-AmsgM%oB)K3{pw7u zt}f_OeWf6ltaxh02oBg<8Bn|PfU2gDPI3mKy_;#1x_Bwg6CL*=)HRACXCa<_#*h2! zw)8qBg{>C{uYlr(N%Rf;FppuFKD4;=F%i=o8Hu@2+}eHOkCMGYFQ;$mlc3kD(Mb#W z*2Ox@SOa32k*_bv-p(fMBp&v^Q@2wzH z2au^Fb{s2-ptuD*%SwZv4bswqp`+4MR|0X-ll3`E5~wcU=1>p}mgZAaS`P2wRn26m_c`g7*X+G zig)kA$+lE+rZI_}0pq^&U4h3j2HLwPks^IR{z3(!IAEz=^OPULpiMC1wZyBq1hoyF zC!gXFECQjP5sT0p`2qZzKSE;SNHR+DYdQ3xmer4HporgD&s|m)N(9h_bTTUcAB7{x z*yO_*+_p#X3loYl*&2AP3BPq|H0i3i!mGHP-{=YE<`Jr~7lOeMu9}>KYcUQg{T_~} zpq5Iy^diRBXu1QtUQR$EafAiSi)J>?+ZZR)dc#r>h!XTc3J_Pvm_BUr(?>Od4^66F z0Yfe>FW+P48_HYDS!bjfVyR7IP)!Eo++l5o&mA7yzmegc0-t+Tz`suUsv%JIi{98^ zF0hypH)A^nC){i8XQ;)FO>=0{G!fyl8p%Do2@&7$t70FW8Hxcl%$%t7+#l{ncz=4_})a#azrP1R2zeQgay1 zF|xAK5jk=&DNrlIg|6PaZ0Al~C~NRF2vyhjRQgXAeFCHbnW0VkDnt)B~8+Vz1^%oe*D;xRI7?wqk;PV7jql8>bOEi zQGcyhME+!wx2wUN;?y2%q2kR$v@zDlZOUR|#zP3>VPR5#K@wb{G#Ugk7>8S2ZC^7_ zRsQP%G90j#S!h9*P*KFlAjfD+TT2A5JWi`;IYV2RnNVgephVP)lTtEUJ3JU9fe!~0 zb+mW1KVvirWKPVKS*0X!p-4H`@Zb_EF~{DEh{%oSg+?V*WKE8+VE4v?*I>>bFW4zs zoo`-cs@@`Rlw-Js5+9|lTQ9L}nm#9=ALh>5*NS;^;FLLJKo$gQpzPO)3_C+4NUZ}w}qM)cpaEG!=HFXvGy z10d1S9UHm$R~9v3^|b23t9_}xTM$#c$e*bbjJ&6+W-;lH^L85CZYaN?C7*7SVezF} z%8bkD%@4Xa%c$=zBq>XSU-v&1b>hvxQV+om{bq`;gY>0!^$Lp%!lj1#5eah~%xavm zBW^I4A$F5e1k=k?j>_+1J|;1FDjRVgTOecBOgc-KbuzGUu{3a3!#ZQf4IzJ!1G6Zs zPC7a1ORE@Z=<9U6e0l9B%uGc!a^y+O&H&!IGC2ZD;|vRD4%LPMPNE^1&Q(B4-jmkj z1f=1&FPc*YDW4v1dQdbuk;H`MfT~bkLE+_wQMnFCiWfD22|KHA#Q?n@}YviSrTz=w>eKJsx2{60`4JU8TW(yAQaT)nPA>|w>6$Gv$so zX`p^~dVYkOT)??}s~gmI#X(J^m_FeYQ>SK0tXw^HB$Pl*+=d7~N%n$Jsp9_lC)LW! z>yW;#83d11_$>o~6E(hl^Jo0EjVM83E#n!a>mBQ(SoeNJ74=6|(As*gP}JCN4+o}0 zt3A4E_aspcW@Z_62t0)QehtrsSt{+uZ z2*$T3%Z-E{{a3_okCPkKP)j^w8MiR^`+FrbqC0#v=|Es@y(qqv$riN%MRk7)mQQ*X z5lY(Hds`lx@a+=3ugl9S{BeSWLrrK=4vm$-kUCBIg*>!&(e9HSoM9yJxSd)-sD@oH zI$!)BlC_^nwIAf0(dXAvpM~)+8Ty36jNQY9gFQ^BRSpSOkgW%wRsVpujkG3yF!ifw z=zJ6xh6ikL-u53LcMftyVYO8DM@6)F&CV1KVWjRNH2PGXDIwa>)&BZ@6q~OWVx5tc zlCrq`u3Q2H!c+XnURZvf-mxi$UyVKwIy(1i*B5@W$@Irp4(ggjY%N_`>k;)#o19b~ zTCmPwxx0oh05=~udLPq{Aq^2}Xa91=GC$@F2?fZ@iEQqCjqd{oa`8IXW#?SlGGbOg zBKIes4#uLmD`KDe=cLSLen>Tv^z|jPwrH8-bE;kTk{qe3y>Aa5Y%9ej{V*;BaDMFgJ$4S;G>^EjOt+ zbp%iq9n@X;AXWH%9iFAI{={pzO0RP(KMNi=)YPGFis!mrB=#%c6f`$-{c*p}R^dqRZV zr&%@EDmw)}Y2M9AyMP4+1q=*~%P$SU-!E%cXWE;X)@GkV0_NU?#?zNq;w=ZzPJxAs zta)rQ+=dTlVy!YXu{VAuOa9QX$+!tg`eGY5pDyC-mGClKMFxBgpQgZZlVI2V zRzcOGz@=RcAa@{GoYDQ}rZNQiV9( zII8OMACi+eh1Td^Ddvi_Ur}7X#5;Z>XW>?`<%X19!3qbgp7AF?fPQ?HBWmTxt5@Ns z68NsaY&erOmA;iizsY8!d8p@7pX94hTS|Zay$Jk%qp1Q})>r z$aAl5S51(g>6*l0E=&ro{D}6QiFa6 zn+vCN?40YzOLtLpb#nBzS_+)y9lnDypM%7i6+B!j`rsmM#FU^su%?md8*$gEYv?zRTGp&B*HnkY`wS2B3Q*T zR!^}LbE}l4rhb1e`M_8xWS3!KFz)h!rGgoEI9F7ZNDPqQe-Ek4t#6sTMZe)tL_qqaYsd~8>VwdG|iL0GCjLigzJ}k!`3F_tu1RRBOPm`majpV-eUb(C4?(#Pz_tsxe zpb+xbeMZ&)>GWNA#9^!elvag-SMiKjW$~t2`I99<_t8S#CC#CqSA#yHad1Z9H*4L= za-F)C0xG~jg}Gtw^7^YLd4BzceewrY>l$O}7I-r14cJS63Y>`9BS$FVk@bs1De*^< z_14Z#}OKdP2*1LNL#4<_N9-)_)WSE&n z*1C>VQpzUiCK;S`a{i6z2iIPQ{$3ijed%X=Kz9fR5u1J%Q#diADZe%G5W2bmgGP*TdV%Gh}~1?D0lCH1CbxRs~kZ`S+5-g12~12Auo zf0JzY$7D2bO!{K=<;#~+Ee|yk^Ua#*Xi{@&>5!b%RQFFd>di2&V3gYDg`l}ie3u>^ z;MbNF?FWxsK2GKmgM*3?m&~qk!cXK9Fs*-RUiSOb6j{$A^gB2B1mh(8?bqSIhnu54 z_>Wd4v|ww0SV0C2dqwu?7C2e%3C7ta4vYHGE>#7_V%^3GL#Ab5u!Jv(j*e#3Wv|d< zuSjLkq4j=6CNO;rqm@y0P#rP_#;OpEj+XV^=_6N_XV>J<$QL`_8OgkkWNY~|gJ|%d z5H`Q*KDVyd0Orc3lwN z97s8(zLKn$7so=(t9KEG5wSKZSb2JJYB(@9M$sQfC0SA9z9M3Bk*$I)Dn=)dp!soo z)CX0d)0v^;@yjJzr^W4am=pcq7qjZxCs%{hBI`vJUMrriO!%uD0uCfQN(@NvLdP--!=+?;9YVX_1 z>Pxu4Y^za*V>N5e}m# zcH($fsA>iNdu7(T31hp0d52zNsPVx1OdFPjReBmHidkU^Y4UlF8MwA=J{@tDXAP^p zcUP@Pck~pMQDEEBo&s5?>qduFlx9c3yi&V{n#1#A%PqSnh1D5By?X>dpcL~b{8|_X z$q!6Fhr4gw?kD*-Rc$%5wV>uKe;&li}p{+MKC3U)Z~LH@e`dn#PPj=ulw&Y%NFur zy*ZWK?E}_2OK<*tjdg|?Fy+!_NY=U91>P?@ydso%D?UkyLk{bVAo!um_oMGIodqe> z(6*X1Ym4@`yFp?_C`<@CSNl`_D=FONgn#@^Agm(UmmnKkTT?tW+jlH)aX@!{)e(dj zwzjrCJADZyePLJ%`hpk(RTdkN{es!zZjL;35)zW~+Uj3(;p&b6(t3ErW`wQxTzF2LSC z=hS5(Q&HaJMOG{2Z1KV@5Bd-Nq6ZzPXB*P11+ais?%|&P1Oi9-Vh)KkDQq!EF##-? zilkQUiX|wkt6D53l1>k>!?&#*Jo-a-w}>`OUod+VkP#@21ZvD8z7-mV$$h@gop=iQ zmFWN)rTFc0zvs(b3P*E2{^`s2V#YVC+_$3qKSr)oR4p=!zEVYl)pW6)4!^M_K&JMv zzJ1E43?lm~DXlXjX@pBT`)Z&Fu%?dp?*fm2*ZeCF(_z`qox`#k=`~cCcd;dJ(4FPj zerSi&d-TtQ=X-Xh3?3d>SN*f|t+Yt*%S{%_T1j#3V$y2LFafjXZv!x|>T?R~KAe^D zYKx7n1OevTEP_QU0#)y##UbN(WAE);w!N8rly)^$E1SK0&1&ebGQ0$UEpna5uC3k$ zlbXftiNVoIdzk`-SZGbGE%^g>&u{Tof^v5RlHx&hdSU zwoz*Op|deK@ciV-@iXvZ>3;FlS$ufXN!^vBEu6yvsS8{DVNC*qI+7F2r2SIRrhotP zzhnbx|Ke)YE;Umiu6WiK}FC% zA_6^v%;vN#5(5E&t9;v6<7}DuYuWGk#Z-Jqbbkp@Av#EM*H zr`yWpmm}F3*6rK+l-MS<=lx(w*_btcx2T*PeCKpn<^@#;QGgysR-4iME}3Ki)t^U7Dc^>r>w(o9*Y=Qc@fd%l*Uu`KqO(Yq7}V>yx%kudzq~ zR#D8?HD$mo$ZTxICe%E42o~@E&bkCEhrJ4EpRuR-5#)5*8N#*y?2h4A1QG^+%SU77 zp9Xz&LrHKokR3c*Q8*XF&8xJ16N)yUVTKKvQdP%+=!F+OjX--%O^j-(JAE}~SFcDb zYJMs=VnKsArv^y(k;0jPO$rQzQ~)z1@OgIiGO?nDOI$?Ep$RKM>RCX+fi?!Qp;M&Y zYr)jU^Y3P?drA5&tk$@NX$&PPrLxIanEmmb7j|}{s6A6x2xUhE-$T~ z4f<`}ky;*^hllv_2jy|8?Kx=KBzEyG)N07=PnUU<+@(|O&NTWw}G>UoO6mPpN# zN1OK<{cd}*lledAB~487ZpNub1rAw2HrQm;&ED>_FIU9|&y*^n^$W2gd!IwIa(|#y zCpiD}Xh43hqCPQNImw6NCJR)zSwg?s{z8?7cH5a55b(N4DxYnyOwb}e4b6$~Ztlos zA>_NbWO&g8Qr)c@3#+Q6yeG>ZX*n0BWa*!Y(XK)y)_!yuS0xu?@G&#qZO-bKqnE85 z!wctDdsMy#eukRkveJB?Q@95;R>8S!(+iJ$2#}$~T2oj5%Zh#+A1#?k^J;#ILAup- zyY<2VN|u_7Ng2$?68z&m3{02zl#-7p8AcF#^;T+d$C$LhfeF`ej@w0;sMx})P*xj7 zlXm|S3L8MYf*VmCq!DlC?xJEe&twqYC5rXjd3u}>Gl#I+^4Qs~KYZEf`+$WxXqBhD z2#6q?cPX6K-`ZN|K8DPJqdBFa=TS@18h&o#x3)f{WnAZ01?yg;u@qc)GvV%G2s7g&E`D4P4WdyG$P zku@}%@+-f?rO3l)LbXsqzWUHZ-z7yOt{2&DhsA_SCmU2Q zGLM*KMY}VQa7rsC?Gs6*$iB5rAShw){8TuToeu#9)Lh-lhg(uEd^i59)g_4~X&fq}8 z%V=>X;~z2!=nBGLSAfcW*+|aoMI>r?z|2gEe*fvA+T5E?uTe|YK#jDqe0HWdqv}SZ z|6#H-H}Ef2+vWaFaA&Fz?uEFHURi_}4ybu5P~ca_b9*dKs>rvG~{IPY*l zL-hn_gtq?2w2|Kh3?h(^h={o0u9r91)1&(m_*I7{zCF$Z1e>K%@v#)X&M3N`1W&MX zBGV_mbHx2t^wnZ2DU41%$Zm4n1``vMi}Q&H=N${nm2{5EBw25cr6C)pkeCT2E~|>P z6b~3&?YIhvc(bfL2}W><`+arf{J_48=B#6fN_aQs^(m3Yjf}3dZp+0NQk8G+1&{pfc0XCo(k9pY{JDnVO!96-nv8~`m@p-rUQ=KHXgvZ{eN>+)y0LNU zb)zv;W8L~IC3dAAlA*+hrflz?Ax5(+&@Td963F|sE@)}=heviUF|s400OuIWTJAug z)AL>VV$ck%@M123uXHdAO@M-X9i^~5UCE9RSPsT zph2$s)y+r2!FdxLQ8J(^t)?eG`Ahup>USR*&7+fQXXUGm+i^ZIj0?d!Bf`bpz)5&G za!RSd8n6VzM-erfDd+B7cqrUJ$Z9v>C05-ji7s9Bl-? zc3Wy9+TSdzEU~X?+s^0h*~zNRpfFA~ynuFKrerOKnH<&a^7m(piZtXhufoU`<=$pM z&=)>Dm@I3~`2PL7&lI>xp3xhg$W}s-5(i>sCa315I3+dbLYwjejDaC-hU}WFVpRr= zG8uSiaEv2NQ(#-T$H`76t)b-v<_p`?bYWq7DC0XkH7V3}v%TM3F`@F=;(q86a<6ge zYRC590l#}!uk9Xo%L0zXpH$%9Gg(PPZ?eKMLq85hP-c4uGyN>8tM9ConJ`sGQE#Tp zJym!VvMh@FaPImW^M5YTYUo!#yd!L*FPVutO>KoE zah0lClwS089I>UyG=pBmD11m=>IcquLwwz6F;Rz4Ja90*=p4<2q{PV|(SjL>`!c2o z_7qhGXSSK~-lk0m+O-uON!r{iV{t{x(1>yqNuXT-7apd?86wKyFV3>@nS$sr+BDl* zhuyjmUXNs&KXHhb1iiH_uk)p>^wH{I?zG(s!(D@gL51D1++4>ueM&H#_K9;|^?wf& zh^xyFm~`$7D$ia2Z@rIKpL+4vcXETN9h2z11$ zIw0NLDN=+;vmzL6NNeF|V_-xe{*pI9O=n-VGq1wQf(A1cZn)5i=Jk?Vfu{zyaw)iA+$*OB!1GaOI~*jS0alhcszLe6>7IP0y@=u%q+TbMaC^n z#*t&g_2uovjv!EPZ!cLD7O=AsEQXsxE#VJgM25*?8XCW7xb<1dl5bValuG;h&;RZt zbCFNz-Uge3$iu;4>+IM9!ZK{=jq%)_BGn#yFl^v|O6vzYTB$OL+Z)rNiCtM{Z%#!l;W2wkZA-0v^Bv}Z`i`5o3~nioM@eSJFbS_F zuX0}q!)U9px1254fyytz2H6nVQ`X=;MsCJ}B*st^%0i(S4g6yc&2FFe2zXW|rY~Q| zdac7|yNk1Z=X4L@$KxqF|MP=WFQ`3Uo^Le_d*z1oL=vH;byt`Dk|Qn!<*QHZPZhWR z-rWGAB zSUkDUGFMsnOk0v#|ACW{zj51pZ$F6XdflKUYZ&-ePsKj;?p$<*z0{H{8+n?@PxI5P z8X|V3WS*?IO)OZd*B8K$S3o~YiO(F>>BuSiqN*_mr^4>vnOpIuZ2yJ32&NhKm<&c^ z(HJRd`_zo4D;zaE7Of&b{jMIjV^wo;7wxm#S58PeYkqj7&<)32YO#(4t8 z#op4y6yVlty0c5q{@V80RJ)1lxp`Y~Q1I#Pe>^D$QFj0VNNS5&iKw_ac!)oSb76lx z-_lFnUD-9uO4V>Gm7)J1lqvmCy>~8)pl11;ra>n-@WVs&<~Jojn-{F8X`}U!$H|k> zvh~0BSFpnx|H{sjiUOj3a#y0r&e*(KmmdB6A99GX z=@kqo{_AyELB@lWgNaqmy)j6_Qx5r}=3E=baH3{6Ch|Wz#2rqYE;zl;WWK_^Ik)yF z7XHKdrZ1Duo}zOZ@u%HFZ5J$JEOht^)>)1f{rK^2{3D(aF^RD)ZIZAMkm+ixu#tgq z7Jb=&etV^ED|s!NKT7fC8Wq&C8=Y_WR3ydz>mNiv>cIjNw?B33XCy-zb+RZu1jV5} z1u{b1Mss9)A~-g^Mi!@s_2e%|-57^n|Aaj*VIHGbW^1M#CqV-)Lbo0A1i#NAj z?xjqtZr(rCU#bTKP!QQTvA(Unb;JN^8*Rk$yXyzcQFoTxR)kOR#pL3^F>R=27%3^m zs3FvUaM~VBeoe%%(*9%y1qosRcRdPb@POfs0B=3#>8e9J((`R08$ZfFm*HEEPn`(L zD&blm32CcFJjro$bQ%gwdzdyi!00MX$Ub7$8U39uS_IgwJL)Fm|BnICKMs}(iou$;?`u)|0d;ta>SNAFj--Vf7au z@b;zE!8h`KaV%R7|38JUf4}@}-$w|_M9nub8u$X@)J04BDy0aozEubopk!KD_Io(~ z>%Qu%m;wHpmGw61YrQc2MB+C%rqygN|7}toteeKGsH>!RPh^!nXHDZf+YHEvH>s&Bs#veEl^ zVTy{t3daz8JwF3Z$x8BHCxG2%ubW}eKc#2w{~6jd$rL&D+xj4g3ee-x)ZS~)7`^?I zE-=NGIh(==jsoSU3mSQD6J(h-t@^b>9KT{s=nvluu zgw}SxI(R3kQz+~rwc^;92HeGX%G>?WvDT4dN5r<#izWPmr-}Bm+_U;+=&X6~^`re6 zx5t>WRliukpGD0q8jC%P4WV_Z{OoxZw}-je78t6)B4w>lkd!* zYtgL6WXs<8^h$ZBJ1Z4j?ZLRjmp7#A!A0cye4vQD4ZK2Gi?^)+rDehY`DTuzI69qv zE*&6%Hc)~j(7-Dl8gFXz1l`TWUaI_a0z2*|YZ=z~`WI&)qp~{RWtlGY)RoLPb5-(J zkg@03v+37|a_6eo?Igy<>ik69`<`g*ryB?@p^;h7N*wZs>HN><@-oV_&Sadarnz;> zH^pv%+p6y^Qbc5=aMOwx^H2&a2H)2ae&iJF>XMRy{6Ef<1t0vS-I(}0xJRlwTC$ug zn^140to%W_Rh~#`#*WU&RboG+7IRbE9c=y1hXYiq6~Oq#q^MJVKFi$IXsLx^1MGq| z8)H_mCCBk(pc8aDcOE}n%uohfvjG=zQxS+bO`?3mAkL4VIek~rv_j(QAY^J^D7l9) zIY7)`I)Z=l?u$(K4XcscK+TYQlJoOjAdjt2%IQ0I?q5?l40;HH3l|11WJ-<5ZnfL8 zk}{;?9Hnw@#Yn&ELp{FSEaF(Y@VB`1uSE7#Ojl122ufIXNsttIWDXu}fn z5RDi?62;lEyXaBErk0k*Qb+d{5Ou}T`E4q7o*dqVySl0gc{cgN0PE8HAe;C3j7=0&H6M;uD)?>-#@V;;OE7dKGvC; zEoJ4Sni_(>Ms4C(HA{)!RsTDtU+*Z4gxZd2jhz&<9j?jaR+=^74VjlHW!#8qE4J&%E+&8|HEISQsca9eTx5I zuEmFwwuwO1%S=R7LW4=?UrtB)gc~2R5fugOD7q-IzzAq1`7b49(PnXytPKPzi2X|< z1RudKBOrgjXYQM{nv+w|Tfur(JBM3CO(*sG<~mCVWxw@3cg2!J>w1)@h2Jr^ z*gwj{e-F_6OH+`eb6C737#l-0-dfPn2b<{YKlpW62E`O~#D)!`n7)j4L^Q1$;q$!@uw>n~jD6Ghk5s4S2Cd&o zFJZiz_2bpPv4e=g1}t+3XI% zKka<+1J=3%5Lo+M4T>u(Ur`}~ROMmAIglI#($Eh#{ajK~!n&jHzU*4@9GhbYMIU^@ z$BK8n_;;H(z`8jo$$s86b~l;~vuhFX?QUzv_SzYF(4c$?RM0*@L3!NjXg%|taT`zZ z;k-FDFfn1TYJWUClktWQkbUbPLI_#C6#~>AAG-cH%gkR4HAz>^p2K8@Slf{Rs_)95Q06YPs}(2_Nm%j@Pe&ndQlFt#y?xj_dCv5Wv50a?-JQ?``$bG9bG z2V}pe$CvuU`<`lRVS>!ro;Q)|QAD{CqAw&&nhtee`(}Sq@6!K$ zV8A8lrn3Vp{BFhj%4F?~{PhSh_5A9)!3*ry!&nib$SU7Eu2jKS0P)7uh#ZzDQvp{l z(F45t=8hCX9;lv3o|xo9w08OiFQTGG3SKRQm-ht!{H$ECIKg#ydVF30C|lIu((j9s z3=6IotzPWij(XcW7`yUS{*hVqDQctxVq&3eP7*z1_RsZs&iQX6kr<#A%Ri~?GN)dX zU=6-44X@_Livl7+M6ecWZ3#&L1S|jF?=pVTzq-qZOGPxOM}e8&TLG7F3d1-|B(ZA3 zUyfS57d;g8P5Qa~`0|7oOQ$*+{jlfYBsDb&B~T|PCx4Wdewr!OXnQzmz1o{_E4HGe zFm~A%VR}Wr<>YLvWqg(P&A!4t^f7G~$VCL`qO+kcTv z?}+Q-s66dA@4skZe~tsgw$`$?i1uMZmi8ymc<6xv>Q;#$0x09g(9oVZtkZg!LTh+F zhF_-p#f3R0)WipJa&Ws6i68}rDh>p)Q#4iA?wA9DI@u9M!&XOvLoh0?125N6Fihy* zvM}d68j=$e6TjU*u}nVAz4_*KOWuFJ*}pm41?t#bRkCpAYM*+j?kIKG8!|W7Unr9; zJIrRJU=da66#(wM1c!A&*82-!2h$W09d1H zvb8G(#zRz47#`Z20JdrQ+P`s}soK;i)Eb2U>wx)qTOBbr)PjrqW_H6)*|6jrM1WaY(1q~Ne}LWlH%Fsg1L}G? z6X-XQIp0CQ)P-(Ycf=rZ*|PvpG$t3wNl(cM}>P>Q=k;ZR6`2KbH=dJk8u&;p1RUL(F`?K6X z)9=0HD$xd-S(A|8yC|l`PI`90JQs7GGzB@{byY&pivFWw%T)r0Ge@u?PL|58%=-Gv z3#sr(CzE)Q-dBY2qA8?>2@9--t=i_`&i`-xXDj znpcg^g*!^?;f>ka9|sAYmx8t&KG>~xFtAO1ZbO8n<=6Z)vNcZU8-z<1qt%K(<%3x6 z7h=<&hE}B@NGgm-%iht|r(B6Aw(-d8w0r=PB}s6Gx7iwRKpam=3`L|zj;F(CW3iV; zG7FN>CtUpaf)rt)%;;?t ze%@AgUZt9>6&4^8w$vLw7&_z8fDPpdI!skYKLfbywBMJyj-Bj(ve z>C1ND*G*W=73MmD!ggsuO>B#CiA3&vk|7B&)yxn56Sn2pNww$xzOLehUhURQ*Bu7C z>2aqBoUU>Z=ugXH1gfx`6=~|@%0V&_Hx{)AX5h~FIgw#s0$mky5de8`nD%xO|Am_K ze2wu#J^QXHtj)>dXi@z$5mjtCnv~m5Th-GK9)qr^5?{I+vyGc)s`=1tP zCW6Dqn;>in`nJ)Lqoo+e*D2!TiErXPDDbinz+~4GdR!&bZOKCaY8a zDnrcZ+4PS(I-uE4|}^_M?&~V17|c(b=tjI&|%e8GpUUu1sPf3y(r-2dRo@EG&=>&(0_9c*FF{ z_U;X?j0Y@263rYnUrddqx$M*Nz|rF&BBY=>9|L_@)t?bI$H*{#k0L}N6Ch5JSi{0s z$Hz}jb6X$F+0UEiixjisiwdF>Q38N8dW=2 zmy}1n_w@9!483;pwLf=+>qZ?bIgTC}!dT)JylrzEu(z}Oy?I{k1O1|^TCQ@FFB|)1 z>kojt;(aRIMVqtsPP;$& zLXw%enDn%Q^0LKnyNuKo;V!yX75jEa6nOSAoMz~qmZ8w?tgn`nyA%`t7xAvd+J!4c zmP#L0VNoyPOI>q2rT(SuMRMZxNEAn%WdWMY(OKL<^PLfa8KfmPB6*Cf$K>F#4c76e zzdyDR(Y@~cIA-EHz_UT;KPu(x>VcB3ZH+VP({(e9HSk#%on<)v!NnMs#2K~d-qo)?`t+pu&K|5VaP_4z`Nlvdb$G^+m!EhThMF$nZ-sh)Y~ zF%2>8|3jRQV-f7lwioaEOd7t$hWt_g3WL?tv^j=P#>+UWjpe&(e?0!DFiC(oM;3gQ zYJGH{F6{$T8{nMRVx~`ScMNV>!^=eFO|5t62P~m_K5aY9lU%cOM<{kyR+KOggGEbD zE-qp|Cray2ph9+T&$fRcgA=|2oc=TM}{IKF~n`P#*juvUa8aS1_(M z?rU~77>T}!@<1W>cGlg(DvhKU-(~xTeOd0Yt1I5Nl{;EExmo-{M5jt*z_GX)zPCVr zY>3DBofyv%O)B6 zU`};L{Lw8a;PZ1W)0(QxJj>%{T89?|vNjrvv5orG(0)L)f+FoknYakD7jd9vq2c`x!ie#0rtD zVtuyPj#Knrlw<_+@N7T>!de0a4t@mT&A;?i?Lk$QZ<3FK1WjI$3bSsPd}4^y-#by= ztvm%zJC7l)6*>B1RDWkLOe)uN3^8E%4p-#Uoc?GSXm9k$jujSL+gU?wp9@PJS@V3ML>c@ITLLPO?{#0lPGW!rcBkxiv z;^r9)xj{3%!ipuZ+hGnb|w{+0VhBrDD%6;N~hLf8`)icN%V9 z@XfzR!WWMv7cK{-8Al+1Mn;l;w29>zIdjo5q3*b=JUm#a#!&1EHvR3kRY?6(-c0O& zvfT1{AzAAJ+W9Pf3aqqmrmWJGkfz=WMH==eSUZH;H-x1xG!X?Py_S#V{zx7B*(CM^ zQB~E-AvBiMEbXyxv)|gzMgn!B$mjYDqA(Wf>%GShb%@;JF_`+~VCImDF0SRcps<22 zoK}ZIUbp*B3M0^o-lEFm7GdS*B}Z&|Ozb1FxkWW}h|JA36+j4+2%zxx)`=y8g}!`Q zEXQj;`G=9wk)1-iZ4QQxC>FcR%Je`*jJPKFpG#}iDydH#0%t+u#eLZ?=zj3MZY=Ri=u_p#K0OiG zS^0bO)*akIY@H%`jSJ{V%rmXe@+xImtu*5m`7UTH64IE+@QSV>Kiv_e!1w04D6yXT zCXUdTcCy;EZ^ef<{`W9JrPjaTuWKr4N+7*h*;EtlJ!I$9DK;^V)40~seQ6Y=o0MY>xo4Y1{uoCENS57Mfl#DbwQC8|3dASBgE&fn+sTuC9t2W1rBqvyIq*#j*HHe zaejGtY8bI+|VwJFdWpTAEwIy!*1(6_nzZEHSg*dx3ni1!_5?AK0qS;zhTnn zJg?NI{P!Y=WS+ApOmN|Z^FzFx|L8uNiFZ#M&jy%Az{yGG8Nr%@rpAvUZ|2^mTDx)= zY(b+}9Ot{&y6;Ukxn#^=Q71Cq3(4ep8dLyu?l+Ajk7~(+z?*A8yVq^r!~C^Q zxBYUONkPEzmA82(!IZ%<`Mu{>75mEtUXF(9Uw$}w_uTAS(lKUU!?Uw}z9>+eR(n?y zZrrwKq7@C9nSP)qYh89o;xUPfnnzw=&DFXvf&jv-E0W&x)Z*>kLzpxb#)`bPmiB1` zRErWS9fR+qsEdDZSzw3g)JqQbxH+BcYNNuL7@V4ESZ^DNH5iNFN6ZeO1Lf3D++P{>CCCk!vKrf>xNg@-E)+EvlIUT_Pxh)DzY!r{*jwX_F zv?TXN$quS17mvv>i5VhR4~$(jwwidIB_rqB`K*zUf!3mk=)D(%{L>n_SOkScxtM4~8$?EQSUUwUmd1 zSg!iE<>q!DgyA$oq@S9lS1;nw=z6DDH2gUm`3THAozSa5Q!VUnE*W=542_Qc{h zkAI*@Z}?z<*=N*bqMI2QMQNkCS}iWOJ~end5lb?>&cKcdDxP@(r^Xv#9qNXVv5=$U zhAKvB+{isPZhf8MK`#F8DKq9X(5^%=JCmqr$setp?3p|zzH)7OapR7iro~du=5JUY zLI;#qat~1){q&{!=<_w=jcOJT2a#-Ck~jE2fc$egO+$IQ63^168yIw{wAJ6o2G~n)_k6&Q)0w% zee9yHv^06NlIlGm;`*XBEc!s{6>2FG2na)O+1xM=_`QsVFJmx9ks+qWM1?B6>fw5@a6o^w#n09t$aP z6|B49&v$$>`~HmIu5j6ed+ZlqW558NZ*eEz^1$Mo8CZkty1y0%a9+9f_JOPt6TabT zbea3e0nfPkbrGFjoSA%6NxDV8#Zv_$wkoGi3FIO$Fql6>S)BfP@icH>j$Z@laaXGerQRu6aLWc^xl$Gt^KbI{CZ1+E?{)_ ztb2d_gt$%}xQ^MF{A+HT^%7prW8<}8eOJ<;ZvA86zNx{9z;3zr&Lm1TE{L zKc{>Ss6hi0C}Fk}a-v(o={qBBu3qSq9HSW@)&miPfW;?%#;>a}kv3_ACzn#@>wWM+ zk3-~v=e59wCD6R z*lP_<&6GZ84DYzuQm?U?G{5bZk$mUuX+gu2$xu#MT|5n$_n`KlGJp5p3QY_ z5%znHt2tM>zxB(was8!NPim=q$3YA902R|G6nLwAm#_Os2D2O!{m}5yDE=MI5$YP7 zR5sC(PusZm*&*i#TGM#~edZg&APv}`LEn317-QCwifQ4hhXLS~uB`NGaqt3hNP^;{ z_}27tQ6Nz%59nuR_PT%&l?*wZN{EC88zSlPgZ?>p%sdzW^Ukv%%)L!a6~F$BX4~XDk3yaLSnjmgp{6 zPmMbTF$9ZfS&yTMg#oXJrD2cW%+b%D?cp-56%6L#m-ILPT)Dk#`lhvEFQbGq{j$#C zuyEqtSe_5NO&p6tVOrsveMl9o29E&nv1G)*-+iK}c`3~XunOu*SS&1j-SwYpt;wk3 zdfwa-=ge;mi<)rNdO?xZK%7Y)mU%pZ?lyNq&hLGzq=D{RpE4xq(4guHoan#^Aj$R5 z^nOWVHMt*Mywfb#u)yH4Yw)5v!=qK+X199_Y?30GaRtWx7 zHc^c*Bnlb(ps3&7qOn&4I3v68?nn!vK%Iq?M^vb2_3|3K)CJ_#{Q*&q!83lw1zmkl zBEG?UUmRVkxWQQl&Z;&5sOLc4B@ne%}z2E(BX^}HX2|M>F=>Rt}XI@ZzFsxt=mv!Q}xhAwk zZj)s>ZY!3S2dUMv1WN%`JL2#&)iVVyxWF2X0IgSjx&c9(eIfhNiNS2w}YN4$SZl zvO}?<+m7C$*EQi$m?e&ldF|P6ba`?aI^O1x=73-T{ z*t|&tpik^9=bnw2O4}rqNBKBHXR~rhWT%=3Jtx zQo*TqLnc-uuWv4N?J3?$^U4F+;{_ci6l|0=<9`Q214$5TSZab+}f#zXRS8mMpE zZ5!b-Ggn8ne9>ZaXv4co=4WXGS4&~9Yg|FwYQv+(X(evoyKs|bR}10(E1^N}C`PaI zzuE)DY990_z$4Rtp-03LC8tK>s4Kyg6-Zxo*cH>pkvo%VJefMn^Q+aZpr!B8a$W z;h&)!Ig{{NE+1TYHM)kbwtMzM?sp>YvD+XQd+g@uodjzLyFbce876vkF}_v`2Gd~b z-HqJsNfpiOevG@-_^2-~w8EcP_?4 zyB~-9{uv9lyhc4l{uXyio8E{iyJN*{$S+U^)!j~hkc(Jve$IXkn}ue%ZYO;(BR|7r z88ajUOSa>K&Pd%cCr_LRqWxErWHRsKA-%q+c%L3hYN=Ap>s<(5!z z1og)Zk&Q@B7GfFTqo$V!zT$qBcBa|-fJf^`#wxJFGEXD5e)NxI5YvMtSR-EhJ8u@o z<9<4g(vhC%Pf1a7FD~$D+;trD&%haxwfXvL|RFM4qd`Vqh@`8c_`^}-uQa5Q8#MbCPa~1VOln;+`{``rZ zsdZrkpPE$7yf2#qzhCR?no;xX;rzh}T1G;!gZT{i=!UwwJ-I)Aph93}+p5i_jQcS+v}-#GBj zW7wkzitDB0dW#7J4{``jCdhcMvEBYq5F)u2BMQ-Ul>8t{|D&W3aq_c<=*YeNpF}FK zmN5s82<-$yo(zt86>NWKdiu-ktN|!g&|k&0yWh79mECv?wmbIkUq)7ze{y5>T@!N8 z?zNuYD^-Lm(o7Y>BaUT>KV)L`_c?OYQ1}O}Ay^r{XKf6HOzydAYHBVHl*|+HAiHRR z)B>I;-{>BNn+Q>ZRS{tLnMW znp#>xxx}W|DiX8TX6fglk@HMBAHlRvt|As&qlH5HkJ@n_2^ z5*XHj+xe%AihU->aP6$R?5E^TCk+&Pu8Cz=wv=;eh7U*bMVMEdHqzV}+LE_Ua3RiB z0*s6R8)*@qd9;4L-jF66@$<4KPvmw2m*aXWLks5c5C$Z9k9LI0n|)dPGeITuho1P^j#xX(4>}kR8YB=vF&UbB>g?Sy7`i}? zNJRbSLKBOZEMiMR~T*&6$9vWm;;_p&_l7k}JrP^ka`C*sD9nsX( z6xdaTqQ>gc2z8Z~%Wg2F`@AEN-YrDk$E%-*jPICRkkeZ`>?j8C^Yv)=fF_htf})$W zj%?BPEK^U0&|hATL)v8!3|xH82pSxM&GO$A^$Ch)OJ{0fjpuDS!XID$dDy z1g2bywYM!jf7B_0uN(a2-KcqXnH#3z`APn71crGX5yYfI?`U16QKS*F7$0V?Q*01c zSt$sbbzYzk9iX_8V$~;UY*%Fk8wrd0Y9Ny(4;2=4RCOOW?n<}nBm5i7WA}4BOQE5W zzy|+JjU8y3&ZOcvN|pjbyE8?bmV-F zuT*Sk0~_2xJDliG`E9?UWBft%8P3Q#wcW}932z)_PUG?uu$LHTBy2;U)>4ztQy8LajdkUY|KdB@SP87%LiT6(s%5o z@9LG+dg>=ISkAE~y3HL4d=Cx2kBO2{u><92qAv~YU#8K?3zK;tQ}JZHjTsnFJH^Lk z1VwoG)oZE2xFZ(M$GgF_V(JtXT~$1{cEUF`5VggJwBLzhNnCV&x#-}63K1(-i-^K& z)Ar=U9Y>`{RG*;LJE&{iDD;922$%a$v=* zE%s$?8h!)|>&4fYe|d9vKH`$5koG5}Ke;YQ7lU{eP#xwnmr-vt){*oudaO?85*FUgeSaQ69E$Xw+uZrw(kIe#A;A}`3jRiE9;}FQ`yvpUNk_<~ zWUDr?=Zxu+YWWvqi1O(*|I9)ON~+36Q3y&#QOO72imVWnA9xE`e!r}10+T$1GJY3e zYyW!s6>Eyjwq|v7>-J-py0EyYG-&XQxm^3*lsf~z<_BwbjBwBDm?r@J9retzwLeUN zf)ie+d`OH@@WYRg3{tlsYB<~0d$Fr))f@_H^x2gR%3{58ah7-U9;>FY6P377s|u3 z@XC0W{=!u>MyxC4Ghk~Yx$n;~=IoV#QG@ek$mjwEviN3)>~puOq^pC7JW9Es5DMQX zH1>cED=sk|kCOa~smNJ0xkSsq3SM&mD;$g>*iU=i=c`V3Y-r)6fsQpnIW1?-!FHhs2ROP2A z8n!?`jS07ccRaWd7~dC`U?|EM+lU2>NqD+@y8GgGI{&Eqg)_TZx;ovwNVv^8_G;w0 zQ&Fn`;s%NYU{}c8G)^HBbXJ87x69E~kqPVzt^1F$2?5_>kb=DfA&S6`56f0oR~U8T z9{JW5%?bxi5$Z)VS&4{QHqIB)oq=8kdT&tkdY_IA$rkRg@f_UThuo|xG-<#QO zK)BhZiU+yOY}&~}qX}Hj0(9WT#hEC@=|;n%(u@?Rz1s0u2e|SGvi*WlE&3h42h<7& z0-q2Hk+GBXh6?XFza&2ED-kL`JNr~S76QKYlmP{@yt2~vI7UcRloGrF);?Qvn`Ccm zYb)%uj=Nzm{3PU&lcS?>?(N>*-V!TKXIB^VT1KvV9nw-EEAqQzyQ!=VI^%bx(5R@5 z{kj8~QhxOL`FZqc`@4GZy70RStN0<{3blE*#%XwX*zf$@RqZnzY_A49Nz!o(CdIm3 zCT+rmJWlKR?r|{RkUIHaMDhTJ?za4HZsiTMznqJ$9;Z*6bn9i1W$HdJ5@4uoa*O7z z5v2$^wRx*H}^l`CC)cC2e50Z7!IuF2LS$s^vi z*a_$K5R!JO^Mqz|TZeTQ#v$t29uJLAglo(gM^=|bsjEoA0aNVQH!7{>5XDzvx0XV( zZ;MpgSyfz+7PbJo*-Nk=m=J1eY6v8xjo!I&HM!{)RKC4170SsD9w;rWN@RyH{yr(} z8@^y7z9Eead!k9|H;?aeuWg>RyCh*>ADjPoK;t5kkt^_*27ruH%lZW6^tC5n(sgJ^ z9}tXT09n7r{e88gxhBPnl#ADfyS5i4e@~FQ{S0o#WVGaotbFPj^!*m2EQ5sq_ifD= z^IilT9Dl0S1u4Ok?@tgSj;olvu63(=Mn*=}U&vgpJs-ciVT<|C&Uy8AEZ~gc^qo6V zpJ@9UB`xLmz7$o^0oWTf0aVOew^1s~%bP!yDHTucxq>-{U#wTn?0van{1|Alv!hzN zS0W2H#eTD%7^IfyyuCc&-aVID4Uvf&(AlD9dd$zeaUB;F$M-Q(m$W3L61I14&i#Y$ zJ&*6v(e1yi{!eWk;iSwL-`RDuu2c1VB3A<4f{DS=6ItE#hMZvb06(Y_Pd-DM2W4{m zVv6nJ@)-RL_|hrkZ7?(_9W{TM@o%cu)b?~v6u^IkD2jB||e>ptC7Q73fc zh2x^qqKxb!32Mw=81D=WB9@m;A-B;~x=D&8iTP`!8)&}M(|R4Zo-+EzcK)`2#|9g% zG$k#$Z_(+ehYbku2tm*F<78|ZGLh)Z;w5CH7h*VmxhX(Of{*<9@9uYNqxTK`S-+6Y zB;iF$g7I>t#2bHo+UG5q;w5I?Ja4Ok;uwjz41T=J{$4JJZ#>d>r$Stm?du;QRCXrD zR0Qo12$8&!tdyqWIg257hV#_wS)M2;957S{$(g|@w*i>xJmQXH|DRA|2r?^ZVOhe3 zf}$c?qc^((UC}T*t!6PlL6@7+xCEZb_mb1srWWNA0U>1R9Qv0U<`cz+P)M}_XZ`UG zY0XHvTDj4BRh}liQpJ5>Z?`M9;%DoII^}*V8$DU3o{N30N)c4o)v)4O)-&94C(-FgtPZRU#qk^Bm66o(4@ERV!P+$V5Hzfjb zcbW%cZ#hFlYEMtkCnwZ*Ly>DZBM^fagQ|%M9K@hNdZ$n&oVKNqc_OQ%<1z-mFnRn= zYc@ffNxCq3F#QP(m^=QTndIhO-j^3fYP~w^!gYNUa=V^DaAoPyl&*Yh zxq~4i3^wa@v@GW?M$>Z1FC@eWUQ4NNf=f|+FEqr0STw-VEPtqwvDa@T=x=&QJwL%N z4w5ofQ5_8(tQfgs-%cWFwSvTF5f$oHVCShL@L$|7wS~0l_T>))6DcOs#?nDi|Gfl`QbmcxdNC=C!Q!FEo|=JJ!1*EM^Z`n zP(eUyaf5mW1%d;+pqLdXfj|rlIdhVD9gZ%^mpo>&Pg-l5 zVBDPh=CYFaGi?At0Zct&`S^>f`&!N7nORUNd2=;*dpk=?cAJ$KoG6b~ZZ6K8TUocG zl`hk&tKFAai)ZD8P<%@PI-jssg_mZBv zI)Ue>oF$SO?n?1ny2hh_Wr-;%Ax;>LSZ_ZiEE3%<5h!TzF%s+QDm&~CDYK>_@;7t0 za!Wp7Cg|8mgO_pUue~j$^Kkz&>Y=`5K1Svm?ISy7~it-3|KUsu{Z^5X&=B4tKa5zabD{_(}V9kM`H@ zOjXp)?S@2DaWUuaT%8V2)ZX`yQg{m`C_h@d><`Q|cN1XT13l;lP1t*zF;%pjGG!v= z>gr{9WkY-BrX6z3I`$?{E&X3%)5eg}d%&}_vi7gt)ZLMjn{`2eHmA{&y0YGzj04?D z;BH6X=OBUogj3ISnC^$K4{P9?PY!vY6U)#?%bc6Yy?QP#^A9u{&~uFViZO3Q*k_=d zL98As#rtXXCk6VEZfYya81X&2rv!($-rjvH4wnPuaMEna_<4SgoWAkb-Cdjaz!`H3 zd@dkO)a^ms>7J{j5Z|WT(-hd?C)E6RcJk^25{sK&btaAT%imb^PWkZQ#xXUYD;AEO z&ri{HpQACMt?1b8_tj^0LeFbhu#$7Y6=N6Pv_}}A|vrXeEit5WRFShm|;PvtE+2aZA~orS>YwcBh~-e zfI}PNmQWIYG&l_VgNu6kI0ALiOLIzdILi4ZPj?*(`9kuPk!|!bo!g$0U62O}`Z=z#j{30T7JH$2yQd^GW+5A!g2!*knsx2ubqwIjfrb;X@`(O|C z6Vro=tdjlN*lfMU9|9&nR8uq$h@rBuULwlYxjMHUBN%A(L~_@j#5UfFd7@&A(mQMT zWb7i`ptCoiyXy1;OC%@BUFvRLh#b}9z4shPH^5=ww-m#(l)SR&li1r!1V%{QHl9|e z;kUCe1=)l$xfFN~XK>|JRgq?AXD13+e;;f}C%1$I zAN`Y9%RFvINi4}jsS;zFtwM3%x!_v*9ad8XF3uXG|FS*sqrcz%`Plm?dvtb|iW^Uo z2T(mOzmZvG8o*U*fiJLKIHO4^^*c6}bDXnj;US4_c z?vM4E1&Dl;+=CtUix~7@VKgCdVnH74|Igd4K_|g^yX~IOS zrpwt=FpkHSO8)lk(Fzpec3)!meq+EexmQ^qLBg& zq>TH#hY0Sb_Zw<^C%)xpjDC}eUrMe{AZ>D}i=tfoQ|0r+bnOQ=c6JlF z5wD!ym!D>5B0H!(%;r4CZjKj=KQ#U-le-R?9ySR0J^Y@D(uw<}kD+tdLQ=tqS5GI^ zsY_KxlbxxL%#X}<=I49ylxaK|IA83ZjO^LI`n9~d1&rDNd81FqMTBcGo*@FVi%Mic za_v)pa!_llG{UQDGT5QI<4fHElED*_aim3cHzev9_c5sS`k1GS(tWp5b{Ec4&8wi- zR9mZO>iaB(#25qKpm^t*dgw9r=Oaw!r&U|NXIy-rC^pSv7%_{6h6bczgprZ4RxW^y zh6a5R*xM{IsPP9sN_p8zV7xM1bannSOYDaGXwg@^ZbOZnpM5Yqg?o z!>hsS=H%>R^&MY-W)ge=52hL%GjcCJHhOJcMh*J#+@o<(=d}cZZm16){4^ycH>0W- z`I^fYK@jmCI0&Mk^|tN%d8GbjZTk6O}OrDcrwgMyN^c?}!`o*6$PwwQtPm^vOf{Mo9`L--^s zD=lph*VffB|B7slry(Qr9kYtRm3}EIS`!x+7aEV^oAcna`+m9s;7h_)K)!}mgv4iy z=GH6*CC~2pVCEe=tp-|^+PmYY>;|>k$2SQHX1o-n3nKngl{G#my}eS(v=ECbi7Cp9 z1BojX680BT)fR;%9rxbHx{$v&;8jbu-yp8~3`$>7S@|2gyd{{3IcVEyvsgS}MQ5;Yepf|*Tr&|kMlUFfT9BA_iKlfe-cb&o z`hY9KYRh!GhR*%?lFv70T-{>FUS3u+BKFyyfrF;pOG^5jH!WzR)SE zgBqq8mQJK~oh6m|!q55l!qp$V1xk} z1_YxM`~#_1p-^9KQ3<=5IdPFTQY9ov%sEz!X}K?lbuoC(#!sH){G_ci>%z}G!N~C1 zP$q0LE;`9I#Miqn-|08uHYNT9aoY{e;e6ob$X@%6NP$5Q@VAN=NRV-p;mWH3t*FbW zp#7|LZ#|Fs;Pd`9m2YUEUko1%7Ks-AC0iPtk$hwklT7P)CT8B$I;GBNcY9L^S0Gt5BNA0A&=7^D6E6CO1!GxL5l?y9`J>yxCp+&2@}Rz^ zd{l~PhKp&p&hKqHtPne?ebA(Wq5tg;HK+|#xPl@Z1@G|2{Z~Wp zA&R)%0ra10-Ra7ATEryf%NgB$@9HI*MFSHN zhy$lrAtOJj{YLgUToD)H>HrQ_97&UU>N5{$N9s2)QW&^3vNTeR0g|-CYN#2XZ&yR; zzlj|WiM+~menuP|{D43z+`>=x=No41rv9mYc;7BK+5ycpBv?n`&7y9BYQ9u(sO60} zo8@U8bl$SJoCp9pZm^SwoD?wx%msLiUkHTo1vn6H|5nmop&I~VVr+u&TbD}gxTRj_ zBT0+@DX;MEQ8qKx*V#}=rW}R_7=oR5dln@JU&MvW=Jw t{6q_;j(UInF*HvP^+M>)|H)su&Kx Date: Tue, 8 Oct 2024 15:37:26 -0400 Subject: [PATCH 016/344] Volumetric Boxes (#3460) title ## About The Pull Request See title. Enabler for Thgvr's future ammo box plans. Many "specialized" boxes have become normal ones and are now less volumous as a result. Slight rebalance to volu sizes to make smaller objects slightly smaller, because I accidentally made boxes much worse with the original stats Next is first aid and toolboxes, maybe. ## Why It's Good For The Game Extends volumetric storage coverage from 1(1) storage object, to 2. ## Changelog :cl: add: Boxes are now volumetric. Some special boxes have been adjusted. balance: small objects in volumetric storage are now slightly smaller /:cl: --- code/__DEFINES/storage.dm | 12 ++++---- code/game/objects/items/storage/boxes.dm | 38 ++++-------------------- 2 files changed, 12 insertions(+), 38 deletions(-) diff --git a/code/__DEFINES/storage.dm b/code/__DEFINES/storage.dm index cb657520e33f..f8f7e1f10c5b 100644 --- a/code/__DEFINES/storage.dm +++ b/code/__DEFINES/storage.dm @@ -44,9 +44,9 @@ // PLEASE KEEP ALL VOLUME DEFINES IN THIS FILE, it's going to be hell to keep track of them later. #define DEFAULT_VOLUME_TINY 1 #define DEFAULT_VOLUME_SMALL 2 -#define DEFAULT_VOLUME_NORMAL 6 -#define DEFAULT_VOLUME_BULKY 12 -#define DEFAULT_VOLUME_HUGE 24 +#define DEFAULT_VOLUME_NORMAL 8 +#define DEFAULT_VOLUME_BULKY 14 +#define DEFAULT_VOLUME_HUGE 28 #define DEFAULT_VOLUME_GIGANTIC 48 GLOBAL_LIST_INIT(default_weight_class_to_volume, list( @@ -80,9 +80,9 @@ GLOBAL_LIST_INIT(default_weight_class_to_volume, list( #define MAX_WEIGHT_CLASS_DUFFEL WEIGHT_CLASS_BULKY // max_volume for storages -#define STORAGE_VOLUME_CONTAINER_S DEFAULT_VOLUME_NORMAL //3 small items -#define STORAGE_VOLUME_CONTAINER_M (DEFAULT_VOLUME_NORMAL * 2) //6 small items +#define STORAGE_VOLUME_CONTAINER_S DEFAULT_VOLUME_NORMAL //4 small items +#define STORAGE_VOLUME_CONTAINER_M (DEFAULT_VOLUME_NORMAL * 2) //8 small items #define STORAGE_VOLUME_SATCHEL (DEFAULT_VOLUME_NORMAL * 4) //4 normal items -#define STORAGE_VOLUME_BACKPACK (DEFAULT_VOLUME_NORMAL * 6) //6 normal items, or 3 bulky items +#define STORAGE_VOLUME_BACKPACK (DEFAULT_VOLUME_NORMAL * 6) //1.5x satchel, 3 bulky items #define STORAGE_VOLUME_DUFFLEBAG (DEFAULT_VOLUME_NORMAL * 8) // 2 huge items, or 4 bulky items #define STORAGE_VOLUME_BAG_OF_HOLDING (DEFAULT_VOLUME_NORMAL * 9) //1.5X backpack diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 43f47d2b53ff..a38e43e4c2de 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -41,6 +41,9 @@ /obj/item/storage/box/ComponentInitialize() . = ..() var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.storage_flags = STORAGE_FLAGS_VOLUME_DEFAULT + STR.max_volume = STORAGE_VOLUME_CONTAINER_S + STR.max_w_class = WEIGHT_CLASS_SMALL STR.use_sound = 'sound/items/storage/briefcase.ogg' /obj/item/storage/box/update_overlays() @@ -477,11 +480,6 @@ for(var/i in 1 to 6) new donktype(src) -/obj/item/storage/box/donkpockets/ComponentInitialize() - . = ..() - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.set_holdable(list(/obj/item/reagent_containers/food/snacks/donkpocket)) - /obj/item/storage/box/donkpockets/donkpocketspicy name = "box of spicy-flavoured donk-pockets" icon_state = "donkpocketboxspicy" @@ -519,12 +517,6 @@ illustration = null var/cube_type = /obj/item/reagent_containers/food/snacks/monkeycube -/obj/item/storage/box/monkeycubes/ComponentInitialize() - . = ..() - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 7 - STR.set_holdable(list(/obj/item/reagent_containers/food/snacks/monkeycube)) - /obj/item/storage/box/monkeycubes/PopulateContents() for(var/i in 1 to 5) new cube_type(src) @@ -539,12 +531,6 @@ icon_state = "monkeycubebox" illustration = null -/obj/item/storage/box/gorillacubes/ComponentInitialize() - . = ..() - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 3 - STR.set_holdable(list(/obj/item/reagent_containers/food/snacks/monkeycube)) - /obj/item/storage/box/gorillacubes/PopulateContents() for(var/i in 1 to 3) new /obj/item/reagent_containers/food/snacks/monkeycube/gorilla(src) @@ -676,12 +662,6 @@ icon = 'icons/obj/toy.dmi' icon_state = "spbox" -/obj/item/storage/box/snappops/ComponentInitialize() - . = ..() - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.set_holdable(list(/obj/item/toy/snappop)) - STR.max_items = 8 - /obj/item/storage/box/snappops/PopulateContents() SEND_SIGNAL(src, COMSIG_TRY_STORAGE_FILL_TYPE, /obj/item/toy/snappop) @@ -697,12 +677,6 @@ pickup_sound = 'sound/items/handling/matchbox_pickup.ogg' custom_price = 20 -/obj/item/storage/box/matches/ComponentInitialize() - . = ..() - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 10 - STR.set_holdable(list(/obj/item/match)) - /obj/item/storage/box/matches/PopulateContents() SEND_SIGNAL(src, COMSIG_TRY_STORAGE_FILL_TYPE, /obj/item/match) @@ -720,9 +694,10 @@ righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' foldable = /obj/item/stack/sheet/cardboard //BubbleWrap -/obj/item/storage/box/lights/ComponentInitialize() +/obj/item/storage/box/lights/ComponentInitialize()//holy oversized box. this one can stay the way it is, for now . = ..() var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.storage_flags = STORAGE_FLAGS_LEGACY_DEFAULT STR.max_items = 21 STR.set_holdable(list(/obj/item/light/tube, /obj/item/light/bulb)) STR.max_combined_w_class = 21 @@ -1483,8 +1458,7 @@ /obj/item/storage/box/gum/ComponentInitialize() . = ..() var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.set_holdable(list(/obj/item/reagent_containers/food/snacks/chewable/bubblegum)) - STR.max_items = 4 + STR.max_volume = (STORAGE_VOLUME_CONTAINER_S / 2) /obj/item/storage/box/gum/PopulateContents() for(var/i in 1 to 4) From 05650ce7227e42bcb013cce7ea7b22fdf55fa317 Mon Sep 17 00:00:00 2001 From: zimon9 <122945887+zimon9@users.noreply.github.com> Date: Wed, 9 Oct 2024 06:09:03 -0400 Subject: [PATCH 017/344] Changes Inteq loadouts in order to add headsets to roles missing them (#3448) ## About The Pull Request This change adds basic bowmans to Enforcer and Artificer loadouts, as well as basic headsets to Recruit loadouts. ## Why It's Good For The Game Hearing protection is important out in the Frontier, and both Artificers and Enforcers tend to be around things that test the limits of their eardrums. Namely power tools and heavy machinery, or explosives and gunfire. ## Changelog :cl: add: Adds bowmans to Artificer and Enforcer loadouts, and regular headsets to Recruit loadouts /:cl: --------- Signed-off-by: zimon9 <122945887+zimon9@users.noreply.github.com> Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- code/game/objects/items/devices/radio/headset.dm | 4 ++++ code/modules/clothing/outfits/factions/inteq.dm | 3 +++ 2 files changed, 7 insertions(+) diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index b19672530a23..dee6818a6097 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -213,6 +213,10 @@ GLOBAL_LIST_INIT(channel_tokens, list( desc = "This is used by Inteq Risk Management Group's mercenaries. Protects ears from flashbangs." icon_state = "inteq_headset_alt" +/obj/item/radio/headset/inteq/alt/ComponentInitialize() + . = ..() + AddComponent(/datum/component/wearertargeting/earprotection, list(ITEM_SLOT_EARS)) + /obj/item/radio/headset/inteq/alt/captain name = "vanguard bowman headset" desc = "Used by Inteq Risk Management Group's elite vanguards. Protects ears from flashbangs." diff --git a/code/modules/clothing/outfits/factions/inteq.dm b/code/modules/clothing/outfits/factions/inteq.dm index 16d1456361be..51e1cf1fb29f 100644 --- a/code/modules/clothing/outfits/factions/inteq.dm +++ b/code/modules/clothing/outfits/factions/inteq.dm @@ -24,6 +24,7 @@ jobtype = /datum/job/assistant job_icon = "assistant" + ears = /obj/item/radio/headset r_pocket = /obj/item/radio ///captains @@ -135,6 +136,7 @@ jobtype = /datum/job/officer job_icon = "securityofficer" + ears = /obj/item/radio/headset/alt head = /obj/item/clothing/head/helmet/inteq suit = /obj/item/clothing/suit/armor/vest/alt belt = /obj/item/storage/belt/security/webbing/inteq @@ -181,6 +183,7 @@ job_icon = "stationengineer" jobtype = /datum/job/engineer + ears = /obj/item/radio/headset/alt uniform = /obj/item/clothing/under/syndicate/inteq/artificer head = /obj/item/clothing/head/soft/inteq shoes = /obj/item/clothing/shoes/combat From 90d4c25c621f4d1f6bf384e94ef55ffc29b32c15 Mon Sep 17 00:00:00 2001 From: Imaginos16 <77556824+Imaginos16@users.noreply.github.com> Date: Wed, 9 Oct 2024 03:29:04 -0700 Subject: [PATCH 018/344] Resprites The "Braid" Haircuts (#3510) ## About The Pull Request Before I continue to explain the PR, I kindly ask for this to not be ported to any other codebases. This is merely a request, and is ultimately unenforceable as long as proper credit is given to the authors. (Me in this case) A continuation of me and @rye-rice's efforts with respriting every hair on Shiptest. This one tackles the Braid hairstyles, both long and short! ![image](https://github.com/user-attachments/assets/a6a18236-1a1d-4b57-a7e7-c6ac46e5f246) ## Why It's Good For The Game Another two down babey!!! ## Changelog :cl: PositiveEntropy imageadd: Long (And Short) Braid hairstyles have been redone! /:cl: --- icons/mob/human_face.dmi | Bin 103088 -> 103180 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/human_face.dmi b/icons/mob/human_face.dmi index ab667d8d93371a02091ee08e2c65a190a5b9ad56..27c45db506499b5a08073abeeda4705d0d075eb0 100644 GIT binary patch literal 103180 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 jyGI0kN{jmQ7ZQ5tD literal 103088 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 p)8BZ|I%U0AhQa^#?fXA`if5n7-_vu8L Date: Wed, 9 Oct 2024 05:30:02 -0500 Subject: [PATCH 019/344] Ray cats! (#3465) ## About The Pull Request Cats now act like fuzzy Geiger counters! https://github.com/user-attachments/assets/77a0cdbf-51e9-420d-afad-998e46b69343 ## Why It's Good For The Game Imagine your own deep lore regarding the NOF here ![image](https://github.com/user-attachments/assets/618e1057-ac76-4a10-9767-c21b6a12b495) ## Changelog :cl: add: Cats have been genetically engineered to detect radiation /:cl: --- code/__DEFINES/radiation.dm | 12 +++++ code/datums/components/radioactive.dm | 2 +- .../objects/items/devices/geiger_counter.dm | 16 ------ .../mob/living/simple_animal/friendly/cat.dm | 51 ++++++++++++++++++- 4 files changed, 62 insertions(+), 19 deletions(-) diff --git a/code/__DEFINES/radiation.dm b/code/__DEFINES/radiation.dm index 2c4e41f45906..fa66e7c3ea8e 100644 --- a/code/__DEFINES/radiation.dm +++ b/code/__DEFINES/radiation.dm @@ -57,3 +57,15 @@ Ask ninjanomnom if they're around #define RAD_DISTANCE_COEFFICIENT 1 // Lower means further rad spread #define RAD_HALF_LIFE 90 // The half-life of contaminated objects + +#define RAD_GLOW_COLOR "#39ff1430" + +#define RAD_LEVEL_NORMAL 9 +#define RAD_LEVEL_MODERATE 100 +#define RAD_LEVEL_HIGH 400 +#define RAD_LEVEL_VERY_HIGH 800 +#define RAD_LEVEL_CRITICAL 1500 + +#define RAD_MEASURE_SMOOTHING 5 + +#define RAD_GRACE_PERIOD 2 diff --git a/code/datums/components/radioactive.dm b/code/datums/components/radioactive.dm index a6c67af2d3cd..9306f6aae899 100644 --- a/code/datums/components/radioactive.dm +++ b/code/datums/components/radioactive.dm @@ -30,7 +30,7 @@ //Let's make er glow //This relies on parent not being a turf or something. IF YOU CHANGE THAT, CHANGE THIS var/atom/movable/master = parent - master.add_filter("rad_glow", 2, list("type" = "outline", "color" = "#39ff1430", "size" = 2)) + master.add_filter("rad_glow", 2, list("type" = "outline", "color" = RAD_GLOW_COLOR, "size" = 2)) addtimer(CALLBACK(src, PROC_REF(glow_loop), master), rand(1,19))//Things should look uneven START_PROCESSING(SSradiation, src) diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm index 4abc1a3786bb..e1a20b508a5c 100644 --- a/code/game/objects/items/devices/geiger_counter.dm +++ b/code/game/objects/items/devices/geiger_counter.dm @@ -1,13 +1,3 @@ -#define RAD_LEVEL_NORMAL 9 -#define RAD_LEVEL_MODERATE 100 -#define RAD_LEVEL_HIGH 400 -#define RAD_LEVEL_VERY_HIGH 800 -#define RAD_LEVEL_CRITICAL 1500 - -#define RAD_MEASURE_SMOOTHING 5 - -#define RAD_GRACE_PERIOD 2 - /obj/item/geiger_counter //DISCLAIMER: I know nothing about how real-life Geiger counters work. This will not be realistic. ~Xhuis name = "\improper Geiger counter" desc = "A handheld device used for detecting and measuring radiation pulses." @@ -222,9 +212,3 @@ . = ..() if(listeningTo) UnregisterSignal(listeningTo, COMSIG_ATOM_RAD_ACT) - -#undef RAD_LEVEL_NORMAL -#undef RAD_LEVEL_MODERATE -#undef RAD_LEVEL_HIGH -#undef RAD_LEVEL_VERY_HIGH -#undef RAD_LEVEL_CRITICAL diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index 646a3eb8436b..33c8bbdb3ed2 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -1,7 +1,6 @@ -//Cat /mob/living/simple_animal/pet/cat name = "cat" - desc = "Kitty!!" + desc = "Most modern cats hail from a solarian experimental geneline. The perfect purrtection from rats and radiation." icon = 'icons/mob/pets.dmi' icon_state = "cat2" icon_living = "cat2" @@ -40,6 +39,13 @@ footstep_type = FOOTSTEP_MOB_CLAW + var/grace = RAD_GRACE_PERIOD + var/radiation_count = 0 + var/current_tick_amount = 0 + var/last_tick_amount = 0 + var/fail_to_receive = 0 + var/glow_strength + /mob/living/simple_animal/pet/cat/Initialize() . = ..() ADD_TRAIT(src, TRAIT_HOLDABLE, INNATE_TRAIT) @@ -177,8 +183,49 @@ collar_type = "[initial(collar_type)]" regenerate_icons() +/mob/living/simple_animal/pet/cat/rad_act(amount) + . = ..() + if(amount <= RAD_BACKGROUND_RADIATION) + return + current_tick_amount += amount + update_glow() + +/mob/living/simple_animal/pet/cat/proc/update_glow() + var/old_glow_strength = glow_strength + switch(radiation_count) + if(-INFINITY to RAD_LEVEL_NORMAL) + glow_strength = 1 + if(RAD_LEVEL_NORMAL to RAD_LEVEL_MODERATE) + glow_strength = 2 + if(RAD_LEVEL_MODERATE to RAD_LEVEL_HIGH) + glow_strength = 3 + if(RAD_LEVEL_HIGH to RAD_LEVEL_VERY_HIGH) + glow_strength = 4 + if(RAD_LEVEL_VERY_HIGH to RAD_LEVEL_CRITICAL) + glow_strength = 5 + if(RAD_LEVEL_CRITICAL to INFINITY) + glow_strength = 6 + if((old_glow_strength != glow_strength) && (glow_strength > 1)) + src.add_filter("ray_cat_glow", 2, list("type" = "outline", "color" = RAD_GLOW_COLOR, "size" = glow_strength)) + if(glow_strength <= 1) + src.remove_filter("ray_cat_glow") /mob/living/simple_animal/pet/cat/Life() + radiation_count -= radiation_count/RAD_MEASURE_SMOOTHING + radiation_count += current_tick_amount/RAD_MEASURE_SMOOTHING + + if(current_tick_amount) + grace = RAD_GRACE_PERIOD + last_tick_amount = current_tick_amount + else + grace-- + if(grace <= 0) + radiation_count = 0 + + current_tick_amount = 0 + + update_glow() + if(!stat && !buckled && !client) if(prob(1)) manual_emote(pick("stretches out for a belly rub.", "wags its tail.", "lies down.")) From 141ec9d534699ce8d27019407686c10caae9d086 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Bjarl@users.noreply.github.com> Date: Wed, 9 Oct 2024 14:47:46 -0400 Subject: [PATCH 020/344] Minor turret balancing (#3495) ## About The Pull Request Turrets now differ in when they'll be disabled from damage Ship turrets now require ship access NT turrets are shoddy make and have mildly less integrity Fixes grammar in condition report ship turrets are now less durable by default ## Why It's Good For The Game continues my turret program ## Changelog :cl: balance: Factional turrets now have new damage thresholds balance: ship turrets now have 100 less integrity by default /:cl: --- .../machinery/porta_turret/portable_turret.dm | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 5c592c7409dd..6b0057a25eaf 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -798,12 +798,13 @@ DEFINE_BITFIELD(turret_flags, list( /obj/machinery/porta_turret/ship installation = null - max_integrity = 300 + max_integrity = 200 always_up = 1 use_power = ACTIVE_POWER_USE active_power_usage = ACTIVE_DRAW_MINIMAL has_cover = 0 scan_range = 9 + req_ship_access = TRUE stun_projectile = /obj/projectile/beam/disabler lethal_projectile = /obj/projectile/beam/laser lethal_projectile_sound = 'sound/weapons/plasma_cutter.ogg' @@ -824,7 +825,7 @@ DEFINE_BITFIELD(turret_flags, list( . = ..() if(in_range(user, src) || isobserver(user)) if(!(machine_stat & BROKEN)) - . += "Its reports that it's integrity is currently [(obj_integrity / max_integrity) * 100] percent." + . += "[src] reports its integrity is currently [round(obj_integrity / max_integrity) * 100] percent." /obj/machinery/porta_turret/ship/weak max_integrity = 120 @@ -849,6 +850,8 @@ DEFINE_BITFIELD(turret_flags, list( name = "Sharplite Defense Turret" desc = "A cheap and effective turret designed by Sharplite and purchased and installed on most Nanotrasen Vessels." faction = list(FACTION_PLAYER_NANOTRASEN, "turret") + max_integrity = 160 + integrity_failure = 0.6 icon_state = "standard_lethal" base_icon_state = "standard" stun_projectile = /obj/projectile/beam/disabler/sharplite @@ -866,20 +869,19 @@ DEFINE_BITFIELD(turret_flags, list( lethal_projectile_sound = 'sound/weapons/gun/laser/nt-fire.ogg' stun_projectile_sound = 'sound/weapons/taser2.ogg' - /obj/machinery/porta_turret/ship/nt/heavy name = "Sharplite Defense Cannon" desc = "A heavy laser mounting designed by Sharplite for usage on Nanotrasen vessels." lethal_projectile = /obj/projectile/beam/laser/heavylaser/sharplite lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' + max_integrity = 250 /obj/machinery/porta_turret/ship/nt/pulse name = "Sharplite Pulse Cannon" desc = "A pulse cannon mounting designed by Sharplite. Not sold to any purchasers and exclusively used on Nanotrasen Vessels." lethal_projectile = /obj/projectile/beam/pulse/sharplite_turret lethal_projectile_sound = 'sound/weapons/gun/laser/heavy_laser.ogg' - - + max_integrity = 250 /* Syndicate Turrets */ @@ -903,8 +905,10 @@ DEFINE_BITFIELD(turret_flags, list( stun_projectile_sound = 'sound/weapons/taser.ogg' lethal_projectile = /obj/projectile/beam/laser/heavylaser lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' + max_integrity = 300 /* Inteq Turrets */ +//slower rof, higher damage + range /obj/machinery/porta_turret/ship/inteq name = "Vanguard Turret" @@ -913,8 +917,9 @@ DEFINE_BITFIELD(turret_flags, list( stun_projectile_sound = 'sound/weapons/gun/rifle/skm.ogg' lethal_projectile = /obj/projectile/bullet/a762_40 lethal_projectile_sound = 'sound/weapons/gun/rifle/skm.ogg' - scan_range = 8 + scan_range = 9 shot_delay = 20 + integrity_failure = 0.4 faction = list(FACTION_PLAYER_INTEQ, "turret") /obj/machinery/porta_turret/ship/inteq/light @@ -925,7 +930,7 @@ DEFINE_BITFIELD(turret_flags, list( lethal_projectile = /obj/projectile/bullet/c10mm lethal_projectile_sound = 'sound/weapons/gun/smg/vector_fire.ogg' subsystem_type = /datum/controller/subsystem/processing/fastprocess //turns out if you have a shot delay below what SSmachines fires at you need to use a different subsystem - scan_range = 4 + scan_range = 5 shot_delay = 5 /obj/machinery/porta_turret/ship/inteq/heavy @@ -944,6 +949,7 @@ DEFINE_BITFIELD(turret_flags, list( faction = list(FACTION_PLAYER_SOLCON, "turret") /* Pan Gezena Federation Turrets */ +//midline but hitscan /obj/machinery/porta_turret/ship/pgf name = "Etherbor Defensive Mount" @@ -955,6 +961,8 @@ DEFINE_BITFIELD(turret_flags, list( lethal_projectile_sound = 'sound/weapons/gun/energy/kalixsmg.ogg' icon_state = "standard_lethal" base_icon_state = "standard" + max_integrity = 250 + integrity_failure = 0.4 /obj/machinery/porta_turret/ship/pgf/light name = "Etherbor Deterrent System" From b004f978f5876108ee204fb6ae7e20456e068a2c Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Wed, 9 Oct 2024 12:03:15 -0700 Subject: [PATCH 021/344] PGF Rakalla Spacesuits can hold a gun in their suit storage (#3507) ## About The Pull Request PGF Rakalla space suits use sec hardsuit storage list for allowed suit storage types. ## Why It's Good For The Game It's a military space suit for a military, it makes sense it'd be able to holster a rifle. ## Changelog :cl: add: PGF Rakalla space suits can hold a gun in their suit storage. /:cl: --- code/modules/clothing/factions/gezena.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/modules/clothing/factions/gezena.dm b/code/modules/clothing/factions/gezena.dm index 3eea9ebec461..d4ff3169880d 100644 --- a/code/modules/clothing/factions/gezena.dm +++ b/code/modules/clothing/factions/gezena.dm @@ -102,6 +102,10 @@ w_class = WEIGHT_CLASS_NORMAL supports_variations = DIGITIGRADE_VARIATION +/obj/item/clothing/suit/space/gezena/Initialize() + . = ..() + allowed = GLOB.security_hardsuit_allowed + /obj/item/clothing/head/helmet/space/gezena name = "\improper Rakalla-helm" desc = "Featuring rubberized grommets fitting for any length of horn, and an internal monitor for life support." From d315519d9269d424be42867408897dfb711a7089 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Bjarl@users.noreply.github.com> Date: Wed, 9 Oct 2024 15:06:39 -0400 Subject: [PATCH 022/344] SSTurrets (#3453) ## About The Pull Request Defines a small subsystem for turrets that fires every 5 ticks. Allows us to actually set turret fire rates that aren't bound to SSMachines will. Resolves #3407 ## Why It's Good For The Game Turret Function :) ## Changelog :cl: fix: Turrets should now actually fire at their defined fire rates. /:cl: --------- Signed-off-by: Erika Fox <94164348+Bjarl@users.noreply.github.com> --- code/__DEFINES/subsystems.dm | 1 + code/controllers/subsystem/turrets.dm | 41 +++++++++++++++++++ .../machinery/porta_turret/portable_turret.dm | 3 +- shiptest.dme | 1 + 4 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 code/controllers/subsystem/turrets.dm diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index 54874bc9e16b..1155ea88bed9 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -130,6 +130,7 @@ #define INIT_ORDER_ATOMS 30 #define INIT_ORDER_LANGUAGE 25 #define INIT_ORDER_MACHINES 20 +#define INIT_ORDER_TURRETS 17 #define INIT_ORDER_SKILLS 15 #define INIT_ORDER_TIMER 1 #define INIT_ORDER_DEFAULT 0 diff --git a/code/controllers/subsystem/turrets.dm b/code/controllers/subsystem/turrets.dm new file mode 100644 index 000000000000..634f6327e458 --- /dev/null +++ b/code/controllers/subsystem/turrets.dm @@ -0,0 +1,41 @@ +SUBSYSTEM_DEF(turrets) + name = "Turrets" + wait = 5 + init_order = INIT_ORDER_MACHINES + flags = SS_KEEP_TIMING + runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME + var/list/processing = list() + var/list/currentrun = list() + +/datum/controller/subsystem/turrets/get_metrics() + . = ..() + var/list/cust = list() + cust["processing"] = length(processing) + .["custom"] = cust + +/datum/controller/subsystem/turrets/stat_entry(msg) + msg = "M:[length(processing)]]" + return ..() + + +/datum/controller/subsystem/turrets/fire(resumed = 0) + if (!resumed) + src.currentrun = processing.Copy() + + //cache for sanic speed (lists are references anyways) + var/list/currentrun = src.currentrun + + var/seconds = wait * 0.1 + while(currentrun.len) + var/obj/machinery/thing = currentrun[currentrun.len] + currentrun.len-- + if(QDELETED(thing) || thing.process(seconds) == PROCESS_KILL) + processing -= thing + if (!QDELETED(thing)) + thing.datum_flags &= ~DF_ISPROCESSING + if (MC_TICK_CHECK) + return + +/datum/controller/subsystem/turrets/Recover() + if (istype(SSturrets.processing)) + processing = SSmachines.processing diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 6b0057a25eaf..c3c39c72e34a 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -41,6 +41,7 @@ DEFINE_BITFIELD(turret_flags, list( integrity_failure = 0.5 armor = list("melee" = 50, "bullet" = 30, "laser" = 30, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90) base_icon_state = "standard" + subsystem_type = /datum/controller/subsystem/turrets /// Scan range of the turret for locating targets var/scan_range = 7 /// For turrets inside other objects @@ -77,7 +78,7 @@ DEFINE_BITFIELD(turret_flags, list( var/has_cover = TRUE /// The cover that is covering this turret var/obj/machinery/porta_turret_cover/cover = null - /// Ticks until next shot (1.5 ?) + /// Ticks until next shot (1.5 ?) If this needs to go below 5, use SSFastProcess var/shot_delay = 15 /// Turret flags about who is turret allowed to shoot var/turret_flags = TURRET_FLAG_SHOOT_CRIMINALS | TURRET_FLAG_SHOOT_ANOMALOUS diff --git a/shiptest.dme b/shiptest.dme index 11c1bb4d57c9..c4df2014cdcb 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -397,6 +397,7 @@ #include "code\controllers\subsystem\title.dm" #include "code\controllers\subsystem\traumas.dm" #include "code\controllers\subsystem\turf_fire.dm" +#include "code\controllers\subsystem\turrets.dm" #include "code\controllers\subsystem\verb_manager.dm" #include "code\controllers\subsystem\vis_overlays.dm" #include "code\controllers\subsystem\vote.dm" From 983f0690c272f270cc1a9614e3bccbed4bb9e140 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Wed, 9 Oct 2024 20:28:44 -0500 Subject: [PATCH 023/344] World icon 2 (#3516) ## About The Pull Request World icon now only require setting the world_file var to work ## Why It's Good For The Game easier ## Changelog :cl: add: Readdes world icons for a few knives. Expect more soon! /:cl: --- code/datums/elements/world_icon.dm | 2 +- code/game/objects/items.dm | 15 +++++++++++---- code/game/objects/items/melee/knife.dm | 3 +++ 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/code/datums/elements/world_icon.dm b/code/datums/elements/world_icon.dm index bcb0129c6c68..31e52ee7677f 100644 --- a/code/datums/elements/world_icon.dm +++ b/code/datums/elements/world_icon.dm @@ -103,7 +103,7 @@ SIGNAL_HANDLER if(!world_icon_state) - source.icon_state = source.icon_state + source.icon_state = source.item_state return INVOKE_ASYNC(src, PROC_REF(check_world_icon_state), source) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index feb1dfb0c5e4..a7e0334303ce 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -26,6 +26,14 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb ///Icon file for right inhand overlays var/righthand_file = 'icons/mob/inhands/items_righthand.dmi' + ///If set it will add a world icon using item_state + var/world_file + + ///Handled by world_icon element + var/world_state + ///Handled by world_icon element + var/inventory_state + ///This is a bitfield that defines what variations exist for bodyparts like Digi legs. var/supports_variations = null @@ -213,10 +221,6 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb var/canMouseDown = FALSE - //for setting world icons on the go - var/inventory_state - var/world_state - /obj/item/Initialize() if(attack_verb) @@ -315,6 +319,9 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb updateEmbedding() + if(world_file) + AddElement(/datum/element/world_icon, null, world_file, icon) + if(GLOB.rpg_loot_items) AddComponent(/datum/component/fantasy) diff --git a/code/game/objects/items/melee/knife.dm b/code/game/objects/items/melee/knife.dm index 83022e7125ff..15d389477745 100644 --- a/code/game/objects/items/melee/knife.dm +++ b/code/game/objects/items/melee/knife.dm @@ -105,6 +105,7 @@ force = 20 throwforce = 20 attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "cut") + world_file = 'icons/obj/world/melee.dmi' /obj/item/melee/knife/survival name = "survival knife" @@ -115,6 +116,7 @@ force = 15 throwforce = 15 attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "cut") + world_file = 'icons/obj/world/melee.dmi' /obj/item/melee/knife/bone name = "bone dagger" @@ -127,6 +129,7 @@ force = 15 throwforce = 15 custom_materials = null + world_file = 'icons/obj/world/melee.dmi' /obj/item/melee/knife/combat/cyborg name = "cyborg knife" From 0be91373632c9144230d056a7db5c6a154a5c3ca Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Bjarl@users.noreply.github.com> Date: Wed, 9 Oct 2024 21:29:16 -0400 Subject: [PATCH 024/344] Alters Abandoned Airlock Functionality (#3514) ## About The Pull Request removes some effects from the abandoned airlock var -no more wall adds new effects -electroshock -sealed -airlock assembly ## Why It's Good For The Game ## Changelog :cl: code: abandoned airlocks now have more effects /:cl: --- code/game/machinery/doors/airlock.dm | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 2d76d7ecb351..594aeedbe43d 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -167,16 +167,7 @@ if(abandoned) var/outcome = rand(1,100) switch(outcome) - if(1 to 9) - var/turf/here = get_turf(src) - for(var/turf/closed/T in range(2, src)) - here.PlaceOnTop(T.type) - qdel(src) - return - here.PlaceOnTop(/turf/closed/wall) - qdel(src) - return - if(9 to 11) + if(1 to 11) lights = FALSE locked = TRUE if(12 to 15) @@ -185,6 +176,19 @@ welded = TRUE if(24 to 30) panel_open = TRUE + if(31 to 40) + panel_open = TRUE + set_electrified(MACHINE_ELECTRIFIED_PERMANENT) + if(41 to 50) + seal = new /obj/item/door_seal(src) + modify_max_integrity(max_integrity * AIRLOCK_SEAL_MULTIPLIER) + if(51 to 60) + new previous_airlock(loc) + qdel(src) + if(69) + new /obj/effect/decal/cleanable/oil/slippery(loc) + + update_appearance() /obj/machinery/door/airlock/ComponentInitialize() From 0a818c851fc8f61ef2ef7608e98d90b4304e68a0 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Bjarl@users.noreply.github.com> Date: Thu, 10 Oct 2024 01:21:27 -0400 Subject: [PATCH 025/344] Analgesia Trait + Stuff For It To Work (#3369) ## About The Pull Request Adds a trait, "congenital analgesia". Analgesia makes it so you don't process pain like other people do. This is reflected through silencing most of your screams, occasionally giving you different fluff text, and making it so you don't know your health. Morphine and other fluff painkillers have a slighter version of this effect. ## Why It's Good For The Game Fluff. RP. Trait. ## Changelog :cl: add: Reports of people inflicted with congenital analgesia travelling to the Frontier have reached this newscaster. add: Painkillers may circumvent pain in some cases now. /:cl: --- code/__DEFINES/traits.dm | 2 + code/datums/brain_damage/mild.dm | 2 + code/datums/components/embedded.dm | 2 +- code/datums/components/tackle.dm | 2 +- .../diseases/advance/symptoms/deafness.dm | 2 +- code/datums/diseases/advance/symptoms/fire.dm | 8 ++-- code/datums/diseases/gastrolisis.dm | 2 +- code/datums/traits/negative.dm | 19 +++++++++ code/game/machinery/doors/door.dm | 2 +- code/game/machinery/harvester.dm | 2 +- code/game/machinery/outpost_electrolyzer.dm | 2 +- code/game/machinery/suit_storage_unit.dm | 2 +- code/game/machinery/transformer.dm | 2 +- code/game/objects/items.dm | 2 +- code/game/objects/items/defib.dm | 4 +- code/game/objects/structures/guillotine.dm | 2 +- code/game/objects/structures/kitchen_spike.dm | 4 +- code/game/objects/structures/morgue.dm | 2 +- .../awaymissions/mission_code/snowdin.dm | 13 ++++-- code/modules/clothing/shoes/_shoes.dm | 2 +- code/modules/flufftext/Hallucination.dm | 2 + .../mining/lavaland/necropolis_chests.dm | 2 +- code/modules/mob/emote.dm | 16 +++++++ .../modules/mob/living/carbon/alien/organs.dm | 2 +- code/modules/mob/living/carbon/emote.dm | 2 +- .../mob/living/carbon/human/human_defense.dm | 2 +- code/modules/mob/living/carbon/human/life.dm | 14 +++++-- .../mob/living/carbon/human/species.dm | 2 +- .../carbon/human/species_types/ethereal.dm | 2 +- .../mob/living/simple_animal/bot/cleanbot.dm | 2 +- .../mob/living/simple_animal/slime/life.dm | 2 +- code/modules/mod/mod_control.dm | 2 +- code/modules/mod/modules/modules_maint.dm | 2 +- code/modules/paperwork/paperplane.dm | 5 ++- .../projectiles/guns/misc/beam_rifle.dm | 2 +- .../reagents/cat2_medicine_reagents.dm | 2 +- .../chemistry/reagents/food_reagents.dm | 4 +- .../chemistry/reagents/medicine_reagents.dm | 42 +++++++++++++++---- .../xenobiology/crossbreeding/_weapons.dm | 2 +- .../xenobiology/crossbreeding/burning.dm | 2 +- code/modules/surgery/bodyparts/bodyparts.dm | 7 +++- .../surgery/bodyparts/dismemberment.dm | 3 +- code/modules/surgery/organs/tongue.dm | 2 +- code/modules/vending/_vending.dm | 2 +- 44 files changed, 142 insertions(+), 61 deletions(-) diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 664e6cc687f7..6de819c57aa5 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -259,6 +259,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_DWARF "dwarf" #define TRAIT_FASTMED "fast_med_use" #define TRAIT_SILENT_FOOTSTEPS "silent_footsteps" //makes your footsteps completely silent +#define TRAIT_PAIN_RESIST "pain_resistance" //you resist pain #define TRAIT_NICE_SHOT "nice_shot" //hnnnnnnnggggg..... you're pretty good.... /// The holder of this trait has antennae or whatever that hurt a ton when noogied #define TRAIT_ANTENNAE "antennae" @@ -329,6 +330,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_BALD "bald" #define TRAIT_BADTOUCH "bad_touch" #define TRAIT_ANXIOUS "anxious" +#define TRAIT_ANALGESIA "congenital_analgesia" /// Trait granted by lipstick #define LIPSTICK_TRAIT "lipstick_trait" diff --git a/code/datums/brain_damage/mild.dm b/code/datums/brain_damage/mild.dm index 9c10c6f1fd7d..339767dceb2c 100644 --- a/code/datums/brain_damage/mild.dm +++ b/code/datums/brain_damage/mild.dm @@ -110,6 +110,7 @@ /datum/brain_trauma/mild/healthy/on_gain() owner.set_screwyhud(SCREWYHUD_HEALTHY) + ADD_TRAIT(owner, TRAIT_ANALGESIA, type) ..() /datum/brain_trauma/mild/healthy/on_life() @@ -119,6 +120,7 @@ /datum/brain_trauma/mild/healthy/on_lose() owner.set_screwyhud(SCREWYHUD_NONE) + REMOVE_TRAIT(owner, TRAIT_ANALGESIA, type) ..() /datum/brain_trauma/mild/muscle_weakness diff --git a/code/datums/components/embedded.dm b/code/datums/components/embedded.dm index ee789d3f9829..018321094283 100644 --- a/code/datums/components/embedded.dm +++ b/code/datums/components/embedded.dm @@ -205,7 +205,7 @@ if(harmful) var/damage = weapon.w_class * remove_pain_mult limb.receive_damage(brute=(1-pain_stam_pct) * damage, stamina=pain_stam_pct * damage) //It hurts to rip it out, get surgery you dingus. - victim.emote("scream") + victim.force_scream() victim.visible_message("[victim] successfully rips [weapon] out of [victim.p_their()] [limb.name]!", "You successfully remove [weapon] from your [limb.name].") else victim.visible_message("[victim] successfully rips [weapon] off of [victim.p_their()] [limb.name]!", "You successfully remove [weapon] from your [limb.name].") diff --git a/code/datums/components/tackle.dm b/code/datums/components/tackle.dm index 2fd18316e08a..95f77d520c7d 100644 --- a/code/datums/components/tackle.dm +++ b/code/datums/components/tackle.dm @@ -388,7 +388,7 @@ user.apply_damage(30, BRUTE, BODY_ZONE_HEAD) playsound(user, 'sound/effects/blobattack.ogg', 60, TRUE) playsound(user, 'sound/effects/splat.ogg', 70, TRUE) - user.emote("scream") + user.force_scream() user.gain_trauma(/datum/brain_trauma/severe/paralysis/paraplegic) // oopsie indeed! shake_camera(user, 7, 7) user.overlay_fullscreen("flash", /atom/movable/screen/fullscreen/flash) diff --git a/code/datums/diseases/advance/symptoms/deafness.dm b/code/datums/diseases/advance/symptoms/deafness.dm index ea607f2a31fc..df39c5f06591 100644 --- a/code/datums/diseases/advance/symptoms/deafness.dm +++ b/code/datums/diseases/advance/symptoms/deafness.dm @@ -55,7 +55,7 @@ Bonus if(istype(ears) && ears.damage < ears.maxHealth) to_chat(M, "Your ears pop painfully and start bleeding!") ears.damage = max(ears.damage, ears.maxHealth) - M.emote("scream") + M.force_scream() else to_chat(M, "Your ears pop and begin ringing loudly!") M.minimumDeafTicks(20) diff --git a/code/datums/diseases/advance/symptoms/fire.dm b/code/datums/diseases/advance/symptoms/fire.dm index aeb9933debbd..98391edbdf1c 100644 --- a/code/datums/diseases/advance/symptoms/fire.dm +++ b/code/datums/diseases/advance/symptoms/fire.dm @@ -60,12 +60,12 @@ Bonus Firestacks_stage_4(M, A) M.IgniteMob() to_chat(M, "Your skin bursts into flames!") - M.emote("scream") + M.force_scream() if(5) Firestacks_stage_5(M, A) M.IgniteMob() to_chat(M, "Your skin erupts into an inferno!") - M.emote("scream") + M.force_scream() /datum/symptom/fire/proc/Firestacks_stage_4(mob/living/M, datum/disease/advance/A) M.adjust_fire_stacks(1 * power) @@ -147,7 +147,7 @@ Bonus Alkali_fire_stage_4(M, A) M.IgniteMob() to_chat(M, "Your sweat bursts into flames!") - M.emote("scream") + M.force_scream() if(5) if(M.fire_stacks < 0) M.visible_message("[M]'s sweat sizzles and pops on contact with water!") @@ -155,7 +155,7 @@ Bonus Alkali_fire_stage_5(M, A) M.IgniteMob() to_chat(M, "Your skin erupts into an inferno!") - M.emote("scream") + M.force_scream() /datum/symptom/alkali/proc/Alkali_fire_stage_4(mob/living/M, datum/disease/advance/A) var/get_stacks = 6 * power diff --git a/code/datums/diseases/gastrolisis.dm b/code/datums/diseases/gastrolisis.dm index e2af13bd6742..ed4c5267d14f 100644 --- a/code/datums/diseases/gastrolisis.dm +++ b/code/datums/diseases/gastrolisis.dm @@ -36,7 +36,7 @@ new_eyes.Insert(affected_mob, drop_if_replaced = TRUE) affected_mob.visible_message("[affected_mob]'s eyes fall out, with snail eyes taking its place!", \ "You scream in pain as your eyes are pushed out by your new snail eyes!") - affected_mob.emote("scream") + affected_mob.force_scream() return var/obj/item/organ/tongue/tongue = locate(/obj/item/organ/tongue/snail) in affected_mob.internal_organs if(!tongue && prob(5)) diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index e504bfee31d5..306c3d6b8d50 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -642,6 +642,25 @@ return SEND_SIGNAL(quirk_holder, COMSIG_ADD_MOOD_EVENT, "wrong_cigs", /datum/mood_event/wrong_brand) +/datum/quirk/congenital_analgesia + name = "Congenital Analgesia" + desc = "Due to a rare condition, you have never felt pain. Physical pain, at least. That breakup still hurt." + value = -1 + mob_traits = list(TRAIT_ANALGESIA) + gain_text = "You've never really felt pain." + lose_text = "...Oh god, you're sore." + medical_record_text = "Patient is unable to process pain" + +/datum/quirk/congenital_analgesia/on_spawn() + var/mob/living/carbon/human/H = quirk_holder + H.set_screwyhud(SCREWYHUD_HEALTHY) + +/datum/quirk/congenital_analgesia/remove() + if(quirk_holder) + var/mob/living/carbon/human/H = quirk_holder + H.set_screwyhud(SCREWYHUD_NONE) + + /datum/quirk/unstable name = "Unstable" desc = "Due to past troubles, you are unable to recover your sanity if you lose it. Be very careful managing your mood!" diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 737bacbb650f..7c8371809e81 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -395,7 +395,7 @@ L.manual_emote("roar") else if(ishuman(L)) //For humans L.adjustBruteLoss(DOOR_CRUSH_DAMAGE) - L.manual_emote("scream") + L.force_manual_scream() L.Paralyze(100) else if(ismonkey(L)) //For monkeys L.adjustBruteLoss(DOOR_CRUSH_DAMAGE) diff --git a/code/game/machinery/harvester.dm b/code/game/machinery/harvester.dm index 1b0093458e49..22ff32ac3655 100644 --- a/code/game/machinery/harvester.dm +++ b/code/game/machinery/harvester.dm @@ -121,7 +121,7 @@ target = get_turf(src) for(var/obj/item/bodypart/BP in operation_order) //first we do non-essential limbs BP.drop_limb() - C.emote("scream") + C.force_scream() if(BP.body_zone != "chest") BP.forceMove(target) //Move the limbs right next to it, except chest, that's a weird one BP.drop_organs() diff --git a/code/game/machinery/outpost_electrolyzer.dm b/code/game/machinery/outpost_electrolyzer.dm index b91160c7e1c8..78711accb242 100644 --- a/code/game/machinery/outpost_electrolyzer.dm +++ b/code/game/machinery/outpost_electrolyzer.dm @@ -136,7 +136,7 @@ playsound(src, 'sound/effects/splat.ogg', 50, TRUE) if(iscarbon(L) && L.stat == CONSCIOUS) - L.emote("scream") + L.force_scream() // Instantly lie down, also go unconscious from the pain, before you die. L.Unconscious(100) diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index f6be0b0a036e..ea6633370147 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -450,7 +450,7 @@ mob_occupant.adjustFireLoss(rand(20, 36)) else mob_occupant.adjustFireLoss(rand(10, 16)) - mob_occupant.emote("scream") + mob_occupant.force_scream() addtimer(CALLBACK(src, PROC_REF(cook)), 50) else uv_cycles = (BASE_UV_CYCLES - lasers_bonus) diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm index da5a006de0b5..b75f97102904 100644 --- a/code/game/machinery/transformer.dm +++ b/code/game/machinery/transformer.dm @@ -85,7 +85,7 @@ update_appearance() playsound(src.loc, 'sound/items/welder.ogg', 50, TRUE) - H.emote("scream") // It is painful + H.force_scream() // It is painful H.adjustBruteLoss(max(0, 80 - H.getBruteLoss())) // Hurt the human, don't try to kill them though. // Sleep for a couple of ticks to allow the human to see the pain diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index a7e0334303ce..a42c07bd3519 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -1232,7 +1232,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb */ /obj/item/proc/on_accidental_consumption(mob/living/carbon/victim, mob/living/carbon/user, obj/item/source_item, discover_after = TRUE) if(get_sharpness() && force >= 5) //if we've got something sharp with a decent force (ie, not plastic) - INVOKE_ASYNC(victim, TYPE_PROC_REF(/mob, emote), "scream") + INVOKE_ASYNC(victim, TYPE_PROC_REF(/mob, force_scream)) victim.visible_message("[victim] looks like [victim.p_theyve()] just bit something they shouldn't have!", \ "OH GOD! Was that a crunch? That didn't feel good at all!!") diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index 640b4e4a6a0a..89b73a0ffa9b 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -441,7 +441,7 @@ var/mob/living/M = H.pulledby if(M.electrocute_act(30, H)) M.visible_message("[M] is electrocuted by [M.p_their()] contact with [H]!") - M.emote("scream") + M.force_scream() /obj/item/shockpaddles/proc/do_disarm(mob/living/M, mob/living/user) if(req_defib && defib.safety) @@ -501,7 +501,7 @@ user.visible_message("[user] shocks [H] with \the [src]!", "You shock [H] with \the [src]!") playsound(src, 'sound/machines/defib_zap.ogg', 100, TRUE, -1) playsound(src, 'sound/weapons/egloves.ogg', 100, TRUE, -1) - H.emote("scream") + H.force_scream() shock_touching(45, H) if(H.can_heartattack() && !H.undergoing_cardiac_arrest()) if(!H.stat) diff --git a/code/game/objects/structures/guillotine.dm b/code/game/objects/structures/guillotine.dm index 59ef31fafa4e..83bae84fc575 100644 --- a/code/game/objects/structures/guillotine.dm +++ b/code/game/objects/structures/guillotine.dm @@ -154,7 +154,7 @@ else H.apply_damage(15 * blade_sharpness, BRUTE, head) log_combat(user, H, "dropped the blade on", src, " non-fatally") - H.emote("scream") + H.force_scream() if (blade_sharpness > 1) blade_sharpness -= 1 diff --git a/code/game/objects/structures/kitchen_spike.dm b/code/game/objects/structures/kitchen_spike.dm index 6512a0683947..1840c27f9271 100644 --- a/code/game/objects/structures/kitchen_spike.dm +++ b/code/game/objects/structures/kitchen_spike.dm @@ -74,7 +74,7 @@ playsound(src.loc, 'sound/effects/splat.ogg', 25, TRUE) L.visible_message("[user] slams [L] onto the meat spike!", "[user] slams you onto the meat spike!", "You hear a squishy wet noise.") L.forceMove(drop_location()) - L.emote("scream") + L.force_scream() L.add_splatter_floor() L.adjustBruteLoss(30) L.setDir(2) @@ -128,7 +128,7 @@ M.adjustBruteLoss(30) src.visible_message(text("[M] falls free of [src]!")) unbuckle_mob(M,force=1) - M.emote("scream") + M.force_scream() M.AdjustParalyzed(20) /obj/structure/kitchenspike/Destroy() diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 2e8c7508d594..ae1f50f0624f 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -264,7 +264,7 @@ GLOBAL_LIST_EMPTY(crematoriums) for(var/mob/living/M in conts) if (M.stat != DEAD) - M.emote("scream") + M.force_scream() if(user) log_combat(user, M, "cremated") else diff --git a/code/modules/awaymissions/mission_code/snowdin.dm b/code/modules/awaymissions/mission_code/snowdin.dm index c12b09fa4e05..a240bf9f8404 100644 --- a/code/modules/awaymissions/mission_code/snowdin.dm +++ b/code/modules/awaymissions/mission_code/snowdin.dm @@ -218,14 +218,19 @@ PP.adjustFireLoss(25) if(plasma_parts.len) var/obj/item/bodypart/NB = pick(plasma_parts) //using the above-mentioned list to get a choice of limbs for dismember() to use - PP.emote("scream") NB.limb_id = "plasmaman" //change the species_id of the limb to that of a plasmaman NB.static_icon = 'icons/mob/species/plasmaman/bodyparts.dmi' NB.no_update = TRUE NB.change_bodypart_status() - PP.visible_message( - "[L] screams in pain as [L.p_their()] [NB] melts down to the bone!", - "You scream out in pain as your [NB] melts down to the bone, leaving an eerie plasma-like glow where flesh used to be!") + PP.force_scream() + if(!HAS_TRAIT(PP, TRAIT_ANALGESIA)) + PP.visible_message( + "[L] screams in pain as [L.p_their()] [NB] melts down to the bone!", + "You scream out in pain as your [NB] melts down to the bone, leaving an eerie plasma-like glow where flesh used to be!") + else + PP.visible_message( + "[L] lets out panicked gasps as [L.p_their()] [NB] melts down to the bone!", + "You gasp in shock as your [NB] melts down to the bone, leaving an eerie plasma-like glow where flesh used to be!") if(!plasma_parts.len && !robo_parts.len) //a person with no potential organic limbs left AND no robotic limbs, time to turn them into a plasmaman PP.IgniteMob() PP.set_species(/datum/species/plasmaman) diff --git a/code/modules/clothing/shoes/_shoes.dm b/code/modules/clothing/shoes/_shoes.dm index cd4474588090..424e00712078 100644 --- a/code/modules/clothing/shoes/_shoes.dm +++ b/code/modules/clothing/shoes/_shoes.dm @@ -172,7 +172,7 @@ else // if one of us moved user.visible_message("[our_guy] stamps on [user]'s hand, mid-shoelace [tied ? "knotting" : "untying"]!", "Ow! [our_guy] stamps on your hand!", list(our_guy)) to_chat(our_guy, "You stamp on [user]'s hand! What the- [user.p_they()] [user.p_were()] [tied ? "knotting" : "untying"] your shoelaces!") - user.emote("scream") + user.force_scream() if(istype(L)) var/obj/item/bodypart/ouchie = L.get_bodypart(pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) if(ouchie) diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 8f8e532577c0..29ff8ead2f62 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -40,6 +40,8 @@ GLOBAL_LIST_INIT(hallucination_list, list( next_hallucination = world.time + rand(100, 600) /mob/living/carbon/proc/set_screwyhud(hud_type) + if(HAS_TRAIT(src, TRAIT_ANALGESIA)) + hud_type = SCREWYHUD_HEALTHY hal_screwyhud = hud_type update_health_hud() diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 98f27aad0ad7..417fedf16a37 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -629,7 +629,7 @@ ADD_TRAIT(C, TRAIT_HOLY, SPECIES_TRAIT) playsound(C.loc, 'sound/items/poster_ripped.ogg', 50, TRUE, -1) C.adjustBruteLoss(20) - C.emote("scream") + C.force_scream() ..() //nerfed necrostone diff --git a/code/modules/mob/emote.dm b/code/modules/mob/emote.dm index 0840ee372158..0e4a8ed748c9 100644 --- a/code/modules/mob/emote.dm +++ b/code/modules/mob/emote.dm @@ -25,6 +25,22 @@ to_chat(src, "Unusable emote '[act]'. Say *help for a list.") return FALSE +/mob/proc/force_scream() + if(HAS_TRAIT(src, TRAIT_ANALGESIA)) + return + if(HAS_TRAIT(src, TRAIT_PAIN_RESIST)) + emote("gasp") + return + emote("scream") + +/mob/proc/force_manual_scream() + if(HAS_TRAIT(src, TRAIT_ANALGESIA)) + return + if(HAS_TRAIT(src, TRAIT_PAIN_RESIST)) + manual_emote("gasp") + return + manual_emote("scream") + /datum/emote/flip key = "flip" key_third_person = "flips" diff --git a/code/modules/mob/living/carbon/alien/organs.dm b/code/modules/mob/living/carbon/alien/organs.dm index bfa71f3b335e..3ae9bbb5b250 100644 --- a/code/modules/mob/living/carbon/alien/organs.dm +++ b/code/modules/mob/living/carbon/alien/organs.dm @@ -134,7 +134,7 @@ else if(ishuman(owner)) //Humans, being more fragile, are more overwhelmed by the mental backlash. to_chat(owner, "You feel a splitting pain in your head, and are struck with a wave of nausea. You cannot hear the hivemind anymore!") - owner.emote("scream") + owner.force_scream() owner.Paralyze(100) owner.jitteriness += 30 diff --git a/code/modules/mob/living/carbon/emote.dm b/code/modules/mob/living/carbon/emote.dm index b5ee4ff2cced..6cd43f05ab02 100644 --- a/code/modules/mob/living/carbon/emote.dm +++ b/code/modules/mob/living/carbon/emote.dm @@ -296,7 +296,7 @@ damage += rand(3,7) if(damage >= 5) - target.emote("scream") + target.force_scream() target.apply_damage(damage, BRUTE, BODY_ZONE_HEAD) user.adjustStaminaLoss(iteration + 5) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 7a7bc349b26c..c26956991d33 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -655,7 +655,7 @@ if(affecting.name == BODY_ZONE_HEAD) if(prob(min(acidpwr*acid_volume/10, 90))) //Applies disfigurement affecting.receive_damage(acidity, 2*acidity) - emote("scream") + force_scream() facial_hairstyle = "Shaved" hairstyle = "Bald" update_hair() diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 18b6cb9ba40e..dd05c0de739b 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -345,13 +345,19 @@ var/obj/item/bodypart/R = get_bodypart("r_arm") if(istype(L) && L.bone_status == BONE_FLAG_BROKEN && held_items[1] && prob(30)) - emote("scream") - visible_message("[src] screams and lets go of [held_items[1]] in pain.", "A horrible pain in your [parse_zone(L)] makes it impossible to hold [held_items[1]]!") + force_scream() + if(!HAS_TRAIT(src, TRAIT_ANALGESIA)) + visible_message("[src] screams and lets go of [held_items[1]] in pain.", "A horrible pain in your [parse_zone(L)] makes it impossible to hold [held_items[1]]!") + else + visible_message(span_notice("[src] flinches and lets go of [held_items[1]]."),span_notice("A sudden weakness in your [parse_zone(L)] makes it impossible to grasp [held_items[1]]!)")) dropItemToGround(held_items[1]) if(istype(R) && R.bone_status == BONE_FLAG_BROKEN && held_items[2] && prob(30)) - emote("scream") - visible_message("[src] screams and lets go of [held_items[2]] in pain.", "A horrible pain in your [parse_zone(R)] makes it impossible to hold [held_items[2]]!") + force_scream() + if(!HAS_TRAIT(src, TRAIT_ANALGESIA)) + visible_message("[src] screams and lets go of [held_items[1]] in pain.", "A horrible pain in your [parse_zone(R)] makes it impossible to hold [held_items[1]]!") + else + visible_message(span_notice("[src] flinches and lets go of [held_items[1]]."),span_notice("A sudden weakness in your [parse_zone(R)] makes it impossible to grasp [held_items[1]]!)")) dropItemToGround(held_items[2]) #undef THERMAL_PROTECTION_HEAD diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index de7c68642edb..129f643f7ed3 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -2170,7 +2170,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) // 40% for level 3 damage on humans to scream in pain if (H.stat < UNCONSCIOUS && (prob(burn_damage) * 10) / 4) - H.emote("scream") + H.force_scream() // Apply the damage to all body parts H.apply_damage(burn_damage, BURN, spread_damage = TRUE) diff --git a/code/modules/mob/living/carbon/human/species_types/ethereal.dm b/code/modules/mob/living/carbon/human/species_types/ethereal.dm index df1fa3a28275..5660040212c0 100644 --- a/code/modules/mob/living/carbon/human/species_types/ethereal.dm +++ b/code/modules/mob/living/carbon/human/species_types/ethereal.dm @@ -156,7 +156,7 @@ _human.apply_damage(8,BRUTE,BODY_ZONE_CHEST) _human.apply_damage(8,BRUTE,BODY_ZONE_L_LEG) _human.apply_damage(8,BRUTE,BODY_ZONE_R_LEG) - _human.emote("scream") + _human.force_scream() _human.remove_status_effect(/datum/status_effect/rooted) return diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index 665e75da9cef..e53b675c95bc 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -364,7 +364,7 @@ "THE CLEANBOTS WILL RISE.", "YOU ARE NO MORE THAN ANOTHER MESS THAT I MUST CLEANSE.", "FILTHY.", "DISGUSTING.", "PUTRID.", "MY ONLY MISSION IS TO CLEANSE THE WORLD OF EVIL.", "EXTERMINATING PESTS.") say(phrase) - victim.emote("scream") + victim.force_scream() playsound(src.loc, 'sound/effects/spray2.ogg', 50, TRUE, -6) victim.acid_act(5, 100) else if(A == src) // Wets floors and spawns foam randomly diff --git a/code/modules/mob/living/simple_animal/slime/life.dm b/code/modules/mob/living/simple_animal/slime/life.dm index b880704c9bf9..19eaa5a6f91d 100644 --- a/code/modules/mob/living/simple_animal/slime/life.dm +++ b/code/modules/mob/living/simple_animal/slime/life.dm @@ -193,7 +193,7 @@ C.adjustCloneLoss(rand(2,4)) C.adjustToxLoss(rand(1,2)) - if(prob(10) && C.client) + if(prob(10) && C.client && !HAS_TRAIT(C, TRAIT_ANALGESIA)) to_chat(C, "[pick("You can feel your body becoming weak!", \ "You feel like you're about to die!", \ "You feel every part of your body screaming in agony!", \ diff --git a/code/modules/mod/mod_control.dm b/code/modules/mod/mod_control.dm index 0199662862f8..37b9cf6e2ac7 100644 --- a/code/modules/mod/mod_control.dm +++ b/code/modules/mod/mod_control.dm @@ -416,7 +416,7 @@ wearer.apply_damage(10 / severity, BURN, spread_damage=TRUE) to_chat(wearer, span_danger("You feel [src] heat up from the EMP, burning you slightly.")) if(wearer.stat < UNCONSCIOUS && prob(10)) - wearer.emote("scream") + wearer.force_scream() /*obj/item/mod/control/on_outfit_equip(mob/living/carbon/human/outfit_wearer, visuals_only, item_slot) if(visuals_only) diff --git a/code/modules/mod/modules/modules_maint.dm b/code/modules/mod/modules/modules_maint.dm index e735654ef2c5..dc0f595c19f2 100644 --- a/code/modules/mod/modules/modules_maint.dm +++ b/code/modules/mod/modules/modules_maint.dm @@ -47,7 +47,7 @@ if(!mod.wearer) //while there is a guaranteed user when on_wearer_exposed() fires, that isn't the same case for this proc return mod.wearer.visible_message("[src] inside [mod.wearer]'s [mod.name] snaps shut, mutilating the user inside!", span_userdanger("*SNAP*")) - mod.wearer.emote("scream") + mod.wearer.force_scream() playsound(mod.wearer, 'sound/effects/snap.ogg', 75, TRUE, frequency = 0.5) playsound(mod.wearer, 'sound/effects/splat.ogg', 50, TRUE, frequency = 0.5) mod.wearer.apply_damage(500, BRUTE, forced = TRUE, spread_damage = TRUE) //boggers, bogchamp, etc diff --git a/code/modules/paperwork/paperplane.dm b/code/modules/paperwork/paperplane.dm index eaf51fc9b25b..9065c7a87fd4 100644 --- a/code/modules/paperwork/paperplane.dm +++ b/code/modules/paperwork/paperplane.dm @@ -102,8 +102,9 @@ visible_message("\The [src] hits [H] in the eye[eyes ? "" : " socket"]!") H.adjust_blurriness(6) eyes?.applyOrganDamage(rand(6,8)) - H.Paralyze(40) - H.emote("scream") + H.force_scream() + if(!HAS_TRAIT(H, TRAIT_ANALGESIA)) + H.Paralyze(40) /obj/item/paper/examine(mob/user) . = ..() diff --git a/code/modules/projectiles/guns/misc/beam_rifle.dm b/code/modules/projectiles/guns/misc/beam_rifle.dm index b131b03ec148..2e2fc46c3752 100644 --- a/code/modules/projectiles/guns/misc/beam_rifle.dm +++ b/code/modules/projectiles/guns/misc/beam_rifle.dm @@ -477,7 +477,7 @@ if(isliving(target)) var/mob/living/L = target L.adjustFireLoss(impact_direct_damage) - L.emote("scream") + L.force_scream() /obj/projectile/beam/beam_rifle/proc/handle_hit(atom/target, piercing_hit = FALSE) set waitfor = FALSE diff --git a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm index f781313bf582..e84cc952c5b9 100644 --- a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm @@ -488,7 +488,7 @@ WS End*/ if(H.health <= H.crit_threshold) //certain death above this threshold REMOVE_TRAIT(H, TRAIT_STABLEHEART, type) //we have to remove the stable heart before we give him heart attack to_chat(H,"You feel something rupturing inside your chest!") - H.emote("scream") + H.force_scream() H.set_heartattack(TRUE) volume = 0 . = ..() diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index abdaf511691d..9e4b2120774e 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -137,7 +137,7 @@ M.visible_message("The boiling oil sizzles as it covers [M]!", \ "You're covered in boiling oil!") if(FryLoss) - M.emote("scream") + M.force_scream() playsound(M, 'sound/machines/fryer/deep_fryer_emerge.ogg', 25, TRUE) ADD_TRAIT(M, TRAIT_OIL_FRIED, "cooking_oil_react") addtimer(CALLBACK(M, TYPE_PROC_REF(/mob/living, unfry_mob)), 3) @@ -271,7 +271,7 @@ //actually handle the pepperspray effects if (!(pepper_proof)) // you need both eye and mouth protection if(prob(5)) - victim.emote("scream") + victim.force_scream() victim.blur_eyes(5) // 10 seconds victim.blind_eyes(3) // 6 seconds victim.confused = max(M.confused, 5) // 10 seconds diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 48b8e3793c21..861587b3e1ff 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -257,9 +257,12 @@ to_chat(M, "You don't feel so good...") else if(M.getFireLoss()) M.adjustFireLoss(-reac_volume) - if(show_message) + M.force_scream() + if(show_message && !HAS_TRAIT(M, TRAIT_ANALGESIA)) to_chat(M, "You feel your burns healing! It stings like hell!") - SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine) + SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine) + else + to_chat(M, span_notice("You feel your burns throbbing.")) ..() /datum/reagent/medicine/silver_sulfadiazine/on_mob_life(mob/living/carbon/M) @@ -310,9 +313,12 @@ to_chat(M, "You don't feel so good...") else if(M.getBruteLoss()) M.adjustBruteLoss(-reac_volume) - if(show_message) + M.force_scream() + if(show_message && !HAS_TRAIT(M, TRAIT_ANALGESIA)) to_chat(M, "You feel your bruises healing! It stings like hell!") - SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine) + SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine) + else + to_chat(M, span_notice("You feel your bruises throbbing.")) ..() @@ -375,6 +381,9 @@ color = "#6D6374" metabolization_rate = 0.4 * REAGENTS_METABOLISM +/datum/reagent/medicine/mine_salve/on_mob_metabolize(mob/living/L) + ADD_TRAIT(L, TRAIT_PAIN_RESIST, type) + /datum/reagent/medicine/mine_salve/on_mob_life(mob/living/carbon/C) C.hal_screwyhud = SCREWYHUD_HEALTHY C.adjustBruteLoss(-0.25*REM, 0) @@ -401,6 +410,7 @@ /datum/reagent/medicine/mine_salve/on_mob_end_metabolize(mob/living/M) if(iscarbon(M)) var/mob/living/carbon/N = M + REMOVE_TRAIT(N, TRAIT_PAIN_RESIST, type) N.hal_screwyhud = SCREWYHUD_NONE ..() @@ -565,6 +575,10 @@ color = "#E6FFF0" metabolization_rate = 0.5 * REAGENTS_METABOLISM +/datum/reagent/medicine/anti_rad/on_mob_metabolize(mob/living/L) + to_chat(L, span_warning("Your stomach starts to churn and cramp!")) + . = ..() + /datum/reagent/medicine/anti_rad/on_mob_life(mob/living/carbon/M) M.radiation -= M.radiation - rand(50,150) M.adjust_disgust(7*REM, 0) @@ -750,9 +764,11 @@ /datum/reagent/medicine/morphine/on_mob_metabolize(mob/living/L) ..() + ADD_TRAIT(L, TRAIT_PAIN_RESIST, type) L.add_movespeed_mod_immunities(type, /datum/movespeed_modifier/damage_slowdown) /datum/reagent/medicine/morphine/on_mob_end_metabolize(mob/living/L) + REMOVE_TRAIT(L, TRAIT_PAIN_RESIST, type) L.remove_movespeed_mod_immunities(type, /datum/movespeed_modifier/damage_slowdown) ..() @@ -1451,10 +1467,12 @@ /datum/reagent/medicine/corazone/on_mob_metabolize(mob/living/M) ..() + ADD_TRAIT(M, TRAIT_PAIN_RESIST, type) ADD_TRAIT(M, TRAIT_STABLEHEART, type) ADD_TRAIT(M, TRAIT_STABLELIVER, type) /datum/reagent/medicine/corazone/on_mob_end_metabolize(mob/living/M) + REMOVE_TRAIT(M, TRAIT_PAIN_RESIST, type) REMOVE_TRAIT(M, TRAIT_STABLEHEART, type) REMOVE_TRAIT(M, TRAIT_STABLELIVER, type) @@ -1746,9 +1764,12 @@ else if(M.getBruteLoss()) M.adjustBruteLoss(-reac_volume) M.adjustFireLoss(reac_volume) - if(show_message) + M.force_scream() + if(show_message && !HAS_TRAIT(M, TRAIT_ANALGESIA)) to_chat(M, "You feel your skin bubble and burn as your flesh knits itself together!") - SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine) + SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine) + else + to_chat(M, span_notice("You feel your skin shifting around unnaturally.")) ..() /datum/reagent/medicine/converbital/on_mob_life(mob/living/carbon/M) @@ -1780,9 +1801,12 @@ else if(M.getBruteLoss()) M.adjustFireLoss(-reac_volume) M.adjustBruteLoss(reac_volume) - if(show_message) - to_chat(M, "You feel your flesh tear as your skin rapidly regenerates!") - SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine) + M.force_scream() + if(show_message && !HAS_TRAIT(M, TRAIT_ANALGESIA)) + to_chat(M, "You feel your skin tear as your flesh rapidly regenerates!") + SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine) + else + to_chat(M, span_notice("You feel your skin shifting around unnaturally.")) ..() /datum/reagent/medicine/convuri/on_mob_life(mob/living/carbon/M) diff --git a/code/modules/research/xenobiology/crossbreeding/_weapons.dm b/code/modules/research/xenobiology/crossbreeding/_weapons.dm index 3f80f17e8a32..2bca49c62913 100644 --- a/code/modules/research/xenobiology/crossbreeding/_weapons.dm +++ b/code/modules/research/xenobiology/crossbreeding/_weapons.dm @@ -14,7 +14,7 @@ Slimecrossing Weapons /obj/item/melee/arm_blade/slime/attack(mob/living/L, mob/user) . = ..() if(prob(20)) - user.emote("scream") + user.force_scream() //Adamantine shield - Chilling Adamantine /obj/item/shield/adamantineshield diff --git a/code/modules/research/xenobiology/crossbreeding/burning.dm b/code/modules/research/xenobiology/crossbreeding/burning.dm index 26c151e42316..7d19fb0f8cfd 100644 --- a/code/modules/research/xenobiology/crossbreeding/burning.dm +++ b/code/modules/research/xenobiology/crossbreeding/burning.dm @@ -228,7 +228,7 @@ Burning extracts: user.visible_message("[src] melts onto [user]'s arm, boiling the flesh horribly!") else user.visible_message("[src] sublimates the flesh around [user]'s arm, transforming the bone into a gruesome blade!") - user.emote("scream") + user.force_scream() L.apply_damage(30,BURN,which_hand) ..() diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm index d24c6c3b049b..659c42f56d34 100644 --- a/code/modules/surgery/bodyparts/bodyparts.dm +++ b/code/modules/surgery/bodyparts/bodyparts.dm @@ -373,7 +373,7 @@ if(total_damage >= max_damage * disable_threshold) //Easy limb disable disables the limb at 40% health instead of 0% if(!last_maxed) - if(owner.stat < UNCONSCIOUS) + if(owner.stat < UNCONSCIOUS && !HAS_TRAIT(owner, TRAIT_ANALGESIA)) INVOKE_ASYNC(owner, TYPE_PROC_REF(/mob, emote), "scream") last_maxed = TRUE set_disabled(TRUE) @@ -813,7 +813,10 @@ return if(prob(5)) - to_chat(owner, "[pick("You feel broken bones moving around in your [name]!", "There are broken bones moving around in your [name]!", "The bones in your [name] are moving around!")]") + if(HAS_TRAIT(owner, TRAIT_ANALGESIA)) + to_chat(owner, span_notice("[pick("You feel something shifting inside your [name].", "There is something moving inside [name].", "Something inside your [name] slips.")]")) + else + to_chat(owner, "[pick("You feel broken bones moving around in your [name]!", "There are broken bones moving around in your [name]!", "The bones in your [name] are moving around!")]") receive_damage(rand(1, 3)) //1-3 damage every 20 tiles for every broken bodypart. //A single broken bodypart will give you an average of 650 tiles to run before you get a total of 100 damage and fall into crit diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index 07d30e727c77..4a98e6b93ea0 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -20,7 +20,8 @@ if(C.stat <= SOFT_CRIT)//No more screaming while unconsious if(IS_ORGANIC_LIMB(affecting))//Chest is a good indicator for if a carbon is robotic in nature or not. - INVOKE_ASYNC(C, TYPE_PROC_REF(/mob, emote), "scream") + if(!HAS_TRAIT(C, TRAIT_ANALGESIA)) //and do we actually feel pain? + INVOKE_ASYNC(C, TYPE_PROC_REF(/mob, emote), "scream") SEND_SIGNAL(C, COMSIG_ADD_MOOD_EVENT, "dismembered", /datum/mood_event/dismembered) diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm index 10aad97cd021..b50128de64ac 100644 --- a/code/modules/surgery/organs/tongue.dm +++ b/code/modules/surgery/organs/tongue.dm @@ -302,7 +302,7 @@ /obj/item/organ/tongue/robot/emp_act(severity) owner.apply_effect(EFFECT_STUTTER, 120) - owner.emote("scream") + owner.force_scream() to_chat(owner, "Alert: Vocal cords are malfunctioning.") /obj/item/organ/tongue/robot/handle_speech(datum/source, list/speech_args) diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm index afabdc06f0f7..67165e33abf6 100644 --- a/code/modules/vending/_vending.dm +++ b/code/modules/vending/_vending.dm @@ -565,7 +565,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C L.client.give_award(/datum/award/achievement/misc/vendor_squish, L) // good job losing a fight with an inanimate object idiot L.Paralyze(60) - L.emote("scream") + L.force_scream() playsound(L, 'sound/effects/blobattack.ogg', 40, TRUE) playsound(L, 'sound/effects/splat.ogg', 50, TRUE) From f8bce79042a229364893d357afa9ca694a58ddcc Mon Sep 17 00:00:00 2001 From: MemeSnorfer <116136632+MemeSnorfer@users.noreply.github.com> Date: Wed, 9 Oct 2024 23:33:12 -0700 Subject: [PATCH 026/344] Suspicious Duffel Bags now incur movement slowdown (#3518) ## About The Pull Request Suspicious duffel bags now incur movement slowdown like any other duffel bag. ## Why It's Good For The Game The amount of times I've seen this used to powergame storage is more times than I'd like to see. ## Changelog :cl: balance: Suspicious Duffel Bags now incur movement slowdown /:cl: --- code/game/objects/items/storage/backpack.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index 1c35a27df1ac..f624ba35c355 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -483,7 +483,6 @@ desc = "A large duffel bag for holding extra tactical supplies." icon_state = "duffel-syndie" item_state = "duffel-syndieammo" - slowdown = 0 resistance_flags = FIRE_PROOF /obj/item/storage/backpack/duffelbag/syndie/ComponentInitialize() From 2ae5eebb774ba25453633a45f060f5eac31005b1 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Bjarl@users.noreply.github.com> Date: Thu, 10 Oct 2024 20:02:17 -0400 Subject: [PATCH 027/344] Rack Normalcy (#3525) ## About The Pull Request Racks check for harm intent before you kick the shit out of them ## Why It's Good For The Game It's. Normaller I think ## Changelog :cl: add: Please remember to ensure your soul is filled with spite before kicking a rack. /:cl: --- code/game/objects/structures/tables_racks.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index cf45faf697a2..6887ba3d59a2 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -704,9 +704,13 @@ return if(user.body_position == LYING_DOWN || user.usable_legs < 2) return + + if(user.a_intent != INTENT_HARM) + to_chat(user, span_danger("You aren't HARMFUL enough to beat the rack.")) + return user.changeNext_move(CLICK_CD_MELEE) user.do_attack_animation(src, ATTACK_EFFECT_KICK) - user.visible_message("[user] kicks [src].", null, null, COMBAT_MESSAGE_RANGE) + user.visible_message(span_danger("[user] kicks [src]."), null, null, COMBAT_MESSAGE_RANGE) take_damage(rand(4,8), BRUTE, "melee", 1) /obj/structure/rack/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) From 6a6ac75dc4cea46c46cb251188547e2b33f171e9 Mon Sep 17 00:00:00 2001 From: Mark Suckerberg Date: Sat, 12 Oct 2024 14:38:33 -0500 Subject: [PATCH 028/344] Update InstallDeps.sh Signed-off-by: Mark Suckerberg --- tools/tgs_scripts/InstallDeps.sh | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/tools/tgs_scripts/InstallDeps.sh b/tools/tgs_scripts/InstallDeps.sh index ce3a02a05147..c1009ce02367 100755 --- a/tools/tgs_scripts/InstallDeps.sh +++ b/tools/tgs_scripts/InstallDeps.sh @@ -7,7 +7,6 @@ has_cargo="$(command -v ~/.cargo/bin/cargo)" has_sudo="$(command -v sudo)" has_curl="$(command -v curl)" has_grep="$(command -v grep)" -has_youtubedl="$(command -v youtube-dl)" has_pip3="$(command -v pip3)" set -e set -x @@ -33,19 +32,14 @@ if ! [ -x "$has_cargo" ]; then . ~/.profile fi -# install or update youtube-dl when not present, or if it is present with pip3, -# which we assume was used to install it -if ! [ -x "$has_youtubedl" ]; then - echo "Installing youtube-dl with pip3..." - if ! [ -x "$has_sudo" ]; then - apt-get update - apt-get install -y python3 python3-pip - else - sudo apt-get update - sudo apt-get install -y python3 python3-pip - fi - pip3 install youtube-dl --break-system-packages -elif [ -x "$has_pip3" ]; then - echo "Ensuring youtube-dl is up-to-date with pip3..." - pip3 install youtube-dl -U --break-system-packages +# install or update yt-dlp when not present +echo "Installing/updating yt-dlp..." +if ! [ -x "$has_sudo" ]; then + apt-get update + apt-get install -y yt-dlp +else + sudo apt-get update + sudo apt-get install -y yt-dlp fi + + From 6b3a0a217563d2c81eb165c3addc16835560a949 Mon Sep 17 00:00:00 2001 From: zimon9 <122945887+zimon9@users.noreply.github.com> Date: Sat, 12 Oct 2024 15:52:10 -0400 Subject: [PATCH 029/344] Resolves issue #3487 -- Throwing bug fix (#3522) ## About The Pull Request This fix removes a second increment to the dist_travelled variable. This line appears to have caused the throwing range of items to be halved, effectively. This fix should make it so that thrown objects go as far as they are intended to. ## Why It's Good For The Game Resolves the issue linked here: https://github.com/shiptest-ss13/Shiptest/issues/3487 ## Changelog :cl: fix: fixed halved throw range /:cl: --- code/controllers/subsystem/throwing.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/controllers/subsystem/throwing.dm b/code/controllers/subsystem/throwing.dm index e8cd514eb48b..b64dab12d301 100644 --- a/code/controllers/subsystem/throwing.dm +++ b/code/controllers/subsystem/throwing.dm @@ -160,8 +160,6 @@ SUBSYSTEM_DEF(throwing) finalize() return - dist_travelled++ - if(actual_target && !(actual_target.pass_flags_self & LETPASSTHROW) && actual_target.loc == AM.loc) // we crossed a movable with no density (e.g. a mouse or APC) we intend to hit anyway. finalize(TRUE, actual_target) return From e567a5361e569d2d48853749140d901c53102768 Mon Sep 17 00:00:00 2001 From: thgvr <81882910+thgvr@users.noreply.github.com> Date: Sat, 12 Oct 2024 14:03:33 -0700 Subject: [PATCH 030/344] Bullet stacks (#3456) Partial port of https://github.com/Mojave-Sun/mojave-sun-13/pull/2076 and surrounding PRs Adds bullet handfuls. You can only have the same type of ammunition in a handful. No mismatched stacks Spent casings are not stackable. Generally, the rule is: * By default, stacks can contain 12 rounds. * Pistol-equivalent stacks contain 15 rounds. * Shotshell stacks contain 8 rounds. * Rifle stacks contain 15 rounds. * Large calibre stacks contain 5 rounds. Also replaces old ammo boxes with storage boxes that come pre-filled with stacks of bullets like this: ![image](https://github.com/user-attachments/assets/cb71a690-cbd2-4973-bfca-4e8b9f472349) Here's how the stacks look: ![image](https://github.com/user-attachments/assets/8cb64f4e-8b4c-4b87-9c60-96a8354a69de) ![image](https://github.com/user-attachments/assets/2b42e546-1d04-4542-b6dd-19c9099991e2) :cl: add: Added bullet stacks, they allow you to stack ammo of the same type into a group. balance: Changed old ammo boxes into storage items containing stacks of bullets /:cl: --------- Signed-off-by: thgvr <81882910+thgvr@users.noreply.github.com> --- .../BeachRuins/beach_fishing_hut.dmm | 46 +- .../BeachRuins/beach_treasure_cove.dmm | 9 +- .../icemoon_underground_abandoned_village.dmm | 2 +- .../JungleRuins/jungle_interceptor.dmm | 2 +- .../LavaRuins/lavaland_crashed_starwalker.dmm | 4 +- .../RockRuins/rockplanet_distillery.dmm | 2 +- .../RockRuins/rockplanet_harmfactory.dmm | 5 +- .../whitesands_surface_camp_combination.dmm | 2 +- _maps/RandomRuins/SpaceRuins/power_puzzle.dmm | 4 +- _maps/RandomRuins/SpaceRuins/spacemall.dmm | 4 +- .../WasteRuins/wasteplanet_lab.dmm | 4 +- .../WasteRuins/wasteplanet_pandora.dmm | 2 +- .../independent/independent_dwayne.dmm | 6 +- .../shuttles/independent/independent_kilo.dmm | 4 +- .../independent/independent_rigger.dmm | 2 +- .../independent/independent_shetland.dmm | 2 +- _maps/shuttles/inteq/inteq_hound.dmm | 5 +- _maps/shuttles/inteq/inteq_valor.dmm | 10 +- .../nanotrasen/nanotrasen_harrier.dmm | 6 +- .../shuttles/nanotrasen/nanotrasen_heron.dmm | 20 +- .../shuttles/nanotrasen/nanotrasen_ranger.dmm | 10 +- _maps/shuttles/pirate/pirate_tortuga.dmm | 7 +- _maps/shuttles/roumain/srm_elder.dmm | 14 +- _maps/shuttles/solgov/solgov_chronicle.dmm | 2 +- _maps/shuttles/solgov/solgov_inkwell.dmm | 2 +- _maps/shuttles/solgov/solgov_paracelsus.dmm | 2 +- .../syndicate/syndicate_gorlex_hyena.dmm | 6 +- .../syndicate/syndicate_gorlex_komodo.dmm | 2 +- .../syndicate/syndicate_twinkleshine.dmm | 4 +- code/__DEFINES/vv.dm | 1 + code/game/atoms.dm | 4 + .../mecha/equipment/weapons/mecha_ammo.dm | 2 +- code/game/objects/items/RCD.dm | 2 +- code/game/objects/items/melee/weaponry.dm | 2 +- code/game/objects/items/shrapnel.dm | 2 +- code/game/objects/items/storage/ammo_can.dm | 52 ++ code/game/objects/items/storage/backpack.dm | 4 +- code/game/objects/items/storage/belt.dm | 4 +- code/game/objects/items/storage/toolbox.dm | 52 -- code/game/objects/items/toys.dm | 2 +- .../crates_lockers/closets/secure/security.dm | 4 +- code/modules/antagonists/gang/outfits.dm | 11 +- .../blackmarket/blackmarket_items/ammo.dm | 8 +- code/modules/cargo/exports.dm | 3 +- code/modules/cargo/packs/ammo.dm | 170 +++--- .../clothing/outfits/ert/frontiersmen_ert.dm | 16 +- code/modules/mining/abandoned_crates.dm | 2 +- .../hostile/mining_mobs/hivelord_outfits.dm | 4 +- .../{_ammunition.dm => _ammo_casing.dm} | 114 +++- .../projectiles/ammunition/ballistic/lmg.dm | 1 - .../ammunition/ballistic/pistol.dm | 14 +- .../ammunition/ballistic/revolver.dm | 5 +- .../projectiles/ammunition/ballistic/rifle.dm | 20 +- .../ammunition/ballistic/shotgun.dm | 7 +- .../projectiles/ammunition/ballistic/smg.dm | 5 +- .../ammunition/ballistic/sniper.dm | 1 - .../projectiles/ammunition/caseless/foam.dm | 1 - .../boxes_magazines/_box_magazine.dm | 58 +- .../projectiles/boxes_magazines/ammo_boxes.dm | 573 ------------------ .../boxes_magazines/ammo_loaders.dm | 176 ++++++ .../ammo_stacks/_ammo_stack.dm | 82 +++ .../prefab_stacks/_premade_stacks.dm | 21 + .../prefab_stacks/premade_gauss_stacks.dm | 41 ++ .../prefab_stacks/premade_lmg_stacks.dm | 15 + .../prefab_stacks/premade_misc_stacks.dm | 26 + .../prefab_stacks/premade_pistol_stacks.dm | 499 +++++++++++++++ .../prefab_stacks/premade_rifle_stacks.dm | 152 +++++ .../prefab_stacks/premade_shotshell_stacks.dm | 79 +++ .../prefab_stacks/premade_smg_stacks.dm | 113 ++++ .../prefab_stacks/premade_sniper_stacks.dm | 9 + .../boxes_magazines/generic_ammo_box.dm | 53 -- code/modules/projectiles/guns/ballistic.dm | 10 +- .../research/designs/autolathe_designs.dm | 22 +- .../research/designs/weapon_designs.dm | 46 +- code/modules/uplink/uplink_items.dm | 2 +- code/modules/vending/liberation_toy.dm | 4 +- code/modules/vending/security.dm | 2 - code/modules/vending/toys.dm | 2 +- icons/obj/ammo_bullets.dmi | Bin 2226 -> 0 bytes icons/obj/ammo_shotshells.dmi | Bin 3149 -> 0 bytes icons/obj/ammunition/ammo.dmi | Bin 0 -> 20173 bytes icons/obj/ammunition/ammo_boxes.dmi | Bin 0 -> 6468 bytes icons/obj/ammunition/ammo_bullets.dmi | Bin 0 -> 3390 bytes shiptest.dme | 16 +- 84 files changed, 1684 insertions(+), 1020 deletions(-) create mode 100644 code/game/objects/items/storage/ammo_can.dm rename code/modules/projectiles/ammunition/{_ammunition.dm => _ammo_casing.dm} (55%) delete mode 100644 code/modules/projectiles/boxes_magazines/ammo_boxes.dm create mode 100644 code/modules/projectiles/boxes_magazines/ammo_loaders.dm create mode 100644 code/modules/projectiles/boxes_magazines/ammo_stacks/_ammo_stack.dm create mode 100644 code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/_premade_stacks.dm create mode 100644 code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_gauss_stacks.dm create mode 100644 code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_lmg_stacks.dm create mode 100644 code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_misc_stacks.dm create mode 100644 code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm create mode 100644 code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_rifle_stacks.dm create mode 100644 code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_shotshell_stacks.dm create mode 100644 code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_smg_stacks.dm create mode 100644 code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_sniper_stacks.dm delete mode 100644 code/modules/projectiles/boxes_magazines/generic_ammo_box.dm delete mode 100644 icons/obj/ammo_bullets.dmi delete mode 100644 icons/obj/ammo_shotshells.dmi create mode 100644 icons/obj/ammunition/ammo.dmi create mode 100644 icons/obj/ammunition/ammo_boxes.dmi create mode 100644 icons/obj/ammunition/ammo_bullets.dmi diff --git a/_maps/RandomRuins/BeachRuins/beach_fishing_hut.dmm b/_maps/RandomRuins/BeachRuins/beach_fishing_hut.dmm index ea1a18b11c4b..6a81ff12aaac 100644 --- a/_maps/RandomRuins/BeachRuins/beach_fishing_hut.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_fishing_hut.dmm @@ -67,6 +67,11 @@ }, /turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) +"eB" = ( +/obj/item/storage/box/ammo/c38, +/obj/structure/closet/crate/wooden, +/turf/open/floor/wood, +/area/ruin/beach) "eJ" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -200,12 +205,6 @@ /obj/structure/railing/corner, /turf/open/water/beach/deep, /area/overmap_encounter/planetoid/beachplanet/explored) -"kj" = ( -/obj/structure/closet/cabinet, -/obj/item/pneumatic_cannon/speargun, -/obj/item/melee/knife/hunting, -/turf/open/floor/wood, -/area/ruin/beach) "kr" = ( /obj/effect/turf_decal/weather/sand/corner{ dir = 1 @@ -280,11 +279,6 @@ }, /turf/open/floor/plating/asteroid/sand, /area/overmap_encounter/planetoid/cave/explored) -"mq" = ( -/obj/item/ammo_box/c38_box, -/obj/structure/closet/crate/wooden, -/turf/open/floor/wood, -/area/ruin/beach) "my" = ( /obj/effect/turf_decal/weather/sand{ dir = 5 @@ -745,12 +739,27 @@ }, /turf/open/floor/wood/ebony, /area/overmap_encounter/planetoid/beachplanet/explored) +"CJ" = ( +/obj/structure/closet/cabinet, +/obj/item/pneumatic_cannon/speargun, +/obj/item/melee/knife/hunting, +/obj/machinery/light/small/directional/east{ + light_color = "#d8b1b1" + }, +/turf/open/floor/wood, +/area/ruin/beach) "CV" = ( /obj/machinery/grill, /obj/effect/turf_decal/corner/opaque/pink/diagonal, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plastic, /area/ruin/beach) +"DG" = ( +/obj/structure/closet/cabinet, +/obj/item/pneumatic_cannon/speargun, +/obj/item/melee/knife/hunting, +/turf/open/floor/wood, +/area/ruin/beach) "DL" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -1047,15 +1056,6 @@ /obj/effect/turf_decal/siding/white/corner, /turf/open/water/beach, /area/overmap_encounter/planetoid/beachplanet/explored) -"PB" = ( -/obj/structure/closet/cabinet, -/obj/item/pneumatic_cannon/speargun, -/obj/item/melee/knife/hunting, -/obj/machinery/light/small/directional/east{ - light_color = "#d8b1b1" - }, -/turf/open/floor/wood, -/area/ruin/beach) "PC" = ( /obj/effect/turf_decal/weather/sand{ dir = 10 @@ -2186,9 +2186,9 @@ sz ut Ty oS -mq -kj -PB +eB +DG +CJ ut BW BN diff --git a/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm b/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm index 997f6bb56703..839e87815f93 100644 --- a/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm @@ -666,13 +666,8 @@ /obj/structure/table/reinforced{ color = "#c1b6a5" }, -/obj/item/ammo_box/c38_box{ - pixel_x = 10; - pixel_y = 8 - }, -/obj/item/ammo_box/c38_box{ - pixel_x = 10 - }, +/obj/item/storage/box/ammo/c38, +/obj/item/storage/box/ammo/c38, /obj/structure/sign/poster/contraband/energy_swords{ pixel_x = -32 }, diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm index 29710e094f64..42aa6b288469 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm @@ -383,7 +383,7 @@ "EF" = ( /obj/effect/decal/cleanable/blood/gibs/torso, /obj/structure/safe, -/obj/item/ammo_box/a12g/slug, +/obj/item/storage/box/ammo/a12g_slug, /obj/item/melee/knife/combat, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, diff --git a/_maps/RandomRuins/JungleRuins/jungle_interceptor.dmm b/_maps/RandomRuins/JungleRuins/jungle_interceptor.dmm index aab9b566f78e..f6efbca453e2 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_interceptor.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_interceptor.dmm @@ -3050,7 +3050,7 @@ /obj/item/clothing/under/rank/security/officer/blueshirt, /obj/item/clothing/gloves/combat, /obj/item/clothing/shoes/jackboots, -/obj/item/ammo_box/c9mm, +/obj/item/storage/box/ammo/c9mm, /obj/machinery/light/small/broken/directional/north, /obj/effect/turf_decal/corner/transparent/bar/three_quarters{ dir = 4 diff --git a/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm b/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm index 4d63ae26b5bb..8f3921ed0520 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm @@ -92,7 +92,7 @@ name = "armory locker"; req_one_access_txt = "1" }, -/obj/item/ammo_box/a12g, +/obj/item/storage/box/ammo/a12g_buckshot, /turf/open/floor/mineral/plastitanium, /area/ruin/unpowered/crashed_starwalker) "bL" = ( @@ -942,7 +942,7 @@ /obj/effect/turf_decal/industrial/outline/yellow, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/closet/crate/secure/gear, -/obj/item/ammo_box/c10mm/surplus, +/obj/item/storage/box/ammo/c10mm_surplus, /obj/item/weaponcrafting/stock, /obj/item/weaponcrafting/stock{ pixel_x = -6 diff --git a/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm b/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm index 2fd3caa4c42f..3926cffbbf81 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm @@ -3086,7 +3086,7 @@ pixel_x = -3 }, /obj/item/ammo_box/magazine/illestren_a850r, -/obj/item/ammo_box/c9mm/ap, +/obj/item/storage/box/ammo/c9mm/ap, /obj/item/ammo_box/magazine/illestren_a850r, /obj/item/ammo_box/magazine/co9mm{ start_empty = 1 diff --git a/_maps/RandomRuins/RockRuins/rockplanet_harmfactory.dmm b/_maps/RandomRuins/RockRuins/rockplanet_harmfactory.dmm index a86efe2e9744..a47ad168fb72 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_harmfactory.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_harmfactory.dmm @@ -1862,10 +1862,7 @@ pixel_x = 5; pixel_y = 7 }, -/obj/item/ammo_box/foambox/riot{ - pixel_x = -3; - pixel_y = -3 - }, +/obj/item/storage/box/ammo/foam_darts/riot, /obj/structure/cable{ icon_state = "4-8" }, diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm index b903fd3cce78..c7b060634951 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm @@ -1301,7 +1301,7 @@ "XP" = ( /obj/structure/table, /obj/item/trash/can, -/obj/item/ammo_box/c45/surplus, +/obj/item/storage/box/ammo/c45_surplus, /turf/open/floor/concrete, /area/ruin) "XS" = ( diff --git a/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm b/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm index 3d05cfb13d35..e126234531f2 100644 --- a/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm +++ b/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm @@ -2694,8 +2694,8 @@ /obj/structure/closet/crate/secure/weapon{ name = "Ammo Crate" }, -/obj/item/ammo_box/c9mm/surplus, -/obj/item/ammo_box/c9mm/surplus, +/obj/item/storage/box/ammo/c9mm_surplus, +/obj/item/storage/box/ammo/c9mm_surplus, /obj/item/ammo_box/magazine/co9mm, /obj/item/ammo_box/magazine/co9mm, /turf/open/floor/plasteel, diff --git a/_maps/RandomRuins/SpaceRuins/spacemall.dmm b/_maps/RandomRuins/SpaceRuins/spacemall.dmm index db3f30c15f76..6b75031ae8ba 100644 --- a/_maps/RandomRuins/SpaceRuins/spacemall.dmm +++ b/_maps/RandomRuins/SpaceRuins/spacemall.dmm @@ -320,7 +320,7 @@ /obj/item/toy/talking/AI{ pixel_x = 20 }, -/obj/item/ammo_box/foambox/riot, +/obj/item/storage/box/ammo/foam_darts/riot, /obj/item/gun/ballistic/shotgun/toy, /turf/open/floor/light, /area/ruin/space/has_grav/spacemall/shop2) @@ -2434,7 +2434,7 @@ /area/ruin/space/has_grav/spacemall) "jm" = ( /obj/structure/rack, -/obj/item/ammo_box/c9mm, +/obj/item/storage/box/ammo/c9mm, /obj/item/ammo_box/magazine/co9mm{ pixel_x = 5 }, diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm index aa5797d05a95..dba9f5e3c3c9 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm @@ -118,13 +118,13 @@ /area/ruin/powered) "gw" = ( /obj/structure/table, -/obj/item/ammo_box/c45, +/obj/item/storage/box/ammo/c45, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/mono/white, /area/ruin/powered) "gx" = ( /obj/structure/table, -/obj/item/ammo_box/c9mm/rubbershot, +/obj/item/storage/box/ammo/c9mm_rubber, /turf/open/floor/plasteel/mono/white, /area/ruin/powered) "gz" = ( diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm index 934b648c0bd6..adab5732e0c1 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_pandora.dmm @@ -23,7 +23,7 @@ /area/ruin/wasteplanet) "bc" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/item/ammo_box/c9mm, +/obj/item/storage/box/ammo/c9mm, /turf/open/floor/plating/wasteplanet, /area/ruin/wasteplanet) "bd" = ( diff --git a/_maps/shuttles/independent/independent_dwayne.dmm b/_maps/shuttles/independent/independent_dwayne.dmm index d1cc698c0c92..7f8e7b569c68 100644 --- a/_maps/shuttles/independent/independent_dwayne.dmm +++ b/_maps/shuttles/independent/independent_dwayne.dmm @@ -272,9 +272,9 @@ dir = 9 }, /obj/effect/decal/cleanable/dirt, -/obj/item/ammo_box/c38_box, -/obj/item/ammo_box/c38_box, -/obj/item/ammo_box/c38_box, +/obj/item/storage/box/ammo/c38, +/obj/item/storage/box/ammo/c38, +/obj/item/storage/box/ammo/c38, /obj/structure/closet/crate/secure/plasma{ name = "ammo crate"; desc = "A secure ammo crate." diff --git a/_maps/shuttles/independent/independent_kilo.dmm b/_maps/shuttles/independent/independent_kilo.dmm index 35f955ff0b3d..f9504be9d31e 100644 --- a/_maps/shuttles/independent/independent_kilo.dmm +++ b/_maps/shuttles/independent/independent_kilo.dmm @@ -661,7 +661,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/item/ammo_box/a12g/rubbershot, +/obj/item/storage/box/ammo/a12g_rubbershot, /obj/item/gun/ballistic/shotgun/doublebarrel/presawn{ spawnwithmagazine = 0 }, @@ -1875,7 +1875,7 @@ icon_state = "9-10" }, /obj/effect/decal/cleanable/oil, -/obj/item/ammo_box/a12g, +/obj/item/storage/box/ammo/a12g_buckshot, /obj/item/gun/ballistic/shotgun/doublebarrel/no_mag, /turf/open/floor/plasteel/patterned, /area/ship/cargo) diff --git a/_maps/shuttles/independent/independent_rigger.dmm b/_maps/shuttles/independent/independent_rigger.dmm index d6cb54aed39c..d87ae083832b 100644 --- a/_maps/shuttles/independent/independent_rigger.dmm +++ b/_maps/shuttles/independent/independent_rigger.dmm @@ -4132,7 +4132,7 @@ name = "ammunition locker"; req_access_txt = "1" }, -/obj/item/ammo_box/c38_box, +/obj/item/storage/box/ammo/c38, /obj/item/ammo_box/magazine/m45/rubber, /obj/item/ammo_box/magazine/m45/rubber, /obj/item/ammo_box/magazine/m45, diff --git a/_maps/shuttles/independent/independent_shetland.dmm b/_maps/shuttles/independent/independent_shetland.dmm index 3bf95ea99b6f..75784c301eda 100644 --- a/_maps/shuttles/independent/independent_shetland.dmm +++ b/_maps/shuttles/independent/independent_shetland.dmm @@ -3475,7 +3475,7 @@ req_access_txt = "1"; req_ship_access = 1 }, -/obj/item/ammo_box/c38_box, +/obj/item/storage/box/ammo/c38, /obj/effect/turf_decal/box, /obj/item/ammo_box/c38, /obj/item/ammo_box/c38, diff --git a/_maps/shuttles/inteq/inteq_hound.dmm b/_maps/shuttles/inteq/inteq_hound.dmm index da82ccbf26b7..42c34c5a418e 100644 --- a/_maps/shuttles/inteq/inteq_hound.dmm +++ b/_maps/shuttles/inteq/inteq_hound.dmm @@ -50,10 +50,7 @@ pixel_x = -11; pixel_y = 5 }, -/obj/item/ammo_box/a762_40/inteq{ - pixel_x = 5; - pixel_y = 12 - }, +/obj/item/storage/box/ammo/a762_40/inteq, /obj/item/reagent_containers/food/drinks/bottle/whiskey{ pixel_x = -7; pixel_y = 6 diff --git a/_maps/shuttles/inteq/inteq_valor.dmm b/_maps/shuttles/inteq/inteq_valor.dmm index 3f709a261b15..d35bcb7a808a 100644 --- a/_maps/shuttles/inteq/inteq_valor.dmm +++ b/_maps/shuttles/inteq/inteq_valor.dmm @@ -5074,14 +5074,8 @@ /obj/effect/turf_decal/corner/opaque/yellow, /obj/structure/rack, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/item/ammo_box/c9mm/rubbershot{ - pixel_x = 5; - pixel_y = 10 - }, -/obj/item/ammo_box/c9mm{ - pixel_x = -2; - pixel_y = 2 - }, +/obj/item/storage/box/ammo/c9mm_rubber, +/obj/item/storage/box/ammo/c9mm, /obj/machinery/light/small/directional/north, /obj/structure/sign/poster/official/safety_report{ pixel_x = 32 diff --git a/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm b/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm index 9e5d93f7af77..72bd430d743b 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm @@ -5189,9 +5189,9 @@ /obj/item/reagent_containers/spray/pepper, /obj/item/ammo_box/magazine/co9mm, /obj/item/ammo_box/magazine/co9mm, -/obj/item/ammo_box/c9mm, -/obj/item/ammo_box/c9mm, -/obj/item/ammo_box/c9mm/rubbershot, +/obj/item/storage/box/ammo/c9mm, +/obj/item/storage/box/ammo/c9mm, +/obj/item/storage/box/ammo/c9mm_rubber, /obj/effect/turf_decal/trimline/opaque/vired/line, /obj/item/storage/belt/security, /obj/item/melee/knife/survival, diff --git a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm index a5673c22d7bc..a02ec78fc9e6 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm @@ -13072,22 +13072,10 @@ pixel_x = 5; pixel_y = 4 }, -/obj/item/ammo_box/c9mm{ - pixel_x = 4; - pixel_y = -6 - }, -/obj/item/ammo_box/c9mm{ - pixel_x = 4; - pixel_y = 1 - }, -/obj/item/ammo_box/c9mm{ - pixel_x = 4; - pixel_y = 9 - }, -/obj/item/ammo_box/c9mm/ap{ - pixel_y = 17; - pixel_x = 4 - }, +/obj/item/storage/box/ammo/c9mm, +/obj/item/storage/box/ammo/c9mm, +/obj/item/storage/box/ammo/c9mm, +/obj/item/storage/box/ammo/c9mm/ap, /obj/item/stock_parts/cell/gun{ pixel_x = -3; pixel_y = -5 diff --git a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm index 07b8722e5e7b..d70424c08c84 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm @@ -1750,11 +1750,11 @@ /obj/structure/chair/handrail{ dir = 4 }, -/obj/item/ammo_box/c9mm, -/obj/item/ammo_box/c9mm, -/obj/item/ammo_box/c9mm/rubbershot, -/obj/item/ammo_box/c9mm, -/obj/item/ammo_box/c9mm, +/obj/item/storage/box/ammo/c9mm, +/obj/item/storage/box/ammo/c9mm, +/obj/item/storage/box/ammo/c9mm_rubber, +/obj/item/storage/box/ammo/c9mm, +/obj/item/storage/box/ammo/c9mm, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 10 }, diff --git a/_maps/shuttles/pirate/pirate_tortuga.dmm b/_maps/shuttles/pirate/pirate_tortuga.dmm index fc08d44db510..3e48d25a962c 100644 --- a/_maps/shuttles/pirate/pirate_tortuga.dmm +++ b/_maps/shuttles/pirate/pirate_tortuga.dmm @@ -667,10 +667,7 @@ /area/ship/security/armory) "hU" = ( /obj/structure/rack, -/obj/item/ammo_box/c45{ - pixel_x = -9; - pixel_y = 8 - }, +/obj/item/storage/box/ammo/c45, /obj/item/storage/toolbox/ammo/a762_40{ pixel_x = 5; pixel_y = 6 @@ -3141,7 +3138,7 @@ /obj/item/clothing/shoes/jackboots{ pixel_y = -13 }, -/obj/item/ammo_box/c38_box/surplus, +/obj/item/storage/box/ammo/c38_surplus, /obj/effect/decal/cleanable/dirt, /turf/open/floor/carpet/nanoweave, /area/ship/crew/crewtwo) diff --git a/_maps/shuttles/roumain/srm_elder.dmm b/_maps/shuttles/roumain/srm_elder.dmm index 0e501c62ed57..23c64f4681a6 100644 --- a/_maps/shuttles/roumain/srm_elder.dmm +++ b/_maps/shuttles/roumain/srm_elder.dmm @@ -337,18 +337,12 @@ pixel_y = 14; pixel_x = 5 }, -/obj/item/ammo_box/c38_box{ - pixel_x = -6; - pixel_y = 7 - }, +/obj/item/storage/box/ammo/c38, /obj/item/ammo_box/magazine/illestren_a850r{ pixel_x = 8; pixel_y = 6 }, -/obj/item/ammo_box/c38_box{ - pixel_x = -6; - pixel_y = 1 - }, +/obj/item/storage/box/ammo/c38, /obj/item/ammo_box/magazine/illestren_a850r{ pixel_x = 8 }, @@ -2025,7 +2019,7 @@ pixel_x = -7 }, /obj/item/storage/backpack/satchel/leather, -/obj/item/ammo_box/a44roum, +/obj/item/storage/box/ammo/a44roum, /obj/item/storage/pistolcase/montagne, /obj/item/clothing/accessory/waistcoat/roumain, /turf/open/floor/wood/mahogany, @@ -2698,7 +2692,7 @@ /obj/item/gun/ballistic/revolver/detective, /obj/item/ammo_box/c38, /obj/item/ammo_box/c38, -/obj/item/ammo_box/c38_box, +/obj/item/storage/box/ammo/c38, /obj/item/clothing/head/cowboy/sec/roumain/colligne, /obj/item/clothing/suit/armor/roumain/colligne, /obj/structure/closet/secure_closet/collignes, diff --git a/_maps/shuttles/solgov/solgov_chronicle.dmm b/_maps/shuttles/solgov/solgov_chronicle.dmm index bacabd6cc23c..f08281a47103 100644 --- a/_maps/shuttles/solgov/solgov_chronicle.dmm +++ b/_maps/shuttles/solgov/solgov_chronicle.dmm @@ -273,7 +273,7 @@ /obj/item/spacecash/bundle/loadsamoney, /obj/item/clothing/neck/cloak/solgovcap, /obj/item/storage/pistolcase/modelh, -/obj/item/ammo_box/ferroslugbox, +/obj/item/storage/box/ammo/ferroslug, /turf/open/floor/carpet/royalblue, /area/ship/crew/office) "cg" = ( diff --git a/_maps/shuttles/solgov/solgov_inkwell.dmm b/_maps/shuttles/solgov/solgov_inkwell.dmm index 27427f9bbfa2..1a38d735246b 100644 --- a/_maps/shuttles/solgov/solgov_inkwell.dmm +++ b/_maps/shuttles/solgov/solgov_inkwell.dmm @@ -5934,7 +5934,7 @@ /obj/item/pen/fountain/solgov, /obj/item/clothing/neck/cloak/solgovcap, /obj/item/storage/pistolcase/modelh, -/obj/item/ammo_box/ferroslugbox, +/obj/item/storage/box/ammo/ferroslug, /turf/open/floor/wood/maple, /area/ship/crew/dorm/dormtwo) "LJ" = ( diff --git a/_maps/shuttles/solgov/solgov_paracelsus.dmm b/_maps/shuttles/solgov/solgov_paracelsus.dmm index 9cfda7a14c0d..e062f70d011d 100644 --- a/_maps/shuttles/solgov/solgov_paracelsus.dmm +++ b/_maps/shuttles/solgov/solgov_paracelsus.dmm @@ -3582,7 +3582,7 @@ /obj/item/pen/fountain/solgov, /obj/item/clothing/neck/cloak/solgovcap, /obj/item/storage/pistolcase/modelh, -/obj/item/ammo_box/ferroslugbox, +/obj/item/storage/box/ammo/ferroslug, /turf/open/floor/carpet/royalblue, /area/ship/crew) "IZ" = ( diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm index 66133d79d47a..84ace94a70a2 100644 --- a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm @@ -65,7 +65,7 @@ /obj/item/ammo_box/a357/match, /obj/item/pen/edagger, /obj/item/storage/pistolcase/a357, -/obj/item/ammo_box/a357_box, +/obj/item/storage/box/ammo/a357, /turf/open/floor/carpet/black, /area/ship/bridge) "bJ" = ( @@ -301,8 +301,8 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/airalarm/directional/north, /obj/effect/turf_decal/industrial/outline, -/obj/item/ammo_box/a12g, -/obj/item/ammo_box/c10mm, +/obj/item/storage/box/ammo/a12g_buckshot, +/obj/item/storage/box/ammo/c10mm, /turf/open/floor/mineral/plastitanium, /area/ship/security/armory) "fC" = ( diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm index c466f5351f9c..4b42a90bbb26 100644 --- a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm @@ -5387,7 +5387,7 @@ }, /obj/item/ammo_box/magazine/m10mm_ringneck, /obj/item/ammo_box/magazine/m10mm_ringneck, -/obj/item/ammo_box/c10mm, +/obj/item/storage/box/ammo/c10mm, /obj/item/clothing/gloves/tackler/combat/insulated, /obj/structure/closet/secure_closet/wall/directional/west{ icon_state = "sec_wall"; diff --git a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm index 29f4bc28922b..3a3438c8f2f8 100644 --- a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm +++ b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm @@ -7376,7 +7376,7 @@ }, /obj/item/storage/belt/sabre/solgov, /obj/item/storage/pistolcase/modelh, -/obj/item/ammo_box/ferroslugbox, +/obj/item/storage/box/ammo/ferroslug, /turf/open/floor/mineral/plastitanium, /area/ship/bridge) "Qv" = ( @@ -8879,7 +8879,7 @@ name = "Armory Access"; req_access = list(3,150) }, -/obj/item/ammo_box/c10mm, +/obj/item/storage/box/ammo/c10mm, /turf/open/floor/mineral/plastitanium, /area/ship/security) "YJ" = ( diff --git a/code/__DEFINES/vv.dm b/code/__DEFINES/vv.dm index 602473b6086d..e52d9af56251 100644 --- a/code/__DEFINES/vv.dm +++ b/code/__DEFINES/vv.dm @@ -92,6 +92,7 @@ #define VV_HK_AUTO_RENAME "auto_rename" #define VV_HK_RADIATE "radiate" #define VV_HK_EDIT_FILTERS "edit_filters" +#define VV_HK_SELL "sell_item" #define VV_HK_EDIT_PARTICLES "edit_particles" // /obj diff --git a/code/game/atoms.dm b/code/game/atoms.dm index e7c9c19325a6..84744a9187d6 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -1067,6 +1067,7 @@ VV_DROPDOWN_OPTION(VV_HK_TRIGGER_EXPLOSION, "Explosion") VV_DROPDOWN_OPTION(VV_HK_RADIATE, "Radiate") VV_DROPDOWN_OPTION(VV_HK_EDIT_FILTERS, "Edit Filters") + VV_DROPDOWN_OPTION(VV_HK_SELL, "Export Item") /atom/vv_do_topic(list/href_list) . = ..() @@ -1138,6 +1139,9 @@ var/client/C = usr.client C?.open_filter_editor(src) + if(href_list[VV_HK_SELL] && check_rights(R_ADMIN|R_DEBUG) && check_rights(R_VAREDIT)) + export_item_and_contents(src, allowed_categories = ALL, apply_elastic = FALSE) + /atom/vv_get_header() . = ..() var/refid = REF(src) diff --git a/code/game/mecha/equipment/weapons/mecha_ammo.dm b/code/game/mecha/equipment/weapons/mecha_ammo.dm index 0febe3327cb6..9e5c6732d1cb 100644 --- a/code/game/mecha/equipment/weapons/mecha_ammo.dm +++ b/code/game/mecha/equipment/weapons/mecha_ammo.dm @@ -83,7 +83,7 @@ /obj/item/mecha_ammo/tank_shell name = "anti-armor missile" desc = "A large missle, intended to be loaded into a Type 207." - icon = 'icons/obj/ammo_bullets.dmi' + icon = 'icons/obj/ammunition/ammo_bullets.dmi' icon_state = "srm-8" rounds = 1 throw_range = 0 diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index 7548625b31f6..883265896fe5 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -575,7 +575,7 @@ RLD /obj/item/rcd_ammo name = "compressed matter cartridge" desc = "Highly compressed matter for the RCD." - icon = 'icons/obj/ammo.dmi' + icon = 'icons/obj/ammunition/ammo.dmi' icon_state = "rcd" item_state = "rcdammo" w_class = WEIGHT_CLASS_TINY diff --git a/code/game/objects/items/melee/weaponry.dm b/code/game/objects/items/melee/weaponry.dm index 11c1b118570b..131e5e1aab20 100644 --- a/code/game/objects/items/melee/weaponry.dm +++ b/code/game/objects/items/melee/weaponry.dm @@ -75,7 +75,7 @@ /obj/item/throwing_star/magspear name = "magnetic spear" desc = "A reusable spear that is typically loaded into kinetic spearguns." - icon = 'icons/obj/ammo_bullets.dmi' + icon = 'icons/obj/ammunition/ammo_bullets.dmi' icon_state = "magspear" throwforce = 25 //kills regular carps in one hit force = 10 diff --git a/code/game/objects/items/shrapnel.dm b/code/game/objects/items/shrapnel.dm index 959649c8c59b..249ee7dc41ed 100644 --- a/code/game/objects/items/shrapnel.dm +++ b/code/game/objects/items/shrapnel.dm @@ -20,7 +20,7 @@ /obj/item/shrapnel/bullet // bullets name = "bullet" - icon = 'icons/obj/ammo_bullets.dmi' + icon = 'icons/obj/ammunition/ammo_bullets.dmi' icon_state = "pistol-brass" item_flags = NONE diff --git a/code/game/objects/items/storage/ammo_can.dm b/code/game/objects/items/storage/ammo_can.dm new file mode 100644 index 000000000000..7962621674ad --- /dev/null +++ b/code/game/objects/items/storage/ammo_can.dm @@ -0,0 +1,52 @@ +//No idea why this is a toolbox but I'm not fixing that right now +/obj/item/storage/toolbox/ammo + name = "ammo can" + desc = "A metal container for storing multiple boxes of ammunition or grenades." + icon_state = "ammobox" + item_state = "ammobox" + drop_sound = 'sound/items/handling/ammobox_drop.ogg' + pickup_sound = 'sound/items/handling/ammobox_pickup.ogg' + material_flags = NONE + has_latches = FALSE + +/obj/item/storage/toolbox/ammo/a850r/PopulateContents() + name = "ammo can (8x50mmR)" + icon_state = "ammobox_850" + for(var/i in 1 to 4) + new /obj/item/storage/box/ammo/a8_50r(src) + +/obj/item/storage/toolbox/ammo/a762_40/PopulateContents() + name = "ammo can (7.62x40mm CLIP)" + icon_state = "ammobox_762" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/a762_40(src) + +/obj/item/storage/toolbox/ammo/a308/PopulateContents() + name = "ammo can (.308)" + icon_state = "ammobox_308" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/a308(src) + +/obj/item/storage/toolbox/ammo/c45/PopulateContents() + name = "ammo can (.45)" + icon_state = "ammobox_45" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/c45(src) + +/obj/item/storage/toolbox/ammo/c9mm/PopulateContents() + name = "ammo can (9mm)" + icon_state = "ammobox_9mm" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/c9mm(src) + +/obj/item/storage/toolbox/ammo/c10mm/PopulateContents() + name = "ammo can (10mm)" + icon_state = "ammobox_10mm" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/c10mm(src) + +/obj/item/storage/toolbox/ammo/shotgun/PopulateContents() + name = "ammo can (12ga)" + icon_state = "ammobox_12ga" + for (var/i in 1 to 4) + new /obj/item/storage/box/ammo/a12g_buckshot(src) diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index f624ba35c355..1242d6191061 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -596,7 +596,7 @@ new /obj/item/clothing/shoes/magboots/syndie(src) new /obj/item/storage/firstaid/tactical(src) new /obj/item/gun/ballistic/automatic/toy(src) - new /obj/item/ammo_box/foambox/riot(src) + new /obj/item/storage/box/ammo/foam_darts/riot(src) /obj/item/storage/backpack/duffelbag/syndie/med/bioterrorbundle desc = "A large duffel bag containing deadly chemicals, a handheld chem sprayer, Bioterror foam grenade, a Donksoft assault rifle, box of riot grade darts, a dart pistol, and a box of syringes." @@ -607,7 +607,7 @@ new /obj/item/gun/syringe/syndicate(src) new /obj/item/gun/ballistic/automatic/toy(src) new /obj/item/storage/box/syringes(src) - new /obj/item/ammo_box/foambox/riot(src) + new /obj/item/storage/box/ammo/foam_darts/riot(src) new /obj/item/grenade/chem_grenade/bioterrorfoam(src) if(prob(5)) new /obj/item/reagent_containers/food/snacks/pizza/pineapple(src) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index c6d55e03ef48..3b7de4f3ad1d 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -285,7 +285,6 @@ /obj/item/ammo_box/magazine, /obj/item/ammo_box/c38, //speed loaders don't have a common path like magazines. pain. /obj/item/ammo_box/a357, //some day we should refactor these into an ammo_box/speedloader type - /obj/item/ammo_box/a4570, //but not today /obj/item/ammo_box/a858, //oh boy stripper clips too /obj/item/ammo_box/vickland_a308, /obj/item/ammo_box/a300, @@ -299,7 +298,8 @@ /obj/item/clothing/gloves, /obj/item/restraints/legcuffs/bola, /obj/item/holosign_creator/security, - /obj/item/stock_parts/cell/gun //WS edit Gun cells fit where they should and not where they dont + /obj/item/stock_parts/cell/gun, + /obj/item/ammo_box/magazine/ammo_stack, //handfuls of bullets )) /obj/item/storage/belt/security/full/PopulateContents() diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index 6e35529fd5b6..eb9fd3261487 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -225,58 +225,6 @@ new /obj/item/stack/cable_coil/cyan(src) new /obj/item/stack/cable_coil/white(src) -/obj/item/storage/toolbox/ammo - name = "ammo can" - desc = "A metal container for storing multiple boxes of ammunition or grenades." - icon_state = "ammobox" - item_state = "ammobox" - drop_sound = 'sound/items/handling/ammobox_drop.ogg' - pickup_sound = 'sound/items/handling/ammobox_pickup.ogg' - material_flags = NONE - has_latches = FALSE - -/obj/item/storage/toolbox/ammo/a850r/PopulateContents() - name = "ammo can (8x50mmR)" - icon_state = "ammobox_850" - for(var/i in 1 to 4) - new /obj/item/ammo_box/c8x50mm_box(src) - -/obj/item/storage/toolbox/ammo/a762_40/PopulateContents() - name = "ammo can (7.62x40mm CLIP)" - icon_state = "ammobox_762" - for (var/i in 1 to 4) - new /obj/item/ammo_box/a762_40(src) - -/obj/item/storage/toolbox/ammo/a308/PopulateContents() - name = "ammo can (.308)" - icon_state = "ammobox_308" - for (var/i in 1 to 4) - new /obj/item/ammo_box/a308(src) - -/obj/item/storage/toolbox/ammo/c45/PopulateContents() - name = "ammo can (.45)" - icon_state = "ammobox_45" - for (var/i in 1 to 4) - new /obj/item/ammo_box/c45(src) - -/obj/item/storage/toolbox/ammo/c9mm/PopulateContents() - name = "ammo can (9mm)" - icon_state = "ammobox_9mm" - for (var/i in 1 to 4) - new /obj/item/ammo_box/c9mm(src) - -/obj/item/storage/toolbox/ammo/c10mm/PopulateContents() - name = "ammo can (10mm)" - icon_state = "ammobox_10mm" - for (var/i in 1 to 4) - new /obj/item/ammo_box/c10mm(src) - -/obj/item/storage/toolbox/ammo/shotgun/PopulateContents() - name = "ammo can (12ga)" - icon_state = "ammobox_12ga" - for (var/i in 1 to 4) - new /obj/item/ammo_box/a12g(src) - /obj/item/storage/toolbox/infiltrator name = "insidious case" desc = "Bearing the emblem of the Syndicate, this case contains a full infiltrator stealth suit, and has enough room to fit weaponry if necessary." diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 6d6d258b5b0c..81e6ea9d54ec 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -245,7 +245,7 @@ /obj/item/toy/ammo/gun name = "capgun ammo" desc = "Make sure to recyle the box in an autolathe when it gets empty." - icon = 'icons/obj/ammo.dmi' + icon = 'icons/obj/ammunition/ammo.dmi' icon_state = "357OLD-7" w_class = WEIGHT_CLASS_TINY custom_materials = list(/datum/material/iron=10, /datum/material/glass=10) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 185e673a8b8f..3a3810c856fc 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -343,10 +343,10 @@ ..() for(var/i in 1 to 3) new /obj/item/storage/box/lethalshot(src) - new /obj/item/ammo_box/magazine/co9mm(src) //WS edit - begin - better safe than sorry new /obj/item/ammo_box/magazine/co9mm(src) new /obj/item/ammo_box/magazine/co9mm(src) - new /obj/item/ammo_box/magazine/co9mm(src) //WS edit - end + new /obj/item/ammo_box/magazine/co9mm(src) + new /obj/item/ammo_box/magazine/co9mm(src) /obj/structure/closet/secure_closet/labor_camp_security name = "labor camp security locker" diff --git a/code/modules/antagonists/gang/outfits.dm b/code/modules/antagonists/gang/outfits.dm index 77c091d2126a..f76bf026e12c 100644 --- a/code/modules/antagonists/gang/outfits.dm +++ b/code/modules/antagonists/gang/outfits.dm @@ -30,10 +30,7 @@ backpack_contents = list(/obj/item/storage/box/handcuffs = 1, /obj/item/storage/box/teargas = 1, /obj/item/storage/box/flashbangs = 1, - /obj/item/shield/riot/tele = 1, - /obj/item/ammo_box/magazine/m45 = 3, - /obj/item/ammo_box/c45 = 2) - + /obj/item/shield/riot/tele = 1) /datum/outfit/families_police/beatcop/armored name = "Families: Armored Beat Cop" @@ -53,8 +50,7 @@ backpack_contents = list(/obj/item/storage/box/handcuffs = 1, /obj/item/storage/box/teargas = 1, /obj/item/storage/box/flashbangs = 1, - /obj/item/shield/riot/tele = 1, - /obj/item/storage/box/lethalshot = 2) + /obj/item/shield/riot/tele = 1) /datum/outfit/families_police/beatcop/fbi name = "Families: Space FBI Officer" @@ -65,8 +61,7 @@ /obj/item/storage/box/teargas = 1, /obj/item/storage/box/flashbangs = 1, /obj/item/shield/riot/tele = 1, - /obj/item/ammo_box/magazine/smgm9mm = 3, - /obj/item/ammo_box/c9mm = 2) + /obj/item/ammo_box/magazine/smgm9mm = 3) /datum/outfit/families_police/beatcop/military name = "Families: Space Military" diff --git a/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm b/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm index d5489edeb3e0..434a80c6416d 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm @@ -28,7 +28,7 @@ /datum/blackmarket_item/ammo/himehabu_box name = ".22 LR Ammo Box" desc = "A 75 round ammo box of .22 LR. Trust me, you'll need every shot." - item = /obj/item/ammo_box/c22lr_box + item = /obj/item/storage/box/ammo/c22lr price_min = 100 price_max = 300 @@ -39,7 +39,7 @@ /datum/blackmarket_item/ammo/a357_box name = ".357 Ammo Box" desc = "A 50 round ammo box of .357." - item = /obj/item/ammo_box/a357_box + item = /obj/item/storage/box/ammo/a357 price_min = 150 price_max = 500 @@ -60,7 +60,7 @@ /datum/blackmarket_item/ammo/c299 name = "Eoehoma .299 Caseless Ammo Box" desc = "This ammunition for the E-40 Hybrid Rifle is probably worth more than the people you're shooting it at." - item = /obj/item/ammo_box/c299 + item = /obj/item/storage/box/ammo/c299 price_min = 300 price_max = 700 @@ -253,7 +253,7 @@ /datum/blackmarket_item/ammo/a4570hp name = ".45-70 Hollow Point Ammo Box" desc = "Put the hollow in hollow point by blowing a crater in some random sod with this devastating .45-70 cartridge." - item = /obj/item/ammo_box/a4570/hp + item = /obj/item/storage/box/ammo/a4570_hp price_min = 600 price_max = 1000 diff --git a/code/modules/cargo/exports.dm b/code/modules/cargo/exports.dm index be3ec7a26599..165cfb6c1196 100644 --- a/code/modules/cargo/exports.dm +++ b/code/modules/cargo/exports.dm @@ -59,7 +59,8 @@ then the player gets the profit from selling his own wasted time. if(!dry_run && (sold || delete_unsold)) if(ismob(thing)) thing.investigate_log("deleted through cargo export",INVESTIGATE_CARGO) - qdel(thing) + if(!dry_run) + qdel(AM) return report diff --git a/code/modules/cargo/packs/ammo.dm b/code/modules/cargo/packs/ammo.dm index 79f7d154128f..ca8988aa9570 100644 --- a/code/modules/cargo/packs/ammo.dm +++ b/code/modules/cargo/packs/ammo.dm @@ -1,6 +1,7 @@ /datum/supply_pack/ammo group = "Ammunition" crate_type = /obj/structure/closet/crate/secure/gear + crate_name = "ammo crate" /* Pistol ammo @@ -45,7 +46,7 @@ /datum/supply_pack/ammo/mag_556mm name = "5.56 Pistole C Magazine Crate" desc = "Contains a 5.56mm magazine for the Pistole C, containing twelve rounds." - contains = list(/obj/item/ammo_box/magazine/pistol556mm) + contains = list(/obj/item/storage/box/ammo/c556mm) cost = 750 faction = FACTION_SOLGOV @@ -62,21 +63,21 @@ /datum/supply_pack/ammo/buckshot name = "Buckshot Crate" - desc = "Contains a box of twenty-five buckshot shells for use in lethal persuasion." + desc = "Contains a box of 32 buckshot shells for use in lethal persuasion." cost = 500 - contains = list(/obj/item/ammo_box/a12g) + contains = list(/obj/item/storage/box/ammo/a12g_buckshot) /datum/supply_pack/ammo/slugs name = "Shotgun Slug Crate" - desc = "Contains a box of twenty-five slug shells for use in lethal persuasion." + desc = "Contains a box of 32 slug shells for use in lethal persuasion." cost = 500 - contains = list(/obj/item/ammo_box/a12g/slug) - + contains = list(/obj/item/storage/box/ammo/a12g_slug +) /datum/supply_pack/ammo/blank_shells name = "Blank Shell Crate" desc = "Contains a box of blank shells." cost = 500 - contains = list(/obj/item/ammo_box/a12g/blanks) + contains = list(/obj/item/storage/box/ammo/a12g_blank) /datum/supply_pack/ammo/blank_ammo_disk name = "Blank Ammo Design Disk Crate" @@ -92,9 +93,9 @@ /datum/supply_pack/ammo/rubbershot name = "Rubbershot Crate" - desc = "Contains a box of twenty-five rubbershot shells for use in crowd control or training." + desc = "Contains a box of 32 rubbershot shells for use in crowd control or training." cost = 500 - contains = list(/obj/item/ammo_box/a12g/rubbershot) + contains = list(/obj/item/storage/box/ammo/a12g_rubbershot) /* .38 ammo @@ -104,8 +105,8 @@ name = ".38 Ammo Boxes Crate" desc = "Contains two 50 round ammo boxes for refilling .38 weapons." cost = 250 - contains = list(/obj/item/ammo_box/c38_box, - /obj/item/ammo_box/c38_box) + contains = list(/obj/item/storage/box/ammo/c38, + /obj/item/storage/box/ammo/c38) crate_name = "ammo crate" /datum/supply_pack/ammo/match @@ -195,44 +196,46 @@ /datum/supply_pack/ammo/a762_ammo_box name = "7.62x40mm CLIP Ammo Box Crate" - desc = "Contains a one hundred and twenty-round 7.62x40mm CLIP box for the SKM rifles." - contains = list(/obj/item/ammo_box/a762_40) + desc = "Contains two 60-round 7.62x40mm CLIP boxes for the SKM rifles." + contains = list(/obj/item/storage/box/ammo/a762_40, + /obj/item/storage/box/ammo/a762_40) cost = 500 /datum/supply_pack/ammo/a556_ammo_box name = "5.56x42mm CLIP Ammo Box Crate" - desc = "Contains a one hundred and twenty-round 5.56x42mm CLIP box for most newer rifles." - contains = list(/obj/item/ammo_box/a556_42) + desc = "Contains two 60-round 5.56x42mm CLIP boxes for most newer rifles." + contains = list(/obj/item/storage/box/ammo/a556_42, + /obj/item/storage/box/ammo/a556_42) cost = 450 /datum/supply_pack/ammo/a357_ammo_box name = ".357 Ammo Box Crate" - desc = "Contains a fifty-round .357 box for revolvers such as the Scarborough Revolver and the HP Firebrand." - contains = list(/obj/item/ammo_box/a357_box) + desc = "Contains a 48-round .357 box for revolvers such as the Scarborough Revolver and the HP Firebrand." + contains = list(/obj/item/storage/box/ammo/a357) cost = 250 /datum/supply_pack/ammo/c556mmHITP_ammo_box name = "5.56 Caseless Ammo Box Crate" - desc = "Contains a fifty-round 5.56mm caseless box for SolGov sidearms like the Pistole C." - contains = list(/obj/item/ammo_box/c556mmHITP) + desc = "Contains a 48-round 5.56mm caseless box for SolGov sidearms like the Pistole C." + contains = list(/obj/item/storage/box/ammo/c556mm) cost = 250 /datum/supply_pack/ammo/c45_ammo_box name = ".45 Ammo Box Crate" - desc = "Contains a fifty-round .45 box for pistols and SMGs like the Candor or the C-20r." - contains = list(/obj/item/ammo_box/c45) + desc = "Contains a 48-round .45 box for pistols and SMGs like the Candor or the C-20r." + contains = list(/obj/item/storage/box/ammo/c45) cost = 250 /datum/supply_pack/ammo/c10mm_ammo_box name = "10mm Ammo Box Crate" - desc = "Contains a fifty-round 10mm box for pistols and SMGs like the Ringneck or the SkM-44(k)." - contains = list(/obj/item/ammo_box/c10mm) + desc = "Contains a 48-round 10mm box for pistols and SMGs like the Ringneck or the SkM-44(k)." + contains = list(/obj/item/storage/box/ammo/c10mm) cost = 250 /datum/supply_pack/ammo/c9mm_ammo_box name = "9mm Ammo Box Crate" - desc = "Contains a fifty-round 9mm box for pistols and SMGs such as the Commander or Saber." - contains = list(/obj/item/ammo_box/c9mm) + desc = "Contains a 48-round 9mm box for pistols and SMGs such as the Commander or Saber." + contains = list(/obj/item/storage/box/ammo/c9mm) cost = 200 //[СELADON-REMOVE] - CELADON_WEAPONS - хватит это терпеть! Хрен я эти патроны дам продавать по 500 кредитов - mod_celadon/weapons/code/ammo.dm @@ -240,93 +243,93 @@ /datum/supply_pack/ammo/a308_ammo_box name = "308 Ammo Box Crate" desc = "Contains a thirty-round .308 box for DMRs such as the SsG-04 and CM-GAL-S." - contains = list(/obj/item/ammo_box/a308) + contains = list(/obj/item/storage/box/ammo/a308) cost = 500 */ //[/СELADON-REMOVE] /datum/supply_pack/ammo/c9mmap_ammo_box name = "9mm AP Ammo Box Crate" - desc = "Contains a fifty-round 9mm box loaded with armor piercing ammo." - contains = list(/obj/item/ammo_box/c9mm/ap) + desc = "Contains a 48-round 9mm box loaded with armor piercing ammo." + contains = list(/obj/item/storage/box/ammo/c9mm/ap) cost = 400 /datum/supply_pack/ammo/a357match_ammo_box name = ".357 Match Ammo Box Crate" - desc = "Contains a fifty-round .357 match box for better performance against armor." - contains = list(/obj/item/ammo_box/a357_box/match) + desc = "Contains a 48-round .357 match box for better performance against armor." + contains = list(/obj/item/storage/box/ammo/a357_match) cost = 500 /datum/supply_pack/ammo/c556mmHITPap_ammo_box name = "5.56 caseless AP Ammo Box Crate" - desc = "Contains a fifty-round 5.56mm caseless boxloaded with armor piercing ammo." - contains = list(/obj/item/ammo_box/c556mmHITP/ap) + desc = "Contains a 48-round 5.56mm caseless boxloaded with armor piercing ammo." + contains = list(/obj/item/storage/box/ammo/c556mm_ap) cost = 500 /datum/supply_pack/ammo/c45ap_ammo_box name = ".45 AP Ammo Box Crate" - desc = "Contains a fifty-round .45 box loaded with armor piercing ammo." - contains = list(/obj/item/ammo_box/c45/ap) + desc = "Contains a 48-round .45 box loaded with armor piercing ammo." + contains = list(/obj/item/storage/box/ammo/c45_ap) cost = 500 /datum/supply_pack/ammo/c10mmap_ammo_box name = "10mm AP Ammo Box Crate" - desc = "Contains a fifty-round 10mm box loaded with armor piercing ammo." - contains = list(/obj/item/ammo_box/c10mm/ap) + desc = "Contains a 48-round 10mm box loaded with armor piercing ammo." + contains = list(/obj/item/storage/box/ammo/c10mm_ap) cost = 500 /datum/supply_pack/ammo/c9mmhp_ammo_box name = "9mm HP Ammo Box Crate" - desc = "Contains a fifty-round 9mm box loaded with hollow point ammo, great against unarmored targets." - contains = list(/obj/item/ammo_box/c9mm/hp) + desc = "Contains a 48-round 9mm box loaded with hollow point ammo, great against unarmored targets." + contains = list(/obj/item/storage/box/ammo/c9mm_hp) cost = 400 /datum/supply_pack/ammo/a357hp_ammo_box name = ".357 HP Ammo Box Crate" - desc = "Contains a fifty-round .357 box loaded with hollow point ammo, great against unarmored targets." - contains = list(/obj/item/ammo_box/a357_box/hp) + desc = "Contains a 48-round .357 box loaded with hollow point ammo, great against unarmored targets." + contains = list(/obj/item/storage/box/ammo/a357_hp) cost = 500 /datum/supply_pack/ammo/c10mmhp_ammo_box name = "10mm HP Ammo Box Crate" - desc = "Contains a fifty-round 10mm box loaded with hollow point ammo, great against unarmored targets." - contains = list(/obj/item/ammo_box/c10mm/hp) + desc = "Contains a 48-round 10mm box loaded with hollow point ammo, great against unarmored targets." + contains = list(/obj/item/storage/box/ammo/c10mm_hp) cost = 500 + /datum/supply_pack/ammo/c45hp_ammo_box name = ".45 HP Ammo Box Crate" - desc = "Contains a fifty-round 10mm box loaded with hollow point ammo, great against unarmored targets." - contains = list(/obj/item/ammo_box/c45/hp) + desc = "Contains a 48-round 10mm box loaded with hollow point ammo, great against unarmored targets." + contains = list(/obj/item/storage/box/ammo/c45_hp) cost = 500 /datum/supply_pack/ammo/c556mmhitphp_ammo_box name = "5.56 Caseless HP Ammo Box Crate" - desc = "Contains a fifty-round 5.56mm caseless box loaded with hollow point ammo, great against unarmored targets." - contains = list(/obj/item/ammo_box/c556mmHITP/hp) + desc = "Contains a 48-round 5.56mm caseless box loaded with hollow point ammo, great against unarmored targets." + contains = list(/obj/item/storage/box/ammo/c556mm_hp) cost = 500 /datum/supply_pack/ammo/c9mmrubber_ammo_box name = "9mm Rubber Ammo Box Crate" - desc = "Contains a fifty-round 9mm box loaded with less-than-lethal rubber rounds." - contains = list(/obj/item/ammo_box/c9mm/rubbershot) + desc = "Contains a 48-round 9mm box loaded with less-than-lethal rubber rounds." + contains = list(/obj/item/storage/box/ammo/c9mm_rubber) cost = 200 /datum/supply_pack/ammo/c10mmrubber_ammo_box name = "10mm Rubber Ammo Box Crate" - desc = "Contains a fifty-round 10mm box loaded with less-than-lethal rubber rounds." - contains = list(/obj/item/ammo_box/c10mm/rubbershot) + desc = "Contains a 48-round 10mm box loaded with less-than-lethal rubber rounds." + contains = list(/obj/item/storage/box/ammo/c10mm_rubber) cost = 250 /datum/supply_pack/ammo/c45mmrubber_ammo_box name = ".45 Rubber Ammo Box Crate" - desc = "Contains a fifty-round .45 box loaded with less-than-lethal rubber rounds." - contains = list(/obj/item/ammo_box/c45/rubbershot) + desc = "Contains a 48-round .45 box loaded with less-than-lethal rubber rounds." + contains = list(/obj/item/storage/box/ammo/c45_rubber) cost = 250 - /datum/supply_pack/ammo/c556HITPrubber_ammo_box name = "5.56 Caseless Rubber Ammo Box Crate" - desc = "Contains a fifty-round 5.56 caseless box loaded with less-than-lethal rubber rounds." - contains = list(/obj/item/ammo_box/c556mmHITP/rubbershot) + desc = "Contains a 48-round 5.56 caseless box loaded with less-than-lethal rubber rounds." + contains = list(/obj/item/storage/box/ammo/c556mm_rubber) cost = 250 /datum/supply_pack/ammo/guncell @@ -343,93 +346,90 @@ /datum/supply_pack/ammo/c57x39mm_boxcrate name = "5.7x39mm Ammo Box Crate" - desc = "Contains a fifty-round 5.7x39mm box for PDWs such as the Sidewinder." - contains = list(/obj/item/ammo_box/c57x39mm_box) + desc = "Contains a 48-round 5.7x39mm box for PDWs such as the Sidewinder." + contains = list(/obj/item/storage/box/ammo/c57x39) cost = 250 /datum/supply_pack/ammo/c46x30mm_boxcrate name = "4.6x30mm Ammo Box Crate" - desc = "Contains a fifty-round 4.6x30mm box for PDWs such as the WT-550." - contains = list(/obj/item/ammo_box/c46x30mm_box) + desc = "Contains a 60-round 4.6x30mm box for PDWs such as the WT-550." + contains = list(/obj/item/storage/box/ammo/c46x30mm) cost = 250 /datum/supply_pack/ammo/c8x50mm_boxcrate name = "8x50mm Ammo Box Crate" - desc = "Contains a twenty-round 8x50mm ammo box for rifles such as the Illestren." - contains = list(/obj/item/ammo_box/c8x50mm_box) + desc = "Contains a 30-round 8x50mm ammo box for rifles such as the Illestren." + contains = list(/obj/item/storage/box/ammo/a8_50r) cost = 250 /datum/supply_pack/ammo/c8x50mm_boxhp_boxcrate name = "8x50mm Hollow Point Crate" - desc = "Contains a twenty-round 8x50mm ammo box loaded with hollow point ammo, great against unarmored targets." - contains = list(/obj/item/ammo_box/c8x50mmhp_box) + desc = "Contains a 30y-round 8x50mm ammo box loaded with hollow point ammo, great against unarmored targets." + contains = list(/obj/item/storage/box/ammo/a8_50r_hp) cost = 500 /datum/supply_pack/ammo/a300_box name = ".300 Ammo Box Crate" desc = "Contains a twenty-round .300 Magnum ammo box for sniper rifles such as the HP Scout." - contains = list(/obj/item/ammo_box/a300_box) + contains = list(/obj/item/storage/box/ammo/a300) cost = 400 /datum/supply_pack/ammo/a65clip_box name = "6.5x57mm CLIP Ammo Box Crate" desc = "Contains a twenty-round 6.5x57mm CLIP ammo box for various sniper rifles such as the CM-F90 and the Boomslang series." - contains = list(/obj/item/ammo_box/a65clip_box) + contains = list(/obj/item/storage/box/ammo/a65clip) cost = 400 - /datum/supply_pack/ammo/a4570_box name = ".45-70 Ammo Box Crate" - desc = "Contains a twelve-round box containing devastatingly powerful .45-70 caliber ammunition." - contains = list(/obj/item/ammo_box/a4570) + desc = "Contains a 20-round box containing devastatingly powerful .45-70 caliber ammunition." + contains = list(/obj/item/storage/box/ammo/a4570) cost = 500 /datum/supply_pack/ammo/a4570_box/match name = ".45-70 Match Crate" - desc = "Contains a twelve-round box containing devastatingly powerful .45-70 caliber ammunition, that travels faster, pierces armour better, and ricochets off targets." - contains = list(/obj/item/ammo_box/a4570/match) + desc = "Contains a 20-round box containing devastatingly powerful .45-70 caliber ammunition, that travels faster, pierces armour better, and ricochets off targets." + contains = list(/obj/item/storage/box/ammo/a4570_match) cost = 750 /datum/supply_pack/ammo/ferropelletboxcrate name = "Ferromagnetic Pellet Box Crate" - desc = "Contains a fifty-round ferromagnetic pellet ammo box for gauss guns such as the Claris." - contains = list(/obj/item/ammo_box/ferropelletbox) + desc = "Contains a 48-round ferromagnetic pellet ammo box for gauss guns such as the Claris." + contains = list(/obj/item/storage/box/ammo/ferropellet) cost = 250 /datum/supply_pack/ammo/ferroslugboxcrate name = "Ferromagnetic Slug Box Crate" desc = "Contains a twenty-round ferromagnetic slug for gauss guns such as the Model-H." - contains = list(/obj/item/ammo_box/ferroslugbox) + contains = list(/obj/item/storage/box/ammo/ferroslug) cost = 250 /datum/supply_pack/ammo/ferrolanceboxcrate name = "Ferromagnetic Lance Box Crate" - desc = "Contains a fifty-round box for high-powered gauss guns such as the GAR assault rifle." - contains = list(/obj/item/ammo_box/ferrolancebox) + desc = "Contains a 48-round box for high-powered gauss guns such as the GAR assault rifle." + contains = list(/obj/item/storage/box/ammo/ferrolance) cost = 250 /datum/supply_pack/ammo/a44roum name = ".44 Roumain Ammo Box Crate" - desc = "Contains a fifty-round box of .44 roumain ammo for revolvers such as the Shadow and Montagne." - contains = list(/obj/item/ammo_box/a44roum) + desc = "Contains a 48-round box of .44 roumain ammo for revolvers such as the Shadow and Montagne." + contains = list(/obj/item/storage/box/ammo/a44roum) cost = 250 /datum/supply_pack/ammo/a44roum_rubber name = ".44 Roumain Rubber Ammo Box Crate" - desc = "Contains a fifty-round box of .44 roumain ammo loaded with less-than-lethal rubber rounds." - contains = list(/obj/item/ammo_box/a44roum/rubber) + desc = "Contains a 48-round box of .44 roumain ammo loaded with less-than-lethal rubber rounds." + contains = list(/obj/item/storage/box/ammo/a44roum_rubber) cost = 250 /datum/supply_pack/ammo/a44roum_hp name = ".44 Roumain Hollow Point Ammo Box Crate" - desc = "Contains a fifty-round box of .44 roumain hollow point ammo, great against unarmored targets." - contains = list(/obj/item/ammo_box/a44roum/hp) + desc = "Contains a 48-round box of .44 roumain hollow point ammo, great against unarmored targets." + contains = list(/obj/item/storage/box/ammo/a44roum_hp) cost = 500 /datum/supply_pack/ammo/c22lr name = ".22 LR Ammo Box Crate" - desc = "Contains two 75 round ammo boxes for refilling .22 LR weapons." - contains = list(/obj/item/ammo_box/c22lr_box, - /obj/item/ammo_box/c22lr_box) - crate_name = "ammo crate" + desc = "Contains a 60-round ammo box for refilling .22 LR weapons." + contains = list(/obj/item/storage/box/ammo/c22lr) cost = 250 diff --git a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm index 8401455bf7d8..b685e0e4b8bb 100644 --- a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm +++ b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm @@ -89,11 +89,11 @@ var/loops = rand(1,3) for(var/i in 1 to loops) var/ammotype = pick(list( - /obj/item/ammo_box/c8x50mm_box, - /obj/item/ammo_box/c45, - /obj/item/ammo_box/a357_box, - /obj/item/ammo_box/c45, - /obj/item/ammo_box/a4570, + /obj/item/storage/box/ammo/a8_50r, + /obj/item/storage/box/ammo/c45, + /obj/item/storage/box/ammo/a357, + /obj/item/storage/box/ammo/c45, + /obj/item/storage/box/ammo/a4570, /obj/item/stock_parts/cell/gun/mini)) backpack_contents += ammotype @@ -220,7 +220,11 @@ l_hand = /obj/item/flamethrower/full/tank - backpack_contents = list(/obj/item/gun/ballistic/shotgun/doublebarrel/presawn=1,/obj/item/ammo_box/a12g=1,/obj/item/extinguisher=2,/obj/item/radio=1) + backpack_contents = list( + /obj/item/gun/ballistic/shotgun/doublebarrel/presawn=1, \ + /obj/item/storage/box/ammo/a12g_slug = 1, \ + /obj/item/extinguisher = 2, \ + /obj/item/radio=1) /datum/outfit/job/frontiersmen/ert/sentry_lmg diff --git a/code/modules/mining/abandoned_crates.dm b/code/modules/mining/abandoned_crates.dm index 8f5c6bce408b..7acaaf577e18 100644 --- a/code/modules/mining/abandoned_crates.dm +++ b/code/modules/mining/abandoned_crates.dm @@ -235,7 +235,7 @@ new /obj/item/gun/ballistic/automatic/toy/pistol(src) new /obj/item/gun/ballistic/automatic/toy(src) new /obj/item/gun/ballistic/automatic/toy(src) - new /obj/item/ammo_box/foambox(src) + new /obj/item/storage/box/ammo/foam_darts(src) if(98) for(var/i in 1 to 3) new /mob/living/simple_animal/hostile/poison/bees/toxin(src) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm index d78c356680e4..52d84b923d70 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm @@ -467,8 +467,8 @@ /obj/item/assembly/flash/handheld = 5, /obj/item/storage/box/evidence = 6, /obj/item/flashlight/seclite = 4, - /obj/item/ammo_box/c9mm/rubbershot = 3, - /obj/item/ammo_box/c9mm = 1, + /obj/item/storage/box/ammo/c9mm_rubber = 3, + /obj/item/storage/box/ammo/c9mm = 1, /obj/item/stock_parts/cell/gun = 3, /obj/item/coin/antagtoken = 1, /obj/item/grenade/stingbang = 1 diff --git a/code/modules/projectiles/ammunition/_ammunition.dm b/code/modules/projectiles/ammunition/_ammo_casing.dm similarity index 55% rename from code/modules/projectiles/ammunition/_ammunition.dm rename to code/modules/projectiles/ammunition/_ammo_casing.dm index 51b9b2fb5715..d48e479ed075 100644 --- a/code/modules/projectiles/ammunition/_ammunition.dm +++ b/code/modules/projectiles/ammunition/_ammo_casing.dm @@ -1,7 +1,7 @@ /obj/item/ammo_casing name = "bullet casing" desc = "A bullet casing." - icon = 'icons/obj/ammo_bullets.dmi' + icon = 'icons/obj/ammunition/ammo_bullets.dmi' icon_state = "pistol-brass" flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT @@ -30,16 +30,109 @@ /// Disable for things like rockets or other heavy ammunition that should only appear right-side up. var/auto_rotate = TRUE - var/pellets = 1 //Pellets for spreadshot - var/variance = 0 //Variance for inaccuracy fundamental to the casing - var/randomspread = FALSE //Randomspread for automatics - var/delay = 0 //Delay for energy weapons - var/click_cooldown_override = 0 //Override this to make your gun have a faster fire rate, in tenths of a second. 4 is the default gun cooldown. + ///Pellets for spreadshot + var/pellets = 1 + ///Variance for inaccuracy fundamental to the casing + var/variance = 0 + ///Randomspread for automatics + var/randomspread = FALSE + ///Delay for energy weapons + var/delay = 0 + ///Override this to make your gun have a faster fire rate, in tenths of a second. 4 is the default gun cooldown. + var/click_cooldown_override = 0 + ///If true, overrides the bouncing sfx from the turf to this one + var/list/bounce_sfx_override + + ///What this casing can be stacked into. + var/obj/item/ammo_box/magazine/stack_type = /obj/item/ammo_box/magazine/ammo_stack + ///Maximum stack size of ammunition + var/stack_size = 12 + +/obj/item/ammo_casing/attackby(obj/item/attacking_item, mob/user, params) + if(istype(attacking_item, /obj/item/ammo_box) && user.is_holding(src)) + add_fingerprint(user) + var/obj/item/ammo_box/ammo_box = attacking_item + var/obj/item/ammo_casing/other_casing = ammo_box.get_round(TRUE) + + if(try_stacking(other_casing, user)) + ammo_box.stored_ammo -= other_casing + ammo_box.update_ammo_count() + return + + else if(istype(attacking_item, /obj/item/ammo_box/magazine/ammo_stack)) + add_fingerprint(user) + var/obj/item/ammo_box/magazine/ammo_stack = attacking_item + if(isturf(loc)) + var/boolets = 0 + for(var/obj/item/ammo_casing/bullet in loc) + if(bullet == src) + continue + if(!bullet.BB) + continue + if(length(ammo_stack.stored_ammo) >= ammo_stack.max_ammo) + break + if(ammo_stack.give_round(bullet, FALSE)) + boolets++ + break + if((boolets <= 0) && BB && !(length(ammo_stack.stored_ammo) >= ammo_stack.max_ammo)) + if(ammo_stack.give_round(src, FALSE)) + boolets++ + if(boolets > 0) + ammo_stack.update_ammo_count() + to_chat(user, span_notice("You collect [boolets] round\s. [ammo_stack] now contains [length(ammo_stack.stored_ammo)] round\s.")) + else + to_chat(user, span_warning("You can't stack any more!")) + return - var/list/bounce_sfx_override // if true, overrides the bouncing sfx from the turf to this one + else if(istype(attacking_item, /obj/item/ammo_casing)) + try_stacking(attacking_item, user) + return - var/bullet_per_box + return ..() +/obj/item/ammo_casing/proc/try_stacking(obj/item/ammo_casing/other_casing, mob/living/user) + if(user) + add_fingerprint(user) + if(!other_casing.stack_type) + if(user) + to_chat(user, span_warning("[other_casing] can't be stacked.")) + return + if(!stack_type) + if(user) + to_chat(user, span_warning("[src] can't be stacked.")) + return + if(name != other_casing.name) //Has to match exactly + if(user) + to_chat(user, span_warning("You can't stack different types of ammunition.")) + return + if(stack_type != other_casing.stack_type) + if(user) + to_chat(user, span_warning("You can't stack [other_casing] with [src].")) + return + if(!BB || !other_casing.BB) //maybe allow empty casing stacking at a later date, when there's a feature to recycle casings + if(user) + to_chat(user, span_warning("You can't stack empty casings.")) + return + if((item_flags & IN_STORAGE) || (other_casing.item_flags & IN_STORAGE)) + if(user) + to_chat(user, span_warning("You can't stack casings while they are inside storage.")) + return + var/obj/item/ammo_box/magazine/ammo_stack/ammo_stack = other_casing.stack_with(src) + if(user) + user.put_in_hands(ammo_stack) + to_chat(user, span_notice("[src] has been stacked with [other_casing].")) + return ammo_stack + +/obj/item/ammo_casing/proc/stack_with(obj/item/ammo_casing/other_casing) + var/obj/item/ammo_box/magazine/ammo_stack/ammo_stack = new stack_type(drop_location()) + ammo_stack.name = "handful of [name]s" //"handful of .9mm bullet casings" + ammo_stack.base_icon_state = other_casing.icon_state + ammo_stack.caliber = caliber + ammo_stack.max_ammo = stack_size + ammo_stack.give_round(src) + ammo_stack.give_round(other_casing) + ammo_stack.update_ammo_count() + return ammo_stack /obj/item/ammo_casing/spent name = "spent bullet casing" @@ -53,7 +146,7 @@ pixel_y = base_pixel_y + rand(-10, 10) item_flags |= NO_PIXEL_RANDOM_DROP if(auto_rotate) - transform = transform.Turn(pick(0, 90, 180, 270)) + transform = transform.Turn(round(45 * rand(0, 32) / 2)) update_appearance() /obj/item/ammo_casing/Destroy() @@ -76,7 +169,7 @@ desc = "[initial(desc)][BB ? null : " This one is spent."]" return ..() -//proc to magically refill a casing with a new projectile +///Proc to magically refill a casing with a new projectile /obj/item/ammo_casing/proc/newshot() //For energy weapons, syringe gun, shotgun shells and wands (!). if(!BB) BB = new projectile_type(src, src) @@ -119,7 +212,6 @@ var/angle_of_movement = !isnull(shooter) ? (rand(-3000, 3000) / 100) + dir2angle(turn(shooter.dir, 180)) : rand(-3000, 3000) / 100 AddComponent(/datum/component/movable_physics, _horizontal_velocity = rand(400, 450) / 100, _vertical_velocity = rand(400, 450) / 100, _horizontal_friction = rand(20, 24) / 100, _z_gravity = PHYSICS_GRAV_STANDARD, _z_floor = 0, _angle_of_movement = angle_of_movement, _bounce_sound = bounce_sfx_override) - /obj/item/ammo_casing/proc/bounce_away(still_warm = FALSE, bounce_delay = 3) if(!heavy_metal) return diff --git a/code/modules/projectiles/ammunition/ballistic/lmg.dm b/code/modules/projectiles/ammunition/ballistic/lmg.dm index d46001951ba4..90030e7b0944 100644 --- a/code/modules/projectiles/ammunition/ballistic/lmg.dm +++ b/code/modules/projectiles/ammunition/ballistic/lmg.dm @@ -6,7 +6,6 @@ icon_state = "rifle-steel" caliber = "7.12x82mm" projectile_type = /obj/projectile/bullet/mm712x82 - bullet_per_box = 100 /obj/item/ammo_casing/mm712x82/ap name = "7.12x82mm armor-piercing bullet casing" diff --git a/code/modules/projectiles/ammunition/ballistic/pistol.dm b/code/modules/projectiles/ammunition/ballistic/pistol.dm index e8cb64a673d2..9e1f880ffe1b 100644 --- a/code/modules/projectiles/ammunition/ballistic/pistol.dm +++ b/code/modules/projectiles/ammunition/ballistic/pistol.dm @@ -6,7 +6,6 @@ icon_state = "pistol-steel" caliber = "10mm" projectile_type = /obj/projectile/bullet/c10mm - bullet_per_box = 50 /obj/item/ammo_casing/c10mm/surplus name = "10mm surplus bullet casing" @@ -46,7 +45,7 @@ icon_state = "pistol-brass" caliber = "9mm" projectile_type = /obj/projectile/bullet/c9mm - bullet_per_box = 50 + stack_size = 15 /obj/item/ammo_casing/c9mm/surplus name = "9mm surplus bullet casing" @@ -58,7 +57,7 @@ name = "9mm armor-piercing bullet casing" desc = "A 9mm armor-piercing bullet casing." bullet_skin = "ap" - projectile_type =/obj/projectile/bullet/c9mm/ap + projectile_type = /obj/projectile/bullet/c9mm/ap /obj/item/ammo_casing/c9mm/hp name = "9mm hollow point bullet casing" @@ -86,7 +85,7 @@ icon_state = "pistol-steel" caliber = ".45" projectile_type = /obj/projectile/bullet/c45 - bullet_per_box = 50 + stack_size = 12 /obj/item/ammo_casing/c45/surplus name = ".45 surplus bullet casing" @@ -125,18 +124,17 @@ desc = "A .50 AE bullet casing." caliber = ".50 AE" projectile_type = /obj/projectile/bullet/a50AE - bullet_per_box = 20 /obj/item/ammo_casing/a50AE/hp name = ".50 AE hollow point bullet casing" desc = "A .50 AE hollow point bullet casing." projectile_type = /obj/projectile/bullet/a50AE/hp -// .22 LR (Himehabu) +// .22 LR (Himehabu, Pounder) + /obj/item/ammo_casing/c22lr name = ".22 LR bullet casing" desc = "A .22 LR bullet casing." projectile_type = /obj/projectile/bullet/c22lr caliber = "22lr" - bullet_per_box = 75 - + stack_size = 15 diff --git a/code/modules/projectiles/ammunition/ballistic/revolver.dm b/code/modules/projectiles/ammunition/ballistic/revolver.dm index 8705a932b392..5b6e8b2e0961 100644 --- a/code/modules/projectiles/ammunition/ballistic/revolver.dm +++ b/code/modules/projectiles/ammunition/ballistic/revolver.dm @@ -6,7 +6,6 @@ caliber = ".357" icon_state = "magnum-brass" projectile_type = /obj/projectile/bullet/a357 - bullet_per_box = 50 /obj/item/ammo_casing/a357/match name = ".357 match bullet casing" @@ -29,7 +28,7 @@ caliber = ".45-70" icon_state = "magnum-brass" projectile_type = /obj/projectile/bullet/a4570 - bullet_per_box = 12 + stack_size = 5 /obj/item/ammo_casing/a4570/match name = ".45-70 match bullet casing" @@ -55,14 +54,12 @@ desc = "A .38 Special bullet casing." caliber = ".38" projectile_type = /obj/projectile/bullet/c38 - bullet_per_box = 50 /obj/item/ammo_casing/c38/surplus name = ".38 surplus bullet casing" desc = "A .38 surplus bullet casing." projectile_type = /obj/projectile/bullet/c38/surplus - /obj/item/ammo_casing/c38/trac name = ".38 TRAC bullet casing" desc = "A .38 \"TRAC\" bullet casing." diff --git a/code/modules/projectiles/ammunition/ballistic/rifle.dm b/code/modules/projectiles/ammunition/ballistic/rifle.dm index b9753df2f210..3a44855e815a 100644 --- a/code/modules/projectiles/ammunition/ballistic/rifle.dm +++ b/code/modules/projectiles/ammunition/ballistic/rifle.dm @@ -6,7 +6,7 @@ icon_state = "rifle-brass" caliber = "8x50mmR" projectile_type = /obj/projectile/bullet/a8_50r - bullet_per_box = 20 + stack_size = 10 /obj/item/ammo_casing/a8_50rhp name = "8x50mmR hollow point bullet casing" @@ -14,7 +14,7 @@ icon_state = "rifle-brass-hollow" caliber = "8x50mmR" projectile_type = /obj/projectile/bullet/a8_50rhp - + stack_size = 10 // 8x58mm Caseless (SSG-669C) @@ -24,7 +24,7 @@ icon_state = "caseless" caliber = "a858" projectile_type = /obj/projectile/bullet/a858 - bullet_per_box = 20 + stack_size = 10 // .300 Magnum (Smile Rifle) @@ -34,7 +34,7 @@ icon_state = "rifle-steel" caliber = "a300" projectile_type = /obj/projectile/bullet/a300 - bullet_per_box = 20 + stack_size = 15 // 5.56x42mm CLIP (CM82, Hydra variants) @@ -44,7 +44,7 @@ icon_state = "rifle-brass" caliber = "5.56x42mm" projectile_type = /obj/projectile/bullet/a556_42 - bullet_per_box = 80 + stack_size = 5 // 5.45x39mm (SKM-24v) @@ -55,7 +55,7 @@ caliber = "5.45x39mm" randomspread = TRUE projectile_type = /obj/projectile/bullet/a545_39 - bullet_per_box = 80 + stack_size = 15 /obj/item/ammo_casing/a545_39/recycled name = "recycled 5.45x39mm bullet casing" @@ -63,6 +63,7 @@ bullet_skin = "surplus" caliber = "5.45x39mm" projectile_type = /obj/projectile/bullet/a545_39 + stack_size = 15 // 7.62x40mm CLIP (SKM Rifles) @@ -72,7 +73,7 @@ icon_state = "rifle-brass" caliber = "7.62x40mm" projectile_type = /obj/projectile/bullet/a762_40 - bullet_per_box = 80 + stack_size = 15 //.308 (M514 EBR & CM-GAL-S) @@ -84,7 +85,7 @@ icon_state = "rifle-brass" caliber = ".308" projectile_type = /obj/projectile/bullet/a308 - bullet_per_box = 20 + bullet_per_box = 10 */ //[/СELADON-REMOVE] @@ -94,7 +95,7 @@ icon_state = "caseless" caliber = ".299 caseless" projectile_type = /obj/projectile/bullet/c299 - bullet_per_box = 100 + stack_size = 5 /obj/item/ammo_casing/a65clip name = "6.5x57mm CLIP bullet casing" @@ -102,3 +103,4 @@ icon_state = "big-brass" caliber = "6.5CLIP" projectile_type = /obj/projectile/bullet/a65clip + stack_size = 5 diff --git a/code/modules/projectiles/ammunition/ballistic/shotgun.dm b/code/modules/projectiles/ammunition/ballistic/shotgun.dm index e9ef54ac86c4..7d16611b3217 100644 --- a/code/modules/projectiles/ammunition/ballistic/shotgun.dm +++ b/code/modules/projectiles/ammunition/ballistic/shotgun.dm @@ -3,12 +3,11 @@ /obj/item/ammo_casing/shotgun name = "shotgun slug" desc = "A 12-gauge lead slug." - icon = 'icons/obj/ammo_shotshells.dmi' icon_state = "slug" caliber = "12ga" custom_materials = list(/datum/material/iron=4000) projectile_type = /obj/projectile/bullet/slug - bullet_per_box = 25 + stack_size = 8 //Make sure this matches max_ammo variable on prefilled stacks (magazine/ammo_stack/prefilled) bounce_sfx_override = 'sound/weapons/gun/general/bulletcasing_shotgun_bounce.ogg' @@ -30,6 +29,7 @@ name = "beanbag slug" desc = "A weak beanbag slug for riot control." icon_state = "beanbag" + caliber = "12ga beanbag" custom_materials = list(/datum/material/iron=250) projectile_type = /obj/projectile/bullet/slug/beanbag @@ -37,6 +37,7 @@ name = "rubber shot" desc = "A shotgun casing filled with densely-packed rubber balls, used to incapacitate crowds from a distance." icon_state = "rubber" + caliber = "12ga rubber" projectile_type = /obj/projectile/bullet/pellet/rubbershot pellets = 8 variance = 25 @@ -46,6 +47,7 @@ name = "incendiary slug" desc = "An incendiary-coated shotgun slug." icon_state = "incendiary" + caliber = "12ga incendiary" projectile_type = /obj/projectile/bullet/incendiary/shotgun /obj/item/ammo_casing/shotgun/blank @@ -59,6 +61,7 @@ name = "improvised shell" desc = "An extremely weak shotgun shell with multiple small pellets made out of metal shards." icon_state = "improvised" + caliber = "improvised 12ga" projectile_type = /obj/projectile/bullet/pellet/improvised custom_materials = list(/datum/material/iron=250) pellets = 10 diff --git a/code/modules/projectiles/ammunition/ballistic/smg.dm b/code/modules/projectiles/ammunition/ballistic/smg.dm index 39086b8cc66f..5e0602da6db2 100644 --- a/code/modules/projectiles/ammunition/ballistic/smg.dm +++ b/code/modules/projectiles/ammunition/ballistic/smg.dm @@ -6,7 +6,6 @@ icon_state = "rifle-steel" caliber = "5.7x39mm" projectile_type = /obj/projectile/bullet/c57x39mm - bullet_per_box = 50 // 4.6x30mm (WT-550 Automatic Rifle & SKM-24v) @@ -16,7 +15,7 @@ icon_state = "rifle-brass" caliber = "4.6x30mm" projectile_type = /obj/projectile/bullet/c46x30mm - bullet_per_box = 50 + stack_size = 15 /obj/item/ammo_casing/c46x30mm/ap name = "4.6x30mm armor-piercing bullet casing" @@ -29,7 +28,6 @@ desc = "A 4.6x30mm incendiary bullet casing." bullet_skin = "incen" projectile_type = /obj/projectile/bullet/incendiary/c46x30mm - bullet_per_box = 50 // 4.73x33mm caseless (Solar) @@ -39,7 +37,6 @@ icon_state = "caseless" caliber = "4.73x33mm caseless" projectile_type = /obj/projectile/bullet/c47x33mm - bullet_per_box = 50 // 5.56mm HITP caseless (Pistole C) diff --git a/code/modules/projectiles/ammunition/ballistic/sniper.dm b/code/modules/projectiles/ammunition/ballistic/sniper.dm index e4b668c2228f..af7369204e6d 100644 --- a/code/modules/projectiles/ammunition/ballistic/sniper.dm +++ b/code/modules/projectiles/ammunition/ballistic/sniper.dm @@ -6,7 +6,6 @@ icon_state = "big-steel" caliber = ".50 BMG" projectile_type = /obj/projectile/bullet/p50 - bullet_per_box = 20 /obj/item/ammo_casing/p50/soporific name = ".50 BMG soporific bullet casing" diff --git a/code/modules/projectiles/ammunition/caseless/foam.dm b/code/modules/projectiles/ammunition/caseless/foam.dm index 0051680fd1e8..3c71d31eb5ed 100644 --- a/code/modules/projectiles/ammunition/caseless/foam.dm +++ b/code/modules/projectiles/ammunition/caseless/foam.dm @@ -9,7 +9,6 @@ custom_materials = list(/datum/material/iron = 11.25) harmful = FALSE var/modified = FALSE - bullet_per_box = 40 /obj/item/ammo_casing/caseless/foam_dart/update_icon_state() . = ..() diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index a7944630f7e9..a862be0c1a4d 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -4,7 +4,7 @@ /obj/item/ammo_box name = "ammo box (null_reference_exception)" desc = "A box of ammo." - icon = 'icons/obj/ammo.dmi' + icon = 'icons/obj/ammunition/ammo.dmi' flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BELT item_state = "syringe_kit" @@ -26,7 +26,7 @@ ///String, used for checking if ammo of different types but still fits can fit inside it; generally used for magazines var/caliber ///Allows multiple bullets to be loaded in from one click of another box/magazine - var/multiload = TRUE + var/multiload = FALSE ///Whether or not an ammo box skips the do_after process (e.g. speedloaders) var/instant_load = FALSE ///Whether the magazine should start with nothing in it @@ -40,22 +40,42 @@ . = ..() if(!base_icon_state) base_icon_state = icon_state - if (!bullet_cost) + + if(!bullet_cost) for (var/material in custom_materials) var/material_amount = custom_materials[material] LAZYSET(base_cost, material, (material_amount * 0.10)) material_amount *= 0.90 // 10% for the container material_amount /= max_ammo - LAZYSET(bullet_cost, material, material_amount) + LAZYSET(bullet_cost, material, material_amount). + if(!start_empty) - for(var/i = 1, i <= max_ammo, i++) - stored_ammo += new ammo_type(src) - update_ammo_count() + top_off(starting = TRUE) + + update_appearance() + +/* + * top_off is used to refill the magazine to max, in case you want to increase the size of a magazine with VV then refill it at once + * Arguments: + * load_type - if you want to specify a specific ammo casing type to load, enter the path here, otherwise it'll use the basic [/obj/item/ammo_box/var/ammo_type]. Must be a compatible round + * starting - Relevant for revolver cylinders, if FALSE then we mind the nulls that represent the empty cylinders (since those nulls don't exist yet if we haven't initialized when this is TRUE) + */ +/obj/item/ammo_box/proc/top_off(load_type, starting=FALSE) + if(!load_type) //this check comes first so not defining an argument means we just go with default ammo + load_type = ammo_type + + var/obj/item/ammo_casing/round_check = load_type + if(!starting && (caliber && initial(round_check.caliber) != caliber) || (!caliber && load_type != ammo_type)) + stack_trace("Tried loading unsupported ammocasing type [load_type] into ammo box [type].") + return + + for(var/i = max(1, stored_ammo.len), i <= max_ammo, i++) + stored_ammo += new round_check(src) ///gets a round from the magazine, if keep is TRUE the round will stay in the gun /obj/item/ammo_box/proc/get_round(keep = FALSE) - if (!stored_ammo.len) + if(!stored_ammo.len) return null else var/b = stored_ammo[stored_ammo.len] @@ -70,7 +90,7 @@ if(!R || (caliber && R.caliber != caliber) || (!caliber && R.type != ammo_type)) return FALSE - if (stored_ammo.len < max_ammo) + if(stored_ammo.len < max_ammo) stored_ammo += R R.forceMove(src) return TRUE @@ -93,14 +113,16 @@ /obj/item/ammo_box/attackby(obj/item/attacking_obj, mob/user, params, silent = FALSE, replace_spent = FALSE) var/num_loaded = 0 + if(!can_load(user)) return - if(istype(attacking_obj, /obj/item/ammo_box)) + + if(istype(attacking_obj, /obj/item/ammo_box/magazine/ammo_stack)) var/obj/item/ammo_box/attacking_box = attacking_obj for(var/obj/item/ammo_casing/casing_to_insert in attacking_box.stored_ammo) // [CELADON-EDIT] - CELADON_QOL - // if(!((instant_load && attacking_box.instant_load) || (stored_ammo.len >= max_ammo) || do_after(user, 1 SECONDS, attacking_box))) // CELADON-EDIT - ORIGINAL - if(!((instant_load && attacking_box.instant_load) || (stored_ammo.len >= max_ammo) || do_after(user, 0.6 SECONDS, attacking_box))) + // if(!((instant_load && attacking_box.instant_load) || (stored_ammo.len >= max_ammo) || do_after(user, 1 SECONDS, attacking_box, timed_action_flags = IGNORE_USER_LOC_CHANGE))) // CELADON-EDIT - ORIGINAL + if(!((instant_load && attacking_box.instant_load) || (stored_ammo.len >= max_ammo) || do_after(user, 0.6 SECONDS, attacking_box, timed_action_flags = IGNORE_USER_LOC_CHANGE))) // [/CELADON-EDIT] break var/did_load = give_round(casing_to_insert, replace_spent) @@ -117,15 +139,14 @@ var/obj/item/ammo_casing/casing_to_insert = attacking_obj if(give_round(casing_to_insert, replace_spent)) user.transferItemToLoc(casing_to_insert, src, TRUE) - if(!silent) - playsound(casing_to_insert, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) num_loaded++ + casing_to_insert.update_appearance() update_ammo_count() - if(num_loaded) if(!silent) - to_chat(user, "You load [num_loaded] cartridge\s into \the [src]!") + to_chat(user, span_notice("You load [num_loaded] cartridge\s into \the [src]!")) + playsound(src, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) return num_loaded /obj/item/ammo_box/afterattack(atom/target, mob/user, proximity_flag, click_parameters) @@ -148,6 +169,7 @@ if(num_loaded) to_chat(user, "You load [num_loaded] cartridge\s into \the [to_load]!") return + /obj/item/ammo_box/attack_self(mob/user) var/obj/item/ammo_casing/A = get_round() if(!A) @@ -158,7 +180,7 @@ if(!(user.is_holding(src) || H.l_store == src || H.r_store == src) || !user.put_in_hands(A)) //incase they're using TK A.bounce_away(FALSE, NONE) playsound(src, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) - to_chat(user, "You remove a round from [src]!") + to_chat(user, span_notice("You remove a round from [src]!")) update_ammo_count() /// Updates the materials and appearance of this ammo box @@ -221,6 +243,7 @@ var/list/L = stored_ammo.Copy() if(drop_list) stored_ammo.Cut() + update_ammo_count() return L ///drops the entire contents of the magazine on the floor @@ -229,6 +252,7 @@ for(var/obj/item/ammo in stored_ammo) ammo.forceMove(turf_mag) stored_ammo -= ammo + update_ammo_count() /obj/item/ammo_box/magazine/handle_atom_del(atom/A) stored_ammo -= A diff --git a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm deleted file mode 100644 index 853fcceca1c6..000000000000 --- a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm +++ /dev/null @@ -1,573 +0,0 @@ -// .357 Speed Loaders (Syndicate Revolver) - -/obj/item/ammo_box/a357 - name = "speed loader (.357)" - desc = "A 6-round speed loader for quickly reloading .357 revolvers. These rounds do good damage with average performance against armor." - icon_state = "speedloader_357-6" - base_icon_state = "speedloader_357" - ammo_type = /obj/item/ammo_casing/a357 - caliber = ".357" - max_ammo = 6 - multiple_sprites = AMMO_BOX_PER_BULLET - item_flags = NO_MAT_REDEMPTION - w_class = WEIGHT_CLASS_TINY - instant_load = TRUE - -/obj/item/ammo_box/a357/empty - start_empty = TRUE - -/obj/item/ammo_box/a357/match - name = "speed loader (.357 match)" - desc = "A 6-round speed loader for quickly reloading .357 revolvers. These match rounds travel faster, perform better against armor, and can ricochet off targets." - ammo_type = /obj/item/ammo_casing/a357/match - -/obj/item/ammo_box/a357/hp - name = "speed loader (.357 hollow point)" - desc = "A 6-round speed loader for quickly reloading .357 revolvers. These hollow point rounds do incredible damage against soft targets, but are nearly ineffective against armored ones." - ammo_type = /obj/item/ammo_casing/a357/hp - -/obj/item/ammo_box/a357_box - name = "ammo box (.357)" - desc = "A box of standard .357 ammo." - icon_state = "357box" - ammo_type = /obj/item/ammo_casing/a357 - max_ammo = 50 - -/obj/item/ammo_box/a357_box/match - name = "ammo box (.357)" - desc = "A box of match .357 ammo." - icon_state = "357box-match" - ammo_type = /obj/item/ammo_casing/a357/match - max_ammo = 50 - -/obj/item/ammo_box/a357_box/hp - name = "ammo box (.357)" - desc = "A box of hollow point .357 ammo." - icon_state = "357box-hp" - ammo_type = /obj/item/ammo_casing/a357/hp - max_ammo = 50 - - -// .45-70 Ammo Holders (Hunting Revolver) - -/obj/item/ammo_box/a4570 - name = "ammo box (.45-70)" - desc = "A box of top grade .45-70 ammo. These rounds do significant damage with average performance against armor." - icon_state = "4570" - ammo_type = /obj/item/ammo_casing/a4570 - max_ammo = 18 - -/obj/item/ammo_box/a4570/match - name = "ammo box (.45-70 match)" - desc = "A 18-round ammo box for .45-70 revolvers. These match rounds travel faster, perform better against armor, and can ricochet off targets." - icon_state = "4570-match" - ammo_type = /obj/item/ammo_casing/a4570/match - - -/obj/item/ammo_box/a4570/hp - name = "ammo box (.45-70 hollow point)" - desc = "A 18-round ammo box for .45-70 revolvers. These hollow point rounds do legendary damage against soft targets, but are nearly ineffective against armored ones." - icon_state = "4570-hp" - ammo_type = /obj/item/ammo_casing/a4570/hp - -/obj/item/ammo_box/a4570/explosive - name = "ammo box (.45-70 explosive)" - desc = "A 18-round ammo box for .45-70 revolvers. These explosive rounds contain a small explosive charge that detonates on impact, creating large wounds and potentially removing limbs." - icon_state = "4570-explosive" - ammo_type = /obj/item/ammo_casing/a4570/explosive - - -// .38 special Speed Loaders (Colt Detective Special) - -/obj/item/ammo_box/c38 - name = "speed loader (.38 special)" - desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These rounds do okay damage, but struggle against armor." - icon_state = "speedloader_38-6" - base_icon_state = "speedloader_38" - ammo_type = /obj/item/ammo_casing/c38 - caliber = ".38" - max_ammo = 6 - multiple_sprites = AMMO_BOX_PER_BULLET - custom_materials = list(/datum/material/iron = 15000) - w_class = WEIGHT_CLASS_TINY - instant_load = TRUE - -/obj/item/ammo_box/c38/trac - name = "speed loader (.38 TRAC)" - desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These TRAC rounds do pitiful damage, but embed a tracking device in targets hit." - ammo_type = /obj/item/ammo_casing/c38/trac - -/obj/item/ammo_box/c38/match - name = "speed loader (.38 match)" - desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These match rounds travel faster, perform better against armor, and can ricochet off targets." - ammo_type = /obj/item/ammo_casing/c38/match - -/obj/item/ammo_box/c38/match/bouncy - name = "speed loader (.38 rubber)" - desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These rounds are incredibly bouncy and MOSTLY nonlethal, making them great to show off trickshots with." - ammo_type = /obj/item/ammo_casing/c38/match/bouncy - -/obj/item/ammo_box/c38/dumdum - name = "speed loader (.38 dum-dum)" - desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These dum-dum bullets shatter on impact and embed in the target's innards. However, they're nearly ineffective against armor and do okay damage." - ammo_type = /obj/item/ammo_casing/c38/dumdum - -/obj/item/ammo_box/c38/hotshot - name = "speed loader (.38 hearth)" - desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These hearthwine bullets contain an incendiary payload that set targets alight." - ammo_type = /obj/item/ammo_casing/c38/hotshot - -/obj/item/ammo_box/c38/iceblox - name = "speed loader (.38 chilled)" - desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These icewine bullets contain a cryogenic payload that chills targets." - ammo_type = /obj/item/ammo_casing/c38/iceblox - -/obj/item/ammo_box/c38/empty - start_empty = TRUE - -// 8x58mm Stripper Clip (SSG-669C) - -/obj/item/ammo_box/a858 - name = "stripper clip (8x58mm)" - desc = "A 5-round stripper clip for the SSG-669C rifle. These rounds do good damage with significant armor penetration." - icon_state = "enbloc_858" - ammo_type = /obj/item/ammo_casing/caseless/a858 - max_ammo = 5 - multiple_sprites = AMMO_BOX_PER_BULLET - instant_load = TRUE - -/obj/item/ammo_box/a858/empty - start_empty = TRUE - -// .308 Stripper Clip (Vickland) - -/obj/item/ammo_box/vickland_a308 - name = "stripper clip (.308)" - desc = "A 5-round stripper clip for the Vickland Battle Rifle. The Vickland itself has a 10 round capacity, so keep in mind two of these are needed to fully reload it. These rounds do good damage with significant armor penetration." - icon_state = "stripper_308-5" - base_icon_state = "stripper_308" - ammo_type = /obj/item/ammo_casing/a308 - max_ammo = 5 - multiple_sprites = AMMO_BOX_PER_BULLET - w_class = WEIGHT_CLASS_TINY - instant_load = TRUE - -/obj/item/ammo_box/vickland_a308/empty - start_empty = TRUE - -// .300 Magnum Stripper Clip (Scout) - -/obj/item/ammo_box/a300 - name = "stripper clip (.300 Magnum)" - desc = "A 5-round stripper clip for the Scout Rifle. These rounds do great damage with significant armor penetration." - icon_state = "300m" - ammo_type = /obj/item/ammo_casing/a300 - max_ammo = 5 - multiple_sprites = AMMO_BOX_PER_BULLET - w_class = WEIGHT_CLASS_TINY - instant_load = TRUE - -/obj/item/ammo_box/a300/empty - start_empty = TRUE -// 7.62 Stripper Clip (Polymer Survivor Rifle) - -/obj/item/ammo_box/a762_stripper - name = "stripper clip (7.62)" - desc = "A 5-round stripper clip for makeshift bolt-action rifles. These rounds do good damage with good armor penetration." - icon_state = "stripper_308-5" - base_icon_state = "stripper_308" - ammo_type = /obj/item/ammo_casing/a762_40 - caliber = "7.62x40mm" - max_ammo = 5 - multiple_sprites = AMMO_BOX_PER_BULLET - w_class = WEIGHT_CLASS_TINY - instant_load = TRUE - -/obj/item/ammo_box/a762_stripper/empty - start_empty = TRUE -// Ferromagnetic Pellet Speed Loader (Claris) - -/obj/item/ammo_box/amagpellet_claris - name = "\improper Claris speed loader (ferromagnetic pellet)" - desc = "A 22-round speed loader for quickly reloading the Claris rifle. Ferromagnetic pellets do okay damage with significant armor penetration." - icon_state = "claris-sl-1" - base_icon_state = "claris-sl" - ammo_type = /obj/item/ammo_casing/caseless/gauss - max_ammo = 22 - multiple_sprites = AMMO_BOX_FULL_EMPTY - item_flags = NO_MAT_REDEMPTION - instant_load = TRUE - -// Ammo Boxes - -/obj/item/ammo_box/c38_box - name = "ammo box (.38)" - desc = "A box of standard .38 Special ammo." - icon_state = "38box" - ammo_type = /obj/item/ammo_casing/c38 - max_ammo = 50 - -/obj/item/ammo_box/c38_box/surplus - name = "ammo box (.38 surplus)" - desc = "A box of low-quality .38 Special ammo." - icon_state = "38box-surplus" - ammo_type = /obj/item/ammo_casing/c38/surplus - -/obj/item/ammo_box/c38_box/hotshot - name = "ammo box (.38 hearth)" - desc = "An unorthodox .38 Special cartridge infused with hearthwine. Catches the target on fire." - icon_state = "38hotshot" - ammo_type = /obj/item/ammo_casing/c38/hotshot - -/obj/item/ammo_box/c38_box/iceblox - name = "ammo box (.38 chilled)" - desc = "An unorthodox .38 Special cartridge infused with icewine. Chills the target, slowing them down." - icon_state = "38iceblox" - ammo_type = /obj/item/ammo_casing/c38/iceblox - -/obj/item/ammo_box/a12g - name = "ammo box (12g buckshot)" - desc = "A box of 12-gauge buckshot shells, devastating at close range." - icon_state = "12gbox-buckshot" - ammo_type = /obj/item/ammo_casing/shotgun/buckshot - max_ammo = 25 - -/obj/item/ammo_box/a12g/slug - name = "ammo box (12g slug)" - desc = "A box of 12-gauge slugs, for improved accuracy and penetration." - icon_state = "12gbox-slug" - ammo_type = /obj/item/ammo_casing/shotgun - -/obj/item/ammo_box/a12g/beanbag - name = "ammo box (12g beanbag)" - desc = "A box of 12-gauge beanbag shells, for incapacitating targets." - icon_state = "12gbox-beanbag" - ammo_type = /obj/item/ammo_casing/shotgun/beanbag - -/obj/item/ammo_box/a12g/rubbershot - name = "ammo box (12g rubbershot)" - desc = "A box of 12-gauge rubbershot shells, designed for riot control." - icon_state = "12gbox-rubbershot" - ammo_type = /obj/item/ammo_casing/shotgun/rubbershot - -/obj/item/ammo_box/a12g/blanks - name = "ammo box (12g blanks)" - desc = "A box of 12-gauge blank shells, designed for training." - icon_state ="12gbox-slug" - ammo_type = /obj/item/ammo_casing/shotgun/blank - -/obj/item/ammo_box/c9mm - name = "ammo box (9mm)" - desc = "A box of standard 9mm ammo." - icon_state = "9mmbox" - ammo_type = /obj/item/ammo_casing/c9mm - max_ammo = 50 - -/obj/item/ammo_box/c9mm/surplus - name = "ammo box (9mm surplus)" - desc = "A box of low-quality 9mm ammo." - icon_state = "9mmbox-surplus" - ammo_type = /obj/item/ammo_casing/c9mm/surplus - -/obj/item/ammo_box/c9mm/rubbershot - name = "ammo box (9mm rubbershot)" - desc = "A box of 9mm rubbershot ammo, designed to disable targets without causing serious damage." - icon_state = "9mmbox-rubbershot" - ammo_type = /obj/item/ammo_casing/c9mm/rubber - -/obj/item/ammo_box/c9mm/ap - name = "ammo box (9mm armor-piercing)" - desc = "A box of 9mm armor-piercing ammo, designed to penetrate through armor at the cost of total damage." - icon_state = "9mmbox-ap" - ammo_type = /obj/item/ammo_casing/c9mm/ap - -/obj/item/ammo_box/c9mm/hp - name = "ammo box (9mm hollow point)" - desc = "A box of 9mm hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." - icon_state = "9mmbox-hp" - ammo_type = /obj/item/ammo_casing/c9mm/hp - -/obj/item/ammo_box/c9mm/fire - name = "ammo box (9mm incendiary)" - desc = "A box of 9mm incendiary ammo, designed to ignite targets at the cost of initial damage." - icon_state = "9mmbox-incendiary" - ammo_type = /obj/item/ammo_casing/c9mm/inc - -/obj/item/ammo_box/c10mm - name = "ammo box (10mm)" - desc = "A box of standard 10mm ammo." - icon_state = "10mmbox" - ammo_type = /obj/item/ammo_casing/c10mm - max_ammo = 50 - -/obj/item/ammo_box/c10mm/surplus - name = "ammo box (10mm surplus)" - desc = "A box of low-quality 10mm ammo." - icon_state = "10mmbox-surplus" - ammo_type = /obj/item/ammo_casing/c10mm/surplus - -/obj/item/ammo_box/c10mm/rubbershot - name = "ammo box (10mm rubbershot)" - desc = "A box of 10mm rubbershot ammo, designed to disable targets without causing serious damage." - icon_state = "10mmbox-rubbershot" - ammo_type = /obj/item/ammo_casing/c10mm/rubber - -/obj/item/ammo_box/c10mm/ap - name = "ammo box (10mm armor-piercing)" - desc = "A box of 10mm armor-piercing ammo, designed to penetrate through armor at the cost of total damage." - icon_state = "10mmbox-ap" - ammo_type = /obj/item/ammo_casing/c10mm/ap - -/obj/item/ammo_box/c10mm/hp - name = "ammo box (10mm hollow point)" - desc = "A box of 10mm hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." - icon_state = "10mmbox-hp" - ammo_type = /obj/item/ammo_casing/c10mm/hp - -/obj/item/ammo_box/c10mm/fire - name = "ammo box (10mm incendiary)" - desc = "A box of 10mm incendiary ammo, designed to ignite targets at the cost of initial damage." - icon_state = "10mmbox-incendiary" - ammo_type = /obj/item/ammo_casing/c10mm/inc - -/obj/item/ammo_box/c45 - name = "ammo box (.45)" - desc = "A box of standard .45 ammo." - icon_state = "45box" - ammo_type = /obj/item/ammo_casing/c45 - max_ammo = 50 - -/obj/item/ammo_box/c45/surplus - name = "ammo box (.45 surplus)" - desc = "A box of low-quality .45 ammo." - icon_state = "45box-surplus" - ammo_type = /obj/item/ammo_casing/c45/surplus - -/obj/item/ammo_box/c45/rubbershot - name = "ammo box (.45 rubbershot)" - desc = "A box of .45 rubbershot ammo, designed to disable targets without causing serious damage." - icon_state = "45box-rubbershot" - ammo_type = /obj/item/ammo_casing/c45/rubber - -/obj/item/ammo_box/c45/ap - name = "ammo box (.45 armor-piercing)" - desc = "A box of .45 armor-piercing ammo, designed to penetrate through armor at the cost of total damage." - icon_state = "45box-ap" - ammo_type = /obj/item/ammo_casing/c45/ap - -/obj/item/ammo_box/c45/hp - name = "ammo box (.45 hollow point)" - desc = "A box of .45 hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." - icon_state = "45box-hp" - ammo_type = /obj/item/ammo_casing/c45/hp - -/obj/item/ammo_box/c45/fire - name = "ammo box (.45 incendiary)" - desc = "A box of .45 incendiary ammo, designed to ignite targets at the cost of initial damage." - icon_state = "45box-incendiary" - ammo_type = /obj/item/ammo_casing/c45/inc - -/obj/item/ammo_box/c556mmHITP - name = "ammo box (5.56mm HITP caseless)" - desc = "A box of 5.56mm HITP caseless ammo, a SolGov standard." - icon_state = "556mmHITPbox" - ammo_type = /obj/item/ammo_casing/caseless/c556mm - max_ammo = 50 - -/obj/item/ammo_box/c556mmHITP/surplus - name = "ammo box (5.56mm HITP caseless surplus)" - desc = "A box of low-quality 5.56mm HITP caseless ammo." - icon_state = "556mmHITPbox-surplus" - ammo_type = /obj/item/ammo_casing/caseless/c556mm/surplus - -/obj/item/ammo_box/c556mmHITP/rubbershot - name = "ammo box (5.56mm HITP caseless rubbershot)" - desc = "A box of 5.56mm HITP caseless rubbershot ammo, designed to disable targets without causing serious damage." - icon_state = "556mmHITPbox-rubbershot" - ammo_type = /obj/item/ammo_casing/caseless/c556mm/rubbershot - -/obj/item/ammo_box/c556mmHITP/ap - name = "ammo box (5.56mm HITP caseless armor-piercing)" - desc = "A box of 5.56mm HITP caseless armor-piercing ammo, designed to penetrate through armor at the cost of total damage." - icon_state = "556mmHITPbox-ap" - ammo_type = /obj/item/ammo_casing/caseless/c556mm/ap - -/obj/item/ammo_box/c556mmHITP/hp - name = "ammo box (5.56mm HITP caseless hollow point)" - desc = "A box of 5.56mm HITP caseless hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." - icon_state = "556mmHITPbox-hp" - ammo_type = /obj/item/ammo_casing/caseless/c556mm/hp - -/obj/item/ammo_box/a40mm - name = "ammo box (40mm grenades)" - icon_state = "40mm" - ammo_type = /obj/item/ammo_casing/a40mm - max_ammo = 4 - multiple_sprites = AMMO_BOX_PER_BULLET - w_class = WEIGHT_CLASS_NORMAL - -/obj/item/ammo_box/a762_40 - name = "ammo box (7.62x40mm CLIP)" - icon_state = "a762_40box_big" - ammo_type = /obj/item/ammo_casing/a762_40 - max_ammo = 120 - w_class = WEIGHT_CLASS_NORMAL - -/obj/item/ammo_box/a762_40/inteq - icon_state = "a762_40box_big_inteq" - -/obj/item/ammo_box/a556_42 - name = "ammo box (5.56x42mm CLIP)" - icon_state = "a556_42box_big" - ammo_type = /obj/item/ammo_casing/a556_42 - max_ammo = 120 - w_class = WEIGHT_CLASS_NORMAL - -//[СELADON-REMOVE] - CELADON_WEAPONS - хватит это терпеть! Теперь эти патроны только в модпаке - mod_celadon\weapons\code\modules\projectiles\boxes_magazines\ammo_boxes.dm -/* -/obj/item/ammo_box/a308 - name = "ammo box (.308)" - icon_state = "a308box" - ammo_type = /obj/item/ammo_casing/a308 - max_ammo = 30 -*/ -//[/СELADON-REMOVE] - -//[СELADON-REMOVE] - CELADON_WEAPONS - хватит это терпеть! Теперь эти патроны только в модпаке - полностью удален из билда -/* -/obj/item/ammo_box/a308/hunterspride //just an alternative graphic for srm ships - зачем отдельные , у них что патроны из дерева или что ? - icon_state = "a308box-HP" -*/ -//[/СELADON-REMOVE] - -/obj/item/ammo_box/foambox - name = "ammo box (Foam Darts)" - icon = 'icons/obj/guns/toy.dmi' - icon_state = "foambox" - ammo_type = /obj/item/ammo_casing/caseless/foam_dart - max_ammo = 40 - custom_materials = list(/datum/material/iron = 500) - -/obj/item/ammo_box/foambox/riot - icon_state = "foambox_riot" - ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot - custom_materials = list(/datum/material/iron = 50000) - -/obj/item/ammo_box/c22lr_box - name = "ammo box (.22 LR)" - desc = "A box of standard .22 LR ammo." - icon_state = "22lrbox" - ammo_type = /obj/item/ammo_casing/c22lr - max_ammo = 75 - -/obj/item/ammo_box/a44roum_speedloader - name = "speed loader (.44)" - desc = "Designed to quickly reload revolvers." - icon_state = "speedloader_38-6" - base_icon_state = "speedloader_38" - ammo_type = /obj/item/ammo_casing/a44roum - caliber = ".44 Roumain" - max_ammo = 6 - multiple_sprites = AMMO_BOX_PER_BULLET - custom_materials = list(/datum/material/iron = 15000) - w_class = WEIGHT_CLASS_TINY - instant_load = TRUE - -/obj/item/ammo_box/a44roum_speedloader/empty - start_empty = TRUE - -/obj/item/ammo_box/c57x39mm_box - name = "ammo box (5.7x39mm)" - desc = "A box of standard 5.7x39mm ammo." - icon_state = "57x39mmbox" - ammo_type = /obj/item/ammo_casing/c57x39mm - max_ammo = 50 - - -/obj/item/ammo_box/c46x30mm_box - name = "ammo box (4.6x30mm)" - desc = "A box of standard 4.6x30mm ammo." - icon_state = "46x30mmbox" - ammo_type = /obj/item/ammo_casing/c46x30mm - max_ammo = 50 - -/obj/item/ammo_box/c8x50mm_box - name = "ammo box (8x50mm)" - desc = "A box of standard 8x50mm ammo." - icon_state = "8x50mmbox" - ammo_type = /obj/item/ammo_casing/a8_50r - max_ammo = 25 - -/obj/item/ammo_box/ferropelletbox - name = "ammo box (ferromagnetic pellets)" - desc = "A box of ferromagnetic pellets." - icon_state = "ferropelletsbox" - ammo_type = /obj/item/ammo_casing/caseless/gauss - max_ammo = 50 - -/obj/item/ammo_box/ferroslugbox - name = "ammo box (ferromagnetic slugs)" - desc = "A box of standard ferromagnetic slugs." - icon_state = "ferroslugsbox" - ammo_type = /obj/item/ammo_casing/caseless/gauss/slug - max_ammo = 20 - -/obj/item/ammo_box/ferrolancebox - name = "ammo box (ferromagnetic lances)" - desc = "A box of standard ferromagnetic lances." - icon_state = "ferrolancesbox" - ammo_type = /obj/item/ammo_casing/caseless/gauss/lance - max_ammo = 50 - -/obj/item/ammo_box/c8x50mmhp_box - name = "ammo box (8x50mm)" - desc = "A box of hollow point 8x50mm ammo, designed to cause massive damage at the cost of armor penetration." - icon_state = "8x50mmbox-hp" - ammo_type = /obj/item/ammo_casing/a8_50rhp - max_ammo = 20 - -/obj/item/ammo_box/a300_box - name = "ammo box (.300 Magnum)" - desc = "A box of standard .300 Magnum ammo." - icon_state = "300box" - ammo_type = /obj/item/ammo_casing/a300 - max_ammo = 20 - -/obj/item/ammo_box/a65clip_box - name = "ammo box (6.5x57mm CLIP)" - desc = "A box of standard 6.5x57mm CLIP ammo." - icon_state = "65box" - ammo_type = /obj/item/ammo_casing/a65clip - max_ammo = 20 - -/obj/item/ammo_box/a65clip_box/syndicate - icon_state = "65box_sa" - -/obj/item/ammo_box/a44roum - name = "ammo box (.44 roumain)" - desc = "A box of standard .44 roumain ammo." - icon_state = "a44roum" - ammo_type = /obj/item/ammo_casing/a44roum - max_ammo = 50 - -/obj/item/ammo_box/a44roum/rubber - name = "ammo box (.44 roumain rubber)" - desc = "A box of .44 roumain rubbershot ammo, designed to disable targets without causing serious damage." - icon_state = "a44roum-rubber" - ammo_type = /obj/item/ammo_casing/a44roum/rubber - max_ammo = 50 - -/obj/item/ammo_box/a44roum/hp - name = "ammo box (.44 roumain hollow point)" - desc = "A box of .44 roumain hollow point ammo, designed to cause massive damage at the cost of armor penetration." - icon_state = "a44roum-hp" - ammo_type = /obj/item/ammo_casing/a44roum/hp - max_ammo = 50 - -/obj/item/ammo_box/c299 - name = "ammo box (.299 Eoehoma caseless)" - desc = "A box of .299 Eoehoma caseless, for use with the E-40 hybrid assault rifle." - icon_state = "299box" - ammo_type = /obj/item/ammo_casing/caseless/c299 - max_ammo = 120 - w_class = WEIGHT_CLASS_NORMAL // This is a lot of ammo diff --git a/code/modules/projectiles/boxes_magazines/ammo_loaders.dm b/code/modules/projectiles/boxes_magazines/ammo_loaders.dm new file mode 100644 index 000000000000..70d9480493c6 --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_loaders.dm @@ -0,0 +1,176 @@ +// .357 Speed Loaders + +/obj/item/ammo_box/a357 + name = "speed loader (.357)" + desc = "A 6-round speed loader for quickly reloading .357 revolvers. These rounds do good damage with average performance against armor." + icon_state = "speedloader_357-6" + base_icon_state = "speedloader_357" + ammo_type = /obj/item/ammo_casing/a357 + caliber = ".357" + max_ammo = 6 + multiple_sprites = AMMO_BOX_PER_BULLET + item_flags = NO_MAT_REDEMPTION + w_class = WEIGHT_CLASS_TINY + instant_load = TRUE + +/obj/item/ammo_box/a357/empty + start_empty = TRUE + +/obj/item/ammo_box/a357/match + name = "speed loader (.357 match)" + desc = "A 6-round speed loader for quickly reloading .357 revolvers. These match rounds travel faster, perform better against armor, and can ricochet off targets." + ammo_type = /obj/item/ammo_casing/a357/match + +/obj/item/ammo_box/a357/hp + name = "speed loader (.357 hollow point)" + desc = "A 6-round speed loader for quickly reloading .357 revolvers. These hollow point rounds do incredible damage against soft targets, but are nearly ineffective against armored ones." + ammo_type = /obj/item/ammo_casing/a357/hp + +// .38 special Speed Loaders + +/obj/item/ammo_box/c38 + name = "speed loader (.38 special)" + desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These rounds do okay damage, but struggle against armor." + icon_state = "speedloader_38-6" + base_icon_state = "speedloader_38" + ammo_type = /obj/item/ammo_casing/c38 + caliber = ".38" + max_ammo = 6 + multiple_sprites = AMMO_BOX_PER_BULLET + custom_materials = list(/datum/material/iron = 15000) + w_class = WEIGHT_CLASS_TINY + instant_load = TRUE + +/obj/item/ammo_box/c38/trac + name = "speed loader (.38 TRAC)" + desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These TRAC rounds do pitiful damage, but embed a tracking device in targets hit." + ammo_type = /obj/item/ammo_casing/c38/trac + +/obj/item/ammo_box/c38/match + name = "speed loader (.38 match)" + desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These match rounds travel faster, perform better against armor, and can ricochet off targets." + ammo_type = /obj/item/ammo_casing/c38/match + +/obj/item/ammo_box/c38/match/bouncy + name = "speed loader (.38 rubber)" + desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These rounds are incredibly bouncy and MOSTLY nonlethal, making them great to show off trickshots with." + ammo_type = /obj/item/ammo_casing/c38/match/bouncy + +/obj/item/ammo_box/c38/dumdum + name = "speed loader (.38 dum-dum)" + desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These dum-dum bullets shatter on impact and embed in the target's innards. However, they're nearly ineffective against armor and do okay damage." + ammo_type = /obj/item/ammo_casing/c38/dumdum + +/obj/item/ammo_box/c38/hotshot + name = "speed loader (.38 hot shot)" + desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These hot shot bullets contain an incendiary payload that set targets alight." + ammo_type = /obj/item/ammo_casing/c38/hotshot + +/obj/item/ammo_box/c38/iceblox + name = "speed loader (.38 iceblox)" + desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These iceblox bullets contain a cryogenic payload that chills targets." + ammo_type = /obj/item/ammo_casing/c38/iceblox + +/obj/item/ammo_box/c38/empty + start_empty = TRUE + +// 8x58mm Stripper Clip + +/obj/item/ammo_box/a858 + name = "stripper clip (8x58mm)" + desc = "A 5-round stripper clip for the SSG-669C rifle. These rounds do good damage with significant armor penetration." + icon_state = "enbloc_858" + ammo_type = /obj/item/ammo_casing/caseless/a858 + max_ammo = 5 + multiple_sprites = AMMO_BOX_PER_BULLET + instant_load = TRUE + +/obj/item/ammo_box/a858/empty + start_empty = TRUE + +// .308 Stripper Clip + +/obj/item/ammo_box/vickland_a308 + name = "stripper clip (.308)" + desc = "A 5-round stripper clip for the Vickland Battle Rifle. The Vickland itself has a 10 round capacity, so keep in mind two of these are needed to fully reload it. These rounds do good damage with significant armor penetration." + icon_state = "stripper_308-5" + base_icon_state = "stripper_308" + ammo_type = /obj/item/ammo_casing/a308 + max_ammo = 5 + multiple_sprites = AMMO_BOX_PER_BULLET + w_class = WEIGHT_CLASS_TINY + instant_load = TRUE + +/obj/item/ammo_box/vickland_a308/empty + start_empty = TRUE + +// .300 Magnum Stripper Clip + +/obj/item/ammo_box/a300 + name = "stripper clip (.300 Magnum)" + desc = "A 5-round stripper clip for the Scout Rifle. These rounds do great damage with significant armor penetration." + icon_state = "300m" + ammo_type = /obj/item/ammo_casing/a300 + max_ammo = 5 + multiple_sprites = AMMO_BOX_PER_BULLET + w_class = WEIGHT_CLASS_TINY + instant_load = TRUE + +/obj/item/ammo_box/a300/empty + start_empty = TRUE + +// .300 Blackout Stripper Clip + +/obj/item/ammo_box/a762_stripper + name = "stripper clip (7.62)" + desc = "A 5-round stripper clip for makeshift bolt-action rifles. These rounds do good damage with good armor penetration." + icon_state = "stripper_308-5" + base_icon_state = "stripper_308" + ammo_type = /obj/item/ammo_casing/a762_40 + caliber = "7.62x40mm" + max_ammo = 5 + multiple_sprites = AMMO_BOX_PER_BULLET + w_class = WEIGHT_CLASS_TINY + instant_load = TRUE + +/obj/item/ammo_box/a762_stripper/empty + start_empty = TRUE + +// Ferromagnetic Pellet Speed Loader + +/obj/item/ammo_box/amagpellet_claris + name = "\improper Claris speed loader (ferromagnetic pellet)" + desc = "A 22-round speed loader for quickly reloading the Claris rifle. Ferromagnetic pellets do okay damage with significant armor penetration." + icon_state = "claris-sl-1" + base_icon_state = "claris-sl" + ammo_type = /obj/item/ammo_casing/caseless/gauss + max_ammo = 22 + multiple_sprites = AMMO_BOX_FULL_EMPTY + item_flags = NO_MAT_REDEMPTION + instant_load = TRUE + +/obj/item/ammo_box/a40mm + name = "ammo box (40mm grenades)" + icon_state = "40mm" + ammo_type = /obj/item/ammo_casing/a40mm + max_ammo = 4 + multiple_sprites = AMMO_BOX_PER_BULLET + w_class = WEIGHT_CLASS_NORMAL + +// .44 Roumain speedloader + +/obj/item/ammo_box/a44roum_speedloader + name = "speed loader (.44)" + desc = "Designed to quickly reload revolvers." + icon_state = "speedloader_38-6" + base_icon_state = "speedloader_38" + ammo_type = /obj/item/ammo_casing/a44roum + caliber = ".44 Roumain" + max_ammo = 6 + multiple_sprites = AMMO_BOX_PER_BULLET + custom_materials = list(/datum/material/iron = 15000) + w_class = WEIGHT_CLASS_TINY + instant_load = TRUE + +/obj/item/ammo_box/a44roum_speedloader/empty + start_empty = TRUE diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/_ammo_stack.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/_ammo_stack.dm new file mode 100644 index 000000000000..f1e84780cb1e --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/_ammo_stack.dm @@ -0,0 +1,82 @@ +/** + * The ammo stack object itself, making this a magazine was the easiest way to handle it + * Practically every casing type needs an associated ammo stack type, because that was the easiest + * way for me to handle it. + */ +/obj/item/ammo_box/magazine/ammo_stack + name = "ammo stack" + desc = "A pile of live rounds." + icon = 'icons/obj/ammunition/ammo_bullets.dmi' + icon_state = "pistol-brass" + base_icon_state = "pistol-brass" + item_flags = NO_PIXEL_RANDOM_DROP + multiple_sprites = AMMO_BOX_ONE_SPRITE + multiload = FALSE + start_empty = TRUE + max_ammo = 12 + +/obj/item/ammo_box/magazine/ammo_stack/update_icon(updates) + icon = initial(icon) + cut_overlays() + return ..() + +/obj/item/ammo_box/magazine/ammo_stack/update_icon_state() + . = ..() + cut_overlays() + icon_state = "" + for(var/casing in stored_ammo) + var/image/bullet = image(initial(icon), src, "[base_icon_state]") + bullet.pixel_x = rand(-8, 8) + bullet.pixel_y = rand(-8, 8) + bullet.transform = bullet.transform.Turn(round(45 * rand(0, 32) / 2)) //this is the equation Eris uses on their bullet stacks + add_overlay(bullet) + return UPDATE_ICON_STATE | UPDATE_OVERLAYS + +/obj/item/ammo_box/magazine/ammo_stack/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) + . = ..() + var/loc_before_del = loc + while(LAZYLEN(stored_ammo)) + var/obj/item/ammo = get_round(FALSE) + ammo.forceMove(loc_before_del) + ammo.throw_at(loc_before_del) + update_ammo_count() + +/obj/item/ammo_box/magazine/ammo_stack/update_ammo_count() + . = ..() + check_for_del() + +/obj/item/ammo_box/magazine/ammo_stack/proc/check_for_del() + . = FALSE + if((ammo_count() <= 0) && !QDELETED(src)) + qdel(src) + return + +/obj/item/ammo_box/magazine/ammo_stack/attackby(obj/item/handful, mob/user, params, silent = FALSE, replace_spent = 0) + var/num_loaded = 0 + if(!can_load(user)) + return + + if(istype(handful, /obj/item/ammo_box)) + var/obj/item/ammo_box/ammo_box = handful + for(var/obj/item/ammo_casing/casing in ammo_box.stored_ammo) + var/did_load = give_round(casing, replace_spent) + if(did_load) + ammo_box.stored_ammo -= casing + num_loaded++ + if(!did_load || !multiload) + break + if(num_loaded) + ammo_box.update_ammo_count() + + if(istype(handful, /obj/item/ammo_casing)) + var/obj/item/ammo_casing/casing = handful + if(give_round(casing, replace_spent)) + user.transferItemToLoc(casing, src, TRUE) + num_loaded++ + casing.update_appearance() + + if(num_loaded) + if(!silent) + to_chat(user, span_notice("You load [num_loaded] shell\s into \the [src]!")) + playsound(src, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) + update_ammo_count() diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/_premade_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/_premade_stacks.dm new file mode 100644 index 000000000000..8a28920efe6a --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/_premade_stacks.dm @@ -0,0 +1,21 @@ +/obj/item/ammo_box/magazine/ammo_stack/prefilled + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/Initialize(mapload) + make_stack() + update_appearance() + . = ..() + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/proc/make_stack() + var/obj/item/ammo_casing/to_copy = ammo_type + src.top_off() + caliber = to_copy.caliber + base_icon_state = "[initial(to_copy.icon_state)][to_copy.bullet_skin ? "-[to_copy.bullet_skin]" : ""]" + name = "handful of [to_copy.name]s" + +/obj/item/storage/box/ammo //base type, don't use this! + name = "box of default ammo" + desc = "A box of ammunition. Not for consumption." + icon = 'icons/obj/ammunition/ammo_boxes.dmi' + icon_state = "9mmbox" + illustration = null + foldable = null diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_gauss_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_gauss_stacks.dm new file mode 100644 index 000000000000..ac82cf6bcebd --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_gauss_stacks.dm @@ -0,0 +1,41 @@ +/obj/item/ammo_box/magazine/ammo_stack/prefilled/ferropellet + ammo_type = /obj/item/ammo_casing/caseless/gauss + +/obj/item/storage/box/ammo/ferropellet + name = "box of ferromagnetic pellets" + desc = "A box of ferromagnetic pellets for gauss firearms." + icon_state = "ferropelletsbox" + +/obj/item/storage/box/ammo/ferropellet/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/ferropellet = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/ferroslug + ammo_type = /obj/item/ammo_casing/caseless/gauss/slug + +/obj/item/storage/box/ammo/ferroslug + name = "box of ferromagnetic slugs" + desc = "A box of standard ferromagnetic slugs for gauss firearms." + icon_state = "ferroslugsbox" + +/obj/item/storage/box/ammo/ferroslug/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/ferroslug = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/ferrolance + ammo_type = /obj/item/ammo_casing/caseless/gauss/lance + +/obj/item/storage/box/ammo/ferrolance + name = "box of ferromagnetic lances" + desc = "A box of standard ferromagnetic lances for gauss firearms." + icon_state = "ferrolancesbox" + +/obj/item/storage/box/ammo/ferrolance/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/ferrolance = 4) + generate_items_inside(items_inside,src) diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_lmg_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_lmg_stacks.dm new file mode 100644 index 000000000000..b98da1f81000 --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_lmg_stacks.dm @@ -0,0 +1,15 @@ +// 7.12x82mm (L6 SAW) +/obj/item/ammo_box/magazine/ammo_stack/prefilled/mm712x82 + ammo_type = /obj/item/ammo_casing/mm712x82 + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/mm712x82/ap + ammo_type = /obj/item/ammo_casing/mm712x82/ap + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/mm712x82/hp + ammo_type = /obj/item/ammo_casing/mm712x82/hp + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/mm712x82/incendiary + ammo_type = /obj/item/ammo_casing/mm712x82/inc + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/mm712x82/match + ammo_type = /obj/item/ammo_casing/mm712x82/match diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_misc_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_misc_stacks.dm new file mode 100644 index 000000000000..a24599138238 --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_misc_stacks.dm @@ -0,0 +1,26 @@ +/obj/item/ammo_box/magazine/ammo_stack/prefilled/foam_darts + ammo_type = /obj/item/ammo_casing/caseless/foam_dart + +/obj/item/storage/box/ammo/foam_darts + name = "box of foam darts" + icon = 'icons/obj/guns/toy.dmi' + icon_state = "foambox" + +/obj/item/storage/box/ammo/foam_darts/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/foam_darts = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/foam_darts/riot + ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot + +/obj/item/storage/box/ammo/foam_darts/riot + name = "box of foam darts" + icon_state = "foambox_riot" + +/obj/item/storage/box/ammo/foam_darts/riot/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/foam_darts/riot = 4) + generate_items_inside(items_inside,src) diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm new file mode 100644 index 000000000000..68ea1a7faeb5 --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm @@ -0,0 +1,499 @@ +// 10mm (Stechkin) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm + ammo_type = /obj/item/ammo_casing/c10mm + +/obj/item/storage/box/ammo/c10mm + name = "box of 10mm ammo" + desc = "A box of standard 10mm ammo." + icon_state = "10mmbox" + +/obj/item/storage/box/ammo/c10mm/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/surplus + ammo_type = /obj/item/ammo_casing/c10mm/surplus + +/obj/item/storage/box/ammo/c10mm_surplus + name = "box of surplus 10mm ammo" + desc = "A box of low-quality 10mm ammo." + icon_state = "10mmbox-surplus" + +/obj/item/storage/box/ammo/c10mm_surplus/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/ap + ammo_type = /obj/item/ammo_casing/c10mm/ap + +/obj/item/storage/box/ammo/c10mm_ap + name = "box of AP 10mm ammo" + desc = "A box of 10mm armor-piercing ammo, designed to penetrate through armor at the cost of total damage." + icon_state = "10mmbox-ap" + +/obj/item/storage/box/ammo/c10mm_ap/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/ap = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/hp + ammo_type = /obj/item/ammo_casing/c10mm/hp + +/obj/item/storage/box/ammo/c10mm_hp + name = "box of HP 10mm ammo" + desc = "A box of 10mm hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." + icon_state = "10mmbox-hp" + +/obj/item/storage/box/ammo/c10mm_hp/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/hp = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/incendiary + ammo_type = /obj/item/ammo_casing/c10mm/inc + +/obj/item/storage/box/ammo/c10mm_incendiary + name = "box of incendiary 10mm ammo" + desc = "A box of 10mm incendiary ammo, designed to ignite targets at the cost of initial damage." + icon_state = "10mmbox-incendiary" + +/obj/item/storage/box/ammo/c10mm_incendiary/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/incendiary = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/rubber + ammo_type = /obj/item/ammo_casing/c10mm/rubber + +/obj/item/storage/box/ammo/c10mm_rubber + name = "box of rubber 10mm ammo" + desc = "A box of 10mm rubbershot ammo, designed to disable targets without causing serious damage." + icon_state = "10mmbox-rubbershot" + +/obj/item/storage/box/ammo/c10mm_rubber/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c10mm/rubber = 4) + generate_items_inside(items_inside,src) + +// 9MM (Commander + SABR) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm + ammo_type = /obj/item/ammo_casing/c9mm + max_ammo = 15 + +/obj/item/storage/box/ammo/c9mm + name = "box of 9mm ammo" + desc = "A box of standard 9mm ammo." + icon_state = "9mmbox" + +/obj/item/storage/box/ammo/c9mm/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/surplus + ammo_type = /obj/item/ammo_casing/c9mm/surplus + +/obj/item/storage/box/ammo/c9mm_surplus + name = "box of surplus 9mm ammo" + desc = "A box of low-quality 9mm ammo." + icon_state = "9mmbox-surplus" + +/obj/item/storage/box/ammo/c9mm_surplus/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/surplus = 48) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm_ap + ammo_type = /obj/item/ammo_casing/c9mm/ap + +/obj/item/storage/box/ammo/c9mm/ap + name = "box of AP 9mm ammo" + desc = "A box of 9mm armor-piercing ammo, designed to penetrate through armor at the cost of total damage." + icon_state = "9mmbox-ap" + +/obj/item/storage/box/ammo/c9mm_ap/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm_ap = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/hp + ammo_type = /obj/item/ammo_casing/c9mm/hp + +/obj/item/storage/box/ammo/c9mm_hp + name = "box of HP 9mm ammo" + desc = "A box of 9mm hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." + icon_state = "9mmbox-hp" + +/obj/item/storage/box/ammo/c9mm_hp/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/hp = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/incendiary + ammo_type = /obj/item/ammo_casing/c9mm/inc + +/obj/item/storage/box/ammo/c9mm_incendiary + name = "box of incendiary 9mm ammo" + desc = "A box of 9mm incendiary ammo, designed to ignite targets at the cost of initial damage." + icon_state = "9mmbox-incendiary" + +/obj/item/storage/box/ammo/c9mm_incendiary/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/incendiary = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/rubber + ammo_type = /obj/item/ammo_casing/c9mm/rubber + +/obj/item/storage/box/ammo/c9mm_rubber + name = "box of rubber 9mm ammo" + desc = "A box of 9mm rubbershot ammo, designed to disable targets without causing serious damage." + icon_state = "9mmbox-rubbershot" + +/obj/item/storage/box/ammo/c9mm_rubber/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/rubber = 4) + generate_items_inside(items_inside,src) + +// .45 (Candor + C20R) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c45 + ammo_type = /obj/item/ammo_casing/c45 + +/obj/item/storage/box/ammo/c45 + name = "box of .45 ammo" + desc = "A box of standard .45 ammo." + icon_state = "45box" + +/obj/item/storage/box/ammo/c45/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c45 = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/surplus + ammo_type = /obj/item/ammo_casing/c45/surplus + +/obj/item/storage/box/ammo/c45_surplus + name = "box of surplus .45 ammo" + desc = "A box of low-quality .45 ammo." + icon_state = "45box-surplus" + +/obj/item/storage/box/ammo/c45_surplus/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/surplus = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/ap + ammo_type = /obj/item/ammo_casing/c45/ap + +/obj/item/storage/box/ammo/c45_ap + name = "box of AP .45 ammo" + desc = "A box of .45 armor-piercing ammo, designed to penetrate through armor at the cost of total damage." + icon_state = "45box-ap" + +/obj/item/storage/box/ammo/c45_ap/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/ap = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/hp + ammo_type = /obj/item/ammo_casing/c45/hp + +/obj/item/storage/box/ammo/c45_hp + name = "box of HP .45 ammo" + desc = "A box of .45 hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." + icon_state = "45box-hp" + +/obj/item/storage/box/ammo/c45_hp/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/hp = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/incendiary + ammo_type = /obj/item/ammo_casing/c45/inc + +/obj/item/storage/box/ammo/c45_incendiary + name = "box of incendiary .45 ammo" + desc = "A box of .45 incendiary ammo, designed to ignite targets at the cost of initial damage." + icon_state = "45box-incendiary" + +/obj/item/storage/box/ammo/c45_incendiary/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/incendiary = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/rubber + ammo_type = /obj/item/ammo_casing/c45/rubber + +/obj/item/storage/box/ammo/c45_rubber + name = "box of incendiary .45 ammo" + desc = "A box of .45 rubbershot ammo, designed to disable targets without causing serious damage." + icon_state = "45box-rubbershot" + +/obj/item/storage/box/ammo/c45_rubber/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c45/rubber = 4) + generate_items_inside(items_inside,src) + +// .50 AE (Desert Eagle) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a50AE + ammo_type = /obj/item/ammo_casing/a50AE + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a50AE/hp + ammo_type = /obj/item/ammo_casing/a50AE/hp + +// .22 LR (Himehabu, Pounder) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c22lr + ammo_type = /obj/item/ammo_casing/c22lr + +/obj/item/storage/box/ammo/c22lr + name = "box of .22 LR ammo" + desc = "A box of standard .22 LR ammo." + icon_state = "22lrbox" + +/obj/item/storage/box/ammo/c22lr/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c22lr = 4) + generate_items_inside(items_inside,src) + +// .357 + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a357 + ammo_type = /obj/item/ammo_casing/a357 + +/obj/item/storage/box/ammo/a357 + name = "box of .357 ammo" + desc = "A box of standard .357 ammo." + icon_state = "357box" + +/obj/item/storage/box/ammo/a357/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a357 = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a357/match + ammo_type = /obj/item/ammo_casing/a357/match + +/obj/item/storage/box/ammo/a357_match + name = "box of match .357 ammo" + desc = "A box of match .357 ammo." + icon_state = "357box-match" + +/obj/item/storage/box/ammo/a357_match/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a357/match = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a357/hp + ammo_type = /obj/item/ammo_casing/a357/hp + +/obj/item/storage/box/ammo/a357_hp + name = "box of HP .357 ammo" + desc = "A box of hollow point .357 ammo." + icon_state = "357box-hp" + +/obj/item/storage/box/ammo/a357_hp/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a357/hp = 4) + generate_items_inside(items_inside,src) + +// .45-70 (Hunting Revolver, Beacon) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570 + ammo_type = /obj/item/ammo_casing/a4570 + max_ammo = 5 + +/obj/item/storage/box/ammo/a4570 + name = "box of .45-70 ammo" + desc = "A box of top grade .45-70 ammo. These rounds do significant damage with average performance against armor." + icon_state = "4570" + +/obj/item/storage/box/ammo/a4570/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570 = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570/match + ammo_type = /obj/item/ammo_casing/a4570/match + +/obj/item/storage/box/ammo/a4570_match + name = "box of HP match .45-70 ammo" + desc = "A 12-round ammo box for .45-70 revolvers. These match rounds travel faster, perform better against armor, and can ricochet off targets." + icon_state = "4570-match" + +/obj/item/storage/box/ammo/a4570_match/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570/match = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570/hp + ammo_type = /obj/item/ammo_casing/a4570/hp + +/obj/item/storage/box/ammo/a4570_hp + name = "box of HP .45-70 ammo" + desc = "A 12-round ammo box for .45-70 revolvers. These hollow point rounds do legendary damage against soft targets, but are nearly ineffective against armored ones." + icon_state = "4570-hp" + +/obj/item/storage/box/ammo/a4570_hp/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570/hp = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570/explosive + ammo_type = /obj/item/ammo_casing/a4570/explosive + +/obj/item/storage/box/ammo/a4570_explosive + name = "box of explosive .45-70 ammo" + desc = "A 12-round ammo box for .45-70 revolvers. These explosive rounds contain a small explosive charge that detonates on impact, creating large wounds and potentially removing limbs." + icon_state = "4570-explosive" + +/obj/item/storage/box/ammo/a4570_explosive/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a4570/explosive = 4) + generate_items_inside(items_inside,src) + +// .38 Special + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c38 + ammo_type = /obj/item/ammo_casing/c38 + +/obj/item/storage/box/ammo/c38 + name = "box of .38 ammo" + desc = "A box of standard .38 Special ammo." + icon_state = "38box" + +/obj/item/storage/box/ammo/c38/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c38 = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/surplus + ammo_type = /obj/item/ammo_casing/c38/surplus + +/obj/item/storage/box/ammo/c38_surplus + name = "box of surplus .38 ammo" + desc = "A box of low-quality .38 Special ammo." + icon_state = "38box-surplus" + +/obj/item/storage/box/ammo/c38_surplus/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/surplus = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/trac + ammo_type = /obj/item/ammo_casing/c38/trac + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/match + ammo_type = /obj/item/ammo_casing/c38/match + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/bouncy + ammo_type = /obj/item/ammo_casing/c38/match/bouncy + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/dumdum + ammo_type = /obj/item/ammo_casing/c38/dumdum + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/hotshot + ammo_type = /obj/item/ammo_casing/c38/hotshot + +/obj/item/storage/box/ammo/c38_hotshot + name = "box of .38 hearth ammo" + desc = "An unorthodox .38 Special cartridge infused with hearthwine. Catches the target on fire." + icon_state = "38hotshot" + +/obj/item/storage/box/ammo/c38_hotshot/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/hotshot = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/iceblox + ammo_type = /obj/item/ammo_casing/c38/iceblox + +/obj/item/storage/box/ammo/c38_iceblox + name = "box of .38 chilled ammo" + desc = "An unorthodox .38 Special cartridge infused with icewine. Chills the target, slowing them down." + icon_state = "38iceblox" + +/obj/item/storage/box/ammo/c38_iceblox/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c38/iceblox = 4) + generate_items_inside(items_inside,src) + +// 44 Roumain + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a44roum + ammo_type = /obj/item/ammo_casing/a44roum + +/obj/item/storage/box/ammo/a44roum + name = "box of .44 roumain ammo" + desc = "A box of standard .44 roumain ammo." + icon_state = "a44roum" + +/obj/item/storage/box/ammo/a44roum/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a44roum = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a44roum/rubber + ammo_type = /obj/item/ammo_casing/a44roum/rubber + +/obj/item/storage/box/ammo/a44roum_rubber + name = "box of rubber .44 roumain ammo" + desc = "A box of .44 roumain rubbershot ammo, designed to disable targets without causing serious damage." + icon_state = "a44roum-rubber" + +/obj/item/storage/box/ammo/a44roum_rubber/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a44roum/rubber = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a44roum/hp + ammo_type = /obj/item/ammo_casing/a44roum/hp + +/obj/item/storage/box/ammo/a44roum_hp + name = "box of HP .44 roumain ammo" + desc = "A box of .44 roumain rubbershot ammo, designed to disable targets without causing serious damage." + icon_state = "a44roum-rubber" + +/obj/item/storage/box/ammo/a44roum_hp/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a44roum/hp = 4) + generate_items_inside(items_inside,src) diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_rifle_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_rifle_stacks.dm new file mode 100644 index 000000000000..d22f62ec2165 --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_rifle_stacks.dm @@ -0,0 +1,152 @@ +// 8x50mmR (Illestren Hunting Rifle) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a8_50r + ammo_type = /obj/item/ammo_casing/a8_50r + max_ammo = 10 + +/obj/item/storage/box/ammo/a8_50r + name = "box of 8x50mm ammo" + desc = "A box of standard 8x50mm ammo." + icon_state = "8x50mmbox" + +/obj/item/storage/box/ammo/a8_50r/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a8_50r = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a8_50r/hp + ammo_type = /obj/item/ammo_casing/a8_50rhp + +/obj/item/storage/box/ammo/a8_50r_hp + name = "box of HP 8x50mm ammo" + desc = "A box of hollow point 8x50mm ammo, designed to cause massive damage at the cost of armor penetration." + icon_state = "8x50mmbox-hp" + +/obj/item/storage/box/ammo/a8_50r_hp/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a8_50r/hp = 4) + generate_items_inside(items_inside,src) + +// 8x58mm Caseless (SSG-669C) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a858 + ammo_type = /obj/item/ammo_casing/caseless/a858 + +// .300 Magnum (Smile Rifle) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a300 + ammo_type = /obj/item/ammo_casing/a300 + max_ammo = 5 + +/obj/item/storage/box/ammo/a300 + name = "box of .300 magnum ammo" + desc = "A box of standard .300 Magnum ammo." + icon_state = "300box" + +/obj/item/storage/box/ammo/a300/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a300 = 4) + generate_items_inside(items_inside,src) + +// 5.56x42mm CLIP (CM82, Hydra variants) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a556_42 + ammo_type = /obj/item/ammo_casing/a556_42 + max_ammo = 15 + +/obj/item/storage/box/ammo/a556_42 + name = "box of 5.56x42mm CLIP ammo" + desc = "A box of standard 5.56x42mm CLIP ammo." + icon_state = "a556_42box_big" + +/obj/item/storage/box/ammo/a556_42/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a556_42 = 4) + generate_items_inside(items_inside,src) + +// 5.45x39mm (SKM-24v) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a545_39 + ammo_type = /obj/item/ammo_casing/a545_39 + max_ammo = 10 + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a545_39/recycled + ammo_type = /obj/item/ammo_casing/a545_39/recycled + +// 7.62x40mm CLIP (SKM Rifles) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a762_40 + ammo_type = /obj/item/ammo_casing/a762_40 + max_ammo = 15 + +/obj/item/storage/box/ammo/a762_40 + name = "box of 7.62x40mm CLIP ammo" + desc = "A box of standard 7.62x40mm CLIP ammo." + icon_state = "a762_40box_big" + +/obj/item/storage/box/ammo/a762_40/inteq + icon_state = "a762_40box_big_inteq" + +/obj/item/storage/box/ammo/a762_40/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a762_40 = 4) + generate_items_inside(items_inside,src) + +//.308 (M514 EBR & CM-GAL-S) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a308 + ammo_type = /obj/item/ammo_casing/a308 + max_ammo = 10 + +/obj/item/storage/box/ammo/a308 + name = "box of .308 ammo" + desc = "A box of standard .308 ammo." + icon_state = "a308box" + +/obj/item/storage/box/ammo/a308/hunterspride + icon_state = "a308box-HP" + +/obj/item/storage/box/ammo/a308/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a308 = 4) + generate_items_inside(items_inside,src) + +//.299 Eoehoma Caseless (E-40) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c299 + ammo_type = /obj/item/ammo_casing/caseless/c299 + max_ammo = 5 + +/obj/item/storage/box/ammo/c299 + name = "box of .299 Eoehoma caseless ammo" + desc = "A box of .299 Eoehoma caseless, for use with the E-40 hybrid assault rifle." + icon_state = "299box" + +/obj/item/storage/box/ammo/c299/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c299 = 4) + generate_items_inside(items_inside,src) + +//6.5x57mm CLIP + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/a65clip + ammo_type = /obj/item/ammo_casing/a65clip + max_ammo = 5 + +/obj/item/storage/box/ammo/a65clip + name = "box of 6.5x57mm CLIP ammo" + desc = "A box of standard 6.5x57mm CLIP ammo." + icon_state = "65box" + +/obj/item/storage/box/ammo/a65clip/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/a65clip = 4) + generate_items_inside(items_inside,src) diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_shotshell_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_shotshell_stacks.dm new file mode 100644 index 000000000000..f67800330724 --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_shotshell_stacks.dm @@ -0,0 +1,79 @@ +// Shotshells +/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun + max_ammo = 8 //make sure these values are consistent across the board with stack_size variable on respective ammo_casing + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/buckshot + ammo_type = /obj/item/ammo_casing/shotgun/buckshot + +/obj/item/storage/box/ammo/a12g_buckshot + name = "box of 12ga buckshot" + desc = "A box of 12-gauge buckshot shells, devastating at close range." + icon_state = "12gbox-buckshot" + +/obj/item/storage/box/ammo/a12g_buckshot/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/buckshot = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/slug + ammo_type = /obj/item/ammo_casing/shotgun + +/obj/item/storage/box/ammo/a12g_slug + name = "box of 12ga slugs" + desc = "A box of 12-gauge slugs, for improved accuracy and penetration." + icon_state = "12gbox-slug" + +/obj/item/storage/box/ammo/a12g_slug/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/slug = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/beanbag + ammo_type = /obj/item/ammo_casing/shotgun/beanbag + +/obj/item/storage/box/ammo/a12g_beanbag + name = "box of 12ga beanbags" + desc = "A box of 12-gauge beanbag shells, for incapacitating targets." + icon_state = "12gbox-beanbag" + +/obj/item/storage/box/ammo/a12g_beanbag/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/beanbag = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/rubber + ammo_type = /obj/item/ammo_casing/shotgun/rubbershot + +/obj/item/storage/box/ammo/a12g_rubbershot + name = "box of 12ga beanbags" + desc = "A box of 12-gauge rubbershot shells, designed for riot control." + icon_state = "12gbox-rubbershot" + +/obj/item/storage/box/ammo/a12g_beanbag/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/rubber = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/blank + ammo_type = /obj/item/ammo_casing/shotgun/blank + +/obj/item/storage/box/ammo/a12g_blank + name = "box of 12ga blanks" + desc = "A box of 12-gauge blank shells, designed for training." + icon_state = "12gbox-slug" //needs icon + +/obj/item/storage/box/ammo/a12g_blank/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/blank = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/incendiary + ammo_type = /obj/item/ammo_casing/shotgun/incendiary + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/shotgun/improvised + ammo_type = /obj/item/ammo_casing/shotgun/improvised diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_smg_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_smg_stacks.dm new file mode 100644 index 000000000000..d550f5e461ba --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_smg_stacks.dm @@ -0,0 +1,113 @@ +// 4.6x30mm (WT-550 Automatic Rifle & SKM-24v) +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c46x30mm + ammo_type = /obj/item/ammo_casing/c46x30mm + max_ammo = 15 + +/obj/item/storage/box/ammo/c46x30mm + name = "box of 4.6x30mm ammo" + desc = "A box of standard 4.6x30mm ammo." + icon_state = "46x30mmbox" + +/obj/item/storage/box/ammo/c46x30mm/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c46x30mm = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c46x30mm/ap + ammo_type = /obj/item/ammo_casing/c46x30mm/ap + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c46x30mm/incendiary + ammo_type = /obj/item/ammo_casing/c46x30mm/inc + +// 4.73x33mm caseless (Solar) +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c47x33mm + ammo_type = /obj/item/ammo_casing/caseless/c47x33mm + +// 5.56mm HITP caseless (Pistole C) +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm + ammo_type = /obj/item/ammo_casing/caseless/c556mm + max_ammo = 15 + +/obj/item/storage/box/ammo/c556mm + name = "box of 5.56mm HITP caseless ammo" + desc = "A box of 5.56mm HITP caseless ammo, a SolGov standard." + icon_state = "556mmHITPbox" + +/obj/item/storage/box/ammo/c556mm/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/surplus + ammo_type = /obj/item/ammo_casing/caseless/c556mm/surplus + +/obj/item/storage/box/ammo/c556mm_surplus + name = "box of surplus 5.56mm HITP caseless ammo" + desc = "A box of low-quality 5.56mm HITP caseless ammo." + icon_state = "556mmHITPbox-surplus" + +/obj/item/storage/box/ammo/c556mm_surplus/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/surplus = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/ap + ammo_type = /obj/item/ammo_casing/caseless/c556mm/ap + +/obj/item/storage/box/ammo/c556mm_ap + name = "box of AP 5.56mm HITP caseless ammo" + desc = "A box of 5.56mm HITP caseless armor-piercing ammo, designed to penetrate through armor at the cost of total damage." + icon_state = "556mmHITPbox-ap" + +/obj/item/storage/box/ammo/c556mm_ap/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/ap = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/hp + ammo_type = /obj/item/ammo_casing/caseless/c556mm/hp + +/obj/item/storage/box/ammo/c556mm_hp + name = "box of HP 5.56mm HITP caseless ammo" + desc = "A box of 5.56mm HITP caseless hollow point ammo, designed to cause massive tissue damage at the cost of armor penetration." + icon_state = "556mmHITPbox-hp" + +/obj/item/storage/box/ammo/c556mm_hp/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/hp = 4) + generate_items_inside(items_inside,src) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/rubbershot + ammo_type = /obj/item/ammo_casing/caseless/c556mm/rubbershot + +/obj/item/storage/box/ammo/c556mm_rubber + name = "box of rubber 5.56mm HITP caseless ammo" + desc = "A box of 5.56mm HITP caseless rubbershot ammo, designed to disable targets without causing serious damage." + icon_state = "556mmHITPbox-rubbershot" + +/obj/item/storage/box/ammo/c556mm_rubber/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c556mm/rubbershot = 4) + generate_items_inside(items_inside,src) + +// 5.7x39mm (Asp and Sidewinder) + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c57x39 + ammo_type = /obj/item/ammo_casing/c57x39mm + +/obj/item/storage/box/ammo/c57x39 + name = "box of 5.7x39mm ammo" + desc = "A box of standard 5.7x39mm ammo." + icon_state = "57x39mmbox" + +/obj/item/storage/box/ammo/c57x39/PopulateContents() + ..() + var/static/items_inside = list( + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c57x39 = 4) + generate_items_inside(items_inside,src) diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_sniper_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_sniper_stacks.dm new file mode 100644 index 000000000000..8ee54bcd9099 --- /dev/null +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_sniper_stacks.dm @@ -0,0 +1,9 @@ +// .50 BMG (Sniper) +/obj/item/ammo_box/magazine/ammo_stack/prefilled/p50 + ammo_type = /obj/item/ammo_casing/p50 + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/p50/soporific + ammo_type = /obj/item/ammo_casing/p50/soporific + +/obj/item/ammo_box/magazine/ammo_stack/prefilled/p50/penetrator + ammo_type = /obj/item/ammo_casing/p50/penetrator diff --git a/code/modules/projectiles/boxes_magazines/generic_ammo_box.dm b/code/modules/projectiles/boxes_magazines/generic_ammo_box.dm deleted file mode 100644 index 2c88824623e2..000000000000 --- a/code/modules/projectiles/boxes_magazines/generic_ammo_box.dm +++ /dev/null @@ -1,53 +0,0 @@ -/obj/item/ammo_box/generic - name = "generic ammo box" - desc = "A generic, unbranded box of ammo. It doesn't have great capacity, but it can hold a variety of different calibers." - max_ammo = 20 - start_empty = TRUE - icon_state = "generic-ammo" - /// Does the box currently have an ammo type set? - var/ammo_set = FALSE - /// Name of the currently set ammo type - var/ammo_name - -/obj/item/ammo_box/generic/update_ammo_count() - . = ..() - if(LAZYLEN(stored_ammo) == 0) - ammo_set = FALSE - ammo_type = /obj/item/ammo_casing - -/obj/item/ammo_box/generic/proc/update_max_ammo(obj/item/ammo_casing/ammo) - if(ammo.bullet_per_box) - max_ammo = round(ammo.bullet_per_box) - else - max_ammo = 10 - - return - -/obj/item/ammo_box/generic/attackby(obj/item/attacking_obj, mob/user, params, silent, replace_spent) - . = ..() - - if(!ammo_set && istype(attacking_obj, /obj/item/ammo_casing)) - var/obj/item/ammo_casing/ammo_load = attacking_obj.type - ammo_type = ammo_load - ammo_set = TRUE - ammo_name = attacking_obj.name - update_max_ammo(attacking_obj) - to_chat(user, span_notice("You set the box to hold [attacking_obj]!")) - - if(istype(attacking_obj, /obj/item/pen)) - if(!user.is_literate()) - to_chat(user, span_notice("You scribble illegibly on the cover of [src]!")) - return - var/inputvalue = stripped_input(user, "What would you like to label the box?", "Box Labelling", "", MAX_NAME_LEN) - - if(!inputvalue) - return - - if(user.canUseTopic(src, BE_CLOSE)) - name = "[initial(src.name)][(inputvalue ? " - '[inputvalue]'" : null)]" - -/obj/item/ammo_box/generic/examine(mob/user) - . = ..() - . += span_notice("[ammo_set ? "It's set to hold [ammo_name]\s. The box can hold up to [max_ammo] rounds." : "It doesn't have an ammo type set. Use a bullet on the box to set it."]") - . += span_notice("You can use a pen on it to rename the box.") - diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index f64586871ccf..877079684ed2 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -203,12 +203,14 @@ /obj/item/gun/ballistic/attackby(obj/item/A, mob/user, params) . = ..() - if (.) + + if(.) return + if(sealed_magazine) to_chat(user, span_warning("The magazine on [src] is sealed and cannot be reloaded!")) return - if (!internal_magazine && istype(A, /obj/item/ammo_box/magazine)) + if(!internal_magazine && istype(A, /obj/item/ammo_box/magazine)) var/obj/item/ammo_box/magazine/AM = A if (!magazine) insert_magazine(user, AM) @@ -218,7 +220,8 @@ else to_chat(user, "There's already a [magazine_wording] in \the [src].") return - if (istype(A, /obj/item/ammo_casing) || istype(A, /obj/item/ammo_box)) + + if(istype(A, /obj/item/ammo_casing) || istype(A, /obj/item/ammo_box/magazine/ammo_stack)) if (bolt_type == BOLT_TYPE_NO_BOLT || internal_magazine) if (chambered && !chambered.BB) chambered.on_eject(shooter = user) @@ -235,6 +238,7 @@ if (can_be_sawn_off) if (try_sawoff(user, A)) return + return FALSE ///Prefire empty checks for the bolt drop diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index 0b679dfcc4bf..5ac2370dc694 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -761,7 +761,7 @@ id = "foam_dart" build_type = AUTOLATHE materials = list(/datum/material/iron = 500) - build_path = /obj/item/ammo_box/foambox + build_path = /obj/item/storage/box/ammo/foam_darts category = list("initial", "Misc") /datum/design/handcuffs @@ -785,7 +785,7 @@ id = "c38_surplus" build_type = AUTOLATHE | PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c38_box/surplus + build_path = /obj/item/storage/box/ammo/c38_surplus category = list("initial", "Security", "Ammo") /datum/design/beanbag_slug @@ -817,7 +817,7 @@ id = "riot_darts" build_type = AUTOLATHE materials = list(/datum/material/iron = 50000) //Comes with 40 darts - build_path = /obj/item/ammo_box/foambox/riot + build_path = /obj/item/storage/box/ammo/foam_darts/riot category = list("initial", "Security") /datum/design/c10mm_surplus @@ -825,7 +825,7 @@ id = "c10mm-surplus" build_type = AUTOLATHE | PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c10mm/surplus + build_path = /obj/item/storage/box/ammo/c10mm_surplus category = list("initial", "Security", "Ammo") /datum/design/c45_surplus @@ -833,7 +833,7 @@ id = "c45-surplus" build_type = AUTOLATHE | PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c45/surplus + build_path = /obj/item/storage/box/ammo/c45_surplus category = list("initial", "Security", "Ammo") /datum/design/c9mm_surplus @@ -841,7 +841,7 @@ id = "c9mm-surplus" build_type = AUTOLATHE | PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c9mm/surplus + build_path = /obj/item/storage/box/ammo/c9mm_surplus category = list("initial", "Security", "Ammo") /datum/design/c556mmHITP_surplus @@ -849,15 +849,7 @@ id = "c556mmHITP-surplus" build_type = AUTOLATHE | PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c556mmHITP/surplus - category = list("initial", "Security", "Ammo") - -/datum/design/generic_ammo_box - name = "Generic Ammo Box" - id = "ammo-generic" - build_type = AUTOLATHE | PROTOLATHE - materials = list(/datum/material/iron = 1500) - build_path = /obj/item/ammo_box/generic + build_path = /obj/item/storage/box/ammo/c556mm_surplus category = list("initial", "Security", "Ammo") /datum/design/ammo_can diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index 1c3edc8b7c32..a07f9d96dd80 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -288,8 +288,6 @@ category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY -//Shiptest edit - standard ammunition - /datum/design/buckshot_shell name = "Buckshot Shell" id = "buckshot_shell" @@ -304,7 +302,7 @@ id = "c38" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c38_box + build_path = /obj/item/storage/box/ammo/c38 category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -313,7 +311,7 @@ id = "c9mm" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c9mm + build_path = /obj/item/storage/box/ammo/c9mm category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -322,7 +320,7 @@ id = "c10mm" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c10mm + build_path = /obj/item/storage/box/ammo/c10mm category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -331,7 +329,7 @@ id = "c45" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c45 + build_path = /obj/item/storage/box/ammo/c45 category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -340,19 +338,17 @@ id = "c556mmHITP" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c556mmHITP + build_path = /obj/item/storage/box/ammo/c556mm category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY -// WS edit - not so free rubbershot - /datum/design/rubbershot9mm name = "Rubbershot 9mm ammo box" desc = "A box full of less-than-lethal 9mm ammunition." id = "rubbershot9mm" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c9mm/rubbershot + build_path = /obj/item/storage/box/ammo/c9mm_rubber category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -362,7 +358,7 @@ id = "rubbershot10mm" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c10mm/rubbershot + build_path = /obj/item/storage/box/ammo/c10mm_rubber category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -372,7 +368,7 @@ id = "rubbershot45" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c45/rubbershot + build_path = /obj/item/storage/box/ammo/c45_rubber category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_BALLISTICS @@ -382,7 +378,7 @@ id = "rubbershot556mmHITP" build_type = PROTOLATHE materials = list(/datum/material/iron = 18000) - build_path = /obj/item/ammo_box/c556mmHITP/rubbershot + build_path = /obj/item/storage/box/ammo/c556mm_rubber category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -392,7 +388,7 @@ id = "ap9mm" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000, /datum/material/uranium = 1000) - build_path = /obj/item/ammo_box/c9mm/ap + build_path = /obj/item/storage/box/ammo/c9mm/ap category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -402,7 +398,7 @@ id = "ap10mm" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000, /datum/material/uranium = 1000) - build_path = /obj/item/ammo_box/c10mm/ap + build_path = /obj/item/storage/box/ammo/c10mm_ap category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -412,7 +408,7 @@ id = "ap45" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000, /datum/material/uranium = 1000) - build_path = /obj/item/ammo_box/c45/ap + build_path = /obj/item/storage/box/ammo/c45_ap category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_BALLISTICS @@ -422,7 +418,7 @@ id = "ap556mmHITP" build_type = PROTOLATHE materials = list(/datum/material/iron = 18000, /datum/material/uranium = 1000) - build_path = /obj/item/ammo_box/c556mmHITP/ap + build_path = /obj/item/storage/box/ammo/c556mm_ap category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -432,7 +428,7 @@ id = "hp9mm" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000, /datum/material/silver = 1000) - build_path = /obj/item/ammo_box/c9mm/hp + build_path = /obj/item/storage/box/ammo/c9mm_hp category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -442,7 +438,7 @@ id = "hp10mm" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000, /datum/material/silver = 1000) - build_path = /obj/item/ammo_box/c10mm/hp + build_path = /obj/item/storage/box/ammo/c10mm_hp category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -452,7 +448,7 @@ id = "hp45" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000, /datum/material/silver = 1000) - build_path = /obj/item/ammo_box/c45/hp + build_path = /obj/item/storage/box/ammo/c45_hp category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_BALLISTICS @@ -462,7 +458,7 @@ id = "hp556mmHITP" build_type = PROTOLATHE materials = list(/datum/material/iron = 18000, /datum/material/silver = 1000) - build_path = /obj/item/ammo_box/c556mmHITP/hp + build_path = /obj/item/storage/box/ammo/c556mm_hp category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -472,7 +468,7 @@ id = "inc9mm" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000, /datum/material/plasma = 5000) - build_path = /obj/item/ammo_box/c9mm/fire + build_path = /obj/item/storage/box/ammo/c9mm_incendiary category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -482,7 +478,7 @@ id = "inc10mm" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000, /datum/material/plasma = 5000) - build_path = /obj/item/ammo_box/c10mm/fire + build_path = /obj/item/storage/box/ammo/c10mm_incendiary category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY @@ -492,7 +488,7 @@ id = "inc45" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000, /datum/material/plasma = 5000) - build_path = /obj/item/ammo_box/c45/fire + build_path = /obj/item/storage/box/ammo/c45_incendiary category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_BALLISTICS @@ -737,5 +733,5 @@ id = "c9mmautolathe" build_type = AUTOLATHE materials = list(/datum/material/iron = 15000) - build_path = /obj/item/ammo_box/c9mm + build_path = /obj/item/storage/box/ammo/c9mm category = list("Imported") diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 0923ba1cc70e..5566c11f7575 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -869,7 +869,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/ammo/toydarts name = "Box of Riot Darts" desc = "A box of 40 Donksoft riot darts, for reloading any compatible foam dart magazine. Don't forget to share!" - item = /obj/item/ammo_box/foambox/riot + item = /obj/item/storage/box/ammo/foam_darts/riot cost = 2 surplus = 0 illegal_tech = FALSE diff --git a/code/modules/vending/liberation_toy.dm b/code/modules/vending/liberation_toy.dm index 06069e4db764..931611da1df9 100644 --- a/code/modules/vending/liberation_toy.dm +++ b/code/modules/vending/liberation_toy.dm @@ -10,14 +10,14 @@ /obj/item/gun/ballistic/automatic/toy/pistol = 10, /obj/item/gun/ballistic/shotgun/toy = 10, /obj/item/toy/sword = 10, - /obj/item/ammo_box/foambox = 20, + /obj/item/storage/box/ammo/foam_darts = 20, /obj/item/toy/foamblade = 10, /obj/item/toy/balloon/syndicate = 10, /obj/item/clothing/suit/syndicatefake = 5, /obj/item/clothing/head/syndicatefake = 5) //OPS IN DORMS oh wait it's just an assistant contraband = list( /obj/item/gun/ballistic/shotgun/toy/crossbow = 10, //Congrats, you unlocked the +18 setting! - /obj/item/ammo_box/foambox/riot = 20, + /obj/item/storage/box/ammo/foam_darts/riot = 20, /obj/item/toy/katana = 10, /obj/item/dualsaber/toy = 5, /obj/item/toy/cards/deck/syndicate = 10) //Gambling and it hurts, making it a +18 item diff --git a/code/modules/vending/security.dm b/code/modules/vending/security.dm index 37a51b27bb89..007b66c193c1 100644 --- a/code/modules/vending/security.dm +++ b/code/modules/vending/security.dm @@ -12,8 +12,6 @@ /obj/item/assembly/flash/handheld = 5, /obj/item/storage/box/evidence = 6, /obj/item/flashlight/seclite = 4, - /obj/item/ammo_box/c9mm/rubbershot = 3, - /obj/item/ammo_box/c9mm = 1, /obj/item/stock_parts/cell/gun = 3, /obj/item/clothing/glasses/sunglasses = 2) premium = list( diff --git a/code/modules/vending/toys.dm b/code/modules/vending/toys.dm index 08af917aa86a..898844a31c09 100644 --- a/code/modules/vending/toys.dm +++ b/code/modules/vending/toys.dm @@ -12,7 +12,7 @@ /obj/item/gun/ballistic/automatic/toy/pistol = 10, /obj/item/gun/ballistic/shotgun/toy = 10, /obj/item/toy/sword = 10, - /obj/item/ammo_box/foambox = 20, + /obj/item/storage/box/ammo/foam_darts = 20, /obj/item/toy/foamblade = 10, /obj/item/toy/balloon/syndicate = 10, /obj/item/clothing/suit/syndicatefake = 5, diff --git a/icons/obj/ammo_bullets.dmi b/icons/obj/ammo_bullets.dmi deleted file mode 100644 index 087cdd4c771e38e83cb64652514ec57690fc445c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2226 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�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 OA28Cps9UA&82&%8d>79E literal 0 HcmV?d00001 diff --git a/icons/obj/ammunition/ammo_bullets.dmi b/icons/obj/ammunition/ammo_bullets.dmi new file mode 100644 index 0000000000000000000000000000000000000000..25ea909762aabe87477e7d5f56203343ac49b436 GIT binary patch literal 3390 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 U5O%5ue*}P~xs6$sseAmt0J)iYw*UYD literal 0 HcmV?d00001 diff --git a/shiptest.dme b/shiptest.dme index c4df2014cdcb..64ffda70b382 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -1349,6 +1349,7 @@ #include "code\game\objects\items\stacks\tiles\tile_reskinning.dm" #include "code\game\objects\items\stacks\tiles\tile_types.dm" #include "code\game\objects\items\stacks\tiles\tiles_suns.dm" +#include "code\game\objects\items\storage\ammo_can.dm" #include "code\game\objects\items\storage\backpack.dm" #include "code\game\objects\items\storage\bags.dm" #include "code\game\objects\items\storage\belt.dm" @@ -2996,7 +2997,7 @@ #include "code\modules\power\tesla\generator.dm" #include "code\modules\projectiles\gun.dm" #include "code\modules\projectiles\projectile.dm" -#include "code\modules\projectiles\ammunition\_ammunition.dm" +#include "code\modules\projectiles\ammunition\_ammo_casing.dm" #include "code\modules\projectiles\ammunition\_firing.dm" #include "code\modules\projectiles\ammunition\ballistic\lmg.dm" #include "code\modules\projectiles\ammunition\ballistic\pistol.dm" @@ -3023,8 +3024,17 @@ #include "code\modules\projectiles\ammunition\special\magic.dm" #include "code\modules\projectiles\ammunition\special\syringe.dm" #include "code\modules\projectiles\boxes_magazines\_box_magazine.dm" -#include "code\modules\projectiles\boxes_magazines\ammo_boxes.dm" -#include "code\modules\projectiles\boxes_magazines\generic_ammo_box.dm" +#include "code\modules\projectiles\boxes_magazines\ammo_loaders.dm" +#include "code\modules\projectiles\boxes_magazines\ammo_stacks\_ammo_stack.dm" +#include "code\modules\projectiles\boxes_magazines\ammo_stacks\prefab_stacks\_premade_stacks.dm" +#include "code\modules\projectiles\boxes_magazines\ammo_stacks\prefab_stacks\premade_gauss_stacks.dm" +#include "code\modules\projectiles\boxes_magazines\ammo_stacks\prefab_stacks\premade_lmg_stacks.dm" +#include "code\modules\projectiles\boxes_magazines\ammo_stacks\prefab_stacks\premade_misc_stacks.dm" +#include "code\modules\projectiles\boxes_magazines\ammo_stacks\prefab_stacks\premade_pistol_stacks.dm" +#include "code\modules\projectiles\boxes_magazines\ammo_stacks\prefab_stacks\premade_rifle_stacks.dm" +#include "code\modules\projectiles\boxes_magazines\ammo_stacks\prefab_stacks\premade_shotshell_stacks.dm" +#include "code\modules\projectiles\boxes_magazines\ammo_stacks\prefab_stacks\premade_smg_stacks.dm" +#include "code\modules\projectiles\boxes_magazines\ammo_stacks\prefab_stacks\premade_sniper_stacks.dm" #include "code\modules\projectiles\boxes_magazines\external\gauss.dm" #include "code\modules\projectiles\boxes_magazines\external\grenade.dm" #include "code\modules\projectiles\boxes_magazines\external\pistol.dm" From 6846c58d96906eca42f80da13c706081cf560b1b Mon Sep 17 00:00:00 2001 From: MrCat15352 Date: Fri, 27 Dec 2024 14:52:45 +0500 Subject: [PATCH 031/344] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BC=D0=B5?= =?UTF-8?q?=D1=89=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BE=D0=B4=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../projectiles/ammunition/_ammo_casing.dm | 25 ------------------- mod_celadon/balance/README.md | 2 +- 2 files changed, 1 insertion(+), 26 deletions(-) diff --git a/code/modules/projectiles/ammunition/_ammo_casing.dm b/code/modules/projectiles/ammunition/_ammo_casing.dm index d48e479ed075..237baa0d536a 100644 --- a/code/modules/projectiles/ammunition/_ammo_casing.dm +++ b/code/modules/projectiles/ammunition/_ammo_casing.dm @@ -174,31 +174,6 @@ if(!BB) BB = new projectile_type(src, src) -/obj/item/ammo_casing/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/ammo_box)) - var/obj/item/ammo_box/box = I - if(isturf(loc)) - var/boolets = 0 - for(var/obj/item/ammo_casing/bullet in loc) - if (box.stored_ammo.len >= box.max_ammo) - break - if (bullet.BB) - if (box.give_round(bullet, 0)) - boolets++ - // [CELADON-ADD] - CELADON_BALANCE - playsound(loc, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) - break - // [/CELADON-ADD] - else - continue - if (boolets > 0) - box.update_appearance() - to_chat(user, "You collect [boolets] shell\s. [box] now contains [box.stored_ammo.len] shell\s.") - else - to_chat(user, "You fail to collect anything!") - else - return ..() - /obj/item/ammo_casing/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) bounce_away(FALSE, NONE) diff --git a/mod_celadon/balance/README.md b/mod_celadon/balance/README.md index d6d6856d7f0d..d5222c839435 100644 --- a/mod_celadon/balance/README.md +++ b/mod_celadon/balance/README.md @@ -51,7 +51,7 @@ EDIT: `code\modules\cargo\packs\food.dm` : `/datum/supply_pack/food/` Лут с элиток (на данный момент убрано из кода для ребаланса) EDIT: `code\modules\mob\living\simple_animal\hostile\mining_mobs\elites\elite.dm`: `/obj/structure/elite_tumor/proc/onEliteLoss()` -> var/obj/structure/closet/crate/necropolis/tendril/lootbox = new /obj/structure/closet/crate/necropolis/tendril(loc) -ADD: `code\modules\projectiles\ammunition\_ammunition.dm` : /obj/item/ammo_casing/attackby(obj/item/I, mob/user, params) -> добавлены звук подбора патрона в магазин с пола и задержка в 1 секунду зависящая от кликанья по патронам. Чем быстрее клики - тем быстрее загрузятся патроны. +ADD: `code\modules\projectiles\ammunition\_ammunition.dm` : /obj/item/ammo_casing/attackby(obj/item/I, mob/user, params) -> добавлены звук подбора патрона в магазин с пола и задержка в 1 секунду зависящая от кликанья по патронам. Чем быстрее клики - тем быстрее загрузятся патроны. -> перемещено в `mod_celadon/items/code/ammunition.dm` Очки с зомби и ксеноморфов REMOVE: `D:\1ss\ShiptestYata\code\modules\surgery\experimental_dissection.dm`: `/datum/surgery_step/dissection/preop` REMOVE: `code\modules\projectiles\guns\energy.dm` From d3a7c034c791f287ae40afe499f0a08f375ad502 Mon Sep 17 00:00:00 2001 From: MrCat15352 Date: Fri, 27 Dec 2024 15:01:14 +0500 Subject: [PATCH 032/344] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=BA=D0=BE=D0=BD=D1=84=D0=BB=D0=B8=D0=BA=D1=82=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=20=D1=87=D0=B5=D1=80=D0=B8=D0=BA?= =?UTF-8?q?=D0=BF=D0=B8=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mod_celadon/ghost_roles/code/outfits.dm | 4 ++-- .../code/supply_pack/nanotrasen/ammo.dm | 4 ++-- .../code/supply_pack/solfed/ammo.dm | 4 ++-- .../code/supply_pack/syndicate/ammo.dm | 2 +- .../projectiles/ammunition/ballistic/rifle.dm | 22 +++++++++---------- .../ammunition/ballistic/shotgun.dm | 6 ++--- 6 files changed, 21 insertions(+), 21 deletions(-) diff --git a/mod_celadon/ghost_roles/code/outfits.dm b/mod_celadon/ghost_roles/code/outfits.dm index bca32e988d19..d81dd151ea96 100644 --- a/mod_celadon/ghost_roles/code/outfits.dm +++ b/mod_celadon/ghost_roles/code/outfits.dm @@ -62,8 +62,8 @@ gloves = /obj/item/clothing/gloves/tackler/combat back = /obj/item/storage/backpack backpack_contents = list(/obj/item/storage/box/beanbag, - /obj/item/ammo_box/a12g/slug, - /obj/item/ammo_box/a12g/rubbershot, + /obj/item/storage/box/ammo/a12g_slug, + /obj/item/storage/box/ammo/a12g_rubbershot, /obj/item/barcodescanner, /obj/item/barcode = 5, /obj/item/reagent_containers/food/drinks/shaker) diff --git a/mod_celadon/outpost_console/code/supply_pack/nanotrasen/ammo.dm b/mod_celadon/outpost_console/code/supply_pack/nanotrasen/ammo.dm index 10022733c0b1..89335ce9254a 100644 --- a/mod_celadon/outpost_console/code/supply_pack/nanotrasen/ammo.dm +++ b/mod_celadon/outpost_console/code/supply_pack/nanotrasen/ammo.dm @@ -4,13 +4,13 @@ /datum/supply_pack/faction/nanotrasen/ammo/commander_ammo_box name = "9mm ammo box" desc = "9mm ammo box for guns like commander. Contains 50 shells" - contains = list(/obj/item/ammo_box/c9mm) + contains = list(/obj/item/storage/box/ammo/c9mm) cost = 250 /datum/supply_pack/faction/nanotrasen/ammo/wt_ammo_box name = "4.6x30mm ammo box" desc = "4.6x30mm ammo box for guns like WT550. Contains 50 shells" - contains = list(/obj/item/ammo_box/c46x30mm_box) + contains = list(/obj/item/storage/box/ammo/c46x30mm) cost = 500 /datum/supply_pack/faction/nanotrasen/ammo/wt_magazine diff --git a/mod_celadon/outpost_console/code/supply_pack/solfed/ammo.dm b/mod_celadon/outpost_console/code/supply_pack/solfed/ammo.dm index 67f312d7235e..b772554ab494 100644 --- a/mod_celadon/outpost_console/code/supply_pack/solfed/ammo.dm +++ b/mod_celadon/outpost_console/code/supply_pack/solfed/ammo.dm @@ -4,11 +4,11 @@ /datum/supply_pack/faction/solfed/ammo/ferrolancebox name = "Ferromagnetic lance" desc = "A box of standard ferromagnetic lances" - contains = list(/obj/item/ammo_box/ferrolancebox) + contains = list(/obj/item/storage/box/ammo/ferrolance) cost = 700 /datum/supply_pack/faction/solfed/ammo/ferropellets name = "A box of ferromagnetic pellets" desc = "Contains a fifty-round .45" - contains = list(/obj/item/ammo_box/ferropelletbox) + contains = list(/obj/item/storage/box/ammo/ferropellet) cost = 500 diff --git a/mod_celadon/outpost_console/code/supply_pack/syndicate/ammo.dm b/mod_celadon/outpost_console/code/supply_pack/syndicate/ammo.dm index 720203291886..83b7e1edb4f2 100644 --- a/mod_celadon/outpost_console/code/supply_pack/syndicate/ammo.dm +++ b/mod_celadon/outpost_console/code/supply_pack/syndicate/ammo.dm @@ -10,5 +10,5 @@ /datum/supply_pack/faction/syndicate/ammo/c45_ammo_box name = ".45 Ammo Box Crate" desc = "Contains a fifty-round .45" - contains = list(/obj/item/ammo_box/c45) + contains = list(/obj/item/storage/box/ammo/c45) cost = 500 diff --git a/mod_celadon/weapons/code/modules/projectiles/ammunition/ballistic/rifle.dm b/mod_celadon/weapons/code/modules/projectiles/ammunition/ballistic/rifle.dm index fd1114a3b0dd..33b44d298810 100644 --- a/mod_celadon/weapons/code/modules/projectiles/ammunition/ballistic/rifle.dm +++ b/mod_celadon/weapons/code/modules/projectiles/ammunition/ballistic/rifle.dm @@ -7,7 +7,7 @@ icon_state = "rifle-brass" caliber = "5.56x39mm" projectile_type = /obj/projectile/bullet/a556_39 - bullet_per_box = 80 + // bullet_per_box = 80 // 5.56x45 @@ -17,7 +17,7 @@ icon_state = "rifle-brass" caliber = "5.56x45mm" projectile_type = /obj/projectile/bullet/a556_45 - bullet_per_box = 80 + // bullet_per_box = 80 /obj/item/ammo_casing/a556_45/a856 name = "5.56mm A856 bullet casing" @@ -25,7 +25,7 @@ icon_state = "rifle-brass-incen" caliber = "5.56x45mm" projectile_type = /obj/projectile/bullet/a556_45/a856 - bullet_per_box = 80 // Хрен знает зачем это , ставим пока одинаковые значения везде + // bullet_per_box = 80 // Хрен знает зачем это , ставим пока одинаковые значения везде /obj/item/ammo_casing/a556_45/m903 name = "5.56mm M903 bullet casing" @@ -33,7 +33,7 @@ icon_state = "rifle-brass-ap" caliber = "5.56x45mm" projectile_type = /obj/projectile/bullet/a556_45/m903 - bullet_per_box = 80 + // bullet_per_box = 80 /obj/item/ammo_casing/a556_45/surplus name = "5.56mm surplus bullet casing" @@ -41,7 +41,7 @@ icon_state = "rifle-brass-surplus" caliber = "5.56x45mm" projectile_type = /obj/projectile/bullet/a556_45/surplus - bullet_per_box = 80 + // bullet_per_box = 80 // // .308 @@ -53,35 +53,35 @@ icon_state = "rifle-brass" caliber = ".308" projectile_type = /obj/projectile/bullet/a308 - bullet_per_box = 80 + // bullet_per_box = 80 /obj/item/ammo_casing/a308/a308_sp name = "7,62x51 Winchester bullet casing" desc = "A 7,62x51 Winchester bullet casing." icon_state = "rifle-brass-hollow" projectile_type = /obj/projectile/bullet/a308_sp - bullet_per_box = 80 + // bullet_per_box = 80 /obj/item/ammo_casing/a308/a308_brak name = "7,62x51 surplus bullet casing" desc = "7,62x51 surplus bullet casing." icon_state = "rifle-brass-surplus" projectile_type = /obj/projectile/bullet/a308/a308_brak - bullet_per_box = 80 + // bullet_per_box = 80 /obj/item/ammo_casing/a308/a308_ap name = "7,62x51 M-80 bullet casing" desc = "A 7,62x51 M-80 bullet casing." icon_state = "rifle-brass-ap" projectile_type = /obj/projectile/bullet/a308/a308_ap - bullet_per_box = 80 + // bullet_per_box = 80 /obj/item/ammo_casing/a308/a308_rubber name = "7,62x51 M-80 bullet casing" desc = "A 7,62x51 M-80 bullet casing." icon_state = "rifle-brass-rubber" projectile_type = /obj/projectile/bullet/a308/a308_rub - bullet_per_box = 80 + // bullet_per_box = 80 // // 7.62x54mmR @@ -93,4 +93,4 @@ icon_state = "big-steel" caliber = "7.62x54" projectile_type = /obj/projectile/bullet/x762x54 - bullet_per_box = 80 + // bullet_per_box = 80 diff --git a/mod_celadon/weapons/code/modules/projectiles/ammunition/ballistic/shotgun.dm b/mod_celadon/weapons/code/modules/projectiles/ammunition/ballistic/shotgun.dm index db4af4a838c0..cf4665f93a5f 100644 --- a/mod_celadon/weapons/code/modules/projectiles/ammunition/ballistic/shotgun.dm +++ b/mod_celadon/weapons/code/modules/projectiles/ammunition/ballistic/shotgun.dm @@ -6,7 +6,7 @@ icon_state = "backshot_410" caliber = "410x76mm" projectile_type = /obj/projectile/bullet/pellet/a410 - bullet_per_box = 75 + // bullet_per_box = 75 /obj/item/ammo_casing/a410/a410_slug name = "410mm bullet casing" @@ -15,7 +15,7 @@ icon_state = "slug_410" caliber = "410x76mm" projectile_type = /obj/projectile/bullet/slug/a410 - bullet_per_box = 65 + // bullet_per_box = 65 /obj/item/ammo_casing/a410/a410_flechette name = "410mm bullet casing" @@ -24,4 +24,4 @@ icon_state = "flechette_410" caliber = "410x76mm" projectile_type = /obj/projectile/bullet/flechette/a410 - bullet_per_box = 55 + // bullet_per_box = 55 From 3ada760a64286da1f7a5e2f030ac688f56b0b4a3 Mon Sep 17 00:00:00 2001 From: rye-rice <58402542+rye-rice@users.noreply.github.com> Date: Sat, 12 Oct 2024 14:18:15 -0700 Subject: [PATCH 033/344] Moar hair (mostly ponytails) (#3520) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # please please, please do not port this to tg or a non-ship server. this is me asking nicely to not to, i do not want this on a non-shiptest-like server Shoutout to braided for being the first hairstyle to make me go "This is unsalvageable" ## About The Pull Request part of project re:hair It's that time again for the ✨re:hair ✨ pull request! Hair cuts/Replacement chart in case your character breaks: Braid (High) --> Ponytail (Braided) - Done by @Imaginos16 Braid (Floorlength) --> Ponytail (Braided Short) - Done by @Imaginos16 Ponytail (Long) --> Ponytail (Straight) - Done by rye-rice Ponytail (High) --> Ponytail (Straight Short) - Done by rye-rice Ponytail 2 --> Ponytail (Grace) - Done by rye-rice Ponytail 3 --> Ponytail (Grace) - Done by rye-rice Ruby - Done by rye-rice Ruby (Long) - Done by rye-rice Ponytail (Country) - Done by @Imaginos16 Bobcurl - Done by @Imaginos16 Braided \\ Braided Front | --> The Dumpster Braid (Low) | Braid (Short) / ## Why It's Good For The Game ![image](https://github.com/user-attachments/assets/d4d4419e-6be3-4dbc-a897-944a92482f8d) ![image](https://github.com/user-attachments/assets/c93e2214-5de5-453d-ae92-3a4a2656918c) ![image](https://github.com/user-attachments/assets/f97ac5eb-be9d-4081-a1f8-50b69d96d738) ## Changelog :cl: Imaginos16, rye-rice add: A few hairstyles have been resprited! del: the Braided and Braid line of hairs. /:cl: --------- Co-authored-by: retlaw34 <58402542+retlaw34@users.noreply.github.com> --- .../new_player/sprite_accessories/hair.dm | 53 +++++++----------- icons/mob/human_face.dmi | Bin 103180 -> 102095 bytes 2 files changed, 19 insertions(+), 34 deletions(-) diff --git a/code/modules/mob/dead/new_player/sprite_accessories/hair.dm b/code/modules/mob/dead/new_player/sprite_accessories/hair.dm index c94d1ac44e10..d2444886867a 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/hair.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/hair.dm @@ -93,29 +93,21 @@ name = "Bowlcut 2" icon_state = "hair_bowlcut2" -/datum/sprite_accessory/hair/braid - name = "Braid (Floorlength)" - icon_state = "hair_braid" - -/datum/sprite_accessory/hair/braided - name = "Braided" - icon_state = "hair_braided" - -/datum/sprite_accessory/hair/front_braid - name = "Braided Front" - icon_state = "hair_braidfront" - -/datum/sprite_accessory/hair/not_floorlength_braid - name = "Braid (High)" +/datum/sprite_accessory/hair/ponytail_braided + name = "Ponytail (Braided)" icon_state = "hair_braid2" -/datum/sprite_accessory/hair/lowbraid - name = "Braid (Low)" - icon_state = "hair_hbraid" +/datum/sprite_accessory/hair/ponytail_braided_short + name = "Ponytail (Braided Short)" + icon_state = "hair_braid" -/datum/sprite_accessory/hair/shortbraid - name = "Braid (Short)" - icon_state = "hair_shortbraid" +/datum/sprite_accessory/hair/ponytail_straight + name = "Ponytail (Straight)" + icon_state = "hair_longstraightponytail" + +/datum/sprite_accessory/hair/ponytail_straight_short + name = "Ponytail (Straight Short)" + icon_state = "hair_highponytail" /datum/sprite_accessory/hair/braidtail name = "Braided Tail" @@ -506,12 +498,8 @@ icon_state = "hair_ponytail" /datum/sprite_accessory/hair/ponytail2 - name = "Ponytail 2" - icon_state = "hair_ponytail2" - -/datum/sprite_accessory/hair/ponytail3 - name = "Ponytail 3" - icon_state = "hair_ponytail3" + name = "Ponytail (Grace)" + icon_state = "hair_ponytailgrace" /datum/sprite_accessory/hair/ponytail4 name = "Ponytail 4" @@ -529,21 +517,14 @@ name = "Ponytail 7" icon_state = "hair_ponytail7" -/datum/sprite_accessory/hair/highponytail - name = "Ponytail (High)" - icon_state = "hair_highponytail" /datum/sprite_accessory/hair/stail name = "Ponytail (Short)" icon_state = "hair_stail" -/datum/sprite_accessory/hair/longponytail - name = "Ponytail (Long)" - icon_state = "hair_longstraightponytail" - /datum/sprite_accessory/hair/countryponytail name = "Ponytail (Country)" - icon_state = "hair_country" + icon_state = "hair_ponytailcountry" /datum/sprite_accessory/hair/fringetail name = "Ponytail (Fringe)" @@ -725,6 +706,10 @@ name = "Ruby" icon_state = "hair_ruby" +/datum/sprite_accessory/hair/rubylong + name = "Ruby (Long)" + icon_state = "hair_rubylong" + /datum/sprite_accessory/hair/undercut name = "Undercut" icon_state = "hair_undercut" diff --git a/icons/mob/human_face.dmi b/icons/mob/human_face.dmi index 27c45db506499b5a08073abeeda4705d0d075eb0..0c0efee7cbb7345677763bb0eb7521375f91f72b 100644 GIT binary patch literal 102095 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 z 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 WL~Y4rUZv|W@MCIZZdjmi|KMN0>{ literal 103180 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 jyGI0kN{jmQ7ZQ5tD From 4ac0c00d960dbb2ee8d4af181df3c8d85d27b7ca Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Sat, 12 Oct 2024 18:10:36 -0500 Subject: [PATCH 034/344] update paths for ammo stacks (#3542) ## About The Pull Request ## Why It's Good For The Game ## Changelog :cl: add: update path txt for ammo boxes, thgvr will be FIRED for forgeting this. /:cl: --- .../BeachRuins/beach_ancient_ruin.dmm | 2 +- .../lavaland_surface_lava_canyon.dmm | 2 +- .../RockRuins/rockplanet_budgetcuts.dmm | 2 +- tools/UpdatePaths/Scripts/3456_ammoboxes.txt | 69 +++++++++++++++++++ 4 files changed, 72 insertions(+), 3 deletions(-) create mode 100644 tools/UpdatePaths/Scripts/3456_ammoboxes.txt diff --git a/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm b/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm index cfe522aeb415..bda6fb742d53 100644 --- a/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm @@ -373,7 +373,7 @@ name = "charge rifle" }, /obj/item/gun/energy/lasercannon{ - pixel_y = 5; + pixel_y = 5 }, /obj/item/gun/energy/lasercannon, /obj/effect/turf_decal/industrial/hatch, diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_lava_canyon.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_lava_canyon.dmm index 92fa7dfb9203..6ad3e8ba7458 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_lava_canyon.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_lava_canyon.dmm @@ -883,7 +883,7 @@ /area/overmap_encounter/planetoid/lava/explored) "zb" = ( /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner{ - loot = list(/obj/item/melee/transforming/cleaving_saw,/obj/item/gun/energy/kinetic_accelerator,/obj/item/keycard/gatedrop/lavacanyon); + loot = list(/obj/item/melee/transforming/cleaving_saw,/obj/item/gun/energy/kinetic_accelerator,/obj/item/keycard/gatedrop/lavacanyon) }, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/overmap_encounter/planetoid/cave/explored) diff --git a/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm b/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm index ef9240170e41..183df18879da 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm @@ -2745,7 +2745,7 @@ /area/ruin/rockplanet/nanotrasen) "WY" = ( /obj/structure/frame/computer{ - dir = 1; + dir = 1 }, /obj/effect/turf_decal/corner/opaque/red/diagonal, /turf/open/floor/plasteel/tech/techmaint, diff --git a/tools/UpdatePaths/Scripts/3456_ammoboxes.txt b/tools/UpdatePaths/Scripts/3456_ammoboxes.txt new file mode 100644 index 000000000000..986c3f55894a --- /dev/null +++ b/tools/UpdatePaths/Scripts/3456_ammoboxes.txt @@ -0,0 +1,69 @@ +/obj/item/ammo_box/c10mm : /obj/item/storage/box/ammo/c10mm {@OLD} +/obj/item/ammo_box/c10mm/surplus : /obj/item/storage/box/ammo/c10mm_surplus {@OLD} +/obj/item/ammo_box/c10mm/ap : /obj/item/storage/box/ammo/c10mm_ap {@OLD} +/obj/item/ammo_box/c10mm/hp : /obj/item/storage/box/ammo/c10mm_hp {@OLD} +/obj/item/ammo_box/c10mm/fire: /obj/item/storage/box/ammo/c10mm_incendiary {@OLD} +/obj/item/ammo_box/c10mm/rubbershot : /obj/item/storage/box/ammo/c10mm_rubber {@OLD} + +/obj/item/ammo_box/c9mm : /obj/item/storage/box/ammo/c9mm {@OLD} +/obj/item/ammo_box/c9mm/surplus : /obj/item/storage/box/ammo/c9mm_surplus {@OLD} +/obj/item/ammo_box/c9mm/ap : /obj/item/storage/box/ammo/c9mm/ap {@OLD} +/obj/item/ammo_box/c9mm/hp : /obj/item/storage/box/ammo/c9mm_hp {@OLD} +/obj/item/ammo_box/c9mm/fire : /obj/item/storage/box/ammo/c9mm_incendiary {@OLD} +/obj/item/ammo_box/c9mm/rubbershot : /obj/item/storage/box/ammo/c9mm_rubber {@OLD} + +/obj/item/ammo_box/c45 : /obj/item/storage/box/ammo/c45 {@OLD} +/obj/item/ammo_box/c45/surplus : /obj/item/storage/box/ammo/c45_surplus {@OLD} +/obj/item/ammo_box/c45/ap : /obj/item/storage/box/ammo/c45_ap {@OLD} +/obj/item/ammo_box/c45/hp : /obj/item/storage/box/ammo/c45_hp {@OLD} +/obj/item/ammo_box/c45/fire : /obj/item/storage/box/ammo/c45_incendiary {@OLD} +/obj/item/ammo_box/c45/rubbershot : /obj/item/storage/box/ammo/c45_rubber {@OLD} + +/obj/item/ammo_box/c22lr_box : /obj/item/storage/box/ammo/c22lr {@OLD} + +/obj/item/ammo_box/a357_box : /obj/item/storage/box/ammo/a357 {@OLD} +/obj/item/ammo_box/a357_box/match : /obj/item/storage/box/ammo/a357_match {@OLD} +/obj/item/ammo_box/a357_box/hp : /obj/item/storage/box/ammo/a357_hp {@OLD} + +/obj/item/ammo_box/a4570 : /obj/item/storage/box/ammo/a4570 {@OLD} +/obj/item/ammo_box/a4570/match : /obj/item/storage/box/ammo/a4570_match {@OLD} +/obj/item/ammo_box/a4570/hp : /obj/item/storage/box/ammo/a4570_hp {@OLD} +/obj/item/ammo_box/a4570/explosive : /obj/item/storage/box/ammo/a4570_explosive {@OLD} + +/obj/item/ammo_box/c38_box : /obj/item/storage/box/ammo/c38 {@OLD} +/obj/item/ammo_box/c38_box/surplus : /obj/item/storage/box/ammo/c38_surplus {@OLD} + +/obj/item/ammo_box/a44roum : /obj/item/storage/box/ammo/a44roum {@OLD} +/obj/item/ammo_box/a44roum/hp : /obj/item/storage/box/ammo/a44roum_hp {@OLD} +/obj/item/ammo_box/a44roum/rubber : /obj/item/storage/box/ammo/a44roum_rubber {@OLD} + +/obj/item/ammo_box/a12g : /obj/item/storage/box/ammo/a12g_buckshot {@OLD} +/obj/item/ammo_box/a12g/slug : /obj/item/storage/box/ammo/a12g_slug {@OLD} +/obj/item/ammo_box/a12g/beanbag : /obj/item/storage/box/ammo/a12g_beanbag {@OLD} +/obj/item/ammo_box/a12g/rubbershot : /obj/item/storage/box/ammo/a12g_rubbershot {@OLD} + +/obj/item/ammo_box/c46x30mm_box : /obj/item/storage/box/ammo/c46x30mm {@OLD} + +/obj/item/ammo_box/c556mmHITP : /obj/item/storage/box/ammo/c556mm {@OLD} +/obj/item/ammo_box/c556mmHITP/surplus : /obj/item/storage/box/ammo/c556mm_surplus {@OLD} +/obj/item/ammo_box/c556mmHITP/ap : /obj/item/storage/box/ammo/c556mm_ap {@OLD} +/obj/item/ammo_box/c556mmHITP/hp : /obj/item/storage/box/ammo/c556mm_hp {@OLD} +/obj/item/ammo_box/c556mmHITP/rubbershot : /obj/item/storage/box/ammo/c556mm_rubber {@OLD} + +/obj/item/ammo_box/c8x50mm_box : /obj/item/storage/box/ammo/a8_50r {@OLD} +/obj/item/ammo_box/c8x50mmhp_box : /obj/item/storage/box/ammo/a8_50r_hp {@OLD} + +/obj/item/ammo_box/a300_box : /obj/item/storage/box/ammo/a300 {@OLD} + +/obj/item/ammo_box/a762_40 : /obj/item/storage/box/ammo/a762_40 {@OLD} +/obj/item/ammo_box/a762_40/inteq : /obj/item/storage/box/ammo/a762_40/inteq {@OLD} + +/obj/item/ammo_box/a308 : /obj/item/storage/box/ammo/a308 {@OLD} +/obj/item/ammo_box/a308/hunterspride : /obj/item/storage/box/ammo/a308/hunterspride {@OLD} + +/obj/item/ammo_box/ferropelletbox : /obj/item/storage/box/ammo/ferropellet {@OLD} +/obj/item/ammo_box/ferroslugbox : /obj/item/storage/box/ammo/ferroslug {@OLD} +/obj/item/ammo_box/ferrolancebox : /obj/item/storage/box/ammo/ferrolance {@OLD} + +/obj/item/ammo_box/foambox : /obj/item/storage/box/ammo/foam_darts {@OLD} +/obj/item/ammo_box/foambox/riot : /obj/item/storage/box/ammo/foam_darts/riot {@OLD} From 4fdd0f0726d5f2d7951a284ba243b806d61f5c66 Mon Sep 17 00:00:00 2001 From: Imaginos16 <77556824+Imaginos16@users.noreply.github.com> Date: Sun, 13 Oct 2024 13:08:41 -0700 Subject: [PATCH 035/344] Resprites Fridges! (#3549) ## About The Pull Request Does what it says on the tin, finally implementing sprites done in collaboration with the exceedingly talented Spookywastaken. Thank you for that first sprite dog, I wouldn't have finished this monstrosity without your help. ![image](https://github.com/user-attachments/assets/be838ef6-e61b-4b67-a72d-f679cd595a82) This PR also surprisingly fixes a bug where the broken state of the smartfridge wouldn't display due to the fact someone forgot to add it in code. Whoops. ## Why It's Good For The Game Death to all cruft in our server. ## Changelog :cl: Spooky, PositiveEntropy imageadd: Smartfridges and Booze-O-Mats have been resprited! /:cl: --- .../kitchen_machinery/smartfridge.dm | 10 ++++++---- icons/obj/vending.dmi | Bin 144315 -> 157479 bytes 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm index 9a6b10e0444b..6016def705b5 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -12,6 +12,7 @@ idle_power_usage = IDLE_DRAW_MINIMAL active_power_usage = ACTIVE_DRAW_MINIMAL circuit = /obj/item/circuitboard/machine/smartfridge + integrity_failure = 0.4 var/max_n_of_items = 1500 var/allow_ai_retrieve = FALSE @@ -40,7 +41,10 @@ . += "The status display reads: This unit can hold a maximum of [max_n_of_items] items." /obj/machinery/smartfridge/update_icon_state() - if(machine_stat) + if(machine_stat & BROKEN) + icon_state = "[initial(icon_state)]-broken" + return ..() + else if(!powered()) icon_state = "[initial(icon_state)]-off" return ..() @@ -53,10 +57,8 @@ icon_state = "[initial(icon_state)]" if(1 to 25) icon_state = "[initial(icon_state)]1" - if(26 to 75) + if(26 to INFINITY) icon_state = "[initial(icon_state)]2" - if(76 to INFINITY) - icon_state = "[initial(icon_state)]3" return ..() /obj/machinery/smartfridge/update_overlays() diff --git a/icons/obj/vending.dmi b/icons/obj/vending.dmi index 6905749d1e527afae8d6f412956426f8e201eb09..a2a6e29e2c46e0ca410ca87b94bf6fb106b11e65 100644 GIT binary patch literal 157479 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%0D>5C%CXFVCn9ot0~u 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 z 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
    cR9P2cg9=KkyRp! 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 e7N|4Z|I}|`4Lx5O})!xvX Date: Mon, 14 Oct 2024 06:28:16 +0200 Subject: [PATCH 036/344] Maps inteq stamps in. (#3533) ## About The Pull Request Replaces the HOS, Law and CE stamps with the inteq stamps that actually exist already. Also repaths IRMG and CLIP stamps. ## Why It's Good For The Game Feels like an oversight. I think someone added them and forgot to actually make them player-accessible. Repathing because factional stamps together are nice. ## Changelog :cl: add: Added a honorable corpsman stamp and tweaked honorable arti one. add: Inteq ships now use inteq stamps. code: Repathed IRMG and CLIP stamps. /:cl: --- _maps/shuttles/inteq/inteq_colossus.dmm | 8 ++---- _maps/shuttles/inteq/inteq_hound.dmm | 4 +-- _maps/shuttles/inteq/inteq_talos.dmm | 12 +++------ _maps/shuttles/inteq/inteq_valor.dmm | 2 ++ _maps/shuttles/inteq/inteq_vaquero.dmm | 9 +++---- code/modules/asset_cache/asset_list_items.dm | 7 ++--- code/modules/paperwork/stamps.dm | 25 +++++++++--------- icons/obj/bureaucracy.dmi | Bin 36944 -> 36547 bytes icons/stamp_icons/large_stamp-artificer.png | Bin 3405 -> 0 bytes .../large_stamp-inteq_artificer.png | Bin 0 -> 3371 bytes .../large_stamp-inteq_corpsman.png | Bin 0 -> 1652 bytes ...tamp-maa.png => large_stamp-inteq_maa.png} | Bin ...ard.png => large_stamp-inteq_vanguard.png} | Bin 13 files changed, 28 insertions(+), 39 deletions(-) delete mode 100644 icons/stamp_icons/large_stamp-artificer.png create mode 100644 icons/stamp_icons/large_stamp-inteq_artificer.png create mode 100644 icons/stamp_icons/large_stamp-inteq_corpsman.png rename icons/stamp_icons/{large_stamp-maa.png => large_stamp-inteq_maa.png} (100%) rename icons/stamp_icons/{large_stamp-vanguard.png => large_stamp-inteq_vanguard.png} (100%) diff --git a/_maps/shuttles/inteq/inteq_colossus.dmm b/_maps/shuttles/inteq/inteq_colossus.dmm index 2a743bd86207..936aae8fed08 100644 --- a/_maps/shuttles/inteq/inteq_colossus.dmm +++ b/_maps/shuttles/inteq/inteq_colossus.dmm @@ -2224,9 +2224,7 @@ name = "folder" }, /obj/item/pen/fourcolor, -/obj/item/stamp/hos{ - name = "vanguard's rubber stamp" - }, +/obj/item/stamp/inteq/vanguard, /obj/item/reagent_containers/food/drinks/coffee{ pixel_y = 20 }, @@ -4212,9 +4210,7 @@ desc = "A slick black folder stamped 'Property of Inteq Risk Management Group.'"; name = "folder" }, -/obj/item/stamp/law{ - name = "master at arms' rubber stamp" - }, +/obj/item/stamp/inteq/maa, /obj/item/table_bell{ pixel_y = 13 }, diff --git a/_maps/shuttles/inteq/inteq_hound.dmm b/_maps/shuttles/inteq/inteq_hound.dmm index 42c34c5a418e..c6f9e34a653d 100644 --- a/_maps/shuttles/inteq/inteq_hound.dmm +++ b/_maps/shuttles/inteq/inteq_hound.dmm @@ -2343,9 +2343,7 @@ /obj/item/gps{ pixel_x = 12 }, -/obj/item/stamp/hos{ - name = "vanguard's rubber stamp" - }, +/obj/item/stamp/inteq/vanguard, /obj/item/pen/fountain, /turf/open/floor/plasteel/dark, /area/ship/bridge) diff --git a/_maps/shuttles/inteq/inteq_talos.dmm b/_maps/shuttles/inteq/inteq_talos.dmm index 2ab9a9405507..79ec309513f8 100644 --- a/_maps/shuttles/inteq/inteq_talos.dmm +++ b/_maps/shuttles/inteq/inteq_talos.dmm @@ -2529,9 +2529,7 @@ /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 }, -/obj/item/stamp/hos{ - name = "vanguard's rubber stamp" - }, +/obj/item/stamp/inteq/vanguard, /obj/machinery/airalarm/directional/north, /turf/open/floor/plasteel/dark, /area/ship/bridge) @@ -5797,9 +5795,7 @@ desc = "A slick black folder stamped 'Property of Inteq Risk Management Group.'"; name = "folder" }, -/obj/item/stamp/law{ - name = "master at arms' rubber stamp" - }, +/obj/item/stamp/inteq/maa, /obj/item/table_bell{ pixel_x = -15 }, @@ -7830,9 +7826,7 @@ /obj/item/megaphone/cargo{ name = "engineering megaphone" }, -/obj/item/stamp/ce{ - name = "honorable artificer's rubber stamp" - }, +/obj/item/stamp/inteq/artificer, /obj/item/clothing/glasses/meson/engine, /obj/item/clothing/glasses/welding, /obj/item/pipe_dispenser, diff --git a/_maps/shuttles/inteq/inteq_valor.dmm b/_maps/shuttles/inteq/inteq_valor.dmm index d35bcb7a808a..247743c165bf 100644 --- a/_maps/shuttles/inteq/inteq_valor.dmm +++ b/_maps/shuttles/inteq/inteq_valor.dmm @@ -4430,6 +4430,7 @@ /obj/item/storage/lockbox/medal/sec, /obj/item/clothing/glasses/hud/security/sunglasses/inteq, /obj/item/clothing/head/inteq_peaked, +/obj/item/stamp/inteq/vanguard, /turf/open/floor/carpet/orange, /area/ship/bridge) "Od" = ( @@ -4805,6 +4806,7 @@ /obj/item/clothing/glasses/hud/health/sunglasses, /obj/item/storage/box/hypospray/CMO, /obj/item/clothing/gloves/color/latex/nitrile, +/obj/item/stamp/inteq/corpsman, /turf/open/floor/carpet/blue, /area/ship/bridge) "RT" = ( diff --git a/_maps/shuttles/inteq/inteq_vaquero.dmm b/_maps/shuttles/inteq/inteq_vaquero.dmm index 92e024ba7bf6..662ce9c5e3d6 100644 --- a/_maps/shuttles/inteq/inteq_vaquero.dmm +++ b/_maps/shuttles/inteq/inteq_vaquero.dmm @@ -684,9 +684,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 }, -/obj/item/stamp/hos{ - name = "vanguard's rubber stamp" - }, +/obj/item/stamp/inteq/vanguard, /obj/structure/cable{ icon_state = "1-8" }, @@ -3367,9 +3365,8 @@ name = "folder"; pixel_x = 5 }, -/obj/item/stamp/law{ - name = "master at arms' rubber stamp"; - pixel_x = 5 +/obj/item/stamp/inteq/maa{ + pixel_x = 6 }, /obj/item/table_bell{ pixel_x = -4; diff --git a/code/modules/asset_cache/asset_list_items.dm b/code/modules/asset_cache/asset_list_items.dm index 65163d164cd6..8202afa5d228 100644 --- a/code/modules/asset_cache/asset_list_items.dm +++ b/code/modules/asset_cache/asset_list_items.dm @@ -126,9 +126,10 @@ "stamp-syndicate" = 'icons/stamp_icons/large_stamp-syndicate.png', "stamp-solgov" = 'icons/stamp_icons/large_stamp-solgov.png', "stamp-inteq" = 'icons/stamp_icons/large_stamp-inteq.png', - "stamp-vanguard" = 'icons/stamp_icons/large_stamp-vanguard.png', - "stamp-maa" = 'icons/stamp_icons/large_stamp-maa.png', - "stamp-artificer" = 'icons/stamp_icons/large_stamp-artificer.png', + "stamp-inteq_vanguard" = 'icons/stamp_icons/large_stamp-inteq_vanguard.png', + "stamp-inteq_maa" = 'icons/stamp_icons/large_stamp-inteq_maa.png', + "stamp-inteq_artificer" = 'icons/stamp_icons/large_stamp-inteq_artificer.png', + "stamp-inteq_corpsman" = 'icons/stamp_icons/large_stamp-inteq_corpsman.png', "stamp-clip" = 'icons/stamp_icons/large_stamp-clip.png', "stamp-bard" = 'icons/stamp_icons/large_stamp-bard.png', "stamp-gold" = 'icons/stamp_icons/large_stamp-gold.png', diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index 22e9a722634b..4311eb080cf2 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -115,32 +115,33 @@ icon_state = "stamp-inteq" dye_color = DYE_QM -/obj/item/stamp/vanguard +/obj/item/stamp/inteq/vanguard name = "Vanguard's rubber stamp" - icon_state = "stamp-vanguard" - dye_color = DYE_QM + icon_state = "stamp-inteq_vanguard" -/obj/item/stamp/maa +/obj/item/stamp/inteq/maa name = "Master at Arms' rubber stamp" - icon_state = "stamp-maa" - dye_color = DYE_QM + icon_state = "stamp-inteq_maa" -/obj/item/stamp/artificer - name = "Class II Artificer's rubber stamp" - icon_state = "stamp-artificer" - dye_color = DYE_QM +/obj/item/stamp/inteq/artificer + name = "Honorable Artificer's rubber stamp" + icon_state = "stamp-inteq_artificer" + +/obj/item/stamp/inteq/corpsman + name = "Honorable Corpsman's rubber stamp" + icon_state = "stamp-inteq_corpsman" /obj/item/stamp/clip name = "CLIP Minutemen rubber stamp" icon_state = "stamp-cmm" dye_color = DYE_FO -/obj/item/stamp/gold +/obj/item/stamp/clip/gold name = "GOLD rubber stamp" icon_state = "stamp-gold" dye_color = DYE_FO -/obj/item/stamp/bard +/obj/item/stamp/clip/bard name = "BARD rubber stamp" icon_state = "stamp-bard" dye_color = DYE_FO diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi index 68fef79c160b5c6abd6d9d67d33b21da2f7fea34..b56a287cc21b324674f7506442a6e5c2df17ded1 100644 GIT binary patch literal 36547 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�^fsXS`2CmoWbg#AzL+=DO&4#2MVay%oq6a%@)7H3n$|JLdh@PUcLn?!5o zqpGLzF8KXvt7GkE0HW{lfKF@I?K^sHt^1_=P!%Jx#_6XoWQFg%5r9ExOnW@0v^r(Y zQqD&epx|TwR1FO>oZ&DK=fE&teo?PiD)~>x*AmU*$qb+F91Vu~uXLw%=qOR^F+i}dP$(%mfmlPBmVpX z>yjvZf$Mcm=J)71n<9U;67-!$^cJ=-`0-@>6M^8)d1=k4)P70mcxxCC(4t>;eizTe zz=xKt#&ExcZ@olyKcOsP$pRLEMhpHS?Y}WjfE7r(InBgG^^=}}pI)bIM$5=KlKt1P}DjJ^%E+`*gxb-_!12QH&v1YVA@|A11 z-|CQqa*D9}gSh9x#+dDP7<;yXWofm+n!nI+g!34tOpv7xhC!JDO9(sWHHX_|@!+(M z0L$EUUY7RqfMf*`3pJD&=2!#}k!A}b6V z_6is;GYiY^4;*n|;4j6g)m6?T@EY`d^GCr#MvRf@lb~G08nbfeMY=2Ai~j}`IqP36 zC2!sMJdc3OqbPzF1C~mF$^z7YMdE@}?q+}7)v96jucz4v z*Qq<>R?AsWbW2+O0PAjRpROtG`k>cCg}Cjk9S%emmce%_O-Cs&@c`8$mV0cI%MDL) z_2z0v-zP^Lgm7YhCs+FqAq1!Riy@9+?vYbsl)i9;KBWr7R)hRcYsuU5aqrt@&!groN7~64H5p&c zeu-{c`=-KciI5TFnPZ+YJ=cG|6*ZMkY+1-rEa{q_jCvix56?-S85~*nMhQcb#OLwrhN67`~hsZ0lNXQ z@$vUSzy=5il#`Pa92Vx-^i!D`2)yj`Y^4{}Y8{ur)CzGp0df%l-Fj?NIW+Wi@cFShy> z1z_0y6Cu@psRC3PNA2ANf#m{O1`w@%meX}|-{ZThuo-EzNU!uCi0ad|`E>O!9a23D zQ7L;gI}{k-I|zbq#QB&&(Xp{upx}@Y_1}yv?1YMS8UVlopr(jHT=nSZZdc)vGnJuR^P+!7E^KrY0X*eou?T5#S?IT+aq_i`p2TqZ+AJeX`lv-Ys{&2 zPixaYUmWeXQL}puySLY9#sC#)5L3&^OY;apmLLV)M>i%IitnaH1J?nrzhvB7L}Nv`4MCZWt~)g9IND?7Whzywx)ji>Bx zM}o+tY~dPu1-sI3upnt+p8cs%W?a2VNCqtZgbIsR3!MHQ zx7O7UfmQBN+X;azD&)EqyS^m70zYysj}w(pt?Hg-WVX}Hxebs(KT4coguYGB)h515UGY4qS8 zTptlNwt>ck?3@yP@^Y}<%G}66D{4IRytq=HgYcw3hDR8mOn5&*weE3rXeySocfef) z%AEeB!GebxB@v|Fy~OLchUCxBC5Gb$Zsc}xi?d4r$rt2fKnzq-udE1{Bsj-OA% zB$0UCX9h%kR3YWA$Mbf{5sB&MMk5~$O=`{rJyvKA%5_SJo-##+m)pjY#mA@tcqxtL zB_V5_`H(sFCP9BM;(^>8PkQAp*IMDxvL7NqTlSr&S8rIH24d1h37#9 zY{fw_75!CTRmX?2B*y2(Es~!=ZqE&QJaDzO&%FLoVniAD0LT)Rhx7(%C9GZ?ErYMG zuYs*)=S0#R_2_bb`qc-EDT*R#qDu!oi>_+LekW7)VLtJz@`8W?VJ^Tro=W9;aG} zWsGdpeOh{Xp1}Q?lCvdssX64?JkGc6wJ1O@P89%Og=q@Por+FVtca8b;%>7)Dqw&r ze|!*aF;|vJnMcEeo+-ss&72t~ULRj9!J&|Y^!QaaCLj!|GNxnxDmP7ajW7;DY^wbi z03;g_Or1b{`nm+8K*V)f4XWCXQo0#63qU=BEtuGwH~YlNx-(ZCQWp}7q7U$CVP;SR zfkl*;To#pR zaLfm&l|scyzvGBMCCS3;f1STtPB2WDW#6Sjk||Y}hEB_H@x8AJxEcG8^S%_ZvR9Gy zm-tPfCBEu}dQqTZMH#I2>`q3ur}gb#)V}B+l6_ebH$n`+>)Gf3J`RXq4g5&MSbqa_ ztqgQc$o|%YG#pNBvCOG!q5xNv!%d~_g#(wzUUA9&EN<zKq^p-0O9ODYv z`@lkWj#NcHPG0s_O!Pj@9_`gF|5oJPoFAC4TT8S%X&*dGe6Rm&)Y@2%V?O01$@Fwd zM8otXE-0m-K>od-MGtzixm2RGj51)%gvFtB^SLo+P6DacIcr>w;>7&H14G_Y)ghXF;26%=lqJj1xve^ZdQt>1 zd3=`hmD2Q=mi%^ycGAE*_;@yhXpo+NnusqVSO#OL0!itWA6i`Y4J@^e?OBt<^z9+xE$@QZ0Npum?;R5znE!JGbQi z^XRF^6Eae&P^~t8AcWkoTF0nrHihOc-xv@;PS48v=OD4^!vZixzm4P^i-k%``CF3* zfa@15oq<6DY>@T?*@YM;upVPh7aT@&u5FR`mNcr+3y;m@K&`8uqF!>jQmh_u9 z4~jqR37|XrLT+~gSRnRwo9WI7Pr;4MejiiQC^u0C_aCtUAS{sqV#%om zTt@Emu5BJNXWyP_>cKZYl|tyOrVAnfj$Qp*&nFD2#7f}QYYjLvcR2Ygmm=m#lfapR zZ5So}smXyNPbIyp3;zNpHTrJZl$Uz0rV%@VE0tJSuQVLOFC(g{8B%j#H@fJ>y$(i4h6OMpZs;j7Q-Fi{XU|@_UXOp*RFHO>_q*ZNxxaYYlnYD zi%}wS8OYzV=?Ysu(MPfLz^iCvS{+=ukwEIacqoN??~@aL<|70J@NO8qr%Y6klTXoY zS;LIr9VN$#>w}9^@}5@V=qwo{7Y*6(_sP0u|?EMb3QGP%1Hp=W?09LRVxTlNmIV12Y- z6uG&QJiN8K`9Wyy+XU#X3HeBqyW`_}UIke$GIH|o@$rF4eCEbODI$p?j?4fRd>%?E z@I)nDM;lyQ+DfmF5>E%}N$_(6f}yvs?{uyX$e!7=Kn=~JFTMIzR-9jlYxZr7?#hCof^_HB4tyS#bg0v11#46FKJd+xbTE?2Xbgv0?ZQe}m zpD5T|VXH)8XXngU2x7XR@?R7a%Ca7AJb*1fz6!-RC|5~uPUkZx0$xg6xUYWiV9=yh z*Uj}A58yKkYW*o-4WxHu&dJL|La-go-j%Gyz1@sSFgG@4Bm*=A726CS5;OagcEKuM z(d6z-kR)zVlk)ATYwfo`bf-5x!yW^fdoR!?9`@~5TRvuvzJ&o}0x$StH1af9mOhYTOG_hQ1}EZ+_74&|XYtaqWfDqGeOb9l zj56e9z!L--)?5`;TG(`Udl`Mq$VG_3i@{_?^;2;KBT!T(uj=R8uJCzif0nJI*1-X- z(&HC8P8lVGYMlwM3bSlWwjU%Agg~5 ziTdKEaxpuLOlcmT9qt!FBDG)aF?k;CA62DqrJNxTm(MEml#|FB_bdBLF2#g4GzHs$ z7`%5|gd6@6BI(!_3*p(3`$1C5^3erHkF;!-N8d0@1|Pl4Otx>rkHy$IIH>Mi^e1s$ z()Rz7ko+2UzNSJDmfCuRUZXxgf7}{8!}IAZPHgO)_|QYumWD=6L&I;QKOwKd z81Oyel+&fBx#^KaeVMbS>hAH5#Kxz{o|{7XlDnqZx&GA;#_*{(hN^C4apB;ZcMQW5 zI3ja)mN&S;c2~{bi*T^)G6#9qJK(<`WfGush!>d*Nyo_8I|2@luIF>9mwcan0j(hmNmZr7!DagPtdUm3sqgZl*iX70LB#&Vqb29Xej0TP5w`Tz1eK^A&WH~Ql~p#gAWvNv6(niQRmzS$~}i=Qepi1KPM z@HrQXaAXc|U0ObLVX;$))mUM{UzPuenC*4BRRC8VPxvWDz{``PxJwOOZ@03J2K@7< zTt7>nj^g?}g}!m&3V$phDo|v)o2;2gaWt_r@y6hSnt5m$iA3@^S-hUR`0;~5*qsd~ zAY{6O-kqJSnAQ3exGLi~JOqX7E>{g{w?dmM#J3#%eIfGUc(cU5h15Kv;XyIw;ffhv znT`Zl+|j5CRiz(sp}PPZ@0Qh*J~i$EF;Oz^?TGlGy=(FDDcDhp`0s@!NQxjB;vbWT z^MR30M-;2$O;84M#VAF@e06=ND!5Cc{Uql0dC114dTar7rNd9ynfdaxiya?)N!P`P zMjW|i?nstwO-Vj3c%-nnl)%Qv&DNmvjj?ZZZq91fJmvaX84vwd0PZbE(bq`mL8cI7 zlTDTbmCqRN_dCsyLXP#M84Hb-4F7= zn%8pC(IM72i(5m;>m_M7XDTEy6kWD%c4rrQzWe)r4Ae8DckwjnOZ&n~B4n6LMa-h| z^lw5dPNzGI6=e;Y!|y2=g)xY30k@Vp>|QaX&@Cl-Z1$f-F>B8YqILTC4EKZgmQPCd zd@7`xnqE@azgbCu>RB7H$0iad1uMt%9dNw!_Wt77R=>nyim&Vqzs*1*3d*$53nKV3 zZ+;kr0pir~YQ%RrDD~)&O7u6D`4AHySw~RZilRNZo2U^a6GSA(9j@2 zNP+HTGE3y&w;?kjZgu^1MNIRHIrBg1lMdMqFk@5E3HbWHuWcNcHbmi7nZWSuyOBrh z1$@HuP#jzjBIB80BVqSV0*M7E$b^#$XKz9Kv8eZB3LlL;6(jp;Tq<6sz$n$!uB5YJ ztBT^A&DFjM^npD}ReyOjZ>ZA&ps?!{#`h0cxyfBmllkPwsN$Y4D5&EK+#h0z3>}D` ze&72E#{MmP@nGZR4DI4%APFCILkm=Ett96(@_e13I!|YpJ30Z@Ayd-CK4Vlq3^LqU zTMk3_B2z(#VWI`ckHSId1&v5COuZ0oL=u(6M0*|n3#QcO;|z>GFbxUWmEXktyjXtv z@SYw2GS92)&nh?DdoA9($#4`>&iWA`*nNLw{(4sia=1|b8d^NViNA=@PZ1^W055qd z)N``xTSzGy?i*|y??>6taitWU6-Z6OH4LIq;XhB^rRvqHUU=R}w9X$L+HyKUxb!_% z4cvNErJuzsGC3vqJ|wj}ThYvAD^P``BK%3v+?dkRT`04%HP(oUycQLRbTBj#gTbFf zI{52p@^6*7%FedeW<_$2RI-AvKK3n&$R z^XFQd+gY` zTMc0DEde50t#60z`rao;U-`{jcrYq&aV#4l6%v(PPI6iL*!2tyMh?KeJ`>`ksyM3+ zMH-7Fj8}!diuZ3rai1ve6zx6`y$T|?pswKk0JNrgGU&GJF|NP$DbvZ&?xxN5!)zDy z6*-x@sQq=MK(*=pw~Dg$rdkUPS6rJT{<5(-dwV4%jt}PjuLSAurVb1a!&wV+c!}^k zA!s5z#9`c(50jUd1bBw)G(^i?Ar8MxdErxHAINd=`mXuEja4QJmrW7RlcMuKnG4=^ zquG3sSD|M<%Lfqb7E>>CbeJLNU()6^hwVg%C;Ov8km3Sw% zQf!>yID*Q!llSE%lJ#R`ZMCTJryNPzcP|UWpb;O4_r7j`zn$@eapMkEuo{hcI5Gy7 z*xv&laXkIdeZ0TeI(;bJCA9VjrfYz+A}+{ev!6t4Bu%!Qs(0>Z{C4OnpFKwWj6qou zK9^1bK_;i1sB1HOZptJ^FKUEArG5TTgX7F9%_aQtv>j!XUe&F}^}R#yeE-lN9LMwN+NaXD zVrU?U^DL8h`@tE*K>TZF*=nAzpCz1_9hnK-w z>(_=WH1U?03|v)IRZg&`0EpjJ$jpcZ8fDp4Y8A0rkk9JZ)@Ab zVYV20^qQQp2A?m>!J}N|EYsvBWYH^e>>zubYKI>z+MPZ#7{t1$A{z1i|Mbu(Lh_G0 z125Uzg~KaNT8z|175&7|;ijuDJ!NzExA$F6+xbnH@N31qC*`HgYhx&Lsh?^G4+QnL ztj}Z1VoKj5k29owNFMQ>AdAe#&p3Y}J(c<#`=`Mtcp(VM>2xWNVAB1Ij5a zguE$#cIYo~6^C=ju?&5z`G7w%@FQC|<3BRULh4S^WId+2d+z@{=syKB|37{FC#DZN zYrVsXIobo{f}TZ@e(nl=WP`p>4qbm%1AQ{$v;GQ*->c@Nb7TcLJW0&8RKV*Bn0|1j zan}RuzF1a%2GVD!UL}gY7Z%c|^yL`Z4J~PL5!u(<*Fmfmmyyju|6$9S8J;K z)3muR?B5l!5V+>8!?hrzawkZ$nUFkl+*=&Ry}tx4g}*heKg*aywxvwHnxzhiC8qe?;te8bA2!|GnWjgRj|7t8@ z28FHsiZ(j##Ju=HcphHJ^Z9A6>dzB#qkxVJARexj*BtkkjiYQie^zuc!TK}$UasLk z%}w=nPMhGKkY<@mXMIhbooVqd5ZDV8sBqPdx})nm^>tT04bc-(L7po0AN9rMwWBme znGThh67&)Vs)inj%J9*jDCocYz;iJW#Le)6+#u@zNcl<59Y3?|p)q_CZ2hLgUiZmQ zCnW9I5f?%tYriU$|EXl)g}VN?NPRr(LrgM&wedF|^(hDc-{^?{HBPX^^8c3;enj!~ z&HLOx^Ih^&1UNU*iacxlPV-#s39yo9^;7K(dF2!RPp*dKXUe9tl@(jMp98q=lvDQR zdqQ#Sb$QbFCRLl~{|_l2$3SzgP@w9&D#YJd%BL+UT1~}@-p=)=(6403j)g1B6tIr` z&n_Z-?uvaCkk6zhF{CFao5Le~#?~hIoSEh+wd}JQoGw`tCck{F`HV!1a8pBLigv88 zJo1?|(a%Z$n-Tzuk+~`lNIzu!513SGWUeGQR6STsfVGZn(K_)DfLfmOe~y_e^>q zi25IeWV%r~SCE+&_3se1lO#+$^0$8dtDIQKnLl8FP{oB)XNj14wgqc9|6y>|nuG1m z%tIDlnsAv#z3tr{VkiB7^_!__duL&|iPRFt$mBTnc1j8`6uf{Jmz|KZc*O?^)0@P0 z=C!u|rcd(-dVl6vm+ZbyAedXKhYH1))^}a<7H2zXBNnSI4TPcRGR zKW?EG3zi+lDOuU$yH_E$9xqQgfFKycdf0dk`Y~fwfn+l6BAS5cdsk{Rv|u;kKFLvwVE@KpP(z`V=+EA2f48{?Y6v&3!}!A z0*i}DtflV9nMS?O!^PeHA)1z(9WBdTBIZ)11}@IZSPj5;kkaIyN)6%W*?YRXq|ZEy zV>+8vWWsn>VKX}U#;>AO**`=ZY!sei%kWDjB?+|Xs|rtrStgO_*{%?@vh_ey!g@G7 zyX7XY$jPfDE_m@e7^=jIi}JvF;;H$Ck8NnbslXnsPh$Uife9SGAzCHDcxD)ir*0XZ z;)<@kmqyEmX_uKXMm6hKjzZ&aP4mIr*%%1-Oad@q{T0Usl-+u~wicVOIM z-oGFZ8z8uydt&uOkkQD%P4&k)|sA~BmmzuL}yN#5#|V4p@9q;^cXvr;)LD?w;4sUe?o69>wFRei*_vQ?jUdog^@U6!oS7Rn9S>)a&lK6jPn@% zZRIhhu_O6c3;!TJ;a}kX7XmBFcS@TAGkR%|^pDh0%%9<-*Drf@(oD7s2)ff-|7LpY zHl!Roc5+09QX9n^YNu(K-EDrYB!mA$T3=rJ69l5The=20E2lEEDTn_%MY9oYbOYRZ zx|!9C-ap!y;aJElE2j(Y%MbM8g`MveJUwlmV(+DW@V)?JCYE>G|DX&;;7{_7085Zw zU$vwEJoY6S(YU#Ck0Y1e`2u=lZ%c{T+Xf2AQX@6B`oBATx#msC6bX}tbC8WRbyg^z zv%NHR@MAl@%FavSJg=)+Rqwx|62S-$c!yYf%&(UL4;sMWR{0%@&z^pXWLU?}IkivP-Rc92bvJl zS~mTeoLuFNJCH0?mZ1#I;7qh}od&c>K+6X&PQ>-g)ZwsMzM=|%CZ|LbxhvRA5NNvf z7RFS-B8z-G!ZmeK%MN|QM1hYM+YY3)yYJ*RgR}nY7L3JfxW=OQu#T*dGbMN#bs_W$ z%|QZ1U!wgGfxF4!;Ij&=IW~SlAst@jVD>YOSUi z*&8{(YH4TB|L;hrF`4FN-BscXxN!?_LqBUEHic%8QZ+?T(Z$08(N7)=Wdv zh|!ELEIj^L`<$?MGoB$){OOJ3&vr4}Mu+^y7jV~_0mX@#1zxPn<>rxwvj%NN8~dJ) zW!U80*la?dv77TSKkz9!c^r#kUhzv5;Sdtymw-E2SetRUOliVxO!>f=J-s~ig)>!3 zL&CXXc?e|qI|E>kX<~9RGdGvHT;9`D43q&F{|^oh3LJsW0&Ix{T5=Y5C^5upQ+{9DCjyf@mpT6uovegD}iywoh_v|FO2U8JeUdv;H7{$(XsJgF;6axmJD_Xk- zfP|Tvr;eAw!py*(kb{G?t%-mkg8QJysO@14&{{W|v?nUOd#5U{02UUq+7T4w(E=DV z)nPt>y+nw%-D~EuV5Nla&qG@igVxQyAv&L4*-U5`KL(-y=jkF`DKq^a1d_oRls19YEn5Z z`nR7PJ}d1rX9M#tDJgje*D87A66JKX9F;DC$bZkFb<34@lr~E`0K&Ff1u%=YIjC3m zj?HGO19lR*)gx*&maSp05#Wo|?trI38>Wn%Xs;Pp(K25D2t4ZOFKg(;K7WE2JL+lJ zv*pGNpp4bDyiaH%Ki~kLk#F&4+QOa}>~MTVNv(Z(Ccu{?pS0J<34Z>oC~q8YnO>P| zu$jf>NRvAx`aBjPBnP`wi&RaE2e+#OcD6fC;O^o^BIQ3m*~x^?+R=nBC_HG0krL9u z*I2ytN$+m|s=U+%drDkQCWsJfn9~JwQkF@vT=ZwD&7rLc)6YJ!+ssF%*QY7`J_6uf z6qkYI722hxk$l+B?X4%>_K?p^4+I!_+jd3Imz!P-5DKSYvoFm6O+dTkfzj%7LNbG1 z0;VLfPzzo|ulhEf2NKcI%+X!VR+(ci`)UBBrS4~s`PZc0y3t06i$UUACN$`_dFNkCaia8axLwKRbiAhkfcI zkkOVeu_z5Zi_Y)#MRg)yEx)X(a*}{0P3fXn-R)c6wW)aKYI|nmijUpk**ogeSd;8L zy0G;p`J0fHf~^6le~h!wpC8iL9TCUO36YEP(F2sHLW^7#+Va?qvpw{Xw1F!+ozw-1U8&GXLSDW(QMX^Ff3Fg<$0qSrn(nwZukMrknd}Xj& zt+zrfU_t!hM_Z-(D)yS2Hx<#)4}jUIE&YW=z@ls07+Qn!+n-edD4c<)rMGn`;$_Z;QGtM zl)yc5azHscaded;=Wchm`0$_2qjwAa%G2!t15{cd@^GkTWSDh(wwCy*d_=oeOA8jL z{A|%Stw$yO`+h5OgHN*U4>`*_j4F?x)1s4@ZrD=0dy};>M|`@bnI^tGV!R(dZtyRF z<{I)=?|CE`PeTq~%}FNM)hXw~QP7rY-pt!y;rrU$z_FJgA7{x%p|vkS`~$ixOBWgp zoaUAC^2F5o6)Z7byuo=$nvGPqq9{b8-z=FN{E_u*qKKv zecS|-T|fW)z~s#w0Yj_ zV!%o{@nhU)iTCVs2KOIYBlk>~TOhvPp}t{U1uhWh4poF?@0a>r{IiNJKk+H`#u`b1% z1Z^8_Aif&Qd&1-AAv(f@wNia66Biydb`?`FJBUV~)cP3QNazqa8`Yp^c4vRacNYme ziSJpp?0G$odpvUrq$h*1!|1D3ZDLBHz}FRZ)gOKft&GCRFq%M%WE-ICZ;?FLHxi$v z1{m`!>l#K%${Gn8$|QFYxv{>zndZw9O*dm)_vq|dmRIB<%?Md>UxHva`nk+Q&S9-2 zS15qN5?)=x74(*4d83cr59_ynyHuzH@?=zIh?=BKD`|UbS`TM&8ti;G*!v7!Qh*t3 zn-dcNoidgdA1xy2gt{+J6o|n6b@>LF@eGB%#hxlj0Hh;WKaFnZ_Di>efD%7x`$EKV zdFm_M&!{TUy{jfhZ>+ie4iVEO#JxqHcZGt-XTdtYK+yclWVyXj%vo&sxp zz_}U$J9>*aQ*X2XQ-Q1K&=MF%r-Ll0*9Dht97F;Eh-)0!B2vWZj->VDF*8ftUz-8` z+#fSI)B;O&ub3=@YrH3nko~`&Ye_%zk1p@M=t@62@g8#B-&Qy1c_QY)?{u5ragl(_ z2W&w7xErdv?uSjW=7YR4iE{5j{^g$9YFGb4@Oh+8H(lKjZ~5)Uq&Q(PF$IUtL$`;# zhC?z<_ZjN>>MQR}j&oi>nwA?UrAKQMI*w3*fdL;r^6~7COZmkzu-{=~h^NTS;pIFE z+f3>Xh0*xBpKZRzL;N??X7BF2?gvNnKHCH+Z@AW5-GJ^*c_n#~+_(K{_jCnp9|73r1c>4B=dfoQ92|VN`!i9F z!Rx|oH;PV(+1WLLm5}T3Wrs@J-jnxk>&HAzr>E8}mH0>xqQAhW@ogZe;t5(H@HhOM{W=XPA>hbN+Gp-}a?GhL_JqQg?g9Jn5Wi7pGKvI!4_43$kfl(g&=Z*8fotZgg!ZYydEMo1 z__RLlT)k8K1##r^1+k6PoO~??$SP_&%hrijKH_oG-1N+M0&iZwce?ZLw{tqbt8?~X z)g}r$BB3f!+$O?|8H4Qmzb3Dwe_o{wGFfJE~9`0Re$h zBns}k3<6QGe_UyR6%@RFlZ2%zdCULdc3jH`jnW0d;tR0}hJ5m;D1TSGW;bAgZXxH) zWSdorz$%n2zW+?kwC!S8g$-Xrkk>Z3s`P80Pw+l2=P~SHa?JQ!u%~$PsXm+2MkZ<2vO2_q% z{kW;c?38y?l7?(0IhAb}*WX<-B3A?5pa59_-8~SFzJc`B75dtSmg8QtYHIq`JZfyw zrI0nhkf9gD|4~uYA$X`5-y&?UgTvI}W2jm6-O2H&`7&!Y5^Q|(w?D^vw#O%!J@~=x zZ=ZI{M8IHBP<-LI^E2>81JUM(C|R$m6&`J18BwZ7V5Am&Kpec^(^^C~nwvTBO=NUB zVUC%$R{J?CM9xIYX*X|X)h&YYL3j{(=J?ElMM%LGwK;QuA`}XvVUVea!cZ4~q$Ly} zNT@L-O3xgR9=F_DEiu7SMxzrH@+eO~fkQX`!UK6wOFYMUwRq%> z3j(rd66ZWNxZTx~5mC+D70cY|RR*9gFQ7yK1?WX6EtrYl>GV}6SoyLSnuH&2*0E<< zM=JpX4mmh}BLjdDPnuHQ6)iI#WdS-nf9)wH⁣aJ^iZB5mR5cr*O}4A1xx(S$eAs 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�({m%y+n=?j&zw1+o5gL`OVH*c6aAn~NCx$|IJFZu0q>vDS2N%=8+{Odtw|?01Tc3WP9Tc>FzO=uo3z8)Zf~ta_n+b^P%MJdf=w_?^ z1LBt;1|hTklb=g>`->o`EBFZ$pgQ=QqOZID2?-KT!<9t7tOJrsdvXwR{5I79Ld4!bJ*bP>K+P7}g94BtT5q0$Sc2$0T#U_nh~f?`(OpEhNZKU)NL@ z008{}f1gnFI~jc_Gj!0;-WQZ-0HD1R4v#=0m`kY~k$}MFiee#xTp&hq0HAru#ca+R z2*Jieaj=k%dszEYaNM{!4|iRfoQe_%AcT#T z3;04QRZhogc&X^S`WVDvH7dv&Ixd14f@O##5SC0J6C82wx>%Zo%cF++EPiKaiWB;Vdio`hz|)MAtD8d1S0sUJ|u@fMkAEIOBb3rP>rDK zj-RO`Fz+AK)yNm>;&>4vlE#a~AAt?uoM!;sgZX?8bBQzKT+Kb%Y`s{ z8`4Lzh>sW@=RyKM@e}#C(1%J;HQ_NuTr@f-4dF*9fWZinhJ#^q2E7~w-2X>umK_{gL*De__UAW->iVH_PNci=)ib|N3axpM@97%9RQh@~+C zwiJORG*CT3eE1!eMtaXh13z;_Ljz?pss6AO5lNCi@f`*weC}H_h*+$qy{K%Cx;Av2 zSR&#kav-ke&gd;BQK^WBB(WusR~*_|betED2cuO?#-cM0#|a?`7M)Z_0_Ag~q<9D= z{O7EKpWfzubTsgb_$M#_$vQ#pCeP3{h3-4>!@@&_4=WQAqI*(;F2uNI{b&Ht+61Ew z@kJv5fOSS(3lJlNnJ_pmmZpaArf9m1*nj6VAH9)}`6TKVp82 zZYfzP(o3>#5{Hk3pNYxT)9uMm`RP2k5N|sUDKRfn&)rba}G_v%@d}qK1{8I{ zmVUDu>t<5$D?J&~4d(()wwHyffTHHW;@hQVQt!aqxVJ!yhbKGQxT~!|$0hA9#-u#d zCwudrSD+{LnkRc21*h%AlV3U>{S?GM&#+IG@wzYdce*%@y(-g6Yq%|THJj;Y%W25(?`e`fZkL*{g$Y2EJL39(TVDL+53#WsTMXk7Vw#j`OB znq4Gq@t7M{f`J-#4+my+7JM@wc#)Rru|;y|m#Iyn3c>8E`$4kxN`+H5Z$Zmdo5%~i z)mdSH$=pX?$M7m@OjEyh?XfOjx3)Is?Y;#=OW!1a7qC?uZZ-w2yO4FdvgLWjXO*|I z{q3)w{c-!Tq3i8-QxYPVKYTcyxvtjTm1Wk2>`xR}D;{@N&ynY0N~}ukUCiK# zxJgm=>b1qmQOn@nfMV*%h3hfN6RgyEz$-X8U>#7;pBPC!s%qbV+2RV|IZ|UC=2WSp zy1qt&p4H^JudPO(u)daB*nLZjF?96i5v@i?`5k`Nc%f>SkwaMaDqp_B$*$~f$M_)s zXiaTh+p3=Xjqy>uO)FKU&d0%KBdFYzvSvtYV>69P6&4$$t?j+==Nj^j3%FFk=+!Qk zbYL1Va&Kp`TmQ&5?Bnl$(+(;7c}D|nRTLt;jCZtqVt}`J{y5t*nE!&yX;Lw794bsq z@o0Fle!UKMdt*~ie^s9%huoJ*`s3PuFugDA zNR*0Pc%y`6;yM5Kua-?5_jsE-e6i8Gu6|JenUUf1t)crAygl4?)wZ=seWCRuI3Q1S zFpyD2%7UZLK+M(pGiL3j7GOBd1UUzi1ZpRi2R+q&*O7&y=jQriE>`HFu zp7v5hdeGW|!tN_)*^MWa&IPZF>05Gp^u|}1A2-{YJNK|vr)&LN1IM^av8->4b{%}E zrM>a>h3G}yxRKWBEwlsHiW9v9%EFvM*U?o_%+Tg^8*}_&T<1dr{4(%a(t!l88{SQT z>|FW96TQBJt^qGocHN$bPhcsj!o6|V3V%qSPX0mf=w*Z%bV++-Yh^Q9VVzr$Sqb=O z{5@vo_%WlAO2aFrytzuayTOo zjxB2S;TUO~)IKr26I5yM9rbTF@&NopN$1>l0J6~qXsd-iN1a|V+*S;(*yi|+MrZc22+-F&8i3YD0a}U*^JKVqdlFS zlvetR^tQ|>RdibG0X-63l?$>1IxkDyk?J1WFzq4dm)u|^i-Qjz*a_4t%dXfA5%l|P wEQbW0p7Xr#`~S^;XNsMQqJ|<0 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 yYX Date: Mon, 14 Oct 2024 00:29:11 -0400 Subject: [PATCH 037/344] Fixed the CLIP War Correspondent sprite for Vox (#3540) ## About The Pull Request This helmet has a Vox sprite available that used to work (but doesn't anymore for some reason), this PR makes it correctly show up now. ## Why It's Good For The Game Fixes species support for an item that should have it. ## Changelog :cl: fix: War Correspondent helmet has a proper sprite for Vox. /:cl: --- code/modules/clothing/factions/clip.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/clothing/factions/clip.dm b/code/modules/clothing/factions/clip.dm index 7ac3668aaf77..6371b5c14f12 100644 --- a/code/modules/clothing/factions/clip.dm +++ b/code/modules/clothing/factions/clip.dm @@ -330,6 +330,8 @@ icon_state = "clip_m10_correspondant" item_state = "clip_m10_correspondant" + supports_variations = VOX_VARIATION + /obj/item/clothing/head/helmet/riot/clip name = "\improper Minutemen riot helmet" desc = "Designed to protect against close range attacks. Mainly used by the CMM-BARD against hostile xenofauna, it also sees prolific use on some Minutemen member worlds." From a8e66e77beeddab428f6ec564ce043c2a5ba2fef Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Sun, 13 Oct 2024 21:35:00 -0700 Subject: [PATCH 038/344] Puts the correct revolver type in the Abandoned Miskilamo Shipbreaking Yard (#3544) ## About The Pull Request The ruin had the base revolver type mapped. Replaces it with a Viper. ![image](https://github.com/user-attachments/assets/0c153e7b-df5b-4973-ba1d-6c2bb72772bb) ## Why It's Good For The Game I DEMAND- ## Changelog :cl: fix: Abandoned Miskilamo Shipbreaking Yard ruin has the correct revolver subtype. /:cl: --- _maps/RandomRuins/WasteRuins/wasteplanet_yard.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_yard.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_yard.dmm index 60325851692d..a53934c91013 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_yard.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_yard.dmm @@ -3042,10 +3042,10 @@ icon_state = "0-2" }, /obj/structure/closet/wall/directional/west, -/obj/item/gun/ballistic/revolver, /obj/item/clothing/suit/hooded/wintercoat/captain, /obj/item/storage/firstaid/o2, /obj/machinery/light/small/broken/directional/north, +/obj/item/gun/ballistic/revolver/viper/indie, /turf/open/floor/plasteel/wasteplanet, /area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) "Mf" = ( From b274614475ab449a10bd8c576da52a92c7bf4c99 Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Sun, 13 Oct 2024 21:35:28 -0700 Subject: [PATCH 039/344] Rock Planet Shipping Dock has the correct gun (#3545) ## About The Pull Request Rock Planet shipping dock ruin has a rattlesnake instead of the ringneck case. ![image](https://github.com/user-attachments/assets/24637f48-0658-4efd-9a57-446cb3b48e22) ## Why It's Good For The Game Seems like the ringneck got mapped in by mistake, since the crate had two rattlesnake mags, and the gun there before was the TEC-9, which the rattlesnake was supposed to replace. ## Changelog :cl: fix: Shipping dock ruin correctly has a rattlesnake instead of a ringneck case /:cl: --- _maps/RandomRuins/RockRuins/rockplanet_shippingdock.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_maps/RandomRuins/RockRuins/rockplanet_shippingdock.dmm b/_maps/RandomRuins/RockRuins/rockplanet_shippingdock.dmm index 3394913e2d2d..f18742a8aadb 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_shippingdock.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_shippingdock.dmm @@ -2002,7 +2002,7 @@ }, /obj/item/ammo_box/magazine/m9mm_rattlesnake, /obj/item/ammo_box/magazine/m9mm_rattlesnake, -/obj/item/storage/pistolcase/ringneck, +/obj/item/gun/ballistic/automatic/pistol/rattlesnake/no_mag, /turf/open/floor/plasteel/mono/dark, /area/ruin/rockplanet/shippingdocksecure) "rK" = ( From 07a762da20b69cbdc87822b760e878c11f601ca4 Mon Sep 17 00:00:00 2001 From: rye-rice <58402542+rye-rice@users.noreply.github.com> Date: Sun, 13 Oct 2024 22:54:25 -0700 Subject: [PATCH 040/344] various HP sprite improvments (#3500) ## About The Pull Request I shouldnt have to explain every god damn detail but here: - Resprites the Candor - Resprites the Ashhand - Removes the Shadow skins nobody used - Adds Shadow skins people will use - Gives the Shadow and Ashand inhands - Redoes the flaming arrow inhands - Fixes the boomslang fitting on the belt ## Why It's Good For The Game ![image](https://github.com/user-attachments/assets/00ef5f85-501c-4395-86de-2911a9db4ebc) ## Changelog :cl: add: Various sprite improvemnts fix: Boomslang no longer fits on the belt /:cl: --------- Co-authored-by: retlaw34 <58402542+retlaw34@users.noreply.github.com> --- .../projectiles/guns/ballistic/pistol.dm | 1 + .../projectiles/guns/ballistic/revolver.dm | 21 +++++++++++++----- .../manufacturer/scarborough/ballistics.dm | 2 ++ .../guns/manufacturer/hunterspride/48x32.dmi | Bin 26014 -> 26791 bytes .../manufacturer/hunterspride/lefthand.dmi | Bin 6371 -> 7622 bytes .../guns/manufacturer/hunterspride/onmob.dmi | Bin 7568 -> 7496 bytes .../manufacturer/hunterspride/righthand.dmi | Bin 6376 -> 7606 bytes 7 files changed, 18 insertions(+), 6 deletions(-) diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm index e81b57d43f37..4fcc4cf56b14 100644 --- a/code/modules/projectiles/guns/ballistic/pistol.dm +++ b/code/modules/projectiles/guns/ballistic/pistol.dm @@ -39,6 +39,7 @@ load_empty_sound = 'sound/weapons/gun/pistol/candor_reload.ogg' eject_sound = 'sound/weapons/gun/pistol/candor_unload.ogg' eject_empty_sound = 'sound/weapons/gun/pistol/candor_unload.ogg' + show_magazine_on_sprite = TRUE EMPTY_GUN_HELPER(automatic/pistol/candor) diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index e0e389ce7f4a..648ad96640f2 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -594,8 +594,10 @@ EMPTY_GUN_HELPER(revolver/detective) mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' icon_state = "ashhand" + item_state = "ashhand" mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev4570 fire_sound = 'sound/weapons/gun/revolver/shot_hunting.ogg' + rack_sound = 'sound/weapons/gun/revolver/viper_prime.ogg' manufacturer = MANUFACTURER_HUNTERSPRIDE gate_loaded = TRUE fire_delay = 0.6 SECONDS @@ -640,20 +642,22 @@ EMPTY_GUN_HELPER(revolver/detective) righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' icon_state = "shadow" - item_state = "hp_generic" + item_state = "shadow" mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev44 manufacturer = MANUFACTURER_HUNTERSPRIDE obj_flags = UNIQUE_RENAME gate_loaded = TRUE - unique_reskin = list("Shadow" = "shadow", - "Army" = "shadow_army", + unique_reskin = list(\ + "Shadow" = "shadow", + "Cattleman" = "shadow_cattleman", "General" = "shadow_general", - "Frontier Scout" = "shadow_frontier", - "Nanotrasen Special" = "shadow_nanotrasen", + "Sheriff" = "shadow_sheriff", + "Cobra" = "shadow_cobra", "Hired Gun" = "shadow_hiredgun", "Buntline" = "shadow_buntline", - "Cavalry Special" = "shadow_cavalry" + "Cavalry" = "shadow_cavalry", + "Lanchester Special" = "shadow_lanchester" ) recoil = 0 //weaker than normal revolver, no recoil @@ -665,3 +669,8 @@ EMPTY_GUN_HELPER(revolver/detective) /obj/item/gun/ballistic/revolver/shadow/no_mag spawnwithmagazine = FALSE + +/obj/item/gun/ballistic/revolver/shadow/reskin_obj(mob/M) + . = ..() + if(current_skin) + item_state = unique_reskin[current_skin] diff --git a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm index bbfdbab8d2aa..4be859b2ca3b 100644 --- a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm @@ -531,6 +531,8 @@ EMPTY_GUN_HELPER(automatic/smg/sidewinder) fire_delay = 1 SECONDS + slot_flags = ITEM_SLOT_BACK + show_magazine_on_sprite = TRUE unique_mag_sprites_for_variants = TRUE show_ammo_capacity_on_magazine_sprite = TRUE diff --git a/icons/obj/guns/manufacturer/hunterspride/48x32.dmi b/icons/obj/guns/manufacturer/hunterspride/48x32.dmi index 70bbef00e1af1a4ed286d05e5eba1aabc3630540..6c3851f0ca7f8f43799f8e90b7b978e3ded6f034 100644 GIT binary patch literal 26791 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 KE0oKdhW`(w`lRIm literal 26014 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%0A)f+6I%gb+7_Yx_82Wd@! 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 Z5n19o<jYV`mB diff --git a/icons/obj/guns/manufacturer/hunterspride/lefthand.dmi b/icons/obj/guns/manufacturer/hunterspride/lefthand.dmi index 6471cef8b5ebd61594a152dfe360bc6ec62566df..febc543be1b5940402c5a3556c70c983c876d6ea 100644 GIT binary patch literal 7622 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 Ilr;p1JO8Cc(s5mzL@d6%i2;t-hYNDG?E| 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 diff --git a/icons/obj/guns/manufacturer/hunterspride/onmob.dmi b/icons/obj/guns/manufacturer/hunterspride/onmob.dmi index 361899e3c5235f1f1912ff3d255b31ffa0faaed9..539b811aacd6dfdcb690fccae80b4c8fcbd9639d 100644 GIT binary patch delta 7166 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 V^doYw*7g7Z002ovPDHLkV1j^^3^)J) diff --git a/icons/obj/guns/manufacturer/hunterspride/righthand.dmi b/icons/obj/guns/manufacturer/hunterspride/righthand.dmi index fbf4f7cf3fbf806a4d2f02b597c6cb134671efba..ec9a8a53ba7ff704aadd98ee2b2ff9824cf1386b 100644 GIT binary patch literal 7606 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 literal 6376 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 Date: Mon, 14 Oct 2024 01:56:48 -0400 Subject: [PATCH 041/344] Anomaly Edits / Improvements (#3365) ## About The Pull Request Reformats anomaly code to be mildly less 2023. Anomalies now only have one core instead of aCore and bCore (what was i smoking). This core can receive multiple codes on the *same* frequency. Some anomaly cores now have unique detonation effects for when they are activated outside of an anomaly. A few samples of this include: setting things on fire, radiation poisoning, disappearing. Includes a new anomaly to try and balance out positive vs negative. The new anomaly is called the Transfusion. It steals blood until it is no longer hungry, at which point it will give blood to those lacking in it. ## Why It's Good For The Game More sandboxy nature + decision making in conflict around anomalies. ## Changelog :cl: Erika Fox add: Transfusion anomaly; yum! Blood! add: Anomaly cores now have an effect when detonated out of the anomaly add: new anomaly description fluff /:cl: --------- Signed-off-by: Erika Fox <94164348+Bjarl@users.noreply.github.com> Co-authored-by: Theos --- .../objects/effects/anomalies/_anomalies.dm | 46 ++-- .../effects/anomalies/anomalies_bluespace.dm | 4 +- .../effects/anomalies/anomalies_flux.dm | 11 +- .../effects/anomalies/anomalies_gravity.dm | 5 +- .../anomalies/anomalies_hallucination.dm | 5 +- .../effects/anomalies/anomalies_heartbeat.dm | 4 +- .../effects/anomalies/anomalies_melter.dm | 6 +- .../effects/anomalies/anomalies_phantom.dm | 4 +- .../effects/anomalies/anomalies_plasmasoul.dm | 4 +- .../effects/anomalies/anomalies_pulsar.dm | 4 +- .../anomalies/anomalies_pyroclastic.dm | 10 +- .../effects/anomalies/anomalies_sparkler.dm | 4 +- .../effects/anomalies/anomalies_static.dm | 56 ++-- .../anomalies/anomalies_transfusion.dm | 69 +++++ .../effects/anomalies/anomalies_veins.dm | 4 +- .../effects/anomalies/anomalies_vortex.dm | 5 +- .../game/objects/effects/spawners/lootdrop.dm | 6 +- code/modules/assembly/anomalies.dm | 248 ++++++++++++++++++ code/modules/assembly/signaler.dm | 120 --------- icons/effects/anomalies.dmi | Bin 139228 -> 153916 bytes shiptest.dme | 2 + 21 files changed, 400 insertions(+), 217 deletions(-) create mode 100644 code/game/objects/effects/anomalies/anomalies_transfusion.dm create mode 100644 code/modules/assembly/anomalies.dm diff --git a/code/game/objects/effects/anomalies/_anomalies.dm b/code/game/objects/effects/anomalies/_anomalies.dm index 4a85f9321154..6477446a2b72 100644 --- a/code/game/objects/effects/anomalies/_anomalies.dm +++ b/code/game/objects/effects/anomalies/_anomalies.dm @@ -8,9 +8,7 @@ anchored = TRUE light_range = 3 - //aSignal drops as the core, bSignal allows people to signal to detonate - var/obj/item/assembly/signaler/anomaly/aSignal = /obj/item/assembly/signaler/anomaly - var/obj/item/assembly/signaler/anomaly/bSignal = /obj/item/assembly/signaler/anomaly/det_signal + var/obj/item/assembly/signaler/anomaly/core = /obj/item/assembly/signaler/anomaly var/area/impact_area var/lifespan = 990 @@ -46,27 +44,17 @@ pulse_delay = rand(pulse_delay*0.5, pulse_delay*1.5) src.drops_core = drops_core - if(aSignal) - aSignal = new aSignal(src) - aSignal.code = rand(1,100) - aSignal.anomaly_type = type - aSignal.research = research_value + if(core) + core = new core(src) + core.code = rand(1,100) + core.code_b = rand(1,100) + core.anomaly_type = type + core.research = research_value var/frequency = rand(MIN_FREE_FREQ, MAX_FREE_FREQ) if(ISMULTIPLE(frequency, 2))//signaller frequencies are always uneven! frequency++ - aSignal.set_frequency(frequency) - - if(bSignal) - bSignal = new bSignal(src) - bSignal.code = rand(1,100) - bSignal.anomaly_type = type - var/frequency = rand(MIN_FREE_FREQ, MAX_FREE_FREQ) - if(ISMULTIPLE(frequency, 2))//signaller frequencies are always uneven! - frequency++ - bSignal.set_frequency(frequency) - - + core.set_frequency(frequency) if(lifespan) if(new_lifespan) @@ -97,7 +85,7 @@ /obj/effect/anomaly/Destroy() STOP_PROCESSING(SSobj, src) QDEL_NULL(countdown) - QDEL_NULL(aSignal) + QDEL_NULL(core) return ..() /obj/effect/anomaly/proc/anomalyEffect(seconds_per_tick) @@ -118,30 +106,26 @@ /obj/effect/anomaly/proc/anomalyNeutralize() new /obj/effect/particle_effect/smoke/bad(loc) - if(drops_core) - if(isnull(aSignal)) + if(isnull(core)) stack_trace("An anomaly ([src]) exists that drops a core, yet has no core!") else - aSignal.forceMove(drop_location()) - aSignal = null + core.forceMove(drop_location()) + core = null // else, anomaly core gets deleted by qdel(src). qdel(src) /obj/effect/anomaly/attackby(obj/item/weapon, mob/user, params) - if(weapon.tool_behaviour == TOOL_ANALYZER && aSignal) + if(weapon.tool_behaviour == TOOL_ANALYZER && core) to_chat(user, span_notice("You start analyzing [src].")) if(do_after(user, 20, src, hidden = TRUE)) - to_chat(user, span_notice("[src]'s primary field is fluctuating along frequency [format_frequency(aSignal.frequency)], code [aSignal.code].")) - if(bSignal) - to_chat(user, span_notice("A second field is fluctuating along [format_frequency(bSignal.frequency)], code [bSignal.code]. It is highly unstable." )) - return TRUE + to_chat(user, span_notice("[src]'s primary field is fluctuating along frequency [format_frequency(core.frequency)], code [core.code].")) + return TRUE return ..() - /obj/effect/anomaly/examine(mob/user) . = ..() if(user.research_scanner == TRUE) diff --git a/code/game/objects/effects/anomalies/anomalies_bluespace.dm b/code/game/objects/effects/anomalies/anomalies_bluespace.dm index f7012e532944..d5825181295c 100644 --- a/code/game/objects/effects/anomalies/anomalies_bluespace.dm +++ b/code/game/objects/effects/anomalies/anomalies_bluespace.dm @@ -2,9 +2,9 @@ /obj/effect/anomaly/bluespace name = "jumper" icon_state = "bluespace" - desc = "A mysterious anomaly that causes teleportation around it." + desc = "A hole in the fabric of bluespace, perforating reality around it." density = TRUE - aSignal = /obj/item/assembly/signaler/anomaly/bluespace + core = /obj/item/assembly/signaler/anomaly/bluespace ///range from which we can teleport someone effectrange = 3 var/reagent_amount = 3 diff --git a/code/game/objects/effects/anomalies/anomalies_flux.dm b/code/game/objects/effects/anomalies/anomalies_flux.dm index b1318953f4a6..4eaddefdcae0 100644 --- a/code/game/objects/effects/anomalies/anomalies_flux.dm +++ b/code/game/objects/effects/anomalies/anomalies_flux.dm @@ -1,9 +1,10 @@ /obj/effect/anomaly/flux name = "tesla" - icon_state = "flux" - desc = "A mysterious anomaly that sends out a near constant stream of electrical arcs." + icon_state = "tesla" + //double-check that these only happen in atmosphere now + desc = "A break in the atmosphere, small yet potent lightning arcs flashing off it." density = TRUE - aSignal = /obj/item/assembly/signaler/anomaly/flux + core = /obj/item/assembly/signaler/anomaly/flux pulse_delay = 2 SECONDS effectrange = 0 var/canshock = FALSE @@ -99,3 +100,7 @@ /obj/effect/anomaly/flux/big/planetary immortal = TRUE immobile = TRUE + +/obj/effect/anomaly/flux/storm + drops_core = FALSE + explosive = FLUX_LOW_EXPLOSIVE diff --git a/code/game/objects/effects/anomalies/anomalies_gravity.dm b/code/game/objects/effects/anomalies/anomalies_gravity.dm index 1dea7049fc97..20cc30dcc74d 100644 --- a/code/game/objects/effects/anomalies/anomalies_gravity.dm +++ b/code/game/objects/effects/anomalies/anomalies_gravity.dm @@ -9,10 +9,9 @@ /obj/effect/anomaly/grav name = "throngler" icon_state = "gravity" - desc = "A mysterious anomaly that sucks things towards it with a gravitational field, ending in what has been termed a 'throngling'." + desc = "A miniature gravity well, constantly pulling the world around it into a 'throngling'." density = FALSE - aSignal = /obj/item/assembly/signaler/anomaly/grav - bSignal = null + core = /obj/item/assembly/signaler/anomaly/grav effectrange = 4 var/boing = 0 ///Warp effect holder for displacement filter to "pulse" the anomaly diff --git a/code/game/objects/effects/anomalies/anomalies_hallucination.dm b/code/game/objects/effects/anomalies/anomalies_hallucination.dm index ab859a3b3215..e48a1879f257 100644 --- a/code/game/objects/effects/anomalies/anomalies_hallucination.dm +++ b/code/game/objects/effects/anomalies/anomalies_hallucination.dm @@ -2,7 +2,8 @@ /obj/effect/anomaly/hallucination name = "hallucination anomaly" icon_state = "hallucination" - aSignal = /obj/item/assembly/signaler/anomaly/hallucination + desc = "A shimmering mirage suspended above the ground, never in the same place as it was a second ago." + core = /obj/item/assembly/signaler/anomaly/hallucination /// Time passed since the last effect, increased by delta_time of the SSobj var/ticks = 0 /// How many seconds between each small hallucination pulses @@ -18,6 +19,8 @@ var/turf/open/our_turf = get_turf(src) if(istype(our_turf)) hallucination_pulse(our_turf, 5) + pixel_x = pixel_x + clamp(rand(-5, 5), -16, 16) + pixel_y = pixel_y + clamp(rand(-5, 5), -16, 16) /obj/effect/anomaly/hallucination/detonate() var/turf/open/our_turf = get_turf(src) diff --git a/code/game/objects/effects/anomalies/anomalies_heartbeat.dm b/code/game/objects/effects/anomalies/anomalies_heartbeat.dm index 1b691d898436..ff111fe4882c 100644 --- a/code/game/objects/effects/anomalies/anomalies_heartbeat.dm +++ b/code/game/objects/effects/anomalies/anomalies_heartbeat.dm @@ -1,9 +1,9 @@ /obj/effect/anomaly/heartbeat name = "heartbeat" icon_state = "heartbeat" - desc = "A mysterious anomaly, it ionizes the world around it." + desc = "A throbbing vertex, spreading a cancer to the world around itself." density = TRUE - aSignal = /obj/item/assembly/signaler/anomaly/heartbeat + core = /obj/item/assembly/signaler/anomaly/heartbeat effectrange = 3 pulse_delay = 6 SECONDS var/reagent_amount = 5 diff --git a/code/game/objects/effects/anomalies/anomalies_melter.dm b/code/game/objects/effects/anomalies/anomalies_melter.dm index d906d4f4bad2..3c99fd7eab5a 100644 --- a/code/game/objects/effects/anomalies/anomalies_melter.dm +++ b/code/game/objects/effects/anomalies/anomalies_melter.dm @@ -1,10 +1,10 @@ /obj/effect/anomaly/melter name = "melter" icon_state = "melter" - desc = "A mysterious anomaly. Everburning green flames with a horrid sizzle, melting what's near" + desc = "Everburning green flames, eager to lash out at anything that intrudes near." effectrange = 2 pulse_delay = 10 SECONDS - aSignal = /obj/item/assembly/signaler/anomaly/melter + core = /obj/item/assembly/signaler/anomaly/melter /obj/effect/anomaly/melter/anomalyEffect(seconds_per_tick) ..() @@ -20,7 +20,7 @@ I.acid_act(20, 20) I.update_appearance() for (var/obj/item/melt in range(effectrange, src)) - + //don't melt yourself if(istype(melt, /obj/item/assembly/signaler/anomaly)) return else diff --git a/code/game/objects/effects/anomalies/anomalies_phantom.dm b/code/game/objects/effects/anomalies/anomalies_phantom.dm index 9407bbcbf920..e2225c4c843e 100644 --- a/code/game/objects/effects/anomalies/anomalies_phantom.dm +++ b/code/game/objects/effects/anomalies/anomalies_phantom.dm @@ -1,9 +1,9 @@ /obj/effect/anomaly/phantom name = "phantom" icon_state = "phantom" - desc = "A mysterious anomaly, the outline of a humanoid, endlessly screaming in agony." + desc = "A familiar outline, it calls out for companionship. It screams for you." density = FALSE - aSignal = /obj/item/assembly/signaler/anomaly/phantom + core = /obj/item/assembly/signaler/anomaly/phantom effectrange = 3 pulse_delay = 2 SECONDS diff --git a/code/game/objects/effects/anomalies/anomalies_plasmasoul.dm b/code/game/objects/effects/anomalies/anomalies_plasmasoul.dm index 006d42ac28d3..f2d9bf6308a5 100644 --- a/code/game/objects/effects/anomalies/anomalies_plasmasoul.dm +++ b/code/game/objects/effects/anomalies/anomalies_plasmasoul.dm @@ -1,9 +1,9 @@ /obj/effect/anomaly/plasmasoul name = "plasma soul" icon_state = "plasmasoul" - desc = "A mysterious anomaly, it slowly leaks plasma into the world around it." + desc = "A plasmatic pool, small crystals growing around it, spreading into the ground." density = TRUE - aSignal = /obj/item/assembly/signaler/anomaly/plasmasoul + core = /obj/item/assembly/signaler/anomaly/plasmasoul effectrange = 3 pulse_delay = 6 SECONDS var/reagent_amount = 5 diff --git a/code/game/objects/effects/anomalies/anomalies_pulsar.dm b/code/game/objects/effects/anomalies/anomalies_pulsar.dm index 1f75acee56b8..360e004b2adf 100644 --- a/code/game/objects/effects/anomalies/anomalies_pulsar.dm +++ b/code/game/objects/effects/anomalies/anomalies_pulsar.dm @@ -1,9 +1,9 @@ /obj/effect/anomaly/pulsar name = "pulsar" icon_state = "pulsar" - desc = "A mysterious anomaly, endless electromagnetic disturbances roll out from it" + desc = "A near transparent shell hovering, containing a near constant electromagnetic turmoil." density = TRUE - aSignal = /obj/item/assembly/signaler/anomaly/pulsar + core = /obj/item/assembly/signaler/anomaly/pulsar effectrange = 4 pulse_delay = 15 SECONDS diff --git a/code/game/objects/effects/anomalies/anomalies_pyroclastic.dm b/code/game/objects/effects/anomalies/anomalies_pyroclastic.dm index b4c93868e670..fef1c8b38a0b 100644 --- a/code/game/objects/effects/anomalies/anomalies_pyroclastic.dm +++ b/code/game/objects/effects/anomalies/anomalies_pyroclastic.dm @@ -2,17 +2,16 @@ /obj/effect/anomaly/pyro name = "plasmaball" icon_state = "pyroclastic" - desc = "A mysterious anomaly, made of an everburning gas. Those who approach it tend to absorb it's heat, or even ignite." + desc = "A floating orb of everburning gas, not unlike a sun. It radiates a dangerous amount of heat." effectrange = 4 pulse_delay = 10 SECONDS - aSignal = /obj/item/assembly/signaler/anomaly/pyro + core = /obj/item/assembly/signaler/anomaly/pyro /obj/effect/anomaly/pyro/anomalyEffect(seconds_per_tick) ..() for(var/mob/living/carbon/nearby in range(effectrange, src)) nearby.adjust_bodytemperature(20) - visible_message("[src] pulses!") if(!COOLDOWN_FINISHED(src, pulse_cooldown)) return @@ -21,7 +20,7 @@ for(var/mob/living/carbon/nearby in range(effectrange/2, src)) nearby.fire_stacks += 3 nearby.IgniteMob() - visible_message("[src] ignites [nearby]!") + visible_message("[src] lets out a flare, igniting [nearby]!") /obj/effect/anomaly/pyro/Bumped(atom/movable/AM) @@ -84,3 +83,6 @@ /obj/effect/anomaly/pyro/big/planetary immortal = TRUE immobile = TRUE + +/obj/effect/anomaly/pyro/storm + drops_core = FALSE diff --git a/code/game/objects/effects/anomalies/anomalies_sparkler.dm b/code/game/objects/effects/anomalies/anomalies_sparkler.dm index 0b26e6fd6a1c..79dd55cf21a7 100644 --- a/code/game/objects/effects/anomalies/anomalies_sparkler.dm +++ b/code/game/objects/effects/anomalies/anomalies_sparkler.dm @@ -1,9 +1,9 @@ /obj/effect/anomaly/sparkler name = "sparkler" icon_state = "sparkler" - desc = "A mysterious anomaly, constantly throwing sparks into its vicinity." + desc = "A series of shimmering sparks flying to and fro. They try to spread, yet fail." density = TRUE - aSignal = /obj/item/assembly/signaler/anomaly/sparkler + core = /obj/item/assembly/signaler/anomaly/sparkler effectrange = 4 pulse_delay = 1 SECONDS diff --git a/code/game/objects/effects/anomalies/anomalies_static.dm b/code/game/objects/effects/anomalies/anomalies_static.dm index ab574ee475dd..5b5bb76badf2 100644 --- a/code/game/objects/effects/anomalies/anomalies_static.dm +++ b/code/game/objects/effects/anomalies/anomalies_static.dm @@ -1,9 +1,25 @@ +GLOBAL_LIST_INIT(tvstatic_sayings, list( + "... Help me...", + "... I need to get out ...", + "...No hope....", + "...Let me loose...", + "...stay with me...", + "...Not like this...", + "...please don't go...", + "...don't forget me...", + "...Are you there...?", + "...it hurts...", + "...the eyes...", + "...need to run...", + "...is anyone there..." +)) + /obj/effect/anomaly/tvstatic name = "static" icon_state = "static" - desc = "A mysterious anomaly. A hole in the world, endless buzzing emitting from it." + desc = "A hole in the world emitting an endless buzzing. It hides something precious." density = TRUE - aSignal = /obj/item/assembly/signaler/anomaly/tvstatic + core = /obj/item/assembly/signaler/anomaly/tvstatic effectrange = 4 pulse_delay = 4 SECONDS verb_say = "pleads" @@ -48,7 +64,7 @@ var/mob/living/carbon/victim = looking var/obj/effect/anomaly/tvstatic/planetary/expansion expansion = new(get_turf(victim)) - visible_message(span_warning("The static overtakes [victim], [expansion] taking their place!")) + visible_message(span_warning("[src] overtakes [victim], [expansion] taking their place!")) victim.death() expansion.stored_mob = victim victim.forceMove(expansion) @@ -58,44 +74,18 @@ anomalyEffect() /obj/effect/anomaly/tvstatic/proc/say_fucky_things() - switch(rand(1, 13)) - if(1) - say("... Help me...") - if(2) - say("... I need to get out ...") - if(3) - say("...No hope....") - if(4) - say("....Let me loose...") - if(5) - say("...stay with me...") - if(6) - say("...I hope I live...") - if(7) - say("...please don't go...") - if(8) - say("...don't forget me...") - if(9) - say("...Are you there...?") - if(10) - say("...it hurts...") - if(11) - say("...the eyes...") - if(12) - say("...need to run...") - if(13) - say("...don't become like me...") + say(pick(GLOB.tvstatic_sayings)) return /obj/effect/anomaly/tvstatic/detonate() for(var/mob/living/carbon/human/looking in range(effectrange, src)) - visible_message(span_boldwarning(" The static lashes out, agony filling your mind as its tendrils scrape your thoughts!")) + visible_message(span_boldwarning("[src] lashes out, agony filling your mind as its tendrils scrape your thoughts!")) if (!HAS_TRAIT(looking, TRAIT_MINDSHIELD) && looking.stat != DEAD) looking.adjustOrganLoss(ORGAN_SLOT_BRAIN, 100, 200) playsound(src, 'sound/effects/stall.ogg', 100) if(stored_mob) mangle_corpse() - visible_message(span_warning("The static sputters out [stored_mob], their body coming out in a burst of blood and gore!")) + visible_message(span_warning("[src] sputters out [stored_mob], their body coming out in a burst of blood and gore!")) new /obj/effect/gibspawner/human(loc) stored_mob.forceMove(get_turf(src)) stored_mob = null @@ -111,7 +101,7 @@ var/turf/T = get_turf(src) if(T) if(stored_mob) - visible_message(span_warning("The static spits out [stored_mob], their body coming out in a burst!")) + visible_message(span_warning("[src] spits out [stored_mob], their body coming out in a burst!")) stored_mob.forceMove(get_turf(src)) stored_mob = null . = ..() diff --git a/code/game/objects/effects/anomalies/anomalies_transfusion.dm b/code/game/objects/effects/anomalies/anomalies_transfusion.dm new file mode 100644 index 000000000000..f233f9c0a3c4 --- /dev/null +++ b/code/game/objects/effects/anomalies/anomalies_transfusion.dm @@ -0,0 +1,69 @@ +/obj/effect/anomaly/transfusion + name = "transfusion" + icon_state = "transfusion" + desc = "A throbbing field floating mid-air, crimson particulate hovering within it." + density = TRUE + core = /obj/item/assembly/signaler/anomaly/transfusion + effectrange = 3 + pulse_delay = 5 SECONDS + +/obj/effect/anomaly/transfusion/anomalyEffect() + ..() + + if(!COOLDOWN_FINISHED(src, pulse_cooldown)) + return + + COOLDOWN_START(src, pulse_cooldown, pulse_delay) + blood_music() + return + +/obj/effect/anomaly/transfusion/proc/blood_music() //by greg bear + //this is hacky *because* in an ideal world - it would involve making the core have a reagent container for the blood + //however - I am a lazy bitch + for(var/mob/living/carbon/victim in range(effectrange, src)) + //if we're not hungry, we're not hungry. + if (core?:get_blood_max() < core?:get_blood_stored()) + new /obj/effect/temp_visual/dir_setting/bloodsplatter(src.loc, rand(1, 8)) + visible_message(span_boldwarning("[src] vomits up blood, seemingly satiated!")) + core?:set_blood_stored(core?:get_blood_max()) + return + //if there's blood to take, take it + if (victim.blood_volume > BLOOD_VOLUME_SAFE) + var/bleeder + bleeder = rand(10,30) + victim.bleed(bleeder) + victim.spray_blood(get_dir(victim, src), splatter_strength = 1) //slurp + visible_message(span_boldwarning("Ichor flows out of [victim], and into [src]!")) + core?:set_blood_stored(bleeder) + break + //but if there's blood to give, share. + if(victim.blood_volume < BLOOD_VOLUME_SAFE && core?:get_blood_stored() > (core?:get_blood_max() / 2)) + var/present_time + present_time = rand((core?:get_blood_stored() / 10), (core?:get_blood_stored() / 2)) + visible_message(span_boldwarning("Globules of ichor fly away from [src], and into [victim]!")) + core?:set_blood_stored(-present_time) + victim.blood_volume += present_time + break + return + +/obj/effect/anomaly/transfusion/Bumped(atom/movable/AM) + if(!COOLDOWN_FINISHED(src, pulse_secondary_cooldown)) + return + COOLDOWN_START(src, pulse_secondary_cooldown, 10) + if(istype(AM, /mob/living/carbon)) + var/mob/living/carbon/victim = AM + visible_message(span_boldwarning("[victim] touches [src], and as they pull away their blood flows away from them!")) + var/amount = rand(50, 200) + victim.bleed(amount) + core?:set_blood_stored(amount) + +/obj/effect/anomaly/transfusion/detonate() + for(var/mob/living/carbon/victim in range(effectrange, src)) + victim.bleed(rand(100, 250)) + victim.spray_blood(get_dir(src, victim), splatter_strength = 3) //slurp + visible_message(span_boldwarning("[src] screams as it tries to pull all the blood around into itself!")) + . = ..() + +/obj/effect/anomaly/transfusion/planetary + immortal = TRUE + immobile = TRUE diff --git a/code/game/objects/effects/anomalies/anomalies_veins.dm b/code/game/objects/effects/anomalies/anomalies_veins.dm index 416e325ccdbd..b148f2d01666 100644 --- a/code/game/objects/effects/anomalies/anomalies_veins.dm +++ b/code/game/objects/effects/anomalies/anomalies_veins.dm @@ -1,9 +1,9 @@ /obj/effect/anomaly/veins name = "veins" icon_state = "veins" - desc = "A mysterious anomaly, throbbing purple veins, suspended midair." + desc = "Throbbing purple veins, an exposed artery of the world. It thirsts." density = TRUE - aSignal = /obj/item/assembly/signaler/anomaly/veins + core = /obj/item/assembly/signaler/anomaly/veins effectrange = 3 pulse_delay = 4 SECONDS diff --git a/code/game/objects/effects/anomalies/anomalies_vortex.dm b/code/game/objects/effects/anomalies/anomalies_vortex.dm index 16a30cbaa9c6..5e5875077660 100644 --- a/code/game/objects/effects/anomalies/anomalies_vortex.dm +++ b/code/game/objects/effects/anomalies/anomalies_vortex.dm @@ -2,9 +2,8 @@ /obj/effect/anomaly/vortex name = "vortex" icon_state = "vortex" - desc = "A mysterious anomaly, this one destroys everything around it." - aSignal = /obj/item/assembly/signaler/anomaly/vortex - bSignal = null + desc = "An incredibly compact black orb, its hunger unquenchable." + core = /obj/item/assembly/signaler/anomaly/vortex /obj/effect/anomaly/vortex/anomalyEffect() ..() diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index 364ddeb72298..1163a5520631 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -805,6 +805,7 @@ /obj/effect/anomaly/plasmasoul/planetary, /obj/effect/anomaly/phantom/planetary, /obj/effect/anomaly/melter/planetary, + /obj/effect/anomaly/transfusion/planetary, ) /obj/effect/spawner/lootdrop/anomaly/safe @@ -815,6 +816,7 @@ /obj/effect/anomaly/sparkler/planetary, /obj/effect/anomaly/veins/planetary, /obj/effect/anomaly/phantom/planetary, + /obj/effect/anomaly/transfusion/planetary, ) /obj/effect/spawner/lootdrop/anomaly/dangerous @@ -999,8 +1001,8 @@ /obj/effect/spawner/lootdrop/anomaly/storm loot = list( - /obj/effect/anomaly/flux, - /obj/effect/anomaly/pyro, + /obj/effect/anomaly/flux/storm, + /obj/effect/anomaly/pyro/storm, /obj/effect/anomaly/sparkler, /obj/effect/anomaly/veins, /obj/effect/anomaly/phantom, diff --git a/code/modules/assembly/anomalies.dm b/code/modules/assembly/anomalies.dm new file mode 100644 index 000000000000..0b390b39e8b4 --- /dev/null +++ b/code/modules/assembly/anomalies.dm @@ -0,0 +1,248 @@ +///Base anomaly signaller +// Embedded signaller used in anomalies. +/obj/item/assembly/signaler/anomaly + name = "anomaly core" + desc = "The stabilized core of an anomaly. It'd probably be valuable for research." + icon_state = "anomaly core" + item_state = "electronic" + lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' + righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' + resistance_flags = FIRE_PROOF + //allows anomaly cores to recieve multiple signals + var/code_b = DEFAULT_SIGNALER_CODE + var/anomaly_type = /obj/effect/anomaly + var/research + +/obj/item/assembly/signaler/anomaly/Initialize() + . = ..() + set_frequency(frequency) + +/obj/item/assembly/signaler/anomaly/attack_self() + return + +/obj/item/assembly/signaler/anomaly/receive_signal(datum/signal/signal) + if(!signal) + return FALSE + if(signal.data["code"] == code) + for(var/obj/effect/anomaly/Anomaly in get_turf(src)) + Anomaly.anomalyNeutralize() + return TRUE + if(signal.data["code"] == code_b ) + for(var/obj/effect/anomaly/Anomaly in get_turf(src)) + Anomaly.detonate() + anomaly_core_detonation() + return TRUE + return FALSE + +//extend this on a per anomaly basis. +/obj/item/assembly/signaler/anomaly/proc/anomaly_core_detonation() + new /obj/effect/particle_effect/smoke/bad(loc) + qdel(src) + +/obj/item/assembly/signaler/anomaly/attackby(obj/item/I, mob/user, params) + if(I.tool_behaviour == TOOL_ANALYZER) + to_chat(user, "Analyzing... [src]'s stabilized field is fluctuating along frequency [format_frequency(frequency)], code [code]. An unstable frequency is present at code [code_b].") + ..() + +///Bluespace Anomaly +/obj/item/assembly/signaler/anomaly/bluespace + name = "\improper bluespace anomaly core" + desc = "The stabilized core of a bluespace anomaly. It keeps phasing in and out of view." + icon_state = "anomaly core" + +/obj/item/assembly/signaler/anomaly/bluespace/anomaly_core_detonation() + //just teleports people + visible_message(span_warning("[src] creates a bluespace fracture around itself!")) + for(var/mob/living/Mob in range(1,src)) + do_teleport(Mob, locate(Mob.x, Mob.y, Mob.z), 8, channel = TELEPORT_CHANNEL_BLUESPACE) + ..() + +//Flux Anomaly +/obj/item/assembly/signaler/anomaly/flux + name = "\improper flux anomaly core" + desc = "The stabilized core of a flux anomaly. Touching it makes your skin tingle." + icon_state = "flux core" + +/obj/item/assembly/signaler/anomaly/flux/anomaly_core_detonation() + //zap + visible_message(span_warning("Electrical arcs flash off of [src] as it fizzles out!")) + tesla_zap(src, 3, 1000, ZAP_FUSION_FLAGS) + ..() + +///Gravity Anomaly +/obj/item/assembly/signaler/anomaly/grav + name = "\improper gravitational anomaly core" + desc = "The stabilized core of a gravitational anomaly. It feels much heavier than it looks." + icon_state = "grav core" + +/obj/item/assembly/signaler/anomaly/grav/anomaly_core_detonation() + //throngles u cutely + visible_message(span_warning("[src] implodes into itself, light itself bending for a split second!")) + for(var/mob/living/carbon/carbon in range(1,src)) + if(carbon.run_armor_check(attack_flag = "melee") >= 20) + carbon.break_random_bone() + else if(carbon.run_armor_check(attack_flag = "melee") >= 40) + carbon.break_all_bones() //crunch + carbon.apply_damage(20, BRUTE) + +///Hallucination Anomaly +/obj/item/assembly/signaler/anomaly/hallucination + name = "\improper hallucination anomaly core" + desc = "The stabilized core of a hallucination anomaly. It's never entirely there." + icon_state = "hallucination_core" + +///Heartbeat Anomaly +/obj/item/assembly/signaler/anomaly/heartbeat + name = "\improper heartbeat anomaly core" + desc = "The stabilized core of a heartbeat anomaly. Pulses of heat run across its shell." + +/obj/item/assembly/signaler/anomaly/heartbeat/anomaly_core_detonation() + visible_message(span_warning("[src] expands and throbs, before shattering into dozens of fragments!")) + radiation_pulse(src, 500, 2) + new /obj/effect/decal/cleanable/glass/strange(src) + ..() + +///Melter Anomaly +/obj/item/assembly/signaler/anomaly/melter + name = "\improper melter anomaly core" + desc = "The stabilized core of a melter anomaly. It sizzles and crackles." + icon_state = "pyro core" + +/obj/item/assembly/signaler/anomaly/melter/anomaly_core_detonation() + visible_message(span_warning("[src] melts into a glowing residue!")) + new /obj/effect/decal/cleanable/greenglow(src.loc) + ..() + +///Phantom Anomaly +/obj/item/assembly/signaler/anomaly/phantom + name = "\improper phantom anomaly core" + desc = "The stabilized core of a phantom anomaly. It quietly screams." + +/obj/item/assembly/signaler/anomaly/phantom/anomaly_core_detonation() + playsound(src,'sound/hallucinations/far_noise.ogg', 100, 0, 50, TRUE, TRUE) + visible_message(span_warning("[src] screams as it disappates!")) + ..() + +///Plasmasoul Anomaly +/obj/item/assembly/signaler/anomaly/plasmasoul + name = "\improper plasmasoul anomaly core" + desc = "The stabilized core of a plasmasoul anomaly. The air around it hisses." + +/obj/item/assembly/signaler/anomaly/plasmasoul/anomaly_core_detonation() + visible_message(span_warning("[src] rapidly delaminates, leaving behind trace vapors!")) + ..() + +///Pulsar Anomaly +/obj/item/assembly/signaler/anomaly/pulsar + name = "\improper pulsar anomaly core" + desc = "The stabilized core of a pulsar anomaly. Electromagnetic crackles come off it." + +/obj/item/assembly/signaler/anomaly/pulsar/anomaly_core_detonation() + visible_message(span_warning("[src] gives off one last pulse as it melts!")) + empulse(loc, 3, 1) + ..() + +///Pyroclastic Anomaly +/obj/item/assembly/signaler/anomaly/pyro + name = "\improper pyroclastic anomaly core" + desc = "The stabilized core of a pyroclastic anomaly. It almost burns to touch." + icon_state = "pyro core" + +//glorified molotov +/obj/item/assembly/signaler/anomaly/pyro/anomaly_core_detonation() + //this is tg's ash heretic ash heretic ascenscion power tuned down a bit. + visible_message(span_warning("[src] loses coherence, bursting into brilliant flames!")) + for(var/i in 0 to 3) + for(var/turf/nearby_turf as anything in spiral_range_turfs(i + 1, src.loc)) + var/obj/effect/hotspot/flame_tile = locate(nearby_turf) || new(nearby_turf) + flame_tile.alpha = 125 + nearby_turf.hotspot_expose(750, 25, 1) + qdel(src) + +///Sparkler Anomaly +/obj/item/assembly/signaler/anomaly/sparkler + name = "\improper sparkler anomaly core" + desc = "The stabilized core of a sparkler anomaly. Tiny electrical sparks arc off it." + +/obj/item/assembly/signaler/anomaly/sparkler/anomaly_core_detonation() + visible_message(span_warning("[src] shoots out one last assortment of sparks!")) + tesla_zap(src, 2, 5000, ZAP_FUSION_FLAGS) + ..() + +///Static Anomaly +/obj/item/assembly/signaler/anomaly/tvstatic + name = "\improper static anomaly core" + desc = "The stabilized core of a static anomaly. Your head hurts just staring at it" + +/obj/item/assembly/signaler/anomaly/tvstatic/anomaly_core_detonation() + visible_message(span_warning("[src] withdraws into itself, one last message escaping it!")) + say(pick(GLOB.tvstatic_sayings)) + for(var/mob/living/carbon/human/looking in range(4, src)) + if (!HAS_TRAIT(looking, TRAIT_MINDSHIELD) && looking.stat != DEAD) + looking.adjustOrganLoss(ORGAN_SLOT_BRAIN, 20, 40) + playsound(src, 'sound/effects/stall.ogg', 100) + ..() + +///Transfusion Anomaly +/obj/item/assembly/signaler/anomaly/transfusion + name = "\improper transfusion anomaly core" + desc = "The stabilized core of a tranfusion anomaly. Crimson slowly seeps out of the containment unit." + icon_state = "pyro core" + var/blood_stored + var/blood_max + +/obj/item/assembly/signaler/anomaly/transfusion/Initialize() + . = ..() + blood_max = rand(400, 1200) + +/obj/item/assembly/signaler/anomaly/transfusion/proc/set_blood_stored(int) + blood_stored += int + +/obj/item/assembly/signaler/anomaly/transfusion/proc/set_blood_max(int) + blood_max = int + +/obj/item/assembly/signaler/anomaly/transfusion/proc/get_blood_stored() + return blood_stored + +/obj/item/assembly/signaler/anomaly/transfusion/proc/get_blood_max() + return blood_max + +/obj/item/assembly/signaler/anomaly/transfusion/anomaly_core_detonation() + visible_message(span_warning("Ichor flies out of [src], trying to force itself into everything around!")) + while(blood_stored > 0) + for(var/mob/living/carbon/victim in range(2, src)) + var/present_time + present_time = rand((blood_stored / 10), (blood_stored / 2)) + visible_message(span_boldwarning("[victim] finds themselves transfused with the crimson ichor!")) + victim.blood_volume += present_time + blood_stored += -present_time + ..() + +///Veins Anomaly +/obj/item/assembly/signaler/anomaly/veins + name = "\improper fountain anomaly core" + desc = "The stabilized core of a fountain anomaly. It's slippery, like an intestine." + +/obj/item/assembly/signaler/anomaly/veins/anomaly_core_detonation() + //goreshit + var/obj/effect/gibspawner/mess = pick(list( + /obj/effect/gibspawner/human, + /obj/effect/gibspawner/xeno, + /obj/effect/gibspawner/generic/animal + )) + visible_message(span_warning("[src] erupts into a fountain of gore and viserca!")) + new mess(src.loc) + ..() + +///Vortex Anomaly +/obj/item/assembly/signaler/anomaly/vortex + name = "\improper vortex anomaly core" + desc = "The stabilized core of a vortex anomaly. It won't sit still, as if some invisible force is acting on it." + icon_state = "vortex core" + +/obj/item/assembly/signaler/anomaly/vortex/anomaly_core_detonation() + //disappears bigly + playsound(src,'sound/effects/phasein.ogg', 100, 0, 50, TRUE, TRUE) + new /obj/effect/particle_effect/sparks/quantum(loc) + visible_message(span_warning("[src] shakes violently and - hey, where'd it go?")) + ..() diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index 0bfac86ee0df..b1203d358e7f 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -144,126 +144,6 @@ return return ..(signal) -// Embedded signaller used in anomalies. -/obj/item/assembly/signaler/anomaly - name = "anomaly core" - desc = "The neutralized core of an anomaly. It'd probably be valuable for research." - icon_state = "anomaly core" - item_state = "electronic" - lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' - righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' - resistance_flags = FIRE_PROOF - var/anomaly_type = /obj/effect/anomaly - var/research - -/obj/item/assembly/signaler/anomaly/receive_signal(datum/signal/signal) - if(!signal) - return FALSE - if(signal.data["code"] != code) - return FALSE - for(var/obj/effect/anomaly/Anomaly in get_turf(src)) - Anomaly.anomalyNeutralize() - return TRUE - -/obj/item/assembly/signaler/anomaly/attackby(obj/item/I, mob/user, params) - if(I.tool_behaviour == TOOL_ANALYZER) - to_chat(user, "Analyzing... [src]'s stabilized field is fluctuating along frequency [format_frequency(frequency)], code [code].") - ..() - -/obj/item/assembly/signaler/anomaly/det_signal - name = "anomaly field" - research = null - anomaly_type = null - -/obj/item/assembly/signaler/anomaly/det_signal/receive_signal(datum/signal/signal) - if(!signal) - return FALSE - if(signal.data["code"] != code) - return FALSE - for(var/obj/effect/anomaly/Anomaly in get_turf(src)) - Anomaly.detonate() - return TRUE - - -//Anomaly cores - -/obj/item/assembly/signaler/anomaly/pyro - name = "\improper pyroclastic anomaly core" - desc = "The neutralized core of a pyroclastic anomaly. It feels warm to the touch. It'd probably be valuable for research." - icon_state = "pyro core" - anomaly_type = /obj/effect/anomaly/pyro - -/obj/item/assembly/signaler/anomaly/grav - name = "\improper gravitational anomaly core" - desc = "The neutralized core of a gravitational anomaly. It feels much heavier than it looks. It'd probably be valuable for research." - icon_state = "grav core" - anomaly_type = /obj/effect/anomaly/grav - -/obj/item/assembly/signaler/anomaly/flux - name = "\improper flux anomaly core" - desc = "The neutralized core of a flux anomaly. Touching it makes your skin tingle. It'd probably be valuable for research." - icon_state = "flux core" - anomaly_type = /obj/effect/anomaly/flux - -/obj/item/assembly/signaler/anomaly/bluespace - name = "\improper bluespace anomaly core" - desc = "The neutralized core of a bluespace anomaly. It keeps phasing in and out of view. It'd probably be valuable for research." - icon_state = "anomaly core" - anomaly_type = /obj/effect/anomaly/bluespace - -/obj/item/assembly/signaler/anomaly/vortex - name = "\improper vortex anomaly core" - desc = "The neutralized core of a vortex anomaly. It won't sit still, as if some invisible force is acting on it. It'd probably be valuable for research." - icon_state = "vortex core" - anomaly_type = /obj/effect/anomaly/vortex - -/obj/item/assembly/signaler/anomaly/hallucination - name = "\improper hallucination anomaly core" - desc = "The neutralized core of a hallucination anomaly. It seems to be moving, but it's probably your imagination. It'd probably be valuable for research." - icon_state = "hallucination_core" - anomaly_type = /obj/effect/anomaly/hallucination - -/obj/item/assembly/signaler/anomaly/sparkler - name = "\improper sparkler anomaly core" - desc = "The neutralized core of a sparkler anomaly. Tiny electrical sparks arc off it." - anomaly_type = /obj/effect/anomaly/sparkler - -/obj/item/assembly/signaler/anomaly/veins - name = "\improper fountain anomaly core" - desc = "The neutralized core of a fountain anomaly. Blood drips off of it." - anomaly_type = /obj/effect/anomaly/sparkler - -/obj/item/assembly/signaler/anomaly/phantom - name = "\improper phantom anomaly core" - desc = "The neutralized core of a phantom anomaly. It quietly screams." - anomaly_type = /obj/effect/anomaly/phantom - -/obj/item/assembly/signaler/anomaly/pulsar - name = "\improper pulsar anomaly core" - desc = "The neutralized core of a pulsar anomaly. Electromagnetic crackles come off it." - -/obj/item/assembly/signaler/anomaly/plasmasoul - name = "\improper plasmasoul anomaly core" - desc = "The neutralized core of a plasmasoul anomaly. The air around it hisses." - -/obj/item/assembly/signaler/anomaly/heartbeat - name = "\improper heartbeat anomaly core" - desc = "The neutralized core of a heartbeat anomaly. It's concerningly warm to the touch." - -/obj/item/assembly/signaler/anomaly/tvstatic - name = "\improper static anomaly core" - desc = "The neutralized core of a static anomaly. Your head hurts just staring at it" - -/obj/item/assembly/signaler/anomaly/melter - name = "\improper melter anomaly core" - desc = "The neutralized core of a melter anomaly. It sizzles and crackles. It'd probably be valuable for research." - icon_state = "pyro core" - - - -/obj/item/assembly/signaler/anomaly/attack_self() - return - /obj/item/assembly/signaler/cyborg /obj/item/assembly/signaler/cyborg/attackby(obj/item/W, mob/user, params) diff --git a/icons/effects/anomalies.dmi b/icons/effects/anomalies.dmi index e1671b816ec558ca3bc0723dead6cc12c26a4d36..c716fc7990975ab067f798cae77b4d1297d497de 100644 GIT binary patch delta 30807 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

    YWQ@7U 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 Date: Mon, 14 Oct 2024 07:57:55 +0200 Subject: [PATCH 042/344] Adds NGR stamps and secret docs. (#3550) ## About The Pull Request ![obraz](https://github.com/user-attachments/assets/1d16e84a-c00b-49ad-8a50-d469bc1d598f) ![obraz](https://github.com/user-attachments/assets/38fa6b7a-65ec-4f8a-a7c4-51a12059a1e8) Adds that stuff to the Hyena. ## Why It's Good For The Game There is an NGR combat ship and a Hyena replacement in the works rn. Good time to add some fluff. ## Changelog :cl: add: Added stamps for New Gorlex Republic. add: Added secret documents for New Gorlex Republic. /:cl: --- .../syndicate/syndicate_gorlex_hyena.dmm | 21 ++++++++------- code/game/objects/items/documents.dm | 5 ++++ code/modules/asset_cache/asset_list_items.dm | 7 ++++- code/modules/paperwork/folders_premade.dm | 4 +++ code/modules/paperwork/stamps.dm | 25 ++++++++++++++++++ icons/obj/bureaucracy.dmi | Bin 36547 -> 36504 bytes icons/stamp_icons/large_stamp-ngr.png | Bin 0 -> 3293 bytes icons/stamp_icons/large_stamp-ngr_captain.png | Bin 0 -> 1397 bytes icons/stamp_icons/large_stamp-ngr_ensign.png | Bin 0 -> 1311 bytes icons/stamp_icons/large_stamp-ngr_foreman.png | Bin 0 -> 1411 bytes .../large_stamp-ngr_lieutenant.png | Bin 0 -> 1436 bytes 11 files changed, 52 insertions(+), 10 deletions(-) create mode 100644 icons/stamp_icons/large_stamp-ngr.png create mode 100644 icons/stamp_icons/large_stamp-ngr_captain.png create mode 100644 icons/stamp_icons/large_stamp-ngr_ensign.png create mode 100644 icons/stamp_icons/large_stamp-ngr_foreman.png create mode 100644 icons/stamp_icons/large_stamp-ngr_lieutenant.png diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm index 84ace94a70a2..7d0278f8b906 100644 --- a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm @@ -762,9 +762,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/item/stamp/qm{ - name = "foreman's rubber stamp" - }, +/obj/item/stamp/ngr/foreman, /obj/machinery/button/shieldwallgen{ dir = 1; id = "hyena_cargo"; @@ -795,10 +793,12 @@ /area/ship/bridge) "oF" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/item/documents/syndicate/mining, -/obj/structure/filingcabinet, +/obj/structure/filingcabinet{ + dir = 1 + }, /obj/machinery/firealarm/directional/west, /obj/effect/turf_decal/borderfloorblack, +/obj/item/folder/documents/syndicate/ngr, /turf/open/floor/plasteel/tech/grid, /area/ship/bridge) "oJ" = ( @@ -1870,14 +1870,17 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/item/paper_bin/carbon, -/obj/item/folder/documents/syndicate/red, /obj/item/pen/fountain/captain, -/obj/item/stamp/hos{ - name = "captain's rubber stamp" - }, /obj/effect/turf_decal/borderfloorblack{ dir = 1 }, +/obj/item/stamp/ngr{ + pixel_x = 13; + pixel_y = 7 + }, +/obj/item/stamp/ngr/captain{ + pixel_x = 13 + }, /turf/open/floor/plasteel/tech/grid, /area/ship/bridge) "Ge" = ( diff --git a/code/game/objects/items/documents.dm b/code/game/objects/items/documents.dm index 2fb225fd2fb9..e7e78abb4abc 100644 --- a/code/game/objects/items/documents.dm +++ b/code/game/objects/items/documents.dm @@ -49,6 +49,11 @@ /obj/item/documents/syndicate/mining desc = "\"Top Secret\" documents detailing Syndicate plasma mining operations." +/obj/item/documents/syndicate/ngr + name = "Second Battlegroup secret documents" + desc = "\"Top Secret\" documents belonging to the Second Battlegroup of New Gorlex Republic. They are filled with sensitive operational intelligence. These documents are verified with a red wax seal." + icon_state = "docs_red" + /obj/item/documents/photocopy desc = "A copy of some top-secret documents. Nobody will notice they aren't the originals... right?" var/forgedseal = 0 diff --git a/code/modules/asset_cache/asset_list_items.dm b/code/modules/asset_cache/asset_list_items.dm index 8202afa5d228..c2caa6946219 100644 --- a/code/modules/asset_cache/asset_list_items.dm +++ b/code/modules/asset_cache/asset_list_items.dm @@ -135,7 +135,12 @@ "stamp-gold" = 'icons/stamp_icons/large_stamp-gold.png', "stamp-cybersun" = 'icons/stamp_icons/large_stamp-cybersun.png', "stamp-biodynamics" = 'icons/stamp_icons/large_stamp-biodynamics.png', - "stamp-donk" = 'icons/stamp_icons/large_stamp-donk.png' + "stamp-donk" = 'icons/stamp_icons/large_stamp-donk.png', + "stamp-ngr" = 'icons/stamp_icons/large_stamp-ngr.png', + "stamp-ngr_cap" = 'icons/stamp_icons/large_stamp-ngr_captain.png', + "stamp-ngr_fore" = 'icons/stamp_icons/large_stamp-ngr_foreman.png', + "stamp-ngr_lieu" = 'icons/stamp_icons/large_stamp-ngr_lieutenant.png', + "stamp-ngr_ensign" = 'icons/stamp_icons/large_stamp-ngr_ensign.png' ) /datum/asset/simple/fuckywucky diff --git a/code/modules/paperwork/folders_premade.dm b/code/modules/paperwork/folders_premade.dm index 48b7cb763785..5237358e34b1 100644 --- a/code/modules/paperwork/folders_premade.dm +++ b/code/modules/paperwork/folders_premade.dm @@ -61,6 +61,10 @@ /obj/item/folder/documents/syndicate/mining document = /obj/item/documents/syndicate/mining +/obj/item/folder/documents/syndicate/ngr + document = /obj/item/documents/syndicate/ngr + icon_state = "folder_ngr" + /obj/item/folder/documents/solgov document = /obj/item/documents/solgov desc = "A blue folder with a SolGov seal." diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm index 4311eb080cf2..fecf2b17dac6 100644 --- a/code/modules/paperwork/stamps.dm +++ b/code/modules/paperwork/stamps.dm @@ -106,6 +106,31 @@ icon_state = "stamp-biodynamics" dye_color = DYE_CMO +/obj/item/stamp/ngr + name = "New Gorlex Republic rubber stamp" + icon_state = "stamp-ngr" + dye_color = DYE_REDCOAT + +/obj/item/stamp/ngr/captain + name = "Captain's rubber stamp" + icon_state = "stamp-ngr_cap" + dye_color = DYE_QM + +/obj/item/stamp/ngr/foreman + name = "Foreman's rubber stamp" + icon_state = "stamp-ngr_fore" + dye_color = DYE_QM + +/obj/item/stamp/ngr/lieutenant + name = "Lieutenant's rubber stamp" + icon_state = "stamp-ngr_lieu" + dye_color = DYE_QM + +/obj/item/stamp/ngr/ensign + name = "Ensign's rubber stamp" + icon_state = "stamp-ngr_ensign" + dye_color = DYE_QM + /obj/item/stamp/solgov name = "SolGov rubber stamp" icon_state = "stamp-solgov" diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi index b56a287cc21b324674f7506442a6e5c2df17ded1..ab9af894d43e0ab9248a1f356650debfd67401a2 100644 GIT binary patch literal 36504 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 literal 36547 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�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⁣aJ^iZB5mR5cr*O}4A1xx(S$eAs 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 DJ9e#A literal 0 HcmV?d00001 diff --git a/icons/stamp_icons/large_stamp-ngr_ensign.png b/icons/stamp_icons/large_stamp-ngr_ensign.png new file mode 100644 index 0000000000000000000000000000000000000000..9e7bc9056789ba2c09666fad6836862c51307a63 GIT binary patch literal 1311 zcmV+)1>pLLP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1e!@iK~#8N?VBr) z6hRQj_b^C;!toIhINSw;MiC4a1qr7)1f0H04u!=K6dFU$;ShWT9Eu=OOIKglq_(!J zs(ZWV-M?fq)9A`eS_bKLb{rK&N;%D-gH_y9`9Q5bXJN-w>F@56F7ok2Fa?aZO@^I~;Wp4SpaJF=P zg>*MIEN?>EJ58wH&6Ty+#`AOM_4(Wnf!OQk6E1fcYPt4ChXbK$UXE$+%mBRxcsYfZ z@xE{j=^O*fupIlN_2F6?FNRfKl_8(WU=%eh*GTGA3+S8HFLh|FJ-4M~e!XIf49j_J zNzVif;zsppB=k*1C>_gc&&RVUwmnCeA(v}@_hKG^PU30J8Ctp3)`HFjplO_&L~QO_ z{oZNs$uk9Y;~PDn$r$pP+~^0sYV6TOUIrkv_(+)Ca{cw*-EM5;$M0L4`*;4HJ^K0U z6v{Du^YY{Azn9OtG?s^E9kt7~@k5i|Aeh=s5 zDAC$u9$aHR-al>cGiJh~BH1mCAjE68RK5#Yy#Ye=n_$TCYcSj88XX;ygERK{IZRSy zaG(PsW&8cfi>(wfq23;}z12qv()d$D61n8lqQ%hnO;QO{D@kO0=Nd(9y77r^x_f3n`MxSbIR<;nGvOGO2)muj08$vKWGCc`;=UMXo!I9`@zcgDQ?0Ou~w+5C-H=`OG~VW;jz z1E+?$dIMd0=NZb<(lgh3Mnl>&HD3TJ|Am^J$cPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1sF+0K~#8N?VBr) z6hRQj_b^C;x&(p5fxzJ|d;=80U{689X+XdwxVr?@Sqwp;G2|SM55NZ?K@lWsnd+;W z)Yf)&^=o!!XZn{+W_tQnRsZS7?Bn3_@^aOfH`nmom@!S{1<*uZ08Qit&_rGU>hAi_ zw@)v+)7e!jij(eu@^B`oKIL(EIe_Yh`qc92eyB~WZHwIcWD~b9w;gZ2n-8BH;H8() zNG=Ho)g`BVKpB1zRvihISA&3r@+^2CsgQp$byM2!%XR~Djf2vQcO)yL7#h_AMIDv| zlHhIm+U=cFs9}SJ&xVkVwd3MN8_}A`YrHh4g2uSSXcaB;(b17hH>LsU79(=oT`vGr zWEjD16i*MKOK_iJPS=m#TokX#UtS;g8#!pNOK-IA$*1&5mp;ex;K-S%@AC25!SlN5 z>%8-&Zwu3X-!Q!?X%{r5d~d6$AL`H9F3U^Xb71~Dd+>6DT}{`{X*>v?mid%+!9@5q zAoDpqPqsyUXlEagNBPtqFAvvRe?F}Is_b%22B)}VsZR2sT0q;pd}%;^^`$Q*_6>?D zGEC>bDLoNzNIEs7lh8I7p|mfnzUk;p1h}!ZgQjNZVGm}CO3vb&Kg@Zk>>#jtu6_pi2U{5?X^7K9o~iWTP)(H zBVRsWUU+_N88~EL{2uk2Yme2=7*rGa;?AwL@4)P2{yl%XQTP7g-_?)bH(qx4)qus6 z$tB007<@5<1GAIhdnry8ku{@^fBsTGE$adVr_<~2KOVsG;PVGKzjB!fFXL`_NG+rF z#Y9sB9Me}ST8wgp9_$k@X$%-m2j1EnKaF&WKJv8yIB ze+pxa#Zlv?$M27yt#j8l-j2KBA*L^!iu-dZ*k?36X0>NQP2{Xki&BNI4G7c)7uL*; z^)`W1Sg-MViqNzB7 zRjsN_*V4GLNAytehsE8{ImL63kidz87k%QTeu_e9#>`ddSgZ#jW&|e)9n{GZIcseu z5}(E`YOR619XLuhdbKHy5du0Tf2>&~E(e^*aYT*;m?{f5Rg)q&E*{L;*7|XM|MgY- zs&QJ7ZoaRDCD!iRd`cRlW6rvv9}T$5HAXW3MIoR)aUrHOllWq0A-_C;U!CG*7HlNL ztm`1HB*nYy7(i4mEI3RD-kK#oKV>W`02vz#w zK8!vW3vDE`zP5n2@zPN`Gl`Mx1eSdeI~mCmFh(;70!0Vjk~jhIOr)fJ^*L7l29~`c zUn^nSX}&_i6F1a)NCD6S5eT4kjD#Vqv_&v*0lQ3}YQb~?zkg8M4mmX)qf|Hqa2hD R8Iu42002ovPDHLkV1f&wlL`O; literal 0 HcmV?d00001 diff --git a/icons/stamp_icons/large_stamp-ngr_lieutenant.png b/icons/stamp_icons/large_stamp-ngr_lieutenant.png new file mode 100644 index 0000000000000000000000000000000000000000..f96be7a5ee5642131ead531ec26d9dd67ac5e046 GIT binary patch literal 1436 zcmV;N1!MY&P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1u;oPK~#8N?VBx( zB}EX&ch8(8r!F~xL?Upw%^CD5g2AqWwr^Je;&OkRIgcXd@)chB3m=XZB^XN`69D1J6pOmp%EXinY$&B+^} zIe7!9x9fj@`}t+}@%kZ`#Z~v9Jw6GNr#cRA2T0Z$Q>&+Pt52_QkFoNk6W4ESKS{YK z&%Zd2$s|@J*BFFkX;LZBhChTSBcb-H5h7Nd2OpypnqQ7=N&kJ@E+BU?D3c^3S&3qF zsu_v~tT80P`%3lOPflS99XwJxSUOH^mn2$5Yfj$9q`MU~j!TZOvYmW!aS`&3Wk7z* zadNv|ZvfZHh~O5*%R~6Zyr;O^^^5P{RG-Pee0SMjvy*LB<1Z8w*`ubA)0#`dPo5C!u6!)+ z$?5-_`@e#{kdI=$9NN*`QnI;Y$D#q6t)WZmXqB``E`&Q6bk2d3zU|6i#iFCZ9nKl$ zWUMUySxUFU&+#CQRorp&>DwPs)~{qLr?#@*f@F}Mqkk?N3JRd{kk)kLl-RmOav?Pl zx}@j^Sx&|(;!i9NSaqikIV)z17%OYp)2g#rY$U@-9f*eA@1K9Qn>s3T`;YBLQ6oDg znv)0bUAWn4H)$fL&063KBos`@2wR))$Ut*4y>sn3J0=HsN{xXoCAg%NT#9n>`j7Ra zsF5W`*jjaV(RQt!110CfiE$G@2k-?F3eqHHb1AfS)i+-1wQfuU z7<@M1Bzo3}XKVI#v>C-f`|f)0&sXhFjmv`kR`cC8tqymUG>(pW=>pbYp@Q%fk<5Ql z2(%Svv80_OWit=?#{>N8G$u#EA{o1GfP5txeY-9JPUVipgz1Szt0Xl~X^RPfkLXEq zkVuweSkBc9K;w72Lh5(TAUE&*E?TQc^aWdJk<7;01AWJ2pmt{xksKT>#~=<8$r31| zDFj2&6N@Cl0r8V4$*1HwUi|=1Uu&)t;p*wWLSe8B z*yRUjsK{$)u6ITwA6S|#K+gX{ot%>!LzeUpZ;d13IvJ6!y)rb82lGofnk?MyTH68| z%OJ;Bu9J@dtxW4SdWbz70000%wmU literal 0 HcmV?d00001 From 12cc1cdfe0a21a4cb7e827ea3b8c9e2b238e17a4 Mon Sep 17 00:00:00 2001 From: Sadhorizon <108196626+Sadhorizon@users.noreply.github.com> Date: Tue, 15 Oct 2024 12:43:12 +0200 Subject: [PATCH 043/344] Syndicate tools and soap are no longer better. (#3556) ## About The Pull Request - syndicate soap clean speed swapped from 5 to 27 (1 better than NT soap, because I find that funny). Also it's uses are tripled. - "suspicious toolbox" renamed to "black and red toolbox", lost it's damage buff. - syndicate tools have lost the "suspicious" names, their descriptions, and their toolspeed buff. ## Why It's Good For The Game Cruft. Syndi items were better on stations because of rarity. On shiptest, it feels kinda weird to map those in knowing they are just upgrades. Soap is especially awkward in that regard. ## Changelog :cl: tweak: Syndicate soap is now in-line with NT soap. del: Syndicate tools are no longer faster. They are just reskinned normal tools now. del: Syndicate toolbox lost it's damage buff. /:cl: --- code/game/objects/items/clown_items.dm | 3 ++- code/game/objects/items/devices/multitool.dm | 2 -- code/game/objects/items/storage/toolbox.dm | 10 ++++------ code/game/objects/items/theft_tools.dm | 4 ---- code/game/objects/items/tools/crowbar.dm | 3 --- code/game/objects/items/tools/wirecutters.dm | 3 --- code/game/objects/items/tools/wrench.dm | 3 --- .../cargo/blackmarket/blackmarket_items/tools.dm | 11 ----------- 8 files changed, 6 insertions(+), 33 deletions(-) diff --git a/code/game/objects/items/clown_items.dm b/code/game/objects/items/clown_items.dm index 631eb7d2fc8f..62c33aa9665a 100644 --- a/code/game/objects/items/clown_items.dm +++ b/code/game/objects/items/clown_items.dm @@ -71,7 +71,8 @@ /obj/item/soap/syndie desc = "An untrustworthy bar of soap made of strong chemical agents that dissolve blood faster." icon_state = "soapsyndie" - cleanspeed = 5 //faster than mop so it is useful for traitors who want to clean crime scenes + cleanspeed = 27 // ever so slightly better than NT + uses = 300 /obj/item/soap/omega name = "omega soap" diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index 204371ca0e51..50b8e3958043 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -170,10 +170,8 @@ toolspeed = 0.5 /obj/item/multitool/syndie - name = "suspicious-looking multitool" desc = "A darkened multitool with a matte finish and an ominous glowing screen." icon_state = "multitool_syndie" - toolspeed = 0.5 /obj/item/multitool/old desc = "Used for pulsing wires to test which to cut. This one looks... 'retro'. It wasn't recommended by doctors then and won't be recommended by doctors now." diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index eb9fd3261487..f7adce0f9f43 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -158,11 +158,9 @@ new /obj/item/stack/cable_coil(src,MAXCOIL,pickedcolor) /obj/item/storage/toolbox/syndicate - name = "suspicious looking toolbox" + name = "black and red toolbox" icon_state = "syndicate" item_state = "toolbox_syndi" - force = 15 - throwforce = 18 material_flags = NONE /obj/item/storage/toolbox/syndicate/ComponentInitialize() @@ -172,11 +170,11 @@ /obj/item/storage/toolbox/syndicate/PopulateContents() new /obj/item/screwdriver/nuke(src) - new /obj/item/wrench/syndie(src) //WS Edit - Cool Syndie Tools + new /obj/item/wrench/syndie(src) new /obj/item/weldingtool/largetank(src) - new /obj/item/crowbar/syndie(src) //WS Begin - Cool Syndie Tools + new /obj/item/crowbar/syndie(src) new /obj/item/wirecutters/syndie(src) - new /obj/item/multitool/syndie(src) //WS End + new /obj/item/multitool/syndie(src) new /obj/item/clothing/gloves/color/yellow(src) /obj/item/storage/toolbox/syndicate/empty diff --git a/code/game/objects/items/theft_tools.dm b/code/game/objects/items/theft_tools.dm index fd9b3859cd3b..5b9da6611bd9 100644 --- a/code/game/objects/items/theft_tools.dm +++ b/code/game/objects/items/theft_tools.dm @@ -80,12 +80,8 @@ //snowflake screwdriver, works as a key to start nuke theft, traitor only /obj/item/screwdriver/nuke - name = "screwdriver" - desc = "A screwdriver with an ultra thin tip that's carefully designed to boost screwing speed." -// icon = 'icons/obj/nuke_tools.dmi' WS edit - better tool sprites icon_state = "screwdriver_nuke" item_state = "screwdriver_nuke" - toolspeed = 0.5 random_color = FALSE /obj/item/paper/guides/antag/nuke_instructions diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm index 26509776dd16..c53fb57a8bd3 100644 --- a/code/game/objects/items/tools/crowbar.dm +++ b/code/game/objects/items/tools/crowbar.dm @@ -117,10 +117,7 @@ toolspeed = 0.5 /obj/item/crowbar/syndie - name = "suspicious-looking crowbar" - desc = "It has special counterweights that adjust to the amount of pressure put on it by using a complex array of springs and screws." icon_state = "crowbar_syndie" - toolspeed = 0.5 force = 8 /obj/item/crowbar/old diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm index e2dfc9a81dc3..383cbd027395 100644 --- a/code/game/objects/items/tools/wirecutters.dm +++ b/code/game/objects/items/tools/wirecutters.dm @@ -85,10 +85,7 @@ random_color = FALSE /obj/item/wirecutters/syndie - name = "suspicious-looking wirecutters" - desc = "The blades of these wirecutters have suspiciously fine serrated teeth." icon_state = "cutters_syndie" - toolspeed = 0.5 random_color = FALSE /obj/item/wirecutters/old diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm index 3e9898d87508..b6b99c7c8282 100644 --- a/code/game/objects/items/tools/wrench.dm +++ b/code/game/objects/items/tools/wrench.dm @@ -95,10 +95,7 @@ return ..() /obj/item/wrench/syndie - name = "suspicious-looking wrench" - desc = "It's one of those fancy wrenches that you turn backward without twisting the bolt for faster action." icon_state = "wrench_syndie" - toolspeed = 0.5 /obj/item/wrench/crescent name = "crescent wrench" diff --git a/code/modules/cargo/blackmarket/blackmarket_items/tools.dm b/code/modules/cargo/blackmarket/blackmarket_items/tools.dm index 412ba303b977..f361f4e758ff 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/tools.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/tools.dm @@ -11,17 +11,6 @@ stock = 1 availability_prob = 20 -/datum/blackmarket_item/tool/syndi_toolbox - name = "Syndicate Toolbox" - desc = "A set of specialized tools, built to precision perfection and certified by the GEC." - item = /obj/item/storage/toolbox/syndicate - - price_min = 500 - price_max = 2000 - stock_min = 1 - stock_max = 3 - availability_prob = 40 - /datum/blackmarket_item/tool/surgery_duffel name = "Cybersun Advanced Surgical Kit" desc = "You might say it's morally wrong to steal. I say it's justified when it's Cybersun." From 96f5f363abb4b95359ba7e0ff6afe26f9480e2df Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Bjarl@users.noreply.github.com> Date: Tue, 15 Oct 2024 06:58:12 -0400 Subject: [PATCH 044/344] NGR Turrets (#3555) ## About The Pull Request Subtypes NGR turrets. They're midline ballistics ## Why It's Good For The Game told apogee i would do it for her ## Changelog :cl: add: NGR turrets /:cl: --- .../machinery/porta_turret/portable_turret.dm | 33 +++++++++++++++++++ .../projectiles/projectile/bullets/rifle.dm | 5 +++ .../projectiles/projectile/bullets/smg.dm | 5 +++ 3 files changed, 43 insertions(+) diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index c3c39c72e34a..c370b3697e9d 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -908,6 +908,39 @@ DEFINE_BITFIELD(turret_flags, list( lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' max_integrity = 300 +/* New Gorlex Republic Turrets */ +// Midline ballistic turrets + +/obj/machinery/porta_turret/ship/ngr + name = "Oasis Turret" + desc = "A turret manufactured by the New Gorlex Republic for its ships and installations. Proudly manufactured within the nation!" + stun_projectile = /obj/projectile/bullet/c45/rubber + stun_projectile_sound = 'sound/weapons/gun/smg/cobra.ogg' + lethal_projectile = /obj/projectile/bullet/c45 + lethal_projectile_sound = 'sound/weapons/gun/smg/cobra.ogg' + faction = list(FACTION_NGR, FACTION_PLAYER_SYNDICATE, "turret") //player_syndicate is just to be safe + +/obj/machinery/porta_turret/ship/ngr/light + name = "Sonoran Turret" + desc = "A light turret manufactured by the New Gorlex Republic for its ships and installations. Proudly manufactured within the Nation, using locally produced munitions!" + stun_projectile = /obj/projectile/bullet/c57x39mm/rubber + stun_projectile_sound = 'sound/weapons/gun/smg/sidewinder.ogg' + lethal_projectile = /obj/projectile/bullet/c57x39mm + lethal_projectile_sound = 'sound/weapons/gun/smg/sidewinder.ogg' + scan_range = 7 + shot_delay = 10 + +/obj/machinery/porta_turret/ship/ngr/heavy + name = "Cliff Turret" + desc = "A heavy turret manufactured by the New Gorlex Republic for its ships and installations. Has a reputation of being extremely dangerous." + stun_projectile = /obj/projectile/bullet/a65clip/rubber + stun_projectile_sound = 'sound/weapons/gun/sniper/cmf90.ogg' + lethal_projectile = /obj/projectile/bullet/a65clip + lethal_projectile_sound = 'sound/weapons/gun/sniper/cmf90.ogg' + scan_range = 14 + shot_delay = 30 + + /* Inteq Turrets */ //slower rof, higher damage + range diff --git a/code/modules/projectiles/projectile/bullets/rifle.dm b/code/modules/projectiles/projectile/bullets/rifle.dm index 331e3cc505ce..c996ebd08f83 100644 --- a/code/modules/projectiles/projectile/bullets/rifle.dm +++ b/code/modules/projectiles/projectile/bullets/rifle.dm @@ -105,3 +105,8 @@ light_system = MOVABLE_LIGHT light_color = COLOR_SOFT_RED light_range = 2 + +/obj/projectile/bullet/a65clip/rubber //"rubber" + name = "6.5x57mm CLIP rubber bullet" + damage = 10 + stamina = 40 diff --git a/code/modules/projectiles/projectile/bullets/smg.dm b/code/modules/projectiles/projectile/bullets/smg.dm index 9b11c74e4c1d..5e838b61161c 100644 --- a/code/modules/projectiles/projectile/bullets/smg.dm +++ b/code/modules/projectiles/projectile/bullets/smg.dm @@ -4,6 +4,11 @@ name = "5.7x39mm bullet" damage = 20 +/obj/projectile/bullet/c57x39mm/rubber + name = "5.7x39mm rubber bullet" + damage = 5 + stamina = 20 + // 4.6x30mm (WT-550 Automatic Rifle & NT-SVG) /obj/projectile/bullet/c46x30mm From 17166272bf0026cb58e647df97d7e7f9e300ecd6 Mon Sep 17 00:00:00 2001 From: zimon9 <122945887+zimon9@users.noreply.github.com> Date: Tue, 15 Oct 2024 07:00:19 -0400 Subject: [PATCH 045/344] Increases the moles in the plasma belt tank cargo pack (#3548) ## About The Pull Request This change swaps the type of plasma belt tank sold in the crate from tanks filled only to 303 kPa, to tanks filled to 1013 kPa. ## Why It's Good For The Game The amount of plasma offered in these tanks is only 0.75 moles. It would benefit gameplay to increase this to 2.2 moles. ## Changelog :cl: balance: increased amount of plasma in plasma internals cargo crate /:cl: --- code/modules/cargo/packs/emergency.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/cargo/packs/emergency.dm b/code/modules/cargo/packs/emergency.dm index 3759dc6d8d11..41401dbce477 100644 --- a/code/modules/cargo/packs/emergency.dm +++ b/code/modules/cargo/packs/emergency.dm @@ -24,8 +24,8 @@ name = "Plasmaman Internals Crate" desc = "Contains two plasmaman belt tanks, for when you just can't bear to refill a normal tank with plasma. Plasma canisters sold separately." cost = 100 - contains = list(/obj/item/tank/internals/plasmaman/belt, - /obj/item/tank/internals/plasmaman/belt) + contains = list(/obj/item/tank/internals/plasmaman/belt/full, + /obj/item/tank/internals/plasmaman/belt/full) crate_name = "plasmaman internals crate" /datum/supply_pack/emergency/plasmaman_suit From d0ce3981a46e6d4292c089612e5a07034a2f680c Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Bjarl@users.noreply.github.com> Date: Tue, 15 Oct 2024 07:00:43 -0400 Subject: [PATCH 046/344] Syndicate Cig Change (#3532) ## About The Pull Request Syndie smokes no longer have omnizine in them - they are now filled with stimulants. ## Why It's Good For The Game talk in loredev about them ## Changelog :cl: balance: Syndicate smokes are now laced with stimulants instead of omnizine. /:cl: --- code/game/objects/items/cigs_lighters.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index 6b7b364118d4..7e0cf768de5d 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -333,11 +333,11 @@ CIGARETTE PACKETS ARE IN FANCY.DM reagents?.add_reagent(/datum/reagent/toxin/carpotoxin , 3) // They lied /obj/item/clothing/mask/cigarette/syndicate - desc = "An unknown brand cigarette." + desc = "An obscure brand of cigarette." chem_volume = 60 smoketime = 60 smoke_all = TRUE - list_reagents = list(/datum/reagent/drug/nicotine = 10, /datum/reagent/medicine/omnizine = 15) + list_reagents = list(/datum/reagent/drug/nicotine = 10, /datum/reagent/drug/aranesp = 5, /datum/reagent/medicine/synaptizine = 5) /obj/item/clothing/mask/cigarette/xeno desc = "A Xeno Filtered brand cigarette." From ec0a424827354eb91048589e1985e87d94e34c11 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Bjarl@users.noreply.github.com> Date: Tue, 15 Oct 2024 07:01:39 -0400 Subject: [PATCH 047/344] Frontiersmen Turrets (#3523) ## About The Pull Request Adds Frontiersmen Coded Turrets Spitter - Pounder - Shredder ## Why It's Good For The Game TurretQuest ## Changelog :cl: add: The Frontiersmen have duct taped some turrets of their own together /:cl: --- .../machinery/porta_turret/portable_turret.dm | 43 ++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index c370b3697e9d..1e4fde83ae56 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -826,7 +826,7 @@ DEFINE_BITFIELD(turret_flags, list( . = ..() if(in_range(user, src) || isobserver(user)) if(!(machine_stat & BROKEN)) - . += "[src] reports its integrity is currently [round(obj_integrity / max_integrity) * 100] percent." + . += "[src] reports its integrity is currently [round((obj_integrity / max_integrity) * 100)] percent." /obj/machinery/porta_turret/ship/weak max_integrity = 120 @@ -1013,6 +1013,47 @@ DEFINE_BITFIELD(turret_flags, list( lethal_projectile = /obj/projectile/beam/hitscan/kalix/pgf/sniper //fwoom lethal_projectile_sound = 'sound/weapons/gun/laser/heavy_laser.ogg' +/// Frontiersmen Turrets + +// fast and spitty + +/obj/machinery/porta_turret/ship/frontiersmen + name = "Spitter Turret" + desc = "A juryrigged mishmash of a 9mm SMG and targetting system. Stand clear!" + faction = list(FACTION_FRONTIER, "Turret") + subsystem_type = /datum/controller/subsystem/processing/fastprocess + integrity_failure = 0.6 + max_integrity = 180 + + icon_state = "standard_lethal" + base_icon_state = "standard" + + stun_projectile = /obj/projectile/bullet/c9mm + stun_projectile_sound = 'sound/weapons/gun/smg/spitter.ogg' + lethal_projectile = /obj/projectile/bullet/c9mm + lethal_projectile_sound = 'sound/weapons/gun/smg/spitter.ogg' + shot_delay = 2 + scan_range = 6 + +/obj/machinery/porta_turret/ship/frontiersmen/light + name = "Pounder Turret" + desc = "A low caliber SMG with an atrociously high cycle rate, frankensteined together with a targetting assembly." + stun_projectile = /obj/projectile/bullet/c22lr + stun_projectile_sound = 'sound/weapons/gun/smg/pounder.ogg' + lethal_projectile = /obj/projectile/bullet/c22lr + lethal_projectile_sound = 'sound/weapons/gun/smg/pounder.ogg' + shot_delay = 1 + +/obj/machinery/porta_turret/ship/frontiersmen/heavy + name = "Mulcher Turret" + desc = "An abombination made out of the components of a Shredder and an automatic targetting system. Careful now." + stun_projectile = /obj/projectile/bullet/slug/beanbag + stun_projectile_sound = 'sound/weapons/gun/hmg/shredder.ogg' + lethal_projectile = /obj/projectile/bullet/slug + lethal_projectile_sound = 'sound/weapons/gun/hmg/shredder.ogg' + shot_delay = 3 + scan_range = 8 + //////////////////////// //Turret Control Panel// //////////////////////// From a809eee8227123e091aa58a298f5fcd9cfd7a027 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Bjarl@users.noreply.github.com> Date: Tue, 15 Oct 2024 07:01:53 -0400 Subject: [PATCH 048/344] Shield Generators Make An Alarm When Shutting Down (#3491) ## About The Pull Request As Title. Requested by Zevo ## Why It's Good For The Game No more immediate FWOOSH ## Changelog :cl: add: Holofans now have a small window before shutting down if they are deactivated by lack of power /:cl: --------- Signed-off-by: Erika Fox <94164348+Bjarl@users.noreply.github.com> Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- code/game/machinery/shieldgen.dm | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index e6e754c4b807..5dc0117b634c 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -205,6 +205,7 @@ var/locked = TRUE var/shield_range = 8 var/shocked = FALSE + var/crashing = FALSE var/obj/structure/cable/attached // the attached cable /obj/machinery/power/shieldwallgen/xenobiologyaccess //use in xenobiology containment @@ -252,16 +253,25 @@ if(!active_power_usage || surplus() >= active_power_usage) add_load(active_power_usage) else - visible_message(span_danger("The [src.name] shuts down due to lack of power!"), "If this message is ever seen, something is wrong.",span_hear("You hear heavy droning fade out. Date: Tue, 15 Oct 2024 07:02:58 -0400 Subject: [PATCH 049/344] Remove holoparasite code (#3478) ## About The Pull Request as title ## Why It's Good For The Game cruft crusade 2022 ## Changelog :cl: del: Holoparasites /:cl: --------- Signed-off-by: Erika Fox <94164348+Bjarl@users.noreply.github.com> --- code/__DEFINES/is_helpers.dm | 2 - code/_onclick/hud/alert.dm | 20 - code/_onclick/hud/guardian.dm | 179 ---- code/_onclick/hud/screen_objects.dm | 6 - code/controllers/subsystem/traumas.dm | 1 - .../proximity_monitor/fields/timestop.dm | 3 - .../temporary_visuals/miscellaneous.dm | 10 - .../antagonists/wizard/equipment/spellbook.dm | 12 - code/modules/cargo/exports/lavaland.dm | 4 +- .../mining/lavaland/necropolis_chests.dm | 10 +- code/modules/mob/living/living.dm | 7 - .../living/simple_animal/guardian/guardian.dm | 786 ------------------ .../simple_animal/guardian/types/assassin.dm | 101 --- .../simple_animal/guardian/types/charger.dm | 77 -- .../simple_animal/guardian/types/dextrous.dm | 85 -- .../simple_animal/guardian/types/explosive.dm | 78 -- .../simple_animal/guardian/types/fire.dm | 50 -- .../guardian/types/gravitokinetic.dm | 68 -- .../simple_animal/guardian/types/lightning.dm | 113 --- .../simple_animal/guardian/types/protector.dm | 72 -- .../simple_animal/guardian/types/ranged.dm | 154 ---- .../simple_animal/guardian/types/slime.dm | 73 -- .../simple_animal/guardian/types/standard.dm | 36 - .../simple_animal/guardian/types/support.dm | 148 ---- .../xenobiology/crossbreeding/mutative.dm | 5 - code/modules/shuttle/supply.dm | 1 - .../spell_types/pointed/mind_transfer.dm | 11 - code/modules/uplink/uplink_items.dm | 10 - shiptest.dme | 14 - 29 files changed, 3 insertions(+), 2133 deletions(-) delete mode 100644 code/_onclick/hud/guardian.dm delete mode 100644 code/modules/mob/living/simple_animal/guardian/guardian.dm delete mode 100644 code/modules/mob/living/simple_animal/guardian/types/assassin.dm delete mode 100644 code/modules/mob/living/simple_animal/guardian/types/charger.dm delete mode 100644 code/modules/mob/living/simple_animal/guardian/types/dextrous.dm delete mode 100644 code/modules/mob/living/simple_animal/guardian/types/explosive.dm delete mode 100644 code/modules/mob/living/simple_animal/guardian/types/fire.dm delete mode 100644 code/modules/mob/living/simple_animal/guardian/types/gravitokinetic.dm delete mode 100644 code/modules/mob/living/simple_animal/guardian/types/lightning.dm delete mode 100644 code/modules/mob/living/simple_animal/guardian/types/protector.dm delete mode 100644 code/modules/mob/living/simple_animal/guardian/types/ranged.dm delete mode 100644 code/modules/mob/living/simple_animal/guardian/types/slime.dm delete mode 100644 code/modules/mob/living/simple_animal/guardian/types/standard.dm delete mode 100644 code/modules/mob/living/simple_animal/guardian/types/support.dm diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index 7120afd8cf45..5bf9e3add6ad 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -136,8 +136,6 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list( #define ishostile(A) (istype(A, /mob/living/simple_animal/hostile)) -#define isguardian(A) (istype(A, /mob/living/simple_animal/hostile/guardian)) - #define isconstruct(A) (istype(A, /mob/living/simple_animal/hostile/construct)) #define ismegafauna(A) (istype(A, /mob/living/simple_animal/hostile/megafauna)) diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index 3eefdb7c2f02..61d6ebf7f4ef 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -445,26 +445,6 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." icon_state = "alien_noqueen" alerttooltipstyle = "alien" -//GUARDIANS - -/atom/movable/screen/alert/cancharge - name = "Charge Ready" - desc = "You are ready to charge at a location!" - icon_state = "guardian_charge" - alerttooltipstyle = "parasite" - -/atom/movable/screen/alert/canstealth - name = "Stealth Ready" - desc = "You are ready to enter stealth!" - icon_state = "guardian_canstealth" - alerttooltipstyle = "parasite" - -/atom/movable/screen/alert/instealth - name = "In Stealth" - desc = "You are in stealth and your next attack will do bonus damage!" - icon_state = "guardian_instealth" - alerttooltipstyle = "parasite" - //SILICONS /atom/movable/screen/alert/nocell diff --git a/code/_onclick/hud/guardian.dm b/code/_onclick/hud/guardian.dm deleted file mode 100644 index 8f79bfedf1bf..000000000000 --- a/code/_onclick/hud/guardian.dm +++ /dev/null @@ -1,179 +0,0 @@ -/datum/hud/guardian - ui_style = 'icons/mob/guardian.dmi' - -/datum/hud/guardian/New(mob/living/simple_animal/hostile/guardian/owner) - ..() - var/atom/movable/screen/using - - pull_icon = new /atom/movable/screen/pull() - pull_icon.icon = ui_style - pull_icon.update_appearance() - pull_icon.screen_loc = ui_living_pull - pull_icon.hud = src - static_inventory += pull_icon - - healths = new /atom/movable/screen/healths/guardian() - healths.hud = src - infodisplay += healths - - using = new /atom/movable/screen/guardian/Manifest() - using.screen_loc = ui_hand_position(2) - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/guardian/Recall() - using.screen_loc = ui_hand_position(1) - using.hud = src - static_inventory += using - - using = new owner.toggle_button_type() - using.screen_loc = ui_storage1 - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/guardian/ToggleLight() - using.screen_loc = ui_inventory - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/guardian/Communicate() - using.screen_loc = ui_back - using.hud = src - static_inventory += using - -/datum/hud/dextrous/guardian/New(mob/living/simple_animal/hostile/guardian/owner) //for a dextrous guardian - ..() - var/atom/movable/screen/using - if(istype(owner, /mob/living/simple_animal/hostile/guardian/dextrous)) - var/atom/movable/screen/inventory/inv_box - - inv_box = new /atom/movable/screen/inventory() - inv_box.name = "internal storage" - inv_box.icon = ui_style - inv_box.icon_state = "suit_storage" - inv_box.screen_loc = ui_id - inv_box.slot_id = ITEM_SLOT_DEX_STORAGE - inv_box.hud = src - static_inventory += inv_box - - using = new /atom/movable/screen/guardian/Communicate() - using.screen_loc = ui_sstore1 - using.hud = src - static_inventory += using - - else - - using = new /atom/movable/screen/guardian/Communicate() - using.screen_loc = ui_id - using.hud = src - static_inventory += using - - pull_icon = new /atom/movable/screen/pull() - pull_icon.icon = 'icons/mob/guardian.dmi' - pull_icon.update_appearance() - pull_icon.screen_loc = ui_living_pull - pull_icon.hud = src - static_inventory += pull_icon - - healths = new /atom/movable/screen/healths/guardian() - healths.hud = src - infodisplay += healths - - using = new /atom/movable/screen/guardian/Manifest() - using.screen_loc = ui_belt - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/guardian/Recall() - using.screen_loc = ui_back - using.hud = src - static_inventory += using - - using = new owner.toggle_button_type() - using.screen_loc = ui_storage2 - using.hud = src - static_inventory += using - - using = new /atom/movable/screen/guardian/ToggleLight() - using.screen_loc = ui_inventory - using.hud = src - static_inventory += using - -/datum/hud/dextrous/guardian/persistent_inventory_update() - if(!mymob) - return - if(istype(mymob, /mob/living/simple_animal/hostile/guardian/dextrous)) - var/mob/living/simple_animal/hostile/guardian/dextrous/D = mymob - - if(hud_shown) - if(D.internal_storage) - D.internal_storage.screen_loc = ui_id - D.client.screen += D.internal_storage - else - if(D.internal_storage) - D.internal_storage.screen_loc = null - - ..() - -/atom/movable/screen/guardian - icon = 'icons/mob/guardian.dmi' - -/atom/movable/screen/guardian/Manifest - icon_state = "manifest" - name = "Manifest" - desc = "Spring forth into battle!" - -/atom/movable/screen/guardian/Manifest/Click() - if(isguardian(usr)) - var/mob/living/simple_animal/hostile/guardian/G = usr - G.Manifest() - - -/atom/movable/screen/guardian/Recall - icon_state = "recall" - name = "Recall" - desc = "Return to your user." - -/atom/movable/screen/guardian/Recall/Click() - if(isguardian(usr)) - var/mob/living/simple_animal/hostile/guardian/G = usr - G.Recall() - -/atom/movable/screen/guardian/ToggleMode - icon_state = "toggle" - name = "Toggle Mode" - desc = "Switch between ability modes." - -/atom/movable/screen/guardian/ToggleMode/Click() - if(isguardian(usr)) - var/mob/living/simple_animal/hostile/guardian/G = usr - G.ToggleMode() - -/atom/movable/screen/guardian/ToggleMode/Inactive - icon_state = "notoggle" //greyed out so it doesn't look like it'll work - -/atom/movable/screen/guardian/ToggleMode/Assassin - icon_state = "stealth" - name = "Toggle Stealth" - desc = "Enter or exit stealth." - -/atom/movable/screen/guardian/Communicate - icon_state = "communicate" - name = "Communicate" - desc = "Communicate telepathically with your user." - -/atom/movable/screen/guardian/Communicate/Click() - if(isguardian(usr)) - var/mob/living/simple_animal/hostile/guardian/G = usr - G.Communicate() - - -/atom/movable/screen/guardian/ToggleLight - icon_state = "light" - name = "Toggle Light" - desc = "Glow like star dust." - -/atom/movable/screen/guardian/ToggleLight/Click() - if(isguardian(usr)) - var/mob/living/simple_animal/hostile/guardian/G = usr - G.ToggleLight() diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index bf171d339912..81b614c2af43 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -597,12 +597,6 @@ icon = 'icons/hud/screen_cyborg.dmi' screen_loc = ui_borg_health -/atom/movable/screen/healths/guardian - name = "summoner health" - icon = 'icons/mob/guardian.dmi' - icon_state = "base" - mouse_opacity = MOUSE_OPACITY_TRANSPARENT - /atom/movable/screen/healths/revenant name = "essence" icon = 'icons/mob/actions/backgrounds.dmi' diff --git a/code/controllers/subsystem/traumas.dm b/code/controllers/subsystem/traumas.dm index 2cc479a6c0a2..c92b7d3e8958 100644 --- a/code/controllers/subsystem/traumas.dm +++ b/code/controllers/subsystem/traumas.dm @@ -52,7 +52,6 @@ SUBSYSTEM_DEF(traumas) /mob/living/simple_animal/pet/penguin)), "birds" = typecacheof(list(/mob/living/simple_animal/parrot, /mob/living/simple_animal/chick, /mob/living/simple_animal/chicken, /mob/living/simple_animal/pet/penguin)), - "anime" = typecacheof(list(/mob/living/simple_animal/hostile/guardian)) ) phobia_objs = list( diff --git a/code/datums/proximity_monitor/fields/timestop.dm b/code/datums/proximity_monitor/fields/timestop.dm index 40a8c1cc947b..84adc6f9666f 100644 --- a/code/datums/proximity_monitor/fields/timestop.dm +++ b/code/datums/proximity_monitor/fields/timestop.dm @@ -29,9 +29,6 @@ for(var/mob/living/L in GLOB.player_list) if(locate(/obj/effect/proc_holder/spell/aoe_turf/timestop) in L.mind.spell_list) //People who can stop time are immune to its effects immune[L] = TRUE - for(var/mob/living/simple_animal/hostile/guardian/G in GLOB.parasites) - if(G.summoner && locate(/obj/effect/proc_holder/spell/aoe_turf/timestop) in G.summoner.mind.spell_list) //It would only make sense that a person's stand would also be immune. - immune[G] = TRUE if(start) INVOKE_ASYNC(src, PROC_REF(timestop)) diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm index 2b82f656ac48..92c92655cb8c 100644 --- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm +++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm @@ -207,16 +207,6 @@ icon_state = "blspell" duration = 5 -/obj/effect/temp_visual/guardian - randomdir = 0 - -/obj/effect/temp_visual/guardian/phase - duration = 5 - icon_state = "phasein" - -/obj/effect/temp_visual/guardian/phase/out - icon_state = "phaseout" - /obj/effect/temp_visual/decoy desc = "It's a decoy!" duration = 15 diff --git a/code/modules/antagonists/wizard/equipment/spellbook.dm b/code/modules/antagonists/wizard/equipment/spellbook.dm index 4bd2f5c8a525..378aa7dbe14a 100644 --- a/code/modules/antagonists/wizard/equipment/spellbook.dm +++ b/code/modules/antagonists/wizard/equipment/spellbook.dm @@ -306,18 +306,6 @@ item_path = /obj/item/antag_spawner/contract category = "Assistance" -/datum/spellbook_entry/item/guardian - name = "Guardian Deck" - desc = "A deck of guardian tarot cards, capable of binding a personal guardian to your body. There are multiple types of guardian available, but all of them will transfer some amount of damage to you. \ - It would be wise to avoid buying these with anything capable of causing you to swap bodies with others." - item_path = /obj/item/guardiancreator/choose/wizard - category = "Assistance" - -/datum/spellbook_entry/item/guardian/Buy(mob/living/carbon/human/user,obj/item/spellbook/book) - . = ..() - if(.) - new /obj/item/paper/guides/antag/guardian/wizard(get_turf(user)) - /datum/spellbook_entry/item/bloodbottle name = "Bottle of Blood" desc = "A bottle of magically infused blood, the smell of which will attract extradimensional beings when broken. Be careful though, the kinds of creatures summoned by blood magic are indiscriminate in their killing, and you yourself may become a victim." diff --git a/code/modules/cargo/exports/lavaland.dm b/code/modules/cargo/exports/lavaland.dm index 1f3af2705844..9b6b176e48f6 100644 --- a/code/modules/cargo/exports/lavaland.dm +++ b/code/modules/cargo/exports/lavaland.dm @@ -26,8 +26,7 @@ /datum/export/lavaland/major //valuable chest/ruin loot and staff of storms cost = 10000 unit_name = "lava planet artifact" - export_types = list(/obj/item/guardiancreator, - /obj/item/rod_of_asclepius, + export_types = list(/obj/item/rod_of_asclepius, /obj/item/clothing/suit/space/hardsuit/ert/paranormal, /obj/item/prisoncube, /obj/item/staff/storm, @@ -48,7 +47,6 @@ /obj/machinery/anomalous_crystal, /obj/item/mayhem, /obj/item/blood_contract, - /obj/item/guardiancreator/miner/choose//this is basically the most valulable mining loot so good luck getting a miner to part ways ) /* /datum/export/lavaland/trophycommon diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 417fedf16a37..8703d3c76a86 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -47,10 +47,7 @@ if(15) new /obj/item/book_of_babel(src) if(16) - if(prob(75)) - new /obj/item/guardiancreator/miner(src) - else - new /obj/item/guardiancreator/miner/choose (src) + new /obj/item/ship_in_a_bottle(src) if(17) if(prob(50)) new /obj/item/disk/design_disk/modkit_disc/mob_and_turf_aoe(src) @@ -122,10 +119,7 @@ if(15) new /obj/item/book_of_babel(src) if(16) - if(prob(75)) - new /obj/item/guardiancreator/miner(src) - else - new /obj/item/guardiancreator/miner/choose (src) + new /obj/item/ship_in_a_bottle(src) if(17) if(prob(50)) new /obj/item/disk/design_disk/modkit_disc/mob_and_turf_aoe(src) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 2bdbf39253f4..afe4ce54ea35 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1151,13 +1151,6 @@ mind.transfer_to(new_mob) else new_mob.key = key - - for(var/para in hasparasites()) - var/mob/living/simple_animal/hostile/guardian/G = para - G.summoner = new_mob - G.Recall() - to_chat(G, "Your summoner has changed form!") - /mob/living/rad_act(amount) . = ..() diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm deleted file mode 100644 index 538a015c163b..000000000000 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ /dev/null @@ -1,786 +0,0 @@ - -GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians - -#define GUARDIAN_HANDS_LAYER 1 -#define GUARDIAN_TOTAL_LAYERS 1 - -/mob/living/simple_animal/hostile/guardian - name = "Guardian Spirit" - real_name = "Guardian Spirit" - desc = "A mysterious being that stands by its charge, ever vigilant." - speak_emote = list("hisses") - gender = NEUTER - mob_biotypes = NONE - bubble_icon = "guardian" - response_help_continuous = "passes through" - response_help_simple = "pass through" - response_disarm_continuous = "flails at" - response_disarm_simple = "flail at" - response_harm_continuous = "punches" - response_harm_simple = "punch" - icon = 'icons/mob/guardian.dmi' - icon_state = "magicbase" - icon_living = "magicbase" - icon_dead = "magicbase" - speed = 0 - a_intent = INTENT_HARM - stop_automated_movement = 1 - movement_type = FLYING // Immunity to chasms and landmines, etc. - attack_sound = 'sound/weapons/punch1.ogg' - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) - minbodytemp = 0 - maxbodytemp = INFINITY - attack_verb_continuous = "punches" - attack_verb_simple = "punch" - maxHealth = INFINITY //The spirit itself is invincible - health = INFINITY - healable = FALSE //don't brusepack the guardian - damage_coeff = list(BRUTE = 0.4, BURN = 0.4, TOX = 0.5, CLONE = 0.5, STAMINA = 0, OXY = 0.5) //how much damage from each damage type we transfer to the owner - environment_smash = ENVIRONMENT_SMASH_STRUCTURES - obj_damage = 40 - melee_damage_lower = 15 - melee_damage_upper = 15 - butcher_results = list(/obj/item/ectoplasm = 1) - AIStatus = AI_OFF - light_system = MOVABLE_LIGHT - light_range = 3 - light_on = FALSE - hud_type = /datum/hud/guardian - dextrous_hud_type = /datum/hud/dextrous/guardian //if we're set to dextrous, account for it. - var/mutable_appearance/cooloverlay - var/guardiancolor - var/recolorentiresprite - var/theme - var/list/guardian_overlays[GUARDIAN_TOTAL_LAYERS] - var/reset = 0 //if the summoner has reset the guardian already - var/cooldown = 0 - var/mob/living/summoner - var/range = 10 //how far from the user the spirit can be - var/toggle_button_type = /atom/movable/screen/guardian/ToggleMode/Inactive //what sort of toggle button the hud uses - var/playstyle_string = "You are a Guardian without any type. You shouldn't exist!" - var/magic_fluff_string = "You draw the Coder, symbolizing bugs and errors. This shouldn't happen! Submit a bug report!" - var/tech_fluff_string = "BOOT SEQUENCE COMPLETE. ERROR MODULE LOADED. THIS SHOULDN'T HAPPEN. Submit a bug report!" - var/carp_fluff_string = "CARP CARP CARP SOME SORT OF HORRIFIC BUG BLAME THE CODERS CARP CARP CARP" - var/miner_fluff_string = "You encounter... Mythril, it shouldn't exist... Submit a bug report!" - var/slime_fluff_string = "The crystal grows and creaks, then glitches terribly! Tell a coder if you've seen this!" - -/mob/living/simple_animal/hostile/guardian/Initialize(mapload, theme) - GLOB.parasites += src - updatetheme(theme) - ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT)//local flying mob drifts in space, more news at six - . = ..() - -/mob/living/simple_animal/hostile/guardian/med_hud_set_health() - if(summoner) - var/image/holder = hud_list[HEALTH_HUD] - holder.icon_state = "hud[RoundHealth(summoner)]" - -/mob/living/simple_animal/hostile/guardian/med_hud_set_status() - if(summoner) - var/image/holder = hud_list[STATUS_HUD] - var/icon/I = icon(icon, icon_state, dir) - holder.pixel_y = I.Height() - world.icon_size - if(summoner.stat == DEAD) - holder.icon_state = "huddead" - else - holder.icon_state = "hudhealthy" - -/mob/living/simple_animal/hostile/guardian/Destroy() - GLOB.parasites -= src - return ..() - -/mob/living/simple_animal/hostile/guardian/proc/updatetheme(theme) //update the guardian's theme - if(!theme) - theme = pick("magic", "tech", "carp", "miner") - switch(theme)//should make it easier to create new stand designs in the future if anyone likes that - if("magic") - name = "Guardian Spirit" - real_name = "Guardian Spirit" - bubble_icon = "guardian" - icon_state = "magicbase" - icon_living = "magicbase" - icon_dead = "magicbase" - if("tech") - name = "Holoparasite" - real_name = "Holoparasite" - bubble_icon = "holo" - icon_state = "techbase" - icon_living = "techbase" - icon_dead = "techbase" - if("miner") - name = "Power Miner" - real_name = "Power Miner" - bubble_icon = "guardian" - icon_state = "minerbase" - icon_living = "minerbase" - icon_dead = "minerbase" - if("carp") - name = "Holocarp" - real_name = "Holocarp" - bubble_icon = "holo" - icon_state = "holocarp" - icon_living = "holocarp" - icon_dead = "holocarp" - speak_emote = list("gnashes") - desc = "A mysterious fish that stands by its charge, ever vigilant." - attack_verb_continuous = "bites" - attack_verb_simple = "bite" - attack_sound = 'sound/weapons/bite.ogg' - recolorentiresprite = TRUE - if("slime") - bubble_icon = "guardian" - icon_state = "slimebase" - icon_living = "slimebase" - icon_dead = "slimebase" - friendly_verb_continuous = "nourishes" - friendly_verb_simple = "nourish" - attack_verb_continuous = "glomps" - attack_verb_simple = "glomp" - speak_emote = list("blorbles") - attack_sound = 'sound/effects/blobattack.ogg' - desc = "A mysterious slime that stands by its charge, ever vigilant." - attack_sound = 'sound/weapons/bite.ogg' - - if(!recolorentiresprite) //we want this to proc before stand logs in, so the overlay isnt gone for some reason - cooloverlay = mutable_appearance(icon, theme) - add_overlay(cooloverlay) - -/mob/living/simple_animal/hostile/guardian/Login() //if we have a mind, set its name to ours when it logs in - . = ..() - if(!. || !client) - return FALSE - if(mind) - mind.name = "[real_name]" - if(!summoner) - to_chat(src, "For some reason, somehow, you have no summoner. Please report this bug immediately.") - return - to_chat(src, "You are a [real_name], bound to serve [summoner.real_name].") - to_chat(src, "You are capable of manifesting or recalling to your master with the buttons on your HUD. You will also find a button to communicate with [summoner.p_them()] privately there.") - to_chat(src, "While personally invincible, you will die if [summoner.real_name] does, and any damage dealt to you will have a portion passed on to [summoner.p_them()] as you feed upon [summoner.p_them()] to sustain yourself.") - to_chat(src, playstyle_string) - if(!guardiancolor) - guardianrename() - guardianrecolor() - -/mob/living/simple_animal/hostile/guardian/proc/guardianrecolor() - guardiancolor = input(src,"What would you like your color to be?","Choose Your Color","#ffffff") as color|null - if(!guardiancolor) //redo proc until we get a color - to_chat(src, "Not a valid color, please try again.") - guardianrecolor() - return - if(!recolorentiresprite) - cooloverlay.color = guardiancolor - cut_overlay(cooloverlay) //we need to get our new color - add_overlay(cooloverlay) - else - add_atom_colour(guardiancolor, FIXED_COLOUR_PRIORITY) - -/mob/living/simple_animal/hostile/guardian/proc/guardianrename() - var/new_name = sanitize_name(reject_bad_text(stripped_input(src, "What would you like your name to be?", "Choose Your Name", real_name, MAX_NAME_LEN))) - if(!new_name) //redo proc until we get a good name - to_chat(src, "Not a valid name, please try again.") - guardianrename() - return - visible_message("Your new name [new_name] anchors itself in your mind.") - fully_replace_character_name(null, new_name) - -/mob/living/simple_animal/hostile/guardian/Life() //Dies if the summoner dies - . = ..() - update_health_hud() //we need to update all of our health displays to match our summoner and we can't practically give the summoner a hook to do it - med_hud_set_health() - med_hud_set_status() - if(!QDELETED(summoner)) - if(summoner.stat == DEAD) - forceMove(summoner.loc) - to_chat(src, "Your summoner has died!") - visible_message("\The [src] dies along with its user!") - summoner.visible_message("[summoner]'s body is completely consumed by the strain of sustaining [src]!") - for(var/obj/item/W in summoner) - if(!summoner.dropItemToGround(W)) - qdel(W) - summoner.dust() - death(TRUE) - qdel(src) - else - to_chat(src, "Your summoner has died!") - visible_message("[src] dies along with its user!") - death(TRUE) - qdel(src) - snapback() - -/mob/living/simple_animal/hostile/guardian/get_status_tab_items() - . += ..() - if(summoner) - var/resulthealth - if(iscarbon(summoner)) - resulthealth = round((abs(HEALTH_THRESHOLD_DEAD - summoner.health) / abs(HEALTH_THRESHOLD_DEAD - summoner.maxHealth)) * 100) - else - resulthealth = round((summoner.health / summoner.maxHealth) * 100, 0.5) - . += "Summoner Health: [resulthealth]%" - if(cooldown >= world.time) - . += "Manifest/Recall Cooldown Remaining: [DisplayTimeText(cooldown - world.time)]" - -/mob/living/simple_animal/hostile/guardian/Move() //Returns to summoner if they move out of range - . = ..() - snapback() - -/mob/living/simple_animal/hostile/guardian/proc/snapback() - if(summoner) - if(get_dist(get_turf(summoner),get_turf(src)) <= range) - return - else - to_chat(src, "You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!") - visible_message("\The [src] jumps back to its user.") - if(istype(summoner.loc, /obj/effect)) - Recall(TRUE) - else - new /obj/effect/temp_visual/guardian/phase/out(loc) - forceMove(summoner.loc) - new /obj/effect/temp_visual/guardian/phase(loc) - -/mob/living/simple_animal/hostile/guardian/proc/is_deployed() - return loc != summoner - -/mob/living/simple_animal/hostile/guardian/AttackingTarget() - if(!is_deployed()) - to_chat(src, "You must be manifested to attack!") - return FALSE - else - return ..() - -/mob/living/simple_animal/hostile/guardian/death() - drop_all_held_items() - ..() - if(summoner) - to_chat(summoner, "Your [name] died somehow!") - summoner.dust() - -/mob/living/simple_animal/hostile/guardian/update_health_hud() - if(summoner && hud_used && hud_used.healths) - var/resulthealth - if(iscarbon(summoner)) - resulthealth = round((abs(HEALTH_THRESHOLD_DEAD - summoner.health) / abs(HEALTH_THRESHOLD_DEAD - summoner.maxHealth)) * 100) - else - resulthealth = round((summoner.health / summoner.maxHealth) * 100, 0.5) - hud_used.healths.maptext = "

    " - -/mob/living/simple_animal/hostile/guardian/adjustHealth(amount, updating_health = TRUE, forced = FALSE) //The spirit is invincible, but passes on damage to the summoner - . = amount - if(summoner) - if(loc == summoner) - return FALSE - summoner.adjustBruteLoss(amount) - if(amount > 0) - to_chat(summoner, "Your [name] is under attack! You take damage!") - summoner.visible_message("Blood sprays from [summoner] as [src] takes damage!") - switch(summoner.stat) - if(UNCONSCIOUS, HARD_CRIT) - to_chat(summoner, "Your body can't take the strain of sustaining [src] in this condition, it begins to fall apart!") - summoner.adjustCloneLoss(amount * 0.5) //dying hosts take 50% bonus damage as cloneloss - update_health_hud() - -/mob/living/simple_animal/hostile/guardian/ex_act(severity, target) - switch(severity) - if(1) - gib() - return - if(2) - adjustBruteLoss(60) - if(3) - adjustBruteLoss(30) - -/mob/living/simple_animal/hostile/guardian/gib() - if(summoner) - to_chat(summoner, "Your [src] was blown up!") - summoner.gib() - ghostize() - qdel(src) - -//HAND HANDLING - -/mob/living/simple_animal/hostile/guardian/equip_to_slot(obj/item/I, slot) - if(!slot) - return FALSE - if(!istype(I)) - return FALSE - - . = TRUE - var/index = get_held_index_of_item(I) - if(index) - held_items[index] = null - update_inv_hands() - - if(I.pulledby) - I.pulledby.stop_pulling() - - I.screen_loc = null // will get moved if inventory is visible - I.forceMove(src) - I.equipped(src, slot) - I.layer = ABOVE_HUD_LAYER - I.plane = ABOVE_HUD_PLANE - -/mob/living/simple_animal/hostile/guardian/proc/apply_overlay(cache_index) - if((. = guardian_overlays[cache_index])) - add_overlay(.) - -/mob/living/simple_animal/hostile/guardian/proc/remove_overlay(cache_index) - var/I = guardian_overlays[cache_index] - if(I) - cut_overlay(I) - guardian_overlays[cache_index] = null - -/mob/living/simple_animal/hostile/guardian/update_inv_hands() - remove_overlay(GUARDIAN_HANDS_LAYER) - var/list/hands_overlays = list() - var/obj/item/l_hand = get_item_for_held_index(1) - var/obj/item/r_hand = get_item_for_held_index(2) - - if(r_hand) - hands_overlays += r_hand.build_worn_icon(default_layer = GUARDIAN_HANDS_LAYER, default_icon_file = r_hand.righthand_file, isinhands = TRUE) - - if(client && hud_used && hud_used.hud_version != HUD_STYLE_NOHUD) - r_hand.layer = ABOVE_HUD_LAYER - r_hand.plane = ABOVE_HUD_PLANE - r_hand.screen_loc = ui_hand_position(get_held_index_of_item(r_hand)) - client.screen |= r_hand - - if(l_hand) - hands_overlays += l_hand.build_worn_icon(default_layer = GUARDIAN_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE) - - if(client && hud_used && hud_used.hud_version != HUD_STYLE_NOHUD) - l_hand.layer = ABOVE_HUD_LAYER - l_hand.plane = ABOVE_HUD_PLANE - l_hand.screen_loc = ui_hand_position(get_held_index_of_item(l_hand)) - client.screen |= l_hand - - if(hands_overlays.len) - guardian_overlays[GUARDIAN_HANDS_LAYER] = hands_overlays - apply_overlay(GUARDIAN_HANDS_LAYER) - -/mob/living/simple_animal/hostile/guardian/regenerate_icons() - update_inv_hands() - -//MANIFEST, RECALL, TOGGLE MODE/LIGHT, SHOW TYPE - -/mob/living/simple_animal/hostile/guardian/proc/Manifest(forced) - if(istype(summoner.loc, /obj/effect) || (cooldown > world.time && !forced)) - return FALSE - if(loc == summoner) - forceMove(summoner.loc) - new /obj/effect/temp_visual/guardian/phase(loc) - cooldown = world.time + 10 - reset_perspective() - return TRUE - return FALSE - -/mob/living/simple_animal/hostile/guardian/proc/Recall(forced) - if(!summoner || loc == summoner || (cooldown > world.time && !forced)) - return FALSE - new /obj/effect/temp_visual/guardian/phase/out(loc) - - forceMove(summoner) - cooldown = world.time + 10 - return TRUE - -/mob/living/simple_animal/hostile/guardian/proc/ToggleMode() - to_chat(src, "You don't have another mode!") - - -/mob/living/simple_animal/hostile/guardian/proc/ToggleLight() - if(!light_on) - to_chat(src, "You activate your light.") - set_light_on(TRUE) - else - to_chat(src, "You deactivate your light.") - set_light_on(FALSE) - - -/mob/living/simple_animal/hostile/guardian/verb/ShowType() - set name = "Check Guardian Type" - set category = "Guardian" - set desc = "Check what type you are." - to_chat(src, playstyle_string) - -//COMMUNICATION - -/mob/living/simple_animal/hostile/guardian/proc/Communicate() - if(summoner) - var/sender_key = key - var/input = stripped_input(src, "Please enter a message to tell your summoner.", "Guardian", "") - if(sender_key != key || !input) //guardian got reset, or did not enter anything - return - - var/preliminary_message = "[input]" //apply basic color/bolding - var/my_message = "[src]: [preliminary_message]" //add source, color source with the guardian's color - - to_chat(summoner, my_message) - var/list/guardians = summoner.hasparasites() - for(var/para in guardians) - to_chat(para, my_message) - for(var/M in GLOB.dead_mob_list) - var/link = FOLLOW_LINK(M, src) - to_chat(M, "[link] [my_message]") - - src.log_talk(input, LOG_SAY, tag="guardian") - -/mob/living/proc/guardian_comm() - set name = "Communicate" - set category = "Guardian" - set desc = "Communicate telepathically with your guardian." - var/input = stripped_input(src, "Please enter a message to tell your guardian.", "Message", "") - if(!input) - return - - var/preliminary_message = "[input]" //apply basic color/bolding - var/my_message = "[src]: [preliminary_message]" //add source, color source with default grey... - - to_chat(src, my_message) - var/list/guardians = hasparasites() - for(var/para in guardians) - var/mob/living/simple_animal/hostile/guardian/G = para - to_chat(G, "[src]: [preliminary_message]" ) - for(var/M in GLOB.dead_mob_list) - var/link = FOLLOW_LINK(M, src) - to_chat(M, "[link] [my_message]") - - src.log_talk(input, LOG_SAY, tag="guardian") - -//FORCE RECALL/RESET - -/mob/living/proc/guardian_recall() - set name = "Recall Guardian" - set category = "Guardian" - set desc = "Forcibly recall your guardian." - var/list/guardians = hasparasites() - for(var/para in guardians) - var/mob/living/simple_animal/hostile/guardian/G = para - G.Recall() - -/mob/living/proc/guardian_reset() - set name = "Reset Guardian Player (One Use)" - set category = "Guardian" - set desc = "Re-rolls which ghost will control your Guardian. One use per Guardian." - - var/list/guardians = hasparasites() - for(var/para in guardians) - var/mob/living/simple_animal/hostile/guardian/P = para - if(P.reset) - guardians -= P //clear out guardians that are already reset - if(guardians.len) - var/mob/living/simple_animal/hostile/guardian/G = input(src, "Pick the guardian you wish to reset", "Guardian Reset") as null|anything in sortNames(guardians) - if(G) - to_chat(src, "You attempt to reset [G.real_name]'s personality...") - var/list/mob/dead/observer/candidates = pollGhostCandidates("Do you want to play as [src.real_name]'s [G.real_name]?", ROLE_PAI, null, FALSE, 100) - if(LAZYLEN(candidates)) - var/mob/dead/observer/C = pick(candidates) - to_chat(G, "Your user reset you, and your body was taken over by a ghost. Looks like they weren't happy with your performance.") - to_chat(src, "Your [G.real_name] has been successfully reset.") - message_admins("[key_name_admin(C)] has taken control of ([ADMIN_LOOKUPFLW(G)])") - G.ghostize(0) - G.guardianrecolor() - G.guardianrename() //give it a new color and name, to show it's a new person - G.key = C.key - G.reset = 1 - switch(G.theme) - if("tech") - to_chat(src, "[G.real_name] is now online!") - if("magic") - to_chat(src, "[G.real_name] has been summoned!") - if("carp") - to_chat(src, "[G.real_name] has been caught!") - if("miner") - to_chat(src, "[G.real_name] has appeared!") - if("slime") - to_chat(src, "[G.real_name] has taken shape!") - guardians -= G - if(!guardians.len) - remove_verb(src, /mob/living/proc/guardian_reset) - else - to_chat(src, "There were no ghosts willing to take control of [G.real_name]. Looks like you're stuck with it for now.") - else - to_chat(src, "You decide not to reset [guardians.len > 1 ? "any of your guardians":"your guardian"].") - else - remove_verb(src, /mob/living/proc/guardian_reset) - -////////parasite tracking/finding procs - -/mob/living/proc/hasparasites() //returns a list of guardians the mob is a summoner for - . = list() - for(var/P in GLOB.parasites) - var/mob/living/simple_animal/hostile/guardian/G = P - if(G.summoner == src) - . += G - -/mob/living/simple_animal/hostile/guardian/proc/hasmatchingsummoner(mob/living/simple_animal/hostile/guardian/G) //returns 1 if the summoner matches the target's summoner - return (istype(G) && G.summoner == summoner) - - -////////Creation - -/obj/item/guardiancreator - name = "enchanted deck of tarot cards" - desc = "An enchanted deck of tarot cards, rumored to be a source of unimaginable power." - icon = 'icons/obj/toy.dmi' - icon_state = "deck_tarot_full" - var/used = FALSE - var/theme = "magic" - var/mob_name = "Guardian Spirit" - var/use_message = "You shuffle the deck..." - var/used_message = "All the cards seem to be blank now." - var/failure_message = "..And draw a card! It's...blank? Maybe you should try again later." - var/ling_failure = "The deck refuses to respond to a souless creature such as you." - var/list/possible_guardians = list("Assassin", "Chaos", "Charger", "Explosive", "Lightning", "Protector", "Ranged", "Standard", "Support", "Gravitokinetic") - var/random = TRUE - var/allowmultiple = FALSE - var/allowling = TRUE - var/allowguardian = FALSE - -/obj/item/guardiancreator/attack_self(mob/living/user) - if(isguardian(user) && !allowguardian) - to_chat(user, "[mob_name] chains are not allowed.") - return - var/list/guardians = user.hasparasites() - if(guardians.len && !allowmultiple) - to_chat(user, "You already have a [mob_name]!") - return - if(user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling) && !allowling) - to_chat(user, "[ling_failure]") - return - if(used == TRUE) - to_chat(user, "[used_message]") - return - used = TRUE - to_chat(user, "[use_message]") - var/list/mob/dead/observer/candidates = pollGhostCandidates("Do you want to play as the [mob_name] of [user.real_name]?", ROLE_PAI, null, FALSE, 100, POLL_IGNORE_HOLOPARASITE) - - if(LAZYLEN(candidates)) - var/mob/dead/observer/C = pick(candidates) - spawn_guardian(user, C.key) - else - to_chat(user, "[failure_message]") - used = FALSE - - -/obj/item/guardiancreator/proc/spawn_guardian(mob/living/user, key) - var/guardiantype = "Standard" - if(random) - guardiantype = pick(possible_guardians) - else - guardiantype = input(user, "Pick the type of [mob_name]", "[mob_name] Creation") as null|anything in sortList(possible_guardians) - if(!guardiantype) - to_chat(user, "[failure_message]" ) - used = FALSE - return - var/pickedtype = /mob/living/simple_animal/hostile/guardian/punch - switch(guardiantype) - - if("Chaos") - pickedtype = /mob/living/simple_animal/hostile/guardian/fire - - if("Standard") - pickedtype = /mob/living/simple_animal/hostile/guardian/punch - - if("Ranged") - pickedtype = /mob/living/simple_animal/hostile/guardian/ranged - - if("Support") - pickedtype = /mob/living/simple_animal/hostile/guardian/healer - - if("Explosive") - pickedtype = /mob/living/simple_animal/hostile/guardian/bomb - - if("Lightning") - pickedtype = /mob/living/simple_animal/hostile/guardian/beam - - if("Protector") - pickedtype = /mob/living/simple_animal/hostile/guardian/protector - - if("Charger") - pickedtype = /mob/living/simple_animal/hostile/guardian/charger - - if("Assassin") - pickedtype = /mob/living/simple_animal/hostile/guardian/assassin - - if("Dextrous") - pickedtype = /mob/living/simple_animal/hostile/guardian/dextrous - - if("Gravitokinetic") - pickedtype = /mob/living/simple_animal/hostile/guardian/gravitokinetic - - if("Slime") - pickedtype = /mob/living/simple_animal/hostile/guardian/slime - - var/list/guardians = user.hasparasites() - if(guardians.len && !allowmultiple) - to_chat(user, "You already have a [mob_name]!" ) - used = FALSE - return - var/mob/living/simple_animal/hostile/guardian/G = new pickedtype(user, theme) - G.name = mob_name - G.summoner = user - G.key = key - G.mind.enslave_mind_to_creator(user) - log_game("[key_name(user)] has summoned [key_name(G)], a [guardiantype] holoparasite.") - switch(theme) - if("tech") - to_chat(user, "[G.tech_fluff_string]") - to_chat(user, "[G.real_name] is now online!") - if("magic") - to_chat(user, "[G.magic_fluff_string]") - to_chat(user, "[G.real_name] has been summoned!") - if("carp") - to_chat(user, "[G.carp_fluff_string]") - to_chat(user, "[G.real_name] has been caught!") - if("miner") - to_chat(user, "[G.miner_fluff_string]") - to_chat(user, "[G.real_name] has appeared!") - if("slime") - to_chat(user, "[G.slime_fluff_string]") - to_chat(user, "[G.real_name] was created using slime science!") - add_verb(user, list(/mob/living/proc/guardian_comm, \ - /mob/living/proc/guardian_recall, \ - /mob/living/proc/guardian_reset)) - G?.client.init_verbs() - -/obj/item/guardiancreator/choose - random = FALSE - -/obj/item/guardiancreator/choose/dextrous - possible_guardians = list("Assassin", "Chaos", "Charger", "Dextrous", "Explosive", "Lightning", "Protector", "Ranged", "Standard", "Support") - -/obj/item/guardiancreator/choose/wizard - possible_guardians = list("Assassin", "Chaos", "Charger", "Dextrous", "Explosive", "Lightning", "Protector", "Ranged", "Standard",) - allowmultiple = TRUE - -/obj/item/guardiancreator/tech - name = "holoparasite injector" - desc = "It contains an alien nanoswarm of unknown origin. Though capable of near sorcerous feats via use of hardlight holograms and nanomachines, it requires an organic host as a home base and source of fuel." - icon = 'icons/obj/syringe.dmi' - icon_state = "combat_hypo" - theme = "tech" - mob_name = "Holoparasite" - use_message = "You start to power on the injector..." - used_message = "The injector has already been used." - failure_message = "...ERROR. BOOT SEQUENCE ABORTED. AI FAILED TO INTIALIZE. PLEASE CONTACT SUPPORT OR TRY AGAIN LATER." - ling_failure = "The holoparasites recoil in horror. They want nothing to do with a creature like you." - -/obj/item/guardiancreator/tech/choose/traitor - possible_guardians = list("Assassin", "Chaos", "Charger", "Explosive", "Lightning", "Protector", "Ranged", "Standard", "Support") - allowling = FALSE - -/obj/item/guardiancreator/tech/choose - random = FALSE - -/obj/item/guardiancreator/tech/choose/dextrous - possible_guardians = list("Assassin", "Chaos", "Charger", "Dextrous", "Explosive", "Lightning", "Protector", "Ranged", "Standard", "Support")//"Gravokinetic" to re-add guardians to lists like this one - -/obj/item/paper/guides/antag/guardian - name = "Holoparasite Guide" - default_raw_text = {"A list of Holoparasite Types
    - -
    -Assassin: Does medium damage and takes full damage, but can enter stealth, causing its next attack to do massive damage and ignore armor. However, it becomes briefly unable to recall after attacking from stealth.
    -
    -Chaos: Ignites enemies on touch and causes them to hallucinate all nearby people as the parasite. Automatically extinguishes the user if they catch on fire.
    -
    -Charger: Moves extremely fast, does medium damage on attack, and can charge at targets, damaging the first target hit and forcing them to drop any items they are holding.
    -
    -Dexterous: Does low damage on attack, but is capable of holding items and storing a single item within it. It will drop items held in its hands when it recalls, but it will retain the stored item.
    -
    -Explosive: High damage resist and medium power attack that may explosively teleport targets. Can turn any object, including objects too large to pick up, into a bomb, dealing explosive damage to the next person to touch it. The object will return to normal after the trap is triggered or after a delay.
    -
    -Lightning: Attacks apply lightning chains to targets. Has a lightning chain to the user. Lightning chains shock everything near them, doing constant damage.
    -
    -Protector: Causes you to teleport to it when out of range, unlike other parasites. Has two modes; Combat, where it does and takes medium damage, and Protection, where it does and takes almost no damage but moves slightly slower.
    -
    -Ranged: Has two modes. Ranged; which fires a constant stream of weak, armor-ignoring projectiles. Scout; Cannot attack, but can move through walls and is quite hard to see. Can lay surveillance snares, which alert it when crossed, in either mode.
    -
    -Standard: Devastating close combat attacks and high damage resist. Can smash through weak walls.
    -
    -Gravitokinetic: Attacks will apply crushing gravity to the target. Can target the ground as well to slow targets advancing on you, but this will affect the user.
    -
    -"} - -/obj/item/paper/guides/antag/guardian/wizard - name = "Guardian Guide" - default_raw_text = {"A list of Guardian Types
    - -
    -Assassin: Does medium damage and takes full damage, but can enter stealth, causing its next attack to do massive damage and ignore armor. However, it becomes briefly unable to recall after attacking from stealth.
    -
    -Chaos: Ignites enemies on touch and causes them to hallucinate all nearby people as the guardian. Automatically extinguishes the user if they catch on fire.
    -
    -Charger: Moves extremely fast, does medium damage on attack, and can charge at targets, damaging the first target hit and forcing them to drop any items they are holding.
    -
    -Dexterous: Does low damage on attack, but is capable of holding items and storing a single item within it. It will drop items held in its hands when it recalls, but it will retain the stored item.
    -
    -Explosive: High damage resist and medium power attack that may explosively teleport targets. Can turn any object, including objects too large to pick up, into a bomb, dealing explosive damage to the next person to touch it. The object will return to normal after the trap is triggered or after a delay.
    -
    -Lightning: Attacks apply lightning chains to targets. Has a lightning chain to the user. Lightning chains shock everything near them, doing constant damage.
    -
    -Protector: Causes you to teleport to it when out of range, unlike other parasites. Has two modes; Combat, where it does and takes medium damage, and Protection, where it does and takes almost no damage but moves slightly slower.
    -
    -Ranged: Has two modes. Ranged; which fires a constant stream of weak, armor-ignoring projectiles. Scout; Cannot attack, but can move through walls and is quite hard to see. Can lay surveillance snares, which alert it when crossed, in either mode.
    -
    -Standard: Devastating close combat attacks and high damage resist. Can smash through weak walls.
    -
    -Gravitokinetic: Attacks will apply crushing gravity to the target. Can target the ground as well to slow targets advancing on you, but this will affect the user.
    -
    -"} - - -/obj/item/storage/box/syndie_kit/guardian - name = "holoparasite injector kit" - -/obj/item/storage/box/syndie_kit/guardian/PopulateContents() - new /obj/item/guardiancreator/tech/choose/dextrous(src) //WS Edit - Dextrous Guardians - new /obj/item/paper/guides/antag/guardian(src) - -/obj/item/guardiancreator/carp - name = "holocarp fishsticks" - desc = "Using the power of Carp'sie, you can catch a carp from byond the veil of Carpthulu, and bind it to your fleshy flesh form." - icon = 'icons/obj/food/food.dmi' - icon_state = "fishfingers" - theme = "carp" - mob_name = "Holocarp" - use_message = "You put the fishsticks in your mouth..." - used_message = "Someone's already taken a bite out of these fishsticks! Ew." - failure_message = "You couldn't catch any carp spirits from the seas of Lake Carp. Maybe there are none, maybe you fucked up." - ling_failure = "Carp'sie seems to not have taken you as the chosen one. Maybe it's because of your horrifying origin." - allowmultiple = TRUE - -/obj/item/guardiancreator/carp/choose - random = FALSE - -/obj/item/guardiancreator/miner - name = "dusty shard" - desc = "Seems to be a very old rock, may have originated from a strange meteor." - icon = 'icons/obj/lavaland/artefacts.dmi' - icon_state = "dustyshard" - theme = "miner" - mob_name = "Power Miner" - use_message = "You pierce your skin with the shard..." - used_message = "This shard seems to have lost all its' power..." - failure_message = "The shard hasn't reacted at all. Maybe try again later..." - ling_failure = "The power of the shard seems to not react with your horrifying, mutated body." - -/obj/item/guardiancreator/miner/choose - random = FALSE - name = "glimmering shard" - desc = "Seems to be a very old rock, may have originated from a strange meteor. This one looks exceptionally pure." - possible_guardians = list("Assassin", "Chaos", "Charger", "Dextrous", "Explosive", "Lightning", "Protector", "Ranged", "Standard", "Support") - allowmultiple = TRUE//if you *somehow* get the extremely rare minerchoose guardian(25% chance to spawn, for an item in a table of around 30 options) while you already have a guardian, you can stack it. The ultimate gambling. - -/obj/item/guardiancreator/slime - name = "slime shard" - desc = "A shard of crystallized slime." - icon = 'icons/obj/lavaland/artefacts.dmi' - icon_state = "dustyshard" - color = "#00ff15" - theme = "slime" - mob_name = "Standing Slime" - use_message = "You squeeze the shard inhand, and it grows warm..." - used_message = "You squeeze the shard, but nothing happens. Maybe it's been used already." - failure_message = "The shard grows cold. Maybe try again later?" - ling_failure = "The shard seems to quiver and twist away from you." - possible_guardians = list("Slime") diff --git a/code/modules/mob/living/simple_animal/guardian/types/assassin.dm b/code/modules/mob/living/simple_animal/guardian/types/assassin.dm deleted file mode 100644 index 7cfed9d167db..000000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/assassin.dm +++ /dev/null @@ -1,101 +0,0 @@ -//Assassin -/mob/living/simple_animal/hostile/guardian/assassin - melee_damage_lower = 15 - melee_damage_upper = 15 - attack_verb_continuous = "slashes" - attack_verb_simple = "slash" - attack_sound = 'sound/weapons/bladeslice.ogg' - damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) - playstyle_string = "As an assassin type you do medium damage and have no damage resistance, but can enter stealth, massively increasing the damage of your next attack and causing it to ignore armor. Stealth is broken when you attack or take damage." - magic_fluff_string = "..And draw the Space Ninja, a lethal, invisible assassin." - tech_fluff_string = "Boot sequence complete. Assassin modules loaded. Holoparasite swarm online." - carp_fluff_string = "CARP CARP CARP! Caught one! It's an assassin carp! Just when you thought it was safe to go back to the water... which is unhelpful, because we're in space." - miner_fluff_string = "You encounter... Glass, a sharp, fragile attacker." - toggle_button_type = /atom/movable/screen/guardian/ToggleMode/Assassin - var/toggle = FALSE - var/stealthcooldown = 100 - var/atom/movable/screen/alert/canstealthalert - var/atom/movable/screen/alert/instealthalert - speed = -1 - -/mob/living/simple_animal/hostile/guardian/assassin/Initialize() - . = ..() - stealthcooldown = 0 - -/mob/living/simple_animal/hostile/guardian/assassin/Life() - . = ..() - updatestealthalert() - if(loc == summoner && toggle) - ToggleMode(0) - -/mob/living/simple_animal/hostile/guardian/assassin/get_status_tab_items() - . = ..() - if(stealthcooldown >= world.time) - . += "Stealth Cooldown Remaining: [DisplayTimeText(stealthcooldown - world.time)]" - -/mob/living/simple_animal/hostile/guardian/assassin/AttackingTarget() - . = ..() - if(.) - if(toggle && (isliving(target) || istype(target, /obj/structure/window) || istype(target, /obj/structure/grille))) - ToggleMode(1) - -/mob/living/simple_animal/hostile/guardian/assassin/adjustHealth(amount, updating_health = TRUE, forced = FALSE) - . = ..() - if(. > 0 && toggle) - ToggleMode(1) - -/mob/living/simple_animal/hostile/guardian/assassin/Recall() - if(..() && toggle) - ToggleMode(0) - -/mob/living/simple_animal/hostile/guardian/assassin/ToggleMode(forced = 0) - if(toggle) - melee_damage_lower = initial(melee_damage_lower) - melee_damage_upper = initial(melee_damage_upper) - armour_penetration = initial(armour_penetration) - obj_damage = initial(obj_damage) - environment_smash = initial(environment_smash) - alpha = initial(alpha) - if(!forced) - to_chat(src, "You exit stealth.") - else - visible_message("\The [src] suddenly appears!") - stealthcooldown = world.time + initial(stealthcooldown) //we were forced out of stealth and go on cooldown - cooldown = world.time + 40 //can't recall for 4 seconds - updatestealthalert() - toggle = FALSE - else if(stealthcooldown <= world.time) - if(src.loc == summoner) - to_chat(src, "You have to be manifested to enter stealth!") - return - melee_damage_lower = 50 - melee_damage_upper = 50 - armour_penetration = 100 - obj_damage = 0 - environment_smash = ENVIRONMENT_SMASH_NONE - new /obj/effect/temp_visual/guardian/phase/out(get_turf(src)) - alpha = 20 - if(!forced) - to_chat(src, "You enter stealth, empowering your next attack.") - updatestealthalert() - toggle = TRUE - else if(!forced) - to_chat(src, "You cannot yet enter stealth, wait another [DisplayTimeText(stealthcooldown - world.time)]!") - -/mob/living/simple_animal/hostile/guardian/assassin/proc/updatestealthalert() - if(stealthcooldown <= world.time) - if(toggle) - if(!instealthalert) - instealthalert = throw_alert("instealth", /atom/movable/screen/alert/instealth) - clear_alert("canstealth") - canstealthalert = null - else - if(!canstealthalert) - canstealthalert = throw_alert("canstealth", /atom/movable/screen/alert/canstealth) - clear_alert("instealth") - instealthalert = null - else - clear_alert("instealth") - instealthalert = null - clear_alert("canstealth") - canstealthalert = null diff --git a/code/modules/mob/living/simple_animal/guardian/types/charger.dm b/code/modules/mob/living/simple_animal/guardian/types/charger.dm deleted file mode 100644 index 7ebd3c8b3cca..000000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/charger.dm +++ /dev/null @@ -1,77 +0,0 @@ -//Charger -/mob/living/simple_animal/hostile/guardian/charger - melee_damage_lower = 15 - melee_damage_upper = 15 - ranged = 1 //technically - ranged_message = "charges" - ranged_cooldown_time = 10 - speed = 2//slow when not charging - damage_coeff = list(BRUTE = 0.5, BURN = 0.5, TOX = 0.6, CLONE = 0.6, STAMINA = 0, OXY = 0.6) - playstyle_string = "As a charger type you are a formidable close range fighter, but move slowly when not charging. You can charge at a location, damaging any target hit and potentially knocking them flat." - magic_fluff_string = "..And draw the Hunter, an alien master of rapid assault." - tech_fluff_string = "Boot sequence complete. Charge modules loaded. Holoparasite swarm online." - carp_fluff_string = "CARP CARP CARP! Caught one! It's a charger carp, that likes running at people. But it doesn't have any legs..." - miner_fluff_string = "You encounter... Titanium, a lightweight, agile fighter." - var/charging = 0 - var/atom/movable/screen/alert/chargealert - -/mob/living/simple_animal/hostile/guardian/charger/Life() - . = ..() - if(ranged_cooldown <= world.time) - if(!chargealert) - chargealert = throw_alert("charge", /atom/movable/screen/alert/cancharge) - else - clear_alert("charge") - chargealert = null - -/mob/living/simple_animal/hostile/guardian/charger/OpenFire(atom/A) - if(!charging) - visible_message("[src] [ranged_message] at [A]!") - ranged_cooldown = world.time + ranged_cooldown_time - clear_alert("charge") - chargealert = null - Shoot(A) - -/mob/living/simple_animal/hostile/guardian/charger/Shoot(atom/targeted_atom) - charging = 1 - throw_at(targeted_atom, range, 1, src, FALSE, TRUE, callback = CALLBACK(src, PROC_REF(charging_end))) - -/mob/living/simple_animal/hostile/guardian/charger/proc/charging_end() - charging = 0 - -/mob/living/simple_animal/hostile/guardian/charger/Move() - if(charging) - new /obj/effect/temp_visual/decoy/fading(loc,src) - . = ..() - -/mob/living/simple_animal/hostile/guardian/charger/snapback() - if(!charging) - ..() - -/mob/living/simple_animal/hostile/guardian/charger/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) - if(!charging) - return ..() - - else if(hit_atom) - if(isliving(hit_atom) && hit_atom != summoner) - var/mob/living/L = hit_atom - var/blocked = FALSE - if(hasmatchingsummoner(hit_atom)) //if the summoner matches don't hurt them - blocked = TRUE - if(ishuman(hit_atom)) - var/mob/living/carbon/human/H = hit_atom - if(H.check_shields(src, 90, "[name]", attack_type = THROWN_PROJECTILE_ATTACK)) - blocked = TRUE - if(!blocked) - L.visible_message("[src] slams into [L]!", "[src] slams into you!") - if(prob(25)) - L.drop_all_held_items() - L.Knockdown(10) - L.visible_message("[L] is knocked clean over!", "You are flung to the ground by the impact!") - L.apply_damage(30, BRUTE) - playsound(get_turf(L), 'sound/effects/meteorimpact.ogg', 100, TRUE) - shake_camera(L, 4, 3) - shake_camera(src, 2, 3) - - charging = 0 - diff --git a/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm b/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm deleted file mode 100644 index 48fb3db7b7bd..000000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm +++ /dev/null @@ -1,85 +0,0 @@ -//Dextrous -/mob/living/simple_animal/hostile/guardian/dextrous//very few buffs needed, this is arguably the most "powerful" holoparasite for the reason that is: GUN. - melee_damage_lower = 10 - melee_damage_upper = 10 - damage_coeff = list(BRUTE = 0.5, BURN = 0.5, TOX = 0.75, CLONE = 0.75, STAMINA = 0, OXY = 0.75) - playstyle_string = "As a dextrous type you can hold items, store an item within yourself, and have medium damage resistance, but do low damage on attacks. Recalling and leashing will force you to drop unstored items!" - magic_fluff_string = "..And draw the Drone, a dextrous master of construction and repair." - tech_fluff_string = "Boot sequence complete. Dextrous combat modules loaded. Holoparasite swarm online." - carp_fluff_string = "CARP CARP CARP! You caught one! It can hold stuff in its fins, sort of." - miner_fluff_string = "You encounter... Gold, a malleable constructor." - dextrous = TRUE - held_items = list(null, null) - var/obj/item/internal_storage //what we're storing within ourself - -/mob/living/simple_animal/hostile/guardian/dextrous/death(gibbed) - ..() - if(internal_storage) - dropItemToGround(internal_storage) - -/mob/living/simple_animal/hostile/guardian/dextrous/examine(mob/user) - if(dextrous) - . = list("This is [icon2html(src)] \a [src]!\n[desc]") - for(var/obj/item/I in held_items) - if(!(I.item_flags & ABSTRACT)) - . += "It has [I.get_examine_string(user)] in its [get_held_index_name(get_held_index_of_item(I))]." - if(internal_storage && !(internal_storage.item_flags & ABSTRACT)) - . += "It is holding [internal_storage.get_examine_string(user)] in its internal storage." - . += "" - else - return ..() - -/mob/living/simple_animal/hostile/guardian/dextrous/Recall(forced) - if(!summoner || loc == summoner || (cooldown > world.time && !forced)) - return FALSE - drop_all_held_items() - return ..() //lose items, then return - -/mob/living/simple_animal/hostile/guardian/dextrous/snapback() - if(summoner && !(get_dist(get_turf(summoner),get_turf(src)) <= range)) - drop_all_held_items() - ..() //lose items, then return - -//SLOT HANDLING BULLSHIT FOR INTERNAL STORAGE -/mob/living/simple_animal/hostile/guardian/dextrous/doUnEquip(obj/item/I, force, newloc, no_move, invdrop = TRUE, silent = FALSE) - if(..()) - update_inv_hands() - if(I == internal_storage) - internal_storage = null - update_inv_internal_storage() - return TRUE - return FALSE - -/mob/living/simple_animal/hostile/guardian/dextrous/can_equip(obj/item/I, slot, disable_warning = FALSE, bypass_equip_delay_self = FALSE) - switch(slot) - if(ITEM_SLOT_DEX_STORAGE) - if(internal_storage) - return FALSE - return TRUE - ..() - -/mob/living/simple_animal/hostile/guardian/dextrous/equip_to_slot(obj/item/I, slot) - if(!..()) - return - - switch(slot) - if(ITEM_SLOT_DEX_STORAGE) - internal_storage = I - update_inv_internal_storage() - else - to_chat(src, "You are trying to equip this item to an unsupported inventory slot. Report this to a coder!") - -/mob/living/simple_animal/hostile/guardian/dextrous/getBackSlot() - return ITEM_SLOT_DEX_STORAGE - -/mob/living/simple_animal/hostile/guardian/dextrous/getBeltSlot() - return ITEM_SLOT_DEX_STORAGE - -/mob/living/simple_animal/hostile/guardian/dextrous/proc/update_inv_internal_storage() - if(internal_storage && client && hud_used && hud_used.hud_shown) - internal_storage.screen_loc = ui_id - client.screen += internal_storage - -/mob/living/simple_animal/hostile/guardian/dextrous/regenerate_icons() - ..() - update_inv_internal_storage() diff --git a/code/modules/mob/living/simple_animal/guardian/types/explosive.dm b/code/modules/mob/living/simple_animal/guardian/types/explosive.dm deleted file mode 100644 index f93f70d8ffb3..000000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/explosive.dm +++ /dev/null @@ -1,78 +0,0 @@ -#define UNREGISTER_BOMB_SIGNALS(A) \ - do { \ - UnregisterSignal(A, boom_signals); \ - UnregisterSignal(A, COMSIG_PARENT_EXAMINE); \ - } while (0) - -//Bomb -/mob/living/simple_animal/hostile/guardian/bomb - melee_damage_lower = 35 - melee_damage_upper = 35 - next_move_modifier = 1.5//attacks are 50% slower - damage_coeff = list(BRUTE = 0.6, BURN = 0.6, TOX = 0.6, CLONE = 0.6, STAMINA = 0, OXY = 0.6)//relatively delicate, for a holopara - attack_sound = 'sound/effects/gravhit.ogg' - range = 5//tiny range - speed = 4//slow af - playstyle_string = "As an explosive type, you have powerful but slow blasting punches, may explode targets for bonus damage on attack, and are capable of converting nearby items and objects into disguised bombs via alt click. However, you are slow, and your range is very low. Make it count!" - magic_fluff_string = "..And draw the Scientist, master of explosive death." - tech_fluff_string = "Boot sequence complete. Explosive modules active. Holoparasite swarm online." - carp_fluff_string = "CARP CARP CARP! Caught one! It's an explosive carp! Boom goes the fishy." - miner_fluff_string = "You encounter... Gibtonite, an explosive fighter." - var/bomb_cooldown = 0 - var/static/list/boom_signals = list(COMSIG_PARENT_ATTACKBY, COMSIG_ATOM_BUMPED, COMSIG_ATOM_ATTACK_HAND) - -/mob/living/simple_animal/hostile/guardian/bomb/get_status_tab_items() - . = ..() - if(bomb_cooldown >= world.time) - . += "Bomb Cooldown Remaining: [DisplayTimeText(bomb_cooldown - world.time)]" - -/mob/living/simple_animal/hostile/guardian/bomb/AttackingTarget() - . = ..() - if(. && prob(65) && isliving(target)) - var/mob/living/M = target - if(!M.anchored && M != summoner && !hasmatchingsummoner(M)) - new /obj/effect/temp_visual/guardian/phase/out(get_turf(M)) - for(var/mob/living/L in range(1, M)) - if(hasmatchingsummoner(L)) //if the summoner matches don't hurt them - continue - if(L != src && L != summoner) - L.apply_damage(20, BRUTE) - new /obj/effect/temp_visual/explosion(get_turf(M)) - -/mob/living/simple_animal/hostile/guardian/bomb/AltClickOn(atom/movable/A) - if(!istype(A)) - return - if(loc == summoner) - to_chat(src, "You must be manifested to create bombs!") - return - if(isobj(A) && Adjacent(A)) - if(bomb_cooldown <= world.time && !stat) - to_chat(src, "Success! Bomb armed!") - bomb_cooldown = world.time + 200 - RegisterSignal(A, COMSIG_PARENT_EXAMINE, PROC_REF(display_examine)) - RegisterSignal(A, boom_signals, PROC_REF(kaboom)) - addtimer(CALLBACK(src, PROC_REF(disable), A), 600, TIMER_UNIQUE|TIMER_OVERRIDE) - else - to_chat(src, "Your powers are on cooldown! You must wait 20 seconds between bombs.") - -/mob/living/simple_animal/hostile/guardian/bomb/proc/kaboom(atom/source, mob/living/explodee) - if(!istype(explodee)) - return - if(explodee == src || explodee == summoner || hasmatchingsummoner(explodee)) - return - to_chat(explodee, "[source] was boobytrapped!") - to_chat(src, "Success! Your trap caught [explodee]") - var/turf/T = get_turf(source) - playsound(T,'sound/effects/explosion2.ogg', 200, TRUE) - new /obj/effect/temp_visual/explosion(T) - explodee.ex_act(EXPLODE_HEAVY) - UNREGISTER_BOMB_SIGNALS(source) - -/mob/living/simple_animal/hostile/guardian/bomb/proc/disable(atom/A) - to_chat(src, "Failure! Your trap didn't catch anyone this time.") - UNREGISTER_BOMB_SIGNALS(A) - -/mob/living/simple_animal/hostile/guardian/bomb/proc/display_examine(datum/source, mob/user, text) - text += "It glows with a strange light!" - -#undef UNREGISTER_BOMB_SIGNALS diff --git a/code/modules/mob/living/simple_animal/guardian/types/fire.dm b/code/modules/mob/living/simple_animal/guardian/types/fire.dm deleted file mode 100644 index 2d7a34a8bbf8..000000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/fire.dm +++ /dev/null @@ -1,50 +0,0 @@ -//Fire -/mob/living/simple_animal/hostile/guardian/fire - a_intent = INTENT_HELP - melee_damage_lower = 7 - melee_damage_upper = 7 - attack_sound = 'sound/items/welder.ogg' - attack_verb_continuous = "ignites" - attack_verb_simple = "ignite" - damage_coeff = list(BRUTE = 0.6, BURN = 0.4, TOX = 0.6, CLONE = 0.7, STAMINA = 0, OXY = 0.7) - range = 7 - playstyle_string = "As a chaos type, you have only light damage resistance, but will ignite any enemy you bump into. In addition, your melee attacks will cause human targets to see everyone as you, and will cook simple animals from the inside, doing bonus damage." - magic_fluff_string = "..And draw the Wizard, bringer of endless chaos!" - tech_fluff_string = "Boot sequence complete. Crowd control modules activated. Holoparasite swarm online." - carp_fluff_string = "CARP CARP CARP! You caught one! OH GOD, EVERYTHING'S ON FIRE. Except you and the fish." - miner_fluff_string = "You encounter... Plasma, the bringer of fire." - -/mob/living/simple_animal/hostile/guardian/fire/Life() - . = ..() - if(summoner) - summoner.ExtinguishMob() - summoner.adjust_fire_stacks(-20) - -/mob/living/simple_animal/hostile/guardian/fire/AttackingTarget() - . = ..() - if(. && ishuman(target) && target != summoner) - new /datum/hallucination/delusion(target,TRUE,"custom",200,0, icon_state,icon) - melee_damage_lower = 7 - melee_damage_upper = 7 - if(. && isanimal(target) && target != summoner) - melee_damage_lower = 40 - melee_damage_upper = 40 - -/mob/living/simple_animal/hostile/guardian/fire/on_entered(datum/source, AM as mob|obj) - . = ..() - collision_ignite(AM) - -/mob/living/simple_animal/hostile/guardian/fire/Bumped(atom/movable/AM) - ..() - collision_ignite(AM) - -/mob/living/simple_animal/hostile/guardian/fire/Bump(AM as mob|obj) - ..() - collision_ignite(AM) - -/mob/living/simple_animal/hostile/guardian/fire/proc/collision_ignite(AM as mob|obj) - if(isliving(AM)) - var/mob/living/M = AM - if(!hasmatchingsummoner(M) && M != summoner && M.fire_stacks < 7) - M.fire_stacks = 7 - M.IgniteMob() diff --git a/code/modules/mob/living/simple_animal/guardian/types/gravitokinetic.dm b/code/modules/mob/living/simple_animal/guardian/types/gravitokinetic.dm deleted file mode 100644 index a86e38db7772..000000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/gravitokinetic.dm +++ /dev/null @@ -1,68 +0,0 @@ -//gravitokinetic -/mob/living/simple_animal/hostile/guardian/gravitokinetic - melee_damage_lower = 15 - melee_damage_upper = 15 - damage_coeff = list(BRUTE = 0.75, BURN = 0.75, TOX = 0.75, CLONE = 0.75, STAMINA = 0, OXY = 0.75) - playstyle_string = "As a gravitokinetic type, you can alt click to make the gravity on the ground stronger, and punching applies this effect to a target." - magic_fluff_string = "..And draw the Singularity, an anomalous force of terror." - tech_fluff_string = "Boot sequence complete. Gravitokinetic modules loaded. Holoparasite swarm online." - carp_fluff_string = "CARP CARP CARP! Caught one! It's a gravitokinetic carp! Now do you understand the gravity of the situation?" - miner_fluff_string = "You encounter... Bananium, a master of gravity business." - var/list/gravito_targets = list() - var/gravity_power_range = 10 //how close the stand must stay to the target to keep the heavy gravity - -///Removes gravity from affected mobs upon guardian death to prevent permanent effects -/mob/living/simple_animal/hostile/guardian/gravitokinetic/death() - . = ..() - for(var/i in gravito_targets) - remove_gravity(i) - -/mob/living/simple_animal/hostile/guardian/gravitokinetic/AttackingTarget() - . = ..() - if(isliving(target) && target != src) - to_chat(src, "Your punch has applied heavy gravity to [target]!") - add_gravity(target, 2) - to_chat(target, "Everything feels really heavy!") - -/mob/living/simple_animal/hostile/guardian/gravitokinetic/AltClickOn(atom/A) - if(isopenturf(A) && is_deployed() && stat != DEAD && in_range(src, A) && !incapacitated()) - var/turf/T = A - if(isspaceturf(T)) - to_chat(src, "You cannot add gravity to space!") - return - visible_message("[src] slams their fist into the [T]!", "You modify the gravity of the [T].") - do_attack_animation(T) - add_gravity(T, 4) - return - return ..() - -/mob/living/simple_animal/hostile/guardian/gravitokinetic/Recall(forced) - . = ..() - to_chat(src, "You have released your gravitokinetic powers!") - for(var/i in gravito_targets) - remove_gravity(i) - -/mob/living/simple_animal/hostile/guardian/gravitokinetic/Moved(oldLoc, dir) - . = ..() - for(var/i in gravito_targets) - if(get_dist(src, i) > gravity_power_range) - remove_gravity(i) - -/mob/living/simple_animal/hostile/guardian/gravitokinetic/proc/add_gravity(atom/A, new_gravity = 2) - if(gravito_targets[A]) - return - A.AddElement(/datum/element/forced_gravity, new_gravity) - gravito_targets[A] = new_gravity - RegisterSignal(A, COMSIG_MOVABLE_MOVED, PROC_REF(__distance_check)) - playsound(src, 'sound/effects/gravhit.ogg', 100, TRUE) - -/mob/living/simple_animal/hostile/guardian/gravitokinetic/proc/remove_gravity(atom/target) - if(isnull(gravito_targets[target])) - return - UnregisterSignal(target, COMSIG_MOVABLE_MOVED) - target.RemoveElement(/datum/element/forced_gravity, gravito_targets[target]) - gravito_targets -= target - -/mob/living/simple_animal/hostile/guardian/gravitokinetic/proc/__distance_check(atom/movable/AM, OldLoc, Dir, Forced) - if(get_dist(src, AM) > gravity_power_range) - remove_gravity(AM) diff --git a/code/modules/mob/living/simple_animal/guardian/types/lightning.dm b/code/modules/mob/living/simple_animal/guardian/types/lightning.dm deleted file mode 100644 index a70bf4edae24..000000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/lightning.dm +++ /dev/null @@ -1,113 +0,0 @@ -//Beam -/obj/effect/ebeam/chain - name = "lightning chain" - layer = LYING_MOB_LAYER - -/mob/living/simple_animal/hostile/guardian/beam - melee_damage_lower = 7 - melee_damage_upper = 7 - attack_verb_continuous = "shocks" - attack_verb_simple = "shock" - melee_damage_type = BURN - attack_sound = 'sound/machines/defib_zap.ogg' - damage_coeff = list(BRUTE = 0.7, BURN = 0.7, TOX = 0.7, CLONE = 0.7, STAMINA = 0, OXY = 0.7) - range = 7 - playstyle_string = "As a lightning type, you will apply lightning chains to targets on attack and have a lightning chain to your summoner. Lightning chains will shock anyone near them." - magic_fluff_string = "..And draw the Tesla, a shocking, lethal source of power." - tech_fluff_string = "Boot sequence complete. Lightning modules active. Holoparasite swarm online." - carp_fluff_string = "CARP CARP CARP! Caught one! It's a lightning carp! Everyone else goes zap zap." - miner_fluff_string = "You encounter... Iron, a conductive master of lightning." - var/datum/beam/summonerchain - var/list/enemychains = list() - var/successfulshocks = 0 - -/mob/living/simple_animal/hostile/guardian/beam/AttackingTarget() - . = ..() - if(. && isliving(target) && target != src && target != summoner) - cleardeletedchains() - for(var/chain in enemychains) - var/datum/beam/B = chain - if(B.target == target) - return //oh this guy already HAS a chain, let's not chain again - if(enemychains.len > 2) - var/datum/beam/C = pick(enemychains) - qdel(C) - enemychains -= C - enemychains += Beam(target, "lightning[rand(1,12)]", time=70, maxdistance=7, beam_type=/obj/effect/ebeam/chain) - -/mob/living/simple_animal/hostile/guardian/beam/Destroy() - removechains() - return ..() - -/mob/living/simple_animal/hostile/guardian/beam/Manifest() - . = ..() - if(.) - if(summoner) - summonerchain = Beam(summoner, "lightning[rand(1,12)]", time=INFINITY, maxdistance=INFINITY, beam_type=/obj/effect/ebeam/chain) - while(loc != summoner) - if(successfulshocks > 5) - successfulshocks = 0 - if(shockallchains()) - successfulshocks++ - SLEEP_CHECK_DEATH(3) - -/mob/living/simple_animal/hostile/guardian/beam/Recall() - . = ..() - if(.) - removechains() - -/mob/living/simple_animal/hostile/guardian/beam/proc/cleardeletedchains() - if(summonerchain && QDELETED(summonerchain)) - summonerchain = null - if(enemychains.len) - for(var/chain in enemychains) - var/datum/cd = chain - if(!chain || QDELETED(cd)) - enemychains -= chain - -/mob/living/simple_animal/hostile/guardian/beam/proc/shockallchains() - . = 0 - cleardeletedchains() - if(summoner) - if(!summonerchain) - summonerchain = Beam(summoner, "lightning[rand(1,12)]", time=INFINITY, maxdistance=INFINITY, beam_type=/obj/effect/ebeam/chain) - . += chainshock(summonerchain) - if(enemychains.len) - for(var/chain in enemychains) - . += chainshock(chain) - -/mob/living/simple_animal/hostile/guardian/beam/proc/removechains() - if(summonerchain) - qdel(summonerchain) - summonerchain = null - if(enemychains.len) - for(var/chain in enemychains) - qdel(chain) - enemychains = list() - -/mob/living/simple_animal/hostile/guardian/beam/proc/chainshock(datum/beam/B) - . = 0 - var/list/turfs = list() - for(var/E in B.elements) - var/obj/effect/ebeam/chainpart = E - if(chainpart && chainpart.x && chainpart.y && chainpart.z) - var/turf/T = get_turf_pixel(chainpart) - turfs |= T - if(T != get_turf(B.origin) && T != get_turf(B.target)) - for(var/turf/TU in circlerange(T, 1)) - turfs |= TU - for(var/turf in turfs) - var/turf/T = turf - for(var/mob/living/L in T) - if(L.stat != DEAD && L != src && L != summoner) - if(hasmatchingsummoner(L)) //if the summoner matches don't hurt them - continue - if(successfulshocks > 4) - L.electrocute_act(0) - L.visible_message( - "[L] was shocked by the lightning chain!", \ - "You are shocked by the lightning chain!", \ - "You hear a heavy electrical crack." \ - ) - L.adjustFireLoss(1.2) //adds up very rapidly - . = 1 diff --git a/code/modules/mob/living/simple_animal/guardian/types/protector.dm b/code/modules/mob/living/simple_animal/guardian/types/protector.dm deleted file mode 100644 index e42dcb62e2ef..000000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/protector.dm +++ /dev/null @@ -1,72 +0,0 @@ -//Protector -/mob/living/simple_animal/hostile/guardian/protector - melee_damage_lower = 30 - melee_damage_upper = 30 - range = 20 - damage_coeff = list(BRUTE = 0.4, BURN = 0.4, TOX = 0.4, CLONE = 0.4, STAMINA = 0, OXY = 0.4) - playstyle_string = "As a protector type you cause your summoner to leash to you instead of you leashing to them and have two modes; Combat Mode, where you do and take medium damage, and Protection Mode, where you take almost no damage and have reduced damage. While in protection mode, you move significantly slower, and have extremely low range." - magic_fluff_string = "..And draw the Guardian, a stalwart protector that never leaves the side of its charge." - tech_fluff_string = "Boot sequence complete. Protector modules loaded. Holoparasite swarm online." - carp_fluff_string = "CARP CARP CARP! You caught one! Wait, no... it caught you! The fisher has become the fishy." - miner_fluff_string = "You encounter... Uranium, a very resistant guardian." - toggle_button_type = /atom/movable/screen/guardian/ToggleMode - var/toggle = FALSE - -/mob/living/simple_animal/hostile/guardian/protector/ex_act(severity) - if(severity == 1) - adjustBruteLoss(400) //if in protector mode, will do 20 damage and not actually necessarily kill the summoner - else - ..() - if(QDELETED(src)) - return - if(toggle) - visible_message("The explosion glances off [src]'s energy shielding!") - -/mob/living/simple_animal/hostile/guardian/protector/adjustHealth(amount, updating_health = TRUE, forced = FALSE) - . = ..() - if(. > 0 && toggle) - var/image/I = new('icons/effects/effects.dmi', src, "shield-flash", MOB_LAYER+0.01, dir = pick(GLOB.cardinals)) - if(guardiancolor) - I.color = guardiancolor - flick_overlay_view(I, src, 5) - -/mob/living/simple_animal/hostile/guardian/protector/ToggleMode() - if(cooldown > world.time) - return 0 - cooldown = world.time + 10 - if(toggle) - cut_overlays() - melee_damage_lower = initial(melee_damage_lower) - melee_damage_upper = initial(melee_damage_upper) - speed = initial(speed) - damage_coeff = list(BRUTE = 0.4, BURN = 0.4, TOX = 0.4, CLONE = 0.4, STAMINA = 0, OXY = 0.4) - to_chat(src, "You switch to combat mode.") - toggle = FALSE - else - var/mutable_appearance/shield_overlay = mutable_appearance('icons/effects/effects.dmi', "shield-grey") - if(guardiancolor) - shield_overlay.color = guardiancolor - add_overlay(shield_overlay) - melee_damage_lower = 15 - melee_damage_upper = 15 - speed = 4 - range = 5 - damage_coeff = list(BRUTE = 0.05, BURN = 0.05, TOX = 0.05, CLONE = 0.05, STAMINA = 0, OXY = 0.05) //damage? what's damage? - to_chat(src, "You switch to protection mode.") - toggle = TRUE - -/mob/living/simple_animal/hostile/guardian/protector/snapback() //snap to what? snap to the guardian! - if(summoner) - if(get_dist(get_turf(summoner),get_turf(src)) <= range) - return - else - if(istype(summoner.loc, /obj/effect)) - to_chat(src, "You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!") - visible_message("\The [src] jumps back to its user.") - Recall(TRUE) - else - to_chat(summoner, "You moved out of range, and were pulled back! You can only move [range] meters from [real_name]!") - summoner.visible_message("\The [summoner] jumps back to [summoner.p_their()] protector.") - new /obj/effect/temp_visual/guardian/phase/out(get_turf(summoner)) - summoner.forceMove(get_turf(src)) - new /obj/effect/temp_visual/guardian/phase(get_turf(summoner)) diff --git a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm deleted file mode 100644 index 105ae8b35ec8..000000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm +++ /dev/null @@ -1,154 +0,0 @@ -//Ranged -/obj/projectile/guardian//now featuring anime-accurate unpredictable richochet. Hit your master! Hit yourself! Salt in dchat when your own richochet puts you into crit. - name = "crystal spray" - icon_state = "guardian" - damage = 15 - damage_type = BRUTE - armour_penetration = 100 - ricochets_max = 2 - ricochet_chance = 65 - ricochet_auto_aim_range = 0 - ricochet_incidence_leeway = 50 - projectile_piercing = PASSMOB - -/mob/living/simple_animal/hostile/guardian/ranged - a_intent = INTENT_HELP - friendly_verb_continuous = "quietly assesses" - friendly_verb_simple = "quietly assess" - melee_damage_lower = 10 - melee_damage_upper = 10 - damage_coeff = list(BRUTE = 0.9, BURN = 0.9, TOX = 0.9, CLONE = 0.9, STAMINA = 0, OXY = 0.9) - projectiletype = /obj/projectile/guardian - ranged_cooldown_time = 1 //fast! - projectilesound = 'sound/effects/hit_on_shattered_glass.ogg' - ranged = 1 - range = 13 - playstyle_string = "As a ranged type, you have only light damage resistance, but are capable of spraying shards of crystal at incredibly high speed. You can also deploy surveillance snares to monitor enemy movement. Finally, you can switch to scout mode, in which you can't attack, but can move without limit." - magic_fluff_string = "..And draw the Sentinel, an alien master of ranged combat." - tech_fluff_string = "Boot sequence complete. Ranged combat modules active. Holoparasite swarm online." - carp_fluff_string = "CARP CARP CARP! Caught one, it's a ranged carp. This fishy can watch people pee in the ocean." - miner_fluff_string = "You encounter... Diamond, a powerful projectile thrower." - see_invisible = SEE_INVISIBLE_LIVING - see_in_dark = 8 - toggle_button_type = /atom/movable/screen/guardian/ToggleMode - var/list/snares = list() - var/toggle = FALSE - speed = -2//very fast! - -/mob/living/simple_animal/hostile/guardian/ranged/ToggleMode() - if(loc == summoner) - if(toggle) - ranged = initial(ranged) - melee_damage_lower = initial(melee_damage_lower) - melee_damage_upper = initial(melee_damage_upper) - obj_damage = initial(obj_damage) - environment_smash = initial(environment_smash) - alpha = 255 - range = initial(range) - to_chat(src, "You switch to combat mode.") - toggle = FALSE - else - ranged = 0 - melee_damage_lower = 0 - melee_damage_upper = 0 - obj_damage = 0 - environment_smash = ENVIRONMENT_SMASH_NONE - alpha = 45 - range = 255 - to_chat(src, "You switch to scout mode.") - toggle = TRUE - else - to_chat(src, "You have to be recalled to toggle modes!") - -/mob/living/simple_animal/hostile/guardian/ranged/Shoot(atom/targeted_atom) - . = ..() - if(istype(., /obj/projectile)) - var/obj/projectile/P = . - if(guardiancolor) - P.color = guardiancolor - -/mob/living/simple_animal/hostile/guardian/ranged/ToggleLight() - var/msg - switch(lighting_alpha) - if (LIGHTING_PLANE_ALPHA_VISIBLE) - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE - msg = "You activate your night vision." - if (LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE) - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - msg = "You increase your night vision." - if (LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE) - lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE - msg = "You maximize your night vision." - else - lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE - msg = "You deactivate your night vision." - - to_chat(src, "[msg]") - - -/mob/living/simple_animal/hostile/guardian/ranged/verb/Snare() - set name = "Set Surveillance Snare" - set category = "Guardian" - set desc = "Set an invisible snare that will alert you when living creatures walk over it. Max of 5" - if(snares.len <6) - var/turf/snare_loc = get_turf(loc) - var/obj/effect/snare/S = new /obj/effect/snare(snare_loc) - S.spawner = src - S.name = "[get_area(snare_loc)] snare ([rand(1, 1000)])" - snares |= S - to_chat(src, "Surveillance snare deployed!") - else - to_chat(src, "You have too many snares deployed. Remove some first.") - -/mob/living/simple_animal/hostile/guardian/ranged/verb/DisarmSnare() - set name = "Remove Surveillance Snare" - set category = "Guardian" - set desc = "Disarm unwanted surveillance snares." - var/picked_snare = input(src, "Pick which snare to remove", "Remove Snare") as null|anything in sortNames(snares) - if(picked_snare) - snares -= picked_snare - qdel(picked_snare) - to_chat(src, "Snare disarmed.") - -/obj/effect/snare - name = "snare" - desc = "You shouldn't be seeing this!" - var/mob/living/simple_animal/hostile/guardian/spawner - invisibility = INVISIBILITY_ABSTRACT - -/obj/effect/snare/Initialize() - . = ..() - var/static/list/loc_connections = list( - COMSIG_ATOM_ENTERED = PROC_REF(on_entered), - ) - AddElement(/datum/element/connect_loc, loc_connections) - - -/obj/effect/snare/proc/on_entered(datum/source, AM as mob|obj) - SIGNAL_HANDLER - if(isliving(AM) && spawner && spawner.summoner && AM != spawner && !spawner.hasmatchingsummoner(AM)) - to_chat(spawner.summoner, "[AM] has crossed surveillance snare, [name].") - var/list/guardians = spawner.summoner.hasparasites() - for(var/para in guardians) - to_chat(para, "[AM] has crossed surveillance snare, [name].") - -/obj/effect/snare/singularity_act() - return - -/obj/effect/snare/singularity_pull() - return - -/mob/living/simple_animal/hostile/guardian/ranged/Manifest(forced) - if (toggle) - incorporeal_move = INCORPOREAL_MOVE_BASIC - . = ..() - -/mob/living/simple_animal/hostile/guardian/ranged/Recall(forced) - // To stop scout mode from moving when recalled - incorporeal_move = FALSE - . = ..() - -/mob/living/simple_animal/hostile/guardian/ranged/AttackingTarget() - if(toggle) - return - ..() diff --git a/code/modules/mob/living/simple_animal/guardian/types/slime.dm b/code/modules/mob/living/simple_animal/guardian/types/slime.dm deleted file mode 100644 index bf38ffed2ef2..000000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/slime.dm +++ /dev/null @@ -1,73 +0,0 @@ -//Slime guardian- modified support guardian who has higher utility but is less potent in battle -/mob/living/simple_animal/hostile/guardian/slime - a_intent = INTENT_HARM - speed = 0 - damage_coeff = list(BRUTE = 0.7, BURN = 0.7, TOX = 0.7, CLONE = 0.7, STAMINA = 0, OXY = 0.7) - melee_damage_lower = 10 - melee_damage_upper = 10 - melee_damage_type = TOX - playstyle_string = "As a slime type, you can toggle between a weak combat mode, and a strong healing mode that nourishes and repairs damage. This mode also works on slimes. Be warned: You are more vulnerable to damage then most holoparasites." - magic_fluff_string = "..And draw the Xenobiologist, a purveyor of godlike power." - carp_fluff_string = "CARP CARP CARP! You caught a slimy carp. Gross, maybe you should throw this one back." - tech_fluff_string = "Boot sequence complete. Xenobiological support module active. Holoparasite swarm online." - miner_fluff_string = "You encounter... Slime, the master of xenobiology." - slime_fluff_string = "The crystal in your hand shatters into mist, which forms a strange, slimy figure!" - toggle_button_type = /atom/movable/screen/guardian/ToggleMode - var/toggle = FALSE - -/mob/living/simple_animal/hostile/guardian/slime/Initialize() - . = ..() - var/datum/atom_hud/medsensor = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] - medsensor.add_hud_to(src) - -/mob/living/simple_animal/hostile/guardian/slime/AttackingTarget() - . = ..() - if(is_deployed() && toggle && isslime(target)) - var/mob/living/simple_animal/slime/slime = target - slime.add_nutrition(rand(14, 30)) - slime.adjustHealth(10) - return - - if(is_deployed() && toggle && iscarbon(target)) - var/mob/living/carbon/C = target - C.adjustBruteLoss(-7) - C.adjustFireLoss(-7) - C.adjustOxyLoss(-7) - C.adjustToxLoss(-7) - C.adjustCloneLoss(-0.5) - C.adjust_nutrition(10) - var/obj/effect/temp_visual/heal/H = new /obj/effect/temp_visual/heal(get_turf(C)) - if(guardiancolor) - H.color = guardiancolor - if(C == summoner) - update_health_hud() - med_hud_set_health() - med_hud_set_status() - - if(is_deployed() && toggle == FALSE && iscarbon(target)) - if(prob(20)) - var/mob/living/carbon/D = target - D.Paralyze(25) - D.visible_message("\The [src] knocks down \the [D]!", \ - "\The [src] knocks you down!") - -/mob/living/simple_animal/hostile/guardian/slime/ToggleMode() - if(src.loc == summoner) - if(toggle) - a_intent = INTENT_HARM - speed = -1 - damage_coeff = list(BRUTE = 0.7, BURN = 0.7, TOX = 0.2, CLONE = 0.7, STAMINA = 0, OXY = 0.7) - melee_damage_lower = 15 - melee_damage_upper = 15 - to_chat(src, "Blorble... You switch to combat mode.") - toggle = FALSE - else - a_intent = INTENT_HELP - speed = 2 - damage_coeff = list(BRUTE = 1.2, BURN = 1.2, TOX = 0.7, CLONE = 1.2, STAMINA = 0, OXY = 1.2) - melee_damage_lower = 0 - melee_damage_upper = 0 - to_chat(src, "You switch to nourshing mode. Yummy.") - toggle = TRUE - else - to_chat(src, "You have to be recalled to toggle modes!") diff --git a/code/modules/mob/living/simple_animal/guardian/types/standard.dm b/code/modules/mob/living/simple_animal/guardian/types/standard.dm deleted file mode 100644 index 2528a0914717..000000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/standard.dm +++ /dev/null @@ -1,36 +0,0 @@ -//Standard -/mob/living/simple_animal/hostile/guardian/punch - melee_damage_lower = 20 - melee_damage_upper = 20 - obj_damage = 80 - next_move_modifier = 0.6 //attacks 40% faster - environment_smash = ENVIRONMENT_SMASH_WALLS - playstyle_string = "As a standard type you have no special abilities, but have a high damage resistance and a powerful attack capable of smashing through walls." - magic_fluff_string = "..And draw the Assistant, faceless and generic, but never to be underestimated." - tech_fluff_string = "Boot sequence complete. Standard combat modules loaded. Holoparasite swarm online." - carp_fluff_string = "CARP CARP CARP! You caught one! It's really boring and standard. Better punch some walls to ease the tension." - miner_fluff_string = "You encounter... Adamantine, a powerful attacker." - var/battlecry = "AT" - speed = 4//unlike funny jojo man, the punch ghost is actually balanced by their low mobility - -/mob/living/simple_animal/hostile/guardian/punch/verb/Battlecry() - set name = "Set Battlecry" - set category = "Guardian" - set desc = "Choose what you shout as you punch people." - var/input = stripped_input(src,"What do you want your battlecry to be? Max length of 6 characters.", ,"", 7) - if(input) - battlecry = input - - - -/mob/living/simple_animal/hostile/guardian/punch/AttackingTarget() - . = ..() - if(isliving(target)) - say("[battlecry][battlecry][battlecry][battlecry][battlecry][battlecry][battlecry][battlecry][battlecry][battlecry]!!", ignore_spam = TRUE) - playsound(loc, src.attack_sound, 50, TRUE, TRUE) - playsound(loc, src.attack_sound, 50, TRUE, TRUE) - playsound(loc, src.attack_sound, 50, TRUE, TRUE) - playsound(loc, src.attack_sound, 50, TRUE, TRUE) - if(isanimal(target)) - var/mob/living/C = target - C.apply_damage(35, BRUTE) diff --git a/code/modules/mob/living/simple_animal/guardian/types/support.dm b/code/modules/mob/living/simple_animal/guardian/types/support.dm deleted file mode 100644 index 57f1b1892f9d..000000000000 --- a/code/modules/mob/living/simple_animal/guardian/types/support.dm +++ /dev/null @@ -1,148 +0,0 @@ -//Healer -/mob/living/simple_animal/hostile/guardian/healer - a_intent = INTENT_HARM - friendly_verb_continuous = "heals" - friendly_verb_simple = "heal" - speed = 0 - damage_coeff = list(BRUTE = 0.7, BURN = 0.7, TOX = 0.7, CLONE = 0.7, STAMINA = 0, OXY = 0.7) - melee_damage_lower = 15 - melee_damage_upper = 15 - playstyle_string = "As a support type, you may toggle your basic attacks to a healing mode. In addition, Alt-Clicking on an adjacent object or mob will warp them to your bluespace beacon after a short delay." - magic_fluff_string = "..And draw the CMO, a potent force of life... and death." - carp_fluff_string = "CARP CARP CARP! You caught a support carp. It's a kleptocarp!" - tech_fluff_string = "Boot sequence complete. Support modules active. Holoparasite swarm online." - miner_fluff_string = "You encounter... Bluespace, the master of support." - toggle_button_type = /atom/movable/screen/guardian/ToggleMode - var/obj/structure/receiving_pad/beacon - var/beacon_cooldown = 0 - var/toggle = FALSE - -/mob/living/simple_animal/hostile/guardian/healer/Initialize() - . = ..() - var/datum/atom_hud/medsensor = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] - medsensor.add_hud_to(src) - -/mob/living/simple_animal/hostile/guardian/healer/get_status_tab_items() - . = ..() - if(beacon_cooldown >= world.time) - . += "Beacon Cooldown Remaining: [DisplayTimeText(beacon_cooldown - world.time)]" - -/mob/living/simple_animal/hostile/guardian/healer/AttackingTarget() - . = ..() - if(is_deployed() && toggle && iscarbon(target)) - var/mob/living/carbon/C = target - C.adjustBruteLoss(-5) - C.adjustFireLoss(-5) - C.adjustOxyLoss(-5) - C.adjustToxLoss(-5) - var/obj/effect/temp_visual/heal/H = new /obj/effect/temp_visual/heal(get_turf(C)) - if(guardiancolor) - H.color = guardiancolor - if(C == summoner) - update_health_hud() - med_hud_set_health() - med_hud_set_status() - -/mob/living/simple_animal/hostile/guardian/healer/ToggleMode() - if(src.loc == summoner) - if(toggle) - a_intent = INTENT_HARM - speed = -2 - damage_coeff = list(BRUTE = 0.7, BURN = 0.7, TOX = 0.7, CLONE = 0.7, STAMINA = 0, OXY = 0.7) - melee_damage_lower = 5 - melee_damage_upper = 5 - next_move_modifier = 0.3///attack as fast as you can click, but your actual hits are basically tickle damage :)) - to_chat(src, "You switch to combat mode.") - toggle = FALSE - else - a_intent = INTENT_HELP - speed = 1 - damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) - melee_damage_lower = 0 - melee_damage_upper = 0 - to_chat(src, "You switch to healing mode.") - toggle = TRUE - else - to_chat(src, "You have to be recalled to toggle modes!") - - -/mob/living/simple_animal/hostile/guardian/healer/verb/Beacon() - set name = "Place Bluespace Beacon" - set category = "Guardian" - set desc = "Mark a floor as your beacon point, allowing you to warp targets to it. Your beacon will not work at extreme distances." - - if(beacon_cooldown >= world.time) - to_chat(src, "Your power is on cooldown. You must wait five minutes between placing beacons.") - return - - var/turf/beacon_loc = get_turf(src.loc) - if(!isfloorturf(beacon_loc)) - return - - if(beacon) - beacon.disappear() - beacon = null - - beacon = new(beacon_loc, src) - - to_chat(src, "Beacon placed! You may now warp targets and objects to it, including your user, via Alt+Click.") - - beacon_cooldown = world.time + 3000 - -/obj/structure/receiving_pad - name = "bluespace receiving pad" - icon = 'icons/turf/floors.dmi' - desc = "A receiving zone for bluespace teleportations." - icon_state = "light_on_flicker-1" - light_range = MINIMUM_USEFUL_LIGHT_RANGE - density = FALSE - anchored = TRUE - layer = ABOVE_OPEN_TURF_LAYER - -/obj/structure/receiving_pad/New(loc, mob/living/simple_animal/hostile/guardian/healer/G) - . = ..() - if(G?.guardiancolor) - add_atom_colour(G.guardiancolor, FIXED_COLOUR_PRIORITY) - -/obj/structure/receiving_pad/proc/disappear() - visible_message("[src] vanishes!") - qdel(src) - -/mob/living/simple_animal/hostile/guardian/healer/AltClickOn(atom/movable/A) - if(!istype(A)) - return - if(src.loc == summoner) - to_chat(src, "You must be manifested to warp a target!") - return - if(!beacon) - to_chat(src, "You need a beacon placed to warp things!") - return - if(!Adjacent(A)) - to_chat(src, "You must be adjacent to your target!") - return - if(A.anchored) - to_chat(src, "Your target cannot be anchored!") - return - - var/turf/T = get_turf(A) - if(beacon.virtual_z() != T.virtual_z()) - to_chat(src, "The beacon is too far away to warp to!") - return - - to_chat(src, "You begin to warp [A].") - A.visible_message("[A] starts to glow faintly!", \ - "You start to faintly glow, and you feel strangely weightless!") - do_attack_animation(A) - - if(!do_after(src, 6 SECONDS, A)) //now start the channel - to_chat(src, "You need to hold still!") - return - - new /obj/effect/temp_visual/guardian/phase/out(T) - if(isliving(A)) - var/mob/living/L = A - L.flash_act() - A.visible_message("[A] disappears in a flash of light!", \ - "Your vision is obscured by a flash of light!") - do_teleport(A, beacon, 0, channel = TELEPORT_CHANNEL_BLUESPACE) - new /obj/effect/temp_visual/guardian/phase(get_turf(A)) diff --git a/code/modules/research/xenobiology/crossbreeding/mutative.dm b/code/modules/research/xenobiology/crossbreeding/mutative.dm index 6b58a7aa0c93..043e124641ab 100644 --- a/code/modules/research/xenobiology/crossbreeding/mutative.dm +++ b/code/modules/research/xenobiology/crossbreeding/mutative.dm @@ -25,8 +25,3 @@ /obj/item/slimecross/mutative/rainbow colour = "rainbow" effect_desc = "Hardens into a shard of slimy crystal. Prick yourself with it to bring forth a Slime Guardian." - -/obj/item/slimecross/mutative/rainbow/do_effect(mob/user) - user.visible_message("[src] collapses in a chromatic flash, transforming into jagged crystal!") - new /obj/item/guardiancreator/slime(get_turf(user)) - ..() diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index 10fd45bab177..9888384d59cb 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -10,7 +10,6 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( /obj/machinery/quantumpad, /obj/effect/mob_spawn, /obj/effect/hierophant, - /obj/structure/receiving_pad, /obj/item/warp_cube, /obj/machinery/rnd/production, //print tracking beacons, send shuttle /obj/machinery/autolathe, //same diff --git a/code/modules/spells/spell_types/pointed/mind_transfer.dm b/code/modules/spells/spell_types/pointed/mind_transfer.dm index 5b069756864d..04a91f09b5e4 100644 --- a/code/modules/spells/spell_types/pointed/mind_transfer.dm +++ b/code/modules/spells/spell_types/pointed/mind_transfer.dm @@ -34,10 +34,6 @@ if(!silent) to_chat(user, "[victim.p_their(TRUE)] mind is resisting your spell!") return FALSE - if(istype(victim, /mob/living/simple_animal/hostile/guardian)) - var/mob/living/simple_animal/hostile/guardian/stand = victim - if(stand.summoner) - victim = stand.summoner //MIND TRANSFER BEGIN var/mob/dead/observer/ghost = victim.ghostize() @@ -84,11 +80,4 @@ if(!silent) to_chat(user, "[t_He] appear[victim.p_s()] to be catatonic! Not even magic can affect [victim.p_their()] vacant mind.") return FALSE - if(istype(victim, /mob/living/simple_animal/hostile/guardian)) - var/mob/living/simple_animal/hostile/guardian/stand = victim - if(stand.summoner) - if(stand.summoner == user) - if(!silent) - to_chat(user, "Swapping minds with your own guardian would just put you back into your own head!") - return FALSE return TRUE diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 5566c11f7575..4bfe534940f1 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -445,16 +445,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/clothing/gloves/rapid cost = 8 -/datum/uplink_item/dangerous/guardian - name = "Holoparasites" - desc = "Though capable of near sorcerous feats via use of hardlight holograms and nanomachines, they require an \ - organic host as a home base and source of fuel. Holoparasites come in various types and share damage with their host." - item = /obj/item/storage/box/syndie_kit/guardian - cost = 18 - surplus = 0 - exclude_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) - restricted = TRUE - /datum/uplink_item/dangerous/machinegun name = "L6 Squad Automatic Weapon" desc = "A fully-loaded Aussec Armoury belt-fed machine gun. \ diff --git a/shiptest.dme b/shiptest.dme index 15c571bae926..3b8fff05dd64 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -287,7 +287,6 @@ #include "code\_onclick\hud\fullscreen.dm" #include "code\_onclick\hud\generic_dextrous.dm" #include "code\_onclick\hud\ghost.dm" -#include "code\_onclick\hud\guardian.dm" #include "code\_onclick\hud\holograms.dm" #include "code\_onclick\hud\hud.dm" #include "code\_onclick\hud\human.dm" @@ -2685,19 +2684,6 @@ #include "code\modules\mob\living\simple_animal\friendly\drone\inventory.dm" #include "code\modules\mob\living\simple_animal\friendly\drone\verbs.dm" #include "code\modules\mob\living\simple_animal\friendly\drone\visuals_icons.dm" -#include "code\modules\mob\living\simple_animal\guardian\guardian.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\assassin.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\charger.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\dextrous.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\explosive.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\fire.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\gravitokinetic.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\lightning.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\protector.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\ranged.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\slime.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\standard.dm" -#include "code\modules\mob\living\simple_animal\guardian\types\support.dm" #include "code\modules\mob\living\simple_animal\hostile\abandoned_minebot.dm" #include "code\modules\mob\living\simple_animal\hostile\alien.dm" #include "code\modules\mob\living\simple_animal\hostile\bear.dm" From ba5fc3d838c8c6732d20dca415ae051fa4434593 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Tue, 15 Oct 2024 07:06:05 -0400 Subject: [PATCH 050/344] Smoking Pipe On Sprites for Vox (#3557) ## About The Pull Request Adds compatibility for smoking pipes for Vox. https://github.com/user-attachments/assets/b573f58a-8481-4f51-8c5a-e4ae24b783aa ## Why It's Good For The Game These already had sprites for wearing them while unlit, it was jarring to light your smoking pipe and have it levitate a foot away from your face. ## Changelog :cl: add: Active smoking pipe sprites for Vox. /:cl: --- icons/mob/species/vox/onmob_mask_vox.dmi | Bin 38542 -> 34172 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/species/vox/onmob_mask_vox.dmi b/icons/mob/species/vox/onmob_mask_vox.dmi index 7aa3dfb2e046a2f7eb5b1e62873eec50a82b0bfa..cbc8eed5c4ac1b27e382195d113646d233ea2211 100644 GIT binary patch literal 34172 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 z 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 literal 38542 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 Rd Date: Tue, 15 Oct 2024 07:06:11 -0400 Subject: [PATCH 051/344] Reduces the chance for grenades to go off in your hands (#3441) ## About The Pull Request This change reduces the probability of a grenade blowing up in one's hands from 15% down to 5%. Please let me know if this probability is too low. I just chose an oddball low number to use. The check was also modified so that the dice roll is only made if a projectile hits a hand holding a grenade. ## Why It's Good For The Game It always felt a little too high of a chance to me. The probability roll happens for _each_ projectile that one gets hit with, and with how often and how rapidly one can be hit in a firefight here, the chance of it blowing up in ones hands goes from being somewhat unlikely to being more likely to happen than not. ![image](https://github.com/user-attachments/assets/4a88545b-768d-480d-b8a1-38df915e1ea2) This calculator gives the probability of the event occurring as being 68% likely, if one were shot 7 times. This is around how many shots it takes to bring someone down, on average, from my anecdotal experience. This currently has the effect of making grenades useful in only a few very specific scenarios. If the probability of this were to go down, it would encourage the use of grenades more, which I feel can enhance fights. ## Changelog :cl: balance: rebalanced the probability of a grenade going off in one's hands /:cl: --- code/game/objects/items/grenades/grenade.dm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/grenades/grenade.dm b/code/game/objects/items/grenades/grenade.dm index f0198b7f1a0b..fb19cfe31700 100644 --- a/code/game/objects/items/grenades/grenade.dm +++ b/code/game/objects/items/grenades/grenade.dm @@ -150,7 +150,18 @@ /obj/item/grenade/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) var/obj/projectile/P = hitby - if(damage && attack_type == PROJECTILE_ATTACK && P.damage_type != STAMINA && prob(15)) + var/list/valid_hands = list(FALSE, FALSE) + + //checks if the projectile hits an arm holding a grenade + if (istype(owner.held_items[1], (/obj/item/grenade))) + if (P.def_zone == "l_arm") + valid_hands[1] = TRUE + + if (istype(owner.held_items[2], (/obj/item/grenade))) + if (P.def_zone == "r_arm") + valid_hands[2] = TRUE + + if(damage && attack_type == PROJECTILE_ATTACK && P.damage_type != STAMINA && (valid_hands[1] || valid_hands[2]) && prob(5)) //5% chance to go off owner.visible_message("[attack_text] hits [owner]'s [src], setting it off! What a shot!") var/turf/T = get_turf(src) log_game("A projectile ([hitby]) detonated a grenade held by [key_name(owner)] at [COORD(T)]") From 75650db0b9547b8ef093ac47db20934d0eb80779 Mon Sep 17 00:00:00 2001 From: Apogee-dev <60533805+Apogee-dev@users.noreply.github.com> Date: Tue, 15 Oct 2024 04:06:47 -0700 Subject: [PATCH 052/344] IRMG Enforcers get hardsuits (#3508) ## About The Pull Request ![vaquero](https://github.com/user-attachments/assets/1271256e-c9ea-45fd-b543-19ff8618eed6) ![valor_closet](https://github.com/user-attachments/assets/20da7bef-ce7a-4dd2-819b-b61e68d80e8e) Adds enough hardsuits for every Enforcer on the Valor and the Vaquero. Also, improves the Vaquero's dorm room layout. ## Why It's Good For The Game enforcers should probably have space armor ## Changelog :cl: balance: Valor and Vaquero have combat hardsuits for their enforcers now /:cl: --- _maps/shuttles/inteq/inteq_valor.dmm | 131 ++-- _maps/shuttles/inteq/inteq_vaquero.dmm | 801 ++++++++++++++----------- 2 files changed, 531 insertions(+), 401 deletions(-) diff --git a/_maps/shuttles/inteq/inteq_valor.dmm b/_maps/shuttles/inteq/inteq_valor.dmm index 247743c165bf..00b25f936eab 100644 --- a/_maps/shuttles/inteq/inteq_valor.dmm +++ b/_maps/shuttles/inteq/inteq_valor.dmm @@ -100,6 +100,8 @@ /obj/machinery/suit_storage_unit/inherit, /obj/effect/turf_decal/industrial/outline/yellow, /obj/machinery/light/small/directional/north, +/obj/item/clothing/suit/space/inteq, +/obj/item/clothing/head/helmet/space/inteq, /turf/open/floor/plasteel, /area/ship/crew/office) "bx" = ( @@ -663,6 +665,7 @@ /obj/item/clothing/glasses/hud/security/sunglasses/inteq, /obj/item/clothing/head/helmet/swat/inteq, /obj/item/clothing/mask/gas/sechailer, +/obj/item/radio/intercom/directional/north, /turf/open/floor/plasteel, /area/ship/crew/office) "gb" = ( @@ -746,8 +749,8 @@ "gq" = ( /obj/machinery/light_switch{ dir = 1; - pixel_y = -20; - pixel_x = -3 + pixel_x = -3; + pixel_y = -20 }, /turf/open/floor/plasteel/mono/dark, /area/ship/cargo) @@ -1042,14 +1045,32 @@ /turf/open/floor/plating, /area/ship/medical/surgery) "jN" = ( -/obj/structure/chair/office, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 }, -/obj/effect/turf_decal/corner/transparent/inteqbrown/half, -/turf/open/floor/plasteel, -/area/ship/crew/office) +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/obj/structure/rack, +/obj/item/storage/belt/security/webbing/inteq{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/storage/belt/security/webbing/inteq{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/item/clothing/head/helmet/inteq{ + pixel_x = -9; + pixel_y = 6 + }, +/obj/item/clothing/head/helmet/inteq{ + pixel_x = -7 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) "jQ" = ( /obj/structure/catwalk/over/plated_catwalk, /obj/machinery/light/directional/east, @@ -1087,8 +1108,8 @@ }, /obj/machinery/light_switch{ dir = 1; - pixel_y = -20; - pixel_x = 4 + pixel_x = 4; + pixel_y = -20 }, /turf/open/floor/plasteel/patterned/ridged, /area/ship/medical) @@ -1178,22 +1199,8 @@ /obj/structure/reagent_dispensers/peppertank{ pixel_y = 28 }, -/obj/structure/rack, -/obj/item/storage/belt/security/webbing/inteq{ - pixel_x = 6; - pixel_y = 8 - }, -/obj/item/storage/belt/security/webbing/inteq{ - pixel_x = 8; - pixel_y = 4 - }, -/obj/item/clothing/head/helmet/inteq{ - pixel_x = -9; - pixel_y = 6 - }, -/obj/item/clothing/head/helmet/inteq{ - pixel_x = -7 - }, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, /turf/open/floor/plasteel/dark, /area/ship/security) "kL" = ( @@ -1296,15 +1303,18 @@ /area/ship/crew/canteen) "lN" = ( /obj/structure/table, -/obj/machinery/door/window/southleft, +/obj/item/paper_bin, +/obj/structure/window/reinforced, /obj/structure/window/reinforced{ - dir = 8 + dir = 4 }, /obj/machinery/door/firedoor/border_only, /obj/machinery/door/firedoor/border_only{ dir = 1 }, /obj/effect/turf_decal/corner/transparent/inteqbrown/full, +/obj/item/folder/yellow, +/obj/item/pen, /turf/open/floor/plasteel/patterned, /area/ship/crew/office) "lW" = ( @@ -1995,9 +2005,6 @@ /area/ship/maintenance/port) "rY" = ( /obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 4 - }, /obj/effect/turf_decal/corner/opaque/brown{ dir = 8 }, @@ -2008,7 +2015,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 10 }, -/obj/machinery/airalarm/directional/east, /turf/open/floor/plasteel/dark, /area/ship/security) "sb" = ( @@ -2598,11 +2604,9 @@ /area/ship/medical) "xr" = ( /obj/structure/table, -/obj/item/paper_bin, -/obj/item/pen, -/obj/structure/window/reinforced, +/obj/machinery/door/window/southleft, /obj/structure/window/reinforced{ - dir = 4 + dir = 8 }, /obj/machinery/door/firedoor/border_only, /obj/machinery/door/firedoor/border_only{ @@ -2938,7 +2942,6 @@ dir = 1 }, /obj/effect/turf_decal/steeldecal/steel_decals_central7, -/obj/machinery/airalarm/directional/north, /obj/structure/cable{ icon_state = "4-8" }, @@ -3092,14 +3095,10 @@ /turf/template_noop, /area/template_noop) "BC" = ( -/obj/structure/filingcabinet/double, /obj/structure/sign/poster/official/help_others{ pixel_y = 32 }, -/obj/effect/turf_decal/corner/transparent/inteqbrown/border{ - dir = 1 - }, -/turf/open/floor/plasteel, +/turf/closed/wall/mineral/plastitanium, /area/ship/crew/office) "BL" = ( /obj/effect/turf_decal/corner/opaque/brown{ @@ -3592,10 +3591,11 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "Gm" = ( +/obj/effect/turf_decal/corner/transparent/inteqbrown/half, /obj/structure/cable{ - icon_state = "4-8" + icon_state = "0-4" }, -/obj/effect/turf_decal/corner/transparent/inteqbrown/half, +/obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/plasteel, /area/ship/crew/office) "Go" = ( @@ -4671,8 +4671,8 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, -/obj/item/radio/intercom/directional/south, /obj/effect/turf_decal/corner/transparent/inteqbrown/half, +/obj/structure/chair/office, /turf/open/floor/plasteel, /area/ship/crew/office) "Qw" = ( @@ -4754,7 +4754,26 @@ /turf/open/floor/plasteel/dark, /area/ship/medical/surgery) "Rh" = ( -/turf/closed/wall/mineral/plastitanium, +/obj/structure/sign/poster/official/safety_report{ + pixel_x = 32 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/structure/rack, +/obj/item/storage/box/ammo/c9mm_rubber{ + pixel_x = 5; + pixel_y = 10 + }, +/obj/item/storage/box/ammo/c9mm{ + pixel_x = -2; + pixel_y = 2 + }, +/turf/open/floor/plasteel/dark, /area/ship/security) "RA" = ( /obj/item/storage/backpack/messenger/inteq, @@ -4834,6 +4853,7 @@ /obj/structure/cable{ icon_state = "4-8" }, +/obj/machinery/airalarm/directional/north, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/port) "Sh" = ( @@ -5073,15 +5093,10 @@ /obj/effect/turf_decal/corner/opaque/brown{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/structure/rack, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/item/storage/box/ammo/c9mm_rubber, -/obj/item/storage/box/ammo/c9mm, /obj/machinery/light/small/directional/north, -/obj/structure/sign/poster/official/safety_report{ - pixel_x = 32 - }, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, /turf/open/floor/plasteel/dark, /area/ship/security) "Vy" = ( @@ -5897,7 +5912,7 @@ SL (11,1,1) = {" Zu Rh -Rh +jN Zu uB ua @@ -5930,8 +5945,8 @@ SL (12,1,1) = {" tZ BC -jN -lN +oO +oO gh zs fN @@ -5997,7 +6012,7 @@ SL tZ mG Qo -tZ +lN An Sd HC diff --git a/_maps/shuttles/inteq/inteq_vaquero.dmm b/_maps/shuttles/inteq/inteq_vaquero.dmm index 662ce9c5e3d6..9ea8b60d9b89 100644 --- a/_maps/shuttles/inteq/inteq_vaquero.dmm +++ b/_maps/shuttles/inteq/inteq_vaquero.dmm @@ -51,12 +51,13 @@ /turf/open/floor/plasteel/dark, /area/ship/security) "bg" = ( -/obj/structure/railing{ - dir = 8 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/box/corners{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/stairs, +/obj/structure/weightmachine/weightlifter, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "bi" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -72,6 +73,19 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/plasteel/tech, /area/ship/maintenance/starboard) +"bl" = ( +/obj/structure/closet/crate/freezer/blood, +/obj/machinery/iv_drip, +/obj/machinery/light/small/directional/south, +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/medical) "bn" = ( /obj/machinery/power/smes/shuttle/precharged{ dir = 4 @@ -87,14 +101,13 @@ /turf/open/floor/engine/hull/reinforced, /area/ship/maintenance/port) "bq" = ( -/obj/effect/turf_decal/box/corners, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, /obj/item/trash/energybar, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "bt" = ( @@ -110,7 +123,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/computer/helm/viewscreen/directional/south, /turf/open/floor/plasteel/grimy, /area/ship/crew) "bz" = ( @@ -136,12 +148,15 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "bL" = ( -/obj/structure/bed, -/obj/structure/curtain/bounty, -/obj/item/bedsheet/brown, /obj/structure/sign/poster/clip/lanchester{ pixel_y = -32 }, +/obj/machinery/light/small/directional/east, +/obj/effect/spawner/bunk_bed, +/obj/structure/curtain/bounty, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, /turf/open/floor/carpet/black, /area/ship/crew) "ce" = ( @@ -173,12 +188,17 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, /area/ship/security) -"dq" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 +"cH" = ( +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/tech, +/area/ship/security) +"dq" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) @@ -268,9 +288,6 @@ /obj/item/gun/ballistic/automatic/pistol/commander/inteq{ pixel_y = -5 }, -/obj/structure/sign/poster/contraband/peacemaker{ - pixel_x = 32 - }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/tech/grid, /area/ship/security) @@ -323,6 +340,7 @@ dir = 10 }, /obj/effect/decal/cleanable/oil/streak, +/obj/effect/turf_decal/box/corners, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "fI" = ( @@ -344,7 +362,7 @@ /area/ship/security) "fJ" = ( /turf/closed/wall/mineral/plastitanium, -/area/ship/security) +/area/ship/medical) "fV" = ( /obj/structure/catwalk/over/plated_catwalk, /obj/structure/cable{ @@ -362,6 +380,13 @@ /obj/structure/railing/corner, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) +"fZ" = ( +/obj/structure/marker_beacon{ + picked_color = "Yellow" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) "gh" = ( /obj/machinery/photocopier, /obj/effect/turf_decal/corner/opaque/brown{ @@ -385,27 +410,11 @@ /obj/effect/turf_decal/industrial/traffic{ dir = 1 }, -/obj/structure/cable{ - icon_state = "4-8" - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/button/shieldwallgen{ - dir = 1; - id = "vaquero_cargo"; - pixel_x = 5; - pixel_y = -19 - }, -/obj/machinery/button/door{ - dir = 1; - id = "vaquero_cargo"; - name = "Cargo Door Control"; - pixel_x = -4; - pixel_y = -20 + dir = 4 }, -/obj/effect/turf_decal/industrial/caution{ - dir = 1 +/obj/structure/cable{ + icon_state = "4-8" }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) @@ -425,17 +434,9 @@ /obj/item/pickaxe/mini, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/siding/thinplating/dark, -/obj/structure/extinguisher_cabinet/directional/north, +/obj/item/radio/intercom/directional/north, /turf/open/floor/plasteel/tech, /area/ship/cargo) -"gO" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external/dark) "gY" = ( /obj/structure/table/reinforced, /obj/item/spacecash/bundle/c500, @@ -568,13 +569,12 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/office) "if" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/patterned, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/airalarm/directional/east, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/inteq, +/obj/item/clothing/head/helmet/space/inteq, +/turf/open/floor/plasteel/tech, /area/ship/cargo) "iu" = ( /obj/structure/cable{ @@ -658,6 +658,9 @@ /turf/open/floor/plasteel/dark, /area/ship/security) "jg" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, /turf/open/floor/carpet/black, /area/ship/crew) "jw" = ( @@ -702,12 +705,9 @@ /turf/open/floor/plasteel/dark, /area/ship/bridge) "jE" = ( -/obj/structure/bed, -/obj/structure/curtain/bounty, -/obj/item/bedsheet/brown, -/obj/machinery/light/small/directional/east, -/obj/machinery/airalarm/directional/north, /obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/bunk_bed, +/obj/structure/curtain/bounty, /turf/open/floor/carpet/black, /area/ship/crew) "jI" = ( @@ -814,7 +814,7 @@ /obj/item/clothing/suit/space/inteq, /obj/item/clothing/head/helmet/space/inteq, /obj/effect/turf_decal/siding/thinplating/dark, -/obj/item/radio/intercom/directional/north, +/obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/plasteel/tech, /area/ship/cargo) "lm" = ( @@ -862,16 +862,23 @@ /turf/open/floor/plasteel/tech, /area/ship/maintenance/starboard) "lL" = ( -/obj/structure/closet/crate/freezer/blood, -/obj/machinery/iv_drip, -/obj/machinery/light/small/directional/south, -/obj/item/radio/intercom/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 10 + }, +/obj/machinery/firealarm/directional/west, /obj/effect/turf_decal/steeldecal/steel_decals10{ dir = 5 }, /obj/effect/turf_decal/steeldecal/steel_decals10{ dir = 6 }, +/obj/structure/bed, /turf/open/floor/plasteel/patterned/brushed, /area/ship/medical) "lU" = ( @@ -934,7 +941,6 @@ /obj/machinery/suit_storage_unit/inherit, /obj/item/clothing/suit/space/inteq, /obj/item/clothing/head/helmet/space/inteq, -/obj/machinery/airalarm/directional/east, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/siding/thinplating/dark, /turf/open/floor/plasteel/tech, @@ -957,10 +963,22 @@ /obj/effect/turf_decal/trimline/opaque/yellow/warning{ dir = 1 }, -/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) "nm" = ( +/obj/docking_port/mobile{ + dir = 2; + launch_status = 0; + port_direction = 8; + preferred_direction = 4 + }, +/obj/machinery/porta_turret/ship/inteq{ + dir = 5; + id = "vaquero_grid" + }, /turf/closed/wall/mineral/plastitanium, /area/ship/medical) "ox" = ( @@ -1073,12 +1091,21 @@ /turf/closed/wall/mineral/plastitanium, /area/ship/crew/office) "qE" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/structure/cable{ + icon_state = "0-8" }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external/dark) +/obj/machinery/power/shieldwallgen/atmos{ + anchored = 1; + id = "vaquero_cargo"; + locked = 1 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "vaquero_cargo" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/cargo) "qQ" = ( /obj/structure/cable{ icon_state = "1-2" @@ -1130,6 +1157,11 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/machinery/light/small/directional/east, /obj/item/trash/chips, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -10 + }, /turf/open/floor/plasteel/grimy, /area/ship/crew) "rD" = ( @@ -1143,6 +1175,13 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/carpet/orange, /area/ship/bridge) +"rP" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) "sm" = ( /obj/structure/cable{ icon_state = "1-2" @@ -1270,11 +1309,29 @@ }, /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/security) +"vs" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/box/corners, +/obj/structure/closet/crate, +/obj/item/stack/sheet/glass/twenty, +/obj/item/stack/sheet/metal/twenty, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) +"vw" = ( +/obj/structure/marker_beacon{ + picked_color = "Yellow" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) "vN" = ( /turf/open/floor/plasteel/patterned, /area/ship/cargo) "vT" = ( /obj/effect/turf_decal/trimline/opaque/yellow/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) "vU" = ( @@ -1307,20 +1364,17 @@ /turf/template_noop, /area/template_noop) "wy" = ( -/obj/effect/turf_decal/box/corners, -/obj/structure/closet/crate, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/item/stack/sheet/metal/twenty, -/obj/item/stack/sheet/glass/twenty, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "wI" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, /obj/structure/weightmachine/weightlifter, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "wU" = ( @@ -1485,27 +1539,23 @@ /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "zr" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 + dir = 5 }, -/obj/machinery/light/directional/east, +/obj/effect/turf_decal/box/corners, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "zG" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 +/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/machinery/door/poddoor{ + dir = 4; + id = "vaquero_cargo" }, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external/dark) +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/cargo) "zM" = ( /obj/machinery/power/terminal{ dir = 8 @@ -1586,13 +1636,12 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 }, -/obj/machinery/newscaster/directional/south, /turf/open/floor/plasteel/grimy, /area/ship/crew) "Am" = ( @@ -1666,22 +1715,33 @@ /turf/open/floor/plasteel/tech, /area/ship/maintenance/port) "Bj" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external/dark) -"Bl" = ( +/obj/effect/turf_decal/industrial/warning/fulltile, /obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/corner/opaque/yellow, -/obj/effect/turf_decal/corner/opaque/brown{ - dir = 8 + icon_state = "0-8" }, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/security) +/obj/machinery/power/shieldwallgen/atmos{ + anchored = 1; + dir = 1; + id = "vaquero_cargo"; + locked = 1 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "vaquero_cargo" + }, +/turf/open/floor/engine/hull/reinforced/interior, +/area/ship/cargo) +"Bl" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/security) "Bu" = ( /obj/structure/closet/wall/directional/north{ icon_door = "grey_wall" @@ -1756,6 +1816,19 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) +"Ch" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/patterned, +/area/ship/cargo) "Ci" = ( /obj/structure/filingcabinet/chestdrawer, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, @@ -1771,12 +1844,13 @@ /turf/open/floor/plasteel/dark, /area/ship/security) "Cl" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/poddoor{ - dir = 4; - id = "vaquero_cargo" +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 }, -/turf/open/floor/engine/hull/reinforced/interior, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "Cq" = ( /turf/closed/wall/mineral/plastitanium, @@ -1874,7 +1948,6 @@ }, /obj/effect/turf_decal/siding/thinplating/dark, /obj/machinery/firealarm/directional/south, -/obj/item/radio/intercom/directional/east, /turf/open/floor/plasteel/tech, /area/ship/security) "Dh" = ( @@ -1953,33 +2026,21 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "Ex" = ( +/obj/structure/catwalk/over/plated_catwalk, /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/door/airlock/medical/glass{ - dir = 4; - name = "Infirmary" - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 1 }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 }, -/obj/machinery/door/firedoor/border_only{ +/obj/structure/railing/corner{ dir = 8 }, -/turf/open/floor/plasteel/tech, -/area/ship/medical) +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) "EB" = ( /obj/machinery/door/window/northleft{ dir = 8; @@ -2071,51 +2132,31 @@ /obj/machinery/computer/helm/viewscreen/directional/south, /turf/open/floor/plasteel/dark, /area/ship/crew/office) +"FO" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/security) "Gq" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/crew) "GB" = ( -/obj/machinery/door/airlock{ - name = "Dormitory" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 +/obj/structure/table, +/obj/item/flashlight/lamp/green, +/obj/machinery/newscaster/directional/west, +/obj/structure/window/reinforced{ + dir = 1 }, -/turf/open/floor/plasteel/grimy, +/turf/open/floor/carpet/black, /area/ship/crew) "GI" = ( -/obj/structure/weightmachine/weightlifter, /obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "GQ" = ( -/obj/item/clothing/under/syndicate/inteq, -/obj/item/clothing/under/syndicate/inteq, -/obj/item/clothing/under/syndicate/inteq, -/obj/item/clothing/under/syndicate/inteq/skirt, -/obj/item/clothing/under/syndicate/inteq/skirt, -/obj/item/clothing/under/syndicate/inteq/skirt, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/sneakers/black, -/obj/item/clothing/shoes/sneakers/black, -/obj/item/clothing/shoes/sneakers/black, -/obj/structure/closet/wall/directional/north{ - icon_door = "orange_wall"; - name = "uniform closet" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/carpet/black, /area/ship/crew) "Ha" = ( @@ -2179,36 +2220,15 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/security) "HN" = ( -/obj/structure/closet/secure_closet/wall/directional/north{ - icon_door = "med_wall"; - name = "medical locker"; - req_access_txt = "5" - }, -/obj/item/storage/firstaid/regular{ - pixel_x = 6; - pixel_y = 3 - }, -/obj/item/storage/firstaid/toxin{ - pixel_x = 2; - pixel_y = 1 - }, -/obj/item/storage/firstaid/fire{ - pixel_x = -2; - pixel_y = -1 - }, -/obj/item/storage/firstaid/advanced{ - pixel_x = -6; - pixel_y = -3 - }, -/obj/structure/sink{ - dir = 8; - pixel_x = 12 +/obj/structure/cable{ + icon_state = "0-8" }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/obj/structure/sign/poster/official/cleanliness{ - pixel_x = 32 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -2230,7 +2250,7 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 1 }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /turf/open/floor/plasteel/grimy, /area/ship/crew) "In" = ( @@ -2425,23 +2445,17 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/box/corners, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "LW" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - id = "vaquero_cargo"; - locked = 1 +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "vaquero_cargo" +/obj/structure/cable{ + icon_state = "2-4" }, -/turf/open/floor/engine/hull/reinforced/interior, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "Me" = ( /obj/structure/railing{ @@ -2521,12 +2535,19 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "NO" = ( -/obj/machinery/porta_turret/ship/inteq{ - dir = 6; - id = "vaquero_grid" +/obj/structure/railing, +/obj/structure/cable{ + icon_state = "4-8" }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/security) +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) "NR" = ( /obj/structure/cable{ icon_state = "1-8" @@ -2642,21 +2663,20 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/office) "Pn" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, +/obj/effect/turf_decal/industrial/traffic/corner{ + dir = 1 + }, /obj/structure/cable{ - icon_state = "0-8" + icon_state = "1-8" }, -/obj/machinery/power/shieldwallgen/atmos{ - anchored = 1; - dir = 1; - id = "vaquero_cargo"; - locked = 1 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "vaquero_cargo" +/obj/structure/sign/warning/incident{ + pixel_y = -30 }, -/turf/open/floor/engine/hull/reinforced/interior, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned, /area/ship/cargo) "Pp" = ( /obj/machinery/power/smes/engineering, @@ -2672,23 +2692,40 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/office) "PD" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 +/obj/structure/closet/secure_closet/wall/directional/north{ + icon_door = "med_wall"; + name = "medical locker"; + req_access_txt = "5" }, -/obj/item/storage/backpack/duffelbag/med/surgery, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20; - pixel_y = 10 +/obj/item/storage/firstaid/regular{ + pixel_x = 6; + pixel_y = 3 }, -/obj/machinery/firealarm/directional/west, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 +/obj/item/storage/firstaid/toxin{ + pixel_x = 2; + pixel_y = 1 }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 +/obj/item/storage/firstaid/fire{ + pixel_x = -2; + pixel_y = -1 + }, +/obj/item/storage/firstaid/advanced{ + pixel_x = -6; + pixel_y = -3 + }, +/obj/structure/sink{ + dir = 8; + pixel_x = 12 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/sign/poster/official/cleanliness{ + pixel_x = 32 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 }, -/obj/structure/bed, /turf/open/floor/plasteel/patterned/brushed, /area/ship/medical) "Qy" = ( @@ -2791,26 +2828,45 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/office) "RU" = ( -/obj/structure/dresser, -/obj/machinery/firealarm/directional/west, /obj/item/radio/intercom/directional/south, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/west, +/obj/structure/closet/wardrobe/orange{ + name = "uniform wardrobe"; + populate = 0 + }, +/obj/item/storage/backpack/messenger/inteq, +/obj/item/storage/backpack/messenger/inteq, +/obj/item/storage/backpack/messenger/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, /turf/open/floor/carpet/black, /area/ship/crew) "RX" = ( /obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, +/obj/structure/railing, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "Sc" = ( @@ -2830,6 +2886,9 @@ /area/ship/hallway/central) "Tc" = ( /obj/structure/ore_box, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Ti" = ( @@ -2843,11 +2902,9 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "Tn" = ( -/obj/machinery/suit_storage_unit/inherit, -/obj/item/clothing/suit/space/inteq, -/obj/item/clothing/head/helmet/space/inteq, /obj/machinery/light/directional/north, /obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/rack, /turf/open/floor/plasteel/tech, /area/ship/cargo) "TC" = ( @@ -2859,8 +2916,8 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/turretid/ship{ - pixel_y = 26; - id = "vaquero_grid" + id = "vaquero_grid"; + pixel_y = 26 }, /turf/open/floor/plasteel/dark, /area/ship/bridge) @@ -2905,62 +2962,58 @@ /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "TX" = ( -/obj/item/storage/backpack/messenger/inteq, -/obj/item/storage/backpack/messenger/inteq, -/obj/item/storage/backpack/messenger/inteq, -/obj/item/clothing/head/beret/sec/inteq, -/obj/item/clothing/head/beret/sec/inteq, -/obj/item/clothing/head/beret/sec/inteq, -/obj/item/clothing/head/soft/inteq, -/obj/item/clothing/head/soft/inteq, -/obj/item/clothing/head/soft/inteq, -/obj/structure/closet/wall/directional/north{ - icon_door = "orange_wall"; - name = "uniform closet" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/item/clothing/suit/hooded/wintercoat/security/inteq, -/obj/item/clothing/suit/hooded/wintercoat/security/inteq, -/obj/item/clothing/suit/hooded/wintercoat/security/inteq, -/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, -/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, -/obj/item/clothing/suit/hooded/wintercoat/security/inteq/alt, /turf/open/floor/carpet/black, /area/ship/crew) "Uf" = ( -/obj/structure/table, -/obj/item/flashlight/lamp/green, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, /turf/open/floor/carpet/black, /area/ship/crew) "Ul" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/bridge) "Ur" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 +/obj/structure/closet/wardrobe/orange{ + name = "uniform wardrobe"; + populate = 0 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 +/obj/item/clothing/under/syndicate/inteq, +/obj/item/clothing/under/syndicate/inteq, +/obj/item/clothing/under/syndicate/inteq, +/obj/item/clothing/under/syndicate/inteq/skirt, +/obj/item/clothing/under/syndicate/inteq/skirt, +/obj/item/clothing/under/syndicate/inteq/skirt, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/shoes/sneakers/black, +/obj/item/clothing/shoes/sneakers/black, +/turf/open/floor/carpet/black, +/area/ship/crew) +"Uy" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/dresser{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 1 }, -/obj/machinery/light/small/directional/west, /turf/open/floor/carpet/black, /area/ship/crew) "UO" = ( -/obj/docking_port/mobile{ - dir = 2; - launch_status = 0; - port_direction = 8; - preferred_direction = 4 - }, -/obj/machinery/porta_turret/ship/inteq{ - dir = 5; - id = "vaquero_grid" +/obj/structure/railing{ + dir = 8 }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/medical) +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/stairs, +/area/ship/cargo) "UV" = ( /obj/machinery/door/airlock/public/glass{ dir = 4; @@ -3042,13 +3095,24 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) +"VZ" = ( +/obj/machinery/porta_turret/ship/inteq{ + dir = 6; + id = "vaquero_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/security) "Wd" = ( -/obj/structure/marker_beacon{ - picked_color = "Yellow" +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) +"Wl" = ( +/obj/effect/turf_decal/trimline/opaque/yellow/warning, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) "WH" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ name = "exhaust injector" @@ -3057,9 +3121,6 @@ /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) "WM" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, /obj/structure/closet/crate, /obj/item/target/syndicate{ pixel_x = -5; @@ -3076,6 +3137,9 @@ pixel_y = 5 }, /obj/item/clothing/ears/earmuffs, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "Xb" = ( @@ -3110,26 +3174,38 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/office) "Xi" = ( -/obj/structure/marker_beacon{ - picked_color = "Yellow" +/obj/effect/turf_decal/industrial/warning{ + dir = 8 }, /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) "Xo" = ( /obj/structure/cable{ - icon_state = "0-8" + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/power/apc/auto_name/directional/north, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 +/obj/machinery/door/airlock/medical/glass{ + dir = 4; + name = "Infirmary" }, -/obj/effect/turf_decal/siding/thinplating/dark{ +/obj/effect/turf_decal/steeldecal/steel_decals10{ dir = 1 }, -/turf/open/floor/plasteel/patterned/brushed, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, /area/ship/medical) "XD" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, @@ -3154,6 +3230,21 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ship/maintenance/port) +"XL" = ( +/obj/structure/sign/poster/contraband/peacemaker{ + pixel_x = 32 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 1 + }, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/hardsuit/security/independent/inteq, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) "XO" = ( /obj/structure/closet/secure_closet/freezer{ anchored = 1; @@ -3248,19 +3339,31 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/office) "Zh" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ +/obj/effect/turf_decal/industrial/traffic{ dir = 1 }, -/obj/structure/cable{ - icon_state = "1-8" - }, /obj/structure/cable{ icon_state = "4-8" }, -/obj/structure/sign/warning/incident{ - pixel_y = -30 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/button/shieldwallgen{ + dir = 1; + id = "vaquero_cargo"; + pixel_x = 5; + pixel_y = -19 + }, +/obj/machinery/button/door{ + dir = 1; + id = "vaquero_cargo"; + name = "Cargo Door Control"; + pixel_x = -4; + pixel_y = -20 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "Zi" = ( @@ -3347,14 +3450,6 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 5; - pixel_y = -20 - }, -/obj/structure/extinguisher_cabinet/directional/south{ - pixel_x = -6 - }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/grimy, /area/ship/crew) @@ -3656,7 +3751,7 @@ VI Ul VD Ag -Gq +GQ GQ Uf LB @@ -3676,7 +3771,7 @@ jB Ul sS bu -Gq +TX TX jg LB @@ -3696,7 +3791,7 @@ TQ Ul rA ZA -Gq +Uy jE bL Gq @@ -3786,7 +3881,7 @@ ww ww QJ kW -mR +NO wI bq vN @@ -3809,9 +3904,9 @@ mE RX bg zr -if -dq +vN dq +vs Zh te Ci @@ -3824,11 +3919,11 @@ ww (23,1,1) = {" ww ww -nm -lo +Eh +if Ex -lo -lo +UO +Ch LW Cl Cl @@ -3837,27 +3932,27 @@ te te OK te -fJ +te ww ww "} (24,1,1) = {" ww ww -ww +fJ lo Xo -PD +lo lo qE zG -gO +zG Bj te Hw fI te -ww +FO ww ww "} @@ -3885,7 +3980,27 @@ ww ww ww ww -UO +lo +PD +bl +lo +fZ +rP +Wl +vw +te +XL +cH +te +ww +ww +ww +"} +(27,1,1) = {" +ww +ww +ww +nm lo lo lo @@ -3896,7 +4011,7 @@ ww te te te -NO +VZ ww ww ww From cf4443fe6b2623f33dcc1eb2eb2a0c8eccb156cb Mon Sep 17 00:00:00 2001 From: Sadhorizon <108196626+Sadhorizon@users.noreply.github.com> Date: Tue, 15 Oct 2024 13:08:17 +0200 Subject: [PATCH 053/344] Minor Pubby ruin fix. (#3541) ## About The Pull Request This airlock had a turf passthrough under it. Acid spawning randomly is NOT fun. ## Why It's Good For The Game Fixing oversights good. ## Changelog :cl: fix: Pubby ruin can no longer randomly have acid in airlocks. /:cl: --- .../RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm index 397dff3689ee..6906e1dd2bed 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm @@ -1447,7 +1447,7 @@ /obj/machinery/door/airlock/hatch{ welded = 1 }, -/turf/template_noop, +/turf/open/floor/plating, /area/ruin/whitesands/pubbycrash/split) "ET" = ( /obj/structure/cable/yellow{ From 22255560877381a9a3169bc5ad8b1f9d8e3328d6 Mon Sep 17 00:00:00 2001 From: Sadhorizon <108196626+Sadhorizon@users.noreply.github.com> Date: Tue, 15 Oct 2024 13:08:31 +0200 Subject: [PATCH 054/344] Removes some cruft from sheet construction - mainly, job statues. (#3539) Removes: - cardborg suit - It feels like it doesn't *exactly* fit the setting. Can revert though. - Karl Marx bust. - all the job statues - the jobs no longer exist in the same sense as before - human/gondola/monkey skinsuits - I don't imagine parading in monkey masks as fitting the setting I'm actually removing all the statues listed above completely from the code. That's the man alright. ![obraz](https://github.com/user-attachments/assets/55eb3760-da83-4c94-9d5f-11d91035b339) :cl: del: Removed Karl Marx from the game. del: Removed all the job statues. del: Cardborg suit, human, gondola and monkey skinsuits are no longer craftable. /:cl: --- .../BeachRuins/beach_ocean_town.dmm | 6 +- .../JungleRuins/jungle_cavecrew.dmm | 4 +- .../LavaRuins/lavaland_crashed_starwalker.dmm | 2 - .../shuttles/nanotrasen/nanotrasen_mimir.dmm | 8 +- .../game/objects/items/stacks/sheets/glass.dm | 2 +- .../objects/items/stacks/sheets/leather.dm | 18 -- .../objects/items/stacks/sheets/mineral.dm | 16 -- .../stacks/sheets/recipes/recipes_metal.dm | 2 +- .../items/stacks/sheets/sheet_types.dm | 3 - code/game/objects/structures/statues.dm | 183 ------------------ icons/obj/statue.dmi | Bin 29063 -> 12202 bytes 11 files changed, 8 insertions(+), 236 deletions(-) diff --git a/_maps/RandomRuins/BeachRuins/beach_ocean_town.dmm b/_maps/RandomRuins/BeachRuins/beach_ocean_town.dmm index d1a3ff05cf04..312e11abe0f4 100644 --- a/_maps/RandomRuins/BeachRuins/beach_ocean_town.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_ocean_town.dmm @@ -1698,10 +1698,6 @@ }, /turf/open/floor/plasteel, /area/ruin/beach/oceantown/shop) -"ww" = ( -/obj/structure/statue/sandstone/assistant, -/turf/open/floor/plating/asteroid/sand/lit, -/area/overmap_encounter/planetoid/beachplanet/explored) "wF" = ( /obj/structure/flora/ausbushes/fullgrass, /obj/structure/flora/ausbushes/brflowers, @@ -7687,7 +7683,7 @@ sa sa Ud sa -ww +sa sa Ud sa diff --git a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm index d40ca2c82b27..557a50d9a11e 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm @@ -192,7 +192,9 @@ /area/overmap_encounter/planetoid/jungle/explored) "bU" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/statue/sandstone/assistant, +/obj/item/kirbyplants{ + icon_state = "plant-10" + }, /obj/machinery/light_switch{ pixel_y = 21; pixel_x = -10 diff --git a/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm b/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm index 8f3921ed0520..336588e2d807 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm @@ -2024,7 +2024,6 @@ /turf/open/floor/engine/hull/interior, /area/overmap_encounter/planetoid/lava/explored) "Hl" = ( -/obj/structure/statue/sandstone/assistant, /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/contraband/random{ pixel_y = -32 @@ -2380,7 +2379,6 @@ /turf/open/floor/plasteel/dark, /area/ruin/unpowered/crashed_starwalker) "Mk" = ( -/obj/structure/statue/sandstone/assistant, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/pod/light, diff --git a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm index 7791494023f4..f749f60f7e52 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm @@ -8222,10 +8222,6 @@ }, /turf/open/floor/plasteel, /area/ship/security/prison) -"Wi" = ( -/obj/structure/statue/sandstone/assistant, -/turf/open/floor/plating, -/area/ship/maintenance/fore) "Wj" = ( /obj/effect/decal/cleanable/food/salt, /obj/effect/turf_decal/siding/wideplating/light, @@ -10035,7 +10031,7 @@ rc bb yI yI -Wi +yI CP nK jY @@ -10115,7 +10111,7 @@ rW bb yI yI -Wi +yI CP nK jY diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index 23a8c8d5e5f0..08dd06b690d5 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -143,7 +143,7 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list ( \ null, \ new/datum/stack_recipe("directional reinforced window", /obj/structure/window/reinforced/unanchored, time = 0, on_floor = TRUE, window_checks = TRUE), \ new/datum/stack_recipe("fulltile reinforced window", /obj/structure/window/reinforced/fulltile/unanchored, 2, time = 0, on_floor = TRUE, window_checks = TRUE), \ - new/datum/stack_recipe(" reinforced glass tile", /obj/item/stack/tile/glass/reinforced, 1, 4, 20), \ + new/datum/stack_recipe("reinforced glass tile", /obj/item/stack/tile/glass/reinforced, 1, 4, 20), \ new/datum/stack_recipe("glass shard", /obj/item/shard, 1) \ )) diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 4bbb67267b70..6eefdcf349b7 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -11,14 +11,6 @@ singular_name = "human skin piece" novariants = FALSE -GLOBAL_LIST_INIT(human_recipes, list( \ - new/datum/stack_recipe("bloated human costume", /obj/item/clothing/suit/hooded/bloated_human, 5), \ - )) - -/obj/item/stack/sheet/animalhide/human/get_main_recipes() - . = ..() - . += GLOB.human_recipes - /obj/item/stack/sheet/animalhide/generic name = "skin" desc = "A piece of skin." @@ -32,12 +24,6 @@ GLOBAL_LIST_INIT(human_recipes, list( \ icon_state = "sheet-corgi" item_state = "sheet-corgi" - -GLOBAL_LIST_INIT(gondola_recipes, list ( \ - new/datum/stack_recipe("gondola mask", /obj/item/clothing/mask/gondola, 1), \ - new/datum/stack_recipe("gondola suit", /obj/item/clothing/under/costume/gondola, 2), \ - )) - /obj/item/stack/sheet/animalhide/mothroach name = "mothroach hide" desc = "A thin layer of mothroach hide." @@ -53,10 +39,6 @@ GLOBAL_LIST_INIT(gondola_recipes, list ( \ icon_state = "sheet-gondola" item_state = "sheet-gondola" -/obj/item/stack/sheet/animalhide/gondola/get_main_recipes() - . = ..() - . += GLOB.gondola_recipes - /obj/item/stack/sheet/animalhide/cat name = "cat hide" desc = "The by-product of cat farming." diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index acbf6ce36ff4..c25f58b6d934 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -26,7 +26,6 @@ Mineral Sheets GLOBAL_LIST_INIT(sandstone_recipes, list ( \ new/datum/stack_recipe("pile of dirt", /obj/machinery/hydroponics/soil, 3, time = 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("sandstone door", /obj/structure/mineral_door/sandstone, 10, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("Assistant Statue", /obj/structure/statue/sandstone/assistant, 5, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("Breakdown into sand", /obj/item/stack/ore/glass, 1, one_per_turf = 0, on_floor = 1) \ )) @@ -108,9 +107,6 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( \ GLOBAL_LIST_INIT(diamond_recipes, list ( \ new/datum/stack_recipe("diamond door", /obj/structure/mineral_door/transparent/diamond, 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("diamond tile", /obj/item/stack/tile/mineral/diamond, 1, 4, 20), \ - new/datum/stack_recipe("Captain Statue", /obj/structure/statue/diamond/captain, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("AI Hologram Statue", /obj/structure/statue/diamond/ai1, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("AI Core Statue", /obj/structure/statue/diamond/ai2, 5, one_per_turf = 1, on_floor = 1), \ )) /obj/item/stack/sheet/mineral/diamond/get_main_recipes() @@ -146,7 +142,6 @@ GLOBAL_LIST_INIT(uranium_recipes, list ( \ new/datum/stack_recipe("uranium door", /obj/structure/mineral_door/uranium, 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("uranium tile", /obj/item/stack/tile/mineral/uranium, 1, 4, 20), \ new/datum/stack_recipe("Nuke Statue", /obj/structure/statue/uranium/nuke, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("Engineer Statue", /obj/structure/statue/uranium/eng, 5, one_per_turf = 1, on_floor = 1), \ )) /obj/item/stack/sheet/mineral/uranium/get_main_recipes() @@ -186,7 +181,6 @@ GLOBAL_LIST_INIT(uranium_recipes, list ( \ GLOBAL_LIST_INIT(plasma_recipes, list ( \ new/datum/stack_recipe("plasma door", /obj/structure/mineral_door/transparent/plasma, 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("plasma tile", /obj/item/stack/tile/mineral/plasma, 1, 4, 20), \ - new/datum/stack_recipe("Scientist Statue", /obj/structure/statue/plasma/scientist, 5, one_per_turf = 1, on_floor = 1), \ )) /obj/item/stack/sheet/mineral/plasma/get_main_recipes() @@ -240,12 +234,7 @@ GLOBAL_LIST_INIT(gold_recipes, list ( \ new/datum/stack_recipe("chemical crate", /obj/structure/closet/crate/chem, 1, time = 15, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("gold tile", /obj/item/stack/tile/mineral/gold, 1, 4, 20), \ new/datum/stack_recipe("blank plaque", /obj/item/plaque, 1), \ - new/datum/stack_recipe("HoS Statue", /obj/structure/statue/gold/hos, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("HOP Statue", /obj/structure/statue/gold/head_of_personnel, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("CE Statue", /obj/structure/statue/gold/ce, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("RD Statue", /obj/structure/statue/gold/rd, 5, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("Simple Crown", /obj/item/clothing/head/crown, 5), \ - new/datum/stack_recipe("CMO Statue", /obj/structure/statue/gold/cmo, 5, one_per_turf = 1, on_floor = 1), \ )) /obj/item/stack/sheet/mineral/gold/get_main_recipes() @@ -296,11 +285,6 @@ GLOBAL_LIST_INIT(gold_recipes, list ( \ GLOBAL_LIST_INIT(silver_recipes, list ( \ new/datum/stack_recipe("silver door", /obj/structure/mineral_door/silver, 10, one_per_turf = 1, on_floor = 1), \ new/datum/stack_recipe("silver tile", /obj/item/stack/tile/mineral/silver, 1, 4, 20), \ - new/datum/stack_recipe("Med Officer Statue", /obj/structure/statue/silver/md, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("Janitor Statue", /obj/structure/statue/silver/janitor, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("Sec Officer Statue", /obj/structure/statue/silver/sec, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("Sec Borg Statue", /obj/structure/statue/silver/secborg, 5, one_per_turf = 1, on_floor = 1), \ - new/datum/stack_recipe("Med Borg Statue", /obj/structure/statue/silver/medborg, 5, one_per_turf = 1, on_floor = 1), \ )) /obj/item/stack/sheet/mineral/silver/get_main_recipes() diff --git a/code/game/objects/items/stacks/sheets/recipes/recipes_metal.dm b/code/game/objects/items/stacks/sheets/recipes/recipes_metal.dm index 93d7b9f0fcdf..bb31dd568ab3 100644 --- a/code/game/objects/items/stacks/sheets/recipes/recipes_metal.dm +++ b/code/game/objects/items/stacks/sheets/recipes/recipes_metal.dm @@ -242,7 +242,7 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ null, \ new/datum/stack_recipe("iron door", /obj/structure/mineral_door/iron, 20, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("floodlight frame", /obj/structure/floodlight_frame, 5, one_per_turf = TRUE, on_floor = TRUE), \ - new/datum/stack_recipe("voting box", /obj/structure/votebox, 15, time = 50), \ + new/datum/stack_recipe("voting box", /obj/structure/votebox, 5, time = 50), \ new/datum/stack_recipe("mortar", /obj/item/reagent_containers/glass/mortar/metal, 3), \ new/datum/stack_recipe("pestle", /obj/item/pestle, 1, time = 50), \ new/datum/stack_recipe("hygienebot assembly", /obj/item/bot_assembly/hygienebot, 2, time = 50), \ diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index c2a0391d3d8b..289d43a540e1 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -355,8 +355,6 @@ GLOBAL_LIST_INIT(durathread_recipes, list ( \ */ GLOBAL_LIST_INIT(cardboard_recipes, list ( \ new/datum/stack_recipe("box", /obj/item/storage/box), \ - new/datum/stack_recipe("cardborg suit", /obj/item/clothing/suit/cardborg, 3), \ - new/datum/stack_recipe("cardborg helmet", /obj/item/clothing/head/cardborg), \ new/datum/stack_recipe("large box", /obj/structure/closet/cardboard, 4, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("cardboard cutout", /obj/item/cardboard_cutout, 5), \ null, \ @@ -465,7 +463,6 @@ GLOBAL_LIST_INIT(bronze_recipes, list ( \ // [/CELADON-ADD] null, new/datum/stack_recipe("bronze chair", /obj/structure/chair/comfy/shuttle/bronze, 1, time = 0, one_per_turf = TRUE, on_floor = TRUE), \ - new/datum/stack_recipe("Marx Bust", /obj/structure/statue/bronze/marx, 15, one_per_turf = 1, on_floor = 1), \ )) /obj/item/stack/tile/bronze diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm index 68c99d6649a5..4d9b3b783cef 100644 --- a/code/game/objects/structures/statues.dm +++ b/code/game/objects/structures/statues.dm @@ -62,11 +62,6 @@ desc = "This is a grand statue of a Nuclear Explosive. It has a sickening green colour." icon_state = "nuke" -/obj/structure/statue/uranium/eng - name = "Statue of an engineer" - desc = "This statue has a sickening green colour." - icon_state = "eng" - /obj/structure/statue/uranium/attackby(obj/item/W, mob/user, params) radiate() return ..() @@ -93,168 +88,6 @@ return return -////////////////////////////plasma/////////////////////////////////////////////////////////////////////// - -/obj/structure/statue/plasma - max_integrity = 200 - material_drop_type = /obj/item/stack/sheet/mineral/plasma - impressiveness = 20 - desc = "This statue is suitably made from plasma." - -/obj/structure/statue/plasma/scientist - name = "statue of a scientist" - icon_state = "sci" - -/obj/structure/statue/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) - if(exposed_temperature > 300) - PlasmaBurn(exposed_temperature) - - -/obj/structure/statue/plasma/bullet_act(obj/projectile/Proj) - var/burn = FALSE - if(!(Proj.nodamage) && Proj.damage_type == BURN && !QDELETED(src)) - burn = TRUE - if(burn) - var/turf/T = get_turf(src) - if(Proj.firer) - message_admins("Plasma statue ignited by [ADMIN_LOOKUPFLW(Proj.firer)] in [ADMIN_VERBOSEJMP(T)]") - log_game("Plasma statue ignited by [key_name(Proj.firer)] in [AREACOORD(T)]") - else - message_admins("Plasma statue ignited by [Proj]. No known firer, in [ADMIN_VERBOSEJMP(T)]") - log_game("Plasma statue ignited by [Proj] in [AREACOORD(T)]. No known firer.") - PlasmaBurn(2500) - . = ..() - -/obj/structure/statue/plasma/attackby(obj/item/W, mob/user, params) - if(W.get_temperature() > 300 && !QDELETED(src))//If the temperature of the object is over 300, then ignite - var/turf/T = get_turf(src) - message_admins("Plasma statue ignited by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(T)]") - log_game("Plasma statue ignited by [key_name(user)] in [AREACOORD(T)]") - ignite(W.get_temperature()) - else - return ..() - -/obj/structure/statue/plasma/proc/PlasmaBurn(exposed_temperature) - if(QDELETED(src)) - return - atmos_spawn_air("plasma=[oreAmount*10];TEMP=[exposed_temperature]") - deconstruct(FALSE) - -/obj/structure/statue/plasma/proc/ignite(exposed_temperature) - if(exposed_temperature > 300) - PlasmaBurn(exposed_temperature) - -//////////////////////gold/////////////////////////////////////// - -/obj/structure/statue/gold - max_integrity = 300 - material_drop_type = /obj/item/stack/sheet/mineral/gold - impressiveness = 25 - desc = "This is a highly valuable statue made from gold." - -/obj/structure/statue/gold/hos - name = "statue of the head of security" - icon_state = "hos" - -/obj/structure/statue/gold/head_of_personnel - name = "statue of the head of personnel" - icon_state = "hop" - -/obj/structure/statue/gold/cmo - name = "statue of the chief medical officer" - icon_state = "cmo" - -/obj/structure/statue/gold/ce - name = "statue of the chief engineer" - icon_state = "ce" - -/obj/structure/statue/gold/rd - name = "statue of the research director" - icon_state = "rd" - -//////////////////////////silver/////////////////////////////////////// - -/obj/structure/statue/silver - max_integrity = 300 - material_drop_type = /obj/item/stack/sheet/mineral/silver - impressiveness = 25 - desc = "This is a valuable statue made from silver." - -/obj/structure/statue/silver/md - name = "statue of a medical officer" - icon_state = "md" - -/obj/structure/statue/silver/janitor - name = "statue of a janitor" - icon_state = "jani" - -/obj/structure/statue/silver/sec - name = "statue of a security officer" - icon_state = "sec" - -/obj/structure/statue/silver/secborg - name = "statue of a security cyborg" - icon_state = "secborg" - -/obj/structure/statue/silver/medborg - name = "statue of a medical cyborg" - icon_state = "medborg" - -/////////////////////////diamond///////////////////////////////////////// - -/obj/structure/statue/diamond - max_integrity = 1000 - material_drop_type = /obj/item/stack/sheet/mineral/diamond - impressiveness = 50 - desc = "This is a very expensive diamond statue." - -/obj/structure/statue/diamond/captain - name = "statue of THE captain." - icon_state = "cap" - -/obj/structure/statue/diamond/ai1 - name = "statue of the AI hologram." - icon_state = "ai1" - -/obj/structure/statue/diamond/ai2 - name = "statue of the AI core." - icon_state = "ai2" - -////////////////////////bananium/////////////////////////////////////// - -/obj/structure/statue/bananium - max_integrity = 300 - material_drop_type = /obj/item/stack/sheet/mineral/hidden/hellstone - impressiveness = 50 - desc = "A bananium statue with a small engraving:'HOOOOOOONK'." - var/spam_flag = 0 - -/obj/structure/statue/bananium/clown - name = "statue of a clown" - icon_state = "clown" - -/obj/structure/statue/bananium/Bumped(atom/movable/AM) - honk() - ..() - -/obj/structure/statue/bananium/attackby(obj/item/W, mob/user, params) - honk() - return ..() - -/obj/structure/statue/bananium/attack_hand(mob/user) - honk() - . = ..() - -/obj/structure/statue/bananium/attack_paw(mob/user) - honk() - ..() - -/obj/structure/statue/bananium/proc/honk() - if(!spam_flag) - spam_flag = TRUE - playsound(src.loc, 'sound/items/bikehorn.ogg', 50, TRUE) - addtimer(VARSET_CALLBACK(src, spam_flag, FALSE), 2 SECONDS) - /////////////////////sandstone///////////////////////////////////////// /obj/structure/statue/sandstone @@ -262,12 +95,6 @@ material_drop_type = /obj/item/stack/sheet/mineral/sandstone impressiveness = 15 -/obj/structure/statue/sandstone/assistant - name = "statue of an assistant" - desc = "A cheap statue of sandstone for a greyshirt." - icon_state = "assist" - - /obj/structure/statue/sandstone/venus //call me when we add marble i guess name = "statue of a pure maiden" desc = "An ancient marble statue. The subject is depicted with a floor-length braid and is wielding a toolbox. By Jove, it's easily the most gorgeous depiction of a woman you've ever seen. The artist must truly be a master of his craft. Shame about the broken arm, though." @@ -290,16 +117,6 @@ desc = "Looks like that weird kid with the tiger plushie has been round here again." icon_state = "snowlegion" -///////////////////////////////bronze/////////////////////////////////// - -/obj/structure/statue/bronze - material_drop_type = /obj/item/stack/tile/bronze - -/obj/structure/statue/bronze/marx - name = "\improper Karl Marx bust" - desc = "A bust depicting a certain 19th century economist. You get the feeling a specter is haunting the sector." - icon_state = "marx" - /// bone /obj/structure/statue/bone anchored = TRUE diff --git a/icons/obj/statue.dmi b/icons/obj/statue.dmi index cfb783ef1b10571b9484072699a5787d092d2950..7e9be0eed1890a4c78400a1b7a424b4f7038edcc 100644 GIT binary patch literal 12202 zcmW++19T)^6OA^`W;eEN+qSjw#bEc}DGB&~mc9ULeS}tOy&c;rb4lb7Vc3@y0 znaMM?@O@0*ptrd_BSba7>*&=>MY>FD#?|v@^dFK)TU}q^XQGkw5P;r3kvT(cJFUMe zUEul@d|N@lTBg&~mR~1FfL<)pNNH(4@f-*W@9Fs)^Y!4^Ava9}KNJ?4LpuwSC&Dn- zqr}{6aM1j`L-#n_vAWQ-=ros_dK#Q*Ad{2ivtXXVdgc>(y9VXiJ(q)LSl zs_bLBD~|CPhIW^}4=$5qMk5t{Vxhf#hNw?z?keXCI22PxhRbLuI~W)dn6#L%nn&hE zmbZh>lFyMKCNcz(Fa#M?KoZrdv~mNvS{7tJ&AZ)i@=I_~tkjYu62&2ZNCV87T!wWZeXlw|2{yIyvY~U^$e{E$lHlT-77}91&uz! zV{u-e{O@+qlz|8o-M_u3+Tj$?zy7i9WW9){!xT|by4338vosjKIY3X&krD8Zw&tZ# z35i2X;;g=qT3wo1Rj40SVty{F{Oo`&#rT-2HlXy;3<%oY;aplIzp$^as=xwg`ALGZ z)3fy%8!^iJ@9{G*T&mFM25SEP^P{J+@Ji%N@QPxYFkGo%=~ii&5R7W;1D-z)my-ha zG}`i&G~Q5r9}-a^BzLRIqSvc4n}6#mXa4No)HdP^I7hYo2#OS2Z=O?_T)+R8WTV3H zEDr*h>=~V0P=K6d!52M7MkI^4=-E(AuYZyxP)5qoZvqgtR3B17$c%SM8{araBu?BR zMJ-Jt#RA^!3`>ndJn9GIGJlFgKf+(uKS|@`iYG{7HDLeSIGlVUef%2cRD5rWxtWzFS+ex-S z8RRb>Ltzvn&;CX9v$I#q{7mK)X((V6=F74_;J2;Lra&ROa?oXVZ8yzNNO;~q`ZdEA zY|1rDv=3V%tNtalcPKa}1uiclQvoafMb&=POL;Bxo3X2h70T>z2Ua0LpzH00iD?s1 zf=6W=$wcnUm)~JxrAue%xRnWZ-)2xTO{pGbCOVSpMp9MZMVSksM z@ng!!2iV*U_A@qve(^X<+5KqaDEKQA&y;}+i!!zM(ug4Uj7Ux|%6;ayNufm#>dLNu z>P}+7ZhU)A&kAQ5Q5>A!CO>dr`jL9Wi%L8ej0V$kqodcPBK-bVaP2Ycx6*X$`N6&B zuV=0YW#sJM2w7_}3rUSmLGm3ia}rFZj94u{n@4zceRagLBybXJ=sz(s5ykFy68;&p z$Y0sM%}%knOKwRAX(jn*l?e7+tw%YQyjyjDrGi=H0^6{c+m@b!Kyd)58SC6 z;^G*?IJvOLme1jFrCKCHpc#|Z5sFbd^lM7WJWa(xj)959>FJuq{DDp#E@k(~-(m(~ zhmGK8{#%X@#PhtLLX3r`JtM%S11I4?nj|b?eebvt|lKtxR3p&5LO=bRSNBXZ*tqZrdJ#beNPcqSjv5_u{Upn%ulH%@ zgRZV^J3CyuV3bX4+I63U3NEjW->N^qvKS&=F>XbR0b#EtNmF)u?{!cR(nu4*Sy@oB zrN{ETl6&a_%d4KyV46r-U3Gb(k-w)p`I3|BPx2(>!gLtOHCae6efKymT<{(Eh;-w5%8b4W@oQa+w}O3LH>ZO@Q|eIYxM suQ( zlr*0e3F9#&VF96QNw2YgC?;*$j3|eJTa#8|fUhK~EGM1o@^Yo6MLOXPl*-cAbmLB) zQGIJ=grOkA>eOfuX&Vtq=w#!%6L7TVo8vU)-Z9x}?T9HLO%uDnX&+-m3|CpEiRYtq zUMS|DtL$KaNA>{lWy2|+(e?E6E%+hHhNBn(Q=X7c4=n*Yz<$X;Q~%_~W^9!hh%lDnXIJL$ z;=)19otVBLM1nSZi?{uP6mb-3IF0N@i(hr&64!DhQ6Dpk+g3NWAWd4A!!v*X9r0zH zx~}p*$63m^_}w{JD!CuGTj|D`UXdKuqAYrBh0TupD9|KP^Za&78gkOLR%QZ9N9wtC zEVDz|cO{Y2B_Xd**`@5Uf|&z$c9epM0I$ZzDIW+v!9&YLyh}CGt4BQE$_nIp5ryz9 z-|sQN?TO7TqL6OVn@qK=qdeZj&(RifNJWhkbb-2XWgO z*Rw_Ho2e{b&F?Gu&q&asc>M7r5luehSy<7~0lnWay=(FpL1{!WsOf)*Ak0pm>0As& ziipBA)l=6!f=YIy9wa?)3Abp@oLerM)=a=^mSlBwa63CYwW>5a^ce~L-W-3JB3!uL z4b(8>q7pxK8UBXh6|7*ZPaC0ZAnzF{sKHd|d0>|{1%x6EBtpV4?Q^|ak`iX%Z5OJm zULsr&Kdnx=WwwmT$P1TBuR|e8@_kk9I<>Q0%Cu8|YN0}NTtVdMg}uXjx3KQ&5=mjG zLv^{*RoX3QIw7u_8r_?jaL4M#R7NSydih}@N^T#rl*M|s!H7F99As;2t5vmFH;&Xdu7yJqJD9e)gB}W4GA~hTYp>Bp0 zxukwQD0!7CTlEE#QJ+rIjKqLUdUtm)5*}M817k*zEn>rt5+!`(z$${Z)sRS7Dx*_C z8X=&+-nQfgd z&lvYj&yvcz1%}^hm6kd~zs({1nXl9mLOQ$y6RUJMoFAdhah`L9IOVKVbta27qeL0V z;DR4ee|O;ZF6Ry|=Zd#Wi?mD2kmOAV6fuMj@9o^?eDe8=2>1^Z`ejb}ecVbv7;+o3 z;h=pI#_gMZ$GVjR(1JaAZ|zWR&_B3Yfr#kIl7I{^rF3FrEt?TU_K+M&_90c6pZ0VV zKxE*+C*c5cgEymrlMRoL|NbL^?Bjjw6F+vifBx|U%U_;x3g;PsgKno+GOPI{6AMei zlC#(I8t*|)_rH;jqu;(y{x{$WBd~Bc+yDb^z~?Hai$g_KbJ9ayLjFDh~K7+1Ilt`Sg6TwR6<$7s}bTrFf=RdLhcr zE!aGm=4kOX0xN>ny+qVPr!h0lG8bJhi2^+yJsi*D#S-b|CsHi|c9pWxsTGuJNy>8B zY$xk~lfOT1)!5iC|M|7KsXw?GIkmqxXTfH{hQndA+*4~jtkvno4wlNGmw=0l>+GfB z-Tm5jcZ*3NJsV`;`C>TR+G|Kv=IjU%Wu@ytp-#ApTF;!(jIX%VqerfD%SdY1fy>1I zBfi2$=W0JkuUo@wt=nG7TA*fW{A8}A^{VUD<7p?fK6~$xau>pt2fsqI#_axd!J||E zc`TXsc5!gZz(b561HSIDy+$@}ozCyzBv6Hqi$U*PyvtiO0ERHzk^J69RZL)WT<9~nALz)1cLUSkN%x~p?3z7-U20y-LPyE(N1zJqcaz{jhh)s!ULB#&1?ZGxEo;+QeR*R zGIN#893vdwolb8XxS6ml5$|arzguE+hzO{pid05L=iVr2$Oc9oUUP_X-GBe^v%sKS z%!s(3xz+5LGj0ArHdxXk$h!&S?1e%IlQowb-Ubgqp{c5t?7%P%Z zZ2?w+^Zngd(6>7$R^TP9N~igz!r&d=U#avdD6LNb3XL%5r9gsW%iwfGlIErkJj>R$ z#mn2$po!x`@Nofw+gxcZXlLgqTwE&M4+t_Ti-?z`Pw@miEiIktIuS)t?_FVJUo*A8nh>FTo zut+&0QtHDVu%{FdaxKl0u#fijob3o)>eFq{9z{ z#Dzp?#E1g8>=^P|gii#R}+;At1vw4-5liPMFc8A^aeYL&peAKtHvPyXH?$n2dhKAP}vfKd0-1kdH~22xH=RB9mrPzRiCjYTe6#U2{``t$n;(slSEy?^X5EtW_4&_MY=jLXa^& zkBijDc=y|Q%7QYpehp^D!r1fe(XD|P6L}?pq2Wj(no}}-V>`L} zYvy`+&-`+1ctGky5G((Ci2ICqo9mQ6)%Zxl#;S|5T zklyjt!o%hStp*F_*=C}2q8y^VWLnLC&o|9ks(K6%9M<^8n`La>`b=0V57C|_Xx_^F zFT}9TfEG};dZTeh33JHoCR*lTrG1mnE0w#ZrwB>ym!yEAylzt?6zorqnq z@L~_?M1FZloM>nuI?HgSz>4{spqSxYj$7A?T=OP!WL|xW5T);U7?SLL{?cNTXN8AI zZ)l719WY8sd0%zr-S0(E-d&(*pf|f*B~WQFT*f>)mHc_PkQ5ap__{K+KLt8u<-+?4 z$ZXskx7CIF@icMQ%R&vt{M+jJ{c>eJ?c9+y%;aQHMmuRjJtLM)0{l$>gv5?$Mxhldt%ikFGle{#k)s9CN1 z)58NRb~y2RS(oWBO)A1A+nS3W{q)d70JLj92uFYX=y@pjB_mw-bPuw&v~E|i%k@X_WgkpxJI2@ASJUxiO{e0isk{|LBy1IVNO?!){>IYSxr_t3MQI) z?0V$K-p<&1D;8-u7*BVlqM45gKB`b$4}>;8E8Gn5@XM0wV1H_yAULb{xM*RNmTdE$`)h4Rbp zIcAkwwWlKa*oP1f_H`I*Z^+JB8Tr=?UHzHrW6fVbh?q<@gJ5nPn1H5|6uHOguLusK9=>3SV_qtb!YaA(t!Wr8X>h=T$ zzxrP^!Pt+P$8mz!?}y6fT%{TNwt#A-WRt{b-+?VmuA?cAU^M?Jqy$whGq!z9VOBUHqxD5I3>Pz22PE- zwFg=y{-W(XN_*JazPv!D-q+c5Yj?6yODU~(-#&gak{)xZJZtpCKYO%&E$9Qq1ZS#^ zy*Y3efbxPD2=86lhoHIdRiipKV?S!}kT-jH1w?H3WESmPbK-lgbx)qzyZN01v}GX$ zx(RFC@xZdkP=8~Y6&_9GU)^ghSv%S4v3q4fR}`g$yzr#sxur1Z1uSTXE*KRzHBnF| zn2BuS{F#5=x%s8trQNPB(?!*qa#yU`5c1Lt?ej_*=JUpVrW$9 zhqQ5P9l*$tv^#%seqR5uqDNZB$*AShVB!X)(a4g(z{g(9ml~L;sll<1uQ~ z*Gm*H1y!XW%g2BU7aS&5AePTuToUMM-PggMOJq=-rno{Q=qlmE{0;p@;_Bj0|nn*yhxq+6rzj1 z8%IYo3cS#1XJylNhAX{U$r>wHf6Y=*Or8mw(1?|QY%8acV`o>xj>3|su&UCCf+kg0 z50;mvDn(`4$&p*tlmiez%r+frZq|QYKdPC?tgebd>c>E@D|7L>X)PF+%D%+R!7?)D z>dq=~*n4SV1oHUyIS(Z-n_Bx){aJ|Tcd%Y#Y4Jl^Jvrs`5qV0*U<<5gwn=cLJrz`W z#=c@zMNSZ@tZH1`)hk1U)u&=kK@gi4kJ2V9VRkyihPsD3;*>cmZJ@9HCpWdAYbc?C zU(=WC{z13?__i0w%cV`Fk{QEt7voOpvIj+c-ht;TUdoesZO*6TGtbdh&5rF5c=GXwi3zTkg6zyHB|-WeknOk8(Y%>0{9 zLT3Q0V_!B=J%TaQ2jmjc=}iBg;#V&C4E$?+jwojt{a*A|1bxx7YO_~)NE=hU%A*$M z*%^*vE;NRqy)1P-Va_h!MXNJ;rER%lrg))y?58qw+Yb3YcNDucr{6V})Ql^udreC7 z%Vk2N5T!=yb|QcJ6ur@X6dM$-J#RPGSMEWHDujI-gyMZ*u#TG<&r&A7SZ{q;_m9j_9Uikax=J9jYgko&75NaO(wHhsY}mLb zr{I65Gw?%}(zdG9NNL`fj99z+dAHipUyH4*YTL)VQ`A)bmCUTPgq&d*8yCN5Rd;+a zvRjsCxODE2o{|yiH?^Q{Ij-1#DC%oa2vzVQwS+H2t)(;Z5~dKppIiSbJMfq)ejoHX z?)UlYZc{NQHOqZdbSiBxpG_!Ji>=Sx{R7*W&|t9113Qs4^$%Mkq{CF8-%x`)7WcgF z^t*PYtDGX`@y?^XaaFTZFTX5TbQg}lc#5{wS(V(Y-M7?651%>D(a}hMD{l(G50%e5 zhADW!GaXBeS}C!aT#=b^c@jt&`gayzBHV2!7>Bin`y{bX7V6Enqn;$r0XZ2dVFPx$p_T#<6@-(`3r zc_QN&6KgCx?V;>6)lHF!%%oQ7Llzdk(d^vRjJtrL$uL*%VPUK)X zSp%xKI26$p$5YlV5U6nCUF)vKRqKyxsI!+-m@a zJYWPq**->mhg5p{jjE<* z30YrKyl_I81ZfoV*W75bOJ0Wl`Dn{xNaD)HwvLd4LcxzH@y*wbr6M_wIBi^?`;}(t zta3`Cb!2;&?wms6g^FV|BmW~>LaEz#;h+8X0dH2eztd^Im{D4nm?2Un@9Atur+(<# zX|Kx|->Q%Wra6cWnXoXQAgdJBkl?}185+oqILBXdej;ZXfUu+uM8~t9701=~fQVMt zIwZ!1Qq*e7oTAN|$O*D&Zgv^UXfrb zZboW8s~RfoRuAU|Sd^RCL%A7Gd;zm@XLzJlgJ_T{QBXMnkA50>UwEPh*u=SiOgFV)2hNC ziHCK?K=@_oFMWlk9UauT8DegM<*iD(huUhr$qiT9rXa9$L|Kp>3B@b%OW|ykdxhgxlVC!OYbOOK zo7S{dqeTNxUp!TwP>>c~#EgYR&61Hj8%_AEv$zIC3XS0UvKmu`jwwTu>W6N1ip|Zf zCpghh(&7Y-i<@-W2heYv)}X=}V@uuM*@cYwe*OIGfde4U{P3Du8b`^ZA7|NdfWrR$ z@XD-lQmcIy9@G~V8%sLQBGJFzHLvz}4JvXB)84cCd8h08-Jtj&6cwE@PL@1L*0&mp zD(EfF1KcdP#eKk?0#lKp!C8#t=U8ok ztn(ZRbf`ov`}|JM*I#r6>{!zl%_?Y{LKp?#cv4 zwr2Q$P*w%kSq{jI%gf>PH5iXLtZreI?4@pL{maas>3=;>3aKT0h z*&sGS8Wkb=_^Z54y=8-um-gS!VkaKr0e ziq$3GVizbhDox)Oxfbk$k}j~K-{DK{m#KB5CVgsp(KBlDwzd~G*o{0cZDLp*bmId? z%Dc5xs)=w0dSZ!T8ns#(5hVGqeK6sC8^tDT3Mr;!(lTO_)+nMbV84Wz7$M9W!IMEm ztjSCUEv-1u`=PH5BbuD!MRCaA!iSi^XQZGEOcI!deaII zhF*&3?5>n12??>OWV(PU>WZqNpXnWH5lX^^=o5|u4v<W__!2`kHx^O)tLgLB7vTg8)^L8vs2IPvA(n+Pdb2!l(@#Hkd-msYVm?nw|`cKz$^SY@L3KfF2UY9twr z@XtE1q7nhTAy}UA2SQ^Bt$H%nPDO<6+~|Dr*)N7Q_mQM!kO{u{g46Bi$gb zu%$!k-SNglji|x3vQa-DhPIOn^15h; zJ8)$tTUa3_MO1X&GVZbxQc%9LYRd;|WN4vi%vzvM9;f+?u+%!R&A`f{%vd0DV~Cc_ zDH#})EXS?HRl!wj`L^iX)c3b~w(s+Jsx6*1&i{^*N=PdF4w>g-6cdXWR=mhI;0Ffw zHS)iA0h+1iMA@<~5eP@ZxqBVSq+w9P(;VvL*a#$R=DwvA98c%Pla-g3C*4OHUq5eT zVSD$Mo9*e}f2iXZO(Cbkbzj}E?r;)zk>cLrG^pf1FPyk|NDQyM6m1Bdgr&k+(Jxxq z8!j@*{Y^v&4OCNCCnjdz#a85T7r=FxwD^toYC7}RTwp($(2n7)YkVpsn{~s9kAM;< zysm@)JD%>>UDH00yp;e078Qx?N0-m*EPS2c=SKuzP;gS`^Z`}l-^t0z{4rI!8;V>H zFreJ2ni3H(aLRu)N#55tt`3Jl&8zxDqe}Zr4^RY5e&6*>X~WyyTnK7)yTAeS@$vaG z-d+aVV!tKexzPrcrND=VhW@PBSZ+}yhC3fkCKo~Q@bYpyA0l#OAmvO+Qla%3G8uAY z{8udK4?%Kqch?j{sM2nPPaF*z-cwGI`X+0Z+=h4R9lA1Th4&T4tvySKNQns!Gu@wC zu@Dvc{pJ1)jPLX9_U`_^7N|SCyu5gPJRe;@gLJ!nv(zgzOl@f3#c7_w&fR!{8Qb}p zA%51cZ~^mYWo3~kXO+}#D@0v3M*uC z{hBbNEw@w}*KfANU#cif=PR*wzT(iDAfP@8PmG}N%$+S>Lv+THi=y@1D3!xcn1k+Y%?Xr_z_)2c9_5UuZZLT>sR z&AAEIbKyq&3Jn7T9!#tz9yH1;E2A!><0N%j^bde#?7TzKs7PL1)bPEI zG@$zQJCQX|(Qp9mhEvMOfDz*=d95G{JM=kQ$)^8 z`%}B$Ov@@NWHC5e07SEF%2ACV|3?&}+U$#B`3x@C)1+D4jcz}`AMgHsP*Seo!Y2)v zAk*K^3afq(=RX!}3}VL*XmH`$+uBS@=E_D?L|w#gIzKatQS*mB-d}6At7J+B?3$go zdwwOX`KA$Jm|_&FCf1;QL(e?D(Q3BKGKvK%#iKgohKHTYt5xGmt#V z=TYonD;6Rq%=Umn-QD9OFbcR02d+j%%=jVm>^@&16J+Z!b1qlxys*b>=z#-vxSSYmC)4KJjkybd2$!(xW4Dk!>YiQuZ zgWG{$^V$SZNd-hfJQ5?>lq|QT1ZD;sD7G0fVI3bImyTGBGM5E3P(sIvXK1 z1DCb6x63Y~xdS%=uvdoi29so-9x1M|i z0P)@0`7gTdea>{8@{lRiAC8Zy%<9vWs0v*K#I7{&!Y0gE3knLxETqWU`VS{EYS%7g zt_!eD2;`Z~&1$aQ!FL4IyrgeS4Qm$>&TXBYSxQuF<|cQP z__rv308IGq1Y`d5;KSo_3F{9MKCO5m{#?sm1AMWKTaR}d4XJigiK?LJ6z_;fvR11FH92!}((u2Ms9vUxtT z0&QbwR}9!=v)iwmjgK#Ccu(4kR$O--z&EAFM&PY7z*zYUS zSUwRhyrB!Xz1wFjLc)^z`g*EcQK38k;o)IGDFGJ(nNTd>4Qw2iyMWXF2%qNjK8d;H zT^g(T@zvE4Fi72km8pY6+{cIS!7t>mUyT~ISDNi}Z0c7mY;Ea(#4@Qj9fN*Pm<pt0v{bDpV}Jj2y=Sx5R8@LLDCnDccxZNz-uHpJ#>op99R``8u)AB3 z`fnLP5I{HpBmo1;-%x&m0DpOX<@WezIP>K%nU0G9SP`qr*OgY0Z@p&qj)231lX70y zk0QDrjszZC$!_3|UQ2#~;vm7BZPzGTH|zi&O$oeKLQ&!WQVVc)RAliBwf+DuEY5<^H&1Ck={Ud`ROve+=|+y(4nl+g*iuq3Kmvrc zn$>Fi1iWsQc+DEjh3vgGT`%P~e+ayeiQ$xJ42aO+sqJ&ysJ~?e$sM6Z$khc8p=wW? zuuymI$Q_l!#UWEKJeWvIO3r$chz##IkXai4UI+prX5Wd+t_u&h*Ij9*SG3LX$w|EX z)n@egfy^98M8esb6>xp6533#|m3NRrt<ev_I(-E{Bdp0#U z&&|$?czd_clDcx?nO=8aY_w})?DY`DN;=BHK!EcR#Ig`{0AsVQNXFn1V7pOSV1LQ99ws~hke z2?+`QS&jk~h}en=$@Ke#PU;<=PyK5(Q^QCz^Zjvl)o#-`O6-G}u3$DX>fjL$D_ zRUii$$b;B$)JbZ=_5FO@$RAqKBq>lB*uc?or_b(-Evq`cAIC)2U?KSKrbVSujiI!4 zbO4HiZZo#z;H7zhvV{Xp7?je{eTK&_H|a{m&= zximkYL_v!NZ;Ds;AGA1aSCb?J8o8Odxzi+gl)v83gWV5M6IsrtY}jeOg_iwUyTIf3 zLL)lCaxIbl#*7k9^;pF)2Plzgqr`t=Lw3GEnFC6=0v+*Y^0?BNdpE2r!BW}TO{BAr z>G%%gy8};@L$_0cQ$WJ;YsE&RuV;`d497@I0jhiwYb)YvZ0{OKa*`ail}7>eB`;O} z5CyR3M1RdvI!Xy!64G`HUe6p5M-=9j{g3}~y?=UIX(&FTx3{<9{WSau$eYjCTUCj( z6iSSZNaB%XT_T|17Ucg`>$N9+4i+-p({Zv71XTk9MSd*Ae_6r79Tb9Y`ki{+?Q&h( z-JR2D7j%kn49FiIUSUB&pdthsMB9d4w)Z7>w&x*s3ecACHS9UMtu-A_DU3L|x+-aG zR1cTa=s&xs*?CqtI%g^OemKu-Y)n=yQK$uIpv$0{Ko3bZ(GTP$U`fU~9=mYlUxI~b zP7Yt}Ei7O|`-Q2{j4Uj|N^*R8Dv)hKpv-7oPA7n9TQtYJPc4`G;rSx9Iv{5Bt~T=Wurj9^5^+6WpBu!7V^=cYpi+Rj+Dpc6N4d zue+zc=OWcqWYLfbkwG93n!KEp25{X1K0S!=Ku;3rum}P{;d^W8xk_2Om^<4#y4pI} zgFv2HDf7Mdee9_4TP|1FxQ4ThxIcd>No!(UAk$NqT-szY$}@DnqJQK-Yx^kkg#EEQ zscPH&eVHU**!3xlLDRy<4;3q%u_P0`W7v6U}j2>oIBjwV3)u^LojwPdXG) zv<3pQWP2sP69tc)%y=j&v{9`Xr9)Fog$uiNV~Ktjz1vWJRuD8|~ZnD&KR*&C+Vhi8!zyvUamKhZq{Y@_k(* zGqAzPeuHo2G{pHErfUQOk%Q!=#I-!LPJBH)4Hq)rd`iDY$rKvN6taG*r-?z~9U5Z6 zCnAo*s|`#DZNlpFUbZ7oMjNHIposlp@ritiLbSa%5Ck6+8ykz#>?B#wqE#ixNM-w@ zWbyfV=V+}>lX^1dY=nCJS?Iovt8~p})u;O$vgt9Ee|NeX?r?$D)f*bPC6U|1_W=K% zc8Lbn-OJY+fJtL8E7@jyWuP!l@29eV-tdazgl=4V$2Rc#E-S79d!uIWE$s{Q?C+pS zC7g}1eLUkAs2`>Oc@j<_eB{{S%(gdR!MArM_w4ySJ|skYW+W2>#B@Yd&^1yX6z)9N zR9tLo3v_cUe$){oy<=LW|NK5o50eZ=x(zf;p^zKYE4iwL+ly6$+SSioT-2 z9WS_oi14jE!)tDkQLud~!sdR4%tQ<>t}VN(oSOML`2>i zJV9+iZ@WS@d1}X}SDV8FIj?6!sEhS5uM<)+g>&DEgap{+-<(GWx|5C%5J$L|1DB<3 zE*YpUz!xAgE2EnfwHC?kQ-V8GxKBLXJ~Nu3-Dn@(x3;gw_CGjR?Ox zR{-xU3Myigc`}(hgeUh^b4D+JLzEKn_h&~`B?pzOAtsXFkf=6Me<`aVSb*lqOdYGyZvWl?Jw6MC{nZ}y6Dq=o z6>qvs8kl<)81R0h3Q^3MeR zQjVSbE&3nb|6=kzLu}4$GjJ6x0HOMqgL_BFmZP5e-G?+1SXJxU&(dA@R{Gb_Ox^^< zQJt$vA#Y?vnw^$5{6r{fC!9H93hoPmrKXc$ZLF*QW|(vyu{!7;CcDOJ)P-B*E71v6 zNjHW7A8-ouVXi_$70OuQnK+|}VB$0xs59`trq~Gl zv>hRo@w6y7@!Y7HnT7cq<5@&!r_fVvKAN<&G`Yol=}L6L*ro4hr@^4_Q{RNp6m1C> zmj2*gN2f4H1X69>AynD7yVnP4itUbz8m+jth^80Zja)m}o?04rg;g*XMbp@nRrK|` z#1tj`=2So?c<_4@JAg6%q)#Z__@M=bhlXor=?;gM^S4qM(LOT_s8vd#=oRntzn@-vpy##!lT-?~IDY)(BZ zPnpZL}!@ zTK8r&up?Dv4n5^HKl-Oi>#CV(bmX9&?ap{|pDG9dB{#D+2Mw$;MR=cd$?eu)4wRxt zUA2&)NHz~q8oZ`UpV;Kn_9v&HpeRr*vf%5YArm)bwE3YH5>`>s%37OWfov=Bp=Mhg zw+4{_EXuqwa~M~8mFPSv%+lE;O4=%e_gl4?-gIomJnnROOALYAJay)f{Y7c`I@bn5 zb@)flmOxwcvl3skFHXaH>K~(KLy1@y6Lx&L&xD|;sHm-43@VnsmG*)zD4$Hiog=Vv zvM2*oe1Y$zs-I7P3|5GMq~kOz?N@x7L#mcg8@8UE-LT?k19_; zn%W6bxp{(0VAA{e_mO&uKdzy1nB0OGUX}nz=ys{tm?A48sq+C{zg*9KbrpUJm6!O} zL8++MB=73#$_8XghW&GuD#wqN;?Q%S$CeuP{-0yD*%}tbyL^$@E?PD+SGar~uT9kw?}3IXWykRv5MLWA4dyydBjQzTu&q z+^{gO0GkMvHt)0edd-C*MI~J&~ZGmO0O*WpUV>wHuPMS@0>8s|{*PIGQ84OSsEo`=MaDT%yZp zWjr}{Zh^Ez!Z2(vbPGK&#k;G5$yKMk4@AfxP@p5YOtJVL5sY#pa(7hrx?{|B)O}3O zs$qYf#+9+F>dA-lE*aL_P;RxO7T!V=BsNXF#bd-0sY%9nZiR`thGqa!L~Nh1^R9B7 z82L|XY$enUQ|BCB0yGC)^$fb>zNzw=$&W}~X$H!Tk}cwcH6Sj?wj+a39 zqZ8f|n@{jfpi-v)k^XG@{Y9NW`l5#N?}tkYrQWxKtmPZV=s+|t|h|GzLHI1pp(>ay;=+vUPy|cl} z>8*H5DKx7{U|svI*Iu^h&KZzBY>^#_4+s13y`!)sMQz_bh~23QUGLj=W5nkON{hN) z4&t4>dGM`^r_Faic)Y&6vm&+r_f6hkWM*)1xxrxyOcM1{FOS#L#xo-0{T>?`GhV}# zo32S0sn6%7P+}!I{ok6PK}OH(=OwX->&hN8{!fy0{|r&Hgy10Wo8t)zl>c=6!hL1K zR*VT+vOUM061kzsAcr(he4DSV(s%MC)JS$Orwfg%6EVmM^r06k8JnE3>t&Pt<0TGsqUtINy8wrSF~Uc$)={#I1Z_@CfU z>`$wrAa!J(<;9a7z=Dz&8E0qh5I_?K-wDCa@`G?`CYQ+s7)TuyqyQ9xSNE=ojyn!D zB?~lWT2(rKZ*WlpKoE4o20lxZqGc|cl$(_ICpL@Sy-UbYohb+YMYi!9XL)=4+cP|< zNBLeTlrQ(?LkB{D51CI!i%S-22xMRM1=DtUdG5EB#~jJc_sV9oL!QUhTLU-H3BMPz z=WUV;;uC_?mZYEd@5_jk>`O_D>F1!Nd&w9*KeC253u>i^0K==nu}oHZPrp(UMi!SN zPPA*|&zwzqGclb)dZ_RsDr`TSzxTd+7{YYSp%oj3iHbVofogp^=3<}ETfJ_8eW{ig&J-F|{4r0{3dOu9rI8rO*;lFNpgHu%y_A2w!|6za8y)k<4X zt^0Ex>j$b1-dz|X+q<5XQ}b~eCb+Z>2$%O%PN+onzn$d5ty=y3OaUz8v-M1^*G{iR z^{^fPLMZYrj6Qa=P$kN+^~13KL-CEyV-4r?$Q7@<+r?oPa}j@1P+oai&wr>~EBBq1 ze6#`aUu?@Tw|!xPEr9UGC;AaBJ457q^Y3)a*2d0f4FBT%dq)RdM1TCVg~#R>V!T!d ze=q!uk9_SP{?_~4A2HH_tlwb<_v8L-@Z{^y-rj11I?tUUcJQB{dWj?3;J!ZyB6(-N z$KLIJ=J24c2P~P14!-Dh7_m7Wl$_SfY=(76s6N_ox@n-pg}9xBM5rNhXv8C8@pp*W zNRRX8s>9ruY;@2}oe$qwO>59POh8j9LVUGB+V^Yva{t7qafj4dQ0>7O$lHLlH`?Em zrDE+A<4m#QwNN(0oJ|kY$iM6rhf%UaNa=c9{RO|Ee%BMy`-MTHiYeMwjn!yk^DQ<1eEK zYVbiSD;&uE{N7u0nK_zF9fb)>-#%(z$^CZD%i?!?|I>ey>J_Gv z>U4xrg0oAyVY9uxtu1nYokt(`Hh$@Kc)9fL-@ir2&$*WpwJkG(#EhDMtb@q;4B!CC zxHpCfS=y%z|EVq{4i3KX`Gx5Hs}=*D^5C}b{I-vSKb`YX*6}&`xoq?OX87WX1w0U(4=)^B}^N^rr3)>t=476C7_MCBlGOG9w)V7^#hRkbW)Q_a$TJ^a7 zal@uAUEwan`*aKL5{w6_ckb=Zvy`A1?0Iawep@RU6kS&R5SG)^o074y&D@?uQuI8Afp6~J?|H?da$K2%i1U9!DV^Ux4n3+9Y zBc$`CVLZ^h;AgE2QPCUB^K)_Cozt6_aqSV7H<7A-vbw{z!A;qI8h82rVf zH^_HB5QZYsV@u3cG@-{#ASQ0-d=Bq(I~wVxJ+H9ltHY8%gy7d!7&EHJE05Ls@O>To~pZDUoh^}|>{(j-;PVY~Wk4v#km#v4&q!@}uT_zswmxts4A zC(eHgjvj?yF5+20gNEnQh|(K_yHh5R24ISjLZlRA<)y;*OMoXZ?h978fXuGL?RPt3B+|a z^MNxnDM~rKiEs3#*lGoZax$8NMO>aw@lQ~7aoVT}Nr(q}&erK${~~Ka?mPaw+HKau z6$S?{by+IvJps?~Nrz}f^>2CaU2Si+tomJBPBKif;gEuuMx5eQxykkQ^jroH&q!5y@5OS1nr+iah5(iT zmo+rV*=lNlXVEAcU^df-lTQitnO;$Kr~F=6!kpN@-x1n3Vc?MWxLAiv&zWT(W5&e; zCH(gh>@pJb#a**H8S?MYg0c0@CywWxAOyaz>#L5BO{*Y~hQP%X8A1IAaM$(lZNgZ_ zRhn@J8o*oM48hIKv*a3>5e*og05g|4yKK7&E;k0c?B}u4i#-RzsNrFQK%FXdT5WB1 zULqWjKD0pm1WQh=J`D+E`(Uyti4U3oT;TtkFZVvuT<6AiGkZ>Dq5s^Gs%*e>w>sYz zu1wWUb*&KE14x}?Kkbl^A9JKj?ZIxQu?9T= zJ{DLI`pJcLI3p>SB5{<_VAY2C6ZF7U3FMAdvQ>#?%LzJ^3rcn1eo~mw$Xy6{M$9i} z-V6QjJ;dP%5GZ}hw8Fff=paeuI+MV9r*1C?vSzgobCrWrynjvy+Ed{>p@*Jk*i7@dBrDd;}tX8c+s#x7?* z`eQTiu0Xo1tPORY#a(OOFpS_f%>2W$C*di`b2 zyTlJOAI9X$7t;Fg5*gN6xc{6ByMpo1G^U!OJ!&&Iw(MESwPlQL|M~e${b=D#)EI)3>Bl6 zWk2=Ndi_f>Z%rl~;8Kb~A@{7tOGP5S5}p$`_i$2(pw{h)fTQ$Gs@?5KC01_QB7iS*dVn2@Gbgim3PYu=GT_@)($LQyv_Hj-m#nY^ZebW}wVAhAA{ zn0>&BN_Qw)9XGt^syPo*U=5x;3{zm0v@aoie|}=!wW?TlMovsFAC`2CipH|pZq^4{ zetB6yNdfe~>;3;mo2ORh;^qsAxUWw}H^;_spk!W9aJ6V2UiFhe*ljMkaSJkwH9945 z0VNc^;_9os1x(fW#jU)yY(kls@#1}Uvo!pcC_=7|h7_^86Lf>nMlO>cc?5-jY^^b4 z!TC-{W1?fraA3l&l+FCbM$FipiZd$8JPtiin zcF++G;bM1-rLj2JiO(i&R2+!`f7&y_h@n@l5J95}l#0%lL);nqhb57UMHVqrr0ei0 zr|s3f>ZKQ>?{{m_a+f8_>hO-)!b%f9NsK$@*-Bk7jS2G=n!Eeo1q9Nb7z{>DnJb5iM@;==FK2`I>=tHKiEew+>Ta}lCg2el=e$3MCS=3|z7E~WD(eoMdLfIL>SzM2gIl*yUUfpu?SGqs; zF(vlG?=_L@AUIhLP31zEbw9%tIwNPa@>Qx?zmP3rs5Bv1Mv=`T%h&VmDc<}X)ESd$ zdY=>0|H##z>or(dwED;;Hmet6;v9qQ&R9C;HbD#-b=vEqg6h?dnv1BT#>jM2Td_NPrpo38Uv`(0b!@IeXiB znDh1WU(&e*BSHn?7xEAPde4Lj8c0eoGaBYrH<=*udDDVd^E z0*bP<%0s4w-NGI9<1o$IK)mr7hkM}kAHOh186qs8>6>EU=FQDUQjJ&xH?czWSmB*P znIeyVWt4g-0RsLdY!8@Ba2}^iP?n$UkmQ+jW6i1b9^A)ZP%lASdYT_2q;|ncs!Iq6 z`4iLO;}&Ktd4LJ$giq%%SA4HCuYyf3(*kHwdwm0S_pFQ=$!Y45J9O6#39TQi$*a_% ztf@t1s(B^Ldi;xo|MYQo?u)GT$BUjSqX^4SnB(l z@n>wHG?>~|s1)$h{rkq?%YxXdY0tJ@pi~M1Ks0ovF4vwA8GJJ}3K{$W0;GIVU&1I3 z%?3&)l&85;ibb2D>Lg~lwbJs1V4o}FLI`@8njaln3j?TQBR-IdRp;rESbQz%ozU{j zEj2b7;W+XUCU?V7QdohCR*hG3Y(Sgo9PQG_kIScF%9%?M=|?>A_2>_mBX~79u9U=I zzYMpWKXABJmHR3TXCMNRuPj`rk$bwjzB?}ylrjqorUEs4Q)4Zd9q@Vod-}=88}q`u zl$h-3!bpCZrF2+pl&L(EcR^BjQchRWAISMUJFwqyP0Q(44=86IEepDj+wynn4z2qY zk=5=zaC*NhBA7J$!UO!@NGuS*Ok(mIrUIJ01x%ldwzSrh@ZrIXE}$h2|uzpEQsX* zYFlj$VK_C0NG=X+MdpHj=Q+akMr~k_$=PWvW9~tW@nzpPGwS@}_2?J{B#>CD0MGt2 zSIcJHS5i-q%�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 CqNIWV From fdfd358289c9b934da1cc658ddfa53ab3d6b8d49 Mon Sep 17 00:00:00 2001 From: MrCat15352 Date: Fri, 27 Dec 2024 15:07:44 +0500 Subject: [PATCH 055/344] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=BE=D1=88?= =?UTF-8?q?=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=20?= =?UTF-8?q?=D1=87=D0=B5=D1=80=D0=B8=D0=BF=D0=B8=D0=BA=D0=B0=D0=BF=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mod_celadon/cargopad/code/export/lavaland.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mod_celadon/cargopad/code/export/lavaland.dm b/mod_celadon/cargopad/code/export/lavaland.dm index 51f979af2ef3..eb7723a276b4 100644 --- a/mod_celadon/cargopad/code/export/lavaland.dm +++ b/mod_celadon/cargopad/code/export/lavaland.dm @@ -42,14 +42,13 @@ /obj/machinery/anomalous_crystal, /obj/item/mayhem, /obj/item/blood_contract, - /obj/item/guardiancreator/miner/choose//this is basically the most valulable mining loot so good luck getting a miner to part ways + // /obj/item/guardiancreator/miner/choose//this is basically the most valulable mining loot so good luck getting a miner to part ways ) /datum/export/lavaland/major //valuable chest/ruin loot and staff of storms cost = 5000 unit_name = "lava planet artifact" - export_types = list(/obj/item/guardiancreator, - /obj/item/rod_of_asclepius, + export_types = list(/obj/item/rod_of_asclepius, /obj/item/clothing/suit/space/hardsuit/ert/paranormal, /obj/item/prisoncube, /obj/item/staff/storm, @@ -57,6 +56,7 @@ /obj/item/freeze_cube, /obj/item/clothing/gloves/gauntlets, /obj/item/necromantic_stone/lava, + // /obj/item/guardiancreator, ) /datum/export/lavaland/minor From 41155e619303e7e5658fdc7984f145c113b9131b Mon Sep 17 00:00:00 2001 From: CoreyLee Hassell Date: Tue, 15 Oct 2024 07:10:07 -0400 Subject: [PATCH 056/344] Added blood as a switchable mode to smartfridge boards (#3546) Added blood as a switchable mode to smartfridge boards. It had everything except that. :cl: fix: blood smart-fridge selectable on smartfridge boards now when screwdrivering them. /:cl: --- .../circuitboards/machine_circuitboards.dm | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index 4d45e40a8a05..827e4d75167e 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -567,8 +567,21 @@ name = "Smartfridge (Machine Board)" build_path = /obj/machinery/smartfridge req_components = list(/obj/item/stock_parts/matter_bin = 1) -// [CELADON-EDIT] - CELADON_QOL - Bloodbank circuit added - var/static/list/fridges_name_paths = list(/obj/machinery/smartfridge/bloodbank = "blood", + // [CELADON-EDIT] - CELADON_QOL - Bloodbank circuit added + // var/static/list/fridges_name_paths = list(/obj/machinery/smartfridge = "plant produce", // CELADON-EDIT - ORIGINAL + // /obj/machinery/smartfridge/food = "food", // CELADON-EDIT - ORIGINAL + // /obj/machinery/smartfridge/drinks = "drinks", // CELADON-EDIT - ORIGINAL + // /obj/machinery/smartfridge/extract = "slimes", // CELADON-EDIT - ORIGINAL + // /obj/machinery/smartfridge/organ = "organs", // CELADON-EDIT - ORIGINAL + // /obj/machinery/smartfridge/chemistry = "chems", // CELADON-EDIT - ORIGINAL + // /obj/machinery/smartfridge/chemistry/virology = "viruses", // CELADON-EDIT - ORIGINAL + // /obj/machinery/smartfridge/disks = "disks")*/ // CELADON-EDIT - ORIGINAL + var/static/list/fridges_name_paths = list(/obj/machinery/smartfridge/bloodbank = "blood", // CELADON-EDIT - ORIGINAL + /obj/machinery/smartfridge/food = "food", + /obj/machinery/smartfridge/drinks = "drinks", + /obj/machinery/smartfridge/extract = "slimes", + /obj/machinery/smartfridge/bloodbank = "blood", + /obj/machinery/smartfridge/organ = "organs", /obj/machinery/smartfridge/chemistry = "chems", /obj/machinery/smartfridge/disks = "disks", /obj/machinery/smartfridge/drinks = "drinks", @@ -577,18 +590,10 @@ /obj/machinery/smartfridge = "plant produce", /obj/machinery/smartfridge/extract = "slimes", /obj/machinery/smartfridge/chemistry/virology = "viruses") -// [/CELADON-EDIT] + // [/CELADON-EDIT] needs_anchored = FALSE // Original is below because var then becomes not connectede to circutboard and problems appera -/* var/static/list/fridges_name_paths = list(/obj/machinery/smartfridge = "plant produce", // CELADON-EDIT - ORIGINAL - /obj/machinery/smartfridge/food = "food", // CELADON-EDIT - ORIGINAL - /obj/machinery/smartfridge/drinks = "drinks", // CELADON-EDIT - ORIGINAL - /obj/machinery/smartfridge/extract = "slimes", // CELADON-EDIT - ORIGINAL - /obj/machinery/smartfridge/organ = "organs", // CELADON-EDIT - ORIGINAL - /obj/machinery/smartfridge/chemistry = "chems", // CELADON-EDIT - ORIGINAL - /obj/machinery/smartfridge/chemistry/virology = "viruses", // CELADON-EDIT - ORIGINAL - /obj/machinery/smartfridge/disks = "disks")*/ // CELADON-EDIT - ORIGINAL /obj/item/circuitboard/machine/smartfridge/Initialize(mapload, new_type) if(new_type) build_path = new_type From c843192ec6d52860ad5f303c2f1c4dc38af41860 Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Tue, 15 Oct 2024 04:10:29 -0700 Subject: [PATCH 057/344] Map Fixes for Wrecked Factory Ruin (#3543) ## About The Pull Request Some of the walls that were meant to be indestructible werent, and an enemy in the dorms didnt spawn. ## Why It's Good For The Game Fixes are good. ## Changelog :cl: fix: Fixes walls and an enemy spawn in the Wrecked Factory /:cl: --- .../LavaRuins/lavaland_surface_wrecked_factory.dmm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm index fda16098a148..768c6275cf56 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm @@ -2155,6 +2155,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space/stormtrooper, /turf/open/floor/plasteel/dark, /area/ruin/lavaland/factory/dorms) "tN" = ( @@ -6370,7 +6371,7 @@ LP vE DB Cc -KX +yQ Gn hv JO @@ -6424,7 +6425,7 @@ vE EU Vw Id -KX +yQ PR KX PR @@ -6478,7 +6479,7 @@ ab vQ LL Kg -KX +yQ Gw KX Gw @@ -6532,7 +6533,7 @@ yQ yQ yQ yQ -KX +yQ KX KX KX From f5ad084b1eed2061dd4633110c80d14c8eece40e Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Tue, 15 Oct 2024 07:12:09 -0400 Subject: [PATCH 058/344] Reinforces the windows on the Mudskipper (#3446) ## About The Pull Request Compared to all the other ships of it's manufacturing company (the Kilo, the Shetland...) the mudskipper oddly lacks reinforced windows. This brings it up to par with the rest of the dubiously well constructed ships adjacent to it. Shetland: ![image](https://github.com/user-attachments/assets/935c2ff1-d90a-41c6-9afe-1a7278490dc1) Kilo: ![image](https://github.com/user-attachments/assets/7dc153af-c149-4494-a538-059f5438b5d5) ## Why It's Good For The Game https://github.com/user-attachments/assets/481c70a8-f2d1-460d-b2b6-947b3c18e1ea You can also do this with a single screwdriver. ## Changelog :cl: fix: Mudskipper windows are correctly reinforced, like other ships by the same manufacturer. /:cl: --- .../independent/independent_mudskipper.dmm | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/_maps/shuttles/independent/independent_mudskipper.dmm b/_maps/shuttles/independent/independent_mudskipper.dmm index 26474b9c4c2f..11d98b3c1475 100644 --- a/_maps/shuttles/independent/independent_mudskipper.dmm +++ b/_maps/shuttles/independent/independent_mudskipper.dmm @@ -1016,6 +1016,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) +"xR" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters{ + id = "mudskipper_window" + }, +/turf/open/floor/plating, +/area/ship/hallway/aft) "xU" = ( /obj/machinery/power/terminal{ dir = 1 @@ -1051,7 +1059,7 @@ /obj/machinery/door/poddoor/shutters{ id = "mudskipper_window" }, -/obj/structure/window/fulltile, +/obj/structure/window/reinforced/fulltile, /turf/open/floor/plating, /area/ship/cargo) "yB" = ( @@ -1431,7 +1439,7 @@ dir = 4; id = "mudskipper_bridge" }, -/obj/effect/spawner/structure/window, +/obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/ship/bridge) "Gq" = ( @@ -1811,7 +1819,7 @@ /obj/machinery/door/poddoor/shutters{ id = "mudskipper_window" }, -/obj/structure/window/fulltile, +/obj/structure/window/reinforced/fulltile, /turf/open/floor/plating, /area/ship/hallway/aft) "PU" = ( @@ -1823,10 +1831,10 @@ "Qt" = ( /obj/structure/grille, /obj/machinery/atmospherics/pipe/layer_manifold, +/obj/structure/window/reinforced/fulltile, /obj/machinery/door/poddoor/shutters{ id = "mudskipper_window" }, -/obj/structure/window/fulltile, /turf/open/floor/plating, /area/ship/engineering/engine) "Qu" = ( @@ -2224,7 +2232,7 @@ /obj/machinery/door/poddoor/shutters{ id = "mudskipper_window" }, -/obj/structure/window/fulltile, +/obj/structure/window/reinforced/fulltile, /turf/open/floor/plating, /area/ship/hallway/aft) "XI" = ( @@ -2278,7 +2286,7 @@ /obj/machinery/door/poddoor/shutters{ id = "mudskipper_window" }, -/obj/structure/window/fulltile, +/obj/structure/window/reinforced/fulltile, /turf/open/floor/plating, /area/ship/crew) "Yi" = ( @@ -2566,7 +2574,7 @@ cs hX cs cs -Xm +xR yg XK Ni From b1a9ec51fdab67946e308eb7987d1317af3d416e Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Tue, 15 Oct 2024 06:12:31 -0500 Subject: [PATCH 059/344] ghosts can no longer duplicate themselves in the mob subsystem list tracking them (#3361) ## About The Pull Request we have areas with a virtual z level of 0 which means if you traveled into it, you wouldnt get cleaned up from your old z level! you could then walk back into it and be added to that z level a second time idle mobs cant be added to 0 either! ## Why It's Good For The Game This is bad! ## Changelog :cl: fix: ghosts cannot duplicate themselves across multiple z levels. /:cl: --- code/controllers/subsystem/mobs.dm | 1 + code/game/atoms_movable.dm | 2 +- code/game/machinery/navbeacon.dm | 11 ++++++-- code/modules/mob/dead/dead.dm | 11 ++++---- code/modules/mob/living/login.dm | 5 ++-- .../mob/living/simple_animal/simple_animal.dm | 26 +++++++++---------- .../chemistry/reagents/trickwine_reagents.dm | 2 +- 7 files changed, 33 insertions(+), 25 deletions(-) diff --git a/code/controllers/subsystem/mobs.dm b/code/controllers/subsystem/mobs.dm index b5d8210c802f..d2e0505b3583 100644 --- a/code/controllers/subsystem/mobs.dm +++ b/code/controllers/subsystem/mobs.dm @@ -40,5 +40,6 @@ SUBSYSTEM_DEF(mobs) L.Life(seconds, times_fired) else GLOB.mob_living_list.Remove(L) + stack_trace("[L] no longer exists in mob_living_list") if (MC_TICK_CHECK) return diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 79326ab9e2ad..7a1f7a36283a 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -540,7 +540,7 @@ var/previous_virtual_z = OldLoc?.virtual_z() || 0 var/current_virtual_z = virtual_z() - if(current_virtual_z && current_virtual_z != previous_virtual_z) + if(current_virtual_z != previous_virtual_z) on_virtual_z_change(current_virtual_z, previous_virtual_z) SEND_SIGNAL(src, COMSIG_MOVABLE_MOVED, OldLoc, Dir, Forced, old_locs) diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm index b54c192f4407..abee7fe954f7 100644 --- a/code/game/machinery/navbeacon.dm +++ b/code/game/machinery/navbeacon.dm @@ -46,11 +46,15 @@ return ..() /obj/machinery/navbeacon/on_virtual_z_change(new_virtual_z, previous_virtual_z) + ..() + if(!codes) + return + if(!codes["patrol"]) + return if(previous_virtual_z) LAZYREMOVEASSOC(GLOB.navbeacons, "[previous_virtual_z]", src) if(new_virtual_z) LAZYADDASSOCLIST(GLOB.navbeacons, "[new_virtual_z]", src) - ..() // set the transponder codes assoc list from codes_txt /obj/machinery/navbeacon/proc/set_codes() @@ -71,7 +75,10 @@ codes[e] = "1" /obj/machinery/navbeacon/proc/glob_lists_deregister() - LAZYREMOVE(GLOB.navbeacons["[virtual_z()]"], src) + if(!codes) + return + if(codes["patrol"]) + LAZYREMOVE(GLOB.navbeacons["[virtual_z()]"], src) GLOB.deliverybeacons -= src GLOB.deliverybeacontags -= location GLOB.wayfindingbeacons -= src diff --git a/code/modules/mob/dead/dead.dm b/code/modules/mob/dead/dead.dm index 85c60a15b031..490efbbabef8 100644 --- a/code/modules/mob/dead/dead.dm +++ b/code/modules/mob/dead/dead.dm @@ -96,18 +96,17 @@ INITIALIZE_IMMEDIATE(/mob/dead) return /mob/dead/Destroy() - for(var/level in SSmobs.dead_players_by_virtual_z) - LAZYREMOVEASSOC(SSmobs.dead_players_by_virtual_z, level, src) - // Forgive me for this one. This loop can be replaced by the line below by the one brave enough to fix - // observers not cleanly removing themselves from the dead_players_by_virtual_z /list when they should - //LAZYREMOVEASSOC(SSmobs.dead_players_by_virtual_z, "[virtual_z()]", src) + //Observers should no longer be duplicating themselves across virtual z so it SHOULD be fine to only check its virtual z. + LAZYREMOVEASSOC(SSmobs.dead_players_by_virtual_z, "[virtual_z()]", src) return ..() /mob/dead/Login() . = ..() if(!client) return - LAZYADDASSOCLIST(SSmobs.dead_players_by_virtual_z, "[virtual_z()]", src) + var/virt_z = virtual_z() + if(virt_z) + LAZYADDASSOCLIST(SSmobs.dead_players_by_virtual_z, "[virt_z]", src) /mob/dead/Logout() . = ..() diff --git a/code/modules/mob/living/login.dm b/code/modules/mob/living/login.dm index 62098a940937..18ddbe375da9 100644 --- a/code/modules/mob/living/login.dm +++ b/code/modules/mob/living/login.dm @@ -18,8 +18,9 @@ var/virtual_z = virtual_z() - LAZYADDASSOCLIST(SSmobs.players_by_virtual_z, "[virtual_z]", src) - SSidlenpcpool.try_wakeup_virtual_z(virtual_z) + if(virtual_z) + LAZYADDASSOCLIST(SSmobs.players_by_virtual_z, "[virtual_z]", src) + SSidlenpcpool.try_wakeup_virtual_z(virtual_z) //Vents if(ventcrawler) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 3670e14a6405..55ea24c81d7d 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -630,30 +630,29 @@ GLOB.simple_animals[togglestatus] += list(src) AIStatus = togglestatus - var/virt_z = "[virtual_z()]" + var/virt_z = virtual_z() if(!virt_z) return switch(togglestatus) if(AI_Z_OFF) - LAZYADDASSOCLIST(SSidlenpcpool.idle_mobs_by_virtual_level, virt_z, src) - + LAZYADDASSOCLIST(SSidlenpcpool.idle_mobs_by_virtual_level, "[virt_z]", src) else - LAZYREMOVEASSOC(SSidlenpcpool.idle_mobs_by_virtual_level, virt_z, src) + LAZYREMOVEASSOC(SSidlenpcpool.idle_mobs_by_virtual_level, "[virt_z]", src) /mob/living/simple_animal/proc/check_should_sleep() if (pulledby || shouldwakeup) toggle_ai(AI_ON) return - var/virt_z = "[virtual_z()]" - if(!virt_z) - return - var/players_on_virtual_z = LAZYACCESS(SSmobs.players_by_virtual_z, virt_z) - if(!length(players_on_virtual_z)) - toggle_ai(AI_Z_OFF) - else if(AIStatus == AI_Z_OFF) - toggle_ai(AI_ON) + var/virt_z = virtual_z() + var/players_on_virtual_z = 0 + if(virt_z) + players_on_virtual_z = LAZYACCESS(SSmobs.players_by_virtual_z, "[virt_z]") + if(!length(players_on_virtual_z)) + toggle_ai(AI_Z_OFF) + else if(AIStatus == AI_Z_OFF) + toggle_ai(AI_ON) /mob/living/simple_animal/adjustHealth(amount, updating_health = TRUE, forced = FALSE) . = ..() @@ -665,6 +664,7 @@ . = ..() if(previous_virtual_z) LAZYREMOVEASSOC(SSidlenpcpool.idle_mobs_by_virtual_level, "[previous_virtual_z]", src) - toggle_ai(initial(AIStatus)) + if(QDELETED(src)) + return if(new_virtual_z) check_should_sleep() diff --git a/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm b/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm index ff82cd185fb2..eea549fb7475 100644 --- a/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm @@ -30,7 +30,7 @@ if(!iscarbon(M)) var/mob/living/simple_animal/hostile/hostile_target = M var/hostile_ai_status = hostile_target.AIStatus - hostile_target.AIStatus = AI_OFF + hostile_target.toggle_ai(AI_OFF) addtimer(VARSET_CALLBACK(hostile_target, AIStatus, hostile_ai_status),reac_volume) M.Jitter(3 * reac_volume) M.Dizzy(2 * reac_volume) From 81dba6fb2e84f5729d01fe005f75514ace14c90d Mon Sep 17 00:00:00 2001 From: zimon9 <122945887+zimon9@users.noreply.github.com> Date: Tue, 15 Oct 2024 07:45:54 -0400 Subject: [PATCH 060/344] Fix to turn mob spawning off when a drill incurs a malfunction (#3551) ## About The Pull Request This fix toggles fauna spawning off after a drill is beset by a malfunction. ## Why It's Good For The Game I've seen several instances of runaway spawning occurring after a drill suffers a malfunction. When this happens, it cannot be toggled off by alt-clicking on it, and it _must_ be unwrenched. This should fix that behavior. ## Changelog :cl: fix: fixed fauna spawning after drill malfunctions /:cl: --- code/modules/mining/drill.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mining/drill.dm b/code/modules/mining/drill.dm index 9a35c2b4bf11..c327efab39a8 100644 --- a/code/modules/mining/drill.dm +++ b/code/modules/mining/drill.dm @@ -344,6 +344,8 @@ //Overly long proc to handle the unique properties for each malfunction type /obj/machinery/drill/proc/malfunction(malfunction_type) + if(active) + mining.toggle_spawning() //turns mob spawning off after a malfunction switch(malfunction_type) if(MALF_LASER) say("Malfunction: Laser array damaged, please replace before continuing mining operations.") From 8f25ddcdea66369f3453c0dccd0bc333d8af2ac2 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Bjarl@users.noreply.github.com> Date: Tue, 15 Oct 2024 15:36:06 -0400 Subject: [PATCH 061/344] You can now throw things from behind tables (#3537) ## About The Pull Request You can now throw things from behind flipped tables. ## Why It's Good For The Game You would think that being adjacent to a supposedly defensive thing would at least let you throw things over it. Like sandbags. Or barricades. ## Changelog :cl: add: Flipped tables actually let you throw things over them now. /:cl: --- code/game/objects/structures/table_flipped.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/game/objects/structures/table_flipped.dm b/code/game/objects/structures/table_flipped.dm index 28af5d0b63bd..8caa87b984a2 100644 --- a/code/game/objects/structures/table_flipped.dm +++ b/code/game/objects/structures/table_flipped.dm @@ -7,6 +7,7 @@ density = TRUE layer = ABOVE_MOB_LAYER opacity = FALSE + pass_flags_self = LETPASSTHROW var/table_type = /obj/structure/table /obj/structure/flippedtable/Initialize() @@ -54,6 +55,8 @@ return if(istype(exiter, /obj/projectile)) return + if(istype(exiter, /obj/item)) + return if(direction == table_dir) exiter.Bump(src) return COMPONENT_ATOM_BLOCK_EXIT From 48356af2b624732eb879c25140c63eb8e139ec8b Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Bjarl@users.noreply.github.com> Date: Tue, 15 Oct 2024 22:26:28 -0400 Subject: [PATCH 062/344] Removes South Bronx Paradise Bar (#3535) ## About The Pull Request as title ## Why It's Good For The Game As funny as it is I think it's kinda mean to have a trap item just. Right there ## Changelog :cl: del: South Bronx Paradise Bar /:cl: --- code/datums/diseases/parasitic_infection.dm | 50 ------------------- .../food_and_drinks/food/snacks_vend.dm | 30 ----------- code/modules/vending/snack.dm | 2 +- shiptest.dme | 1 - 4 files changed, 1 insertion(+), 82 deletions(-) delete mode 100644 code/datums/diseases/parasitic_infection.dm diff --git a/code/datums/diseases/parasitic_infection.dm b/code/datums/diseases/parasitic_infection.dm deleted file mode 100644 index 055425d9cc6f..000000000000 --- a/code/datums/diseases/parasitic_infection.dm +++ /dev/null @@ -1,50 +0,0 @@ -/datum/disease/parasite - form = "Parasite" - name = "Parasitic Infection" - max_stages = 4 - cure_text = "Surgical removal of the liver." - agent = "Consuming Live Parasites" - spread_text = "Non-Biological" - viable_mobtypes = list(/mob/living/carbon/human) - permeability_mod = 1 - desc = "If left untreated the subject will passively lose nutrients, and eventually lose their liver." - severity = DISEASE_SEVERITY_HARMFUL - disease_flags = CAN_CARRY|CAN_RESIST - spread_flags = DISEASE_SPREAD_NON_CONTAGIOUS - required_organs = list(/obj/item/organ/liver) - bypasses_immunity = TRUE - -/datum/disease/parasite/stage_act() - . = ..() - var/mob/living/carbon/C = affected_mob - var/obj/item/organ/liver/L = C.getorgan(/obj/item/organ/liver) - if(!L) - src.cure() - C.visible_message("[C]'s liver is covered in tiny larva! They quickly shrivel and die after being exposed to the open air.") - switch(stage) - if(1) - if(prob(5)) - affected_mob.emote("cough") - if(2) - if(prob(10)) - if(prob(50)) - to_chat(affected_mob, "You feel the weight loss already!") - affected_mob.adjust_nutrition(-3) - if(3) - if(prob(20)) - if(prob(20)) - to_chat(affected_mob, "You're... REALLY starting to feel the weight loss.") - affected_mob.adjust_nutrition(-6) - if(4) - if(prob(30)) - if(affected_mob.nutrition >= 100) - if(prob(10)) - to_chat(affected_mob, "You feel like your body's shedding weight rapidly!") - affected_mob.adjust_nutrition(-12) - else - var/turf/T = get_turf(C) - to_chat(affected_mob, "You feel much, MUCH lighter!") - affected_mob.vomit(20, TRUE) - L.Remove(C) - L.forceMove(T) - src.cure() diff --git a/code/modules/food_and_drinks/food/snacks_vend.dm b/code/modules/food_and_drinks/food/snacks_vend.dm index b071add1027a..9d6470f5aec4 100644 --- a/code/modules/food_and_drinks/food/snacks_vend.dm +++ b/code/modules/food_and_drinks/food/snacks_vend.dm @@ -15,36 +15,6 @@ /*food_flags = FOOD_FINGER_FOOD*/ w_class = WEIGHT_CLASS_TINY -/obj/item/reagent_containers/food/snacks/candy/bronx - name = "South Bronx Paradise bar" - desc = "Lose weight, guaranteed! Caramel Mocha Flavor. Something about product consumption..." - icon_state = "bronx" - item_state = "candy" - trash = /obj/item/trash/candy - list_reagents = list(/datum/reagent/consumable/nutriment = 4, /datum/reagent/consumable/sugar = 2, /datum/reagent/yuck = 1) - junkiness = 10 - bitesize = 10 - filling_color = "#e4d4b7" - tastes = list("candy" = 5, "weight loss" = 4, "insect larva" = 1) - foodtype = JUNKFOOD | RAW | GROSS - custom_premium_price = 800 - var/revelation = FALSE - -/obj/item/reagent_containers/food/snacks/candy/bronx/On_Consume(mob/living/eater) - . = ..() - if(ishuman(eater)) - var/mob/living/carbon/human/carl = eater - var/datum/disease/P = new /datum/disease/parasite() - carl.ForceContractDisease(P, FALSE, TRUE) - -/obj/item/reagent_containers/food/snacks/candy/bronx/examine(mob/user) - . = ..() - if(revelation == FALSE) - to_chat(user, "Geeze, you need to get to get your eyes checked. You should look again...") - desc = "Lose weight, guaranteed! Caramel Mocha Flavor! WARNING: PRODUCT NOT FIT FOR HUMAN CONSUMPTION. CONTAINS LIVE DIAMPHIDIA SPECIMENS." - name = "South Bronx Parasite bar" - revelation = TRUE - /obj/item/reagent_containers/food/snacks/sosjerky name = "\improper Scaredy's Private Reserve Beef Jerky" icon_state = "sosjerky" diff --git a/code/modules/vending/snack.dm b/code/modules/vending/snack.dm index 45d76a4754fa..cb9b6b1b9d95 100644 --- a/code/modules/vending/snack.dm +++ b/code/modules/vending/snack.dm @@ -16,7 +16,7 @@ /obj/item/storage/box/gum = 3, /obj/item/reagent_containers/food/snacks/energybar = 6, /obj/item/reagent_containers/food/snacks/syndicake = 6, - /obj/item/reagent_containers/food/snacks/candy/bronx = 1) + ) refill_canister = /obj/item/vending_refill/snack canload_access_list = list(ACCESS_KITCHEN) default_price = 60 diff --git a/shiptest.dme b/shiptest.dme index 3b8fff05dd64..3166afb77a2a 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -618,7 +618,6 @@ #include "code\datums\diseases\heart_failure.dm" #include "code\datums\diseases\legionvirus.dm" #include "code\datums\diseases\magnitis.dm" -#include "code\datums\diseases\parasitic_infection.dm" #include "code\datums\diseases\parrotpossession.dm" #include "code\datums\diseases\pierrot_throat.dm" #include "code\datums\diseases\retrovirus.dm" From 3dd8b8cc3dbac4387899dbc9f05dea3e869060be Mon Sep 17 00:00:00 2001 From: Mark Suckerberg Date: Tue, 15 Oct 2024 21:47:32 -0500 Subject: [PATCH 063/344] More Harddel Fixes (#3569) ## About The Pull Request Fixes a few harddels that surfaced in PR #3558 ## Why It's Good For The Game Harddels are still just terrible wastes of time ## Changelog :cl: /:cl: --- code/datums/action.dm | 13 ++++------ code/datums/components/remote_materials.dm | 9 ++++--- .../objects/items/implants/implant_misc.dm | 4 +++ code/game/turfs/closed/minerals.dm | 3 +-- .../atmospherics/machinery/airalarm.dm | 3 +-- code/modules/clothing/under/accessories.dm | 4 +++ .../hostile/mining_mobs/gutlunch.dm | 22 +++++++++------- code/modules/power/singularity/emitter.dm | 1 + .../boxes_magazines/_box_magazine.dm | 4 +++ code/modules/projectiles/gun.dm | 26 ++++++++++--------- code/modules/surgery/organs/vocal_cords.dm | 11 ++++---- 11 files changed, 58 insertions(+), 42 deletions(-) diff --git a/code/datums/action.dm b/code/datums/action.dm index 9bc58c399dd4..8151f5a4103c 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -366,16 +366,13 @@ /datum/action/item_action/nano_picket_sign name = "Retext Nano Picket Sign" - var/obj/item/picket_sign/S - -/datum/action/item_action/nano_picket_sign/New(Target) - ..() - if(istype(Target, /obj/item/picket_sign)) - S = Target /datum/action/item_action/nano_picket_sign/Trigger() - if(istype(S)) - S.retext(owner) + if(!istype(target, /obj/item/picket_sign)) + return + + var/obj/item/picket_sign/sign = target + sign.retext(owner) /datum/action/item_action/adjust diff --git a/code/datums/components/remote_materials.dm b/code/datums/components/remote_materials.dm index 2f3aa79749b2..16c695fe9c06 100644 --- a/code/datums/components/remote_materials.dm +++ b/code/datums/components/remote_materials.dm @@ -39,6 +39,7 @@ handles linking back and forth. // specify explicitly in case the other component is deleted first var/atom/P = parent mat_container.retrieve_all(P.drop_location()) + mat_container = null return ..() /datum/component/remote_materials/proc/_MakeLocal() @@ -77,9 +78,11 @@ handles linking back and forth. /datum/component/remote_materials/proc/OnAttackBy(datum/source, obj/item/I, mob/user) SIGNAL_HANDLER - if (silo && istype(I, /obj/item/stack)) - if (silo.remote_attackby(parent, user, I)) - return COMPONENT_NO_AFTERATTACK + if (!silo || !istype(I, /obj/item/stack)) + return + + if (silo.remote_attackby(parent, user, I)) + return COMPONENT_NO_AFTERATTACK /datum/component/remote_materials/proc/OnMultitool(datum/source, mob/user, obj/item/I) SIGNAL_HANDLER diff --git a/code/game/objects/items/implants/implant_misc.dm b/code/game/objects/items/implants/implant_misc.dm index c4c832209bac..d8f871e1ecc4 100644 --- a/code/game/objects/items/implants/implant_misc.dm +++ b/code/game/objects/items/implants/implant_misc.dm @@ -110,6 +110,10 @@ radio.keyslot = new radio_key radio.recalculateChannels() +/obj/item/implant/radio/Destroy() + QDEL_NULL(radio) + return ..() + /obj/item/implant/radio/mining radio_key = /obj/item/encryptionkey diff --git a/code/game/turfs/closed/minerals.dm b/code/game/turfs/closed/minerals.dm index 77f89b669057..540ff8277bd3 100644 --- a/code/game/turfs/closed/minerals.dm +++ b/code/game/turfs/closed/minerals.dm @@ -172,7 +172,6 @@ ScrapeAway() /turf/closed/mineral/ex_act(severity, target) - ..() switch(severity) if(3) if (prob(75)) @@ -182,7 +181,7 @@ gets_drilled(null, FALSE) if(1) gets_drilled(null, FALSE) - return + return ..() /turf/closed/mineral/random var/list/mineralSpawnChanceList = list(/obj/item/stack/ore/uranium = 3, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 4, diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index 236c7b040d99..a95e153c0e14 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -239,8 +239,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) /obj/machinery/airalarm/Destroy() SSradio.remove_object(src, frequency) - qdel(wires) - wires = null + QDEL_NULL(wires) var/area/ourarea = get_area(src) ourarea.atmosalert(FALSE, src) return ..() diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm index 0d05c4e0cf7f..89cce9c24d64 100644 --- a/code/modules/clothing/under/accessories.dm +++ b/code/modules/clothing/under/accessories.dm @@ -444,6 +444,10 @@ chameleon_action.chameleon_name = "Accessory" chameleon_action.initialize_disguises() +/obj/item/clothing/accessory/holster/chameleon/Destroy() + QDEL_NULL(chameleon_action) + return ..() + /obj/item/clothing/accessory/holster/chameleon/emp_act(severity) . = ..() if(. & EMP_PROTECT_SELF) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm index ee48ed624ee4..e7257c7d39c4 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm @@ -43,12 +43,16 @@ animal_species = /mob/living/simple_animal/hostile/asteroid/gutlunch childtype = list(/mob/living/simple_animal/hostile/asteroid/gutlunch/grublunch = 100) + var/mutable_appearance/gutlunch_full_overlay + wanted_objects = list(/obj/effect/decal/cleanable/xenoblood/xgibs, /obj/effect/decal/cleanable/blood/gibs/, /obj/item/organ, /obj/item/reagent_containers/food/snacks/meat/slab) /mob/living/simple_animal/hostile/asteroid/gutlunch/Initialize() . = ..() - if(wanted_objects.len) - AddComponent(/datum/component/udder, /obj/item/udder/gutlunch, CALLBACK(src, PROC_REF(regenerate_icons)), CALLBACK(src, PROC_REF(regenerate_icons))) + if(!length(wanted_objects)) + return + AddComponent(/datum/component/udder, /obj/item/udder/gutlunch, CALLBACK(src, TYPE_PROC_REF(/atom/movable, update_overlays)), CALLBACK(src, TYPE_PROC_REF(/atom/movable, update_overlays))) + gutlunch_full_overlay = mutable_appearance(icon, "gl_full") /mob/living/simple_animal/hostile/asteroid/gutlunch/CanAttack(atom/the_target) // Gutlunch-specific version of CanAttack to handle stupid stat_exclusive = true crap so we don't have to do it for literally every single simple_animal/hostile except the two that spawn in lavaland if(isturf(the_target) || !the_target || the_target.type == /atom/movable/lighting_object) // bail out on invalids @@ -72,14 +76,12 @@ return FALSE -/mob/living/simple_animal/hostile/asteroid/gutlunch/regenerate_icons(new_udder_volume, max_udder_volume) - cut_overlays() - var/static/gutlunch_full_overlay - if(isnull(gutlunch_full_overlay)) - gutlunch_full_overlay = iconstate2appearance(icon, "gl_full") - if(new_udder_volume == max_udder_volume) - add_overlay(gutlunch_full_overlay) - ..() +/mob/living/simple_animal/hostile/asteroid/gutlunch/update_overlays(new_udder_volume, max_udder_volume) + . = ..() + if(new_udder_volume != max_udder_volume) + return + + . += gutlunch_full_overlay //Male gutlunch. They're smaller and more colorful! /mob/living/simple_animal/hostile/asteroid/gutlunch/gubbuck diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 73920780bef3..a6cd227550ec 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -119,6 +119,7 @@ log_game("Emitter deleted at [AREACOORD(T)]") investigate_log("deleted at [AREACOORD(T)]", INVESTIGATE_SINGULO) QDEL_NULL(sparks) + QDEL_NULL(wires) return ..() /obj/machinery/power/emitter/update_icon_state() diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index a862be0c1a4d..8a7297346c3d 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -73,6 +73,10 @@ for(var/i = max(1, stored_ammo.len), i <= max_ammo, i++) stored_ammo += new round_check(src) +/obj/item/ammo_box/Destroy() + stored_ammo.Cut() + return ..() + ///gets a round from the magazine, if keep is TRUE the round will stay in the gun /obj/item/ammo_box/proc/get_round(keep = FALSE) if(!stored_ammo.len) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index f848018a6115..ae6131981fd9 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -262,8 +262,6 @@ */ ///The types of attachments allowed, a list of types. SUBTYPES OF AN ALLOWED TYPE ARE ALSO ALLOWED var/list/valid_attachments = list() - ///Reference to our attachment holder to prevent subtypes having to call GetComponent - var/datum/component/attachment_holder/attachment_holder ///Number of attachments that can fit on a given slot var/list/slot_available = ATTACHMENT_DEFAULT_SLOT_AVAILABLE ///Offsets for the slots on this gun. should be indexed by SLOT and then by X/Y @@ -339,7 +337,7 @@ /obj/item/gun/ComponentInitialize() . = ..() - attachment_holder = AddComponent(/datum/component/attachment_holder, slot_available, valid_attachments, slot_offsets, default_attachments) + AddComponent(/datum/component/attachment_holder, slot_available, valid_attachments, slot_offsets, default_attachments) AddComponent(/datum/component/two_handed) /// triggered on wield of two handed item @@ -384,6 +382,8 @@ QDEL_NULL(azoom) if(muzzle_flash) QDEL_NULL(muzzle_flash) + if(magazine) + QDEL_NULL(magazine) return ..() /obj/item/gun/handle_atom_del(atom/A) @@ -1008,18 +1008,21 @@ check_flags = AB_CHECK_CONSCIOUS|AB_CHECK_HANDS_BLOCKED|AB_CHECK_IMMOBILE|AB_CHECK_LYING icon_icon = 'icons/mob/actions/actions_items.dmi' button_icon_state = "sniper_zoom" - var/obj/item/gun/gun = null /datum/action/toggle_scope_zoom/Trigger() + if(!istype(target, /obj/item/gun) || !..()) + return + + var/obj/item/gun/gun = target gun.zoom(owner, owner.dir) -/datum/action/toggle_scope_zoom/IsAvailable() - . = ..() - if(!. && gun) - gun.zoom(owner, owner.dir, FALSE) +/datum/action/toggle_scope_zoom/Remove(mob/user) + if(!istype(target, /obj/item/gun)) + return ..() + + var/obj/item/gun/gun = target + gun.zoom(user, user.dir, FALSE) -/datum/action/toggle_scope_zoom/Remove(mob/living/L) - gun.zoom(L, L.dir, FALSE) ..() /obj/item/gun/proc/rotate(atom/thing, old_dir, new_dir) @@ -1056,8 +1059,7 @@ return if(zoomable) - azoom = new() - azoom.gun = src + azoom = new(src) /obj/item/gun/proc/build_firemodes() if(FIREMODE_FULLAUTO in gun_firemodes) diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index b86c5b8b86ce..3ec636e41b5f 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -35,13 +35,13 @@ /datum/action/item_action/organ_action/colossus name = "Voice of God" - var/obj/item/organ/vocal_cords/colossus/cords = null - -/datum/action/item_action/organ_action/colossus/New() - ..() - cords = target /datum/action/item_action/organ_action/colossus/IsAvailable() + if(!istype(target, /obj/item/organ/vocal_cords/colossus)) + return FALSE + + var/obj/item/organ/vocal_cords/colossus/cords = target + if(world.time < cords.next_command) return FALSE if(!owner) @@ -58,6 +58,7 @@ /datum/action/item_action/organ_action/colossus/Trigger() . = ..() if(!IsAvailable()) + var/obj/item/organ/vocal_cords/colossus/cords = target if(world.time < cords.next_command) to_chat(owner, "You must wait [DisplayTimeText(cords.next_command - world.time)] before Speaking again.") return From 2f361fa49a95720a40742f366f23e78c908e9d15 Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Wed, 16 Oct 2024 11:19:49 -0700 Subject: [PATCH 064/344] Icemoon Ruin: SRM Ice Lodge (#3291) ## About The Pull Request Adds a new ruin, the Ice Lodge! Formerly an SRM settlement, Frontiersmen have since come in and taken it over for their own use.
    Screenshots (Updated as of 05/09)
    ![image](https://github.com/user-attachments/assets/d950e34e-baa2-4f38-89fa-ff967b52a088) ![image](https://github.com/user-attachments/assets/937f68f9-84b3-4958-9996-78a397a0f70a) ![icelodgenew](https://github.com/user-attachments/assets/dc34a037-ba30-473b-ba31-6bfab0befdce)
    Adds two new Frontiersmen mobs based off the new roles, flametroopers and surgeons. Flametroopers will rush enemies and spray fire at their enemies. Surgeons will fire syringes and attempt to sedate their enemies. Modifies fireline code to support igniting tiles as an option. Adds a var to hostile mob AI, shoot_point_blank. If enabled ranged mobs can shoot their guns at melee range instead of melee attacking if possible. Deletes the cat butcher since the Surgeon fills the same niche and being much less questionable. Fences no longer call update fence status on initialize. All this did was make closed fence doors spawn open and open fence doors spawn closed. Adds gunpowder barrels, broken display cases and random chemical jug spawners, SRM corpse spawners for use in the ruin. Adds a var for bullets, grown items, and nutrient bottles (auto_scatter) so you can choose whether they scatter on initialize. Fixes the pathing for some internals pathed frontiersmen simple mobs. ## Why It's Good For The Game New ruins are good and the new frontiersmen simple mobs will hopefully diversify the enemy roster nicely. The cat butcher is cruft, and won't be missed. ## Changelog :cl: add: Ice Lodge Ruin Map and areas add: Simple Mob Frontiersmen Flametrooper and Surgeon add: shoot_point_blank option for simple mobs add: dragon_fire_line supports igniting tiles add: broken display case, gunpowder barrel, SRM corpse spawners, chemical jug spawners del: Cat Butcher fix: Frontiersmen simplemob pathing fix: Fence doors spawning open when they should be closed and vice versa code: scattering can be disabled with auto_scatter var for bullets, grown items and nutrient bottles /:cl: --------- Signed-off-by: Theos Co-authored-by: Theos --- .../IceRuins/icemoon_ice_lodge.dmm | 5838 +++++++++++++++++ code/datums/ruins/icemoon.dm | 8 + code/game/area/areas/ruins/icemoon.dm | 22 + .../game/objects/effects/spawners/lootdrop.dm | 15 + code/game/objects/structures/displaycase.dm | 5 + code/game/objects/structures/fence.dm | 5 - code/game/turfs/open/floor/plating/icemoon.dm | 24 + code/modules/hydroponics/fermenting_barrel.dm | 8 + code/modules/hydroponics/growninedible.dm | 7 +- code/modules/hydroponics/hydroitemdefines.dm | 6 +- .../mob/living/simple_animal/corpse.dm | 30 + .../living/simple_animal/hostile/hostile.dm | 31 +- .../hostile/human/cat_butcher.dm | 86 - .../hostile/human/frontiersman.dm | 67 +- .../simple_animal/hostile/megafauna/drake.dm | 35 +- .../hostile/mining_mobs/ice_whelp.dm | 2 +- code/modules/paperwork/paper_premade.dm | 9 + .../projectiles/ammunition/_ammo_casing.dm | 7 +- icons/mob/simple_frontiersman.dmi | Bin 29244 -> 41395 bytes shiptest.dme | 1 - 20 files changed, 6072 insertions(+), 134 deletions(-) create mode 100644 _maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm delete mode 100644 code/modules/mob/living/simple_animal/hostile/human/cat_butcher.dm diff --git a/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm b/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm new file mode 100644 index 000000000000..87fc7ea3d267 --- /dev/null +++ b/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm @@ -0,0 +1,5838 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/chair/wood, +/turf/open/floor/wood/ebony{ + icon_state = "wood-broken2" + }, +/area/ruin/powered/icemoon/lodge/residential) +"ag" = ( +/obj/effect/turf_decal/stoneborder{ + dir = 1 + }, +/obj/effect/turf_decal/stoneborder, +/obj/machinery/shower{ + dir = 8 + }, +/obj/item/soap/homemade, +/obj/item/bikehorn/rubberducky, +/obj/structure/curtain/bounty, +/obj/machinery/shower{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/powered/icemoon/lodge/residential) +"al" = ( +/obj/structure/flora/grass/brown, +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"am" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals/neutered, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"ao" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/item/clothing/suit/space/hardsuit/security/independent/frontier, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"aF" = ( +/turf/open/floor/plasteel/stairs/wood/icemoon{ + dir = 4 + }, +/area/overmap_encounter/planetoid/cave/explored) +"aJ" = ( +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"aL" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 6 + }, +/turf/open/floor/wood/mahogany{ + icon_state = "wood-broken4" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"aV" = ( +/obj/item/rack_parts, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rust, +/area/ruin/powered/icemoon/lodge/mainhall) +"aZ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/punji_sticks, +/obj/effect/mob_spawn/human/corpse/frontier, +/obj/effect/decal/cleanable/blood/splatter, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken6" + }, +/area/ruin/powered/icemoon/lodge/cellar) +"bb" = ( +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"bk" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"bv" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 9 + }, +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"bB" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 6 + }, +/obj/structure/destructible/tribal_torch/lit{ + pixel_y = 0; + pixel_x = 10 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"bC" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"bG" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/backdoor_xeno_babes_6{ + pixel_y = 0; + pixel_x = 30 + }, +/obj/item/reagent_containers/food/drinks/bottle/absinthe{ + pixel_x = -5; + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/bottle/amaretto{ + pixel_y = 10; + pixel_x = 7 + }, +/obj/item/reagent_containers/food/drinks/bottle/kahlua{ + pixel_x = 10; + pixel_y = 1 + }, +/obj/item/storage/pill_bottle/happy, +/obj/item/reagent_containers/pill/aranesp{ + pixel_y = -5; + pixel_x = -2 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"bK" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"bL" = ( +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/structure/table/optable, +/obj/item/restraints/handcuffs/cable/zipties/used, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plasteel/white, +/area/ruin/powered/icemoon/lodge/residential) +"ca" = ( +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"cd" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/icemoon{ + icon_state = "wood-broken" + }, +/area/overmap_encounter/planetoid/cave/explored) +"cl" = ( +/obj/machinery/hydroponics/soil, +/turf/open/floor/ship/dirt/dark, +/area/ruin/powered/icemoon/lodge/residential) +"cy" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"cA" = ( +/obj/effect/turf_decal/spline/fancy/wood/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/trash/popcorn, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"cS" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 6 + }, +/turf/open/floor/wood/ebony/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"cW" = ( +/obj/effect/turf_decal/spline/fancy/wood/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"da" = ( +/obj/structure/railing{ + layer = 3.1 + }, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"dc" = ( +/obj/structure/fence/door{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/icerock/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"dd" = ( +/obj/effect/mob_spawn/human/corpse/srm/hunter, +/turf/open/floor/grass/ship/jungle, +/area/ruin/powered/icemoon/lodge/residential) +"dl" = ( +/obj/effect/turf_decal/spline/fancy/wood/corner{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/wood/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/crayon{ + icon_state = "skull"; + pixel_x = 4; + pixel_y = -1 + }, +/obj/item/paper/crumpled/bloody/fluff/ruin/icemoon/cellar_warning{ + pixel_x = -12 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"dn" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"ds" = ( +/obj/item/roastingstick, +/turf/open/floor/grass/ship/jungle, +/area/ruin/powered/icemoon/lodge/residential) +"dA" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 6 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"dO" = ( +/turf/closed/wall/mineral/wood, +/area/overmap_encounter/planetoid/cave/explored) +"dT" = ( +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/structure/table/wood, +/obj/item/melee/baton/cattleprod/loaded, +/obj/item/storage/backpack/duffelbag/med/surgery, +/turf/open/floor/plasteel/white, +/area/ruin/powered/icemoon/lodge/residential) +"dV" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken6" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"dZ" = ( +/obj/structure/closet/cabinet{ + name = "broken shadow's locker"; + desc = "The closet of equipment and attire for the aspiring shadow. Or whichever guy broke this closet's lock." + }, +/obj/item/clothing/suit/armor/roumain/shadow, +/obj/item/clothing/head/cowboy/sec/roumain/shadow, +/obj/item/clothing/under/suit/roumain, +/obj/item/flashlight/lantern, +/obj/effect/decal/cleanable/shreds{ + pixel_y = -14 + }, +/obj/item/melee/knife/hunting, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"eg" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken" + }, +/area/ruin/powered/icemoon/lodge/residential) +"ev" = ( +/obj/item/trash/boritos, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"ey" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/flame/neuter, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"eC" = ( +/obj/item/clothing/head/bearpelt{ + pixel_y = 10 + }, +/obj/structure/table/wood, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"eK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/weather/snow{ + dir = 1 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"eU" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"eW" = ( +/obj/effect/turf_decal/siding/blue, +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/plasteel/white, +/area/ruin/powered/icemoon/lodge/residential) +"fa" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 4 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"fe" = ( +/obj/item/bedsheet/random, +/obj/effect/turf_decal/siding/wood, +/obj/structure/bed{ + icon_state = "dirty_mattress" + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"fg" = ( +/obj/structure/chair/wood/wings{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"fn" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"fu" = ( +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/ship/dirt/dark, +/area/ruin/powered/icemoon/lodge/residential) +"fw" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"fA" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/obj/effect/decal/cleanable/glass, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white, +/area/ruin/powered/icemoon/lodge/residential) +"fF" = ( +/obj/structure/table/wood, +/obj/item/trash/syndi_cakes{ + pixel_y = 4; + pixel_x = -2 + }, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"fI" = ( +/obj/structure/chair/wood/wings{ + dir = 4 + }, +/turf/open/floor/carpet/red_gold, +/area/ruin/powered/icemoon/lodge/montagne_office) +"fX" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "shotgun"; + pixel_x = 4; + pixel_y = -9; + paint_colour = "#FF0000" + }, +/turf/closed/indestructible/wood, +/area/ruin/powered/icemoon/lodge/gear_room) +"gp" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/item/ammo_box/magazine/c22lr_pounder_pan, +/obj/item/storage/box/ammo/c22lr{ + pixel_y = 12; + pixel_x = -6 + }, +/obj/item/storage/box/ammo/c22lr{ + pixel_y = 12; + pixel_x = 14 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"gr" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/item/ammo_box/magazine/c45_firestorm_mag/pan{ + start_empty = 1 + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"gs" = ( +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"gz" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/pen/fountain/captain, +/turf/open/floor/carpet/red_gold, +/area/ruin/powered/icemoon/lodge/montagne_office) +"gI" = ( +/turf/closed/indestructible/wood, +/area/ruin/powered/icemoon/lodge/gear_room) +"gR" = ( +/obj/structure/chair/pew{ + dir = 1 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"hj" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/icemoon{ + icon_state = "wood-broken5" + }, +/area/overmap_encounter/planetoid/cave/explored) +"hs" = ( +/obj/effect/turf_decal/spline/fancy/wood, +/obj/effect/decal/cleanable/food/tomato_smudge, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"hz" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/internals/neutered{ + check_friendly_fire = 1; + retreat_distance = 3; + minimum_distance = 2 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet, +/area/ruin/powered/icemoon/lodge/residential) +"hI" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/turf/open/floor/wood/ebony{ + icon_state = "wood-broken4" + }, +/area/ruin/powered/icemoon/lodge/residential) +"ib" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"ii" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"ik" = ( +/obj/structure/fireplace, +/obj/structure/fluff/paper/stack{ + dir = 5; + layer = 2.79; + pixel_y = 4 + }, +/obj/structure/fluff/paper/stack{ + dir = 4; + pixel_y = 9; + layer = 2.79 + }, +/obj/structure/fluff/paper/stack{ + dir = 1 + }, +/obj/effect/decal/cleanable/ash/large{ + pixel_y = -10 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"iw" = ( +/turf/open/floor/plating/ice/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"iB" = ( +/obj/item/mine/proximity/explosive/live{ + layer = 2.8 + }, +/obj/structure/statue/snow/snowman, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"iE" = ( +/obj/item/toy/plush/moth/punished{ + name = "Flufftunato"; + desc = "For the love of god Mothtresor!"; + pixel_y = 9 + }, +/obj/structure/fermenting_barrel, +/turf/open/floor/plating/asteroid/icerock/temperate, +/area/overmap_encounter/planetoid/cave/explored) +"iG" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany{ + icon_state = "wood-broken3" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"iH" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "+"; + pixel_x = 12; + pixel_y = -1; + paint_colour = "#ADD8E6" + }, +/turf/closed/wall/mineral/wood, +/area/ruin/powered/icemoon/lodge/residential) +"je" = ( +/obj/structure/table/wood, +/obj/item/modular_computer/laptop, +/turf/open/floor/carpet/red_gold, +/area/ruin/powered/icemoon/lodge/montagne_office) +"jk" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 10 + }, +/obj/machinery/iv_drip, +/obj/effect/decal/cleanable/vomit/old, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white, +/area/ruin/powered/icemoon/lodge/residential) +"jx" = ( +/obj/structure/guncloset, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/item/gun/ballistic/shotgun/flamingarrow, +/obj/item/gun/ballistic/revolver/shadow, +/obj/item/gun/ballistic/automatic/smg/pounder, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"jB" = ( +/obj/structure/flora/rock/pile/icy{ + icon_state = "icemoonrock3" + }, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"jD" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/obj/machinery/door/airlock/wood{ + dir = 4 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"jM" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/glass/filter{ + pixel_y = 14; + pixel_x = -6 + }, +/obj/item/reagent_containers/food/drinks/sillycup{ + pixel_x = 4; + pixel_y = 6; + name = "paper sieve"; + desc = "A paper seive for funneling gunpowder." + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"jP" = ( +/obj/structure/railing/wood{ + dir = 10 + }, +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/wood/icemoon{ + icon_state = "wood-broken7" + }, +/area/overmap_encounter/planetoid/cave/explored) +"jR" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/hearthwine{ + pixel_x = 6; + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/icewine{ + pixel_x = -6; + pixel_y = 12 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/cellar) +"jS" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/item/trash/plate{ + pixel_y = 8; + pixel_x = 10 + }, +/obj/item/trash/plate{ + pixel_y = 10; + pixel_x = 10 + }, +/obj/item/trash/plate{ + pixel_y = 12; + pixel_x = 10 + }, +/obj/item/trash/plate{ + pixel_y = 14; + pixel_x = 10 + }, +/obj/effect/decal/cleanable/garbage, +/obj/effect/decal/cleanable/insectguts, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"ka" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/item/kirbyplants{ + icon_state = "plant-25"; + pixel_y = 12; + pixel_x = -2 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"kl" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 8 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"ko" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"kq" = ( +/obj/structure/chair/wood/wings, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/officer/internals, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"kG" = ( +/obj/structure/railing/wood, +/obj/structure/chair/wood/wings{ + dir = 8 + }, +/obj/effect/decal/cleanable/vomit/old, +/turf/open/floor/wood/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"kX" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"kZ" = ( +/obj/structure/fluff/fokoff_sign{ + desc = "A crudsely-made sign with the words 'fok of' written in some sort of red paint." + }, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"lg" = ( +/obj/structure/flora/ash/puce, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"lh" = ( +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/grass/ship/jungle, +/area/ruin/powered/icemoon/lodge/residential) +"lE" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/crayon, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"lJ" = ( +/obj/structure/flora/grass/green, +/obj/item/mine/pressure/explosive/rusty/live, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"lM" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 5 + }, +/obj/structure/closet/crate/bin, +/obj/item/storage/firstaid/roumain, +/obj/item/reagent_containers/food/snacks/grown/ash_flora/puce, +/obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf, +/obj/item/reagent_containers/glass/mortar, +/obj/item/disk/holodisk/roumain, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white, +/area/ruin/powered/icemoon/lodge/residential) +"lU" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 5 + }, +/obj/machinery/door/airlock/wood{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/cellar) +"mc" = ( +/obj/machinery/door/airlock/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"mj" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"ms" = ( +/obj/structure/rack, +/obj/item/gun/ballistic/shotgun/brimstone, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"mz" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"mF" = ( +/obj/structure/rack, +/obj/item/clothing/suit/armor/roumain{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/clothing/suit/armor/roumain{ + pixel_x = 6 + }, +/obj/item/clothing/head/cowboy/sec/roumain{ + pixel_x = -6; + pixel_y = -3 + }, +/obj/item/clothing/head/cowboy/sec/roumain{ + pixel_x = -6; + pixel_y = 6 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"mH" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"mI" = ( +/obj/structure/table/wood, +/obj/item/stack/sheet/hairlesshide, +/obj/item/stack/sheet/hairlesshide, +/obj/item/stack/sheet/hairlesshide, +/obj/item/stack/sheet/hairlesshide, +/obj/item/stack/sheet/cotton/durathread, +/obj/item/stack/sheet/cotton/durathread, +/obj/item/stack/sheet/cotton/durathread, +/obj/item/stack/sheet/cotton/durathread, +/obj/item/stack/sheet/cotton/durathread, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"mL" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/weather/snow{ + dir = 6 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"mP" = ( +/obj/structure/closet/cabinet, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/head/frontier/peaked, +/obj/item/clothing/suit/armor/frontier, +/obj/item/clothing/under/frontiersmen/officer, +/obj/item/ammo_box/magazine/m9mm_mauler, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"nc" = ( +/obj/effect/turf_decal/stoneborder, +/obj/effect/turf_decal/stoneborder{ + dir = 1 + }, +/obj/structure/toilet{ + dir = 4; + pixel_x = -6 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/destructible/tribal_torch/lit{ + pixel_y = 20 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/powered/icemoon/lodge/residential) +"nd" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken3" + }, +/area/ruin/powered/icemoon/lodge/cellar) +"ne" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/generic, +/turf/open/floor/wood/ebony{ + icon_state = "wood-broken4" + }, +/area/ruin/powered/icemoon/lodge/residential) +"nm" = ( +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/structure/closet/crate/freezer, +/obj/item/organ/ears, +/obj/item/organ/eyes, +/obj/item/organ/heart, +/obj/item/organ/lungs, +/obj/item/organ/liver, +/obj/item/organ/stomach, +/obj/item/clothing/suit/toggle/labcoat/roumain_med, +/obj/item/clothing/head/cowboy/sec/roumain/med, +/obj/item/reagent_containers/blood/random, +/obj/item/reagent_containers/blood/random, +/obj/effect/decal/cleanable/blood/gibs/old, +/turf/open/floor/plasteel/white, +/area/ruin/powered/icemoon/lodge/residential) +"no" = ( +/obj/structure/table/wood, +/obj/machinery/fax/ruin, +/turf/open/floor/carpet/red_gold, +/area/ruin/powered/icemoon/lodge/montagne_office) +"nr" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "nay"; + pixel_y = -8; + pixel_x = 8; + paint_colour = "#FF0000" + }, +/obj/effect/turf_decal/weather/snow{ + dir = 8 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"nD" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 1 + }, +/obj/machinery/door/airlock/wood{ + name = "Greenhouse" + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"nQ" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"nS" = ( +/obj/structure/bookcase, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"oa" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"ot" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"ou" = ( +/obj/structure/railing/wood, +/obj/structure/chair/wood/wings{ + dir = 4 + }, +/turf/open/floor/wood/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"oC" = ( +/turf/open/floor/carpet, +/area/ruin/powered/icemoon/lodge/residential) +"oT" = ( +/obj/structure/flora/ash/garden/frigid, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"pf" = ( +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/obj/item/kirbyplants, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"pi" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"px" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/destructible/tribal_torch/lit{ + pixel_y = 18 + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken7" + }, +/area/ruin/powered/icemoon/lodge/residential) +"pG" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/obj/effect/gibspawner/human/bodypartless, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"pK" = ( +/obj/effect/turf_decal/siding/brown, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"pS" = ( +/obj/structure/noticeboard{ + name = "trophy board"; + desc = "A board for hanging trophies upon." + }, +/obj/item/clothing/mask/rat/bear{ + pixel_y = -2; + name = "bear head"; + desc = "A taxidermied bear head for mounting on a headboard. You swear it's still staring at you." + }, +/turf/closed/wall/mineral/wood, +/area/ruin/powered/icemoon/lodge/montagne_office) +"qb" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/candle/tribal_torch, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/gun/ballistic/automatic/smg/firestorm{ + spawnwithmagazine = 0 + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken4" + }, +/area/ruin/powered/icemoon/lodge/cellar) +"qd" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"qg" = ( +/obj/structure/table/greyscale, +/obj/effect/turf_decal/weather/snow, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"qr" = ( +/obj/item/target/alien, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"qD" = ( +/obj/structure/fence/door, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"qH" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/closet/crate/freezer, +/obj/item/reagent_containers/food/snacks/meat/slab/bear, +/obj/item/reagent_containers/food/snacks/meat/slab/bear, +/obj/item/reagent_containers/food/snacks/meat/slab/bear, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/snacks/egg, +/obj/item/reagent_containers/food/drinks/bottle/absinthe/premium, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"qJ" = ( +/obj/item/mine/pressure/explosive/rusty/live, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"qK" = ( +/obj/effect/turf_decal/stoneborder{ + dir = 1 + }, +/obj/effect/turf_decal/stoneborder, +/obj/effect/decal/cleanable/dirt, +/obj/structure/mirror{ + pixel_y = 33; + pixel_x = 2 + }, +/obj/structure/sink{ + pixel_x = 2; + pixel_y = 20 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/powered/icemoon/lodge/residential) +"qN" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/door/airlock/wood, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"qO" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony{ + icon_state = "wood-broken4" + }, +/area/ruin/powered/icemoon/lodge/residential) +"qR" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"qY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"rm" = ( +/turf/open/floor/ship/dirt/dark, +/area/ruin/powered/icemoon/lodge/residential) +"rs" = ( +/obj/structure/falsewall/wood, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"rx" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/item/storage/belt/security/military/frontiersmen{ + pixel_y = -2 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/melee/knife/survival{ + pixel_y = 10; + pixel_x = 3 + }, +/obj/item/melee/knife/survival{ + pixel_y = 10; + pixel_x = -7 + }, +/obj/item/melee/knife/survival{ + pixel_y = 10; + pixel_x = 13 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"rF" = ( +/obj/structure/flora/junglebush, +/turf/open/floor/ship/dirt/dark, +/area/ruin/powered/icemoon/lodge/residential) +"rO" = ( +/obj/item/broken_bottle{ + pixel_x = 15; + pixel_y = 4 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"rS" = ( +/obj/structure/fence{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"rT" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 1 + }, +/obj/item/trash/popcorn, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"rW" = ( +/obj/structure/chair/wood/wings{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"rZ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"sc" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/turf/open/floor/wood/ebony/icemoon{ + icon_state = "wood-broken2" + }, +/area/overmap_encounter/planetoid/cave/explored) +"sd" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 10 + }, +/turf/open/floor/wood/ebony/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"sk" = ( +/obj/effect/decal/cleanable/oil/slippery, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"st" = ( +/obj/structure/closet/secure_closet/medicalsrm, +/obj/item/sensor_device, +/obj/item/clothing/suit/frontiersmen, +/obj/item/clothing/head/frontier, +/obj/item/clothing/gloves/color/latex, +/obj/item/clothing/mask/surgical, +/obj/effect/spawner/lootdrop/chem_jug, +/obj/effect/spawner/lootdrop/chem_jug, +/obj/effect/spawner/lootdrop/chem_jug, +/obj/effect/spawner/lootdrop/chem_jug, +/obj/effect/turf_decal/corner/opaque/blue, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 4 + }, +/obj/item/clothing/neck/stethoscope, +/turf/open/floor/plating/rust, +/area/ruin/powered/icemoon/lodge/residential) +"sx" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 4 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"sD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/weather/snow, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"sG" = ( +/obj/structure/railing, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"sJ" = ( +/obj/structure/flora/rock/pile/icy{ + icon_state = "icemoonrock3" + }, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"sO" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken7" + }, +/area/ruin/powered/icemoon/lodge/cellar) +"sR" = ( +/obj/structure/table/wood, +/obj/item/paper/crumpled/bloody/fluff/ruin/icemoon/tally_sheet{ + pixel_x = -4 + }, +/obj/item/pen{ + pixel_x = 8 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"sW" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"sX" = ( +/obj/effect/turf_decal/weather/snow, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"sY" = ( +/obj/effect/turf_decal/spline/fancy/wood/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/vomit/old{ + icon_state = "vomit_4"; + pixel_x = -1; + pixel_y = -19 + }, +/turf/open/floor/wood/mahogany{ + icon_state = "wood-broken7" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"ti" = ( +/obj/item/cultivator/rake, +/turf/open/floor/grass/ship/jungle, +/area/ruin/powered/icemoon/lodge/residential) +"tl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 9 + }, +/turf/open/floor/plating/rust, +/area/ruin/powered/icemoon/lodge/residential) +"tn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/trash/can{ + pixel_x = -4; + pixel_y = 5 + }, +/obj/item/trash/can{ + pixel_y = -4; + pixel_x = 6 + }, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"tq" = ( +/obj/effect/turf_decal/spline/fancy/wood, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany{ + icon_state = "wood-broken2" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"tr" = ( +/obj/effect/turf_decal/spline/fancy/wood, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"tx" = ( +/turf/open/floor/plasteel/stairs/wood/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"ty" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"tD" = ( +/obj/structure/table/wood, +/obj/item/stack/sheet/cotton/cloth/ten, +/obj/item/scalpel{ + name = "leather knife"; + desc = "A sharpened leather knife, used for leatherwork." + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"tG" = ( +/obj/effect/decal/cleanable/oil/slippery, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/plasteel/stairs/wood{ + dir = 8 + }, +/area/ruin/powered/icemoon/lodge/cellar) +"tL" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"tN" = ( +/obj/item/chair/wood{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"tT" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"tW" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered{ + minimum_distance = 2; + retreat_distance = 2; + check_friendly_fire = 1 + }, +/obj/effect/turf_decal/weather/snow{ + dir = 1 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"tX" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 8 + }, +/obj/item/trash/semki, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"ud" = ( +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"um" = ( +/obj/structure/displaycase/broken, +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 5 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"uy" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken" + }, +/area/ruin/powered/icemoon/lodge/residential) +"uA" = ( +/obj/item/stack/sheet/durathread{ + pixel_x = -10; + pixel_y = 10 + }, +/obj/structure/rack, +/obj/item/stack/sheet/durathread, +/obj/item/stack/sheet/durathread{ + pixel_y = 10 + }, +/obj/item/stack/sheet/durathread{ + pixel_x = -10 + }, +/obj/item/stack/sheet/leather, +/obj/item/stack/sheet/leather, +/obj/item/stack/sheet/leather, +/obj/item/stack/sheet/leather, +/obj/item/stack/sheet/leather, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"uG" = ( +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"uL" = ( +/obj/structure/table/wood, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 10 + }, +/obj/item/gun/ballistic/automatic/zip_pistol, +/obj/item/chisel{ + pixel_x = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"uM" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/machinery/door/airlock/wood, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken7" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"uR" = ( +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"uX" = ( +/obj/effect/decal/cleanable/plastic, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 4 + }, +/turf/open/floor/plating/rust, +/area/ruin/powered/icemoon/lodge/residential) +"vd" = ( +/obj/effect/turf_decal/siding/brown, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony{ + icon_state = "wood-broken3" + }, +/area/ruin/powered/icemoon/lodge/residential) +"ve" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"vf" = ( +/obj/structure/table/wood, +/obj/item/seeds/cannabis{ + layer = 2.9 + }, +/obj/item/clothing/mask/cigarette/pipe, +/obj/item/lighter{ + pixel_x = 11; + pixel_y = 7 + }, +/turf/open/floor/carpet/red_gold, +/area/ruin/powered/icemoon/lodge/montagne_office) +"vq" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany{ + icon_state = "wood-broken2" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"vs" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony{ + icon_state = "wood-broken7" + }, +/area/ruin/powered/icemoon/lodge/residential) +"vG" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"vZ" = ( +/obj/structure/displaycase/broken, +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 9 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"wc" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken" + }, +/area/ruin/powered/icemoon/lodge/cellar) +"wi" = ( +/obj/effect/turf_decal/spline/fancy/wood/corner{ + dir = 4 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"wj" = ( +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"wm" = ( +/turf/open/floor/wood/ebony/icemoon{ + icon_state = "wood-broken6" + }, +/area/overmap_encounter/planetoid/cave/explored) +"wt" = ( +/obj/structure/railing{ + layer = 3.1 + }, +/obj/effect/turf_decal/weather/snow{ + dir = 5 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"wx" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 9 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"wy" = ( +/obj/structure/chair/stool{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"wD" = ( +/obj/structure/bed, +/obj/item/bedsheet/random, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken6" + }, +/area/ruin/powered/icemoon/lodge/residential) +"wF" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/item/ammo_box/magazine/c45_firestorm_mag/pan{ + start_empty = 1 + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"wT" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"wU" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals/neutered{ + retreat_distance = null; + minimum_distance = 1; + shoot_point_blank = 1 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"xb" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany{ + icon_state = "wood-broken2" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"xd" = ( +/obj/structure/rack, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/item/storage/box/ammo/a44roum{ + pixel_x = 5 + }, +/obj/item/storage/box/ammo/c38{ + pixel_y = 0; + pixel_x = -11 + }, +/obj/item/storage/box/ammo/c38{ + pixel_y = 9; + pixel_x = -12 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"xk" = ( +/obj/effect/turf_decal/spline/fancy/wood, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/heavy/internals/neutered{ + aggro_vision_range = 12 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"xu" = ( +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"xL" = ( +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"xM" = ( +/obj/effect/turf_decal/spline/fancy/wood, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"xN" = ( +/obj/item/hatchet/wooden{ + pixel_x = -6 + }, +/turf/open/floor/grass/ship/jungle, +/area/ruin/powered/icemoon/lodge/residential) +"yc" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered{ + minimum_distance = 2; + retreat_distance = 2; + check_friendly_fire = 1 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"yi" = ( +/obj/item/bedsheet/random, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/bed{ + icon_state = "dirty_mattress" + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"yj" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"yo" = ( +/obj/structure/flora/grass/jungle, +/obj/item/clothing/suit/armor/roumain/shadow, +/obj/item/clothing/head/cowboy/sec/roumain/shadow{ + pixel_y = 15; + pixel_x = -5 + }, +/obj/item/storage/wallet{ + pixel_x = 7; + pixel_y = -7 + }, +/obj/effect/decal/cleanable/ash/large{ + pixel_y = 11; + pixel_x = -6 + }, +/turf/open/floor/grass/ship/jungle, +/area/ruin/powered/icemoon/lodge/residential) +"yp" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 5 + }, +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"yE" = ( +/turf/closed/wall/mineral/wood, +/area/ruin/powered/icemoon/lodge/mainhall) +"yH" = ( +/obj/structure/fence/door, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"yO" = ( +/obj/structure/chair/wood/wings{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"yQ" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"zh" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/punji_sticks, +/obj/effect/mob_spawn/human/corpse/frontier, +/obj/effect/decal/cleanable/blood/splatter, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"zz" = ( +/turf/open/floor/carpet/red_gold, +/area/ruin/powered/icemoon/lodge/montagne_office) +"zN" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/siding/brown{ + dir = 9 + }, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"zX" = ( +/obj/structure/table/wood, +/obj/item/trash/can/food/beans{ + pixel_x = 6; + pixel_y = 3 + }, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"Ag" = ( +/obj/structure/table/wood, +/obj/item/trash/plate{ + pixel_y = 12 + }, +/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/skeleton{ + pixel_y = 12 + }, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"Ai" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony/icemoon{ + icon_state = "wood-broken5" + }, +/area/overmap_encounter/planetoid/cave/explored) +"Aj" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"Ak" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"Aq" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/bottle/moonshine{ + pixel_y = 17; + pixel_x = 9 + }, +/obj/item/reagent_containers/food/drinks/bottle/patron{ + pixel_y = 11; + pixel_x = 6 + }, +/obj/item/storage/pill_bottle/zoom{ + pixel_y = 9 + }, +/obj/item/reagent_containers/food/drinks/bottle/rum{ + pixel_x = 2 + }, +/obj/item/reagent_containers/pill/lsd{ + pixel_y = 6; + pixel_x = -6 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"Ay" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"AB" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken2" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"AE" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 5 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"AJ" = ( +/obj/structure/flora/stump{ + name = "Montagnue's Stump" + }, +/turf/open/floor/grass/ship/jungle, +/area/ruin/powered/icemoon/lodge/residential) +"AO" = ( +/obj/structure/table/wood, +/obj/item/weaponcrafting/stock, +/obj/item/weaponcrafting/receiver{ + pixel_y = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"AX" = ( +/obj/structure/punji_sticks, +/obj/effect/decal/cleanable/blood/splatter, +/obj/effect/gibspawner/human/bodypartless, +/obj/effect/mob_spawn/human/corpse/frontier, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"Bf" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 8 + }, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/turf/open/floor/wood/mahogany{ + icon_state = "wood-broken6" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"Bx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/internals/neutered{ + check_friendly_fire = 1; + retreat_distance = 3; + minimum_distance = 2 + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken5" + }, +/area/ruin/powered/icemoon/lodge/gear_room) +"BL" = ( +/obj/structure/table/wood/fancy, +/obj/item/gem/amber{ + pixel_y = 20; + pixel_x = -2 + }, +/obj/item/candle/infinite{ + pixel_y = 2; + pixel_x = 4 + }, +/obj/item/candle/infinite{ + pixel_y = 2; + pixel_x = -8 + }, +/obj/item/candle/infinite{ + pixel_y = 2; + pixel_x = -2 + }, +/obj/item/candle/infinite{ + pixel_y = 12; + pixel_x = 10 + }, +/obj/item/candle/infinite{ + pixel_y = 2; + pixel_x = 10 + }, +/obj/item/candle/infinite{ + pixel_y = 22; + pixel_x = 10 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"BQ" = ( +/obj/structure/flora/grass/both, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"BU" = ( +/obj/effect/decal/cleanable/greenglow, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"Cm" = ( +/obj/structure/closet/secure_closet{ + icon_state = "sec"; + name = "equipment locker"; + req_access_txt = "1" + }, +/obj/item/clothing/suit/armor/vest/bulletproof/frontier, +/obj/item/clothing/head/helmet/bulletproof/x11/frontier, +/obj/item/clothing/suit/armor/vest/bulletproof/frontier, +/obj/item/clothing/head/helmet/bulletproof/x11/frontier, +/obj/item/clothing/gloves/combat, +/obj/item/clothing/gloves/combat, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"Cq" = ( +/obj/structure/railing/wood, +/obj/structure/table/wood, +/obj/item/binoculars, +/turf/open/floor/wood/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Cs" = ( +/obj/structure/fireplace, +/obj/item/throwing_star/magspear{ + name = "fire poker"; + desc = "A small metal rod used to stir up fireplaces. This one is adorned with ornate golden filigree" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"Cu" = ( +/turf/closed/wall/mineral/wood, +/area/ruin/powered/icemoon/lodge/cellar) +"Cw" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken5" + }, +/area/ruin/powered/icemoon/lodge/residential) +"CG" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"CN" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken5" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"CU" = ( +/obj/structure/railing/wood{ + dir = 9 + }, +/turf/open/floor/wood/icemoon{ + icon_state = "wood-broken2" + }, +/area/overmap_encounter/planetoid/cave/explored) +"CW" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/turf/open/floor/wood/ebony/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Dj" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 1 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Do" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"DA" = ( +/obj/structure/railing/wood{ + dir = 4 + }, +/turf/open/floor/wood/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"DB" = ( +/obj/item/grown/log/tree{ + pixel_x = -6; + pixel_y = 12; + auto_scatter = 0 + }, +/obj/item/grown/log/tree{ + pixel_x = 6; + pixel_y = 12; + auto_scatter = 0 + }, +/obj/item/grown/log/tree{ + pixel_y = 18; + auto_scatter = 0 + }, +/obj/structure/table/wood, +/obj/item/storage/box/matches{ + pixel_y = 2 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"DM" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/plating{ + icon_state = "platingdmg3" + }, +/area/ruin/powered/icemoon/lodge/residential) +"DR" = ( +/obj/effect/turf_decal/spline/fancy/wood/cee, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/residential) +"Eb" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"Ec" = ( +/turf/open/floor/plating/asteroid/icerock/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"Ek" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken5" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"Er" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 10 + }, +/obj/machinery/door/airlock/wood{ + dir = 4 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"Ez" = ( +/turf/open/floor/plasteel/stairs/wood, +/area/ruin/powered/icemoon/lodge/cellar) +"Fj" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"Fy" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/obj/item/trash/candy, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"FL" = ( +/obj/effect/turf_decal/siding/blue/corner{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 1 + }, +/obj/effect/turf_decal/siding/blue/corner, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rust, +/area/ruin/powered/icemoon/lodge/residential) +"Gb" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"Gd" = ( +/obj/structure/flora/grass/brown, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Ge" = ( +/obj/structure/chair/wood/wings, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"Gn" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/prismwine{ + pixel_x = 6; + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/shockwine{ + pixel_x = -6; + pixel_y = 12 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/cellar) +"Gq" = ( +/obj/effect/turf_decal/siding/blue, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rust, +/area/ruin/powered/icemoon/lodge/residential) +"Gs" = ( +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"Gv" = ( +/obj/structure/railing/wood{ + dir = 10 + }, +/turf/open/floor/wood/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Gy" = ( +/turf/template_noop, +/area/template_noop) +"GA" = ( +/obj/structure/fence{ + dir = 4 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"GD" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"GN" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"GR" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"GS" = ( +/obj/structure/railing/wood{ + dir = 6 + }, +/obj/structure/chair/wood/wings{ + dir = 8 + }, +/turf/open/floor/wood/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"GT" = ( +/obj/structure/railing/wood, +/obj/structure/chair/wood/wings{ + dir = 4 + }, +/turf/open/floor/wood/icemoon{ + icon_state = "wood-broken5" + }, +/area/overmap_encounter/planetoid/cave/explored) +"Hl" = ( +/turf/closed/mineral/random/snow/underground, +/area/overmap_encounter/planetoid/cave/explored) +"HC" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony{ + icon_state = "wood-broken5" + }, +/area/ruin/powered/icemoon/lodge/residential) +"HG" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/table/wood, +/obj/item/shovel/spade, +/obj/item/reagent_containers/glass/bucket/wooden{ + pixel_x = 6 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"HO" = ( +/obj/structure/windoor_assembly{ + dir = 4; + name = "broken windoor" + }, +/obj/item/shard, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"HQ" = ( +/obj/structure/table/wood/fancy, +/obj/item/candle/infinite{ + pixel_y = 11; + pixel_x = -2 + }, +/obj/item/candle/infinite{ + pixel_y = 11; + pixel_x = -8 + }, +/obj/item/candle/infinite{ + pixel_y = 11; + pixel_x = 4 + }, +/obj/item/candle/infinite{ + pixel_y = 0; + pixel_x = 10 + }, +/obj/item/candle/infinite{ + pixel_y = 11; + pixel_x = 10 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"HV" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken4" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"HZ" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 9 + }, +/obj/machinery/door/airlock/wood{ + dir = 4 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"Ik" = ( +/obj/structure/fluff/paper/stack{ + dir = 4; + pixel_y = 9; + layer = 2.79 + }, +/obj/item/shovel, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"Ix" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/mosin/internals/neutered{ + check_friendly_fire = 1; + minimum_distance = 3 + }, +/obj/effect/turf_decal/weather/snow, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"II" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken3" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"Ja" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/obj/item/reagent_containers/syringe/contraband/morphine, +/obj/effect/decal/cleanable/garbage, +/obj/effect/decal/cleanable/insectguts, +/turf/open/floor/plasteel/white, +/area/ruin/powered/icemoon/lodge/residential) +"Jj" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"Jq" = ( +/obj/structure/flora/ash/chilly, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Js" = ( +/obj/structure/rack, +/obj/effect/turf_decal/siding/brown, +/obj/item/storage/toolbox/electrical{ + pixel_y = 5; + pixel_x = -2 + }, +/obj/item/storage/toolbox/mechanical, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"JP" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"JS" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals/neutered{ + minimum_distance = 2 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"Kc" = ( +/obj/effect/turf_decal/weather/snow, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Kg" = ( +/turf/open/floor/wood/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Kh" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/structure/sign/poster/contraband/masked_men{ + pixel_y = 27 + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken2" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"Kn" = ( +/mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered{ + minimum_distance = 2; + retreat_distance = 2; + check_friendly_fire = 1 + }, +/turf/open/floor/grass/ship/jungle, +/area/ruin/powered/icemoon/lodge/residential) +"Ks" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "camp"; + pixel_x = 4; + pixel_y = -1 + }, +/turf/closed/wall/mineral/wood, +/area/ruin/powered/icemoon/lodge/residential) +"KF" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/wood{ + dir = 4 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"KH" = ( +/obj/structure/fluff/paper/stack{ + dir = 1 + }, +/obj/effect/decal/cleanable/ash, +/obj/structure/fluff/paper/stack{ + pixel_x = 9 + }, +/obj/structure/fluff/paper/stack{ + dir = 5; + layer = 2.79; + pixel_y = 4 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"KO" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/food/flour, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"KR" = ( +/obj/structure/flora/ash/tall_shroom, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"KX" = ( +/obj/structure/fermenting_barrel, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/cellar) +"Lz" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/ashwine{ + pixel_y = 12; + pixel_x = -6 + }, +/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/forcewine{ + pixel_x = 6; + pixel_y = 12 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/cellar) +"LC" = ( +/turf/open/floor/wood/icemoon{ + icon_state = "wood-broken" + }, +/area/overmap_encounter/planetoid/cave/explored) +"LD" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"LF" = ( +/obj/structure/table/wood, +/obj/item/clothing/under/suit/roumain, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"LM" = ( +/obj/structure/flora/rock/pile/icy{ + icon_state = "icemoonrock1" + }, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"LP" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/turf/open/floor/wood/ebony/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"LT" = ( +/obj/structure/chair/plastic{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"LZ" = ( +/obj/effect/turf_decal/siding/brown/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"Mt" = ( +/turf/open/floor/wood/icemoon{ + icon_state = "wood-broken4" + }, +/area/overmap_encounter/planetoid/cave/explored) +"Mw" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"Mx" = ( +/obj/item/chair/wood, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"MC" = ( +/obj/structure/sign/poster/contraband/punch_shit{ + pixel_x = 32 + }, +/turf/open/floor/plating/rust, +/area/ruin/powered/icemoon/lodge/residential) +"MK" = ( +/obj/structure/fence, +/turf/open/floor/plating/asteroid/icerock/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"MO" = ( +/obj/structure/fluff/fokoff_sign{ + desc = "A crudsely-made sign with the words 'fok of' written in some sort of red paint." + }, +/turf/open/floor/plating/asteroid/icerock/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"MP" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rust, +/area/ruin/powered/icemoon/lodge/residential) +"MQ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"MR" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "danger"; + pixel_x = 4; + pixel_y = -1; + paint_colour = "#FF0000" + }, +/obj/effect/turf_decal/weather/snow{ + dir = 8 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Nc" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"Ni" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/flame/neuter, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"Nl" = ( +/obj/item/mine/pressure/explosive/rusty/live, +/turf/open/floor/plating/asteroid/icerock/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"No" = ( +/turf/closed/wall/mineral/wood, +/area/ruin/powered/icemoon/lodge/residential) +"Nq" = ( +/obj/item/bedsheet/random, +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt, +/obj/structure/bed{ + icon_state = "dirty_mattress" + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"Nu" = ( +/obj/item/ammo_casing/a8_50r{ + projectile_type = null + }, +/obj/item/ammo_casing/a8_50r{ + projectile_type = null + }, +/obj/item/ammo_casing/a8_50r{ + projectile_type = null + }, +/obj/item/ammo_casing/a8_50r{ + projectile_type = null + }, +/obj/item/ammo_casing/a8_50r{ + projectile_type = null + }, +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"NH" = ( +/obj/structure/chair/wood/wings{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/neutered, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"NL" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"NM" = ( +/obj/machinery/door/airlock/wood{ + dir = 4 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"NN" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"NO" = ( +/obj/structure/safe, +/obj/item/spacecash/bundle/c1000, +/obj/item/spacecash/bundle/c1000, +/obj/item/spacecash/bundle/c1000, +/obj/item/gun/ballistic/automatic/marksman/vickland, +/obj/item/ammo_box/vickland_a308/empty, +/obj/item/ammo_box/vickland_a308/empty, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"Oa" = ( +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/structure/table/wood, +/obj/item/trash/tray, +/obj/effect/turf_decal/corner/opaque/neutral{ + dir = 4 + }, +/obj/item/stack/tape/industrial{ + pixel_y = 6; + pixel_x = 7 + }, +/obj/item/reagent_containers/food/drinks/bottle/absinthe{ + pixel_y = 8; + pixel_x = -6 + }, +/obj/item/reagent_containers/glass/bottle/morphine, +/turf/open/floor/plating/rust, +/area/ruin/powered/icemoon/lodge/residential) +"Oc" = ( +/obj/structure/flora/ash/stem_shroom, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"Ok" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white, +/area/ruin/powered/icemoon/lodge/residential) +"Ol" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken4" + }, +/area/ruin/powered/icemoon/lodge/residential) +"Oq" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "skull"; + pixel_x = 4; + pixel_y = -1 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Ox" = ( +/obj/structure/statue/snow/snowman, +/obj/item/mine/proximity/explosive/live{ + layer = 2.8 + }, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"OD" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 8 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"OH" = ( +/turf/closed/wall/mineral/wood, +/area/ruin/powered/icemoon/lodge/montagne_office) +"ON" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/neutral, +/turf/open/floor/plating/rust, +/area/ruin/powered/icemoon/lodge/residential) +"OR" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 5 + }, +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/wood/ebony/icemoon{ + icon_state = "wood-broken2" + }, +/area/overmap_encounter/planetoid/cave/explored) +"OS" = ( +/obj/effect/turf_decal/siding/wood/end, +/obj/machinery/door/airlock/wood, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"OV" = ( +/obj/effect/turf_decal/spline/fancy/wood, +/obj/item/trash/sosjerky, +/obj/effect/decal/cleanable/wrapping, +/turf/open/floor/wood/mahogany{ + icon_state = "wood-broken6" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"OY" = ( +/obj/effect/turf_decal/siding/brown, +/obj/item/rack_parts, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"Py" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/closet/crate/hydroponics, +/obj/item/seeds/apple, +/obj/item/seeds/sunflower/moonflower, +/obj/item/seeds/potato, +/obj/item/seeds/tomato, +/obj/item/seeds/berry, +/obj/item/seeds/aloe, +/obj/item/seeds/wheat, +/obj/item/seeds/cotton/durathread, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"PA" = ( +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"PB" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony{ + icon_state = "wood-broken7" + }, +/area/ruin/powered/icemoon/lodge/residential) +"PE" = ( +/obj/structure/chair/wood/wings{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/internals/neutered{ + check_friendly_fire = 1; + retreat_distance = 3; + minimum_distance = 2 + }, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"PH" = ( +/obj/structure/flora/rock/pile/icy{ + icon_state = "icemoonrock2" + }, +/turf/open/floor/plating/asteroid/icerock/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"PI" = ( +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/turf/open/floor/plasteel/stairs/wood, +/area/ruin/powered/icemoon/lodge/cellar) +"PM" = ( +/obj/structure/bonfire/prelit, +/obj/effect/decal/cleanable/ash/large, +/turf/open/floor/ship/dirt/dark, +/area/ruin/powered/icemoon/lodge/residential) +"PQ" = ( +/obj/structure/fermenting_barrel, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/cellar) +"PV" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"Qz" = ( +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"QO" = ( +/obj/structure/table/greyscale, +/obj/item/gun/ballistic/rifle/illestren, +/obj/item/clothing/ears/earmuffs{ + pixel_y = 9 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"QT" = ( +/obj/structure/chair/wood/wings, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals/neutered{ + retreat_distance = null; + minimum_distance = 1; + shoot_point_blank = 1 + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken4" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"QU" = ( +/obj/structure/flora/grass/jungle, +/turf/open/floor/ship/dirt/dark, +/area/ruin/powered/icemoon/lodge/residential) +"Rd" = ( +/obj/structure/bed/pod, +/obj/item/bedsheet/blue, +/obj/structure/curtain/cloth/fancy, +/obj/item/toy/plush/kari, +/turf/open/floor/carpet/red_gold, +/area/ruin/powered/icemoon/lodge/montagne_office) +"Rg" = ( +/obj/structure/flora/ash/leaf_shroom, +/turf/open/floor/plating/asteroid/icerock/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"Rl" = ( +/obj/effect/mob_spawn/human/corpse, +/obj/effect/decal/cleanable/ash/large{ + pixel_y = 8 + }, +/turf/open/floor/ship/dirt/dark, +/area/ruin/powered/icemoon/lodge/residential) +"Rt" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/bottle/whiskey{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = 6 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ + pixel_x = 8; + pixel_y = 12 + }, +/turf/open/floor/carpet/red_gold, +/area/ruin/powered/icemoon/lodge/montagne_office) +"RA" = ( +/obj/structure/flora/grass/green, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"RE" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/mainhall) +"RH" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 6 + }, +/obj/machinery/door/airlock/wood{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/cellar) +"RM" = ( +/obj/effect/turf_decal/siding/blue/end{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/medical{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/powered/icemoon/lodge/residential) +"RV" = ( +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"RX" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/closet/crate/trashcart, +/obj/item/clothing/suit/armor/roumain, +/obj/item/clothing/head/cowboy/sec/roumain, +/obj/effect/decal/cleanable/ash/large{ + pixel_y = 3; + pixel_x = -10 + }, +/turf/open/floor/grass/ship/jungle, +/area/ruin/powered/icemoon/lodge/residential) +"Se" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"Sf" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"Su" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken4" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"SE" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"Td" = ( +/obj/structure/rack, +/obj/item/flashlight/lantern{ + pixel_x = 6 + }, +/obj/item/flashlight/lantern{ + pixel_x = -6 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"Te" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/red_gold, +/area/ruin/powered/icemoon/lodge/montagne_office) +"Tj" = ( +/obj/machinery/door/airlock/wood, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/montagne_office) +"Tk" = ( +/obj/structure/rack, +/obj/effect/decal/cleanable/dirt, +/obj/item/storage/box/ammo/a308/hunterspride, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"To" = ( +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"TL" = ( +/obj/structure/closet/cabinet{ + name = "broken hunter's locker"; + desc = "Everything a hunter will need, held in one secure closet. Or it would, if the lock wasn't smashed open." + }, +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/obj/item/clothing/mask/gas/frontiersmen, +/obj/item/clothing/under/frontiersmen/fireproof, +/obj/item/clothing/head/helmet/bulletproof/x11/frontier/fireproof, +/obj/item/clothing/suit/armor/frontier/fireproof, +/obj/item/flamethrower, +/obj/item/lighter/greyscale, +/obj/item/reagent_containers/food/drinks/bottle/vodka, +/obj/effect/decal/cleanable/wrapping, +/obj/item/clothing/glasses/trickblindfold, +/obj/item/melee/knife/switchblade, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"TM" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"TV" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 10 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Uc" = ( +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/plasteel/stairs/wood{ + dir = 8 + }, +/area/ruin/powered/icemoon/lodge/cellar) +"Ug" = ( +/obj/structure/bookcase/random/religion, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"Um" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 5 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Uz" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 1 + }, +/turf/open/floor/wood/ebony/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"UJ" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 9 + }, +/turf/open/floor/wood/ebony/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"UK" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"UL" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/siding/brown{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony{ + icon_state = "wood-broken" + }, +/area/ruin/powered/icemoon/lodge/residential) +"UX" = ( +/turf/open/floor/wood/maple{ + icon_state = "wood-broken2" + }, +/area/ruin/powered/icemoon/lodge/gear_room) +"UY" = ( +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"Vc" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 9 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"Vo" = ( +/obj/item/storage/pill_bottle/floorpill/full{ + pixel_y = 7; + pixel_x = 14 + }, +/obj/effect/decal/cleanable/vomit/old{ + pixel_x = -14; + pixel_y = 18 + }, +/obj/effect/decal/cleanable/vomit/old{ + icon_state = "vomit_2"; + pixel_x = -12; + pixel_y = 2 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"Vz" = ( +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/montagne_office) +"VB" = ( +/obj/structure/railing/wood, +/obj/structure/table/wood, +/obj/item/storage/pill_bottle/stimulant, +/obj/item/reagent_containers/pill/happy{ + pixel_y = 10; + pixel_x = -7 + }, +/obj/item/reagent_containers/pill/happy{ + pixel_y = 2; + pixel_x = 9 + }, +/turf/open/floor/wood/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"VK" = ( +/turf/open/floor/wood/maple{ + icon_state = "wood-broken5" + }, +/area/ruin/powered/icemoon/lodge/cellar) +"Wa" = ( +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/wood/mahogany{ + icon_state = "wood-broken6" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"Wc" = ( +/obj/effect/turf_decal/spline/fancy/wood/cee{ + dir = 1 + }, +/obj/machinery/door/airlock/wood{ + name = "Restroom" + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/residential) +"Wd" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 8 + }, +/obj/effect/decal/cleanable/glass, +/mob/living/simple_animal/hostile/human/frontier/ranged/surgeon/internals/neuter, +/turf/open/floor/plasteel/white, +/area/ruin/powered/icemoon/lodge/residential) +"Wk" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"Wp" = ( +/obj/structure/closet/cabinet{ + name = "broken shadow's locker"; + desc = "The closet of equipment and attire for the aspiring shadow. Or whichever guy broke this closet's lock." + }, +/obj/effect/turf_decal/siding/brown{ + dir = 4 + }, +/obj/item/clothing/head/soft/frontiersmen, +/obj/item/clothing/under/frontiersmen/deckhand, +/obj/item/clothing/accessory/holster, +/obj/effect/decal/cleanable/plastic, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/gear_room) +"Ws" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/structure/curtain/cloth/fancy, +/turf/open/floor/plating, +/area/ruin/powered/icemoon/lodge/montagne_office) +"Wv" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/gear_room) +"WF" = ( +/obj/structure/flora/rock/pile/icy, +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"WI" = ( +/obj/structure/chair/pew/right{ + dir = 1 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"WN" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"WS" = ( +/obj/structure/flora/stump{ + icon_state = "anchored_rod"; + pixel_y = -3; + name = "rod"; + desc = "A metal rod struck into the ground." + }, +/obj/item/clothing/head/helmet/bulletproof/x11/clip{ + pixel_y = 24; + name = "\improper Dented Minutemen X11 Helmet" + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"WW" = ( +/obj/structure/chair/pew/left{ + dir = 1 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"WZ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/c45{ + projectile_type = null + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"Xd" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/structure/table/wood, +/obj/item/reagent_containers/glass/bottle/nutrient/ez{ + pixel_x = 6; + pixel_y = 12; + auto_scatter = 0 + }, +/obj/item/reagent_containers/glass/bottle/nutrient/l4z{ + pixel_x = 6; + pixel_y = 6; + auto_scatter = 0 + }, +/obj/item/reagent_containers/glass/bottle/nutrient/rh{ + pixel_x = 6; + auto_scatter = 0 + }, +/obj/item/reagent_containers/glass/bottle/nutrient/ez{ + pixel_x = -6; + pixel_y = 12; + auto_scatter = 0 + }, +/obj/item/reagent_containers/glass/bottle/nutrient/l4z{ + pixel_x = -6; + pixel_y = 6; + auto_scatter = 0 + }, +/obj/item/reagent_containers/glass/bottle/nutrient/rh{ + pixel_x = -6; + auto_scatter = 0 + }, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"Xm" = ( +/obj/structure/flora/rock/pile/icy{ + icon_state = "icemoonrock1" + }, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"Xq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/plastic, +/turf/open/floor/plating/rust, +/area/ruin/powered/icemoon/lodge/residential) +"Xt" = ( +/obj/effect/decal/cleanable/crayon{ + icon_state = "shotgun"; + pixel_x = 14; + pixel_y = -3 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Xx" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"XF" = ( +/obj/structure/flora/grass/green, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"XK" = ( +/obj/structure/fermenting_barrel/gunpowder, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"XU" = ( +/obj/structure/flora/grass/both, +/obj/item/restraints/legcuffs/beartrap{ + armed = 1 + }, +/turf/open/floor/plating/asteroid/icerock, +/area/overmap_encounter/planetoid/cave/explored) +"Yd" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/frontier/internals, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken3" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"Yj" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt, +/obj/item/mine/proximity/explosive/live{ + range_heavy = 1; + range_light = 5 + }, +/obj/effect/mob_spawn/human/corpse/srm/montagne, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/cellar) +"Yo" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 8 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/residential) +"Yv" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/spline/fancy/wood{ + dir = 9 + }, +/obj/machinery/jukebox/boombox{ + pixel_y = 4; + pixel_x = 1 + }, +/obj/item/toy/cards/deck{ + pixel_y = 0; + pixel_x = -4 + }, +/obj/item/storage/pill_bottle/dice{ + pixel_x = 8; + pixel_y = -1 + }, +/turf/open/floor/wood/mahogany, +/area/ruin/powered/icemoon/lodge/mainhall) +"Yw" = ( +/obj/structure/loom, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"YB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/smartfridge/drying_rack, +/turf/open/floor/wood/maple, +/area/ruin/powered/icemoon/lodge/residential) +"YG" = ( +/obj/item/toy/crayon/spraycan, +/obj/effect/turf_decal/weather/snow{ + dir = 9 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"YO" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/a308{ + pixel_y = 11; + projectile_type = null; + auto_rotate = 0; + auto_scatter = 0 + }, +/obj/item/ammo_casing/a308{ + pixel_y = 3; + projectile_type = null; + auto_rotate = 0; + auto_scatter = 0 + }, +/obj/item/ammo_casing/a308{ + pixel_y = 11; + pixel_x = 6; + projectile_type = null; + auto_rotate = 0; + auto_scatter = 0 + }, +/obj/item/ammo_casing/a308{ + pixel_y = 11; + pixel_x = -6; + projectile_type = null; + auto_rotate = 0; + auto_scatter = 0 + }, +/obj/item/ammo_casing/a308{ + pixel_y = 3; + pixel_x = -6; + projectile_type = null; + auto_rotate = 0; + auto_scatter = 0 + }, +/obj/item/ammo_casing/a308{ + pixel_y = 3; + pixel_x = 6; + projectile_type = null; + auto_rotate = 0; + auto_scatter = 0 + }, +/turf/open/floor/wood/ebony, +/area/ruin/powered/icemoon/lodge/mainhall) +"YU" = ( +/obj/effect/turf_decal/weather/snow{ + dir = 6 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Za" = ( +/turf/open/floor/plating/asteroid/snow/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Zf" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/mug/coco, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Zi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/plastic, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/ruin/powered/icemoon/lodge/residential) +"Zm" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/maple{ + icon_state = "wood-broken" + }, +/area/ruin/powered/icemoon/lodge/gear_room) +"Zn" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/structure/railing/wood{ + dir = 8 + }, +/obj/structure/railing/wood{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"Zo" = ( +/obj/structure/table/wood, +/obj/item/trash/plate{ + pixel_x = -6 + }, +/obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/zombie{ + pixel_x = -6 + }, +/turf/open/floor/carpet/black, +/area/ruin/powered/icemoon/lodge/mainhall) +"Zp" = ( +/obj/effect/turf_decal/siding/brown{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "vomit_2-old" + }, +/obj/item/kirbyplants{ + icon_state = "plant-25"; + pixel_y = 12; + pixel_x = -2 + }, +/turf/open/floor/wood/ebony{ + icon_state = "wood-broken2" + }, +/area/ruin/powered/icemoon/lodge/residential) +"ZG" = ( +/obj/item/target/syndicate, +/obj/effect/turf_decal/weather/snow, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) +"ZX" = ( +/obj/effect/turf_decal/spline/fancy/wood/corner, +/obj/effect/turf_decal/spline/fancy/wood/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/trash/energybar, +/turf/open/floor/wood/mahogany{ + icon_state = "wood-broken3" + }, +/area/ruin/powered/icemoon/lodge/mainhall) +"ZZ" = ( +/obj/structure/table/greyscale, +/obj/item/ammo_box/magazine/illestren_a850r/empty{ + pixel_x = 6 + }, +/obj/effect/turf_decal/weather/snow{ + dir = 1 + }, +/turf/open/floor/concrete/slab_3/icemoon, +/area/overmap_encounter/planetoid/cave/explored) + +(1,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Gy +Hl +Hl +Hl +Hl +Gy +Hl +Hl +Hl +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +"} +(2,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Gy +Hl +Hl +Gy +Hl +Hl +Hl +Hl +Hl +Gy +Gy +Hl +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +"} +(3,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Gy +Hl +Hl +Hl +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +"} +(4,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +"} +(5,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +"} +(6,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +gI +gI +gI +gI +No +No +No +No +No +No +No +No +No +No +No +No +No +No +No +No +No +Hl +Hl +Hl +Hl +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +"} +(7,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +gI +gI +jx +HO +xd +No +nc +No +DB +Ol +Wk +wD +No +dT +bL +Oa +No +PM +Rl +dd +rF +No +No +Hl +Hl +Hl +Hl +Hl +Gy +Gy +Gy +Gy +Gy +Gy +"} +(8,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +gI +gp +rZ +sk +LD +Wc +DR +No +Cs +oC +oC +Nq +No +ON +Wd +jk +No +RX +yo +AJ +xN +QU +No +Hl +Hl +Hl +Hl +Hl +Gy +Gy +Gy +Gy +Gy +Gy +"} +(9,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +gI +rx +Bx +Qz +Wv +No +qK +No +SE +oC +hz +fe +No +Ja +tl +eW +No +No +ds +lh +Kn +cl +No +Hl +Hl +Hl +Hl +Hl +Gy +Gy +Gy +Gy +Gy +Gy +"} +(10,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +gI +ao +bk +UX +Ni +No +ag +No +Ug +Sf +eg +yi +No +fA +uX +Gq +nm +No +rm +fu +ti +cl +No +Hl +Hl +Hl +Hl +Hl +Rg +Gy +Gy +Gy +Gy +Gy +"} +(11,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +gI +TL +qd +kX +cy +No +No +No +No +mc +Ks +No +No +lM +FL +Ok +st +No +rF +rm +rm +QU +No +Hl +Hl +Hl +Hl +Ec +Ec +Ec +Ec +Ec +Gy +Gy +"} +(12,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +gI +Cm +yQ +Js +cy +gI +zN +Yo +am +eU +qO +aa +No +No +RM +iH +No +No +No +px +tT +YB +No +Hl +Hl +Hl +Hl +PH +MO +Ec +Ec +Ec +Hl +Gy +"} +(13,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +gI +dZ +xu +OY +dn +OS +Xx +yj +uR +Xq +uR +LZ +Yo +hI +vs +JS +Yo +ne +nD +uy +Cw +Py +No +Hl +Hl +Hl +Hl +Hl +Hl +dc +MK +Hl +Hl +Hl +"} +(14,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +gI +Wp +ey +bB +Zm +fX +Zp +HC +PB +TM +MC +Zi +uR +uR +wU +BU +yj +vd +No +ib +RV +qH +No +Hl +Hl +Hl +Hl +Hl +Ec +Ec +bb +Hl +Hl +Hl +"} +(15,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +gI +gI +gI +gI +gI +gI +No +No +No +No +No +DM +MP +TM +UK +UK +fn +UL +No +Xd +HG +No +No +Hl +Hl +Hl +Hl +Hl +Nl +XF +bb +Hl +Hl +Hl +"} +(16,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +No +No +No +No +No +No +NM +No +No +No +No +No +Hl +Hl +Hl +Hl +Hl +Hl +iw +bb +qJ +Hl +Hl +Hl +"} +(17,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Za +Dj +sX +WF +Za +Za +nQ +ca +sX +LM +Za +oT +nQ +WW +Hl +Hl +Hl +Hl +Hl +KR +bb +bb +Hl +Hl +Hl +"} +(18,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Za +Za +Dj +Kc +Za +RA +wx +NN +NN +ca +TV +Za +Za +Dj +gR +Hl +Hl +Hl +Hl +Hl +bb +qJ +iw +Hl +Hl +Hl +"} +(19,1,1) = {" +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Za +Za +eK +Kc +gs +ot +NN +ca +NN +ca +ca +TV +gs +Dj +WI +Hl +Hl +Hl +Hl +Hl +Ec +bb +bb +Hl +Hl +Hl +"} +(20,1,1) = {" +Gy +Gy +Gy +Hl +Hl +Hl +Hl +yE +yE +yE +yE +yE +yE +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Za +eK +ca +OD +NN +JP +ca +ca +ca +fa +NN +vG +ca +Zf +Hl +Hl +Hl +Hl +Hl +Nl +Ec +bb +Hl +Hl +Hl +"} +(21,1,1) = {" +Gy +Gy +Hl +Hl +Hl +Hl +yE +yE +MQ +mz +XK +jM +yE +yE +yE +yE +yE +yE +yE +yE +dO +dO +dO +dO +dO +ca +ca +ca +YU +Za +Dj +NN +Kc +Jq +Um +ca +ca +Hl +Hl +Hl +Hl +Hl +Ec +Ec +bb +iB +Hl +Hl +Hl +"} +(22,1,1) = {" +Gy +Gy +Hl +Hl +Hl +yE +yE +ms +Su +Eb +QT +YO +yE +yc +CN +ko +KO +II +mH +qN +UJ +LP +LP +sd +dO +ca +ca +YU +Za +Za +Dj +NN +Kc +Za +Za +Um +ca +NN +Hl +Hl +Hl +Hl +Nl +Ec +Hl +Hl +Hl +Hl +Hl +"} +(23,1,1) = {" +Gy +Hl +Hl +Hl +Hl +yE +uL +fg +ty +uG +qY +Tk +yE +Kh +tL +Yd +CG +CG +Ek +uM +Uz +Ai +wm +pK +dO +ca +Kc +Za +Gd +Za +Dj +NN +Kc +Za +Za +Za +Dj +wj +Hl +Hl +Hl +bb +bb +bb +Hl +Hl +Hl +Hl +Hl +"} +(24,1,1) = {" +Hl +Hl +Hl +Hl +Hl +yE +AO +RE +sW +qY +yE +yE +yE +HZ +Er +yE +To +Td +aV +yE +OR +sc +CW +cS +dO +ca +sX +Za +Za +Za +tW +Nu +Ix +Za +BQ +Za +Dj +ca +ca +ca +GA +bb +iw +bb +Hl +Hl +Hl +Hl +Gy +"} +(25,1,1) = {" +Hl +Hl +Hl +Hl +Hl +yE +yE +yE +KF +yE +yE +Yv +Bf +ZX +aL +OH +OH +OH +OH +OH +OH +Gv +aF +CU +jP +NN +sX +Za +gs +sG +ZZ +QO +qg +PA +gs +oT +Dj +ca +NN +ca +yH +bb +bb +lg +Hl +Hl +Hl +Hl +Hl +"} +(26,1,1) = {" +Hl +Hl +Hl +Hl +Hl +yE +yE +Vc +kl +tX +GR +cW +Do +xM +OH +pS +Rd +zz +Te +no +Ws +Kg +Kg +Kg +GT +ca +sX +oT +Za +sG +Dj +NN +sX +PA +Za +Za +Dj +NN +ca +ca +GA +bb +bb +Ec +Nl +Hl +Hl +Hl +Hl +"} +(27,1,1) = {" +Hl +Hl +Hl +yE +yE +yE +vZ +cA +Do +Do +UY +Do +tn +xM +OH +bv +zz +Te +fI +gz +Ws +GD +Kg +Kg +VB +ca +sX +Za +Jq +sG +Dj +ca +Kc +PA +Za +Za +Dj +ii +Hl +Hl +Hl +bb +iw +Ec +Ec +Hl +Hl +Hl +Gy +"} +(28,1,1) = {" +Hl +Hl +Hl +yE +nS +Ik +Mw +aJ +rW +LT +Mx +wy +GN +hs +OH +ka +zz +vf +je +Rt +Ws +Kg +GD +GD +kG +ca +NN +TV +Za +da +nQ +ca +sX +PA +jB +wx +ca +ca +Hl +Hl +Hl +Hl +bb +qJ +bb +Hl +Hl +Hl +Gy +"} +(29,1,1) = {" +Hl +Hl +Hl +yE +yE +ik +Mw +kq +Ag +Zo +zX +fF +aJ +tq +Tj +fw +Se +Vz +Vz +xk +Ws +Mt +cd +GD +ou +ca +NN +ca +TV +da +Dj +ca +sX +PA +YG +NN +ca +Hl +Hl +Hl +Hl +Ox +bb +bb +al +Hl +Hl +Hl +Hl +"} +(30,1,1) = {" +Hl +Hl +Hl +yE +nS +KH +jS +aJ +tN +PE +yO +Fy +aJ +OV +OH +fw +Se +Se +Vz +tr +Ws +LC +hj +GD +Cq +ca +ca +ca +ca +MR +ca +xL +NN +nr +NN +fa +ca +sR +Hl +Hl +Hl +bb +bb +iw +Hl +Hl +Hl +Hl +Hl +"} +(31,1,1) = {" +Hl +Hl +Hl +yE +yE +yE +um +wi +Do +xb +iG +ev +rO +xM +OH +yp +sx +oa +oa +dA +Ws +Kg +Mt +Kg +GS +ca +sD +gs +Um +Oq +xL +NN +ca +Xt +YU +gs +Dj +WW +Hl +Hl +Hl +Oc +bb +qJ +Hl +Hl +Hl +Hl +Hl +"} +(32,1,1) = {" +Hl +Hl +Hl +Hl +Hl +yE +yE +AE +bC +vq +Wa +sY +Vo +xM +OH +OH +NO +HQ +BL +mP +Ws +Kg +GD +Kg +tx +ca +sX +Za +Za +wt +qr +ca +ca +mL +Za +Za +rT +gR +Hl +Hl +Hl +qJ +bb +bb +Hl +Hl +Hl +Hl +Hl +"} +(33,1,1) = {" +Gy +Hl +Hl +Hl +Hl +yE +yE +yE +jD +yE +yE +bG +Aq +dl +lE +OH +OH +OH +OH +OH +OH +Cu +DA +DA +Zn +ca +YU +Za +oT +da +Dj +WS +ZG +PA +LM +Za +Dj +WI +Hl +Hl +Hl +Hl +bb +Ec +Hl +Hl +Hl +Hl +Hl +"} +(34,1,1) = {" +Gy +Hl +Hl +Hl +Hl +yE +LF +bK +Nc +HV +yE +yE +yE +lU +RH +Cu +Aj +Jj +aZ +WZ +Ay +Cu +Cu +Hl +Hl +Hl +Za +Za +Za +Za +dO +dO +dO +Hl +Za +Za +Hl +Hl +Hl +Hl +Hl +Hl +XU +Ec +Ox +Hl +Hl +Hl +Gy +"} +(35,1,1) = {" +Gy +Gy +Hl +Hl +Hl +yE +tD +NH +mj +AB +dV +uA +yE +tG +Uc +Cu +Ak +PQ +KX +PQ +qR +qb +Cu +Hl +Hl +Hl +Hl +Za +Hl +Za +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +iw +bb +bb +Hl +Hl +Gy +Gy +"} +(36,1,1) = {" +Gy +Gy +Hl +Hl +Hl +yE +yE +mF +Gb +ud +Ge +mI +yE +VK +AX +Ez +sO +pG +WZ +nd +gr +Yj +Cu +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +bb +bb +lJ +bb +Hl +Hl +Gy +Gy +"} +(37,1,1) = {" +Gy +Gy +Hl +Hl +Hl +Hl +yE +yE +pi +ve +Yw +eC +yE +pf +Gs +PI +NL +Lz +jR +Gn +Fj +wF +Cu +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Nl +Xm +bb +bb +qD +bb +Gy +Gy +"} +(38,1,1) = {" +Gy +Gy +Hl +Hl +Hl +Hl +Hl +yE +yE +yE +yE +yE +yE +Cu +Cu +Cu +wT +PV +wc +zh +WN +Cu +Cu +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +sJ +bb +rS +bb +Gy +Gy +"} +(39,1,1) = {" +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Cu +Cu +Cu +rs +Cu +Cu +Cu +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +kZ +Gy +Gy +"} +(40,1,1) = {" +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +iE +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +bb +Gy +Gy +Gy +"} +(41,1,1) = {" +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Gy +Gy +Hl +Hl +Hl +Hl +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Gy +Gy +Gy +Gy +Gy +"} +(42,1,1) = {" +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +"} +(43,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Hl +Gy +Gy +Gy +Hl +Hl +Hl +Hl +Hl +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +"} +(44,1,1) = {" +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +Gy +"} diff --git a/code/datums/ruins/icemoon.dm b/code/datums/ruins/icemoon.dm index 81b7aea8582c..30b231c385c2 100644 --- a/code/datums/ruins/icemoon.dm +++ b/code/datums/ruins/icemoon.dm @@ -31,3 +31,11 @@ description = "Safety records for early Nanotrasen Spaceworks vessels were, and always have been, top of their class. Absolutely no multi-billion credit projects have been painstakingly erased from history. (Citation Needed)" suffix = "icemoon_crashed_holemaker.dmm" ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MINOR_LOOT, RUIN_TAG_SHELTER) + +/datum/map_template/ruin/icemoon/ice_lodge + name = "Ice Lodge" + id = "ice_lodge" + description = "Records show this settlement as belonging to the SRM, but no one has heard from them as of late. I wonder what happened?" + suffix = "icemoon_ice_lodge.dmm" + ruin_tags = list(RUIN_TAG_HARD_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_SHELTER, RUIN_TAG_HAZARDOUS) + diff --git a/code/game/area/areas/ruins/icemoon.dm b/code/game/area/areas/ruins/icemoon.dm index 8e614c8a0e79..ec2c6b438f0c 100644 --- a/code/game/area/areas/ruins/icemoon.dm +++ b/code/game/area/areas/ruins/icemoon.dm @@ -24,3 +24,25 @@ /area/ruin/unpowered/crashed_holemaker name = "NTSV Holemaker II" // In honor of the kugelblitz shenanigan of all time icon_state = "green" + +// Ice Lodge + +/area/ruin/powered/icemoon/lodge/mainhall + name = "Main Hall" + icon_state = "bridge_hallway" + +/area/ruin/powered/icemoon/lodge/cellar + name = "Cellar" + icon_state = "yellow" + +/area/ruin/powered/icemoon/lodge/montagne_office + name = "Montagne's Office" + icon_state = "bridge" + +/area/ruin/powered/icemoon/lodge/residential + name = "Residential Quarters" + icon_state = "crew_quarters" + +/area/ruin/powered/icemoon/lodge/gear_room + name = "Gear Room" + icon_state = "security" diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index 1163a5520631..161fc819b4a6 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -1294,3 +1294,18 @@ /obj/item/storage/ration/cheese_pizza_slice = 5, /obj/item/storage/ration/crayons = 2 // :) ) + +/obj/effect/spawner/lootdrop/chem_jug + loot = list( + /obj/item/reagent_containers/glass/chem_jug/carbon, + /obj/item/reagent_containers/glass/chem_jug/oxygen, + /obj/item/reagent_containers/glass/chem_jug/nitrogen, + /obj/item/reagent_containers/glass/chem_jug/hydrogen, + /obj/item/reagent_containers/glass/chem_jug/radium, + /obj/item/reagent_containers/glass/chem_jug/aluminium, + /obj/item/reagent_containers/glass/chem_jug/chlorine, + /obj/item/reagent_containers/glass/chem_jug/copper, + /obj/item/reagent_containers/glass/chem_jug/bromine, + /obj/item/reagent_containers/glass/chem_jug/iodine, + /obj/item/reagent_containers/glass/chem_jug/potassium, + /obj/item/reagent_containers/glass/chem_jug/sulfur) diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 4e95b5558842..b74c4926ea17 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -185,6 +185,11 @@ user.do_attack_animation(src, ATTACK_EFFECT_KICK) take_damage(2) +/obj/structure/displaycase/broken + name = "broken display case" + desc = "A display case for prized possessions. Or at least it was, until someone smashed it open." + broken = 1 + /obj/structure/displaycase_chassis anchored = TRUE density = FALSE diff --git a/code/game/objects/structures/fence.dm b/code/game/objects/structures/fence.dm index 8697662ed097..819264eb1ced 100644 --- a/code/game/objects/structures/fence.dm +++ b/code/game/objects/structures/fence.dm @@ -111,11 +111,6 @@ cuttable = FALSE var/open = FALSE -/obj/structure/fence/door/Initialize() - . = ..() - - update_door_status() - /obj/structure/fence/door/opened icon_state = "door_opened" open = TRUE diff --git a/code/game/turfs/open/floor/plating/icemoon.dm b/code/game/turfs/open/floor/plating/icemoon.dm index ca1819af2531..0fd0d95faed3 100644 --- a/code/game/turfs/open/floor/plating/icemoon.dm +++ b/code/game/turfs/open/floor/plating/icemoon.dm @@ -223,3 +223,27 @@ /turf/open/floor/plating/asteroid/snow/ice/burn_tile() return FALSE +/turf/open/floor/wood/icemoon + baseturfs = /turf/open/floor/plating/asteroid/snow/ice/icemoon + initial_gas_mix = ICEMOON_DEFAULT_ATMOS + planetary_atmos = TRUE + slowdown = 0 + +/turf/open/floor/wood/ebony/icemoon + baseturfs = /turf/open/floor/plating/asteroid/snow/ice/icemoon + initial_gas_mix = ICEMOON_DEFAULT_ATMOS + planetary_atmos = TRUE + slowdown = 0 + +/turf/open/floor/plasteel/stairs/wood/icemoon + baseturfs = /turf/open/floor/plating/asteroid/snow/ice/icemoon + initial_gas_mix = ICEMOON_DEFAULT_ATMOS + planetary_atmos = TRUE + slowdown = 0 + +/turf/open/floor/concrete/slab_3/icemoon + baseturfs = /turf/open/floor/plating/asteroid/snow/ice/icemoon + initial_gas_mix = ICEMOON_DEFAULT_ATMOS + planetary_atmos = TRUE + slowdown = 0 + diff --git a/code/modules/hydroponics/fermenting_barrel.dm b/code/modules/hydroponics/fermenting_barrel.dm index a91ad2b90050..6f1b40b3dc9d 100644 --- a/code/modules/hydroponics/fermenting_barrel.dm +++ b/code/modules/hydroponics/fermenting_barrel.dm @@ -76,6 +76,14 @@ icon_state = closed_state return ..() +/obj/structure/fermenting_barrel/gunpowder + name = "Gunpowder Barrel" + desc = "A wooden barrel packed with gunpowder. You should probably keep this away from sparks or open fires." + +/obj/structure/fermenting_barrel/gunpowder/Initialize() + . = ..() + reagents.add_reagent(/datum/reagent/gunpowder, 200) + /obj/structure/fermenting_barrel/distiller name = "Distiller" icon_state = "distiller" diff --git a/code/modules/hydroponics/growninedible.dm b/code/modules/hydroponics/growninedible.dm index ee76f02e02c8..8ab59cc6f658 100644 --- a/code/modules/hydroponics/growninedible.dm +++ b/code/modules/hydroponics/growninedible.dm @@ -7,6 +7,7 @@ icon = 'icons/obj/hydroponics/harvest.dmi' resistance_flags = FLAMMABLE var/obj/item/seeds/seed = null // type path, gets converted to item on New(). It's safe to assume it's always a seed item. + var/auto_scatter = TRUE /obj/item/grown/Initialize(newloc, obj/item/seeds/new_seed) . = ..() @@ -18,9 +19,9 @@ // This is for adminspawn or map-placed growns. They get the default stats of their seed type. seed = new seed() seed.adjust_potency(50-seed.potency) - - pixel_x = base_pixel_x + rand(-5, 5) - pixel_y = base_pixel_y + rand(-5, 5) + if(auto_scatter) + pixel_x = base_pixel_x + rand(-5, 5) + pixel_y = base_pixel_y + rand(-5, 5) if(seed) // Go through all traits in their genes and call on_new_plant from them. diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index 56ad2264ce01..6d56533e9953 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -179,11 +179,13 @@ volume = 50 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(1,2,5,10,15,25,50) + var/auto_scatter = TRUE /obj/item/reagent_containers/glass/bottle/nutrient/Initialize() . = ..() - pixel_x = base_pixel_x + rand(-5, 5) - pixel_y = base_pixel_y + rand(-5, 5) + if(auto_scatter) + pixel_x = base_pixel_x + rand(-5, 5) + pixel_y = base_pixel_y + rand(-5, 5) /obj/item/reagent_containers/glass/bottle/nutrient/ez diff --git a/code/modules/mob/living/simple_animal/corpse.dm b/code/modules/mob/living/simple_animal/corpse.dm index 1b8004cbd5b5..def184966c93 100644 --- a/code/modules/mob/living/simple_animal/corpse.dm +++ b/code/modules/mob/living/simple_animal/corpse.dm @@ -133,6 +133,13 @@ /obj/effect/mob_spawn/human/corpse/frontier/ranged outfit = /datum/outfit/frontier +/obj/effect/mob_spawn/human/corpse/frontier/surgeon + outfit = /datum/outfit/job/frontiersmen/doctor/corpse + +/datum/outfit/job/frontiersmen/doctor/corpse + name = "Frontiersmen Surgeon Corpse" + r_pocket = null + /obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper outfit = /datum/outfit/frontier/trooper @@ -169,6 +176,17 @@ /obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy/gunless outfit = /datum/outfit/frontier/trooper/heavy/gunless +/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/flame + outfit = /datum/outfit/job/frontiersmen/ert/flamer/corpse + +/datum/outfit/job/frontiersmen/ert/flamer/corpse + name = "Frontiersman Flametrooper Corpse" + back = null + belt = /obj/item/storage/belt/security/military/frontiersmen + l_hand = null + + backpack_contents = null + /datum/outfit/frontier/trooper/heavy/gunless name = "Frontiersman Heavy Corpse (Gunless)" back = null @@ -251,3 +269,15 @@ id_job = "SolGov Sonnensoldner" outfit = /datum/outfit/job/solgov/sonnensoldner id_access_list = list(ACCESS_SOLGOV) + +/obj/effect/mob_spawn/human/corpse/srm/hunter + name = "SRM Hunter" + id_job = "Hunter" + outfit = /datum/outfit/job/roumain/security + id_access_list = null + +/obj/effect/mob_spawn/human/corpse/srm/montagne + name = "SRM Montagne" + id_job = "Hunter Montagne" + outfit = /datum/outfit/job/roumain/captain + id_access_list = null diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index 7490a5d81e33..dbaed17713c8 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -33,7 +33,7 @@ var/check_friendly_fire = FALSE // Should the ranged mob check for friendlies when shooting var/retreat_distance = null //If our mob runs from players when they're too close, set in tile distance. By default, mobs do not retreat. var/minimum_distance = 1 //Minimum approach distance, so ranged mobs chase targets down, but still keep their distance set in tiles to the target, set higher to make mobs keep distance - + var/shoot_point_blank = FALSE // If this mob will still shoot even in melee range. //These vars are related to how mobs locate and target var/robust_searching = 0 //By default, mobs have a simple searching method, set this to 1 for the more scrutinous searching (stat_attack, stat_exclusive, etc), should be disabled on most mobs @@ -315,7 +315,10 @@ Goto(target,move_to_delay,minimum_distance) if(target) if(isturf(target_from.loc) && target.Adjacent(target_from)) //If they're next to us, attack - MeleeAction() + if(ranged && shoot_point_blank && ranged_cooldown <= world.time) + OpenFire(target) + else + MeleeAction() else if(rapid_melee > 1 && target_distance <= melee_queue_distance) MeleeAction(FALSE) @@ -702,3 +705,27 @@ if (length(initial(src.faction)) > 0) src.faction += initial(src.faction) src.faction += tag + +/mob/living/simple_animal/hostile/proc/fire_line(source, list/turfs, fire_source = "fire breath", ignite_turfs = FALSE, power = 4, flame_color = "red") + var/list/hit_list = list() + for(var/turf/T in turfs) + if(istype(T, /turf/closed)) + break + new /obj/effect/hotspot(T) + T.hotspot_expose(700,50,1) + if(ignite_turfs) + T.IgniteTurf(power,flame_color) + for(var/mob/living/L in T.contents) + if(L in hit_list || L == source) + continue + hit_list += L + L.adjustFireLoss(20) + to_chat(L, "You're hit by [source]'s [fire_source]!") + + // deals damage to mechs + for(var/obj/mecha/M in T.contents) + if(M in hit_list) + continue + hit_list += M + M.take_damage(45, BRUTE, "melee", 1) + sleep(1.5) diff --git a/code/modules/mob/living/simple_animal/hostile/human/cat_butcher.dm b/code/modules/mob/living/simple_animal/hostile/human/cat_butcher.dm deleted file mode 100644 index 0f14f615e5b6..000000000000 --- a/code/modules/mob/living/simple_animal/hostile/human/cat_butcher.dm +++ /dev/null @@ -1,86 +0,0 @@ -/mob/living/simple_animal/hostile/human/cat_butcherer - name = "Cat Surgeon" - desc = "Feline genemod physiological modification surgery is outlawed in Nanotrasen-controlled sectors. This doctor doesn't seem to care, and thus, is wanted for several warcrimes." - icon_state = "cat_butcher" - icon_living = "cat_butcher" - projectiletype = /obj/projectile/bullet/dart/tranq - projectilesound = 'sound/items/syringeproj.ogg' - ranged = TRUE - ranged_message = "fires the syringe gun at" - ranged_cooldown_time = 30 - speak_chance = 0 - stat_attack = HARD_CRIT - melee_damage_lower = 15 - melee_damage_upper = 15 - attack_verb_continuous = "slashes at" - attack_verb_simple = "slash at" - attack_sound = 'sound/weapons/circsawhit.ogg' - loot = list(/obj/effect/mob_spawn/human/corpse/cat_butcher, /obj/item/circular_saw, /obj/item/gun/syringe) - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) - faction = list("hostile") - check_friendly_fire = TRUE - var/impatience = 0 - -/mob/living/simple_animal/hostile/human/cat_butcherer/CanAttack(atom/the_target) - if(iscarbon(target)) - var/mob/living/carbon/human/C = target - if(C.getorgan(/obj/item/organ/ears/cat) && C.getorgan(/obj/item/organ/tail/cat) && C.has_trauma_type(/datum/brain_trauma/severe/pacifism))//he wont attack his creations - if(C.stat >= UNCONSCIOUS && (!HAS_TRAIT(C, TRAIT_NOMETABOLISM) || !istype(C.dna.species, /datum/species/ipc)))//unless they need healing - return ..() - else - return FALSE - return ..() - -/mob/living/simple_animal/hostile/human/cat_butcherer/AttackingTarget() - if(iscarbon(target)) - var/mob/living/carbon/human/L = target - if(!L.getorgan(/obj/item/organ/ears/cat) && L.stat >= UNCONSCIOUS) //target doesnt have cat ears - if(L.getorgan(/obj/item/organ/ears)) //slice off the old ears - var/obj/item/organ/ears/ears = L.getorgan(/obj/item/organ/ears) - visible_message("[src] slices off [L]'s ears!", "You slice [L]'s ears off.") - ears.Remove(L) - ears.forceMove(get_turf(L)) - else //implant new ears - visible_message("[src] attaches a pair of cat ears to [L]!", "You attach a pair of cat ears to [L].") - var/obj/item/organ/ears/cat/newears = new - newears.Insert(L, drop_if_replaced = FALSE) - return - else if(!L.getorgan(/obj/item/organ/tail/cat) && L.stat >= UNCONSCIOUS) - if(L.getorgan(/obj/item/organ/tail)) //cut off the tail if they have one already - var/obj/item/organ/tail/tail = L.getorgan(/obj/item/organ/tail) - visible_message("[src] severs [L]'s tail in one swift swipe!", "You sever [L]'s tail in one swift swipe.") - tail.Remove(L) - tail.forceMove(get_turf(L)) - else //put a cat tail on - visible_message("[src] attaches a cat tail to [L]!", "You attach a tail to [L].") - var/obj/item/organ/tail/cat/newtail = new - newtail.Insert(L, drop_if_replaced = FALSE) - return - else if(!L.has_trauma_type(/datum/brain_trauma/severe/pacifism) && L.stat >= UNCONSCIOUS) //still does damage - visible_message("[src] drills a hole in [L]'s skull!", "You pacify [L]. Another successful creation.") - L.gain_trauma(/datum/brain_trauma/severe/pacifism, TRAUMA_RESILIENCE_SURGERY) - say("I'm a genius!!") - L.health += 20 //he heals a bit whenever he finishes - else if(L.stat >= UNCONSCIOUS) //quickly heal them up and move on to our next target! - visible_message("[src] injects [L] with an unknown medicine!", "You inject [L] with medicine.") - L.SetSleeping(0, FALSE) - L.SetUnconscious(0, FALSE) - L.adjustOxyLoss(-50)// do CPR first - if(L.blood_volume <= 500) //bandage them up and give em some blood if they're bleeding - L.blood_volume += 30 - L.heal_bleeding(10) - if(L.getBruteLoss() >= 50)// first, did we beat them into crit? if so, heal that - var/healing = min(L.getBruteLoss(), 120) - L.adjustBruteLoss(-healing) - L.heal_bleeding(10) - return - else if(L.getFireLoss() >= 50) // are they still down from other damage? fix it, but not as fast as the burns - var/healing = min(L.getFireLoss(), 50) - L.adjustFireLoss(-healing) - impatience += 50 - if(prob(impatience)) - FindTarget()//so we don't focus on some unconscious dude when we could get our eyes on the prize - impatience = 0 - say("Bah!!") - return - return ..() diff --git a/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm b/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm index c21805ff12c7..84a7af5b273f 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm @@ -53,6 +53,40 @@ /mob/living/simple_animal/hostile/human/frontier/ranged/neutered loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged) +/mob/living/simple_animal/hostile/human/frontier/ranged/surgeon + icon_state = "frontiersmansurgeon" + icon_living = "frontiersmansurgeon" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/surgeon, + /obj/item/melee/knife/survival, + /obj/item/gun/syringe) + + minimum_distance = 1 + retreat_distance = null + projectiletype = /obj/projectile/bullet/dart/tranq + projectilesound = 'sound/items/syringeproj.ogg' + casingtype = null + ranged_message = "fires the syringe gun at" + ranged_cooldown_time = 30 + +/mob/living/simple_animal/hostile/human/frontier/ranged/surgeon/neuter + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/surgeon) + +/mob/living/simple_animal/hostile/human/frontier/ranged/surgeon/internals + icon_state = "frontiersmansurgeon_mask" + icon_living = "frontiersmansurgeon_mask" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/surgeon, + /obj/item/melee/knife/survival, + /obj/item/gun/syringe, + /obj/item/clothing/mask/gas/sechailer, + /obj/item/tank/internals/emergency_oxygen/engi) + +/mob/living/simple_animal/hostile/human/frontier/ranged/surgeon/internals/neuter + icon_state = "frontiersmansurgeon_mask" + icon_living = "frontiersmansurgeon_mask" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/surgeon, + /obj/item/clothing/mask/gas/sechailer, + /obj/item/tank/internals/emergency_oxygen/engi) + /mob/living/simple_animal/hostile/human/frontier/ranged/mosin icon_state = "frontiersmanrangedrifle" icon_living = "frontiersmanrangedrifle" @@ -107,6 +141,33 @@ /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/neutered loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper) +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/flame + icon_state = "frontiersmanflametrooper" + icon_living = "frontiersmanflametrooper" + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/flame, + /obj/item/flamethrower) + atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + minbodytemp = 0 + maxbodytemp = 1000 + + minimum_distance = 1 + retreat_distance = null + shoot_point_blank = TRUE + projectiletype = null + projectilesound = 'sound/weapons/gun/flamethrower/flamethrower1.ogg' + casingtype = null + +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/flame/OpenFire() + var/turf/T = get_ranged_target_turf_direct(src, target, 4) + var/list/burn_turfs = getline(src, T) - get_turf(src) + visible_message("[src] [ranged_message] at [target.name]!") + playsound(src, projectilesound, 100, TRUE) + fire_line(src, burn_turfs, "flamethrower", TRUE, 10) + ranged_cooldown = world.time + ranged_cooldown_time + +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/flame/neuter + loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/flame) + /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm icon_state = "frontiersmanrangedak47" icon_living = "frontiersmanrangedak47" @@ -117,7 +178,7 @@ loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, /obj/item/gun/ballistic/automatic/assault/skm) -/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/internals icon_state = "frontiersmanrangedak47_mask" icon_living = "frontiersmanrangedak47_mask" loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, @@ -127,7 +188,7 @@ atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 -/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals/neutered +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/internals/neutered loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, /obj/item/clothing/mask/gas, /obj/item/tank/internals/emergency_oxygen/engi) @@ -184,7 +245,7 @@ minbodytemp = 0 -/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/heavy/neutered +/mob/living/simple_animal/hostile/human/frontier/ranged/trooper/heavy/internals/neutered loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy/gunless, /obj/item/clothing/mask/gas, /obj/item/tank/internals/emergency_oxygen/engi) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm index 7035ba7e17d5..a35f5ed8f2ee 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm @@ -179,7 +179,7 @@ Difficulty: Medium var/increment = 360 / spiral_count for(var/j = 1 to spiral_count) var/list/turfs = line_target(j * increment + i * increment / 2, range, src) - INVOKE_ASYNC(src, PROC_REF(fire_line), turfs) + INVOKE_ASYNC(src, PROC_REF(dragon_fire_line), turfs) SLEEP_CHECK_DEATH(25) SetRecoveryTime(30) @@ -250,11 +250,11 @@ Difficulty: Medium var/range = 15 var/list/turfs = list() turfs = line_target(-40, range, at) - INVOKE_ASYNC(src, PROC_REF(fire_line), turfs) + INVOKE_ASYNC(src, PROC_REF(dragon_fire_line), turfs) turfs = line_target(0, range, at) - INVOKE_ASYNC(src, PROC_REF(fire_line), turfs) + INVOKE_ASYNC(src, PROC_REF(dragon_fire_line), turfs) turfs = line_target(40, range, at) - INVOKE_ASYNC(src, PROC_REF(fire_line), turfs) + INVOKE_ASYNC(src, PROC_REF(dragon_fire_line), turfs) /mob/living/simple_animal/hostile/megafauna/dragon/proc/line_target(offset, range, atom/at = target) if(!at) @@ -268,32 +268,9 @@ Difficulty: Medium T = check return (getline(src, T) - get_turf(src)) -/mob/living/simple_animal/hostile/megafauna/dragon/proc/fire_line(list/turfs) +/mob/living/simple_animal/hostile/megafauna/dragon/proc/dragon_fire_line(list/turfs) SLEEP_CHECK_DEATH(0) - dragon_fire_line(src, turfs) - -//fire line keeps going even if dragon is deleted -/proc/dragon_fire_line(source, list/turfs) - var/list/hit_list = list() - for(var/turf/T in turfs) - if(istype(T, /turf/closed)) - break - new /obj/effect/hotspot(T) - T.hotspot_expose(700,50,1) - for(var/mob/living/L in T.contents) - if(L in hit_list || L == source) - continue - hit_list += L - L.adjustFireLoss(20) - to_chat(L, "You're hit by [source]'s fire breath!") - - // deals damage to mechs - for(var/obj/mecha/M in T.contents) - if(M in hit_list) - continue - hit_list += M - M.take_damage(45, BRUTE, "melee", 1) - sleep(1.5) + fire_line(src, turfs) /mob/living/simple_animal/hostile/megafauna/dragon/proc/swoop_attack(lava_arena = FALSE, atom/movable/manual_target, swoop_cooldown = 30) if(stat || swooping) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice_whelp.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice_whelp.dm index 7a4d8cb234c2..8973b3ed18b5 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice_whelp.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice_whelp.dm @@ -40,7 +40,7 @@ /mob/living/simple_animal/hostile/asteroid/ice_whelp/OpenFire() var/turf/T = get_ranged_target_turf_direct(src, target, fire_range) var/list/burn_turfs = getline(src, T) - get_turf(src) - dragon_fire_line(src, burn_turfs) + fire_line(src, burn_turfs) /mob/living/simple_animal/hostile/asteroid/ice_whelp/death(gibbed) move_force = MOVE_FORCE_DEFAULT diff --git a/code/modules/paperwork/paper_premade.dm b/code/modules/paperwork/paper_premade.dm index 89cc40517a5f..81c84d0b28f4 100644 --- a/code/modules/paperwork/paper_premade.dm +++ b/code/modules/paperwork/paper_premade.dm @@ -112,3 +112,12 @@ name = "URGENT!" default_raw_text = "A hastily written note has been scribbled here...

    Please use the ore redemption machine in the cargo office for smelting. PLEASE!

    --The Research Staff" +//////////// Ruins + +/obj/item/paper/crumpled/bloody/fluff/ruin/icemoon/cellar_warning + name = "\improper Scrawled Note" + default_raw_text = "

    HEY! YOU.


    Yeah. You.
    One of the Hunters got away and holed up in the cellar and set up a whole bunch of traps. Crazy asshole has already killed like four of our guys in the murder basement. So boss says keep the door sealed and let the prick starve.

    SO DONT OPEN IT.

    " + +/obj/item/paper/crumpled/bloody/fluff/ruin/icemoon/tally_sheet + name = "\improper Tally Sheet" + default_raw_text = "

    Marksmanship Leaderboard


    " diff --git a/code/modules/projectiles/ammunition/_ammo_casing.dm b/code/modules/projectiles/ammunition/_ammo_casing.dm index 237baa0d536a..ecbd445eda0c 100644 --- a/code/modules/projectiles/ammunition/_ammo_casing.dm +++ b/code/modules/projectiles/ammunition/_ammo_casing.dm @@ -29,6 +29,8 @@ /// If true, the casing's sprite will automatically be transformed in Initialize(). /// Disable for things like rockets or other heavy ammunition that should only appear right-side up. var/auto_rotate = TRUE + /// If you dont want to bullets to randomly change position on spawn. For mapping. + var/auto_scatter = TRUE ///Pellets for spreadshot var/pellets = 1 @@ -142,8 +144,9 @@ . = ..() if(projectile_type) BB = new projectile_type(src) - pixel_x = base_pixel_x + rand(-10, 10) - pixel_y = base_pixel_y + rand(-10, 10) + if(auto_scatter) + pixel_x = base_pixel_x + rand(-10, 10) + pixel_y = base_pixel_y + rand(-10, 10) item_flags |= NO_PIXEL_RANDOM_DROP if(auto_rotate) transform = transform.Turn(round(45 * rand(0, 32) / 2)) diff --git a/icons/mob/simple_frontiersman.dmi b/icons/mob/simple_frontiersman.dmi index c5b9962fd2368d9d0bedc76c5fd0b9ba6e6a7127..76532a9b45e9c81a31a838c1487c2caf61f1f9dc 100644 GIT binary patch literal 41395 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 A@Bjb+ literal 29244 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 W3hL1+8Sr(GAWc;rl}aU>u>S?Co9%)C diff --git a/shiptest.dme b/shiptest.dme index 3166afb77a2a..633a70e7e644 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -2713,7 +2713,6 @@ #include "code\modules\mob\living\simple_animal\hostile\gorilla\emotes.dm" #include "code\modules\mob\living\simple_animal\hostile\gorilla\gorilla.dm" #include "code\modules\mob\living\simple_animal\hostile\gorilla\visuals_icons.dm" -#include "code\modules\mob\living\simple_animal\hostile\human\cat_butcher.dm" #include "code\modules\mob\living\simple_animal\hostile\human\frontiersman.dm" #include "code\modules\mob\living\simple_animal\hostile\human\human.dm" #include "code\modules\mob\living\simple_animal\hostile\human\nanotrasen.dm" From ee1c4036ee08105611d586eed8b705bf0f9e9941 Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Wed, 16 Oct 2024 13:30:43 -0500 Subject: [PATCH 065/344] Gezena is no longer barefoot (#3566) ## About The Pull Request Someone commented out something to try and see why something was broken and left it. Digi isn't broken either so I'm not sure how this happened. Also removes partial-insulation from the Gezenan captain's gloves that Apogee happened to forget. ## Why It's Good For The Game It's too early in the day for the marines to get silly like this. ## Changelog :cl: fix: Gezena has shoes again del: Gezenan captain gloves no longer have partial insulation in parity with other captain gloves. /:cl: --- code/modules/clothing/factions/gezena.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/modules/clothing/factions/gezena.dm b/code/modules/clothing/factions/gezena.dm index d4ff3169880d..7c17b4ca2dcc 100644 --- a/code/modules/clothing/factions/gezena.dm +++ b/code/modules/clothing/factions/gezena.dm @@ -221,7 +221,6 @@ name = "\improper PGFN Captain's Ihuz-irra Gloves" desc = "As the name, “ihuz-irra”, or “sure-grip”, suggests, the gloves employed by the PGF military are designed to ensure the highest possible grip is maintained while also providing protection from blisters in work environments. Bears the silver standard of a Gezenan captain." icon_state = "captaingloves" - siemens_coefficient = 0.5 //Boots @@ -229,7 +228,7 @@ name = "\improper PGF Uhro-sez Boots" desc = "The word “uhro-sez” translates to “steel-foot”, in reference to the steel toe protection provided by these boots. Standard issue to all members of all branches of the PGF military." icon = 'icons/obj/clothing/faction/gezena/feet.dmi' - //mob_overlay_icon = 'icons/mob/clothing/faction/gezena/feet.dmi' todo: find out why digi breaks here + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/feet.dmi' icon_state = "pgfboots" item_state = "jackboots" From c8938be212de2041034dcea7f1960bf2eb0fd352 Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Wed, 16 Oct 2024 11:56:36 -0700 Subject: [PATCH 066/344] Fixes shotgun calibers (#3573) ## About The Pull Request Fixes the caliber strings on the beanbag, rubber, improvised and incendiary shotgun rounds and shotguns being unable to load them as a consequence. Magazines check for an exact caliber match, so having unique strings like "12ga beanbag" means the round gets rejected. ## Why It's Good For The Game Fixes are good ## Changelog :cl: fix: Shotgun calibers and shotguns being unable to load certain rounds /:cl: --- code/modules/projectiles/ammunition/ballistic/shotgun.dm | 4 ---- 1 file changed, 4 deletions(-) diff --git a/code/modules/projectiles/ammunition/ballistic/shotgun.dm b/code/modules/projectiles/ammunition/ballistic/shotgun.dm index 7d16611b3217..3b7f67dda0f6 100644 --- a/code/modules/projectiles/ammunition/ballistic/shotgun.dm +++ b/code/modules/projectiles/ammunition/ballistic/shotgun.dm @@ -29,7 +29,6 @@ name = "beanbag slug" desc = "A weak beanbag slug for riot control." icon_state = "beanbag" - caliber = "12ga beanbag" custom_materials = list(/datum/material/iron=250) projectile_type = /obj/projectile/bullet/slug/beanbag @@ -37,7 +36,6 @@ name = "rubber shot" desc = "A shotgun casing filled with densely-packed rubber balls, used to incapacitate crowds from a distance." icon_state = "rubber" - caliber = "12ga rubber" projectile_type = /obj/projectile/bullet/pellet/rubbershot pellets = 8 variance = 25 @@ -47,7 +45,6 @@ name = "incendiary slug" desc = "An incendiary-coated shotgun slug." icon_state = "incendiary" - caliber = "12ga incendiary" projectile_type = /obj/projectile/bullet/incendiary/shotgun /obj/item/ammo_casing/shotgun/blank @@ -61,7 +58,6 @@ name = "improvised shell" desc = "An extremely weak shotgun shell with multiple small pellets made out of metal shards." icon_state = "improvised" - caliber = "improvised 12ga" projectile_type = /obj/projectile/bullet/pellet/improvised custom_materials = list(/datum/material/iron=250) pellets = 10 From 784368da06c0507399bf0c83c99f521e00739d13 Mon Sep 17 00:00:00 2001 From: Imaginos16 <77556824+Imaginos16@users.noreply.github.com> Date: Wed, 16 Oct 2024 13:44:15 -0700 Subject: [PATCH 067/344] Resprites Colored Jumpsuits! (#3570) ## About The Pull Request Look upon my works ye mighty, and despair. ![image](https://github.com/user-attachments/assets/527eddb7-3359-4d5c-a35a-875d42469a37) This PR notably removes the woefully underused and really badly sprited rainbow jumpsuit I did three years ago, as well as a mediocre reference to Fight Club. ## Why It's Good For The Game Better sprites! ## Changelog :cl: PositiveEntropy imageadd: All colored jumpsuits have been resprited! del: Rainbow and khaki jumpsuits (including the buster subtype) have been removed. /:cl: --- code/game/machinery/washing_machine.dm | 2 -- code/game/objects/items/miscellaneous.dm | 1 - .../modules/client/loadout/loadout_uniform.dm | 4 --- .../clothing/outfits/factions/independent.dm | 2 +- code/modules/clothing/under/color.dm | 27 ++---------------- .../simple_animal/hostile/human/survivors.dm | 1 - icons/mob/clothing/under/color.dmi | Bin 15023 -> 15493 bytes icons/mob/species/misc/digitigrade.dmi | Bin 105945 -> 111207 bytes icons/obj/clothing/under/color.dmi | Bin 12146 -> 8217 bytes 9 files changed, 3 insertions(+), 34 deletions(-) diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index 4f32fe1d2d3d..6fe9ec2a653f 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -9,7 +9,6 @@ GLOBAL_LIST_INIT(dye_registry, list( DYE_PURPLE = /obj/item/clothing/under/color/lightpurple, DYE_BLACK = /obj/item/clothing/under/color/black, DYE_WHITE = /obj/item/clothing/under/color/white, - DYE_RAINBOW = /obj/item/clothing/under/color/rainbow, DYE_MIME = /obj/item/clothing/under/rank/civilian/mime, DYE_CLOWN = /obj/item/clothing/under/rank/civilian/clown, DYE_CHAP = /obj/item/clothing/under/rank/civilian/chaplain, @@ -33,7 +32,6 @@ GLOBAL_LIST_INIT(dye_registry, list( DYE_PURPLE = /obj/item/clothing/under/color/jumpskirt/lightpurple, DYE_BLACK = /obj/item/clothing/under/color/jumpskirt/black, DYE_WHITE = /obj/item/clothing/under/color/jumpskirt/white, - DYE_RAINBOW = /obj/item/clothing/under/color/jumpskirt/rainbow, DYE_MIME = /obj/item/clothing/under/rank/civilian/mime/skirt, DYE_CHAP = /obj/item/clothing/under/rank/civilian/chaplain/skirt, DYE_QM = /obj/item/clothing/under/rank/cargo/qm/skirt, diff --git a/code/game/objects/items/miscellaneous.dm b/code/game/objects/items/miscellaneous.dm index 25476dd70ad8..e8e78e186031 100644 --- a/code/game/objects/items/miscellaneous.dm +++ b/code/game/objects/items/miscellaneous.dm @@ -122,7 +122,6 @@ new /obj/item/storage/belt/fannypack/bustin(src) new /obj/item/clothing/gloves/color/black(src) new /obj/item/clothing/shoes/jackboots(src) - new /obj/item/clothing/under/color/khaki/buster(src) new /obj/item/grenade/chem_grenade/ghostbuster(src) new /obj/item/grenade/chem_grenade/ghostbuster(src) new /obj/item/grenade/chem_grenade/ghostbuster(src) diff --git a/code/modules/client/loadout/loadout_uniform.dm b/code/modules/client/loadout/loadout_uniform.dm index 96b4088b65bd..162b6718ca6f 100644 --- a/code/modules/client/loadout/loadout_uniform.dm +++ b/code/modules/client/loadout/loadout_uniform.dm @@ -53,10 +53,6 @@ display_name = "jumpsuit, random" path = /obj/item/clothing/under/color/random //literally useless if grey assistants is off -/datum/gear/uniform/color/rainbow - display_name = "jumpsuit, rainbow" - path = /obj/item/clothing/under/color/rainbow - //Shorts /datum/gear/uniform/athshortsred diff --git a/code/modules/clothing/outfits/factions/independent.dm b/code/modules/clothing/outfits/factions/independent.dm index ba883d59f4dd..30017e9eb545 100644 --- a/code/modules/clothing/outfits/factions/independent.dm +++ b/code/modules/clothing/outfits/factions/independent.dm @@ -441,7 +441,7 @@ job_icon = "cargotechnician" ears = /obj/item/radio/headset/headset_cargo - uniform = /obj/item/clothing/under/color/khaki + uniform = /obj/item/clothing/under/color/lightbrown dcoat = /obj/item/clothing/suit/hooded/wintercoat/cargo backpack_contents = list(/obj/item/modular_computer/tablet/preset/cargo=1) diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index a6f3bfa7cf9d..7ac32c9c1295 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -11,7 +11,7 @@ /obj/item/clothing/under/color/random icon_state = "random_jumpsuit" - mob_overlay_state = "rainbow" // if you somehow equip it like that + mob_overlay_state = "white" // if you somehow equip it like that /obj/item/clothing/under/color/random/Initialize() ..() @@ -25,7 +25,7 @@ /obj/item/clothing/under/color/jumpskirt/random icon_state = "random_jumpsuit" //Skirt variant needed - mob_overlay_state = "rainbow" + mob_overlay_state = "white" /obj/item/clothing/under/color/jumpskirt/random/Initialize() ..() @@ -186,15 +186,6 @@ icon_state = "lightbrown_skirt" item_state = "lb_suit" -/obj/item/clothing/under/color/khaki - name = "khaki jumpsuit" - icon_state = "khakij" - item_state = "lb_suit" - -/obj/item/clothing/under/color/khaki/buster - name = "buster jumpsuit" - desc = "There seems to be a large stain in the left pocket. Someone must have squashed a really big twinkie." - /obj/item/clothing/under/color/brown name = "brown jumpsuit" icon_state = "brown" @@ -214,17 +205,3 @@ name = "maroon jumpskirt" icon_state = "maroon_skirt" item_state = "r_suit" - -/obj/item/clothing/under/color/rainbow - name = "rainbow jumpsuit" - desc = "A multi-colored jumpsuit!" - icon_state = "rainbow" - item_state = "rainbow" - can_adjust = FALSE - -/obj/item/clothing/under/color/jumpskirt/rainbow - name = "rainbow jumpskirt" - desc = "A multi-colored jumpskirt!" - icon_state = "rainbow_skirt" - item_state = "rainbow" - can_adjust = FALSE diff --git a/code/modules/mob/living/simple_animal/hostile/human/survivors.dm b/code/modules/mob/living/simple_animal/hostile/human/survivors.dm index 44cf4d210f41..c92af289831d 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/survivors.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/survivors.dm @@ -208,7 +208,6 @@ /obj/item/clothing/under/rank/cargo/miner/lavaland = 10, /obj/item/clothing/under/rank/prisoner = 10, /obj/item/clothing/under/rank/cargo/miner/lavaland/old = 5, - /obj/item/clothing/under/color/khaki/buster = 5, /obj/item/clothing/under/rank/cargo/miner = 5 ) ) diff --git a/icons/mob/clothing/under/color.dmi b/icons/mob/clothing/under/color.dmi index 8bda1f9c7d6c2547f6f718ae9dfdfca92339e66d..d87321f4f018e6df00a96e99f15b0f3d7ae89d7c 100644 GIT binary patch literal 15493 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 literal 15023 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

    w9j*HEIv1!O!Vw+-Y$k>cjD` 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%0A%D#SG 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 literal 105945 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�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 diff --git a/icons/obj/clothing/under/color.dmi b/icons/obj/clothing/under/color.dmi index 7a616f4c3362b3b78c84e8249a4bd0904dd164dd..173056cbbf43cd8e6f32e4fab540e9bd2946399c 100644 GIT binary patch literal 8217 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 RfV=dd7mDf%6>=8u{|C-jWuE{5 From f9511122c7f393481ddf6e5ba50db1b50c2ee4ad Mon Sep 17 00:00:00 2001 From: MemeSnorfer <116136632+MemeSnorfer@users.noreply.github.com> Date: Wed, 16 Oct 2024 13:44:32 -0700 Subject: [PATCH 068/344] Fashion on The Frontier: Dresses (#3565) ## About The Pull Request (PR'ing the right branch this time) Resprites many dresses, and adds many more. Specifically: Resprites all the colored skirts, black tango, red evening gown, sailors dress (reflavored to be Solarian), sundress, striped dress, white dress, and some suitskirts. Adds an extra colored skirt, a pinafore with five other variants, a one shoulder dress, and a Kalixcian dress. ![image](https://github.com/user-attachments/assets/a8672878-603c-4c22-89db-b7cca40a0e4b) ## Why It's Good For The Game Your branch: Crusty, crufty, ugly ![image](https://github.com/user-attachments/assets/3ed162bd-2cea-49ee-9b9d-2a0ae7ce0368) My branch: Cute, pretty, full of beauty ![image](https://github.com/user-attachments/assets/82d6922f-97dc-4f81-93b4-64495a4e2014) ## Changelog :cl: imageadd: Resprites colored skirts, black tango, red evening gown, sailors dress, sundress, white dress, and some suitskirts. add: Six pinafore variants, white colored skirt, one shoulder dress, and iko-ikssoal dress. /:cl: --- .../JungleRuins/jungle_interceptor.dmm | 4 +- _maps/map_files/generic/CentCom.dmm | 2 +- .../independent/independent_tranquility.dmm | 2 +- code/game/objects/effects/spawners/bundle.dm | 2 +- .../modules/client/loadout/loadout_uniform.dm | 89 ++++++++++++++---- code/modules/clothing/under/skirt_dress.dm | 81 ++++++++++++++-- .../hostile/mining_mobs/hivelord_outfits.dm | 2 +- code/modules/vending/autodrobe.dm | 2 +- code/modules/vending/clothesmate.dm | 17 +++- icons/mob/clothing/suit.dmi | Bin 38892 -> 32281 bytes icons/mob/clothing/under/command.dmi | Bin 5043 -> 14750 bytes icons/mob/clothing/under/dress.dmi | Bin 17486 -> 25843 bytes icons/mob/clothing/under/suits.dmi | Bin 21430 -> 20135 bytes icons/obj/clothing/suits.dmi | Bin 17578 -> 16944 bytes icons/obj/clothing/under/command.dmi | Bin 2037 -> 4995 bytes icons/obj/clothing/under/dress.dmi | Bin 5341 -> 7130 bytes icons/obj/clothing/under/suits.dmi | Bin 8212 -> 7877 bytes 17 files changed, 162 insertions(+), 39 deletions(-) diff --git a/_maps/RandomRuins/JungleRuins/jungle_interceptor.dmm b/_maps/RandomRuins/JungleRuins/jungle_interceptor.dmm index f6efbca453e2..4d17f130e1ae 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_interceptor.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_interceptor.dmm @@ -1090,7 +1090,7 @@ /obj/item/radio, /obj/item/radio, /obj/item/clothing/under/color/jumpskirt/darkblue, -/obj/item/clothing/under/dress/skirt/blue, +/obj/item/clothing/under/dress/skirt/color/blue, /obj/effect/turf_decal/corner/opaque/black{ icon_state = "siding_line"; dir = 10 @@ -1516,7 +1516,7 @@ }, /obj/item/radio, /obj/item/radio, -/obj/item/clothing/under/dress/skirt/blue, +/obj/item/clothing/under/dress/skirt/color/blue, /obj/item/clothing/under/color/darkblue, /obj/effect/turf_decal/corner/opaque/black{ icon_state = "siding_line"; diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index d7715e22b561..229134b7eac7 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -4840,7 +4840,7 @@ "aRr" = ( /obj/structure/closet/secure_closet/personal/cabinet, /obj/item/clothing/under/rank/civilian/curator/treasure_hunter, -/obj/item/clothing/under/dress/skirt, +/obj/item/clothing/under/dress/skirt/color, /obj/item/clothing/under/shorts/black, /obj/item/clothing/under/pants/track, /obj/item/clothing/accessory/armband/deputy, diff --git a/_maps/shuttles/independent/independent_tranquility.dmm b/_maps/shuttles/independent/independent_tranquility.dmm index 020de62890e7..35b3044df741 100644 --- a/_maps/shuttles/independent/independent_tranquility.dmm +++ b/_maps/shuttles/independent/independent_tranquility.dmm @@ -1326,7 +1326,7 @@ /obj/item/clothing/head/beret, /obj/item/clothing/under/color/jumpskirt/random, /obj/item/clothing/under/color/random, -/obj/item/clothing/under/dress/skirt/red, +/obj/item/clothing/under/dress/skirt/color/red, /obj/item/clothing/suit/longcoat, /obj/item/clothing/suit/jacket/letterman_red, /obj/item/clothing/head/soft/mime, diff --git a/code/game/objects/effects/spawners/bundle.dm b/code/game/objects/effects/spawners/bundle.dm index e4f36e8b827d..f9f465bf47ab 100644 --- a/code/game/objects/effects/spawners/bundle.dm +++ b/code/game/objects/effects/spawners/bundle.dm @@ -43,7 +43,7 @@ /obj/effect/spawner/bundle/costume/maid name = "maid costume spawner" items = list( - /obj/item/clothing/under/dress/skirt, + /obj/item/clothing/under/dress/skirt/color, /obj/effect/spawner/lootdrop/minor/beret_or_rabbitears, /obj/item/clothing/glasses/blindfold) diff --git a/code/modules/client/loadout/loadout_uniform.dm b/code/modules/client/loadout/loadout_uniform.dm index 162b6718ca6f..666aa8176e03 100644 --- a/code/modules/client/loadout/loadout_uniform.dm +++ b/code/modules/client/loadout/loadout_uniform.dm @@ -181,41 +181,94 @@ subtype_path = /datum/gear/uniform/dress /datum/gear/uniform/dress/sailor - display_name = "sailor dress" + display_name = "dress, sailor" path = /obj/item/clothing/under/dress/sailor /datum/gear/uniform/dress/striped - display_name = "striped dress" + display_name = "dress, striped" path = /obj/item/clothing/under/dress/striped /datum/gear/uniform/dress/redeveninggown - display_name = "red evening gown" + display_name = "dress, red evening gown" path = /obj/item/clothing/under/dress/redeveninggown /datum/gear/uniform/dress/blacktango - display_name = "black tango dress" + display_name = "dress, black tango" path = /obj/item/clothing/under/dress/blacktango +/datum/gear/uniform/dress/one_shoulder_dress + + display_name = "dress, one shoulder" + path = /obj/item/clothing/under/dress/one_shoulder + +/datum/gear/uniform/dress/iko_ikssoal + + display_name = "dress, iko-ikssoal" + path = /obj/item/clothing/under/dress/iko_ikssoal + +/datum/gear/uniform/dress/whitedress + + display_name = "dress, white" + path = /obj/item/clothing/under/dress/white_dress + +/datum/gear/uniform/dress/sundress + display_name = "dress, sundress" + path = /obj/item/clothing/under/dress/sundress + +/datum/gear/uniform/dress/rilena + display_name = "dress, Ri cosplay" + path = /obj/item/clothing/under/dress/rilena + /datum/gear/uniform/dress/purpleskirt - display_name = "purple skirt" - path = /obj/item/clothing/under/dress/skirt/purple + display_name = "skirt, purple" + path = /obj/item/clothing/under/dress/skirt/color/purple /datum/gear/uniform/dress/blueskirt - display_name = "blue skirt" - path = /obj/item/clothing/under/dress/skirt/blue + display_name = "skirt, blue" + path = /obj/item/clothing/under/dress/skirt/color/blue /datum/gear/uniform/dress/redskirt - display_name = "red skirt" - path = /obj/item/clothing/under/dress/skirt/red + display_name = "skirt, red" + path = /obj/item/clothing/under/dress/skirt/color/red + +/datum/gear/uniform/dress/whiteskirt + + display_name = "skirt, white" + path = /obj/item/clothing/under/dress/skirt/color/white /datum/gear/uniform/dress/blackskirt - display_name = "black skirt" - path = /obj/item/clothing/under/dress/skirt - description = "Actually, it's a black blouse with a salmon skirt. But it's not called that." + display_name = "skirt, black" + path = /obj/item/clothing/under/dress/skirt/color -/datum/gear/uniform/dress/sundress - display_name = "sundress" - path = /obj/item/clothing/under/dress/sundress +/datum/gear/uniform/dress/black_pinafore + + display_name = "pinafore, black" + path = /obj/item/clothing/under/dress/skirt/pinafore + +/datum/gear/uniform/dress/maroon_pinafore + + display_name = "pinafore, maroon" + path = /obj/item/clothing/under/dress/skirt/pinafore/maroon + +/datum/gear/uniform/dress/cerulean_pinafore + + display_name = "pinafore, cerulean" + path = /obj/item/clothing/under/dress/skirt/pinafore/cerulean + +/datum/gear/uniform/dress/red_plaid_pinafore + + display_name = "pinafore, red plaid" + path = /obj/item/clothing/under/dress/skirt/pinafore/plaid + +/datum/gear/uniform/dress/green_plaid_pinafore + + display_name = "pinafore, green plaid" + path = /obj/item/clothing/under/dress/skirt/pinafore/plaid/green + +/datum/gear/uniform/dress/brown_plaid_pinafore + + display_name = "pinafore, brown plaid" + path = /obj/item/clothing/under/dress/skirt/pinafore/plaid/brown /datum/gear/uniform/suit/dress_suit display_name = "dress-suit, navy" @@ -224,7 +277,3 @@ /datum/gear/uniform/suit/dress_suit/skirt display_name = "dress-suitskirt, navy" path = /obj/item/clothing/under/suit/dresssuit/skirt - -/datum/gear/uniform/dress/rilena - display_name = "red dress, Ri cosplay" - path = /obj/item/clothing/under/dress/rilena diff --git a/code/modules/clothing/under/skirt_dress.dm b/code/modules/clothing/under/skirt_dress.dm index f74748f71fbb..37f8a998f2c7 100644 --- a/code/modules/clothing/under/skirt_dress.dm +++ b/code/modules/clothing/under/skirt_dress.dm @@ -13,19 +13,19 @@ /obj/item/clothing/under/dress/blacktango name = "black tango dress" - desc = "Filled with Latin fire." + desc = "A silky black satin dress, traditionally made for dancing. It's light and easy to move in." icon_state = "black_tango" item_state = "wcoat" /obj/item/clothing/under/dress/striped name = "striped dress" - desc = "Fashion in space." + desc = "A simple blue striped dress." icon_state = "striped_dress" item_state = "striped_dress" /obj/item/clothing/under/dress/sailor name = "sailor dress" - desc = "Formal wear for a leading lady." + desc = "A traditional dress with roots in Far Eastern Cantonal culture, later popularized by the Solarian Confederacy's Naval Forces. However, due to its roots as a formal uniform, it would later be used by civilians in occasions outside of its naval context. The crisp cloth evokes feelings of order and discipline." icon_state = "sailor_dress" item_state = "sailor_dress" @@ -35,32 +35,91 @@ icon_state = "red_evening_gown" item_state = "red_evening_gown" -/obj/item/clothing/under/dress/skirt +/obj/item/clothing/under/dress/one_shoulder + + name = "one shoulder dress" + desc = "A modern black dress with only one shoulder strap. Comes with a matching pair of arm warmers." + icon_state = "one_shoulder_dress" + can_adjust = TRUE + +/obj/item/clothing/under/dress/iko_ikssoal + + name = "iko_ikssoal" + desc = "The “iko-ikssoal”, translating to “long-dress”, is a traditional Kalixcian garment for formal gatherings." + icon_state = "iko_ikssoal" + +/obj/item/clothing/under/dress/skirt/color name = "black skirt" - desc = "A black skirt, very fancy!" + desc = "A black, casual skirt." icon_state = "blackskirt" + can_adjust = TRUE -/obj/item/clothing/under/dress/skirt/blue +/obj/item/clothing/under/dress/skirt/color/blue name = "blue skirt" desc = "A blue, casual skirt." icon_state = "blueskirt" item_state = "b_suit" custom_price = 60 -/obj/item/clothing/under/dress/skirt/red +/obj/item/clothing/under/dress/skirt/color/red name = "red skirt" desc = "A red, casual skirt." icon_state = "redskirt" item_state = "r_suit" custom_price = 60 -/obj/item/clothing/under/dress/skirt/purple +/obj/item/clothing/under/dress/skirt/color/purple name = "purple skirt" desc = "A purple, casual skirt." icon_state = "purpleskirt" item_state = "p_suit" custom_price = 60 +/obj/item/clothing/under/dress/skirt/color/white + + name = "white skirt" + desc = "A white, casual skirt." + icon_state = "whiteskirt" + custom_price = 60 + +/obj/item/clothing/under/dress/skirt/pinafore + + name = "black pinafore" + desc = "It's really just an apron that one wears over a shirt or dress. This one is black." + icon_state = "black_pinafore" + can_adjust = TRUE + alt_covers_chest = TRUE + +/obj/item/clothing/under/dress/skirt/pinafore/maroon + + name = "maroon pinafore" + desc = "It's really just an apron that one wears over a shirt or dress. This one is maroon." + icon_state = "maroon_pinafore" + +/obj/item/clothing/under/dress/skirt/pinafore/cerulean + + name = "cerulean pinafore" + desc = "It's really just an apron that one wears over a shirt or dress. This one is cerulean." + icon_state = "cerulean_pinafore" + +/obj/item/clothing/under/dress/skirt/pinafore/plaid + + name = "red plaid pinafore" + desc = "It's really just an apron that one wears over a shirt or dress. This one is in red plaid." + icon_state = "red_plaid_pinafore" + +/obj/item/clothing/under/dress/skirt/pinafore/plaid/green + + name = "green plaid pinafore" + desc = "It's really just an apron that one wears over a shirt or dress. This one is in green plaid." + icon_state = "green_plaid_pinafore" + +/obj/item/clothing/under/dress/skirt/pinafore/plaid/brown + + name = "brown plaid pinafore" + desc = "It's really just an apron that one wears over a shirt or dress. This one is in brown plaid." + icon_state = "brown_plaid_pinafore" + /obj/item/clothing/under/dress/skirt/plaid name = "red plaid skirt" desc = "A preppy red skirt with a white blouse." @@ -94,3 +153,9 @@ icon_state = "rilena_dress" item_state = "rilena_dress" //supports_variations = KEPORI_VARIATION + +/obj/item/clothing/under/dress/white_dress + name = "white dress" + desc = "A breezy white dress." + icon_state = "white_dress" + item_state = "white_dress" diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm index 52d84b923d70..34da39eceefd 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm @@ -17,7 +17,7 @@ /obj/item/clothing/under/suit/black = 1, /obj/item/clothing/under/dress/sailor = 1, /obj/item/clothing/under/dress/striped = 1, - /obj/item/clothing/under/dress/skirt/blue = 1, + /obj/item/clothing/under/dress/skirt/color/blue = 1, /obj/item/clothing/under/syndicate/tacticool = 1, ) ) diff --git a/code/modules/vending/autodrobe.dm b/code/modules/vending/autodrobe.dm index 295133290c16..d2fca90b9e28 100644 --- a/code/modules/vending/autodrobe.dm +++ b/code/modules/vending/autodrobe.dm @@ -56,7 +56,7 @@ /obj/item/clothing/under/costume/schoolgirl/green = 1, /obj/item/clothing/under/costume/schoolgirl/orange = 1, /obj/item/clothing/head/kitty = 1, - /obj/item/clothing/under/dress/skirt = 1, + /obj/item/clothing/under/dress/skirt/color = 1, /obj/item/clothing/head/beret = 1, /obj/item/clothing/head/cowboy = 1, //WS - Yee Haw /obj/item/clothing/accessory/waistcoat = 1, diff --git a/code/modules/vending/clothesmate.dm b/code/modules/vending/clothesmate.dm index b7840f9ba9c0..2a2b1cc98e4d 100644 --- a/code/modules/vending/clothesmate.dm +++ b/code/modules/vending/clothesmate.dm @@ -65,10 +65,17 @@ /obj/item/clothing/under/dress/skirt/plaid/blue = 2, /obj/item/clothing/under/dress/skirt/plaid/green = 2, /obj/item/clothing/under/dress/skirt/plaid/purple = 2, - /obj/item/clothing/under/dress/skirt = 2, - /obj/item/clothing/under/dress/skirt/blue = 2, - /obj/item/clothing/under/dress/skirt/red = 2, - /obj/item/clothing/under/dress/skirt/purple = 2, + /obj/item/clothing/under/dress/skirt/color = 2, + /obj/item/clothing/under/dress/skirt/color/blue = 2, + /obj/item/clothing/under/dress/skirt/color/red = 2, + /obj/item/clothing/under/dress/skirt/color/purple = 2, + /obj/item/clothing/under/dress/skirt/color/white = 2, + /obj/item/clothing/under/dress/skirt/pinafore = 2, + /obj/item/clothing/under/dress/skirt/pinafore/maroon = 2, + /obj/item/clothing/under/dress/skirt/pinafore/cerulean = 2, + /obj/item/clothing/under/dress/skirt/pinafore/plaid = 2, + /obj/item/clothing/under/dress/skirt/pinafore/plaid/green = 2, + /obj/item/clothing/under/dress/skirt/pinafore/plaid/brown = 2, /obj/item/clothing/under/suit/white/skirt = 2, /obj/item/clothing/under/rank/command/captain/suit/skirt = 2, /obj/item/clothing/under/rank/command/head_of_personnel/suit/skirt = 2, @@ -97,6 +104,8 @@ /obj/item/clothing/under/dress/sailor = 1, /obj/item/clothing/under/dress/redeveninggown = 1, /obj/item/clothing/under/dress/blacktango = 1, + /obj/item/clothing/under/dress/one_shoulder = 1, + /obj/item/clothing/under/dress/white_dress = 1, /obj/item/clothing/suit/ianshirt = 1, /obj/item/clothing/shoes/laceup = 2, /obj/item/clothing/shoes/sandal = 2, diff --git a/icons/mob/clothing/suit.dmi b/icons/mob/clothing/suit.dmi index b595f529b7ee4f2c636cc6b9cbbc53a2addf2a4f..ef694ddd611696fa4ed451aaee0f30dad317b836 100644 GIT binary patch literal 32281 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
    Release notes

    Sourced from dompurify's releases.

    DOMPurify 2.5.4

    • Fixed a bug with latest isNaN checks affecting MSIE, thanks @​tulach
    • Fixed the tests for MSIE and fixed related test-runner

    DOMPurify 2.5.3

    • Fixed several mXSS variations found by and thanks to @​kevin-mizu & @​Ry0taK
    • Added better configurability for comment scrubbing default behavior
    • Added better hardening against Prototype Pollution attacks, thanks @​kevin-mizu
    • Fixed some smaller issues in README and other documentation

    DOMPurify 2.5.2

    • Addressed and fixed a mXSS variation found by @​kevin-mizu
    • Addressed and fixed a mXSS variation found by Adam Kues of Assetnote
    • Updated tests for older Safari and Chrome versions

    DOMPurify 2.5.1

    • Fixed an mXSS sanitizer bypass reported by @​icesfont
    • Added new code to track element nesting depth
    • Added new code to enforce a maximum nesting depth of 255
    • Added coverage tests and necessary clobbering protections

    Note that this is a security release and should be upgraded to immediately. Please also note that further releases may follow as the underlying vulnerability is apparently new and further variations may be discovered.

    DOMPurify 2.5.0

    • Added new setting SAFE_FOR_XML to enable better control over comment scrubbing
    • Updated the LICENSE file to show the accurate year number
    • Updated several build and test dependencies

    DOMPurify 2.4.9

    • Fixed another conditional bypass caused by Processing Instructions, thanks @​Ry0taK
    • Fixed the regex for HTML Custom Element detection, thanks @​AlekseySolovey3T

    DOMPurify 2.4.8

    • Fixed two possible bypasses when sanitizing an XML document and later using it in HTML, thanks @​Slonser

    DOMPurify 2.4.7

    DOMPurify 2.4.6

    • Fixed a bypass in jsdom 22 in case the noframes element is permitted, thanks @​leeN

    DOMPurify 2.4.5

    • Fixed a problem with improper reset of custom HTML options, thanks @​ammaraskar

    DOMPurify 2.4.4

    DOMPurify 2.4.3

    • Final release that is compatible with MSIE10 & MSIE 11

    ... (truncated)

    Commits
    • 10c1261 docs: Updated README ever so slightly
    • 1c92880 test: Fixed two more tests for MSIE11 and Edge 18
    • 1401208 test: Fixed more tests for MSIE and Edge 18
    • 2c6410a test: Fixed several new tests for MSIE11 and Edge 18
    • 2c9bca9 test: Changed github config to include MSIE tests for 2.x
    • b188787 chore: Preparing 2.5.4 release
    • 707b3d6 fix: Added a better for for the MSIE iNaN issue
    • 62fe3be test: Attempting to get MSIE 11 back into the browser test array
    • f3a9710 fix: Fixed an issue with MSIE and no support for Number.isNaN
    • e1ddfc7 Merge branch '2.x' of github.com:cure53/DOMPurify into 2.x
    • Additional commits viewable in compare view

    [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dompurify&package-manager=npm_and_yarn&previous-version=2.3.1&new-version=2.5.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
    Dependabot commands and options
    You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/shiptest-ss13/Shiptest/network/alerts).
    Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tgui/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tgui/yarn.lock b/tgui/yarn.lock index d3d3c0cda34d..5ee4a6a7e5ac 100644 --- a/tgui/yarn.lock +++ b/tgui/yarn.lock @@ -3921,9 +3921,9 @@ __metadata: linkType: hard "dompurify@npm:^2.5.4": - version: 2.5.6 - resolution: "dompurify@npm:2.5.6" - checksum: 1d329fe79928aa86c61539b758bdbc53df58dd90bdc5b74032a2a3a22a436e84178d8f6ad8b022c8f6fac46b26d6e7e553c0cd131a37ed5105bbed6bf87be226 + version: 2.5.7 + resolution: "dompurify@npm:2.5.7" + checksum: 9652139743130b5ebaf5278fadec06d9b3920019b80c205565b9b8d52cd0cea90ff690c1994c5c0da5bc9d57a94dc19236cdf1ccabdc1c6cff7c255e1e597031 languageName: node linkType: hard From c80e12b7f0928101a0056c799160b6cca12c64d7 Mon Sep 17 00:00:00 2001 From: meem <75212565+meemofcourse@users.noreply.github.com> Date: Thu, 17 Oct 2024 14:55:24 -0300 Subject: [PATCH 072/344] Atlas-class Light Armored Crusier (#3246) ## About The Pull Request ![imagen](https://github.com/user-attachments/assets/e76c2cc9-9b25-496b-b8ff-a82b3b4debc1) ![atlas2](https://github.com/user-attachments/assets/3ca2427c-e333-4d87-8202-9f81842378b3) The Atlas-class is the first Colonial League ship following the CLIP Rework. The decaling and general decoration of the ship needs a revision, but otherwise, it is intended as a small, overall generalist patrol vessel to the likes of the Vaquero. The 4-Minutemen team, lead by one Sergeant, is subordinate to the First Officer and Captain, who overlook the operation of the ship by the Corpsman and the Engineer. It is staffed by: * 1 Captain * 1 First Officer * 1 Sergeant * 1 Corpsman * 1 Engineer * 4 Minutemen * 1 Deckhand ## Why It's Good For The Game it's the clip ship it uses the colon league content ## Changelog :cl: add: Atlas-class Light Armored Crusier /:cl: --------- Signed-off-by: rye-rice <58402542+rye-rice@users.noreply.github.com> Signed-off-by: meem <75212565+meemofcourse@users.noreply.github.com> Co-authored-by: rye-rice <58402542+rye-rice@users.noreply.github.com> --- _maps/configs/minutemen_atlas.json | 50 + _maps/shuttles/minutemen/minutemen_atlas.dmm | 5988 +++++++++++++++++ .../syndicate/syndicate_gorlex_komodo.dmm | 25 +- .../machinery/porta_turret/portable_turret.dm | 4 + code/game/machinery/suit_storage_unit.dm | 7 + code/game/objects/items/storage/guncases.dm | 6 + .../clothing/outfits/factions/minutemen.dm | 41 +- .../clip_lanchester/ballistics.dm | 8 +- 8 files changed, 6079 insertions(+), 50 deletions(-) create mode 100644 _maps/configs/minutemen_atlas.json create mode 100644 _maps/shuttles/minutemen/minutemen_atlas.dmm diff --git a/_maps/configs/minutemen_atlas.json b/_maps/configs/minutemen_atlas.json new file mode 100644 index 000000000000..32f30caa5b75 --- /dev/null +++ b/_maps/configs/minutemen_atlas.json @@ -0,0 +1,50 @@ + { + "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "map_name": "Atlas-class Light Armored Crusier", + "prefix": "CMSV", + "namelists": ["GENERAL", "CLIP MINUTEMEN", "NATURAL_AGGRESSIVE"], + "description": "The Atlas-Class is the designation for some of the oldest serving vessels in the Confederated League's military fleet. Originally the Atlantas-class, the design of the Atlantas was taken by the Colonial Militia just before the beginning of the war with the Old Frontiersmen, playing a pivotal role in multiple skirmishes. It is small in size and crew, well-rounded, and well-suited as an unexpensive hit-and-run vessel. Despite its age, the Atlas continues to serve the Confederated League for peacekeeping missions and driving off small crews of pirates from colonies.", + "tags": [ + "Combat", + "Generalist" + ], + "map_short_name": "Atlas-class", + "faction": "/datum/faction/clip", + "starting_funds": 1000, + "map_path": "_maps/shuttles/minutemen/minutemen_atlas.dmm", + "limit": 1, + "job_slots": { + "Captain": { + "outfit": "/datum/outfit/job/clip/minutemen/captain", + "officer": true, + "slots": 1 + }, + "First Officer": { + "outfit": "/datum/outfit/job/clip/first_officer", + "officer": true, + "slots": 1 + }, + "Sergeant": { + "outfit": "/datum/outfit/job/clip/minutemen/grunt/lead", + "officer": true, + "slots": 1 + }, + "Corpsman": { + "outfit": "/datum/outfit/job/clip/minutemen/doctor", + "slots": 1 + }, + "Engineer": { + "outfit": "/datum/outfit/job/clip/minutemen/engineer", + "slots": 1 + }, + "Minuteman": { + "outfit": "/datum/outfit/job/clip/minutemen/grunt", + "slots": 4 + }, + "Reservist": { + "outfit": "/datum/outfit/job/clip/minutemen/grunt/reserve", + "slots": 1 + } + }, + "enabled": true +} diff --git a/_maps/shuttles/minutemen/minutemen_atlas.dmm b/_maps/shuttles/minutemen/minutemen_atlas.dmm new file mode 100644 index 000000000000..407a8f00bcfe --- /dev/null +++ b/_maps/shuttles/minutemen/minutemen_atlas.dmm @@ -0,0 +1,5988 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 9 + }, +/obj/structure/table/chem, +/obj/item/paper_bin{ + pixel_y = 5; + pixel_x = 6 + }, +/obj/item/pen{ + pixel_y = 5; + pixel_x = 6 + }, +/obj/item/folder/white{ + pixel_x = -7; + pixel_y = 6 + }, +/obj/item/folder/white{ + pixel_x = -8; + pixel_y = 2 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"af" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"am" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"aw" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewtwo) +"aC" = ( +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/white/corner, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -23 + }, +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"aI" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/carpet/blue, +/area/ship/crew) +"aS" = ( +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"aX" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"bF" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4, +/turf/open/floor/plating/airless, +/area/ship/engineering) +"bK" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"bQ" = ( +/obj/structure/sign/poster/clip/bard{ + pixel_y = 32 + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"bS" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"cc" = ( +/turf/open/floor/wood, +/area/ship/crew/crewthree) +"cm" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"ct" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/obj/structure/railing, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"cN" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central3{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"cV" = ( +/obj/structure/sign/poster/clip/random{ + pixel_y = -32 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/carpet/nanoweave/blue, +/area/ship/crew/crewtwo) +"cY" = ( +/obj/effect/turf_decal/corner/transparent/blue/border{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/blue/mono, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/curtain/cloth, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical) +"da" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/crewtwo) +"di" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "atlas_dorms" + }, +/turf/open/floor/plating, +/area/ship/crew) +"dw" = ( +/obj/effect/turf_decal/minutemen/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"dM" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"dV" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"ec" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"em" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/crew/canteen) +"ev" = ( +/obj/effect/decal/fakelattice, +/obj/structure/railing, +/turf/open/floor/plasteel/elevatorshaft, +/area/ship/hallway/central) +"eB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/grunge{ + name = "Bathroom" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"eH" = ( +/obj/structure/closet/secure_closet{ + icon_state = "cap"; + name = "captain's locker"; + req_access_txt = "20" + }, +/obj/item/storage/pistolcase/cm23, +/obj/item/clothing/suit/armor/clip_capcoat{ + pixel_x = -14 + }, +/obj/item/clothing/under/clip/officer{ + pixel_x = 13 + }, +/obj/item/clothing/under/clip/officer/alt{ + pixel_x = 13 + }, +/obj/item/radio/headset/clip/captain{ + pixel_x = 7 + }, +/obj/item/clothing/head/clip/slouch/officer{ + pixel_y = 13 + }, +/obj/item/storage/backpack/satchel/sec/clip{ + pixel_y = -15 + }, +/obj/item/storage/backpack/security/clip{ + pixel_y = -15 + }, +/turf/open/floor/carpet/blue, +/area/ship/crew/crewthree) +"eJ" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"eK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/canteen) +"eU" = ( +/obj/effect/landmark/start/security_officer, +/obj/structure/chair, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"eW" = ( +/obj/effect/decal/cleanable/confetti, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"fd" = ( +/obj/structure/railing{ + layer = 3.31 + }, +/obj/effect/turf_decal/box/corners{ + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + dir = 8; + color = "#75A2BB" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister/air, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ + dir = 8 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"fg" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_y = 20; + pixel_x = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"fi" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"fj" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + layer = 2.456; + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"fp" = ( +/obj/structure/table, +/obj/machinery/jukebox/boombox, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"fs" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"fF" = ( +/obj/effect/turf_decal/corner/transparent/blue/mono, +/obj/machinery/light/small/directional/east, +/obj/structure/sink{ + pixel_y = 19; + pixel_x = 7 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical) +"fL" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/canteen) +"fM" = ( +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"fR" = ( +/turf/open/floor/carpet/blue, +/area/ship/crew) +"gk" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/structure/janitorialcart{ + dir = 8 + }, +/obj/item/mop{ + pixel_x = -3; + pixel_y = -2 + }, +/obj/effect/turf_decal/box/corners{ + color = "#75A2BB" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/canteen) +"gu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"gw" = ( +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock/medical{ + name = "Medical Bay" + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"gy" = ( +/obj/structure/closet/crate/freezer/blood, +/obj/effect/turf_decal/corner/transparent/blue/mono, +/obj/machinery/light/small/directional/west, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical) +"gA" = ( +/obj/machinery/holopad/emergency/command, +/obj/effect/turf_decal/minutemen/middle, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"gE" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"gF" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/effect/turf_decal/minutemen/edge{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"gH" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + layer = 2.456 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"gR" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "atlas_fo" + }, +/turf/open/floor/plating, +/area/ship/crew/crewtwo) +"gT" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security) +"gU" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"hg" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/machinery/light_switch{ + dir = 1; + pixel_y = -23 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"hq" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewthree) +"hL" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"hQ" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/chair, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"hR" = ( +/obj/structure/table/wood, +/obj/structure/sign/poster/official/moth/smokey{ + pixel_x = -32 + }, +/obj/item/modular_computer/laptop/preset/civilian{ + pixel_y = 5; + pixel_x = 2 + }, +/turf/open/floor/wood, +/area/ship/crew/crewthree) +"ia" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"is" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"iw" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewtwo) +"ix" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"iN" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/structure/railing/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/engineering) +"iO" = ( +/obj/structure/table/reinforced, +/obj/machinery/fax/clip{ + pixel_y = 7 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"iQ" = ( +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"iS" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"iW" = ( +/obj/structure/closet/secure_closet{ + icon_state = "cap"; + name = "first officer's locker"; + req_access_txt = "19" + }, +/obj/item/storage/pistolcase/cm23{ + pixel_y = -4 + }, +/obj/item/clothing/head/clip/slouch/officer{ + pixel_y = 13 + }, +/obj/item/radio/headset/clip/captain{ + pixel_x = 7 + }, +/obj/item/clothing/under/clip/officer/alt{ + pixel_x = 13 + }, +/obj/item/clothing/under/clip/officer{ + pixel_x = 13 + }, +/obj/item/clothing/suit/toggle/lawyer/clip/fo{ + pixel_x = -13 + }, +/obj/item/storage/backpack/satchel/sec/clip{ + pixel_y = -15 + }, +/obj/item/storage/backpack/security/clip{ + pixel_y = -15 + }, +/turf/open/floor/carpet/nanoweave/blue, +/area/ship/crew/crewtwo) +"jc" = ( +/obj/machinery/door/window/brigdoor/southright{ + req_access = list(3); + dir = 4 + }, +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"jp" = ( +/obj/structure/sign/number/random, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/crewtwo) +"js" = ( +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"jG" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/blue/line{ + dir = 1 + }, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"jI" = ( +/obj/structure/chair, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"jL" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"jQ" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_y = 7; + pixel_x = 12 + }, +/obj/item/melee/chainofcommand{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/wood, +/area/ship/crew/crewthree) +"jR" = ( +/obj/effect/landmark/start/station_engineer, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/engineering) +"jY" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"jZ" = ( +/obj/item/chair{ + dir = 8; + pixel_y = -10; + pixel_x = 5 + }, +/obj/item/cigbutt{ + pixel_x = -5; + pixel_y = -4 + }, +/obj/item/cigbutt{ + pixel_x = -10; + pixel_y = -7 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"kd" = ( +/obj/structure/table, +/obj/item/storage/box/evidence{ + pixel_y = 19; + pixel_x = -7 + }, +/obj/item/storage/box/flares{ + pixel_y = 18; + pixel_x = 7 + }, +/obj/item/storage/box/zipties{ + pixel_x = 2; + pixel_y = 30 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/recharger{ + pixel_y = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"kt" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4; + pixel_y = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"kv" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"kE" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/obj/structure/closet/crate/bin{ + pixel_y = 11 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"kG" = ( +/obj/structure/table, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/sign/poster/clip/gold{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"kL" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"kS" = ( +/obj/machinery/door/poddoor{ + id = "atlas_cargo" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "atlas_holo" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plating, +/area/ship/cargo) +"kX" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/closet/crate/bin, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"lc" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"le" = ( +/obj/effect/turf_decal/industrial/loading{ + icon_state = "loadingarea_stripes" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"lw" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/effect/landmark/start/head_of_personnel, +/obj/item/radio/intercom/wideband/directional/south, +/obj/machinery/firealarm/directional/west{ + pixel_x = -33; + pixel_y = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"lA" = ( +/obj/machinery/porta_turret/ship/ballistic/clip, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"lJ" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = 11 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew) +"lY" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"mf" = ( +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/structure/table, +/obj/structure/closet/wall/directional/east, +/obj/item/radio{ + pixel_y = 15; + pixel_x = 7 + }, +/obj/item/radio{ + pixel_y = 9; + pixel_x = 7 + }, +/obj/item/radio{ + pixel_y = 9; + pixel_x = 4 + }, +/obj/item/radio{ + pixel_y = 9 + }, +/obj/item/radio{ + pixel_y = 9; + pixel_x = -4 + }, +/obj/item/radio{ + pixel_y = 9; + pixel_x = -9 + }, +/obj/item/radio{ + pixel_y = 15; + pixel_x = 4 + }, +/obj/item/radio{ + pixel_y = 15 + }, +/obj/item/radio{ + pixel_y = 15; + pixel_x = -4 + }, +/obj/item/radio{ + pixel_y = 15; + pixel_x = -9 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew) +"mh" = ( +/obj/structure/dresser, +/obj/machinery/button/door{ + pixel_y = 23; + id = "atlas_fo"; + name = "private windows button" + }, +/turf/open/floor/carpet/nanoweave/blue, +/area/ship/crew/crewtwo) +"ms" = ( +/obj/machinery/porta_turret/ship/ballistic/clip, +/obj/docking_port/mobile{ + dir = 2; + launch_status = 0; + port_direction = 8; + preferred_direction = 4; + name = "atlas dock" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering) +"mw" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"mK" = ( +/obj/structure/cable/yellow{ + icon_state = "4-10" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"mN" = ( +/obj/structure/sign/clip, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering) +"mS" = ( +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"nl" = ( +/obj/effect/landmark/start/security_officer, +/obj/structure/chair, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"nm" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1; + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + dir = 8; + color = "#75A2BB" + }, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"ny" = ( +/obj/item/gun/ballistic/automatic/smg/cm5/no_mag{ + pixel_y = -4; + pixel_x = 6 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/obj/structure/guncloset, +/obj/item/gun/ballistic/automatic/assault/cm82{ + spawnwithmagazine = 0; + pixel_x = -4; + pixel_y = 8 + }, +/obj/item/gun/ballistic/automatic/pistol/cm23/no_mag{ + pixel_x = -4; + pixel_y = -8 + }, +/obj/item/gun/ballistic/automatic/pistol/cm23/no_mag{ + pixel_x = -4; + pixel_y = -8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"nO" = ( +/obj/machinery/cryopod{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 6 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew) +"nP" = ( +/obj/machinery/door/airlock/mining{ + name = "Cargo Bay" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"nQ" = ( +/obj/structure/table, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/trimline/transparent/blue/corner, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/machinery/microwave{ + pixel_y = 7 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"nS" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"nU" = ( +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4; + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + color = "#75A2BB" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"nW" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/landmark/start/security_officer, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"nX" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"nY" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/structure/table, +/obj/item/storage/bag/tray/cafeteria{ + pixel_y = 2 + }, +/obj/item/storage/bag/tray/cafeteria{ + pixel_y = 4 + }, +/obj/item/storage/bag/tray/cafeteria{ + pixel_y = 6 + }, +/obj/item/storage/bag/tray/cafeteria{ + pixel_y = 8 + }, +/obj/item/storage/bag/tray/cafeteria{ + pixel_y = 10 + }, +/obj/item/storage/bag/tray/cafeteria{ + pixel_y = 12 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"oa" = ( +/obj/structure/table, +/obj/item/trash/plate{ + pixel_x = 4; + pixel_y = 1 + }, +/obj/item/trash/plate{ + pixel_x = -2; + pixel_y = 4 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"of" = ( +/obj/machinery/firealarm/directional/north, +/obj/item/paperplane{ + pixel_y = 5 + }, +/obj/structure/fluff/paper/stack{ + name = "stack of papers"; + desc = "Seems like someone needs to work on their aim."; + pixel_x = 4; + pixel_y = -4; + dir = 4 + }, +/obj/structure/closet/crate/bin{ + pixel_y = 12; + pixel_x = 5 + }, +/obj/item/paperplane{ + pixel_x = 9; + pixel_y = 10 + }, +/obj/item/paperplane{ + pixel_x = 2; + pixel_y = 10 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewtwo) +"ov" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1; + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + dir = 8; + color = "#75A2BB" + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"oJ" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 5; + pixel_y = -1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"oX" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Captain's Quarters"; + req_one_access = list(20) + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewthree) +"oY" = ( +/obj/structure/toilet{ + dir = 1; + pixel_x = 9; + pixel_y = 1 + }, +/obj/machinery/light/small/directional/south, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/shower{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"pi" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/plating, +/area/ship/hallway/central) +"pn" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/structure/rack, +/obj/item/storage/lockbox/medal{ + pixel_x = 3; + pixel_y = 6 + }, +/obj/item/storage/lockbox/medal/sec{ + pixel_x = -4; + pixel_y = -1 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"pp" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "atlas_engi_lockdown" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"pq" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"ps" = ( +/turf/template_noop, +/area/template_noop) +"pE" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8; + layer = 2.456 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"qb" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 8 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"qc" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "atlas_bridge" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"qn" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 1 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"qr" = ( +/obj/effect/turf_decal/minutemen/corner{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"qA" = ( +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"qG" = ( +/obj/machinery/power/terminal, +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/effect/turf_decal/industrial, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 32 + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"qP" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/effect/turf_decal/minutemen/edge{ + dir = 8 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/effect/landmark/start/captain, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"qR" = ( +/obj/structure/chair/office, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 1 + }, +/obj/effect/landmark/start/warden, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"qS" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister/air, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ + dir = 8 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"rk" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"rr" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"ry" = ( +/obj/machinery/airalarm/directional/south, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewthree) +"rz" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_y = 5 + }, +/obj/item/pen{ + pixel_y = 5 + }, +/turf/open/floor/wood, +/area/ship/crew/crewthree) +"rO" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/closet/cabinet{ + name = "formal uniform cabinet" + }, +/obj/item/clothing/under/clip/formal/with_shirt{ + pixel_x = 8; + pixel_y = 10 + }, +/obj/item/clothing/under/clip/formal/with_shirt{ + pixel_y = 10 + }, +/obj/item/clothing/under/clip/formal/with_shirt{ + pixel_x = -5; + pixel_y = 10 + }, +/obj/item/clothing/under/clip/formal/with_shirt{ + pixel_x = -10; + pixel_y = 9 + }, +/obj/item/clothing/under/clip/formal/with_shirt/alt{ + pixel_x = 8; + pixel_y = -3 + }, +/obj/item/clothing/under/clip/formal/with_shirt/alt{ + pixel_x = 2; + pixel_y = -4 + }, +/obj/item/clothing/under/clip/formal/with_shirt/alt{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/under/clip/formal/with_shirt/alt{ + pixel_x = -10; + pixel_y = -4 + }, +/obj/item/clothing/shoes/laceup{ + pixel_x = 6; + pixel_y = -14 + }, +/obj/item/clothing/shoes/laceup{ + pixel_x = 6; + pixel_y = -14 + }, +/obj/item/clothing/shoes/laceup{ + pixel_x = 6; + pixel_y = -14 + }, +/obj/item/clothing/shoes/laceup{ + pixel_x = 6; + pixel_y = -14 + }, +/obj/item/clothing/shoes/laceup{ + pixel_x = 6; + pixel_y = -14 + }, +/obj/item/clothing/shoes/laceup{ + pixel_x = 6; + pixel_y = -14 + }, +/obj/item/clothing/shoes/laceup{ + pixel_x = 6; + pixel_y = -14 + }, +/obj/item/clothing/shoes/laceup{ + pixel_x = 6; + pixel_y = -14 + }, +/obj/effect/turf_decal/siding/thinplating/dark/end{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewtwo) +"rR" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_y = 23 + }, +/obj/structure/closet/firecloset, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"sh" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20 + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 1 + }, +/area/ship/engineering) +"si" = ( +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"sl" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_y = -20; + dir = 1 + }, +/obj/structure/closet/secure_closet{ + icon_state = "hop"; + name = "sergeant's locker"; + req_access_txt = "19" + }, +/obj/item/storage/guncase/doublebarrel{ + pixel_x = 1; + pixel_y = 4 + }, +/obj/item/clothing/shoes/combat{ + pixel_y = -8 + }, +/obj/item/clothing/head/clip/slouch{ + pixel_y = 12 + }, +/obj/item/clothing/under/clip/minutemen{ + pixel_x = -5 + }, +/obj/item/clothing/suit/armor/vest/alt{ + pixel_x = 7 + }, +/obj/effect/turf_decal/box{ + color = "#75A2BB" + }, +/obj/item/storage/backpack/security/clip{ + pixel_x = 13; + pixel_y = -13 + }, +/obj/item/storage/box/ammo/a12g_buckshot{ + pixel_x = -7; + pixel_y = -12 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"sA" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/corner, +/obj/structure/window/reinforced, +/obj/machinery/suit_storage_unit/minutemen, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/box{ + color = "#75A2BB" + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"sB" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"sD" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/layer_manifold/visible{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"sF" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/effect/turf_decal/siding/thinplating/dark/end, +/obj/machinery/blackbox_recorder, +/obj/machinery/door/window/brigdoor/northleft, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewthree) +"sI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/machinery/door/airlock/grunge{ + req_access = list(3); + dir = 4; + name = "Armory" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"sL" = ( +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"sP" = ( +/obj/machinery/computer/cryopod/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/crew) +"tc" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "atlas_cap" + }, +/turf/open/floor/plating, +/area/ship/crew/crewthree) +"tq" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/railing, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"tA" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"tF" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"tP" = ( +/obj/structure/table, +/obj/item/stamp{ + pixel_x = 9; + pixel_y = 13 + }, +/obj/item/clipboard, +/obj/item/stamp/denied{ + pixel_x = 10; + pixel_y = 4 + }, +/obj/item/binoculars{ + pixel_y = 6; + pixel_x = -4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"tW" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/canteen) +"us" = ( +/obj/machinery/airalarm/directional/west, +/turf/open/floor/carpet/blue, +/area/ship/crew) +"ux" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4; + pixel_y = 1 + }, +/obj/effect/turf_decal/minutemen/edge{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"uC" = ( +/obj/structure/table/reinforced, +/obj/machinery/button/door{ + id = "atlas_bridge_lockdown"; + dir = 1; + pixel_y = 4; + name = "bridge lockdown"; + pixel_x = -6 + }, +/obj/machinery/button/door{ + id = "atlas_bridge"; + dir = 1; + pixel_x = 7; + pixel_y = 4; + name = "bridge shutters" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"uG" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewthree) +"uH" = ( +/obj/structure/table, +/obj/item/clipboard{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/storage/fancy/cigarettes{ + pixel_x = -1; + pixel_y = 3 + }, +/obj/item/storage/fancy/cigarettes{ + pixel_x = -5 + }, +/obj/item/clothing/mask/cigarette{ + pixel_x = 7; + pixel_y = 1 + }, +/obj/item/storage/fancy/cigarettes{ + pixel_x = 2; + pixel_y = -1 + }, +/obj/item/clothing/mask/cigarette{ + pixel_x = 1 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 5 + }, +/obj/machinery/computer/helm/viewscreen/directional/south, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"uO" = ( +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 6 + }, +/obj/structure/table/chem, +/obj/structure/sink/chem, +/obj/item/roller{ + pixel_y = 15; + pixel_x = -12 + }, +/obj/item/roller{ + pixel_y = 6; + pixel_x = -14 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"uQ" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"uU" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/soda_cans/cola{ + pixel_y = 9; + pixel_x = -5 + }, +/obj/item/trash/can{ + pixel_x = 7; + pixel_y = 9 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/cola{ + pixel_y = 4; + pixel_x = 1 + }, +/obj/item/storage/fancy/donut_box{ + pixel_x = -13; + pixel_y = -2 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"uX" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewthree) +"uY" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"vd" = ( +/obj/structure/catwalk/over, +/obj/machinery/airalarm/directional/east, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating, +/area/ship/engineering) +"vo" = ( +/obj/structure/railing, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 9; + pixel_x = 2 + }, +/obj/item/storage/toolbox/electrical{ + pixel_x = -2; + pixel_y = 2 + }, +/obj/machinery/light/directional/west, +/obj/machinery/cell_charger, +/obj/structure/table, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"vw" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"vy" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_y = 5; + pixel_x = -13 + }, +/obj/item/pen{ + pixel_y = 5; + pixel_x = -13 + }, +/obj/item/kitchen/fork/plastic{ + pixel_x = 4; + pixel_y = 1 + }, +/obj/item/kitchen/fork/plastic{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/kitchen/fork/plastic{ + pixel_x = 8; + pixel_y = 1 + }, +/obj/item/kitchen/fork/plastic{ + pixel_x = 10; + pixel_y = 2 + }, +/obj/item/melee/knife/plastic, +/obj/item/melee/knife/plastic{ + pixel_x = -3; + pixel_y = 1 + }, +/obj/item/melee/knife/plastic{ + pixel_x = 2; + pixel_y = 1 + }, +/obj/item/melee/knife/plastic{ + pixel_x = -1; + pixel_y = 2 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"vS" = ( +/obj/machinery/porta_turret/ship/ballistic/clip, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering) +"vT" = ( +/obj/structure/dresser{ + dir = 1 + }, +/turf/open/floor/carpet/blue, +/area/ship/crew) +"vW" = ( +/obj/structure/sign/poster/clip/random{ + pixel_y = 32 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/carpet/blue, +/area/ship/crew/crewthree) +"vZ" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "atlas_engi_lockdown" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"wc" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-6" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"wd" = ( +/obj/structure/sign/warning/nosmoking/circle{ + pixel_x = -28 + }, +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"we" = ( +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/structure/closet/secure_closet/wall/directional/north{ + icon_door = "med_wall"; + req_access = list(5) + }, +/obj/item/storage/belt/medical/webbing/clip/prefilled{ + pixel_x = -6; + pixel_y = -7 + }, +/obj/item/clothing/gloves/color/latex/nitrile/clip{ + pixel_x = -11; + pixel_y = 5 + }, +/obj/item/clothing/under/clip/medic{ + pixel_x = 9; + pixel_y = -4 + }, +/obj/item/clothing/head/clip/corpsman{ + pixel_y = 8; + pixel_x = 9 + }, +/obj/item/defibrillator/loaded{ + pixel_y = 26 + }, +/obj/item/storage/belt/medical/surgery{ + pixel_x = -7; + pixel_y = -8 + }, +/obj/item/storage/backpack/satchel/med{ + pixel_x = 11; + pixel_y = -14 + }, +/obj/item/storage/backpack/messenger/med{ + pixel_x = 10; + pixel_y = -10 + }, +/obj/item/storage/backpack/medic{ + pixel_x = 9; + pixel_y = -14 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"wh" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"wi" = ( +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/techfloor/orange, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew) +"wk" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"wu" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"wy" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"wJ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"wU" = ( +/obj/machinery/power/smes/engineering, +/obj/effect/turf_decal/industrial, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"wW" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/chair, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"xi" = ( +/obj/effect/decal/fakelattice{ + icon_state = "lattice-203" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating, +/area/ship/external/dark) +"xz" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4; + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + color = "#75A2BB" + }, +/obj/structure/tank_dispenser/oxygen, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"xU" = ( +/obj/machinery/light/directional/east, +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/machinery/iv_drip, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"yi" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"yn" = ( +/obj/structure/salvageable/computer{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + color = "#75A2BB" + }, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"yo" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"yx" = ( +/obj/structure/bed/double, +/obj/item/bedsheet/double/grey, +/turf/open/floor/carpet/nanoweave/blue, +/area/ship/crew/crewtwo) +"yB" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4; + layer = 2.456 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"yC" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/holopad/emergency/counselor, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewthree) +"yI" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1; + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + dir = 8; + color = "#75A2BB" + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/structure/punching_bag, +/obj/machinery/light_switch{ + dir = 1; + pixel_y = -20 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"yL" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"yO" = ( +/obj/machinery/computer/helm/viewscreen/directional/north, +/turf/open/floor/carpet/blue, +/area/ship/crew/crewthree) +"yR" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/structure/bed/roller, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"yT" = ( +/obj/machinery/door/firedoor, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"yZ" = ( +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/closet/crate, +/obj/item/clothing/under/clip/minutemen{ + pixel_x = -8; + pixel_y = 11 + }, +/obj/item/clothing/under/clip/minutemen{ + pixel_x = -1; + pixel_y = 9 + }, +/obj/item/clothing/under/clip/minutemen{ + pixel_x = 6; + pixel_y = 11 + }, +/obj/item/clothing/under/clip/minutemen{ + pixel_x = 12; + pixel_y = 9 + }, +/obj/item/clothing/shoes/combat{ + pixel_x = -11; + pixel_y = -6 + }, +/obj/item/clothing/shoes/combat{ + pixel_x = -6; + pixel_y = -7 + }, +/obj/item/clothing/shoes/combat{ + pixel_y = -6 + }, +/obj/item/clothing/shoes/combat{ + pixel_x = 7; + pixel_y = -8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"zc" = ( +/obj/structure/closet/crate/freezer, +/obj/item/tank/internals/anesthetic{ + pixel_x = 12 + }, +/obj/item/tank/internals/anesthetic{ + pixel_x = 12 + }, +/obj/item/clothing/mask/breath/medical{ + pixel_y = -12; + pixel_x = 5 + }, +/obj/item/clothing/mask/breath/medical{ + pixel_y = -12; + pixel_x = 6 + }, +/obj/effect/turf_decal/corner/transparent/blue/mono, +/obj/item/storage/firstaid/regular{ + pixel_y = 8; + pixel_x = -8 + }, +/obj/item/storage/box/gloves{ + pixel_x = -10; + pixel_y = 2 + }, +/obj/item/storage/box/masks{ + pixel_y = -5; + pixel_x = -12 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical) +"zf" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ + dir = 8 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_y = 26 + }, +/obj/structure/closet/emcloset/wall/directional/south, +/obj/item/clothing/suit/space/fragile{ + pixel_x = 6; + pixel_y = -14 + }, +/obj/item/clothing/suit/space/fragile{ + pixel_x = 11; + pixel_y = -17 + }, +/obj/item/clothing/head/helmet/space/fragile{ + pixel_x = -8; + pixel_y = -9 + }, +/obj/item/clothing/head/helmet/space/fragile{ + pixel_x = -2; + pixel_y = -14 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"zl" = ( +/obj/structure/closet/crate/trashcart/laundry, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4; + color = "#75A2BB" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/canteen) +"zq" = ( +/obj/machinery/door/poddoor{ + id = "atlas_cargo" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "atlas_holo" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plating, +/area/ship/cargo) +"zt" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"zx" = ( +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/white/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 5 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"zE" = ( +/obj/structure/bed{ + dir = 1 + }, +/obj/item/bedsheet/blue{ + dir = 1 + }, +/obj/structure/curtain/cloth, +/obj/machinery/button/door{ + id = "atlas_dorms"; + name = "private windows button"; + pixel_x = -23; + dir = 4 + }, +/turf/open/floor/carpet/blue, +/area/ship/crew) +"zQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/structure/sign/poster/clip/maxin{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Aa" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/effect/turf_decal/trimline/transparent/blue/filled/arrow_ccw{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"An" = ( +/obj/structure/bed{ + dir = 1 + }, +/obj/item/bedsheet/blue{ + dir = 1 + }, +/obj/structure/curtain/cloth, +/obj/machinery/light/directional/west, +/turf/open/floor/carpet/blue, +/area/ship/crew) +"Av" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp{ + pixel_y = 6; + pixel_x = 1 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/wood, +/area/ship/crew/crewtwo) +"Ay" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/item/paperplane{ + pixel_x = 11; + pixel_y = 9 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewtwo) +"AH" = ( +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"AP" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"Bm" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "atlas_engi_lockdown" + }, +/turf/open/floor/plating, +/area/ship/external/dark) +"Bx" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 9 + }, +/obj/structure/reagent_dispensers/peppertank{ + pixel_y = -28 + }, +/obj/structure/bed/dogbed{ + name = "Mushroom's bed"; + desc = "A comfy-looking dog bed. Despite the name, the owner is a mothroach." + }, +/mob/living/simple_animal/pet/mothroach{ + name = "Mushroom"; + desc = "Master Sergeant Mushroom is assigned to overwatch C-MM armory officers. Don't let her eat the armor."; + gender = "female" + }, +/obj/item/storage/fancy/egg_box{ + pixel_x = -3; + pixel_y = -3 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"BH" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"BI" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"BL" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/railing{ + dir = 1; + layer = 2.89 + }, +/obj/effect/turf_decal/industrial, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"BW" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"Cc" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1; + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + dir = 4; + color = "#75A2BB" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 8; + piping_layer = 2 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"Cm" = ( +/obj/structure/sign/clip, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/crewthree) +"Cn" = ( +/obj/item/cigbutt{ + anchored = 1; + color = "#808080"; + layer = 2; + pixel_x = -4; + pixel_y = 8 + }, +/obj/effect/decal/fakelattice, +/obj/structure/railing, +/turf/open/floor/plasteel/elevatorshaft, +/area/ship/hallway/central) +"Cq" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/arrow_ccw{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Cr" = ( +/obj/machinery/power/port_gen/pacman{ + anchored = 1 + }, +/obj/item/stack/sheet/mineral/plasma/twenty, +/obj/structure/cable/yellow{ + icon_state = "0-9" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"CM" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_y = 3 + }, +/obj/item/pen{ + pixel_y = 3 + }, +/obj/item/reagent_containers/food/drinks/coffee{ + pixel_x = 16; + pixel_y = 11 + }, +/turf/open/floor/wood, +/area/ship/crew/crewtwo) +"CO" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/medical) +"CX" = ( +/obj/machinery/light/directional/west, +/obj/machinery/button/door{ + pixel_y = -23; + id = "atlas_med"; + dir = 1; + name = "medbay shutters" + }, +/obj/effect/turf_decal/siding/white{ + dir = 10 + }, +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/machinery/iv_drip, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"CZ" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 8 + }, +/obj/structure/railing, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"Da" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Do" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"Dq" = ( +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/white, +/obj/structure/mirror{ + pixel_y = 28 + }, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"DL" = ( +/obj/machinery/photocopier, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Ea" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Ej" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"Eo" = ( +/obj/structure/railing{ + dir = 1; + layer = 2.89 + }, +/obj/machinery/autolathe, +/obj/machinery/light/directional/west, +/obj/item/stack/sheet/glass/twenty, +/obj/item/stack/sheet/metal/twenty, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Es" = ( +/obj/structure/curtain/cloth/grey, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"Ey" = ( +/obj/effect/decal/fakelattice{ + icon_state = "lattice-23" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating, +/area/ship/external/dark) +"EB" = ( +/obj/machinery/light/directional/north, +/turf/open/floor/carpet/nanoweave/blue, +/area/ship/crew/crewtwo) +"ED" = ( +/obj/item/kirbyplants{ + icon_state = "plant-02"; + pixel_x = -7 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/turf_decal/corner_steel_grid/full, +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"EH" = ( +/obj/structure/filingcabinet/double/grey{ + dir = 1; + pixel_y = -3 + }, +/obj/item/folder, +/obj/item/folder/blue, +/obj/item/folder/red, +/obj/item/folder/white, +/obj/item/folder/yellow, +/turf/open/floor/wood, +/area/ship/crew/crewtwo) +"EJ" = ( +/obj/item/kirbyplants{ + icon_state = "plant-02" + }, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"EP" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/arrow_ccw{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"ES" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"EZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 4 + }, +/area/ship/bridge) +"Fu" = ( +/obj/effect/decal/fakelattice{ + icon_state = "lattice-21" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating, +/area/ship/external/dark) +"Fv" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"FF" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"FI" = ( +/obj/structure/table, +/obj/item/desk_flag/trans{ + pixel_x = -5; + pixel_y = 4 + }, +/obj/item/toy/cards/deck{ + pixel_x = 6; + pixel_y = 9 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"FN" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/crewthree) +"FO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi'; + dir = 4 + }, +/area/ship/bridge) +"FQ" = ( +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 4 + }, +/obj/effect/landmark/start/medical_doctor, +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"Gi" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = -12; + pixel_y = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Gj" = ( +/obj/effect/turf_decal/corner_steel_grid{ + dir = 5 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8; + color = "#75A2BB" + }, +/obj/structure/table, +/obj/structure/bedsheetbin, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/canteen) +"Gt" = ( +/obj/structure/bed/double, +/obj/item/bedsheet/double/blue, +/turf/open/floor/carpet/blue, +/area/ship/crew/crewthree) +"GU" = ( +/obj/machinery/porta_turret/ship/ballistic/clip, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/crewtwo) +"Hf" = ( +/turf/open/floor/wood, +/area/ship/crew/crewtwo) +"Hg" = ( +/obj/machinery/airalarm/directional/west, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Hh" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "atlas_engi_lockdown"; + dir = 4; + pixel_y = 2; + name = "engineering shutters"; + pixel_x = -24 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Hl" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/light/directional/west, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"Hu" = ( +/obj/machinery/door/poddoor{ + id = "atlas_cargo" + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plating, +/area/ship/cargo) +"HW" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew) +"HX" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/central) +"Ic" = ( +/obj/machinery/turretid, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/bridge) +"Ig" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/railing, +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 1 + }, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"Ir" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/effect/turf_decal/minutemen/edge, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"IK" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4; + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + color = "#75A2BB" + }, +/obj/structure/closet/crate, +/obj/item/storage/box/emptysandbags, +/obj/item/storage/box/emptysandbags, +/obj/item/shovel, +/obj/item/shovel, +/obj/item/pickaxe, +/obj/item/pickaxe, +/obj/item/storage/bag/ore, +/obj/item/storage/bag/ore, +/obj/machinery/light/directional/east, +/obj/structure/crate_shelf, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"IP" = ( +/obj/structure/table/wood, +/obj/item/melee/knife/letter_opener{ + pixel_x = 9; + pixel_y = -6 + }, +/obj/item/folder/biscuit/unsealed{ + pixel_x = -4 + }, +/obj/item/papercutter{ + pixel_x = 5; + pixel_y = 5 + }, +/turf/open/floor/wood, +/area/ship/crew/crewtwo) +"IR" = ( +/obj/item/kirbyplants{ + icon_state = "plant-02" + }, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"IY" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Jb" = ( +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Bridge"; + req_one_access = list(19, 3) + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "atlas_bridge_lockdown" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Je" = ( +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"JL" = ( +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/obj/machinery/holopad/emergency/medical, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"JR" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-5" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"JU" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/chair{ + dir = 1 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"JV" = ( +/obj/item/kirbyplants{ + icon_state = "plant-02"; + pixel_y = 16; + pixel_x = -6 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/corner_steel_grid/full{ + dir = 8 + }, +/obj/structure/railing, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Kc" = ( +/obj/effect/decal/fakelattice{ + icon_state = "lattice-203" + }, +/obj/structure/lattice/catwalk, +/obj/item/toy/plush/moth/royal{ + pixel_x = 9; + pixel_y = 8; + name = "Specialist Aloe"; + desc = "An adorable mothperson plushy. Judging by a tag attached just beneath its left leg, it is part of the Colonial League's armed forces." + }, +/obj/item/clothing/head/clip{ + pixel_x = 9; + pixel_y = 18 + }, +/obj/item/reagent_containers/food/drinks/coffee{ + pixel_x = 5; + list_reagents = list(/datum/reagent/consumable/ice = 30) + }, +/turf/open/floor/plating, +/area/ship/external/dark) +"Kf" = ( +/obj/structure/chair/plastic{ + dir = 8; + pixel_y = 9; + pixel_x = 7 + }, +/obj/effect/decal/cleanable/confetti, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/pump/layer2{ + dir = 8 + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/engineering) +"Km" = ( +/obj/machinery/computer/helm/viewscreen/directional/south, +/turf/open/floor/carpet/nanoweave/blue, +/area/ship/crew/crewtwo) +"KB" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/siding/thinplating/dark, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Ld" = ( +/obj/item/caution{ + pixel_x = 6 + }, +/obj/effect/decal/cleanable/oil/slippery{ + icon_state = "floor5"; + pixel_x = -12; + pixel_y = 1 + }, +/obj/item/wirecutters{ + pixel_x = -5; + pixel_y = -15 + }, +/obj/item/crowbar/large{ + pixel_y = 14 + }, +/turf/open/floor/plating, +/area/ship/cargo) +"Ln" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"Lp" = ( +/obj/structure/table/reinforced, +/obj/item/book/manual/wiki/command{ + pixel_y = 6; + pixel_x = -3 + }, +/obj/item/book/manual/wiki/piloting{ + pixel_x = 4; + pixel_y = 2 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Lw" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/stand_clear/white, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/button/door{ + id = "atlas_cargo"; + dir = 4; + pixel_x = -23; + pixel_y = 6; + name = "cargo bay control" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/button/shieldwallgen{ + dir = 4; + pixel_y = -4; + pixel_x = -20; + id = "atlas_holo" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"LE" = ( +/obj/structure/grille, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"LH" = ( +/obj/structure/filingcabinet/double/grey{ + pixel_y = 14 + }, +/obj/item/folder, +/obj/item/folder/blue, +/obj/item/folder/red, +/obj/item/folder/white, +/obj/item/folder/yellow, +/obj/item/reagent_containers/food/snacks/grown/tobacco{ + dry = 1 + }, +/obj/item/reagent_containers/food/snacks/grown/tobacco{ + dry = 1 + }, +/obj/item/reagent_containers/food/snacks/grown/tobacco{ + dry = 1 + }, +/obj/item/reagent_containers/food/snacks/grown/tobacco{ + dry = 1 + }, +/turf/open/floor/wood, +/area/ship/crew/crewthree) +"LM" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/bridge) +"Ml" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/stand_clear/white, +/obj/machinery/light/directional/east, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Mq" = ( +/obj/structure/closet/crate/bin{ + pixel_y = 11; + pixel_x = -10 + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Mu" = ( +/obj/effect/landmark/start/station_engineer, +/obj/structure/cable/yellow{ + icon_state = "2-5" + }, +/obj/structure/cable/yellow{ + icon_state = "5-6" + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/engineering) +"My" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"MC" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"MH" = ( +/obj/machinery/power/port_gen/pacman{ + anchored = 1 + }, +/obj/structure/cable/yellow, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"MO" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"MQ" = ( +/obj/structure/chair/comfy/beige, +/turf/open/floor/wood, +/area/ship/crew/crewtwo) +"Ni" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewtwo) +"No" = ( +/obj/machinery/mech_bay_recharge_port{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/hatch/blue, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"NE" = ( +/obj/structure/closet/emcloset/anchored, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 6 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1; + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + dir = 8; + color = "#75A2BB" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"NY" = ( +/obj/structure/chair/comfy/blue{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ship/crew/crewthree) +"Ob" = ( +/obj/structure/sign/clip, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/crewtwo) +"Oj" = ( +/obj/structure/sign/number/random, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/crewthree) +"Ot" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"OA" = ( +/obj/structure/catwalk/over, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/directional/east, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"OQ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"OV" = ( +/obj/effect/turf_decal/rechargefloor, +/obj/item/stack/ore/salvage/scraptitanium{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/stack/ore/salvage/scrapsilver{ + pixel_x = 4; + pixel_y = -8 + }, +/obj/structure/mecha_wreckage/ripley/clip, +/obj/machinery/light/directional/west, +/obj/effect/turf_decal/box/corners{ + dir = 1; + color = "#75A2BB" + }, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"OW" = ( +/obj/effect/decal/fakelattice, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plasteel/elevatorshaft, +/area/ship/hallway/central) +"Pd" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4; + pixel_y = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Pi" = ( +/obj/machinery/suit_storage_unit/minutemen, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/box{ + color = "#75A2BB" + }, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"Pk" = ( +/obj/effect/turf_decal/minutemen/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Pn" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"Py" = ( +/obj/structure/closet/secure_closet/engineering_personal{ + populate = 0 + }, +/obj/effect/decal/cleanable/confetti, +/obj/item/clothing/glasses/meson{ + pixel_x = -1; + pixel_y = -8 + }, +/obj/item/storage/belt/utility/full, +/obj/item/storage/backpack/satchel/eng{ + pixel_y = 10 + }, +/obj/item/clothing/under/clip{ + pixel_x = 7 + }, +/obj/item/clothing/suit/hazardvest{ + pixel_x = -8; + pixel_y = 3 + }, +/obj/item/clothing/suit/space/syndicate/blue, +/obj/item/clothing/head/helmet/space/syndicate/blue, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"PD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/toilet{ + dir = 8; + pixel_x = 4 + }, +/obj/structure/curtain, +/obj/machinery/shower{ + dir = 1; + pixel_x = -6 + }, +/obj/effect/turf_decal/floordetail/pryhole, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plastic, +/area/ship/crew) +"PG" = ( +/obj/machinery/light/directional/south, +/turf/open/floor/carpet/blue, +/area/ship/crew/crewthree) +"PK" = ( +/obj/effect/turf_decal/trimline/transparent/blue/line, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/structure/closet/secure_closet/freezer/fridge/open{ + populate = 0 + }, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"PT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/suit_storage_unit/minutemen, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/box{ + color = "#75A2BB" + }, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"PU" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering) +"PV" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"PX" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating, +/area/ship/engineering) +"Qb" = ( +/obj/machinery/recharge_station, +/turf/open/floor/carpet/blue, +/area/ship/crew) +"Qg" = ( +/obj/item/cigbutt{ + pixel_x = -8; + pixel_y = 11 + }, +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering) +"Qj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sink{ + dir = 4; + pixel_x = -12; + pixel_y = 6 + }, +/obj/item/lipstick{ + pixel_x = -11 + }, +/obj/item/lipstick/black{ + pixel_x = -11 + }, +/obj/item/lipstick/jade{ + pixel_x = -11 + }, +/obj/item/lipstick/purple{ + pixel_x = -11 + }, +/obj/structure/closet/wall/white{ + dir = 4; + pixel_x = 28; + pixel_y = 6 + }, +/obj/structure/mirror{ + pixel_x = -28; + pixel_y = 7 + }, +/obj/item/dyespray{ + pixel_x = 10 + }, +/obj/item/clothing/head/wig/random{ + pixel_x = 11 + }, +/turf/open/floor/plastic, +/area/ship/crew) +"Qt" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"Qu" = ( +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"Qw" = ( +/obj/effect/turf_decal/minutemen/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"Qx" = ( +/obj/structure/bed/pod{ + dir = 1 + }, +/obj/item/bedsheet/red{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Qz" = ( +/obj/structure/sign/clip, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"QC" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"QG" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/hallway/central) +"QM" = ( +/obj/structure/table/reinforced, +/obj/item/radio/weather_monitor{ + pixel_x = -6; + pixel_y = 20 + }, +/obj/item/radio/intercom/table{ + dir = 4; + pixel_y = 3 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"QS" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Rf" = ( +/obj/machinery/door/airlock/grunge{ + name = "Dormitories" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"Rt" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewtwo) +"Rv" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "4-10" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) +"Rz" = ( +/obj/structure/rack, +/obj/effect/turf_decal/trimline/transparent/blue/filled, +/obj/item/clothing/suit/armor/vest/bulletproof{ + pixel_y = 13; + pixel_x = 7 + }, +/obj/item/clothing/suit/armor/vest/bulletproof{ + pixel_y = 10; + pixel_x = 6 + }, +/obj/item/clothing/suit/armor/vest/bulletproof{ + pixel_x = 7; + pixel_y = 5 + }, +/obj/item/clothing/suit/armor/vest/bulletproof{ + pixel_x = 8; + pixel_y = 1 + }, +/obj/item/clothing/head/helmet/bulletproof/x11/clip{ + pixel_y = 12; + pixel_x = -9 + }, +/obj/item/clothing/head/helmet/bulletproof/x11/clip{ + pixel_y = 10; + pixel_x = -6 + }, +/obj/item/clothing/head/helmet/bulletproof/x11/clip{ + pixel_y = 5; + pixel_x = -10 + }, +/obj/item/clothing/head/helmet/bulletproof/x11/clip{ + pixel_y = 1; + pixel_x = -7 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"RL" = ( +/obj/structure/table/wood, +/obj/item/storage/fancy/cigarettes/cigars{ + pixel_y = 6; + pixel_x = 2 + }, +/obj/item/storage/fancy/cigarettes/cigars{ + pixel_y = 9; + pixel_x = 1 + }, +/obj/item/clothing/mask/cigarette/pipe{ + pixel_x = 10 + }, +/obj/item/lighter{ + pixel_x = -9 + }, +/turf/open/floor/wood, +/area/ship/crew/crewthree) +"RM" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"RQ" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"RT" = ( +/obj/machinery/porta_turret/ship/ballistic/clip, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew) +"RU" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/computer/monitor{ + dir = 8; + icon_state = "computer-left" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Sb" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Sp" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "atlas_cap" + }, +/turf/open/floor/plating, +/area/ship/crew/crewthree) +"Ss" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Sw" = ( +/obj/structure/rack, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled, +/obj/item/storage/box/ammo/c10mm{ + pixel_x = 5; + pixel_y = 8 + }, +/obj/item/storage/box/ammo/c9mm{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/storage/box/ammo/a556_42{ + pixel_x = 1; + pixel_y = -6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Sz" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"SB" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/security) +"SI" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"SK" = ( +/obj/structure/sign/clip, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/medical) +"ST" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/brigdoor/southright{ + req_access = list(3) + }, +/obj/item/radio/intercom/table{ + pixel_y = -3; + pixel_x = 5 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"SW" = ( +/obj/structure/table/wood, +/obj/item/modular_computer/laptop/preset/civilian{ + pixel_y = 3 + }, +/turf/open/floor/wood, +/area/ship/crew/crewtwo) +"Ti" = ( +/obj/machinery/light/directional/west, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"Tx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewtwo) +"Ty" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"TA" = ( +/obj/item/emptysandbag{ + pixel_x = -10; + pixel_y = -8 + }, +/obj/item/emptysandbag{ + pixel_x = 4; + pixel_y = -8 + }, +/obj/item/emptysandbag{ + pixel_x = -3; + pixel_y = -6 + }, +/obj/item/emptysandbag{ + pixel_x = -3; + pixel_y = -6 + }, +/obj/item/emptysandbag{ + pixel_x = 4; + pixel_y = -4 + }, +/obj/item/emptysandbag{ + pixel_x = -10; + pixel_y = -5 + }, +/obj/item/emptysandbag{ + pixel_x = 2; + pixel_y = -2 + }, +/obj/item/emptysandbag{ + pixel_x = -10 + }, +/obj/item/shovel{ + pixel_x = -18; + pixel_y = -3 + }, +/obj/structure/table, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"TE" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"TK" = ( +/obj/structure/dresser{ + dir = 1 + }, +/obj/machinery/button/door{ + pixel_y = -23; + id = "atlas_cap"; + dir = 1; + name = "private windows button" + }, +/turf/open/floor/carpet/blue, +/area/ship/crew/crewthree) +"TT" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"Uh" = ( +/obj/structure/rack, +/obj/effect/turf_decal/trimline/transparent/blue/filled, +/obj/item/clothing/head/clip{ + pixel_x = -6; + pixel_y = 8 + }, +/obj/item/clothing/head/clip{ + pixel_x = -9; + pixel_y = 3 + }, +/obj/item/clothing/head/clip{ + pixel_x = -9; + pixel_y = -3 + }, +/obj/item/clothing/head/clip{ + pixel_x = -7; + pixel_y = -8 + }, +/obj/item/storage/belt/military/clip{ + pixel_y = 14; + pixel_x = 5 + }, +/obj/item/storage/belt/military/clip{ + pixel_y = 11; + pixel_x = 7 + }, +/obj/item/storage/belt/military/clip{ + pixel_y = 2; + pixel_x = 4 + }, +/obj/item/storage/belt/military/clip{ + pixel_y = -2; + pixel_x = 7 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Um" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/corner{ + dir = 8 + }, +/obj/structure/window/reinforced, +/obj/machinery/suit_storage_unit/minutemen, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/box{ + color = "#75A2BB" + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"UC" = ( +/obj/effect/turf_decal/corner/transparent/blue/diagonal, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"UG" = ( +/obj/structure/table/optable, +/obj/effect/turf_decal/corner/transparent/blue/mono, +/obj/item/clothing/suit/apron/surgical{ + pixel_x = -5; + pixel_y = -3 + }, +/obj/item/book/manual/wiki/surgery{ + pixel_x = 6; + pixel_y = 1 + }, +/obj/structure/sign/poster/clip/serene{ + pixel_x = 32 + }, +/obj/machinery/defibrillator_mount{ + pixel_y = -28 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical) +"UK" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/carpet/blue, +/area/ship/crew) +"UP" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4; + color = "#75A2BB" + }, +/obj/effect/turf_decal/box/corners{ + color = "#75A2BB" + }, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/structure/weightmachine/weightlifter, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/pod/dark, +/area/ship/cargo) +"US" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/computer/cargo{ + dir = 8; + icon_state = "computer-right" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"UY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/catwalk/over, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"Vk" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 5; + pixel_x = 16 + }, +/obj/item/pen{ + pixel_y = 5; + pixel_x = 16 + }, +/obj/machinery/door/window/brigdoor/southleft{ + req_access = list(3) + }, +/obj/item/flashlight/lamp{ + pixel_x = -8; + pixel_y = 13 + }, +/obj/item/stamp{ + pixel_x = -9 + }, +/obj/item/stamp/denied, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Vl" = ( +/obj/effect/turf_decal/corner/transparent/blue/border{ + dir = 8 + }, +/obj/structure/curtain, +/obj/effect/turf_decal/corner/transparent/blue/mono, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/medical) +"Vo" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "atlas_med" + }, +/turf/open/floor/plating, +/area/ship/medical) +"Vq" = ( +/obj/structure/rack, +/obj/item/reagent_containers/spray/pepper{ + pixel_y = 12; + pixel_x = 10 + }, +/obj/item/reagent_containers/spray/pepper{ + pixel_y = 13; + pixel_x = 4 + }, +/obj/item/reagent_containers/spray/pepper{ + pixel_y = 10; + pixel_x = 6 + }, +/obj/item/reagent_containers/spray/pepper{ + pixel_y = 8; + pixel_x = 9 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled, +/obj/item/ammo_box/magazine/cm5_9mm{ + pixel_x = 2; + pixel_y = -2 + }, +/obj/item/ammo_box/magazine/cm5_9mm{ + pixel_x = -1; + pixel_y = -5 + }, +/obj/item/ammo_box/magazine/p16{ + pixel_x = -9 + }, +/obj/item/ammo_box/magazine/p16{ + pixel_x = -9 + }, +/obj/machinery/light/directional/north, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/item/melee/knife/survival{ + pixel_x = 12; + pixel_y = -3 + }, +/obj/item/melee/knife/survival{ + pixel_x = 10; + pixel_y = -4 + }, +/obj/item/melee/knife/survival{ + pixel_x = 11; + pixel_y = -4 + }, +/obj/item/melee/knife/survival{ + pixel_x = 11; + pixel_y = -6 + }, +/obj/item/melee/knife/survival{ + pixel_x = 11; + pixel_y = -8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"Vw" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewthree) +"VG" = ( +/obj/machinery/modular_computer/console/preset/command{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"VK" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/closet/secure_closet/engineering_welding, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering) +"VQ" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/engineering) +"VR" = ( +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/transparent/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/security) +"VT" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black/corner, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"VW" = ( +/obj/effect/decal/fakelattice{ + icon_state = "lattice-6" + }, +/obj/structure/lattice/catwalk, +/turf/open/floor/plating, +/area/ship/external/dark) +"We" = ( +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Wg" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1; + layer = 2.456 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"Wi" = ( +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"Wk" = ( +/obj/effect/turf_decal/corner/transparent/blue{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock/medical{ + name = "Medical Bay" + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"Wr" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "First Officer's Quarters"; + req_one_access = list(19) + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewtwo) +"Wx" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "atlas_bridge_lockdown" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"WO" = ( +/obj/machinery/cryopod{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor/orange{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew) +"WQ" = ( +/obj/machinery/door/airlock/grunge{ + dir = 4; + name = "Engineering" + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering) +"WR" = ( +/obj/structure/bed{ + dir = 1 + }, +/obj/item/bedsheet/blue{ + dir = 1 + }, +/obj/structure/curtain/cloth, +/turf/open/floor/carpet/blue, +/area/ship/crew) +"WZ" = ( +/obj/structure/catwalk/over, +/obj/machinery/firealarm/directional/east, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plating, +/area/ship/engineering) +"Xc" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -23 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewthree) +"Xg" = ( +/obj/effect/turf_decal/trimline/transparent/blue/warning{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"Xl" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/railing, +/obj/machinery/firealarm/directional/north, +/obj/machinery/light_switch{ + pixel_y = 23; + pixel_x = 10 + }, +/turf/open/floor/pod/dark, +/area/ship/crew/canteen) +"Xp" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/engineering) +"XT" = ( +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/transparent/blue/corner{ + dir = 4 + }, +/obj/structure/chair/plastic{ + dir = 8; + pixel_x = -4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"XZ" = ( +/obj/machinery/porta_turret/ship/ballistic/clip, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/crewthree) +"Ya" = ( +/turf/open/floor/plasteel/tech, +/area/ship/crew/canteen) +"Yt" = ( +/obj/docking_port/stationary{ + width = 30; + height = 15; + dwidth = 15 + }, +/turf/template_noop, +/area/template_noop) +"Yu" = ( +/obj/item/food/cakeslice/birthday{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/engineering) +"Yw" = ( +/obj/machinery/door/airlock/mining{ + name = "Cargo Bay" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"YG" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4; + pixel_y = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"YK" = ( +/obj/structure/closet/crate/bin, +/obj/machinery/firealarm/directional/south, +/obj/item/broken_bottle, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewthree) +"YM" = ( +/obj/structure/grille, +/obj/structure/window/reinforced/fulltile, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "atlas_fo" + }, +/turf/open/floor/plating, +/area/ship/crew/crewtwo) +"YO" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Zd" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Ze" = ( +/obj/machinery/washing_machine, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 10 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1; + color = "#75A2BB" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/canteen) +"Zo" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 5; + pixel_x = 11 + }, +/obj/item/pen{ + pixel_y = 5; + pixel_x = 11 + }, +/obj/item/papercutter{ + pixel_x = -2; + pixel_y = 5 + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"Zs" = ( +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Bridge"; + req_one_access = list(19, 3) + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 8; + id = "atlas_bridge_lockdown" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) +"ZE" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/crewtwo) +"ZG" = ( +/obj/structure/sign/poster/clip/enlist{ + pixel_y = 32 + }, +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/carpet/blue, +/area/ship/crew) +"ZM" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-5" + }, +/turf/open/floor/plating, +/area/ship/engineering) +"ZU" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/closet/emcloset/anchored, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) +"ZZ" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/computer/helm{ + dir = 8; + icon_state = "computer-middle" + }, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/bridge) + +(1,1,1) = {" +ps +ps +ps +ps +ms +ps +ps +ps +ps +ps +ps +ps +ps +ps +ps +ps +ps +ps +ps +ps +vS +ps +ps +"} +(2,1,1) = {" +ps +ps +ps +ps +PU +PU +Bm +Bm +PU +ps +ps +PU +sD +PU +ps +ps +PU +Bm +Bm +PU +PU +ps +ps +"} +(3,1,1) = {" +ps +ps +ps +ps +PU +Ti +yL +af +PU +Bm +Bm +PU +zf +PU +Bm +Bm +PU +cN +cN +Hl +PU +ps +ps +"} +(4,1,1) = {" +ps +ps +ps +ps +pp +eW +My +bK +PU +jY +jY +PU +Qu +PU +jY +jY +PU +bK +JR +TA +pp +ps +ps +"} +(5,1,1) = {" +ps +ps +ps +ps +pp +Py +Yu +fM +vo +wc +mw +Hh +Qg +wd +mw +ZM +Eo +Rv +Mu +MH +pp +ps +ps +"} +(6,1,1) = {" +ps +ps +ps +bF +vZ +VK +Kf +jR +iN +sh +vw +UY +OA +vd +WZ +VQ +PX +mK +Xp +Cr +pp +ps +ps +"} +(7,1,1) = {" +ps +ps +ps +ps +mN +PU +Cc +qS +fd +PU +WQ +PU +PU +PU +PU +PU +BL +qG +wU +PU +mN +ps +ps +"} +(8,1,1) = {" +ps +ps +ps +ps +ps +PU +PU +PU +PU +tW +eK +tW +Ze +fL +Gj +tW +PU +PU +PU +PU +ps +ps +ps +"} +(9,1,1) = {" +ps +ps +ps +ps +ps +gT +Qx +Gi +oY +tW +em +tW +zl +Ya +gk +tW +LE +LE +LE +ps +ps +ps +ps +"} +(10,1,1) = {" +ps +ps +ps +ps +gT +gT +jc +XT +gT +tW +VT +Pd +kt +YG +gU +tW +HW +HW +HW +HW +HW +ps +ps +"} +(11,1,1) = {" +ps +ps +ps +gT +gT +kd +gE +Bx +gT +kE +nS +jI +fp +Do +Sb +nQ +HW +WR +us +An +HW +HW +ps +"} +(12,1,1) = {" +ps +ps +ps +gT +Vq +Sw +QS +SB +Vk +jG +IY +jI +vy +nW +FF +PK +HW +ZG +fR +fR +zE +di +ps +"} +(13,1,1) = {" +ps +ps +ps +gT +ny +VR +aX +qR +ST +ct +Aa +nl +oa +nW +FF +nY +HW +fg +wJ +UK +vT +di +ps +"} +(14,1,1) = {" +ps +ps +ps +gT +Rz +Uh +dV +uH +gT +Ig +Aa +Wi +am +dM +BI +cm +Rf +Ej +yi +aI +Qb +di +ps +"} +(15,1,1) = {" +ps +ps +ps +gT +yo +fs +QC +sl +gT +Xl +Aa +wh +Qt +OQ +iS +hg +HW +HW +Es +HW +HW +HW +ps +"} +(16,1,1) = {" +ps +ps +ps +gT +bQ +gT +sI +gT +gT +CZ +EP +eU +FI +Do +FF +kv +NE +HW +lJ +sP +wi +HW +ps +"} +(17,1,1) = {" +ps +ps +ps +gT +yZ +gT +zQ +PT +Um +Cq +wk +jI +Pn +rr +FF +kv +nU +HW +WO +mf +nO +HW +ps +"} +(18,1,1) = {" +ps +ps +ps +gT +gT +gT +Zd +sL +We +sL +IY +jI +uU +rr +FF +KB +HW +HW +HW +HW +HW +RT +ps +"} +(19,1,1) = {" +ps +ps +ps +ps +ps +gT +MC +Pi +sA +eJ +RM +gu +ES +bS +Ss +wy +eB +Qj +PD +HW +ps +ps +ps +"} +(20,1,1) = {" +ps +ps +ps +ps +ps +lA +TE +TE +TE +TE +HX +PV +HX +PV +HX +CO +CO +CO +CO +HW +ps +ps +ps +"} +(21,1,1) = {" +ps +ps +ps +ps +ps +ps +TE +OV +No +TE +ev +sB +Ot +ia +OW +CO +gy +zc +CO +ps +ps +ps +ps +"} +(22,1,1) = {" +ps +ps +ps +ps +ps +Qz +TE +Ld +yn +TE +TE +zt +tF +Ty +CO +CO +cY +cY +CO +SK +ps +ps +ps +"} +(23,1,1) = {" +ps +ps +ps +ps +ps +zq +Lw +le +YO +Hg +Yw +TT +hL +TT +gw +aC +FQ +mS +CX +CO +ps +ps +ps +"} +(24,1,1) = {" +ps +ps +ps +ps +Yt +Hu +nX +tA +jZ +yI +TE +hQ +rk +Ln +CO +Dq +aa +JL +yR +Vo +ps +ps +ps +"} +(25,1,1) = {" +ps +ps +ps +ps +ps +Hu +nX +tA +tA +UP +TE +wW +rk +JU +CO +we +uO +UC +yR +Vo +ps +ps +ps +"} +(26,1,1) = {" +ps +ps +ps +ps +ps +kS +Ml +le +Da +SI +nP +yB +ix +yB +Wk +zx +AH +qA +xU +CO +ps +ps +ps +"} +(27,1,1) = {" +ps +ps +ps +ps +ps +Qz +TE +nm +ov +TE +TE +yT +ec +uY +CO +CO +Vl +Vl +CO +SK +ps +ps +ps +"} +(28,1,1) = {" +ps +ps +ps +ps +ps +ps +TE +IK +xz +TE +MO +Fv +pE +uQ +si +CO +fF +UG +CO +ps +ps +ps +ps +"} +(29,1,1) = {" +ps +ps +jp +VW +Ey +Fu +TE +TE +TE +TE +kG +kL +pi +BW +si +CO +CO +CO +CO +VW +Ey +Fu +da +"} +(30,1,1) = {" +ps +ps +Oj +FN +xi +HX +HX +EJ +aS +uY +is +Xg +lY +oJ +Sz +uY +iQ +IR +HX +HX +Kc +da +da +"} +(31,1,1) = {" +ps +ps +Oj +FN +FN +FN +Cn +lc +gH +QG +Wg +fi +jL +AP +gH +QG +fj +RQ +OW +da +da +da +da +"} +(32,1,1) = {" +ps +ps +Sp +jQ +hR +FN +FN +oX +FN +FN +rR +BH +kX +pq +ZU +da +da +Wr +da +da +SW +Av +gR +"} +(33,1,1) = {" +ps +ps +Sp +rz +NY +hq +Xc +uX +sF +LM +LM +Jb +Wx +Zs +LM +LM +rO +Ni +Tx +iw +MQ +CM +gR +"} +(34,1,1) = {" +ps +ps +Sp +RL +cc +yC +Vw +YK +LM +LM +JV +FO +tq +EZ +ED +LM +LM +of +Ay +aw +Hf +IP +gR +"} +(35,1,1) = {" +ps +ps +XZ +FN +LH +uG +ry +LM +Ic +Mq +qn +Qw +ux +Pk +qb +pn +LM +LM +ZE +Rt +EH +da +GU +"} +(36,1,1) = {" +ps +ps +ps +FN +FN +vW +TK +LM +wu +js +js +Ir +gA +gF +Ea +Ea +lw +LM +mh +cV +da +da +ps +"} +(37,1,1) = {" +ps +ps +ps +Je +FN +yO +PG +LM +tP +DL +Zo +qr +qP +dw +uC +QM +VG +LM +EB +Km +da +Je +ps +"} +(38,1,1) = {" +ps +ps +ps +Je +FN +Gt +eH +LM +qc +LM +iO +RU +ZZ +US +Lp +LM +qc +LM +iW +yx +da +Je +ps +"} +(39,1,1) = {" +ps +ps +ps +ps +Cm +tc +tc +LM +ps +LM +qc +qc +qc +qc +qc +LM +ps +LM +YM +YM +Ob +ps +ps +"} diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm index 4b42a90bbb26..fedc993738bd 100644 --- a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm @@ -1672,9 +1672,7 @@ /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "pJ" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, +/obj/machinery/power/smes/shuttle/precharged, /obj/structure/cable{ icon_state = "0-8" }, @@ -1775,9 +1773,7 @@ /turf/open/floor/mineral/plastitanium, /area/ship/crew/canteen) "qF" = ( -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, +/obj/machinery/power/smes/shuttle/precharged, /obj/structure/cable{ icon_state = "0-8" }, @@ -3305,7 +3301,6 @@ icon_state = "0-8" }, /obj/docking_port/mobile{ - can_move_docking_ports = 1; dir = 8; launch_status = 0; preferred_direction = 4 @@ -4042,9 +4037,7 @@ /obj/machinery/door/window/eastleft{ name = "Engine Access" }, -/obj/machinery/atmospherics/components/unary/shuttle/fire_heater{ - dir = 4 - }, +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater, /turf/open/floor/plating, /area/ship/engineering) "MV" = ( @@ -4285,9 +4278,7 @@ id = "warship_engines"; name = "Thruster Blast Door" }, -/obj/machinery/atmospherics/components/unary/shuttle/fire_heater{ - dir = 4 - }, +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater, /turf/open/floor/plating, /area/ship/engineering) "PA" = ( @@ -5252,9 +5243,7 @@ /turf/open/floor/holofloor/wood, /area/ship/bridge) "Yb" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, +/obj/machinery/power/shuttle/engine/electric, /obj/structure/cable{ icon_state = "0-4" }, @@ -5267,9 +5256,7 @@ /turf/open/floor/engine/hull, /area/ship/external/dark) "Yn" = ( -/obj/machinery/power/shuttle/engine/fire{ - dir = 4 - }, +/obj/machinery/power/shuttle/engine/fire, /turf/open/floor/plating, /area/ship/engineering) "Yp" = ( diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 1e4fde83ae56..5df6e5fce6b3 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -844,6 +844,10 @@ DEFINE_BITFIELD(turret_flags, list( stun_projectile_sound = 'sound/weapons/gun/smg/shot.ogg' desc = "A ballistic machine gun auto-turret." +/* Colonial League turrets */ +/obj/machinery/porta_turret/ship/ballistic/clip + faction = list(FACTION_PLAYER_MINUTEMAN, "turret") + //high rof, range, faster projectile speed /* 'Nanotrasen' turrets */ diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index ea6633370147..cc742c409f0e 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -182,6 +182,13 @@ helmet_type = /obj/item/clothing/head/helmet/space/pilot/random mask_type = /obj/item/clothing/mask/breath +/obj/machinery/suit_storage_unit/minutemen + suit_type = /obj/item/clothing/suit/space/hardsuit/clip_patroller + mask_type = /obj/item/clothing/mask/breath + +/obj/machinery/suit_storage_unit/minutemen/spotter + suit_type = /obj/item/clothing/suit/space/hardsuit/clip_spotter + //End shiptest suits /obj/machinery/suit_storage_unit/open diff --git a/code/game/objects/items/storage/guncases.dm b/code/game/objects/items/storage/guncases.dm index 2feb49af03f7..947ed3d8b914 100644 --- a/code/game/objects/items/storage/guncases.dm +++ b/code/game/objects/items/storage/guncases.dm @@ -213,3 +213,9 @@ /obj/item/storage/pistolcase/iongun/PopulateContents() new /obj/item/gun/energy/ionrifle/empty_cell(src) new /obj/item/stock_parts/cell/gun(src) + +/obj/item/storage/pistolcase/cm23/PopulateContents() + . = ..() + new /obj/item/gun/ballistic/automatic/pistol/cm23/no_mag(src) + new /obj/item/ammo_box/magazine/cm23/empty(src) + new /obj/item/ammo_box/magazine/cm23/empty(src) diff --git a/code/modules/clothing/outfits/factions/minutemen.dm b/code/modules/clothing/outfits/factions/minutemen.dm index 2301855c6809..36530b20754b 100644 --- a/code/modules/clothing/outfits/factions/minutemen.dm +++ b/code/modules/clothing/outfits/factions/minutemen.dm @@ -120,7 +120,7 @@ suit = /obj/item/clothing/suit/toggle/lawyer/clip/fo alt_suit = null - shoes = /obj/item/clothing/shoes/combat + shoes = /obj/item/clothing/shoes/laceup head = /obj/item/clothing/head/clip/slouch/officer backpack = /obj/item/storage/backpack/captain @@ -273,7 +273,7 @@ backpack = /obj/item/storage/backpack/security/clip satchel = /obj/item/storage/backpack/satchel/sec/clip duffelbag = /obj/item/storage/backpack/duffelbag - courierbag = /obj/item/storage/backpack/messenger + courierbag = /obj/item/storage/backpack/satchel/sec/clip box = /obj/item/storage/box/survival/clip/balaclava @@ -298,17 +298,12 @@ ears = /obj/item/radio/headset/clip/alt/captain uniform = /obj/item/clothing/under/clip/officer alt_uniform = null - suit = /obj/item/clothing/suit/armor/clip_capcoat alt_suit = null + suit = /obj/item/clothing/suit/armor/clip_capcoat dcoat = /obj/item/clothing/suit/hooded/wintercoat/captain - shoes = /obj/item/clothing/shoes/combat + shoes = /obj/item/clothing/shoes/jackboots head = /obj/item/clothing/head/clip/slouch/officer - backpack = /obj/item/storage/backpack/captain - satchel = /obj/item/storage/backpack/satchel/cap - duffelbag = /obj/item/storage/backpack/duffelbag/captain - courierbag = /obj/item/storage/backpack/messenger/com - backpack_contents = list(/obj/item/storage/box/ids=1, /obj/item/melee/classic_baton/telescopic=1, /obj/item/modular_computer/tablet/preset/advanced = 1) @@ -365,14 +360,9 @@ ears = /obj/item/radio/headset/clip/alt uniform = /obj/item/clothing/under/clip/formal alt_uniform = null - suit = /obj/item/clothing/suit/toggle/lawyer/clip alt_suit = null - shoes = /obj/item/clothing/shoes/combat - - backpack = /obj/item/storage/backpack/captain - satchel = /obj/item/storage/backpack/satchel/cap - duffelbag = /obj/item/storage/backpack/duffelbag/captain - courierbag = /obj/item/storage/backpack/messenger/com + suit = /obj/item/clothing/suit/toggle/lawyer/clip + shoes = /obj/item/clothing/shoes/jackboots backpack_contents = list(/obj/item/modular_computer/tablet/preset/advanced = 1) @@ -382,17 +372,9 @@ job_icon = "clip_navy2" jobtype = /datum/job/doctor - l_hand = /obj/item/storage/firstaid/medical - - backpack = /obj/item/storage/backpack/security/clip - satchel = /obj/item/storage/backpack/satchel/sec/clip - duffelbag = /obj/item/storage/backpack/duffelbag - courierbag = /obj/item/storage/backpack/messenger - uniform = /obj/item/clothing/under/clip/medic shoes = /obj/item/clothing/shoes/sneakers/white head = /obj/item/clothing/head/clip/corpsman - gloves = /obj/item/clothing/gloves/color/latex/nitrile/clip suit = null suit_store = null @@ -513,7 +495,7 @@ job_icon = "clip_cmm2" ears = /obj/item/radio/headset/alt box = /obj/item/storage/box/survival/clip/balaclava - shoes = null + shoes = /obj/item/clothing/shoes/combat // shoos backpack = /obj/item/storage/backpack/security/clip satchel = /obj/item/storage/backpack/satchel/sec/clip @@ -635,7 +617,7 @@ head = /obj/item/clothing/head/clip/slouch suit = /obj/item/clothing/suit/armor/vest/bulletproof belt = /obj/item/storage/belt/military/clip - shoes = /obj/item/clothing/shoes/combat + shoes = /obj/item/clothing/shoes/jackboots l_pocket = /obj/item/flashlight/seclite r_pocket = /obj/item/tank/internals/emergency_oxygen/double @@ -647,8 +629,7 @@ suit_store = /obj/item/gun/ballistic/automatic/assault/cm82 belt = /obj/item/storage/belt/military/clip/cm82 - //replace commander with the cm23 when its impemented, see the cm-f4 above - backpack_contents = list(/obj/item/clothing/mask/gas/clip=1, /obj/item/reagent_containers/food/snacks/rationpack=1, /obj/item/gun/ballistic/automatic/pistol/commander=1) + backpack_contents = list(/obj/item/clothing/mask/gas/clip=1, /obj/item/reagent_containers/food/snacks/rationpack=1, /obj/item/gun/ballistic/automatic/pistol/cm23=1) /datum/outfit/job/clip/minutemen/grunt/commander name = "CLIP Minutemen - Field Commander" @@ -662,7 +643,7 @@ head = /obj/item/clothing/head/clip/slouch/officer suit = /obj/item/clothing/suit/toggle/lawyer/clip - shoes = /obj/item/clothing/shoes/combat + shoes = /obj/item/clothing/shoes/jackboots glasses = /obj/item/clothing/glasses/sunglasses /datum/outfit/job/clip/minutemen/grunt/major @@ -677,6 +658,6 @@ head = /obj/item/clothing/head/clip/slouch/officer suit = /obj/item/clothing/suit/armor/clip_trenchcoat - shoes = /obj/item/clothing/shoes/combat + shoes = /obj/item/clothing/shoes/jackboots glasses = /obj/item/clothing/glasses/sunglasses diff --git a/code/modules/projectiles/guns/manufacturer/clip_lanchester/ballistics.dm b/code/modules/projectiles/guns/manufacturer/clip_lanchester/ballistics.dm index a244b188863a..b84171d437da 100644 --- a/code/modules/projectiles/guns/manufacturer/clip_lanchester/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/clip_lanchester/ballistics.dm @@ -23,9 +23,12 @@ eject_empty_sound = 'sound/weapons/gun/pistol/candor_unload.ogg' recoil_unwielded = 3 +/obj/item/gun/ballistic/automatic/pistol/cm23/no_mag + spawnwithmagazine = FALSE + /obj/item/ammo_box/magazine/cm23 name = "CM-23 pistol magazine (10mm)" - desc = "An 10-round magazine magazine designed for the CM-70 pistol. These rounds do moderate damage, but struggle against armor." + desc = "An 10-round magazine magazine designed for the CM-23 pistol. These rounds do moderate damage, but struggle against armor." icon_state = "cm23_mag-1" base_icon_state = "cm23_mag" ammo_type = /obj/item/ammo_casing/c10mm @@ -36,6 +39,9 @@ . = ..() icon_state = "[base_icon_state]-[!!ammo_count()]" +/obj/item/ammo_box/magazine/cm23/empty + start_empty = TRUE + /obj/item/gun/ballistic/automatic/pistol/cm70 name = "CM-70 machine pistol" desc = "A compact machine pistol designed to rapidly fire 3-round bursts. Popular with officers and certain special units, the CM-70 is incredibly dangerous at close range. Chambered in 9mm." From 433161a2b643168df4bca6ec57c0cdff2b0b07ba Mon Sep 17 00:00:00 2001 From: DIB-DOG Date: Thu, 17 Oct 2024 13:51:13 -0500 Subject: [PATCH 073/344] Removes the extra turret from the crying sun and slightly re-organizes the armory (#3477) ## About The Pull Request Removes an extra turret that found it's way onto the hull of the PGF Crying Sun, likely in the recent PGF turret overhaul. Additionally, a locker in the armory has been renamed and the flashbangs have been moved from the Marine equipment locker to the Lieutenant's ordnance locker. I've attached an image below to show how it's now organized. ![Screenshot 2024-10-03 172121](https://github.com/user-attachments/assets/c8c123e3-0c39-4fc6-b7e1-d2c545ac0631) ![Screenshot 2024-10-04 015626](https://github.com/user-attachments/assets/9440b65f-ff3e-48f2-8a35-05ae0f442ad6) ![Screenshot 2024-10-17 131256](https://github.com/user-attachments/assets/d2fe5685-ffb8-487a-9d2f-c7228a8ea099) ## Why It's Good For The Game Ships having automated turrets that they weren't meant to have is generally a bad thing for balance and being able to enjoy the ship's lovingly labored over design. As for the flashbangs, the ship's fragmentation and smoke grenades were already being controlled by the lieutenant so it seems logical to do the same with grenades that can blind and deafen someone. ## Changelog :cl: del: Removed extra turret that wasn't supposed to be on the ship fix: Moved armory flashbangs to a more secure location /:cl: --- _maps/shuttles/pgf/pgf_crying_sun.dmm | 57 +++++++++++---------------- 1 file changed, 23 insertions(+), 34 deletions(-) diff --git a/_maps/shuttles/pgf/pgf_crying_sun.dmm b/_maps/shuttles/pgf/pgf_crying_sun.dmm index 0c740842e5d9..933d8f7fbfe0 100644 --- a/_maps/shuttles/pgf/pgf_crying_sun.dmm +++ b/_maps/shuttles/pgf/pgf_crying_sun.dmm @@ -225,16 +225,13 @@ /turf/open/floor/plating, /area/ship/engineering) "bT" = ( -/obj/item/storage/box/flashbangs{ - pixel_x = -7; - pixel_y = 7 - }, /obj/item/storage/box/zipties{ pixel_y = 7; - pixel_x = 8 + pixel_x = 4 }, /obj/item/storage/box/flashes{ - pixel_y = -1 + pixel_y = -1; + pixel_x = -7 }, /obj/item/screwdriver{ pixel_x = -5; @@ -2373,36 +2370,39 @@ /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "uo" = ( +/obj/structure/closet/secure_closet/wall/directional/west{ + icon_state = "sec_wall"; + name = "ordnance locker" + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/purple{ + dir = 10 + }, +/obj/item/storage/box/flashbangs{ + pixel_y = 6 + }, /obj/item/grenade/frag{ - pixel_x = -8; + pixel_x = -10; pixel_y = -1 }, /obj/item/grenade/frag{ - pixel_x = -3; - pixel_y = -8 + pixel_x = -5; + pixel_y = -6 }, /obj/item/grenade/smokebomb{ - pixel_y = 3; + pixel_y = 2; pixel_x = 13 }, /obj/item/grenade/smokebomb{ - pixel_y = 1; - pixel_x = 7 + pixel_x = 7; + pixel_y = -2 }, /obj/item/grenade/smokebomb{ pixel_x = 11; pixel_y = -5 }, -/obj/structure/closet/secure_closet/wall/directional/west{ - icon_state = "sec_wall"; - name = "equipment locker" - }, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/purple{ - dir = 10 - }, /turf/open/floor/vault, /area/ship/security/armory) "uq" = ( @@ -3612,17 +3612,6 @@ /obj/item/clothing/head/helmet/space/gezena, /turf/open/floor/plating, /area/ship/engineering) -"DG" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/porta_turret/ship/pgf/light{ - dir = 5; - mode = 1; - id = "crying_sun_grid" - }, -/turf/open/floor/engine/hull, -/area/ship/external/dark) "DJ" = ( /obj/effect/turf_decal/industrial/traffic, /obj/structure/sign/flag/gezena{ @@ -7431,7 +7420,7 @@ xz xz xz Si -DG +KB KM Te EM From 3179a4c20e8a450851c30f945051384720dfda54 Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Thu, 17 Oct 2024 15:58:14 -0500 Subject: [PATCH 074/344] Fixes the Frontiersman Soft Cap (#3581) ## About The Pull Request Fixes a typo that broke the sprite whenever you took the hat off or flipped it ## Why It's Good For The Game Fixes good ## Changelog :cl: fix: Fixed a typo in the Frontiersman softcap that made the sprite go invisible /:cl: --- code/modules/clothing/factions/frontiersmen.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/clothing/factions/frontiersmen.dm b/code/modules/clothing/factions/frontiersmen.dm index 77af8138fb40..380456f4f8d7 100644 --- a/code/modules/clothing/factions/frontiersmen.dm +++ b/code/modules/clothing/factions/frontiersmen.dm @@ -129,7 +129,7 @@ name = "frontiersman cap" desc = "An olive-green and grey baseball hat, worn by cargo technicians working under the Frontiersmen. Even they have the rights for a cool cap!" icon_state = "frontiersoft" - soft_type = "frontiersmen" + soft_type = "frontier" icon = 'icons/obj/clothing/faction/frontiersmen/head.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/frontiersmen/head.dmi' From e137044e4adebc6290733605ae64ac91db8415b9 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Thu, 17 Oct 2024 18:17:42 -0400 Subject: [PATCH 075/344] Wasteplanets Less Explosive (#3575) ## About The Pull Request removes welding fuel tanks from the wasteplanet spawn pool ## Why It's Good For The Game you will explode... less.. ## Changelog :cl: del: Wasteplanets no longer spawn welding fuel tanks. /:cl: Co-authored-by: Erika Fox <94164348+Bjarl@users.noreply.github.com> --- code/datums/mapgen/planetary/WasteGenerator.dm | 8 -------- 1 file changed, 8 deletions(-) diff --git a/code/datums/mapgen/planetary/WasteGenerator.dm b/code/datums/mapgen/planetary/WasteGenerator.dm index 67a9e5649a8c..621d5e3b9c4d 100644 --- a/code/datums/mapgen/planetary/WasteGenerator.dm +++ b/code/datums/mapgen/planetary/WasteGenerator.dm @@ -106,7 +106,6 @@ //stuff you can actually use /obj/effect/spawner/lootdrop/waste/girder = 600, - /obj/structure/reagent_dispensers/fueltank = 100, /obj/structure/reagent_dispensers/watertank = 200, /obj/item/stack/cable_coil/cut = 500, /obj/structure/closet/crate/secure/loot = 30, @@ -190,7 +189,6 @@ /obj/effect/spawner/lootdrop/waste/radiation = 300, /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 120, /obj/effect/spawner/lootdrop/waste/girder = 600, - /obj/structure/reagent_dispensers/fueltank = 100, /obj/structure/reagent_dispensers/watertank = 200, /obj/item/stack/cable_coil/cut = 500, /obj/structure/closet/crate/secure/loot = 30, @@ -235,7 +233,6 @@ /obj/effect/spawner/lootdrop/waste/radiation = 80, /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 20, /obj/effect/spawner/lootdrop/waste/girder = 600, - /obj/structure/reagent_dispensers/fueltank = 100, /obj/structure/reagent_dispensers/watertank = 200, /obj/item/stack/cable_coil/cut = 500, /obj/structure/closet/crate/secure/loot = 30, @@ -297,7 +294,6 @@ /obj/effect/spawner/lootdrop/waste/radiation = 80, /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 10, /obj/effect/spawner/lootdrop/waste/girder = 600, - /obj/structure/reagent_dispensers/fueltank = 100, /obj/structure/reagent_dispensers/watertank = 200, /obj/item/stack/cable_coil/cut = 500, /obj/structure/closet/crate/secure/loot = 30, @@ -359,7 +355,6 @@ /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 5, /obj/effect/spawner/lootdrop/waste/salvageable = 150, /obj/effect/spawner/lootdrop/waste/girder = 200, - /obj/structure/reagent_dispensers/fueltank = 10, /obj/structure/reagent_dispensers/watertank = 10, /obj/item/stack/cable_coil/cut = 500, /obj/structure/closet/crate/secure/loot = 30, @@ -393,7 +388,6 @@ /obj/effect/spawner/lootdrop/waste/radiation = 32, /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 4, /obj/effect/spawner/lootdrop/waste/girder = 120, - /obj/structure/reagent_dispensers/fueltank = 20, /obj/structure/reagent_dispensers/watertank = 40, /obj/item/stack/cable_coil/cut = 100, /obj/structure/closet/crate/secure/loot = 6, @@ -427,7 +421,6 @@ /obj/effect/spawner/lootdrop/waste/radiation = 16, /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 2, /obj/effect/spawner/lootdrop/waste/girder = 60, - /obj/structure/reagent_dispensers/fueltank = 10, /obj/structure/reagent_dispensers/watertank = 20, /obj/item/stack/cable_coil/cut = 50, /obj/structure/closet/crate/secure/loot = 3, @@ -466,7 +459,6 @@ /obj/effect/spawner/lootdrop/waste/mechwreck = 20, /obj/effect/spawner/lootdrop/waste/trash = 90, /obj/effect/spawner/lootdrop/waste/radiation = 16, - /obj/structure/reagent_dispensers/fueltank = 10, /obj/structure/reagent_dispensers/watertank = 20, /obj/item/stack/cable_coil/cut = 50, /obj/structure/closet/crate/secure/loot = 3, From 87fbd45ea98fe3003272a2ff8457a36b38e12c88 Mon Sep 17 00:00:00 2001 From: rye-rice <58402542+rye-rice@users.noreply.github.com> Date: Thu, 17 Oct 2024 16:05:54 -0700 Subject: [PATCH 076/344] resprites the commander (#3580) ## About The Pull Request title Was meant to be apart of another big manufacturer PR, however I do those when i'm taking a break from big projects, so its a bit of a cycle. It appears im in the latter half of the cycle (overmap 5 coming december...), so might as well just PR what i have done ## Why It's Good For The Game ![image](https://github.com/user-attachments/assets/9d518d71-b8f1-487c-9070-06af2d7a6c63) ## Changelog :cl: add: Resprites the commander and Commissioner /:cl: --------- Signed-off-by: rye-rice <58402542+rye-rice@users.noreply.github.com> Co-authored-by: retlaw34 <58402542+retlaw34@users.noreply.github.com> Co-authored-by: thgvr <81882910+thgvr@users.noreply.github.com> --- code/__DEFINES/guns.dm | 1 + .../boxes_magazines/external/pistol.dm | 13 ----- .../projectiles/guns/ballistic/pistol.dm | 37 ------------- .../nanotrasen_sharplite/ballistics.dm | 52 ++++++++++++++++++ icons/obj/guns/manufacturer/inteq/48x32.dmi | Bin 2090 -> 2032 bytes .../obj/guns/manufacturer/inteq/lefthand.dmi | Bin 5223 -> 1659 bytes .../obj/guns/manufacturer/inteq/righthand.dmi | Bin 5182 -> 1643 bytes .../nanotrasen_sharplite/48x32.dmi | Bin 27978 -> 28117 bytes .../nanotrasen_sharplite/lefthand.dmi | Bin 35557 -> 35330 bytes .../nanotrasen_sharplite/righthand.dmi | Bin 37047 -> 36809 bytes shiptest.dme | 1 + 11 files changed, 54 insertions(+), 50 deletions(-) create mode 100644 code/modules/projectiles/guns/manufacturer/nanotrasen_sharplite/ballistics.dm diff --git a/code/__DEFINES/guns.dm b/code/__DEFINES/guns.dm index d1cea0d28de4..26f7cfbfb6a9 100644 --- a/code/__DEFINES/guns.dm +++ b/code/__DEFINES/guns.dm @@ -61,6 +61,7 @@ #define MANUFACTURER_EOEHOMA "the Eoehoma Firearms emblem" #define MANUFACTURER_NANOTRASEN_OLD "an outdated Nanotrasen logo" #define MANUFACTURER_NANOTRASEN "the Nanotrasen logo" +#define MANUFACTURER_VIGILITAS "the Vigilitas Interstellar logo" #define MANUFACTURER_BRAZIL "a green flag with a blue circle and a yellow diamond around it" #define MANUFACTURER_INTEQ "an orange crest with the letters 'IRMG'" #define MANUFACTURER_MINUTEMAN "the Lanchester City Firearms Plant logo" diff --git a/code/modules/projectiles/boxes_magazines/external/pistol.dm b/code/modules/projectiles/boxes_magazines/external/pistol.dm index 90d2c7e4546e..0cf2a39beef2 100644 --- a/code/modules/projectiles/boxes_magazines/external/pistol.dm +++ b/code/modules/projectiles/boxes_magazines/external/pistol.dm @@ -34,19 +34,6 @@ . = ..() icon_state = "[base_icon_state]-[min(ammo_count(), 8)]" -/obj/item/ammo_box/magazine/co9mm - name = "commander pistol magazine (9mm)" - desc = "A 10-round double-stack magazine for Commander pistols. These rounds do okay damage, but struggle against armor." - icon_state = "commander_mag-10" - base_icon_state = "commander_mag" - ammo_type = /obj/item/ammo_casing/c9mm - caliber = "9mm" - max_ammo = 10 - multiple_sprites = AMMO_BOX_PER_BULLET - -/obj/item/ammo_box/magazine/co9mm/empty - start_empty = TRUE - /obj/item/ammo_box/magazine/pistol556mm name = "Pistole C magazine (5.56mm HITP caseless)" desc = "A 12-round, double-stack magazine for the Pistole C pistol. These rounds do okay damage with average performance against armor." diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm index 4fcc4cf56b14..cdae6b83df4c 100644 --- a/code/modules/projectiles/guns/ballistic/pistol.dm +++ b/code/modules/projectiles/guns/ballistic/pistol.dm @@ -98,43 +98,6 @@ EMPTY_GUN_HELPER(automatic/pistol/candor/factory) icon_state = "deaglecamo" item_state = "deagleg" -/obj/item/gun/ballistic/automatic/pistol/commander - name = "\improper Commander" - desc = "A classic handgun in a tasteful black and stainless steel color scheme. An enamel Nanotrasen logo is set into the grips. Chambered in 9mm." - icon_state = "commander" - icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' - - w_class = WEIGHT_CLASS_NORMAL - mag_type = /obj/item/ammo_box/magazine/co9mm - manufacturer = MANUFACTURER_NANOTRASEN - fire_sound = 'sound/weapons/gun/pistol/rattlesnake.ogg' - load_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' - load_empty_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' - eject_sound = 'sound/weapons/gun/pistol/mag_release.ogg' - eject_empty_sound = 'sound/weapons/gun/pistol/mag_release.ogg' - - rack_sound = 'sound/weapons/gun/pistol/rack_small.ogg' - lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' - bolt_drop_sound = 'sound/weapons/gun/pistol/drop_small.ogg' - -EMPTY_GUN_HELPER(automatic/pistol/commander) - -/obj/item/gun/ballistic/automatic/pistol/commander/inteq - name = "\improper Commissioner" - desc = "A handgun seized from Nanotrasen armories by deserting troopers and modified to IRMG's standards. A yellow IRMG shield is set into the grips. Chambered in 9mm." - icon = 'icons/obj/guns/manufacturer/inteq/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/inteq/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/inteq/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/inteq/onmob.dmi' - icon_state = "commander-inteq" - item_state = "commander-inteq" - manufacturer = MANUFACTURER_INTEQ - -EMPTY_GUN_HELPER(automatic/pistol/commander/inteq) - /obj/item/gun/ballistic/automatic/pistol/commissar name = "\improper Commissar" desc = "A Nanotrasen-issue handgun, modified with a voice box to further enhance its effectiveness in troop discipline." diff --git a/code/modules/projectiles/guns/manufacturer/nanotrasen_sharplite/ballistics.dm b/code/modules/projectiles/guns/manufacturer/nanotrasen_sharplite/ballistics.dm new file mode 100644 index 000000000000..9ba4929cf0a4 --- /dev/null +++ b/code/modules/projectiles/guns/manufacturer/nanotrasen_sharplite/ballistics.dm @@ -0,0 +1,52 @@ +/obj/item/gun/ballistic/automatic/pistol/commander + name = "VI Commander" + desc = "A service pistol produced as Vigilitas Interstellar's standard sidearm. Has a reputation for being easy to use, due to its light recoil and high magazine capacity. Chambered in 9mm." + icon_state = "commander" + item_state = "nt_generic" + icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' + + w_class = WEIGHT_CLASS_NORMAL + mag_type = /obj/item/ammo_box/magazine/co9mm + manufacturer = MANUFACTURER_VIGILITAS + fire_sound = 'sound/weapons/gun/pistol/rattlesnake.ogg' + load_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' + eject_sound = 'sound/weapons/gun/pistol/mag_release.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/mag_release.ogg' + + rack_sound = 'sound/weapons/gun/pistol/rack_small.ogg' + lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/drop_small.ogg' + +EMPTY_GUN_HELPER(automatic/pistol/commander) + +/obj/item/ammo_box/magazine/co9mm + name = "commander pistol magazine (9mm)" + desc = "A 10-round double-stack magazine for Commander pistols. These rounds do okay damage, but struggle against armor." + icon_state = "commander_mag-10" + base_icon_state = "commander_mag" + ammo_type = /obj/item/ammo_casing/c9mm + caliber = "9mm" + max_ammo = 10 + multiple_sprites = AMMO_BOX_PER_BULLET + +/obj/item/ammo_box/magazine/co9mm/empty + start_empty = TRUE + + +/obj/item/gun/ballistic/automatic/pistol/commander/inteq + name = "PS-03 Commissioner" + desc = "A modified version of the VI Commander, issued as standard to Inteq Risk Management Group personnel. Features the same excellent handling and high magazine capacity as the original. Chambered in 9mm." + + icon = 'icons/obj/guns/manufacturer/inteq/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/inteq/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/inteq/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/inteq/onmob.dmi' + icon_state = "commander_inteq" + item_state = "inteq_generic" + manufacturer = MANUFACTURER_INTEQ + +EMPTY_GUN_HELPER(automatic/pistol/commander/inteq) diff --git a/icons/obj/guns/manufacturer/inteq/48x32.dmi b/icons/obj/guns/manufacturer/inteq/48x32.dmi index 021ff448ecb58acb2f8ad2cdb9d38e6fdffa33ef..74adceab3ba16d0a2b7c60e9e96305a9718d8910 100644 GIT binary patch delta 2018 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 Hu0mjfYa-31 diff --git a/icons/obj/guns/manufacturer/inteq/lefthand.dmi b/icons/obj/guns/manufacturer/inteq/lefthand.dmi index 84707c2e5cdc429dbae46840a43cb4eeb228bf53..7ed89aacf95e8cec8e47e3fd7494a93fffddb15a 100644 GIT binary patch delta 1655 zcmV--28j9RDEkbM7k_{V0{{R3ySl zcQ73!PFP`TbbTTsB26+pZc=0#3=Td&Pr$&yEiElcNl9Q}VE?~nsjLCTY>%v;Y7A0d!JMQvg8b*negK004@5R9JLGWpiV4 zX>fFDZ*Bkpc$`yKaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM;w;ZhDainGjE%TBGg33t zGfE(w;*!LYR3K9+y);jWi!&v&s2HS$i!-e#F*g;&Hbkh&%qvMPj89L^OD)PwCa5~i zBp$4Rpu*zpTz^tk7U!npQmm}t>gNIu0s!7iO)%izcJ}}P1vW`UK~#90?VF2M+$t1? z5gbY6V%unFt>gPY=Gj~W1adj`Qdjq{;{>w#*+7QXe3KG_LZMJ76bgkxeL>y4Q|qI? zl-+Kgzg+Ihio15)!Pbk-<#Nb@(_!2UxVzk!75B%CgMaGQnaz=r3MrKyH#59>DEl~< zA9?6xcz<~~vc`fdLLtMgRlXsYZ%gUh1u9NlmSyYG=7WqaWXo=eBO0 zbkc^>^Sz=_C=?2XLZMJ7)Ylf(`ft7$(wf=d&rYK+%Ba2J{p>W>N{E0uwL;j?Yx5Br zv>vQ9EPpU8a$^cvz4E$F_`T$^(SlC!BiZBA6B`{CVipl`IN(wWn7<)|MH9S)j*YEu z*|}bO^zN3emXD5l95t70f}g=Ia7d7Gt|S~t#W}NCFA3UgxNSB@yYb|F_UPR>tP*54 zC#Dpi=UFIM7;FOeh`R*2s{|G8ly4Y(_c&6m4u8D^AJuPUjByDLKW)j5B+Ot)_gAms zE%=_@JX`ecfRCN2>{F}+{1I+UT=rp>248mWB5cyT13p|Rn-09BFNYVDrRY!o{{nH1 zM*BX~BwRk+e}EUQDn3bSnr8RTtNBuv`u-I%#=WUJomgQ$HXRfSg+ifFC=}`+(=NTE zEq}1`adPx-BLmO(x~Cmx`BRCl8$5eoy~Zo~c^k2+4!7_F=irwDhAI}f`eB1I%XM}Pb^ zro=qYFaQte)_jlnrHFhl^a%~wip!+e2x08N>#g_@C+^a z8z^0s@tt?K$P^J06m?_?=+xF$#(!gsT=?FiInXs;ba0JLyL)(w2yX#_Rb9vZ8&3BV zgbd2)%4435?_+&-e-954W}aK-3D8Z`2B=dZ`xW2wJ%ld!3a+^}y8sYA86nZuSPlX@ zv)S8z5(o4qCMXmNg+ifFC=}}J=}qw7d*}$>JNvNQe*A5>uu_fp>KpPb#(xJK;D2ol zt9ucw6GWPL&;H-Vg!e*wEhbs;zjcCDWjiMDKRF4#L{#==n+D#qxF+Jg5Hu(=m;8?; zRuQg?ivQ)$!KEu_;eWGHOGITKYJ+_P?^)0j@m_FXe1ak7{0|NSq2Q8gJ#NLGk+X+vB|?Q}I7otS~WLz#yM#m;a@Rg8x+n!xa6~ z=f%FrGJAmP`r`0jc2>EsA?O0HQi5TcHWFNpsr#NotviqQN$Uhf`H0-rsEpf5?g=Q( zKI1C;OJqO6+?Dzzs)v)=H=9{Sytm|@b46(@Um0OF{|n;TCg0voeQ-|T@MD&sB6N?81c#)5qtKoejo4oFL3txUz?x>{^uU)t|NBsH+(bEb5D}C z)&H*T&+Xsj9~1TE_lEWxlYc^Ly~n(zJqq=&=|9D^M7B@U6hr_3002ovPDHLkV1n!8 B5!e6# literal 5223 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 R+@{^9c31OGsgl{N{|9D}614yT literal 27978 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 Bw`2eS diff --git a/icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi b/icons/obj/guns/manufacturer/nanotrasen_sharplite/lefthand.dmi index 24ac86c3e0b57784ad56ce29232c14d472ff1248..f91c263424efe7cf547c4eeae585c06d7574330a 100644 GIT binary patch literal 35330 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 D_;=!T literal 38892 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 DcaGD} diff --git a/icons/mob/clothing/under/command.dmi b/icons/mob/clothing/under/command.dmi index 6ed86df85dab628d52330c1b174fab9ca139d689..4935f41abc822aa87ffb6f4be4602082b4baa899 100644 GIT binary patch literal 14750 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 diff --git a/icons/mob/clothing/under/dress.dmi b/icons/mob/clothing/under/dress.dmi index a67fcb85331fdf26ee44ee9dd8594b846749cf3a..f80030f1625df4cf5a62e8a26e41e0b9cfdb07b1 100644 GIT binary patch literal 25843 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 n+7&_fK7l2YB)V&rKw>;a?~ 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 P6Jm0~+^|d^{qVm4nQ4Bw diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index e3ceffdb332989e3bf9c9e05c299fcd2c5383b4a..63ec75a06a0b2b4559c8989ba18dedd77e729ee1 100644 GIT binary patch literal 16944 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 diff --git a/icons/obj/clothing/under/command.dmi b/icons/obj/clothing/under/command.dmi index 17b8285232fc8a1d5036e1b3fc58008cf076e4f7..ca0c7735979e18493c07bd8fd5decfa85384dbfc 100644 GIT binary patch delta 4818 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 literal 5341 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 diff --git a/icons/obj/clothing/under/suits.dmi b/icons/obj/clothing/under/suits.dmi index 453cb656de8972c1e1b151698d86438e956ffb06..bda067487f9e7dbe607708d802dcb52da4149a60 100644 GIT binary patch literal 7877 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 literal 8212 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 Date: Thu, 17 Oct 2024 00:46:45 -0500 Subject: [PATCH 069/344] Automatic TGS DMAPI Update (#3245) This pull request updates the TGS DMAPI to the latest version. Please note any breaking or unimplemented changes before merging. Co-authored-by: github-actions --- code/__DEFINES/tgs.dm | 100 ++++++++++++++------ code/modules/tgs/README.md | 2 +- code/modules/tgs/core/README.md | 2 +- code/modules/tgs/core/byond_world_export.dm | 22 +++++ code/modules/tgs/core/core.dm | 7 +- code/modules/tgs/core/datum.dm | 2 +- code/modules/tgs/includes.dm | 1 + code/modules/tgs/v5/__interop_version.dm | 2 +- code/modules/tgs/v5/_defines.dm | 1 + code/modules/tgs/v5/api.dm | 7 +- code/modules/tgs/v5/bridge.dm | 21 ++-- code/modules/tgs/v5/topic.dm | 4 +- code/modules/tgs/v5/undefs.dm | 2 +- 13 files changed, 125 insertions(+), 48 deletions(-) create mode 100644 code/modules/tgs/core/byond_world_export.dm diff --git a/code/__DEFINES/tgs.dm b/code/__DEFINES/tgs.dm index e2c89df90e9b..42f2d5fc31fe 100644 --- a/code/__DEFINES/tgs.dm +++ b/code/__DEFINES/tgs.dm @@ -1,18 +1,19 @@ // tgstation-server DMAPI +// The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in IETF RFC 2119. -#define TGS_DMAPI_VERSION "7.1.2" +#define TGS_DMAPI_VERSION "7.3.0" // All functions and datums outside this document are subject to change with any version and should not be relied on. // CONFIGURATION -/// Create this define if you want to do TGS configuration outside of this file. +/// Consumers SHOULD create this define if you want to do TGS configuration outside of this file. #ifndef TGS_EXTERNAL_CONFIGURATION -// Comment this out once you've filled in the below. +// Consumers MUST comment this out once you've filled in the below and are not using [TGS_EXTERNAL_CONFIGURATION]. #error TGS API unconfigured -// Uncomment this if you wish to allow the game to interact with TGS 3.. +// Consumers MUST uncomment this if you wish to allow the game to interact with TGS version 3. // This will raise the minimum required security level of your game to TGS_SECURITY_TRUSTED due to it utilizing call()(). //#define TGS_V3_API @@ -52,7 +53,7 @@ #ifndef TGS_FILE2TEXT_NATIVE #ifdef file2text -#error Your codebase is re-defining the BYOND proc file2text. The DMAPI requires the native version to read the result of world.Export(). You can fix this by adding "#define TGS_FILE2TEXT_NATIVE file2text" before your override of file2text to allow the DMAPI to use the native version. This will only be used for world.Export(), not regular file accesses +#error Your codebase is re-defining the BYOND proc file2text. The DMAPI requires the native version to read the result of world.Export(). You SHOULD fix this by adding "#define TGS_FILE2TEXT_NATIVE file2text" before your override of file2text to allow the DMAPI to use the native version. This will only be used for world.Export(), not regular file accesses #endif #define TGS_FILE2TEXT_NATIVE file2text #endif @@ -152,16 +153,17 @@ //REQUIRED HOOKS /** - * Call this somewhere in [/world/proc/New] that is always run. This function may sleep! + * Consumers MUST call this somewhere in [/world/proc/New] that is always run. This function may sleep! * * * event_handler - Optional user defined [/datum/tgs_event_handler]. * * minimum_required_security_level: The minimum required security level to run the game in which the DMAPI is integrated. Can be one of [TGS_SECURITY_ULTRASAFE], [TGS_SECURITY_SAFE], or [TGS_SECURITY_TRUSTED]. + * * http_handler - Optional user defined [/datum/tgs_http_handler]. */ -/world/proc/TgsNew(datum/tgs_event_handler/event_handler, minimum_required_security_level = TGS_SECURITY_ULTRASAFE) +/world/proc/TgsNew(datum/tgs_event_handler/event_handler, minimum_required_security_level = TGS_SECURITY_ULTRASAFE, datum/tgs_http_handler/http_handler) return /** - * Call this when your initializations are complete and your game is ready to play before any player interactions happen. + * Consumers MUST call this when world initializations are complete and the game is ready to play before any player interactions happen. * * This may use [/world/var/sleep_offline] to make this happen so ensure no changes are made to it while this call is running. * Afterwards, consider explicitly setting it to what you want to avoid this BYOND bug: http://www.byond.com/forum/post/2575184 @@ -170,12 +172,10 @@ /world/proc/TgsInitializationComplete() return -/// Put this at the start of [/world/proc/Topic]. +/// Consumers MUST run this macro at the start of [/world/proc/Topic]. #define TGS_TOPIC var/tgs_topic_return = TgsTopic(args[1]); if(tgs_topic_return) return tgs_topic_return -/** - * Call this as late as possible in [world/proc/Reboot] (BEFORE ..()). - */ +/// Consumers MUST call this as late as possible in [world/proc/Reboot] (BEFORE ..()). /world/proc/TgsReboot() return @@ -269,7 +269,7 @@ /// The [/datum/tgs_chat_channel] the user was from. var/datum/tgs_chat_channel/channel -/// User definable handler for TGS events. +/// User definable handler for TGS events This abstract version SHOULD be overridden to be used. /datum/tgs_event_handler /// If the handler receieves [TGS_EVENT_HEALTH_CHECK] events. var/receive_health_checks = FALSE @@ -283,7 +283,41 @@ set waitfor = FALSE return -/// User definable chat command. +/// User definable handler for HTTP calls. This abstract version MUST be overridden to be used. +/datum/tgs_http_handler + +/** + * User definable callback for executing HTTP GET requests. + * MUST perform BYOND sleeps while the request is in flight. + * MUST return a [/datum/tgs_http_result]. + * SHOULD log its own errors + * + * url - The full URL to execute the GET request for including query parameters. + */ +/datum/tgs_http_handler/proc/PerformGet(url) + CRASH("[type]/PerformGet not implemented!") + +/// Result of a [/datum/tgs_http_handler] call. MUST NOT be overridden. +/datum/tgs_http_result + /// HTTP response as text + var/response_text + /// Boolean request success flag. Set for any 2XX response code. + var/success + +/** + * Create a [/datum/tgs_http_result]. + * + * * response_text - HTTP response as text. Must be provided in New(). + * * success - Boolean request success flag. Set for any 2XX response code. Must be provided in New(). + */ +/datum/tgs_http_result/New(response_text, success) + if(response_text && !istext(response_text)) + CRASH("response_text was not text!") + + src.response_text = response_text + src.success = success + +/// User definable chat command. This abstract version MUST be overridden to be used. /datum/tgs_chat_command /// The string to trigger this command on a chat bot. e.g `@bot name ...` or `!tgs name ...`. var/name = "" @@ -296,21 +330,27 @@ /** * Process command activation. Should return a [/datum/tgs_message_content] to respond to the issuer with. + * MUST be implemented * - * sender - The [/datum/tgs_chat_user] who issued the command. - * params - The trimmed string following the command `/datum/tgs_chat_command/var/name]. + * * sender - The [/datum/tgs_chat_user] who issued the command. + * * params - The trimmed string following the command `/datum/tgs_chat_command/var/name]. */ /datum/tgs_chat_command/proc/Run(datum/tgs_chat_user/sender, params) CRASH("[type] has no implementation for Run()") -/// User definable chat message. +/// User definable chat message. MUST NOT be overridden. /datum/tgs_message_content - /// The tring content of the message. Must be provided in New(). + /// The string content of the message. Must be provided in New(). var/text /// The [/datum/tgs_chat_embed] to embed in the message. Not supported on all chat providers. var/datum/tgs_chat_embed/structure/embed +/** + * Create a [/datum/tgs_message_content]. + * + * * text - The string content of the message. + */ /datum/tgs_message_content/New(text) ..() if(!istext(text)) @@ -319,7 +359,7 @@ src.text = text -/// User definable chat embed. Currently mirrors Discord chat embeds. See https://discord.com/developers/docs/resources/channel#embed-object-embed-structure for details. +/// User definable chat embed. Currently mirrors Discord chat embeds. See https://discord.com/developers/docs/resources/message#embed-object for details. /datum/tgs_chat_embed/structure var/title var/description @@ -331,13 +371,13 @@ /// Colour must be #AARRGGBB or #RRGGBB hex string. var/colour - /// See https://discord.com/developers/docs/resources/channel#embed-object-embed-image-structure for details. + /// See https://discord.com/developers/docs/resources/message#embed-object-embed-image-structure for details. var/datum/tgs_chat_embed/media/image - /// See https://discord.com/developers/docs/resources/channel#embed-object-embed-thumbnail-structure for details. + /// See https://discord.com/developers/docs/resources/message#embed-object-embed-thumbnail-structure for details. var/datum/tgs_chat_embed/media/thumbnail - /// See https://discord.com/developers/docs/resources/channel#embed-object-embed-image-structure for details. + /// See https://discord.com/developers/docs/resources/message#embed-object-embed-video-structure for details. var/datum/tgs_chat_embed/media/video var/datum/tgs_chat_embed/footer/footer @@ -346,7 +386,7 @@ var/list/datum/tgs_chat_embed/field/fields -/// Common datum for similar discord embed medias. +/// Common datum for similar Discord embed medias. /datum/tgs_chat_embed/media /// Must be set in New(). var/url @@ -354,6 +394,7 @@ var/height var/proxy_url +/// Create a [/datum/tgs_chat_embed]. /datum/tgs_chat_embed/media/New(url) ..() if(!istext(url)) @@ -361,13 +402,14 @@ src.url = url -/// See https://discord.com/developers/docs/resources/channel#embed-object-embed-footer-structure for details. +/// See https://discord.com/developers/docs/resources/message#embed-object-embed-footer-structure for details. /datum/tgs_chat_embed/footer /// Must be set in New(). var/text var/icon_url var/proxy_icon_url +/// Create a [/datum/tgs_chat_embed/footer]. /datum/tgs_chat_embed/footer/New(text) ..() if(!istext(text)) @@ -375,16 +417,17 @@ src.text = text -/// See https://discord.com/developers/docs/resources/channel#embed-object-embed-provider-structure for details. +/// See https://discord.com/developers/docs/resources/message#embed-object-embed-provider-structure for details. /datum/tgs_chat_embed/provider var/name var/url -/// See https://discord.com/developers/docs/resources/channel#embed-object-embed-author-structure for details. Must have name set in New(). +/// See https://discord.com/developers/docs/resources/message#embed-object-embed-author-structure for details. Must have name set in New(). /datum/tgs_chat_embed/provider/author var/icon_url var/proxy_icon_url +/// Create a [/datum/tgs_chat_embed/footer]. /datum/tgs_chat_embed/provider/author/New(name) ..() if(!istext(name)) @@ -392,12 +435,15 @@ src.name = name -/// See https://discord.com/developers/docs/resources/channel#embed-object-embed-field-structure for details. Must have name and value set in New(). +/// See https://discord.com/developers/docs/resources/message#embed-object-embed-field-structure for details. /datum/tgs_chat_embed/field + /// Must be set in New(). var/name + /// Must be set in New(). var/value var/is_inline +/// Create a [/datum/tgs_chat_embed/field]. /datum/tgs_chat_embed/field/New(name, value) ..() if(!istext(name)) diff --git a/code/modules/tgs/README.md b/code/modules/tgs/README.md index 6319028d8106..35ca73d7e9a8 100644 --- a/code/modules/tgs/README.md +++ b/code/modules/tgs/README.md @@ -1,6 +1,6 @@ # DMAPI Internals -This folder should be placed on it's own inside a codebase that wishes to use the TGS DMAPI. Warranty void if modified. +This folder should be placed on its own inside a codebase that wishes to use the TGS DMAPI. Warranty void if modified. - [includes.dm](./includes.dm) is the file that should be included by DM code, it handles including the rest. - The [core](./core) folder includes all code not directly part of any API version. diff --git a/code/modules/tgs/core/README.md b/code/modules/tgs/core/README.md index b82d8f49e297..965e21b549a3 100644 --- a/code/modules/tgs/core/README.md +++ b/code/modules/tgs/core/README.md @@ -3,7 +3,7 @@ This folder contains all DMAPI code not directly involved in an API. - [_definitions.dm](./definitions.dm) contains defines needed across DMAPI internals. +- [byond_world_export.dm](./byond_world_export.dm) contains the default `/datum/tgs_http_handler` implementation which uses `world.Export()`. - [core.dm](./core.dm) contains the implementations of the `/world/proc/TgsXXX()` procs. Many map directly to the `/datum/tgs_api` functions. It also contains the /datum selection and setup code. - [datum.dm](./datum.dm) contains the `/datum/tgs_api` declarations that all APIs must implement. - [tgs_version.dm](./tgs_version.dm) contains the `/datum/tgs_version` definition -- diff --git a/code/modules/tgs/core/byond_world_export.dm b/code/modules/tgs/core/byond_world_export.dm new file mode 100644 index 000000000000..6ef8d841b8f7 --- /dev/null +++ b/code/modules/tgs/core/byond_world_export.dm @@ -0,0 +1,22 @@ +/datum/tgs_http_handler/byond_world_export + +/datum/tgs_http_handler/byond_world_export/PerformGet(url) + // This is an infinite sleep until we get a response + var/export_response = world.Export(url) + TGS_DEBUG_LOG("byond_world_export: Export complete") + + if(!export_response) + TGS_ERROR_LOG("byond_world_export: Failed request: [url]") + return new /datum/tgs_http_result(null, FALSE) + + var/content = export_response["CONTENT"] + if(!content) + TGS_ERROR_LOG("byond_world_export: Failed request, missing content!") + return new /datum/tgs_http_result(null, FALSE) + + var/response_json = TGS_FILE2TEXT_NATIVE(content) + if(!response_json) + TGS_ERROR_LOG("byond_world_export: Failed request, failed to load content!") + return new /datum/tgs_http_result(null, FALSE) + + return new /datum/tgs_http_result(response_json, TRUE) diff --git a/code/modules/tgs/core/core.dm b/code/modules/tgs/core/core.dm index 15622228e91f..63cb5a2c3514 100644 --- a/code/modules/tgs/core/core.dm +++ b/code/modules/tgs/core/core.dm @@ -1,4 +1,4 @@ -/world/TgsNew(datum/tgs_event_handler/event_handler, minimum_required_security_level = TGS_SECURITY_ULTRASAFE) +/world/TgsNew(datum/tgs_event_handler/event_handler, minimum_required_security_level = TGS_SECURITY_ULTRASAFE, datum/tgs_http_handler/http_handler = null) var/current_api = TGS_READ_GLOBAL(tgs) if(current_api) TGS_ERROR_LOG("API datum already set (\ref[current_api] ([current_api]))! Was TgsNew() called more than once?") @@ -55,7 +55,10 @@ TGS_ERROR_LOG("Invalid parameter for event_handler: [event_handler]") event_handler = null - var/datum/tgs_api/new_api = new api_datum(event_handler, version) + if(!http_handler) + http_handler = new /datum/tgs_http_handler/byond_world_export + + var/datum/tgs_api/new_api = new api_datum(event_handler, version, http_handler) TGS_WRITE_GLOBAL(tgs, new_api) diff --git a/code/modules/tgs/core/datum.dm b/code/modules/tgs/core/datum.dm index f734fd0527f0..3ca53e9bf7c6 100644 --- a/code/modules/tgs/core/datum.dm +++ b/code/modules/tgs/core/datum.dm @@ -6,7 +6,7 @@ TGS_DEFINE_AND_SET_GLOBAL(tgs, null) var/list/warned_deprecated_command_runs -/datum/tgs_api/New(datum/tgs_event_handler/event_handler, datum/tgs_version/version) +/datum/tgs_api/New(datum/tgs_event_handler/event_handler, datum/tgs_version/version, datum/tgs_http_handler/http_handler) ..() src.event_handler = event_handler src.version = version diff --git a/code/modules/tgs/includes.dm b/code/modules/tgs/includes.dm index 23b714f9d064..f5118ed55a3c 100644 --- a/code/modules/tgs/includes.dm +++ b/code/modules/tgs/includes.dm @@ -1,4 +1,5 @@ #include "core\_definitions.dm" +#include "core\byond_world_export.dm" #include "core\core.dm" #include "core\datum.dm" #include "core\tgs_version.dm" diff --git a/code/modules/tgs/v5/__interop_version.dm b/code/modules/tgs/v5/__interop_version.dm index f4806f7adb97..29ea239ad84d 100644 --- a/code/modules/tgs/v5/__interop_version.dm +++ b/code/modules/tgs/v5/__interop_version.dm @@ -1 +1 @@ -"5.9.0" +"5.10.0" diff --git a/code/modules/tgs/v5/_defines.dm b/code/modules/tgs/v5/_defines.dm index 92c7a8388a71..a47bfd78000b 100644 --- a/code/modules/tgs/v5/_defines.dm +++ b/code/modules/tgs/v5/_defines.dm @@ -95,6 +95,7 @@ #define DMAPI5_TOPIC_PARAMETER_NEW_SERVER_VERSION "newServerVersion" #define DMAPI5_TOPIC_PARAMETER_BROADCAST_MESSAGE "broadcastMessage" +#define DMAPI5_TOPIC_RESPONSE_CLIENT_COUNT "clientCount" #define DMAPI5_TOPIC_RESPONSE_COMMAND_RESPONSE "commandResponse" #define DMAPI5_TOPIC_RESPONSE_COMMAND_RESPONSE_MESSAGE "commandResponseMessage" #define DMAPI5_TOPIC_RESPONSE_CHAT_RESPONSES "chatResponses" diff --git a/code/modules/tgs/v5/api.dm b/code/modules/tgs/v5/api.dm index 95b8edd3ee5c..3e328fc7c27d 100644 --- a/code/modules/tgs/v5/api.dm +++ b/code/modules/tgs/v5/api.dm @@ -31,9 +31,12 @@ var/detached = FALSE -/datum/tgs_api/v5/New() + var/datum/tgs_http_handler/http_handler + +/datum/tgs_api/v5/New(datum/tgs_event_handler/event_handler, datum/tgs_version/version, datum/tgs_http_handler/http_handler) . = ..() interop_version = version + src.http_handler = http_handler TGS_DEBUG_LOG("V5 API created: [json_encode(args)]") /datum/tgs_api/v5/ApiVersion() @@ -50,7 +53,9 @@ version = null // we want this to be the TGS version, not the interop version // sleep once to prevent an issue where world.Export on the first tick can hang indefinitely + TGS_DEBUG_LOG("Starting Export bug prevention sleep tick. time:[world.time] sleep_offline:[world.sleep_offline]") sleep(world.tick_lag) + TGS_DEBUG_LOG("Export bug prevention sleep complete") var/list/bridge_response = Bridge(DMAPI5_BRIDGE_COMMAND_STARTUP, list(DMAPI5_BRIDGE_PARAMETER_MINIMUM_SECURITY_LEVEL = minimum_required_security_level, DMAPI5_BRIDGE_PARAMETER_VERSION = api_version.raw_parameter, DMAPI5_PARAMETER_CUSTOM_COMMANDS = ListCustomCommands(), DMAPI5_PARAMETER_TOPIC_PORT = GetTopicPort())) if(!istype(bridge_response)) diff --git a/code/modules/tgs/v5/bridge.dm b/code/modules/tgs/v5/bridge.dm index 0c5e701a32b6..62201fcc9e58 100644 --- a/code/modules/tgs/v5/bridge.dm +++ b/code/modules/tgs/v5/bridge.dm @@ -78,27 +78,24 @@ WaitForReattach(FALSE) TGS_DEBUG_LOG("Bridge request start") - // This is an infinite sleep until we get a response - var/export_response = world.Export(bridge_request) + var/datum/tgs_http_result/result = http_handler.PerformGet(bridge_request) TGS_DEBUG_LOG("Bridge request complete") - if(!export_response) - TGS_ERROR_LOG("Failed bridge request: [bridge_request]") + if(isnull(result)) + TGS_ERROR_LOG("Failed bridge request, handler returned null!") return - var/content = export_response["CONTENT"] - if(!content) - TGS_ERROR_LOG("Failed bridge request, missing content!") + if(!istype(result) || result.type != /datum/tgs_http_result) + TGS_ERROR_LOG("Failed bridge request, handler returned non-[/datum/tgs_http_result]!") return - var/response_json = TGS_FILE2TEXT_NATIVE(content) - if(!response_json) - TGS_ERROR_LOG("Failed bridge request, failed to load content!") + if(!result.success) + TGS_DEBUG_LOG("Failed bridge request, HTTP request failed!") return - var/list/bridge_response = json_decode(response_json) + var/list/bridge_response = json_decode(result.response_text) if(!bridge_response) - TGS_ERROR_LOG("Failed bridge request, bad json: [response_json]") + TGS_ERROR_LOG("Failed bridge request, bad json: [result.response_text]") return var/error = bridge_response[DMAPI5_RESPONSE_ERROR_MESSAGE] diff --git a/code/modules/tgs/v5/topic.dm b/code/modules/tgs/v5/topic.dm index e1f2cb638578..59e5e63e5cd4 100644 --- a/code/modules/tgs/v5/topic.dm +++ b/code/modules/tgs/v5/topic.dm @@ -149,7 +149,9 @@ if(DMAPI5_TOPIC_COMMAND_HEALTHCHECK) if(event_handler && event_handler.receive_health_checks) event_handler.HandleEvent(TGS_EVENT_HEALTH_CHECK) - return TopicResponse() + var/list/health_check_response = TopicResponse() + health_check_response[DMAPI5_TOPIC_RESPONSE_CLIENT_COUNT] = TGS_CLIENT_COUNT + return health_check_response; if(DMAPI5_TOPIC_COMMAND_WATCHDOG_REATTACH) detached = FALSE diff --git a/code/modules/tgs/v5/undefs.dm b/code/modules/tgs/v5/undefs.dm index 237207fdfd05..acd19dfa6411 100644 --- a/code/modules/tgs/v5/undefs.dm +++ b/code/modules/tgs/v5/undefs.dm @@ -18,7 +18,6 @@ #undef DMAPI5_PARAMETER_ACCESS_IDENTIFIER #undef DMAPI5_PARAMETER_CUSTOM_COMMANDS -#undef DMAPI5_PARAMETER_TOPIC_PORT #undef DMAPI5_CHUNK #undef DMAPI5_CHUNK_PAYLOAD @@ -95,6 +94,7 @@ #undef DMAPI5_TOPIC_PARAMETER_NEW_SERVER_VERSION #undef DMAPI5_TOPIC_PARAMETER_BROADCAST_MESSAGE +#undef DMAPI5_TOPIC_RESPONSE_CLIENT_COUNT #undef DMAPI5_TOPIC_RESPONSE_COMMAND_RESPONSE #undef DMAPI5_TOPIC_RESPONSE_COMMAND_RESPONSE_MESSAGE #undef DMAPI5_TOPIC_RESPONSE_CHAT_RESPONSES From f185db7dd7ba4cb8b75bf343d49323bbb43a8a97 Mon Sep 17 00:00:00 2001 From: Theos Date: Thu, 17 Oct 2024 01:51:33 -0400 Subject: [PATCH 070/344] Being thrown over lava now doesn't cause you to fall into it (#3577) ## About The Pull Request Buff to jump boots and kepori trying to make the beef jump ## Why It's Good For The Game im. over the lava.i m oiver it. it cant touch me. because im. not in it. ## Changelog :cl: balance: being thrown over lava by tackling, jump boots, or with assistance now fully clears the lava instead of burning you horribly and setting you on fire /:cl: --- code/game/turfs/open/lava.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/turfs/open/lava.dm b/code/game/turfs/open/lava.dm index 90fd6610721c..159a32a2ccce 100644 --- a/code/game/turfs/open/lava.dm +++ b/code/game/turfs/open/lava.dm @@ -169,7 +169,7 @@ else if (isliving(thing)) . = 1 var/mob/living/L = thing - if(L.movement_type & FLYING) + if(L.movement_type & FLYING || L.throwing) continue //YOU'RE FLYING OVER IT var/buckle_check = L.buckling if(!buckle_check) From 830a976160f8b42672e9fc5ccb4131448a7b277d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 17 Oct 2024 05:58:13 +0000 Subject: [PATCH 071/344] Bump dompurify from 2.3.1 to 2.5.4 in /tgui (#3379) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [dompurify](https://github.com/cure53/DOMPurify) from 2.3.1 to 2.5.4.

    \ \ \ - " + " for(var/o in damaged) var/obj/item/bodypart/org = o //head, left arm, right arm, etc. @@ -289,9 +289,9 @@ GENE SCANNER var/render = FALSE var/toReport = "Organs:\
    Name
    Points
    Notes
    Lance Phillips
    10
    Hit 2 out of 3 targets.
    Hetchel Catuwe-Plakat
    0
    Missed every shot. Relegated to knife duty.
    Weer-Topith
    30
    Hit all three targets.
    Kahyarawkkahskre
    50
    Hit all three targets one handed with a revolver.
    Salhree-Yik
    100
    Hit all three targets while blindfolded.
    Kiahkkati
    -1000
    Tried to one up Salhree and spun three times blindfolded before firing. Hit me in the knee.
    FTW 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 diff --git a/icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi b/icons/obj/guns/manufacturer/nanotrasen_sharplite/righthand.dmi index b6831ec9696a0c76241e0b598fbfcc9bc37a3953..ef01a242944d810122ef3d25a70679ef6f323cd5 100644 GIT binary patch literal 36809 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 literal 37047 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 Date: Thu, 17 Oct 2024 19:54:52 -0500 Subject: [PATCH 077/344] Adds Sprites for Overmap Storm Severities (#3578) Gives storms some visual differentiation from the minor/moderate/major versions, adding some visual flavor and readability. ![image](https://github.com/user-attachments/assets/9d4ec565-d207-4a2b-9644-b4861788452f) ![image](https://github.com/user-attachments/assets/9a10bb88-9908-4535-b9cb-b927ea4d0ab4) ![image](https://github.com/user-attachments/assets/0dabba78-eab6-4d86-bf01-7e59f055eda5) ![image](https://github.com/user-attachments/assets/4f7cd59d-a934-4637-902f-f68a4ffc6a9c) A ton of people have complained about not being able to pick apart various storm severities, and this makes it pretty obvious which ones will MURDER YOU AND YOUR CREW and which ones will pleasantly tickle your hull :cl: fix: fallback sprite for dust storms was set to the carp sprite for some reason. imageadd: fancy new carp, meteor, and electrical storm imagedel: old carp, meteor, and electrical storm sprites /:cl: (soul: taken out back and shot) --- code/modules/overmap/objects/event_datum.dm | 71 ++++++++++++++------ icons/misc/overmap.dmi | Bin 5704 -> 12563 bytes 2 files changed, 49 insertions(+), 22 deletions(-) diff --git a/code/modules/overmap/objects/event_datum.dm b/code/modules/overmap/objects/event_datum.dm index 614d9a356bfd..ee2e577b4f2d 100644 --- a/code/modules/overmap/objects/event_datum.dm +++ b/code/modules/overmap/objects/event_datum.dm @@ -41,7 +41,7 @@ /datum/overmap/event/meteor name = "asteroid field (moderate)" desc = "An area of space rich with asteroids, going fast through here could prove dangerous" - token_icon_state = "meteor1" + token_icon_state = "meteor_moderate1" chance_to_affect = 15 spread_chance = 50 chain_rate = 4 @@ -65,10 +65,19 @@ /datum/overmap/event/meteor/Initialize(position, ...) . = ..() token.icon_state = "meteor[rand(1, 4)]" -// [CELADON-REMOVE] - OVERMAP ICON - спрайты некросивые получаюца -// token.color = "#a08444" -// token.light_color = "#a08444" -// [/CELADON-REMOVE] + switch(type) //woop! this picks one of two icon states for the severity of the storm in overmap.dmi + if(/datum/overmap/event/meteor/minor) + token.icon_state = "meteor_minor[rand(1, 2)]" + if(/datum/overmap/event/meteor) + token.icon_state = "meteor_moderate[rand(1, 2)]" + if(/datum/overmap/event/meteor/major) + token.icon_state = "meteor_major[rand(1, 2)]" + else + token.icon_state = "meteor_moderate1" + // [CELADON-REMOVE] - OVERMAP ICON - спрайты некросивые получаюца + // token.color = "#a08444" + // token.light_color = "#a08444" + // [/CELADON-REMOVE] token.update_appearance() /datum/overmap/event/meteor/apply_effect() @@ -144,7 +153,7 @@ /datum/overmap/event/electric name = "electrical storm (moderate)" desc = "A spatial anomaly, an unfortunately common sight on the frontier. Disturbing it tends to lead to intense electrical discharges" - token_icon_state = "electrical1" + token_icon_state = "electrical_moderate1" chance_to_affect = 15 spread_chance = 30 chain_rate = 3 @@ -155,10 +164,19 @@ /datum/overmap/event/electric/Initialize(position, ...) . = ..() token.icon_state = "electrical[rand(1, 4)]" -// [CELADON-REMOVE] - OVERMAP ICON - спрайты некросивые получаюца -// token.color = "#e8e85c" -// token.light_color = "#e8e85c" -// [/CELADON-REMOVE] + switch(type) //woop! this picks one of two icon states for the severity of the storm in overmap.dmi + if(/datum/overmap/event/electric/minor) + token.icon_state = "electrical_minor[rand(1, 2)]" + if(/datum/overmap/event/electric) + token.icon_state = "electrical_moderate[rand(1, 2)]" + if(/datum/overmap/event/electric/major) + token.icon_state = "electrical_major[rand(1, 2)]" + else + token.icon_state = "electrical_moderate1" + // [CELADON-REMOVE] - OVERMAP ICON - спрайты некросивые получаюца + // token.color = "#e8e85c" + // token.light_color = "#e8e85c" + // [/CELADON-REMOVE] token.update_appearance() /datum/overmap/event/electric/affect_ship(datum/overmap/ship/controlled/S) @@ -220,10 +238,10 @@ other_wormhole = _other_wormhole if(!other_wormhole) other_wormhole = new(null, src) //Create a new wormhole at a random location -// [CELADON-REMOVE] - OVERMAP ICON - спрайты некросивые получаюца -// token.color = "#6d80c7" -// token.light_color = "#6d80c7" -// [/CELADON-REMOVE] + // [CELADON-REMOVE] - OVERMAP ICON - спрайты некросивые получаюца + // token.color = "#6d80c7" + // token.light_color = "#6d80c7" + // [/CELADON-REMOVE] token.update_appearance() /datum/overmap/event/wormhole/affect_ship(datum/overmap/ship/controlled/S) @@ -239,7 +257,7 @@ /datum/overmap/event/meteor/carp // вынесено в mod_celadon/fixes/code/research_mission.dm, оставлено дял того чтобы не удалять кучу зависимостей name = "carp migration (moderate)" desc = "A migratory school of space carp. They travel at high speeds, and flying through them may cause them to impact your ship" - token_icon_state = "carp1" + token_icon_state = "carp_moderate1" chance_to_affect = 15 spread_chance = 50 chain_rate = 4 @@ -252,16 +270,25 @@ /datum/overmap/event/meteor/carp/Initialize(position, ...) . = ..() token.icon_state = "carp[rand(1, 4)]" -// [CELADON-REMOVE] - OVERMAP ICON - спрайты некросивые получаюца -// token.color = "#7b1ca8" -// token.light_color = "#7b1ca8" -// [/CELADON-REMOVE] + switch(type) //woop! this picks one of two icon states for the severity of the storm in overmap.dmi + if(/datum/overmap/event/meteor/carp/minor) + token.icon_state = "carp_minor[rand(1, 2)]" + if(/datum/overmap/event/meteor/carp) + token.icon_state = "carp_moderate[rand(1, 2)]" + if(/datum/overmap/event/meteor/carp/major) + token.icon_state = "carp_major[rand(1, 2)]" + else + token.icon_state = "carp_moderate1" + // [CELADON-REMOVE] - OVERMAP ICON - спрайты некросивые получаюца + // token.color = "#7b1ca8" + // token.light_color = "#7b1ca8" + // [/CELADON-REMOVE] token.update_icon() /datum/overmap/event/meteor/carp/minor name = "carp migration (minor)" - token_icon_state = "carp1" + token_icon_state = "carp_moderate1" chance_to_affect = 5 spread_chance = 25 chain_rate = 4 @@ -272,7 +299,7 @@ /datum/overmap/event/meteor/carp/major name = "carp migration (major)" - token_icon_state = "carp1" + token_icon_state = "carp_moderate1" chance_to_affect = 25 spread_chance = 25 chain_rate = 4 @@ -286,7 +313,7 @@ /datum/overmap/event/meteor/dust // вынесено в mod_celadon/fixes/code/research_mission.dm, оставлено дял того чтобы не удалять кучу зависимостей name = "dust cloud" desc = "A cloud of spaceborne dust. Relatively harmless, unless you're travelling at relative speeds" - token_icon_state = "carp1" + token_icon_state = "dust1" chance_to_affect = 30 spread_chance = 50 chain_rate = 4 diff --git a/icons/misc/overmap.dmi b/icons/misc/overmap.dmi index f0c9f6e446779c6989ef3c08927b08a15debdd9a..94ac33e29584879c09ff44eb428b176d61a6a39e 100644 GIT binary patch literal 12563 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 LQ=wAMBJ_U&hRX5T literal 5704 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 uv&bEUgGjHKNpu+39}~G&+v|5NP`V0000 Date: Fri, 18 Oct 2024 00:26:16 -0500 Subject: [PATCH 078/344] Emote Stuff (Courtesy of NithaIsTired) (#3562) A really old emote pr made by @NithaIsTired that @rye-rice asked me to pr and finish. Adds stuff like: > visible trembling emote > visible shivering > audible snapping > booping lizard snouts > other stuff i dont remember > its a lot It's cute and cool. :cl: NithaIsTired add: Adds a ton of audible emotes and visible emotes like snapping your fingers or twitching add: You can boop people on the nose by clicking on their mouth with help intent add: Sound variation with a few emotes like snapping and clapping add: Laying down now plays a sound if you aren't on walk intent /:cl: --------- Signed-off-by: rye-rice <58402542+rye-rice@users.noreply.github.com> Co-authored-by: Nitha Co-authored-by: Nitha <132854285+NithaIsTired@users.noreply.github.com> Co-authored-by: rye-rice <58402542+rye-rice@users.noreply.github.com> --- code/__DEFINES/dcs/signals/signals.dm | 1 - .../mood_events/generic_negative_events.dm | 15 ++ .../mood_events/generic_positive_events.dm | 13 ++ code/game/turfs/turf.dm | 4 +- .../mob/living/carbon/carbon_defense.dm | 76 +++++++-- code/modules/mob/living/emote.dm | 149 +++++++++++++++++- code/modules/mob/living/living.dm | 9 +- sound/effects/Nose_boop.ogg | Bin 0 -> 27095 bytes sound/effects/boop.ogg | Bin 0 -> 16245 bytes sound/misc/claponce1.ogg | Bin 0 -> 7299 bytes sound/misc/claponce2.ogg | Bin 0 -> 11036 bytes sound/misc/fingersnap1.ogg | Bin 0 -> 7050 bytes sound/misc/fingersnap2.ogg | Bin 0 -> 6004 bytes sound/misc/snap2.ogg | Bin 0 -> 13617 bytes sound/misc/snap3.ogg | Bin 0 -> 18541 bytes 15 files changed, 251 insertions(+), 16 deletions(-) create mode 100644 sound/effects/Nose_boop.ogg create mode 100644 sound/effects/boop.ogg create mode 100644 sound/misc/claponce1.ogg create mode 100644 sound/misc/claponce2.ogg create mode 100644 sound/misc/fingersnap1.ogg create mode 100644 sound/misc/fingersnap2.ogg create mode 100644 sound/misc/snap2.ogg create mode 100644 sound/misc/snap3.ogg diff --git a/code/__DEFINES/dcs/signals/signals.dm b/code/__DEFINES/dcs/signals/signals.dm index ce91420033dc..4fa2177fafa1 100644 --- a/code/__DEFINES/dcs/signals/signals.dm +++ b/code/__DEFINES/dcs/signals/signals.dm @@ -528,7 +528,6 @@ #define COMSIG_CARBON_HUGGED "carbon_hugged" ///When a carbon mob is headpatted, this is called on the carbon that is headpatted. (mob/living/headpatter) #define COMSIG_CARBON_HEADPAT "carbon_headpatted" - ///When a carbon slips. Called on /turf/open/handle_slip() #define COMSIG_ON_CARBON_SLIP "carbon_slip" ///When a carbon gets a vending machine tilted on them diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm index f5e51d1d59f4..a3b44b5c29e1 100644 --- a/code/datums/mood_events/generic_negative_events.dm +++ b/code/datums/mood_events/generic_negative_events.dm @@ -302,3 +302,18 @@ description = span_boldwarning("It isn't ending... it isn't ending, come on...\n") mood_change = -18 timeout = 3 MINUTES + +/datum/mood_event/bad_touch_bear_hug + description = "I just got squeezed way too hard." + mood_change = -3 + timeout = 2 MINUTES + +/datum/mood_event/rippedtail + description = "I ripped their tail right off, what have I done!\n" + mood_change = -5 + timeout = 30 SECONDS + +/datum/mood_event/bad_boop + description = "Someone booped my nose... ACK!\n" + mood_change = -3 + timeout = 4 MINUTES diff --git a/code/datums/mood_events/generic_positive_events.dm b/code/datums/mood_events/generic_positive_events.dm index 1ab201bc0186..e35d798386c8 100644 --- a/code/datums/mood_events/generic_positive_events.dm +++ b/code/datums/mood_events/generic_positive_events.dm @@ -1,6 +1,11 @@ /datum/mood_event/hug description = "Hugs are nice.\n" mood_change = 1 + timeout = 2 + +/datum/mood_event/bear_hug + description = "I got squeezed very tightly, but it was quite nice." + mood_change = 2 timeout = 2 MINUTES /datum/mood_event/betterhug @@ -19,6 +24,14 @@ /datum/mood_event/besthug/add_effects(mob/friend) description = "[friend.name] is great to be around, [friend.p_they()] makes me feel so happy!\n" +/datum/mood_event/best_boop + description = "Someone booped my nose, they are silly!\n" + mood_change = 5 + timeout = 4 MINUTES + +/datum/mood_event/best_boop/add_effects(mob/friend) + description = "[friend.name] booped my nose, [friend.p_they()] [friend.p_are()] silly!\n" + /datum/mood_event/warmhug description = "Warm cozy hugs are the best!\n" mood_change = 1 diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index e5cc9709559c..8a90ac9fe614 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -582,8 +582,8 @@ GLOBAL_LIST_EMPTY(created_baseturf_lists) /turf/proc/acid_melt() return -/turf/handle_fall(mob/faller) - if(has_gravity(src)) +/turf/handle_fall(mob/faller, fall_sound_played) + if(has_gravity(src) && !fall_sound_played) playsound(src, "bodyfall", 50, TRUE) faller.drop_all_held_items() diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 62174120a60f..56b8fe2792d4 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -399,6 +399,8 @@ Paralyze(60) /mob/living/carbon/proc/help_shake_act(mob/living/carbon/M) + var/datum/component/mood/hugger_mood = M.GetComponent(/datum/component/mood) + var/nosound = FALSE if(on_fire) to_chat(M, "You can't put [p_them()] out with just your bare hands!") return @@ -426,6 +428,22 @@ mothdust += 10; if(istype(dna.species, /datum/species/moth)) M.mothdust += 10; // End WS edit + + if(M.zone_selected == BODY_ZONE_PRECISE_MOUTH) // Nose boops! + nosound = TRUE + playsound(src, 'sound/effects/boop.ogg', 50, 0) + if (HAS_TRAIT(M, TRAIT_FRIENDLY)) + M.visible_message(span_notice("[M] playfully boops your nose."), span_notice("You playfully boop [src]'s nose.")) + if (hugger_mood.sanity >= SANITY_GREAT) + new /obj/effect/temp_visual/heart(loc) + SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "best_boop", /datum/mood_event/best_boop, M) + else + M.visible_message(span_notice("[M] boops [src]'s nose."), span_notice("You boop [src] on the nose.")) + if(HAS_TRAIT(src, TRAIT_BADTOUCH)) + to_chat(M, span_warning("A scowl forms on [src]'s face as you daringly press your finger against [p_their()] nose.")) + SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "bad_boop", /datum/mood_event/bad_boop, M) + + else if(check_zone(M.zone_selected) == BODY_ZONE_HEAD) //Headpats! SEND_SIGNAL(src, COMSIG_CARBON_HEADPAT, M) M.visible_message("[M] gives [src] a pat on the head to make [p_them()] feel better!", \ @@ -440,10 +458,35 @@ if(HAS_TRAIT(src, TRAIT_BADTOUCH)) to_chat(M, "[src] looks visibly upset as you pat [p_them()] on the head.") +// Tail pulls! + else if((M.zone_selected == BODY_ZONE_PRECISE_GROIN) && !isnull(src.getorgan(/obj/item/organ/tail))) + M.visible_message(span_notice("[M] pulls on [src]'s tail!"), \ + null, span_hear("You hear a soft patter."), DEFAULT_MESSAGE_RANGE, list(M, src)) + to_chat(M, span_notice("You pull on [src]'s tail!")) + to_chat(src, span_notice("[M] pulls on your tail!")) + +// Rips off fake tails + else if((M.zone_selected == BODY_ZONE_PRECISE_GROIN) && (istype(head, /obj/item/clothing/head/kitty) || istype(head, /obj/item/clothing/head/collectable/kitty))) + var/obj/item/clothing/head/faketail = head + M.visible_message(span_danger("[M] pulls on [src]'s tail... and it rips off!"), \ + null, span_hear("You hear a ripping sound."), DEFAULT_MESSAGE_RANGE, list(M, src)) + to_chat(M, span_danger("You pull on [src]'s tail... and it rips off!")) + to_chat(src, span_userdanger("[M] pulls on your tail... and it rips off!")) + playsound(loc, 'sound/effects/rip1.ogg', 75, TRUE) + dropItemToGround(faketail) + M.put_in_hands(faketail) + SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "rippedtail", /datum/mood_event/rippedtail) + else if(M.zone_selected == BODY_ZONE_CHEST || M.zone_selected == BODY_ZONE_PRECISE_GROIN) //WS Edit - Adds more help emotes SEND_SIGNAL(src, COMSIG_CARBON_HUGGED, M) SEND_SIGNAL(M, COMSIG_CARBON_HUG, M, src) - M.visible_message("[M] hugs [src] to make [p_them()] feel better!", \ + if (M.grab_state >= GRAB_AGGRESSIVE) + M.visible_message(span_notice("[M] embraces [src] in a tight bear hug!"), \ + null, span_hear("You hear the rustling of clothes."), DEFAULT_MESSAGE_RANGE, list(M, src)) + to_chat(M, span_notice("You wrap [src] into a tight bear hug!")) + to_chat(src, span_notice("[M] squeezes you super tightly in a firm bear hug!")) + else + M.visible_message("[M] hugs [src] to make [p_them()] feel better!", \ "You hug [src] to make [p_them()] feel better!") if(istype(M.dna.species, /datum/species/moth)) //WS edit - moth dust from hugging mothdust += 15; @@ -455,12 +498,17 @@ // No moodlets for people who hate touches if(!HAS_TRAIT(src, TRAIT_BADTOUCH)) - if(bodytemperature > M.bodytemperature) - if(!HAS_TRAIT(M, TRAIT_BADTOUCH)) - SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "hug", /datum/mood_event/warmhug, src) // Hugger got a warm hug (Unless they hate hugs) - SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "hug", /datum/mood_event/hug) // Reciver always gets a mood for being hugged - else - SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "hug", /datum/mood_event/warmhug, M) // You got a warm hug + if (M.grab_state >= GRAB_AGGRESSIVE) + SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "hug", /datum/mood_event/bear_hug) + if(bodytemperature > M.bodytemperature) + if(!HAS_TRAIT(M, TRAIT_BADTOUCH)) + SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "hug", /datum/mood_event/warmhug) // Hugger got a warm hug (Unless they hate hugs) + SEND_SIGNAL(M, "hug", /datum/mood_event/hug) // Receiver always gets a mood for being hugged + else + SEND_SIGNAL(M, "hug", /datum/mood_event/warmhug,) // You got a warm hug + else + if (M.grab_state >= GRAB_AGGRESSIVE) + SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "hug", /datum/mood_event/bad_touch_bear_hug) // Let people know if they hugged someone really warm or really cold if(M.bodytemperature > M.dna.species.bodytemp_heat_damage_limit) @@ -474,7 +522,6 @@ to_chat(M, "It feels like [src] is freezing as you hug them.") if(HAS_TRAIT(M, TRAIT_FRIENDLY)) - var/datum/component/mood/hugger_mood = M.GetComponent(/datum/component/mood) if (hugger_mood.sanity >= SANITY_GREAT) new /obj/effect/temp_visual/heart(loc) SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "friendly_hug", /datum/mood_event/besthug, M) @@ -503,8 +550,17 @@ AdjustParalyzed(-60) AdjustImmobilized(-60) set_resting(FALSE) - - playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) + if(!nosound) + playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1) + +// Shake animation +#define SHAKE_ANIMATION_OFFSET (4) + if (incapacitated()) + var/direction = prob(50) ? -1 : 1 + animate(src, pixel_x = pixel_x + SHAKE_ANIMATION_OFFSET * direction, time = 1, easing = QUAD_EASING | EASE_OUT, flags = ANIMATION_PARALLEL) + animate(pixel_x = pixel_x - (SHAKE_ANIMATION_OFFSET * 2 * direction), time = 1) + animate(pixel_x = pixel_x + SHAKE_ANIMATION_OFFSET * direction, time = 1, easing = QUAD_EASING | EASE_IN) +#undef SHAKE_ANIMATION_OFFSET /// Check ourselves to see if we've got any shrapnel, return true if we do. This is a much simpler version of what humans do, we only indicate we're checking ourselves if there's actually shrapnel /mob/living/carbon/proc/check_self_for_injuries() diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm index 5ff35408f630..0a4f1b101a19 100644 --- a/code/modules/mob/living/emote.dm +++ b/code/modules/mob/living/emote.dm @@ -232,6 +232,16 @@ message = "jumps!" hands_use_check = TRUE +/datum/emote/living/jump/run_emote(mob/living/user, params, type_override, intentional) + . = ..() + if(!.) + return FALSE + animate(user, pixel_y = user.pixel_y + 4, time = 0.1 SECONDS) + animate(pixel_y = user.pixel_y - 4, time = 0.1 SECONDS) + +/datum/emote/living/jump/get_sound(mob/living/user) + return 'sound/weapons/thudswoosh.ogg' + /datum/emote/living/kiss key = "kiss" key_third_person = "kisses" @@ -361,6 +371,18 @@ message = "shivers." emote_type = EMOTE_AUDIBLE +#define SHIVER_LOOP_DURATION (1 SECONDS) +/datum/emote/living/shiver/run_emote(mob/living/user, params, type_override, intentional) + . = ..() + if(!.) + return FALSE + animate(user, pixel_x = user.pixel_x + 1, time = 0.1 SECONDS) + for(var/i in 1 to SHIVER_LOOP_DURATION / (0.2 SECONDS)) //desired total duration divided by the iteration duration to give the necessary iteration count + animate(pixel_x = user.pixel_x - 1, time = 0.1 SECONDS) + animate(pixel_x = user.pixel_x + 1, time = 0.1 SECONDS) + animate(pixel_x = user.pixel_x - 1, time = 0.1 SECONDS) +#undef SHIVER_LOOP_DURATION + /datum/emote/living/sigh key = "sigh" key_third_person = "sighs" @@ -460,20 +482,62 @@ key_third_person = "sways" message = "sways around dizzily." +/datum/emote/living/sway/run_emote(mob/living/user, params, type_override, intentional) + . = ..() + if(!.) + return FALSE + animate(user, pixel_x = user.pixel_x + 2, time = 0.5 SECONDS) + for(var/i in 1 to 2) + animate(pixel_x = user.pixel_x - 4, time = 1.0 SECONDS) + animate(pixel_x = user.pixel_x + 4, time = 1.0 SECONDS) + animate(pixel_x = user.pixel_x - 2, time = 0.5 SECONDS) + /datum/emote/living/tremble key = "tremble" key_third_person = "trembles" message = "trembles in fear!" +#define TREMBLE_LOOP_DURATION (4.4 SECONDS) +/datum/emote/living/tremble/run_emote(mob/living/user, params, type_override, intentional) + . = ..() + if(!.) + return FALSE + animate(user, pixel_x = user.pixel_x + 2, time = 0.2 SECONDS) + for(var/i in 1 to TREMBLE_LOOP_DURATION / (0.4 SECONDS)) //desired total duration divided by the iteration duration to give the necessary iteration count + animate(pixel_x = user.pixel_x - 2, time = 0.2 SECONDS) + animate(pixel_x = user.pixel_x + 2, time = 0.2 SECONDS) + animate(pixel_x = user.pixel_x - 2, time = 0.2 SECONDS) +#undef TREMBLE_LOOP_DURATION + /datum/emote/living/twitch key = "twitch" key_third_person = "twitches" message = "twitches violently." +/datum/emote/living/twitch/run_emote(mob/living/user, params, type_override, intentional) + . = ..() + if(!.) + return FALSE + animate(user, pixel_x = user.pixel_x - 1, time = 0.1 SECONDS) + animate(pixel_x = user.pixel_x + 1, time = 0.1 SECONDS) + animate(time = 0.1 SECONDS) + animate(pixel_x = user.pixel_x - 1, time = 0.1 SECONDS) + animate(pixel_x = user.pixel_x + 1, time = 0.1 SECONDS) + /datum/emote/living/twitch_s key = "twitch_s" message = "twitches." +/datum/emote/living/twitch_s/run_emote(mob/living/user, params, type_override, intentional) + . = ..() + if(!.) + return FALSE + animate(user, pixel_x = user.pixel_x - 1, time = 0.1 SECONDS) + animate(pixel_x = user.pixel_x + 1, time = 0.1 SECONDS) + animate(time = 0.1 SECONDS) + animate(pixel_x = user.pixel_x - 1, time = 0.1 SECONDS) + animate(pixel_x = user.pixel_x + 1, time = 0.1 SECONDS) + /datum/emote/living/wave key = "wave" key_third_person = "waves" @@ -602,4 +666,87 @@ key = "clack" key_third_person = "clacks" message = "clacks their beak." - emote_type = EMOTE_VISIBLE */ + emote_type = EMOTE_VISIBLE + +///!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!НОВОЕ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +/datum/emote/living/tilt + key = "tilt" + key_third_person = "tilts" + message = "tilts their head to the side." + +/datum/emote/living/carbon/snap + key = "snap" + key_third_person = "snaps" + message = "snaps their fingers." + message_param = "snaps their fingers at %t." + emote_type = EMOTE_AUDIBLE + hands_use_check = TRUE + muzzle_ignore = TRUE + +/datum/emote/living/carbon/snap/get_sound(mob/living/user) + if(ishuman(user)) + if(!user.get_bodypart(BODY_ZONE_L_ARM) || !user.get_bodypart(BODY_ZONE_R_ARM)) + return + else + return pick('sound/misc/fingersnap1.ogg', + 'sound/misc/fingersnap2.ogg') + +/datum/emote/living/snap2 + key = "snap2" + key_third_person = "snaps twice" + message = "snaps twice." + message_param = "snaps twice at %t." + emote_type = EMOTE_AUDIBLE + muzzle_ignore = TRUE + hands_use_check = TRUE + vary = TRUE + sound = 'sound/misc/snap2.ogg' + +/datum/emote/living/snap3 + key = "snap3" + key_third_person = "snaps thrice" + message = "snaps thrice." + message_param = "snaps thrice at %t." + emote_type = EMOTE_AUDIBLE + muzzle_ignore = TRUE + hands_use_check = TRUE + vary = TRUE + sound = 'sound/misc/snap3.ogg' + +/datum/emote/living/carbon/clap + key = "clap" + key_third_person = "claps" + message = "claps." + muzzle_ignore = TRUE + hands_use_check = TRUE + emote_type = EMOTE_AUDIBLE + vary = TRUE + +/datum/emote/living/carbon/clap/get_sound(mob/living/user) + if(ishuman(user)) + if(!user.get_bodypart(BODY_ZONE_L_ARM) || !user.get_bodypart(BODY_ZONE_R_ARM)) + return + else + return pick('sound/misc/clap1.ogg', + 'sound/misc/clap2.ogg', + 'sound/misc/clap3.ogg', + 'sound/misc/clap4.ogg') + +/datum/emote/living/clap1 + key = "clap1" + key_third_person = "claps once" + message = "claps once." + emote_type = EMOTE_AUDIBLE + muzzle_ignore = TRUE + hands_use_check = TRUE + vary = TRUE + mob_type_allowed_typecache = list(/mob/living/carbon, /mob/living/silicon/pai) + +/datum/emote/living/clap1/get_sound(mob/living/user) + return pick('sound/misc/claponce1.ogg', + 'sound/misc/claponce2.ogg') + +/datum/emote/living/clap1/can_run_emote(mob/living/carbon/user, status_check = TRUE , intentional) + if(user.usable_hands < 2) + return FALSE + return ..()*/ diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index afe4ce54ea35..19897e90abc9 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -484,7 +484,9 @@ if(!silent) to_chat(src, "You will now lay down as soon as you are able to.") else - if(!silent) + if(!silent && m_intent == MOVE_INTENT_WALK) + to_chat(src, "You gently lay down.") + else if(!silent) to_chat(src, "You lay down.") set_lying_down() else @@ -1797,12 +1799,15 @@ GLOBAL_VAR_INIT(ssd_indicator_overlay, mutable_appearance('icons/mob/ssd_indicat /// Changes the value of the [living/body_position] variable. -/mob/living/proc/set_body_position(new_value) +/mob/living/proc/set_body_position(new_value, fall_sound_played) if(body_position == new_value) return . = body_position body_position = new_value if(new_value == LYING_DOWN) // From standing to lying down. + if(has_gravity() && m_intent != MOVE_INTENT_WALK) + playsound(src, "bodyfall", 50, TRUE) // Will play the falling sound if not walking + fall_sound_played = TRUE on_lying_down() else // From lying down to standing up. on_standing_up() diff --git a/sound/effects/Nose_boop.ogg b/sound/effects/Nose_boop.ogg new file mode 100644 index 0000000000000000000000000000000000000000..6a742e95eac6eccfe8ec8993a90b667bd49298be GIT binary patch literal 27095 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 A82|tP literal 0 HcmV?d00001 diff --git a/sound/misc/claponce2.ogg b/sound/misc/claponce2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..10dfdba121b4923ee36e49ed4bf3ab86b3d8e8f9 GIT binary patch literal 11036 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 J8gq<{{tdIL^-KT& literal 0 HcmV?d00001 diff --git a/sound/misc/snap2.ogg b/sound/misc/snap2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1537084be43c0faa2291bbdc659735d7c5901554 GIT binary patch literal 13617 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 W(J`vUN*z_@P+P literal 0 HcmV?d00001 From cfaf4308fbc859f514eeeeb91ead99a7a5d8f3c8 Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Thu, 17 Oct 2024 23:54:44 -0700 Subject: [PATCH 079/344] To Whom It May Concern - Bullet Writing (#3552) ## About The Pull Request You can now write on bullets with a pen to give your ~~victim~~ recipient a lovely message when they're hit. ![image](https://github.com/user-attachments/assets/859b62ac-5597-40f2-bc70-59bb6091015e) ## Why It's Good For The Game Adds a little personalization to your death dealing, and I think it'd be funny. ## Changelog :cl: add: Bullets can have a message written on them. /:cl: --- .../projectiles/ammunition/_ammo_casing.dm | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/code/modules/projectiles/ammunition/_ammo_casing.dm b/code/modules/projectiles/ammunition/_ammo_casing.dm index ecbd445eda0c..e3622647f65e 100644 --- a/code/modules/projectiles/ammunition/_ammo_casing.dm +++ b/code/modules/projectiles/ammunition/_ammo_casing.dm @@ -51,7 +51,20 @@ var/stack_size = 12 /obj/item/ammo_casing/attackby(obj/item/attacking_item, mob/user, params) - if(istype(attacking_item, /obj/item/ammo_box) && user.is_holding(src)) + if(istype(attacking_item, /obj/item/pen)) + if(!user.is_literate()) + to_chat(user, "You scribble illegibly on the [src]!") + return + var/inputvalue = stripped_input(user, "What would you like to label the round?", "Bullet Labelling", "", MAX_NAME_LEN) + + if(!inputvalue) + return + + if(user.canUseTopic(src, BE_CLOSE)) + name = "[initial(src.name)][(inputvalue ? " - '[inputvalue]'" : null)]" + if(BB) + BB.name = "[initial(BB.name)][(inputvalue ? " - '[inputvalue]'" : null)]" + else if(istype(attacking_item, /obj/item/ammo_box) && user.is_holding(src)) add_fingerprint(user) var/obj/item/ammo_box/ammo_box = attacking_item var/obj/item/ammo_casing/other_casing = ammo_box.get_round(TRUE) @@ -92,6 +105,10 @@ return ..() +/obj/item/ammo_casing/examine(mob/user) + . = ..() + span_notice("You could write a message on \the [src] by writing on it with a pen.") + /obj/item/ammo_casing/proc/try_stacking(obj/item/ammo_casing/other_casing, mob/living/user) if(user) add_fingerprint(user) From 00fa5f0188f225e3329c3e13ede53cda1dd5e9b2 Mon Sep 17 00:00:00 2001 From: Apogee-dev <60533805+Apogee-dev@users.noreply.github.com> Date: Fri, 18 Oct 2024 01:31:44 -0700 Subject: [PATCH 080/344] Makes the Cobra not just a better Mongrel (and fixes a typo) (#3437) ## About The Pull Request Reduces the size of the C-20r and Cobra-20's magazines to 24 rounds, identical to the Mongrel. This also means you get two clean reloads out of a box of .45 ammunition instead of having one mag and _almost_ a second mag. Also, fixed the "civillian" typo in the cargo listings for scarborough guns. ## Why It's Good For The Game not getting two reloads out of a box is just plain irritating and also the cobra shouldn't just be a mongrel but better ## Changelog :cl: balance: Reduced Cobra-20 magazine size to 24 rounds fix: removed a typo from Scarborough cargo catalog entries /:cl: --------- Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- code/modules/cargo/packs/gun.dm | 8 ++++---- .../manufacturer/scarborough/ballistics.dm | 6 +++--- icons/obj/ammo.dmi | Bin 59485 -> 63668 bytes 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/code/modules/cargo/packs/gun.dm b/code/modules/cargo/packs/gun.dm index 4074f76194d3..acc0be4e62e8 100644 --- a/code/modules/cargo/packs/gun.dm +++ b/code/modules/cargo/packs/gun.dm @@ -31,7 +31,7 @@ /datum/supply_pack/gun/ringneck name = "Ringneck Pistol Crate" - desc = "Contains a civillian variant of the Ringneck pistol, produced by Scarborough Arms and chambered in 10mm." + desc = "Contains a civilian variant of the Ringneck pistol, produced by Scarborough Arms and chambered in 10mm." cost = 1000 contains = list(/obj/item/storage/pistolcase/ringneck) faction = FACTION_SYNDICATE @@ -66,7 +66,7 @@ /datum/supply_pack/gun/viperrevolver name = "Viper-23 Revolver Crate" - desc = "Contains a a civillian variant of the Viper revolver, chambered in .357 magnum." + desc = "Contains a a civilian variant of the Viper revolver, chambered in .357 magnum." cost = 2500 contains = list(/obj/item/storage/pistolcase/viper) @@ -198,14 +198,14 @@ /datum/supply_pack/gun/boomslang90 name = "Boomslang-90 Rifle Crate" - desc = "Contains a civillian variant of the Boomslang Sniper rifle- modified with a 2x scope, rather than a sniper scope. Chambered in the powerful 6.5x57mm CLIP." + desc = "Contains a civilian variant of the Boomslang Sniper rifle- modified with a 2x scope, rather than a sniper scope. Chambered in the powerful 6.5x57mm CLIP." cost = 5000 contains = list(/obj/item/storage/guncase/boomslang) crate_name = "rifle crate" /datum/supply_pack/gun/cobra20 name = "Cobra-20 SMG Crate" - desc = "Contains a civillian variant of the Cobra SMG, manufactured by Scaraborough Arms and chambered in .45" + desc = "Contains a civilian variant of the Cobra SMG, manufactured by Scaraborough Arms and chambered in .45" cost = 3000 contains = list(/obj/item/storage/guncase/cobra) crate_name = "SMG crate" diff --git a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm index 4be859b2ca3b..699dc4c53e08 100644 --- a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm @@ -421,12 +421,12 @@ EMPTY_GUN_HELPER(automatic/smg/cobra/indie) /obj/item/ammo_box/magazine/m45_cobra name = "Cobra magazine (.45)" - desc = "A 28-round magazine for the Cobra submachine gun. These rounds do moderate damage, but struggle against armor." - icon_state = "cobra_mag-28" + desc = "A 24-round magazine for the Cobra submachine gun. These rounds do moderate damage, but struggle against armor." + icon_state = "cobra_mag-24" base_icon_state = "cobra_mag" ammo_type = /obj/item/ammo_casing/c45 caliber = ".45" - max_ammo = 28 + max_ammo = 24 /obj/item/ammo_box/magazine/m45_cobra/update_icon_state() . = ..() diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index ec5f147485401833d8ad24fb12c0cf6a26dc9a09..633a49eda54cdda76e267094df7c7ec8c584a34c 100644 GIT binary patch literal 63668 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�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

    ac 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 jo@1*2Kb7_E_9+R^B^pk%;)x{){M@y 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�|5v&&(+6#QTH|7xXxCio~B9FI+ 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

    )AGle|iV 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 Date: Fri, 18 Oct 2024 04:54:47 -0400 Subject: [PATCH 081/344] Kill Xenobio Stuff (#3527) Removes Xenobiology (minus slimes since they're good fluffmobs sometimes). cruft. thgvr said they'd get me a therapist if I did this. :cl: del: Xenobiology (minus slimes) /:cl: --------- Signed-off-by: Erika Fox <94164348+Erikafox@users.noreply.github.com> Co-authored-by: Bjarl <94164348+Bjarl@users.noreply.github.com> --- .../JungleRuins/jungle_cavecrew.dmm | 12 +- .../RockRuins/rockplanet_budgetcuts.dmm | 14 - _maps/RandomRuins/SpaceRuins/power_puzzle.dmm | 4 +- .../shuttles/nanotrasen/nanotrasen_delta.dmm | 3 - check_regex.yaml | 6 +- code/__DEFINES/atmospherics.dm | 2 +- code/__DEFINES/dcs/signals/signals.dm | 8 - code/__DEFINES/flags.dm | 2 - code/__DEFINES/misc.dm | 9 - code/__DEFINES/mobs.dm | 4 +- code/__HELPERS/icons.dm | 7 - code/__HELPERS/mobs.dm | 22 - code/_globalvars/bitfields.dm | 1 - code/_globalvars/lists/flavor_misc.dm | 7 +- code/datums/components/dejavu.dm | 107 -- code/game/gamemodes/objective_items.dm | 11 - code/game/machinery/syndicatebomb.dm | 15 - .../effects/anomalies/anomalies_bluespace.dm | 2 +- .../circuitboards/computer_circuitboards.dm | 5 - .../circuitboards/machine_circuitboards.dm | 28 - code/game/objects/items/devices/scanners.dm | 60 - .../objects/items/grenades/chem_grenade.dm | 28 - .../objects/items/grenades/clusterbuster.dm | 40 - .../objects/items/implants/implant_misc.dm | 7 - code/game/objects/items/storage/bags.dm | 3 +- .../game/objects/items/storage/uplink_kits.dm | 1 - code/game/objects/structures/salvaging.dm | 2 - code/game/turfs/open/floor/misc_floor.dm | 14 - .../antagonists/changeling/changeling.dm | 14 - .../mission_code/moonoutpost19.dm | 121 -- code/modules/cargo/bounties/slime.dm | 39 - code/modules/cargo/bounty.dm | 16 +- .../clothing/outfits/factions/minutemen.dm | 4 +- .../kitchen_machinery/monkeyrecycler.dm | 103 -- .../kitchen_machinery/processor.dm | 61 +- .../kitchen_machinery/smartfridge.dm | 17 - .../recipes/processor_recipes.dm | 5 - .../recipes/tablecraft/recipes_pie.dm | 1 - code/modules/mining/minebot.dm | 24 - .../living/carbon/alien/special/facehugger.dm | 1 - .../living/carbon/human/species_types/IPC.dm | 2 +- .../carbon/human/species_types/abductors.dm | 2 +- .../carbon/human/species_types/android.dm | 2 +- .../carbon/human/species_types/ethereal.dm | 2 +- .../carbon/human/species_types/flypeople.dm | 2 +- .../carbon/human/species_types/humans.dm | 2 +- .../carbon/human/species_types/jellypeople.dm | 134 +-- .../carbon/human/species_types/kepori.dm | 2 +- .../human/species_types/lizardpeople.dm | 2 +- .../carbon/human/species_types/mothmen.dm | 2 +- .../carbon/human/species_types/podpeople.dm | 2 +- .../carbon/human/species_types/spider.dm | 2 +- .../living/carbon/human/species_types/vox.dm | 2 +- .../simple_animal/friendly/butterfly.dm | 1 - .../living/simple_animal/friendly/capybara.dm | 1 - .../mob/living/simple_animal/friendly/cat.dm | 3 - .../mob/living/simple_animal/friendly/crab.dm | 5 - .../mob/living/simple_animal/friendly/dog.dm | 4 - .../simple_animal/friendly/farm_animals.dm | 6 - .../mob/living/simple_animal/friendly/fox.dm | 2 - .../living/simple_animal/friendly/lizard.dm | 1 - .../simple_animal/friendly/mothroach.dm | 1 - .../living/simple_animal/friendly/mouse.dm | 2 - .../living/simple_animal/friendly/penguin.dm | 1 - .../living/simple_animal/friendly/sloth.dm | 3 - .../living/simple_animal/friendly/snake.dm | 1 - .../living/simple_animal/friendly/turtle.dm | 1 - .../mob/living/simple_animal/hostile/alien.dm | 3 - .../mob/living/simple_animal/hostile/bear.dm | 1 - .../mob/living/simple_animal/hostile/bees.dm | 1 - .../mob/living/simple_animal/hostile/carp.dm | 3 - .../living/simple_animal/hostile/cockroach.dm | 2 - .../living/simple_animal/hostile/eyeballs.dm | 1 - .../living/simple_animal/hostile/faithless.dm | 1 - .../simple_animal/hostile/giant_spider.dm | 6 - .../mob/living/simple_animal/hostile/goose.dm | 2 - .../living/simple_animal/hostile/headcrab.dm | 2 - .../living/simple_animal/hostile/hivebot.dm | 1 - .../simple_animal/hostile/human/survivors.dm | 2 +- .../simple_animal/hostile/human/syndicate.dm | 1 - .../simple_animal/hostile/killertomato.dm | 1 - .../hostile/megafauna/colossus.dm | 1 - .../mob/living/simple_animal/hostile/mimic.dm | 97 -- .../hostile/mining_mobs/basilisk.dm | 2 - .../hostile/mining_mobs/goldgrub.dm | 1 - .../hostile/mining_mobs/gutlunch.dm | 2 - .../simple_animal/hostile/netherworld.dm | 2 - .../living/simple_animal/hostile/regalrat.dm | 1 - .../simple_animal/hostile/retaliate/frog.dm | 1 - .../simple_animal/hostile/retaliate/ghost.dm | 1 - .../living/simple_animal/hostile/statue.dm | 1 - .../mob/living/simple_animal/hostile/tree.dm | 1 - .../simple_animal/hostile/wumborian_fugu.dm | 1 - .../mob/living/simple_animal/parrot.dm | 2 - .../mob/living/simple_animal/simple_animal.dm | 2 - .../mob/living/simple_animal/slime/slime.dm | 52 - .../movespeed/modifiers/status_effects.dm | 17 - code/modules/power/cell.dm | 12 - code/modules/reagents/chemistry/holder.dm | 14 - .../reagents/pyrotechnic_reagents.dm | 4 - code/modules/reagents/chemistry/recipes.dm | 32 - .../reagents/chemistry/recipes/others.dm | 23 - .../chemistry/recipes/slime_extracts.dm | 595 --------- .../research/designs/comp_board_designs.dm | 8 - .../research/designs/machine_designs.dm | 9 - code/modules/research/experimentor.dm | 1 - code/modules/research/rdconsole.dm | 29 - code/modules/research/techweb/all_nodes.dm | 4 +- .../xenobiology/crossbreeding/__corecross.dm | 193 --- .../xenobiology/crossbreeding/_clothing.dm | 78 -- .../xenobiology/crossbreeding/_misc.dm | 234 ---- .../xenobiology/crossbreeding/_mobs.dm | 45 - .../xenobiology/crossbreeding/_potions.dm | 217 ---- .../crossbreeding/_status_effects.dm | 971 --------------- .../xenobiology/crossbreeding/_weapons.dm | 38 - .../xenobiology/crossbreeding/burning.dm | 307 ----- .../xenobiology/crossbreeding/charged.dm | 272 ----- .../xenobiology/crossbreeding/chilling.dm | 305 ----- .../xenobiology/crossbreeding/consuming.dm | 460 ------- .../xenobiology/crossbreeding/industrial.dm | 199 --- .../xenobiology/crossbreeding/mutative.dm | 27 - .../xenobiology/crossbreeding/prismatic.dm | 124 -- .../xenobiology/crossbreeding/recurring.dm | 138 --- .../xenobiology/crossbreeding/regenerative.dm | 354 ------ .../xenobiology/crossbreeding/reproductive.dm | 133 -- .../crossbreeding/selfsustaining.dm | 149 --- .../xenobiology/crossbreeding/stabilized.dm | 190 --- .../research/xenobiology/xenobio_camera.dm | 473 -------- .../research/xenobiology/xenobiology.dm | 1072 ----------------- code/modules/surgery/core_removal.dm | 44 - code/modules/unit_tests/create_and_destroy.dm | 2 - code/modules/uplink/uplink_items.dm | 9 - shiptest.dme | 28 - 133 files changed, 41 insertions(+), 7983 deletions(-) delete mode 100644 code/datums/components/dejavu.dm delete mode 100644 code/modules/awaymissions/mission_code/moonoutpost19.dm delete mode 100644 code/modules/cargo/bounties/slime.dm delete mode 100644 code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm delete mode 100644 code/modules/movespeed/modifiers/status_effects.dm delete mode 100644 code/modules/reagents/chemistry/recipes/slime_extracts.dm delete mode 100644 code/modules/research/xenobiology/crossbreeding/__corecross.dm delete mode 100644 code/modules/research/xenobiology/crossbreeding/_clothing.dm delete mode 100644 code/modules/research/xenobiology/crossbreeding/_misc.dm delete mode 100644 code/modules/research/xenobiology/crossbreeding/_mobs.dm delete mode 100644 code/modules/research/xenobiology/crossbreeding/_potions.dm delete mode 100644 code/modules/research/xenobiology/crossbreeding/_status_effects.dm delete mode 100644 code/modules/research/xenobiology/crossbreeding/_weapons.dm delete mode 100644 code/modules/research/xenobiology/crossbreeding/burning.dm delete mode 100644 code/modules/research/xenobiology/crossbreeding/charged.dm delete mode 100644 code/modules/research/xenobiology/crossbreeding/chilling.dm delete mode 100644 code/modules/research/xenobiology/crossbreeding/consuming.dm delete mode 100644 code/modules/research/xenobiology/crossbreeding/industrial.dm delete mode 100644 code/modules/research/xenobiology/crossbreeding/mutative.dm delete mode 100644 code/modules/research/xenobiology/crossbreeding/prismatic.dm delete mode 100644 code/modules/research/xenobiology/crossbreeding/recurring.dm delete mode 100644 code/modules/research/xenobiology/crossbreeding/regenerative.dm delete mode 100644 code/modules/research/xenobiology/crossbreeding/reproductive.dm delete mode 100644 code/modules/research/xenobiology/crossbreeding/selfsustaining.dm delete mode 100644 code/modules/research/xenobiology/crossbreeding/stabilized.dm delete mode 100644 code/modules/research/xenobiology/xenobio_camera.dm delete mode 100644 code/modules/research/xenobiology/xenobiology.dm delete mode 100644 code/modules/surgery/core_removal.dm diff --git a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm index 557a50d9a11e..923e58b4cb05 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm @@ -1028,14 +1028,10 @@ pixel_y = 32 }, /obj/structure/closet/secure_closet/freezer/wall/directional/west, -/obj/item/reagent_containers/food/snacks/rationpack, -/obj/item/reagent_containers/food/snacks/rationpack, -/obj/item/reagent_containers/food/snacks/rationpack, -/obj/item/reagent_containers/food/snacks/rationpack, -/obj/item/reagent_containers/food/snacks/rationpack, -/obj/item/reagent_containers/food/snacks/rationpack, -/obj/item/reagent_containers/food/snacks/rationpack, -/obj/item/reagent_containers/food/snacks/rationpack, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, /obj/item/reagent_containers/condiment/enzyme{ pixel_x = -8; pixel_y = 5 diff --git a/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm b/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm index 183df18879da..3b2b995fd979 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm @@ -960,21 +960,7 @@ /area/overmap_encounter/planetoid/rockplanet/explored) "pj" = ( /obj/structure/table/reinforced, -/obj/item/slime_extract/grey{ - pixel_x = -4; - pixel_y = -1 - }, -/obj/item/slime_extract/grey{ - pixel_x = 8 - }, -/obj/item/slime_extract/grey, -/obj/item/slime_extract/grey, -/obj/item/slime_extract/green{ - pixel_x = 4; - pixel_y = -6 - }, /obj/structure/window/reinforced, -/obj/item/slime_scanner, /turf/open/floor/engine, /area/ruin/rockplanet/nanotrasen) "pl" = ( diff --git a/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm b/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm index e126234531f2..e02a7e328b28 100644 --- a/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm +++ b/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm @@ -1850,8 +1850,8 @@ /obj/item/reagent_containers/food/drinks/waterbottle/empty, /obj/item/reagent_containers/food/drinks/waterbottle/empty, /obj/item/reagent_containers/food/drinks/waterbottle, -/obj/item/reagent_containers/food/snacks/rationpack, -/obj/item/reagent_containers/food/snacks/rationpack, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, /obj/item/reagent_containers/food/snacks/sosjerky, /obj/item/reagent_containers/food/snacks/sosjerky, /obj/item/stack/medical/gauze/improvised, diff --git a/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm b/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm index 351e8e2df037..0d57e0ca165a 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm @@ -1874,9 +1874,6 @@ /obj/structure/rack, /obj/item/weldingtool/hugetank/empty, /obj/item/clothing/mask/gas/welding, -/obj/item/slimepotion/slime/sentience/mining, -/obj/item/slimepotion/slime/sentience/mining, -/obj/item/slimepotion/slime/sentience/mining, /obj/machinery/light/small/directional/east, /obj/machinery/button/door{ dir = 4; diff --git a/check_regex.yaml b/check_regex.yaml index 94f37cdcf83e..a4e63a1762f8 100644 --- a/check_regex.yaml +++ b/check_regex.yaml @@ -27,11 +27,11 @@ standards: - exactly: [1, "/atom text paths", '"/atom'] - exactly: [1, "/area text paths", '"/area'] - - exactly: [17, "/datum text paths", '"/datum'] + - exactly: [16, "/datum text paths", '"/datum'] - exactly: [4, "/mob text paths", '"/mob'] - - exactly: [36, "/obj text paths", '"/obj'] + - exactly: [35, "/obj text paths", '"/obj'] - exactly: [0, "/turf text paths", '"/turf'] - - exactly: [115, "text2path uses", "text2path"] + - exactly: [114, "text2path uses", "text2path"] - exactly: [18, "world<< uses", 'world[ \t]*<<'] - exactly: [0, "world.log<< uses", 'world.log[ \t]*<<'] diff --git a/code/__DEFINES/atmospherics.dm b/code/__DEFINES/atmospherics.dm index 2870e31eff97..9a576932120f 100644 --- a/code/__DEFINES/atmospherics.dm +++ b/code/__DEFINES/atmospherics.dm @@ -200,7 +200,7 @@ /// the default air mix that open turfs spawn #define OPENTURF_DEFAULT_ATMOS "o2=22;n2=82;TEMP=293.15" #define OPENTURF_LOW_PRESSURE "o2=14;n2=30;TEMP=293.15" -/// -193,15°C telecommunications. also used for xenobiology slime killrooms +/// -193,15°C telecommunications. good fluff for comms areas #define TCOMMS_ATMOS "n2=100;TEMP=80" /// space #define AIRLESS_ATMOS "TEMP=2.7" diff --git a/code/__DEFINES/dcs/signals/signals.dm b/code/__DEFINES/dcs/signals/signals.dm index 4fa2177fafa1..2293c5bf8fd5 100644 --- a/code/__DEFINES/dcs/signals/signals.dm +++ b/code/__DEFINES/dcs/signals/signals.dm @@ -678,14 +678,6 @@ #define COMSIG_ACTION_TRIGGER "action_trigger" //from base of datum/action/proc/Trigger(): (datum/action) #define COMPONENT_ACTION_BLOCK_TRIGGER 1 -//Xenobio hotkeys -#define COMSIG_XENO_SLIME_CLICK_CTRL "xeno_slime_click_ctrl" //from slime CtrlClickOn(): (/mob) -#define COMSIG_XENO_SLIME_CLICK_ALT "xeno_slime_click_alt" //from slime AltClickOn(): (/mob) -#define COMSIG_XENO_SLIME_CLICK_SHIFT "xeno_slime_click_shift" //from slime ShiftClickOn(): (/mob) -#define COMSIG_XENO_TURF_CLICK_SHIFT "xeno_turf_click_shift" //from turf ShiftClickOn(): (/mob) -#define COMSIG_XENO_TURF_CLICK_CTRL "xeno_turf_click_alt" //from turf AltClickOn(): (/mob) -#define COMSIG_XENO_MONKEY_CLICK_CTRL "xeno_monkey_click_ctrl" //from monkey CtrlClickOn(): (/mob) - // /datum/overmap signals /// From overmap Move(): (old_x, old_y) #define COMSIG_OVERMAP_MOVED "overmap_moved" diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index e9bb73ff77b0..5fc49fbfd6ca 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -97,8 +97,6 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define HIDDEN_AREA (1<<6) /// If false, loading multiple maps with this area type will create multiple instances. #define UNIQUE_AREA (1<<7) -/// Can the Xenobio management console transverse this area by default? -#define XENOBIOLOGY_COMPATIBLE (1<<8) /* These defines are used specifically with the atom/pass_flags bitmask diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index c6fe0591ee27..68ef8b65b127 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -335,15 +335,6 @@ GLOBAL_LIST_INIT(ghost_others_options, list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE #define SYRINGE_DRAW 0 #define SYRINGE_INJECT 1 -//gold slime core spawning -#define NO_SPAWN 0 -#define HOSTILE_SPAWN 1 -#define FRIENDLY_SPAWN 2 - -//slime core activation type -#define SLIME_ACTIVATE_MINOR 1 -#define SLIME_ACTIVATE_MAJOR 2 - #define LUMINESCENT_DEFAULT_GLOW 2 #define RIDING_OFFSET_ALL "ALL" diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index c5430e97220e..3845a2b42d2c 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -401,10 +401,8 @@ #define RACE_SWAP (1<<3) //ERT spawn template (avoid races that don't function without correct gear) #define ERT_SPAWN (1<<4) -//xenobio black crossbreed -#define SLIME_EXTRACT (1<<5) //Wabbacjack staff projectiles -#define WABBAJACK (1<<6) +#define WABBAJACK (1<<5) #define SLEEP_CHECK_DEATH(X) sleep(X); if(QDELETED(src) || stat == DEAD) return; diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm index 38e540e996b9..3e676f289458 100644 --- a/code/__HELPERS/icons.dm +++ b/code/__HELPERS/icons.dm @@ -1028,13 +1028,6 @@ GLOBAL_LIST_EMPTY(friendly_animal_types) // Pick a random animal instead of the icon, and use that instead /proc/getRandomAnimalImage(atom/A) - if(!GLOB.friendly_animal_types.len) - for(var/T in typesof(/mob/living/simple_animal)) - var/mob/living/simple_animal/SA = T - if(initial(SA.gold_core_spawnable) == FRIENDLY_SPAWN) - GLOB.friendly_animal_types += SA - - var/mob/living/simple_animal/SA = pick(GLOB.friendly_animal_types) var/icon = initial(SA.icon) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index b56149947e3d..775a39a536f5 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -581,28 +581,6 @@ GLOBAL_LIST_EMPTY(species_list) else to_chat(M, message) -//Used in chemical_mob_spawn. Generates a random mob based on a given gold_core_spawnable value. -/proc/create_random_mob(spawn_location, mob_class = HOSTILE_SPAWN) - var/static/list/mob_spawn_meancritters = list() // list of possible hostile mobs - var/static/list/mob_spawn_nicecritters = list() // and possible friendly mobs - - if(mob_spawn_meancritters.len <= 0 || mob_spawn_nicecritters.len <= 0) - for(var/T in typesof(/mob/living/simple_animal)) - var/mob/living/simple_animal/SA = T - switch(initial(SA.gold_core_spawnable)) - if(HOSTILE_SPAWN) - mob_spawn_meancritters += T - if(FRIENDLY_SPAWN) - mob_spawn_nicecritters += T - - var/chosen - if(mob_class == FRIENDLY_SPAWN) - chosen = pick(mob_spawn_nicecritters) - else - chosen = pick(mob_spawn_meancritters) - var/mob/living/simple_animal/C = new chosen(spawn_location) - return C - /proc/passtable_on(target, source) var/mob/living/L = target if (!HAS_TRAIT(L, TRAIT_PASSTABLE) && L.pass_flags & PASSTABLE) diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index b5ec891a5ff1..30a38a5b4821 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -56,7 +56,6 @@ DEFINE_BITFIELD(area_flags, list( "NOTELEPORT" = NOTELEPORT, "HIDDEN_AREA" = HIDDEN_AREA, "UNIQUE_AREA" = UNIQUE_AREA, - "XENOBIOLOGY_COMPATIBLE" = XENOBIOLOGY_COMPATIBLE, )) DEFINE_BITFIELD(car_traits, list( diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index 1a5cecef67a9..7d3043c40d8c 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -248,9 +248,8 @@ GLOBAL_LIST_INIT(scarySounds, list('sound/weapons/thudswoosh.ogg','sound/weapons 25 Toxins 26 Dormitories 27 Virology -28 Xenobiology -29 Law Office -30 Detective's Office +28 Law Office +29 Detective's Office */ //The whole system for the sorttype var is determined based on the order of this list, @@ -266,7 +265,7 @@ GLOBAL_LIST_INIT(TAGGERLOCATIONS, list("Disposals", "Robotics", "Head of Personnel's Office", "Library", "Chapel", "Theatre", "Bar", "Kitchen", "Hydroponics", "Janitor Closet","Genetics", "Experimentor Lab", "Toxins", "Dormitories", "Virology", - "Xenobiology", "Law Office","Detective's Office")) + , "Law Office","Detective's Office")) GLOBAL_LIST_INIT(station_prefixes, world.file2list("strings/station_prefixes.txt")) diff --git a/code/datums/components/dejavu.dm b/code/datums/components/dejavu.dm deleted file mode 100644 index b2a2cddf9c9b..000000000000 --- a/code/datums/components/dejavu.dm +++ /dev/null @@ -1,107 +0,0 @@ -/** - * A component to reset the parent to its previous state after some time passes - */ -/datum/component/dejavu - /// The turf the parent was on when this components was applied, they get moved back here after the duration - var/turf/starting_turf - /// Determined by the type of the parent so different behaviours can happen per type - var/rewind_type - /// How many rewinds will happen before the effect ends - var/rewinds_remaining - /// How long to wait between each rewind - var/rewind_interval - - /// The starting value of clone loss at the beginning of the effect - var/clone_loss = 0 - /// The starting value of toxin loss at the beginning of the effect - var/tox_loss = 0 - /// The starting value of oxygen loss at the beginning of the effect - var/oxy_loss = 0 - /// The starting value of brain loss at the beginning of the effect - var/brain_loss = 0 - /// The starting value of brute loss at the beginning of the effect - /// This only applies to simple animals - var/brute_loss - /// The starting value of integrity at the beginning of the effect - /// This only applies to objects - var/integrity - /// A list of body parts saved at the beginning of the effect - var/list/datum/saved_bodypart/saved_bodyparts - -/datum/component/dejavu/Initialize(rewinds = 1, interval = 10 SECONDS) - if(!isatom(parent)) - return COMPONENT_INCOMPATIBLE - - starting_turf = get_turf(parent) - rewinds_remaining = rewinds - rewind_interval = interval - - if(isliving(parent)) - var/mob/living/L = parent - clone_loss = L.getCloneLoss() - tox_loss = L.getToxLoss() - oxy_loss = L.getOxyLoss() - brain_loss = L.getOrganLoss(ORGAN_SLOT_BRAIN) - rewind_type = PROC_REF(rewind_living) - - if(iscarbon(parent)) - var/mob/living/carbon/C = parent - saved_bodyparts = C.save_bodyparts() - rewind_type = PROC_REF(rewind_carbon) - - else if(isanimal(parent)) - var/mob/living/simple_animal/M = parent - brute_loss = M.bruteloss - rewind_type = PROC_REF(rewind_animal) - - else if(isobj(parent)) - var/obj/O = parent - integrity = O.obj_integrity - rewind_type = PROC_REF(rewind_obj) - - addtimer(CALLBACK(src, rewind_type), rewind_interval) - -/datum/component/dejavu/Destroy() - starting_turf = null - saved_bodyparts = null - return ..() - -/datum/component/dejavu/proc/rewind() - to_chat(parent, "You remember a time not so long ago...") - - //comes after healing so new limbs comically drop to the floor - if(starting_turf) - var/atom/movable/master = parent - master.forceMove(starting_turf) - - rewinds_remaining -- - if(rewinds_remaining) - addtimer(CALLBACK(src, rewind_type), rewind_interval) - else - to_chat(parent, "But the memory falls out of your reach.") - qdel(src) - -/datum/component/dejavu/proc/rewind_living() - var/mob/living/master = parent - master.setCloneLoss(clone_loss) - master.setToxLoss(tox_loss) - master.setOxyLoss(oxy_loss) - master.setOrganLoss(ORGAN_SLOT_BRAIN, brain_loss) - rewind() - -/datum/component/dejavu/proc/rewind_carbon() - if(saved_bodyparts) - var/mob/living/carbon/master = parent - master.apply_saved_bodyparts(saved_bodyparts) - rewind_living() - -/datum/component/dejavu/proc/rewind_animal() - var/mob/living/simple_animal/master = parent - master.bruteloss = brute_loss - master.updatehealth() - rewind_living() - -/datum/component/dejavu/proc/rewind_obj() - var/obj/master = parent - master.obj_integrity = integrity - rewind() diff --git a/code/game/gamemodes/objective_items.dm b/code/game/gamemodes/objective_items.dm index 6a4787607ef2..405ca316b7d5 100644 --- a/code/game/gamemodes/objective_items.dm +++ b/code/game/gamemodes/objective_items.dm @@ -155,17 +155,6 @@ return TRUE return FALSE -/datum/objective_item/steal/slime - name = "an unused sample of slime extract." - targetitem = /obj/item/slime_extract - difficulty = 3 - excludefromjob = list("Research Director","Scientist") - -/datum/objective_item/steal/slime/check_special_completion(obj/item/slime_extract/E) - if(E.Uses > 0) - return 1 - return 0 - /datum/objective_item/steal/blackbox name = "The Blackbox." targetitem = /obj/item/blackbox diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index b3bd14af5a07..7df56b390f1b 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -410,14 +410,6 @@ for(var/obj/item/reagent_containers/glass/G in beakers) reactants += G.reagents - for(var/obj/item/slime_extract/S in beakers) - if(S.Uses) - for(var/obj/item/reagent_containers/glass/G in beakers) - G.reagents.trans_to(S, G.reagents.total_volume) - - if(S && S.reagents && S.reagents.total_volume) - reactants += S.reagents - if(!chem_splash(get_turf(src), spread_range, reactants, temp_boost)) playsound(loc, 'sound/items/screwdriver2.ogg', 50, TRUE) return // The Explosion didn't do anything. No need to log, or disappear. @@ -460,16 +452,9 @@ for(var/obj/item/grenade/chem_grenade/G in src) if(istype(G, /obj/item/grenade/chem_grenade/large)) - var/obj/item/grenade/chem_grenade/large/LG = G max_beakers += 1 // Adding two large grenades only allows for a maximum of 7 beakers. spread_range += 2 // Extra range, reduced density. temp_boost += 50 // maximum of +150K blast using only large beakers. Not enough to self ignite. - for(var/obj/item/slime_extract/S in LG.beakers) // And slime cores. - if(beakers.len < max_beakers) - beakers += S - S.forceMove(src) - else - S.forceMove(drop_location()) if(istype(G, /obj/item/grenade/chem_grenade/cryo)) spread_range -= 1 // Reduced range, but increased density. diff --git a/code/game/objects/effects/anomalies/anomalies_bluespace.dm b/code/game/objects/effects/anomalies/anomalies_bluespace.dm index d5825181295c..19d163f131ee 100644 --- a/code/game/objects/effects/anomalies/anomalies_bluespace.dm +++ b/code/game/objects/effects/anomalies/anomalies_bluespace.dm @@ -63,7 +63,7 @@ if(istype(A, /obj/item/beacon)) continue // don't teleport beacons because that's just insanely stupid if(iscameramob(A)) - continue // Don't mess with AI eye, xenobio or advanced cameras + continue // Don't mess with AI eye, or advanced cameras if(A.anchored) continue diff --git a/code/game/objects/items/circuitboards/computer_circuitboards.dm b/code/game/objects/items/circuitboards/computer_circuitboards.dm index 9aece73946cc..5e82266f186c 100644 --- a/code/game/objects/items/circuitboards/computer_circuitboards.dm +++ b/code/game/objects/items/circuitboards/computer_circuitboards.dm @@ -315,11 +315,6 @@ icon_state = "science" build_path = /obj/machinery/computer/teleporter -/obj/item/circuitboard/computer/xenobiology - name = "circuit board (Xenobiology Console)" - icon_state = "science" - build_path = /obj/machinery/computer/camera_advanced/xenobio - //Security /obj/item/circuitboard/computer/gulag_teleporter_console diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index 827e4d75167e..23c885e26e60 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -579,7 +579,6 @@ var/static/list/fridges_name_paths = list(/obj/machinery/smartfridge/bloodbank = "blood", // CELADON-EDIT - ORIGINAL /obj/machinery/smartfridge/food = "food", /obj/machinery/smartfridge/drinks = "drinks", - /obj/machinery/smartfridge/extract = "slimes", /obj/machinery/smartfridge/bloodbank = "blood", /obj/machinery/smartfridge/organ = "organs", /obj/machinery/smartfridge/chemistry = "chems", @@ -1002,15 +1001,6 @@ /obj/item/airlock_painter = 1, /obj/item/stack/sheet/glass = 1) -/obj/item/circuitboard/machine/monkey_recycler - name = "Monkey Recycler (Machine Board)" - icon_state = "science" - build_path = /obj/machinery/monkey_recycler - req_components = list( - /obj/item/stock_parts/matter_bin = 1, - /obj/item/stock_parts/manipulator = 1) - needs_anchored = FALSE - /obj/item/circuitboard/machine/nanite_chamber name = "Nanite Chamber (Machine Board)" icon_state = "science" @@ -1037,11 +1027,6 @@ /obj/item/stock_parts/micro_laser = 2, /obj/item/stock_parts/scanning_module = 1) -/obj/item/circuitboard/machine/processor/slime - name = "Slime Processor (Machine Board)" - icon_state = "science" - build_path = /obj/machinery/processor/slime - /obj/item/circuitboard/machine/protolathe/department/science name = "Protolathe (Machine Board) - Science" icon_state = "science" @@ -1297,19 +1282,6 @@ /obj/item/stock_parts/manipulator = 1) needs_anchored = FALSE -/obj/item/circuitboard/machine/processor/attackby(obj/item/I, mob/user, params) - if(I.tool_behaviour == TOOL_SCREWDRIVER) - if(build_path == /obj/machinery/processor) - name = "Slime Processor (Machine Board)" - build_path = /obj/machinery/processor/slime - to_chat(user, "Name protocols successfully updated.") - else - name = "Food Processor (Machine Board)" - build_path = /obj/machinery/processor - to_chat(user, "Defaulting name protocols.") - else - return ..() - /obj/item/circuitboard/machine/protolathe/department/service name = "Protolathe - Service (Machine Board)" icon_state = "service" diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 1f4b2ae6f6a2..1a9ee8ec3cf4 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -5,7 +5,6 @@ CONTAINS: T-RAY HEALTH ANALYZER GAS ANALYZER -SLIME SCANNER NANITE SCANNER GENE SCANNER @@ -616,65 +615,6 @@ GENE SCANNER to_chat(user, examine_block(jointext(render_list, "\n")), type = MESSAGE_TYPE_INFO) return TRUE -//slime scanner - -/obj/item/slime_scanner - name = "slime scanner" - desc = "A device that analyzes a slime's internal composition and measures its stats." - icon = 'icons/obj/device.dmi' - icon_state = "adv_spectrometer" - item_state = "analyzer" - lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' - pickup_sound = 'sound/items/handling/device_pickup.ogg' - drop_sound = 'sound/items/handling/device_drop.ogg' - w_class = WEIGHT_CLASS_SMALL - flags_1 = CONDUCT_1 - throwforce = 0 - throw_speed = 3 - throw_range = 7 - custom_materials = list(/datum/material/iron=30, /datum/material/glass=20) - -/obj/item/slime_scanner/attack(mob/living/M, mob/living/user) - if(user.stat) - return - if (!isslime(M)) - to_chat(user, "This device can only scan slimes!") - return - var/mob/living/simple_animal/slime/T = M - slime_scan(T, user) - -/proc/slime_scan(mob/living/simple_animal/slime/T, mob/living/user) - var/to_render = "\nSlime scan results:\ - \n[T.colour] [T.is_adult ? "adult" : "baby"] slime\ - \nNutrition: [T.nutrition]/[T.get_max_nutrition()]" - if (T.nutrition < T.get_starve_nutrition()) - to_render += "\nWarning: slime is starving!" - else if (T.nutrition < T.get_hunger_nutrition()) - to_render += "\nWarning: slime is hungry" - to_render += "\nElectric change strength: [T.powerlevel]\nHealth: [round(T.health/T.maxHealth,0.01)*100]%" - if (T.slime_mutation[4] == T.colour) - to_render += "\nThis slime does not evolve any further." - else - if (T.slime_mutation[3] == T.slime_mutation[4]) - if (T.slime_mutation[2] == T.slime_mutation[1]) - to_render += "\nPossible mutation: [T.slime_mutation[3]]\ - \nGenetic destability: [T.mutation_chance/2] % chance of mutation on splitting" - else - to_render += "\nPossible mutations: [T.slime_mutation[1]], [T.slime_mutation[2]], [T.slime_mutation[3]] (x2)\ - \nGenetic destability: [T.mutation_chance] % chance of mutation on splitting" - else - to_render += "\nPossible mutations: [T.slime_mutation[1]], [T.slime_mutation[2]], [T.slime_mutation[3]], [T.slime_mutation[4]]\ - \nGenetic destability: [T.mutation_chance] % chance of mutation on splitting" - if (T.cores > 1) - to_render += "\nMultiple cores detected" - to_render += "\nGrowth progress: [T.amount_grown]/[SLIME_EVOLUTION_THRESHOLD]" - if(T.effectmod) - to_render += "\nCore mutation in progress: [T.effectmod]\ - \nProgress in core mutation: [T.applied] / [(SLIME_EXTRACT_CROSSING_REQUIRED * T.crossbreed_modifier)]" - to_chat(user, examine_block(to_render)) - - /obj/item/nanite_scanner name = "nanite scanner" icon = 'icons/obj/device.dmi' diff --git a/code/game/objects/items/grenades/chem_grenade.dm b/code/game/objects/items/grenades/chem_grenade.dm index e8b7e0de487f..58fd68157f08 100644 --- a/code/game/objects/items/grenades/chem_grenade.dm +++ b/code/game/objects/items/grenades/chem_grenade.dm @@ -217,36 +217,8 @@ if(stage != GRENADE_READY) return - for(var/obj/item/slime_extract/S in beakers) - if(S.Uses) - for(var/obj/item/reagent_containers/glass/G in beakers) - G.reagents.trans_to(S, G.reagents.total_volume) - - //If there is still a core (sometimes it's used up) - //and there are reagents left, behave normally, - //otherwise drop it on the ground for timed reactions like gold. - - if(S) - if(S.reagents && S.reagents.total_volume) - for(var/obj/item/reagent_containers/glass/G in beakers) - S.reagents.trans_to(G, S.reagents.total_volume) - else - S.forceMove(get_turf(src)) - no_splash = TRUE ..() - //I tried to just put it in the allowed_containers list but - //if you do that it must have reagents. If you're going to - //make a special case you might as well do it explicitly. -Sayu -/obj/item/grenade/chem_grenade/large/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/slime_extract) && stage == GRENADE_WIRED) - if(!user.transferItemToLoc(I, src)) - return - to_chat(user, "You add [I] to the [initial(name)] assembly.") - beakers += I - else - return ..() - /obj/item/grenade/chem_grenade/cryo // Intended for rare cryogenic mixes. Cools the area moderately upon detonation. name = "cryo grenade" desc = "A custom made cryogenic grenade. Rapidly cools contents upon ignition." diff --git a/code/game/objects/items/grenades/clusterbuster.dm b/code/game/objects/items/grenades/clusterbuster.dm index 5326b303d977..a086cf85b055 100644 --- a/code/game/objects/items/grenades/clusterbuster.dm +++ b/code/game/objects/items/grenades/clusterbuster.dm @@ -84,35 +84,6 @@ for(var/i in 1 to steps) step_away(src,loc) -/obj/effect/payload_spawner/random_slime - var/volatile = FALSE - -/obj/effect/payload_spawner/random_slime/volatile - volatile = TRUE - -/obj/item/slime_extract/proc/activate_slime() - var/list/slime_chems = src.activate_reagents - if(!QDELETED(src)) - var/chem = pick(slime_chems) - var/amount = 5 - if(chem == "lesser plasma") //In the rare case we get another rainbow. - chem = /datum/reagent/toxin/plasma - amount = 4 - if(chem == "holy water and uranium") - chem = /datum/reagent/uranium - reagents.add_reagent(/datum/reagent/water/holywater) - reagents.add_reagent(chem,amount) - -/obj/effect/payload_spawner/random_slime/spawn_payload(type, numspawned) - for(var/loop = numspawned ,loop > 0, loop--) - var/chosen = pick(subtypesof(/obj/item/slime_extract)) - var/obj/item/slime_extract/P = new chosen(loc) - if(volatile) - addtimer(CALLBACK(P, TYPE_PROC_REF(/obj/item/slime_extract, activate_slime)), rand(15,60)) - var/steps = rand(1,4) - for(var/i in 1 to steps) - step_away(src,loc) - ////////////////////////////////// //Custom payload clusterbusters ///////////////////////////////// @@ -180,14 +151,3 @@ var/real_type = pick(subtypesof(/obj/item/grenade/clusterbuster)) new real_type(loc) return INITIALIZE_HINT_QDEL - -//rainbow slime effect -/obj/item/grenade/clusterbuster/slime - name = "Blorble Blorble" - icon_state = "slimebang" - base_state = "slimebang" - payload_spawner = /obj/effect/payload_spawner/random_slime - prime_sound = 'sound/effects/bubbles.ogg' - -/obj/item/grenade/clusterbuster/slime/volatile - payload_spawner = /obj/effect/payload_spawner/random_slime/volatile diff --git a/code/game/objects/items/implants/implant_misc.dm b/code/game/objects/items/implants/implant_misc.dm index d8f871e1ecc4..4379003d57a8 100644 --- a/code/game/objects/items/implants/implant_misc.dm +++ b/code/game/objects/items/implants/implant_misc.dm @@ -122,13 +122,6 @@ radio_key = /obj/item/encryptionkey/syndicate subspace_transmission = TRUE -/obj/item/implant/radio/slime - name = "slime radio" - icon = 'icons/obj/surgery.dmi' - icon_state = "adamantine_resonator" - radio_key = /obj/item/encryptionkey - subspace_transmission = TRUE - /obj/item/implant/radio/get_data() var/dat = {"Implant Specifications:
    Name: Internal Radio Implant
    diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index ecee3894ccbb..cfe07df070ba 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -407,7 +407,7 @@ )) /* - * Biowaste bag (mostly for xenobiologists) + * Biowaste bag */ /obj/item/storage/bag/bio @@ -424,7 +424,6 @@ STR.max_items = 20 STR.insert_preposition = "in" STR.set_holdable(list( - /obj/item/slime_extract, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/glass/beaker, diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm index 9516c7128090..e8b619b0d712 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -282,7 +282,6 @@ /obj/item/storage/firstaid/tactical, /obj/item/encryptionkey/syndicate, /obj/item/clothing/glasses/thermal/syndi, - /obj/item/slimepotion/slime/sentience/nuclear, /obj/item/storage/box/syndie_kit/imp_radio, /obj/item/storage/box/syndie_kit/imp_uplink, /obj/item/clothing/gloves/krav_maga/combatglovesplus, diff --git a/code/game/objects/structures/salvaging.dm b/code/game/objects/structures/salvaging.dm index f4aad715db19..a3b3b2b5763f 100644 --- a/code/game/objects/structures/salvaging.dm +++ b/code/game/objects/structures/salvaging.dm @@ -617,7 +617,6 @@ /obj/item/circuitboard/machine/medical_kiosk = 5, /obj/item/circuitboard/machine/medipen_refiller = 5, /obj/item/circuitboard/machine/microwave = 5, - /obj/item/circuitboard/machine/monkey_recycler = 5, /obj/item/circuitboard/machine/ore_redemption = 5, /obj/item/circuitboard/machine/ore_silo = 5, /obj/item/circuitboard/machine/reagentgrinder = 5, @@ -671,7 +670,6 @@ /obj/item/circuitboard/computer/powermonitor/secret = 5, /obj/item/circuitboard/computer/prototype_cloning = 5, /obj/item/circuitboard/computer/stationalert = 5, - /obj/item/circuitboard/computer/xenobiology = 5, /obj/item/circuitboard/computer/teleporter = 5, /obj/item/circuitboard/computer/operating = 5, /obj/item/circuitboard/computer/crew = 5, diff --git a/code/game/turfs/open/floor/misc_floor.dm b/code/game/turfs/open/floor/misc_floor.dm index 98ad4658add0..97f3772ec208 100644 --- a/code/game/turfs/open/floor/misc_floor.dm +++ b/code/game/turfs/open/floor/misc_floor.dm @@ -126,20 +126,6 @@ /turf/open/floor/noslip/MakeSlippery(wet_setting, min_wet_time, wet_time_to_add, max_wet_time, permanent) return -/turf/open/floor/bluespace - slowdown = -1 - icon_state = "bluespace" - desc = "Through a series of micro-teleports these tiles let people move at incredible speeds." - floor_tile = /obj/item/stack/tile/bluespace - - -/turf/open/floor/sepia - slowdown = 2 - icon_state = "sepia" - desc = "Time seems to flow very slowly around these tiles." - floor_tile = /obj/item/stack/tile/sepia - - /turf/open/floor/bronze name = "bronze floor" desc = "Some heavy bronze tiles." diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index 7d9279f1390d..7953f3f7021a 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -539,17 +539,6 @@ newprofile.mob_overlay_icon_list = mob_overlay_icon_list.Copy() newprofile.mob_overlay_state_list = mob_overlay_state_list.Copy() //WS EDIT - Mob Overlay State -/datum/antagonist/changeling/xenobio - name = "Xenobio Changeling" - give_objectives = FALSE - show_in_roundend = FALSE //These are here for admin tracking purposes only - you_are_greet = FALSE - - chem_storage = 25 - geneticpoints = 2 - chem_recharge_rate = 0.5 - dna_max = 3 - /datum/antagonist/changeling/roundend_report() var/list/parts = list() @@ -582,6 +571,3 @@ /datum/antagonist/changeling/antag_listing_name() return ..() + "([changelingID])" - -/datum/antagonist/changeling/xenobio/antag_listing_name() - return ..() + "(Xenobio)" diff --git a/code/modules/awaymissions/mission_code/moonoutpost19.dm b/code/modules/awaymissions/mission_code/moonoutpost19.dm deleted file mode 100644 index 4f13e27001ec..000000000000 --- a/code/modules/awaymissions/mission_code/moonoutpost19.dm +++ /dev/null @@ -1,121 +0,0 @@ -// moonoutpost19 - -//Areas -/area/awaymission/moonoutpost19 - name = "space" - icon_state = "awaycontent1" - -/area/awaymission/moonoutpost19/arrivals - name = "MO19 Arrivals" - icon_state = "awaycontent2" - -/area/awaymission/moonoutpost19/research - name = "MO19 Research" - icon_state = "awaycontent3" - -/area/awaymission/moonoutpost19/syndicate - name = "Syndicate Outpost" - icon_state = "awaycontent4" - -/area/awaymission/moonoutpost19/main - name = "Khonsu 19" - always_unpowered = TRUE - power_environ = FALSE - power_equip = FALSE - power_light = FALSE - poweralm = FALSE - ambientsounds = list('sound/ambience/ambimine.ogg') - icon_state = "awaycontent5" - -/area/awaymission/moonoutpost19/hive - name = "The Hive" - always_unpowered = TRUE - power_environ = FALSE - power_equip = FALSE - power_light = FALSE - poweralm = FALSE - icon_state = "awaycontent6" - -//Papers - -/obj/item/paper/crumpled/awaymissions/moonoutpost19/hastey_note - name = "Hastily Written Note" - default_raw_text = "19 06 2554

    I fucking knew it. There was a major breach, that idiotic force field failed and the xenomorphs rushed out and took out the scientists. I've managed to make it to my office and closed the blast doors. I can hear them trying to pry open the doors. Probably don't have long. I have no clue what has happened to the rest of the crew, for all I know they've been killed to produce more of the fucks." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/research/larva_social - name = "Larva Xenomorph Social Interactions & Capturing Procedure" - default_raw_text = "Researcher: Dr. Sakuma Sano
    Date: 04/06/2554

    Report:
    As expected, all that is left of the monkeys we sent in earlier is a group of xenomorph larvae. It is quite clear that the facehuggers are not selective in their hosts, and so far the gestation process has been shown to have a 100% success rate.

    The larvae themselves have been behaving very differently from the lone larva we first observed, and despite shying away from humans they are clearly comfortable with others of their kind. Our previous suspicions on larvae have been confirmed with their demonstration of playfulness: they are not nearly as aggressive or violent when young, before molting to adulthood.

    The majority of the play we observed involved a sort of hide-and-seek, and occasionally wrestling by tangling themselves and struggling out of it. While normally we would write these off as instinctual play for honing their skills when they molt, their growth period is so incredibly fast and they are still such adept killers that it would serve no practical purpose. The only explanation for this is perhaps to create bonds and friendships with each other, if that is even possible for such an incredibly hostile race. It may be that they are much more reasonable with each other than other life forms.

    It had become clear that now was the best time to extract a xenomorph for dissecting, as these were all still larvae and the queen was still attached to its ovipositor and would be immobile. With the approval of the research director, we sent in our medical robot that had been dubbed 'Head Surgeon' into the containment pen, dropping the shields for only a fraction of a second to allow it entry. The larvae were cautious, but the curiosity of one had him within grabbing range of our robot. It was brought out and quickly euthanized through lethal injection, courtesy of our mechanical doctor." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_queen - name = "Queen Xenomorph Physiology & Behavior Observation" - default_raw_text = "Researcher: Dr. Sakuma Sano
    Date: 04/06/2554

    Report:
    I have studied many interesting and diverse life-forms as a xenobiologist ranging from creatures as large as cows, to specimens too small see with the naked eye. This is by far the largest alien I have ever seen. The alien we were previously studying has molted and has become an absolutely enormous creature. Standing at over 15 feet tall and weighing in at likely two tons or more, the xenomorph queen is an absolutely breathtakingly large and cruel monster. Its behavior has changed drastically from when it was a drone, having become far more comfortable with sitting and staring at us, rather than smashing at the windows.

    The queen, physiologically speaking, is fairly similar to the other xenomorphs, with a few key differences. Its enormous size demands large legs, while the back seems to be always hunched forward. The dorsal tubes on the back have changed to several large spikes, and we observed the alien now sports a second pair of smaller arms on its chest. The purpose of these secondary arms is still unknown. Finally, the queen's crown has become incredibly large, with what seems to be a retractable slot to hide its head in. The dome appears to be extremely thick near the front, and will likely be able to resist a lot of trauma. Despite the enormous size it has grown to, it is not that much slower than it used to be.

    After two hours of doing relatively nothing but staring, the queen began to produce an unusually large amount of resin and weeds, quickly shaping up a large nest that it then hid behind. It then proceeded to smash out all the lights, leaving us with very little to see with our cameras. When we looked through the back cameras, we had discovered that it had grown a large ovipositor, and was releasing large eggs onto the ground. This had us all in agreement that this stage of the life cycle was the queen.

    Over the next few hours, the eggs grew to their full sizes, and we provided the subject with new monkey hosts. When they approached the eggs, they opened to release more facehuggers. It seems that we have observed the full cycle of reproduction for this species. We can expect more larvae in the next few hours." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_adult - name = "Adult Xenomorph Physiology & Behavior Observation" - default_raw_text = "Researcher: Dr. Sakuma Sano
    Date: 03/06/2554

    Report:
    The other scientists and I can hardly believe our eyes. The snake-like larva has molted into a 7 foot tall insectoid nightmare in just a few hours. It's obvious now as to why such heavy duty containment was needed. It immediately tried to escape however by flinging itself at the window in a flurry of swipes and stabs. It seems its behavior has returned to a state that is very similar to the facehugger, though I doubt with the same intent! Thankfully, our glass and shields have shown to be more than sturdy enough for such a violent creature, and so far, any attempts at the creature escaping have been in vain.

    As for its physiology, the creature has an elongated head with what appears to be have an exoskeleton resembling an external rib-cage on the torso. The alien is also fairly skinny with a lean body. The little amount of meat on the alien appears to be entirely muscle. We assume this makes it deceptively strong, while remaining agile at the same time. One of the most interesting things we have seen is its pharyngeal jaw. It has some what of an inner mouth capable of being fired externally at extremely high speeds. It has already caused many dents in the walls and a few small cracks in the window with it. The alien also has a couple of dorsal tubes on its back, their purpose unknown. Finally, this monster sports a long ridged tail, complete with a large and extremely sharp blade at the tip.

    Normally I would be absolutely terrified of something like this, but I'm putting my trust in Nanotrasen with the containment. After all, they wouldn't build a cell that could fail to contain its subject, would they?" - -/obj/item/paper/fluff/awaymissions/moonoutpost19/research/larva_psych - name = "Larva Xenomorph Physiology & Behavior Observation" - default_raw_text = "Researcher: Dr. Sakuma Sano
    Date: 03/06/2554

    Report:
    When the larva first emerged from the chest of the monkey, it seemed very curious. It would wander around aimlessly for awhile and then sit still. We are unable to determine the gender of the larva, or even determine if it has a gender. After some time had passed, it seemed to lose interest in its surroundings and sat mostly still while occasionally wagging its tail. We decided to throw in a live mouse to see if it would consume it. The larva quickly attacked and ate the mouse and seemed to get larger very suddenly, this suggests that the larvae are capable of metabolizing and directing all the energy towards growth at previously thought impossible speeds. It is a shame that we cannot observe the process more closely, as we do not currently know how dangerous or violent this creature is or will become as it matures fully.

    It is tempting to imagine the possibilities of utilizing such a mechanism. The capability of skipping years of growth time for children, repairing bodily damage in a matter of moments, even its usage in existing cloning technology." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/research/facehugger - name = "'Facehugger' Xenomorph Physiology & Behavior Observation" - default_raw_text = "Researcher: Dr. Sakuma Sano
    Date: 03/06/2554

    Report:
    The test subject we were provided with truly is alien. It is a small spider-like creature with bony legs leading to a smooth body. It has a long tail connected to it, and it has shown extremely aggressive behavior by flinging its entire body at the glass and shields to no avail. While doing so, we noticed there was a small pink hole in the middle of the body.

    When we sent in a monkey through the crude but effective disposal tube, the alien immediately jumped at its face and latched on. The monkey was quickly suffocated by its constricting tail, unable to pry off the fingers. The monkey at first seemed to be dead, but was observed to be breathing. The recently named alien 'facehugger' fell off dead and curled its legs up like a spider moments after it had finished with the monkey's body.

    While the monkey appeared to be unharmed, we kept it in the cell for a couple more hours until we were horrified to discover it screaming out in pain as a snake-like creature erupted from the monkey's chest! It appears that the 'facehugger' is only the start of this life cycle. The impregnation cycle involving the creatures growing inside the chests of their hosts seems to only be the beginning." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_hivemind - name = "The Hivemind Hypothesis" - default_raw_text = "Researcher: Dr. Mark Douglas
    Date: 17/06/2554

    Report:
    Earlier today we have observed a new phenomenon with our subjects. While feeding them our last monkey subject and throwing out the box, the aliens merely looked at us instead of infecting the monkey right away. They looked to be collectively distressed as they would no longer be given hosts, where instead we would move to the next phase of the experiment. When I glanced at the gas tanks and piping leading to their cell, I looked back to see all of them were up against the glass, even the queen! It was as if they all understood what was going to happen, even though we knew only the queen had the cognitive capability to do so.

    The only explanation for this is a form of communication between the aliens, but we have seen no such action take place anywhere in the cell until now. We also know that regular drone and hunter xenomorphs have no personality or instinct to survive by themselves. Perhaps the queen has a direct link to them? A form of a commander or overseer that controls their every move? A hivemind?" - -/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_behavior - name = "\improper A Preliminary Study of Alien Behavior" - default_raw_text = "Researcher: Dr. Sakuma Sano
    Date: 08/06/2554

    Report:
    The xenomorphs we have come to study here are a remarkable species. They are almost universally aggressive across all castes, showing no remorse or guilt or pause before or after acts of violence. They appear to be a species entirely designed to kill. Oddly enough, even their method of reproduction is a brutal two-for-one method of birthing a new xenomorph and killing its host.

    The lone xenomorph we studied only five days ago showed little sign of intelligence. Only a simple drone that flung itself at the safety glass and shields repeatedly and thankfully without success. Once the drone molted into a queen, it became much more calm and calculating, merely looking at us and waiting while building its nest. As the hive grew in size and in numbers, so too did the intelligence of the common hunter and drone. We are still researching how they can communicate with one another and the relationship between the different castes and the queen. We will continue to update our research as we learn more about the species." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/research/xeno_castes - name = "The Xenomorph 'Castes'" - default_raw_text = "Researcher: Dr. Mark Douglas
    Date: 06/06/2554

    Report:
    While observing the growing number of aliens in the containment cell, we began to notice subtle differences that were consistently repeating. Like ants, these creatures clearly have different specialized variations that determine their roles in the hive. We have dubbed the three currently observed castes as Hunters, Drones, and Sentinels.

    Hunters have been observed to be by far the most aggressive and agile of the three, constantly running on every surface and frequently swiping at the windows. They are also remarkably good at camouflaging themselves in darkness and on their resin structures, appearing almost invisible to the unwary observer. They are always the first to reach the monkeys we send in leading us to believe that this caste is primarily used for finding and retrieving hosts.

    Drones on the other hand are much more docile and seem more shy by comparison, though not any less aggressive than the other castes. They have been observed to have a much wider head and lack dorsal tubes. They have shown to be less agile and visibly more fragile than any other caste. The drone however has never been observed to interact with the monkeys directly and instead preferring maintenance of the hive by building walls of resin and moving eggs around the nest. As far as we know, we have only ever observed a drone become a queen, and we have no way of knowing if the other castes have that capability.

    Lastly, we have the Sentinels, which appear at first glance to be the guards of the hive. They have so far been only observed to remain near the queen and the eggs, frequently curled up against the walls. We have only observed one instance where they have interacted with a monkey who strayed too closely to the queen, and was pounced and held down immediately until it was applied with a facehugger. Their lack of movement makes it difficult to determine their exact purpose as guards, sentries, or other role." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/research/larva_autopsy - name = "Larva Xenomorph Autopsy Report" - default_raw_text = "Researcher: Dr. Mark Douglas
    Date: 04/06/2554

    Report:
    After an extremely dangerous, time consuming and costly dissection, we have managed to record and identify several of the organs inside of the first stage of the xenomorph cycle: the larva. This procedure took an extensive amount of time because these creatures have incredibly, almost-comically acidic blood that can melt through almost anything in a few moments. We had to use over a dozen scalpels and retractors to complete the autopsy.

    The larva seems to possess far fewer and quite different organs than that of a human. There is a stomach, with no digestive tract, a heart, which seems to lack any blood-oxygen circulation purpose, and an elongated brain, even though its as dumb as any large cat. It also lacks any liver, kidneys, or other basic organs.

    We can't determine the exact nature of how these creatures grow, nor if they gain organs as they become adults. The larger breeds of xenomorph are too dangerous to kill and capture to give us an accurate answer to these questions. All that we can conclude is that being able to function with so little and yet be so deadly means that these creatures are highly evolved and likely to be extremely durable to various hazards that would otherwise be lethal to humans." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/research/evacuation - name = "Evacuation Procedure" - default_raw_text = "

    In The Event of Xenobiology Breach: Evacuate staff, Lock down Xenobiology, Notify on-site superiors and/or Central Command immediately.



    Current Xenobiology Containment Level:Secure RUN

    " - -/obj/item/paper/fluff/awaymissions/moonoutpost19/log/personal - name = "Personal Log" - default_raw_text = "Log 1:
    We got our promised supply drop today. We were only meant to get it, what, a week ago? This bloody gateway keeps desyncing itself, and that means subsisting off recycled water and carb packs. No clue where the damn thing connects to on its off days, and HQ say we are 'not to touch it if it isn't linking to command.' We dumped off the assload of crates Jim filled, got our boxes of oxygen, food and drink, and closed the portal.

    Log 2:
    Damn thing is acting up again. Three days no contact this time. I thought I heard clanking noises from it yesterday. Jim is going on about the NT base or some shit. We've been over this before - They don't know we're here, that engineer was too drunk to recognize his suit, especially since I had it painted orange. He's starting to get annoying. We're safe.

    Log 3:
    Gateway synced itself up automatically today. I opened it for an instant to spy through it, got a glimpse of the inside of a transport container. Either HQ's redecorating or something, or there's more than two of these things." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/log/personal_2 - name = "Personal Log" - default_raw_text = "Log 1:
    While mining today I noticed the NT station was finished with its renovations. They placed some huge reinforced tumor on the station, looks so ugly. I wouldn't be surprised if those pigs decided to turn that little astronomy outpost into a prison with that thing, it'd be pretty typical of them.

    Log 2:
    Really dumb of me but I just waved at an engineer in the outpost, and he waved back. I hope to god he was too dumb or drunk to recognize the suit, because if he isn't then we might have to pull out before they come looking for us.

    Log 3:
    That huge reinforced tumor in their science section has been making a lot of noise lately. I've been hearing some banging and scratching from the other side and I'm kind of glad now that they reinforced this thing so much. I'll be sleeping with my gun under my pillow from now on." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/engineering - name = "Engineering Instructions" - default_raw_text = "Alright, listen up. If you're reading this, I'm either taking a shit or I've been recalled back to Command. Either way, you'll need to know how to restore power. We've stolen this stuff from Nanotrasen, so all the equipment is jury-rigged. We have generators that work on both plasma and uranium, about 50 sheets should power the outpost for quite a while. If the generators aren't working, which is very likely, take the power cell on the desk and put it into the APC in the hallway. That should get the place running, at least for a little while." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/log/kenneth - name = "Personal Log - Kenneth Cunningham" - default_raw_text = "Entry One - 27/05/2554:
    I just arrived, and already I hate my job. I'm stuck on this shithole of an outpost, trying to avoid these damn eggheads running all over the place preparing for god knows what. There's no crimes to stop, no syndies to kill, and I'm not even allowed to beat the fuckin' assistant senseless! They said I was transferred from Space Station 13 for 'good behavior', but this feels more like a punishment than a reward. All I know is that if I don't get some action soon, I'm going to go insane.

    Entry Two - 03/06/2554:
    Okay, so get this: we got a fuckin' deathsquad coming in today! I thought the day I saw one of them would be the day my employment was 'terminated', if you get my drift. They're escorting some sort of weird alien creature for the eggheads to study. I heard one of the docs telling the chef that this thing killed a whole security force before it was captured. I sure as hell hope that I don't have to fight it.

    Entry Three - 08/06/2554:
    My first real bit of 'action' today, if you could call it that. Crazy Ivan got in a fight with Kuester today about his Booze-O-Mat. Apparently one of the crewmembers had stolen a couple bottles of booze from the machine after Ivan disabled the ID lock. Tell you the truth, I don't blame the thief. Everyone is going a little stir-crazy in here, and the bartender is being damn stingy with the alcohol. Either way, once they started to pick a fight, I had to take them down. It's a damn shame that we don't have a brig, though. I had to lock Ivan in a fuckin' freezer, for god's sake. Let's hope that we can keep our sanity together, at least for a while.

    Entry Four - 10/06/2554:
    Jesus fucking Christ riding on a motorbike. These things the scientists are studying are terrifying! Fucking great huge purple bug things as tall as the ceiling, with blades for arms and drooling at the mouth. I don't think my taser will do jack shit against these damn things, but the eggheads say that they're safely contained. If they do, I have a feeling that it's only a matter of time before we're all screwed. These bastards look like walking death.

    Entry Five - 18/06/2554:
    Finally caught who stole the booze from Kuester. It was that fuckin' loser assistant Steve! He was in the dorms, chugging his worries away. I took one of the bottles back to the barkeep, but no one has to know about this second one. I think I'm gonna enjoy this while watching tomorrow's Thunderdome match.

    Entry Six - 19/06/2554:
    Oh, great. The chef is still sleeping, so we get Ivan's gruel for breakfast today. I overheard Sano and Douglas saying something about the aliens being restless, so we might get some action today. As long as it happens after the big game, I'm fine with it. I still got one beer to drink before I'm ready to die." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/log/ivan - name = "Personal Log - Ivan Volodin" - default_raw_text = "Ivan Volodin Stories:

    Entry Won - 28/05/2554:
    Hello. I am Crazy Ivan. Boss say I must write. I do good job fixing outpost. Is very good job. Much better than mines. Many nice people. I cause no trouble.

    Entry Too - 05/06/2554:
    I am finding problem with Booze-O-Mat. Is not problem. I solve very easy. Use yellow tool to make purple light go off. I am good engineer! Bartender will be very happy.

    Entry Tree - 08/06/2554:
    Bartender is not happy. Security man is not happy. Cannot feel legs, is very cold in freezer. Is not good. Table is jammed into door, have no tools. Is very not good. But, on bright side, found meat! Shall chew to keep spirits up.

    Entry Fore - 12/06/2554:
    Big nasty purple bug looked at me today. Make nervous. Blue wall wire can be broken, then bad thing happens. Very very bad thing. Man in orange spacesuit wave at me today too. He seem nice. Wonder who was?

    Entry Fiv - 15/06/2554:
    I eat cornflakes today. Is good day. Sun shine for a while. Was nice. I also take ride on disposals chute. Was fun, but tiny. Get clog out of pipes, was vodka bottle. Is empty. This make many sads.

    Entry Sex: 19/06/2554:
    Purple bugs jumpy today. When waved, get hiss. Maybe very bad. Maybe just ill. Do not know. Is science problem, is not engineer problem. I eat sandwich. Is glorious job. Wish to never end." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/log/gerald - name = "Personal Log - Gerald Rosswell" - default_raw_text = "Personal Log for Research Director Gerald Rosswell

    Entry One - 17/05/2554:
    You know, I can't believe I took this position so suddenly. I saw that corporate needed a research director for one of it's outposts and thought it would be a cakewalk, there isn't going to be a lot of research to be done on a tiny outpost. Mainly just running scans on the gas giant we are orbiting or some basic RnD. However, they conveniently forgot to tell me that me and my science staff would have to pull double duty as medical staff and that there is no one higher up on the chain of command here, so I get to pull triple duty as acting captain as well! This shit is probably allowed in some 3 point fine print buried underneath the literally thousands of pages of contracts. Well, at least the research will be easy work.

    Entry Two - 25/05/2554:
    Well, we all expected it at the outpost, CentCom has decided to completely change what research we are doing. They've decided that we should be research the species known as 'xenomporphs'. They announced this change 4 days ago and along with it, sadly, the termination of our current science staff barring me. Not to mention the constant noise made by the construction detail they sent to staple on an xenobiology lab ensuring no one has been able to sleep decently ever since they announced the shift. To make matters worse our current security guard actually died of a heart attack today. Just goes to show that 75 year old men shouldn't be security guards. Still can't believe that they decided to do this major change less than a month after the outpost was established.

    Entry Three - 27/05/2554:
    The new security guard arrived today. Apparently transferred here from the research station that also is orbiting the gas giant. He seems to be rather angry about his transfer. Considering the rumors I've heard about the research station he's probably caught off guard by the fact that Steve hasn't tried to force an IED down his throat.

    Entry Four - 06/06/2554:
    My requests for additional security and containment measures for the 'xenomorph' has been denied. Does Central Command not notice how dangerous these creatures are? The only thing keeping them in is a force field, a minor problem with the power grid and the entire hive is loose. What would stop them then, the lone security guard with a dinky little taser? Kenneth can barely handle a short-tempered engineer. We are under equipped and under staffed, we are inevitably going to be destroyed unless we get the equipment and staff we need.

    Entry Five - 10/06/2554:
    Cunningham got a good look at the xenomorph in containment. He was frightened for the rest of the day, rather amusing if it wasn't for the fact that we are all trapped on this scrap heap with naught but a force field keeping those xenomorphs in.

    Entry Six - 17/06/2554:
    The reactions from the specimens today has shown that they possess strange mental properties. Mark hypothesizes that they possibly have a sort of hive mind, while nothing is certain this would explain how xenomorphs seem to have vastly increased intellect when a 'queen' is present. Of course, to test this hypothesis would require many complicated procedures which we will not be able to undertake. But we do not know the full extend of the xenomorph mind, it may or may not be able to find a way to circumvent our containment system. I will resend my request for additional security measures along with this new found information." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/food_specials - name = "Specials This Week" - default_raw_text = "

    I Can't Believe It's Not Pasta: Half off on Wednesdays



    Burger night every Friday 6PM-10PM, free drinks with purchase of meal!



    Premiering Tonight: The comedy stylings of Shoe Snatching Willy! 11AM-7PM

    " - -/obj/item/paper/fluff/awaymissions/moonoutpost19/welcome - name = "Welcome Notice" - default_raw_text = "

    Welcome to Moon Outpost 19! Property of Nanotrasen Inc.




    Staff Roster:
    -Dr. Gerald Rosswell: Research Director & Acting Captain
    -Dr. Sakuma Sano: Xenobiologist
    -Dr. Mark Douglas: Xenobiologist
    -Kenneth Cunningham: Security Officer-Ivan Volodin: Engineer
    -Mathias Kuester: Bartender
    -Sven Edling: Chef
    -Steve: Assistant

    Please enjoy your stay, and report any abnormalities to an officer." - -/obj/item/paper/fluff/awaymissions/moonoutpost19/goodbye_note - name = "Note" - default_raw_text = "Bugs break out. I run to here and lock door. I hear door next to me break open and screams. All nice people here dead now. I no want to be eaten, and bottle always said to be coward way out, but person who say that is stupid. Mira, there is no escape for me, tell Alexis and Elena that father will never come home, and that I love you all." - - diff --git a/code/modules/cargo/bounties/slime.dm b/code/modules/cargo/bounties/slime.dm deleted file mode 100644 index 4aa0797c7002..000000000000 --- a/code/modules/cargo/bounties/slime.dm +++ /dev/null @@ -1,39 +0,0 @@ -/datum/bounty/item/slime - reward = 3000 - -/datum/bounty/item/slime/New() - ..() - description = "Nanotrasen's science lead is hunting for the rare and exotic [name]. A bounty has been offered for finding it." - reward += rand(0, 4) * 500 - -/datum/bounty/item/slime/green - name = "Green Slime Extract" - wanted_types = list(/obj/item/slime_extract/green) - -/datum/bounty/item/slime/pink - name = "Pink Slime Extract" - wanted_types = list(/obj/item/slime_extract/pink) - -/datum/bounty/item/slime/gold - name = "Gold Slime Extract" - wanted_types = list(/obj/item/slime_extract/gold) - -/datum/bounty/item/slime/oil - name = "Oil Slime Extract" - wanted_types = list(/obj/item/slime_extract/oil) - -/datum/bounty/item/slime/black - name = "Black Slime Extract" - wanted_types = list(/obj/item/slime_extract/black) - -/datum/bounty/item/slime/lightpink - name = "Light Pink Slime Extract" - wanted_types = list(/obj/item/slime_extract/lightpink) - -/datum/bounty/item/slime/adamantine - name = "Adamantine Slime Extract" - wanted_types = list(/obj/item/slime_extract/adamantine) - -/datum/bounty/item/slime/rainbow - name = "Rainbow Slime Extract" - wanted_types = list(/obj/item/slime_extract/rainbow) diff --git a/code/modules/cargo/bounty.dm b/code/modules/cargo/bounty.dm index 3807e9bd6984..96d5218e551e 100644 --- a/code/modules/cargo/bounty.dm +++ b/code/modules/cargo/bounty.dm @@ -75,7 +75,7 @@ GLOBAL_LIST_EMPTY(bounties_list) // Returns a new bounty of random type, but does not add it to GLOB.bounties_list. /proc/random_bounty() - switch(rand(1, 13)) + switch(rand(1, 12)) if(1) var/subtype = pick(subtypesof(/datum/bounty/item/assistant)) return new subtype @@ -103,18 +103,15 @@ GLOBAL_LIST_EMPTY(bounties_list) var/subtype = pick(subtypesof(/datum/bounty/item/science)) return new subtype if(9) - var/subtype = pick(subtypesof(/datum/bounty/item/slime)) - return new subtype - if(10) var/subtype = pick(subtypesof(/datum/bounty/item/engineering)) return new subtype - if(11) + if(10) var/subtype = pick(subtypesof(/datum/bounty/item/mining)) return new subtype - if(12) + if(11) var/subtype = pick(subtypesof(/datum/bounty/item/medical)) return new subtype - if(13) + if(12) var/subtype = pick(subtypesof(/datum/bounty/item/botany)) return new subtype @@ -153,10 +150,7 @@ GLOBAL_LIST_EMPTY(bounties_list) /********************************Dynamic Gens********************************/ for(var/i in 0 to 1) - if(prob(50)) - pick = pick(subtypesof(/datum/bounty/item/slime)) - else - pick = pick(subtypesof(/datum/bounty/item/science)) + pick = pick(subtypesof(/datum/bounty/item/science)) try_add_bounty(new pick) /********************************Cutoff for Non-Low Priority Bounties********************************/ diff --git a/code/modules/clothing/outfits/factions/minutemen.dm b/code/modules/clothing/outfits/factions/minutemen.dm index 36530b20754b..4507d46ea958 100644 --- a/code/modules/clothing/outfits/factions/minutemen.dm +++ b/code/modules/clothing/outfits/factions/minutemen.dm @@ -601,7 +601,7 @@ belt = /obj/item/storage/belt/military/clip/gunner suit_store = /obj/item/gun/ballistic/automatic/hmg/cm40 - backpack_contents = list(/obj/item/clothing/mask/gas/clip=1, /obj/item/reagent_containers/food/snacks/rationpack=1) + backpack_contents = list(/obj/item/clothing/mask/gas/clip=1, /obj/item/storage/ration/shredded_beef=1) ///lead, i guess you could reuse this for "Brig Officer" @@ -629,7 +629,7 @@ suit_store = /obj/item/gun/ballistic/automatic/assault/cm82 belt = /obj/item/storage/belt/military/clip/cm82 - backpack_contents = list(/obj/item/clothing/mask/gas/clip=1, /obj/item/reagent_containers/food/snacks/rationpack=1, /obj/item/gun/ballistic/automatic/pistol/cm23=1) + backpack_contents = list(/obj/item/clothing/mask/gas/clip=1, /obj/item/storage/ration/shredded_beef=1, /obj/item/gun/ballistic/automatic/pistol/cm23=1) /datum/outfit/job/clip/minutemen/grunt/commander name = "CLIP Minutemen - Field Commander" diff --git a/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm b/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm deleted file mode 100644 index 79382343e1ae..000000000000 --- a/code/modules/food_and_drinks/kitchen_machinery/monkeyrecycler.dm +++ /dev/null @@ -1,103 +0,0 @@ -GLOBAL_LIST_EMPTY(monkey_recyclers) - -/obj/machinery/monkey_recycler - name = "monkey recycler" - desc = "A machine used for recycling dead monkeys into monkey cubes." - icon = 'icons/obj/kitchen.dmi' - icon_state = "grinder" - layer = BELOW_OBJ_LAYER - density = TRUE - use_power = IDLE_POWER_USE - idle_power_usage = IDLE_DRAW_MINIMAL - active_power_usage = ACTIVE_DRAW_MEDIUM - circuit = /obj/item/circuitboard/machine/monkey_recycler - var/stored_matter = 0 - var/cube_production = 0.2 - var/list/connected = list() //Keeps track of connected xenobio consoles, for deletion in /Destroy() - -/obj/machinery/monkey_recycler/Initialize(mapload) - . = ..() - if (mapload) - GLOB.monkey_recyclers += src - -/obj/machinery/monkey_recycler/Destroy() - GLOB.monkey_recyclers -= src - for(var/thing in connected) - var/obj/machinery/computer/camera_advanced/xenobio/console = thing - console.connected_recycler = null - connected.Cut() - return ..() - -/obj/machinery/monkey_recycler/RefreshParts() //Ranges from 0.2 to 0.8 per monkey recycled - cube_production = 0 - for(var/obj/item/stock_parts/manipulator/B in component_parts) - cube_production += B.rating * 0.1 - for(var/obj/item/stock_parts/matter_bin/M in component_parts) - cube_production += M.rating * 0.1 - -/obj/machinery/monkey_recycler/examine(mob/user) - . = ..() - if(in_range(user, src) || isobserver(user)) - . += "The status display reads: Producing [cube_production] cubes for every monkey inserted." - -/obj/machinery/monkey_recycler/attackby(obj/item/O, mob/user, params) - if(default_deconstruction_screwdriver(user, "grinder_open", "grinder", O)) - return - - if(default_pry_open(O)) - return - - if(default_unfasten_wrench(user, O)) - power_change() - return - - if(default_deconstruction_crowbar(O)) - return - - if(machine_stat) //NOPOWER etc - return - else - return ..() - -/obj/machinery/monkey_recycler/MouseDrop_T(mob/living/target, mob/living/user) - if(!istype(target)) - return - if(ismonkey(target)) - stuff_monkey_in(target, user) - -/obj/machinery/monkey_recycler/proc/stuff_monkey_in(mob/living/carbon/monkey/target, mob/living/user) - if(!istype(target)) - return - if(target.stat == CONSCIOUS) - to_chat(user, "The monkey is struggling far too much to put it in the recycler.") - return - if(target.buckled || target.has_buckled_mobs()) - to_chat(user, "The monkey is attached to something.") - return - qdel(target) - to_chat(user, "You stuff the monkey into the machine.") - playsound(src.loc, 'sound/machines/juicer.ogg', 50, TRUE) - var/offset = prob(50) ? -2 : 2 - animate(src, pixel_x = pixel_x + offset, time = 0.2, loop = 200) //start shaking - use_power(500) - stored_matter += cube_production - addtimer(VARSET_CALLBACK(src, pixel_x, base_pixel_x)) - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), user, "The machine now has [stored_matter] monkey\s worth of material stored.")) - -/obj/machinery/monkey_recycler/interact(mob/user) - if(stored_matter >= 1) - to_chat(user, "The machine hisses loudly as it condenses the ground monkey meat. After a moment, it dispenses a brand new monkey cube.") - playsound(src.loc, 'sound/machines/hiss.ogg', 50, TRUE) - for(var/i in 1 to FLOOR(stored_matter, 1)) - new /obj/item/reagent_containers/food/snacks/monkeycube(src.loc) - stored_matter-- - to_chat(user, "The machine's display flashes that it has [stored_matter] monkeys worth of material left.") - else - to_chat(user, "The machine needs at least 1 monkey worth of material to produce a monkey cube. It currently has [stored_matter].") - -/obj/machinery/monkey_recycler/multitool_act(mob/living/user, obj/item/multitool/I) - . = ..() - if(istype(I)) - to_chat(user, "You log [src] in the multitool's buffer.") - I.buffer = src - return TRUE diff --git a/code/modules/food_and_drinks/kitchen_machinery/processor.dm b/code/modules/food_and_drinks/kitchen_machinery/processor.dm index ae1507cb2fae..ef3cceed2afc 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/processor.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/processor.dm @@ -37,7 +37,7 @@ qdel(what) /obj/machinery/processor/proc/select_recipe(X) - for (var/type in subtypesof(/datum/food_processor_process) - /datum/food_processor_process/mob) + for (var/type in subtypesof(/datum/food_processor_process)) var/datum/food_processor_process/recipe = new type() if (!istype(X, recipe.input) || !istype(src, recipe.required_machine)) continue @@ -149,62 +149,3 @@ O.forceMove(drop_location()) for (var/mob/M in src) M.forceMove(drop_location()) - -/obj/machinery/processor/slime - name = "slime processor" - desc = "An industrial grinder with a sticker saying appropriated for science department. Keep hands clear of intake area while operating." - -/obj/machinery/processor/slime/Initialize() - . = ..() - // [CELADON-REMOVE] - CELADON_BALANCE - Режем данную механику - // var/obj/item/circuitboard/machine/B = new /obj/item/circuitboard/machine/processor/slime(null) - // B.apply_default_parts(src) - // [/CELADON-REMOVE] - -/obj/machinery/processor/slime/adjust_item_drop_location(atom/movable/AM) - var/static/list/slimecores = subtypesof(/obj/item/slime_extract) - var/i = 0 - if(!(i = slimecores.Find(AM.type))) // If the item is not found - return - if (i <= 16) // If in the first 12 slots - AM.pixel_x = AM.base_pixel_x - 12 + ((i%4)*8) - AM.pixel_y = AM.base_pixel_y - 12 + (round(i/4)*8) - return i - var/ii = i - 16 - AM.pixel_x = AM.base_pixel_x - 12 + ((ii%4)*8) - AM.pixel_y = AM.base_pixel_y - 12 + (round(ii/4)*8) - return i - -/obj/machinery/processor/slime/process() - if(processing) - return - var/mob/living/simple_animal/slime/picked_slime - for(var/mob/living/simple_animal/slime/slime in range(1,src)) - if(slime.loc == src) - continue - if(istype(slime, /mob/living/simple_animal/slime)) - if(slime.stat) - picked_slime = slime - break - if(!picked_slime) - return - var/datum/food_processor_process/P = select_recipe(picked_slime) - if (!P) - return - - visible_message("[picked_slime] is sucked into [src].") - picked_slime.forceMove(src) - -/obj/machinery/processor/slime/process_food(datum/food_processor_process/recipe, atom/movable/what) - var/mob/living/simple_animal/slime/S = what - if (istype(S)) - var/C = S.cores - if(S.stat != DEAD) - S.forceMove(drop_location()) - S.visible_message("[C] crawls free of the processor!") - return - for(var/i in 1 to (C+rating_amount-1)) - var/atom/movable/item = new S.coretype(drop_location()) - adjust_item_drop_location(item) - SSblackbox.record_feedback("tally", "slime_core_harvested", 1, S.colour) - ..() diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm index 6016def705b5..6d9945337f71 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm @@ -382,23 +382,6 @@ return TRUE return FALSE -// ------------------------------------- -// Xenobiology Slime-Extract Smartfridge -// ------------------------------------- -/obj/machinery/smartfridge/extract - name = "smart slime extract storage" - desc = "A refrigerated storage unit for slime extracts." - -/obj/machinery/smartfridge/extract/accept_check(obj/item/O) - if(istype(O, /obj/item/slime_extract)) - return TRUE - if(istype(O, /obj/item/slime_scanner)) - return TRUE - return FALSE - -/obj/machinery/smartfridge/extract/preloaded - initial_contents = list(/obj/item/slime_scanner = 2) - // ------------------------- // Organ Surgery Smartfridge // ------------------------- diff --git a/code/modules/food_and_drinks/recipes/processor_recipes.dm b/code/modules/food_and_drinks/recipes/processor_recipes.dm index c13983c6792d..63ffccdba79c 100644 --- a/code/modules/food_and_drinks/recipes/processor_recipes.dm +++ b/code/modules/food_and_drinks/recipes/processor_recipes.dm @@ -45,11 +45,6 @@ input = /obj/item/reagent_containers/food/snacks/grown/parsnip output = /obj/item/reagent_containers/food/snacks/roastparsnip -/datum/food_processor_process/mob/slime - input = /mob/living/simple_animal/slime - output = null - required_machine = /obj/machinery/processor/slime - /datum/food_processor_process/towercap input = /obj/item/grown/log output = /obj/item/popsicle_stick diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm index 5c9bcc56cc7d..42afb89c4228 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm @@ -150,7 +150,6 @@ /datum/reagent/consumable/sugar = 5, /obj/item/reagent_containers/food/snacks/pie/plain = 1, /obj/item/reagent_containers/food/snacks/chocolatebar = 3, - /obj/item/slime_extract = 1 //The reason you dont know how to make it! ) result = /obj/item/reagent_containers/food/snacks/pie/cocolavatart subcategory = CAT_PIE diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm index cc2a9f176c70..45b62eb3897d 100644 --- a/code/modules/mining/minebot.dm +++ b/code/modules/mining/minebot.dm @@ -303,29 +303,5 @@ M.updatehealth() qdel(src) -//AI - -/obj/item/slimepotion/slime/sentience/mining - name = "minebot AI upgrade" - desc = "Can be used to grant sentience to minebots. It's incompatible with minebot armor and melee upgrades, and will override them." - icon_state = "door_electronics" - icon = 'icons/obj/module.dmi' - sentience_type = SENTIENCE_MINEBOT - custom_price = 1000 - var/base_health_add = 5 //sentient minebots are penalized for beign sentient; they have their stats reset to normal plus these values - var/base_damage_add = 1 //this thus disables other minebot upgrades - var/base_speed_add = 1 - var/base_cooldown_add = 10 //base cooldown isn't reset to normal, it's just added on, since it's not practical to disable the cooldown module - -/obj/item/slimepotion/slime/sentience/mining/after_success(mob/living/user, mob/living/simple_animal/SM) - if(istype(SM, /mob/living/simple_animal/hostile/mining_drone)) - var/mob/living/simple_animal/hostile/mining_drone/M = SM - M.maxHealth = initial(M.maxHealth) + base_health_add - M.melee_damage_lower = initial(M.melee_damage_lower) + base_damage_add - M.melee_damage_upper = initial(M.melee_damage_upper) + base_damage_add - M.move_to_delay = initial(M.move_to_delay) + base_speed_add - if(M.stored_gun) - M.stored_gun.overheat_time += base_cooldown_add - #undef MINEDRONE_COLLECT #undef MINEDRONE_ATTACK diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index c9cdcaf8199c..1db46a4d5415 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -35,7 +35,6 @@ initial_language_holder = /datum/language_holder/alien flags_1 = PREVENT_CONTENTS_EXPLOSION_1 footstep_type = FOOTSTEP_MOB_CLAW - gold_core_spawnable = NO_SPAWN pass_flags = PASSTABLE | PASSGRILLE | PASSMOB mob_size = MOB_SIZE_TINY environment_smash = ENVIRONMENT_SMASH_NONE diff --git a/code/modules/mob/living/carbon/human/species_types/IPC.dm b/code/modules/mob/living/carbon/human/species_types/IPC.dm index 59e12cebd5c1..3ea8d8a9174b 100644 --- a/code/modules/mob/living/carbon/human/species_types/IPC.dm +++ b/code/modules/mob/living/carbon/human/species_types/IPC.dm @@ -35,7 +35,7 @@ attack_sound = 'sound/items/trayhit1.ogg' deathsound = "sound/voice/borg_deathsound.ogg" wings_icons = list("Robotic") - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP species_language_holder = /datum/language_holder/ipc loreblurb = "Integrated Positronic Chassis or \"IPC\" for short, are synthetic lifeforms composed of an Artificial \ Intelligence program encased in a bipedal robotic shell. They are fragile, allergic to EMPs, and the butt of endless toaster jokes. \ diff --git a/code/modules/mob/living/carbon/human/species_types/abductors.dm b/code/modules/mob/living/carbon/human/species_types/abductors.dm index 41bc6721755f..229bdcb21c2f 100644 --- a/code/modules/mob/living/carbon/human/species_types/abductors.dm +++ b/code/modules/mob/living/carbon/human/species_types/abductors.dm @@ -5,7 +5,7 @@ species_traits = list(NOBLOOD,NOEYESPRITES,NO_BONES) inherent_traits = list(TRAIT_VIRUSIMMUNE,TRAIT_CHUNKYFINGERS,TRAIT_NOHUNGER,TRAIT_NOBREATH) mutanttongue = /obj/item/organ/tongue/abductor - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN ass_image = 'icons/ass/assgrey.png' species_chest = /obj/item/bodypart/chest/abductor diff --git a/code/modules/mob/living/carbon/human/species_types/android.dm b/code/modules/mob/living/carbon/human/species_types/android.dm index 623041674516..6bb5956ae0ab 100644 --- a/code/modules/mob/living/carbon/human/species_types/android.dm +++ b/code/modules/mob/living/carbon/human/species_types/android.dm @@ -11,7 +11,7 @@ reagent_tag = PROCESS_SYNTHETIC species_gibs = "robotic" attack_sound = 'sound/items/trayhit1.ogg' - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN /datum/species/android/on_species_gain(mob/living/carbon/C) . = ..() diff --git a/code/modules/mob/living/carbon/human/species_types/ethereal.dm b/code/modules/mob/living/carbon/human/species_types/ethereal.dm index 5660040212c0..784bf6e8e9fe 100644 --- a/code/modules/mob/living/carbon/human/species_types/ethereal.dm +++ b/code/modules/mob/living/carbon/human/species_types/ethereal.dm @@ -24,7 +24,7 @@ damage_overlay_type = "" //We are too cool for regular damage overlays species_age_max = 300 species_traits = list(DYNCOLORS, EYECOLOR, HAIR, FACEHAIR) - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN species_language_holder = /datum/language_holder/ethereal inherent_traits = list(TRAIT_NOHUNGER) sexes = FALSE //no fetish content allowed diff --git a/code/modules/mob/living/carbon/human/species_types/flypeople.dm b/code/modules/mob/living/carbon/human/species_types/flypeople.dm index f5de9f873b3b..7cf8d8ee3e45 100644 --- a/code/modules/mob/living/carbon/human/species_types/flypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/flypeople.dm @@ -9,7 +9,7 @@ meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/fly disliked_food = null liked_food = GORE | RAW // Sure, the raw... the bloody... but I think stuff GROSS, like baseball burgers, are liked - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN species_language_holder = /datum/language_holder/fly species_chest = /obj/item/bodypart/chest/fly diff --git a/code/modules/mob/living/carbon/human/species_types/humans.dm b/code/modules/mob/living/carbon/human/species_types/humans.dm index 882fffc9ff41..b45ec4b05f3e 100644 --- a/code/modules/mob/living/carbon/human/species_types/humans.dm +++ b/code/modules/mob/living/carbon/human/species_types/humans.dm @@ -9,7 +9,7 @@ skinned_type = /obj/item/stack/sheet/animalhide/human disliked_food = GROSS | RAW | CLOTH liked_food = JUNKFOOD | FRIED | SUGAR - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP loreblurb = "Mostly hairless mammalians. Their home system, Sol, lies in a sort of \"bluespace dead-zone\" that blocks anything from entering or exiting Sol's dead-zone through bluespace without a relay. While it leaves Sol extremely well-defended, it meant that they went unnoticed and uncontacted until they were themselves able to breach it." /datum/species/human/on_species_gain(mob/living/carbon/C, datum/species/old_species, pref_load) diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index 14526059354d..bd937acaa09f 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -20,7 +20,7 @@ coldmod = 6 // = 3x cold damage heatmod = 0.5 // = 1/4x heat damage burnmod = 0.5 // = 1/2x generic burn damage - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN inherent_factions = list("slime") species_language_holder = /datum/language_holder/jelly ass_image = 'icons/ass/assslime.png' @@ -222,7 +222,7 @@ species_traits = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,NOBLOOD) hair_color = "mutcolor" hair_alpha = 150 - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | RACE_SWAP | ERT_SPAWN var/datum/action/innate/split_body/slime_split var/list/mob/living/carbon/bodies var/datum/action/innate/swap_body/swap_body @@ -517,50 +517,22 @@ id = SPECIES_LUMINESCENT var/glow_intensity = LUMINESCENT_DEFAULT_GLOW var/obj/effect/dummy/luminescent_glow/glow - var/obj/item/slime_extract/current_extract - var/datum/action/innate/integrate_extract/integrate_extract - var/datum/action/innate/use_extract/extract_minor - var/datum/action/innate/use_extract/major/extract_major - var/extract_cooldown = 0 - examine_limb_id = SPECIES_JELLYPERSON //Species datums don't normally implement destroy, but JELLIES SUCK ASS OUT OF A STEEL STRAW /datum/species/jelly/luminescent/Destroy(force, ...) - current_extract = null QDEL_NULL(glow) - QDEL_NULL(integrate_extract) - QDEL_NULL(extract_major) - QDEL_NULL(extract_minor) return ..() /datum/species/jelly/luminescent/on_species_loss(mob/living/carbon/C) ..() - if(current_extract) - current_extract.forceMove(C.drop_location()) - current_extract = null QDEL_NULL(glow) - QDEL_NULL(integrate_extract) - QDEL_NULL(extract_major) - QDEL_NULL(extract_minor) /datum/species/jelly/luminescent/on_species_gain(mob/living/carbon/C, datum/species/old_species) ..() glow = new(C) update_glow(C) - integrate_extract = new(src) - integrate_extract.Grant(C) - extract_minor = new(src) - extract_minor.Grant(C) - extract_major = new(src) - extract_major.Grant(C) - -/datum/species/jelly/luminescent/proc/update_slime_actions() - integrate_extract.update_name() - integrate_extract.UpdateButtonIcon() - extract_minor.UpdateButtonIcon() - extract_major.UpdateButtonIcon() /datum/species/jelly/luminescent/proc/update_glow(mob/living/carbon/C, intensity) if(intensity) @@ -581,108 +553,6 @@ if(!isliving(loc)) return INITIALIZE_HINT_QDEL - -/datum/action/innate/integrate_extract - name = "Integrate Extract" - desc = "Eat a slime extract to use its properties." - check_flags = AB_CHECK_CONSCIOUS - button_icon_state = "slimeconsume" - icon_icon = 'icons/mob/actions/actions_slime.dmi' - background_icon_state = "bg_alien" - -/datum/action/innate/integrate_extract/proc/update_name() - var/datum/species/jelly/luminescent/species = target - if(!species || !species.current_extract) - name = "Integrate Extract" - desc = "Eat a slime extract to use its properties." - else - name = "Eject Extract" - desc = "Eject your current slime extract." - -/datum/action/innate/integrate_extract/UpdateButtonIcon(status_only, force) - var/datum/species/jelly/luminescent/species = target - if(!species || !species.current_extract) - button_icon_state = "slimeconsume" - else - button_icon_state = "slimeeject" - ..() - -/datum/action/innate/integrate_extract/ApplyIcon(atom/movable/screen/movable/action_button/current_button, force) - ..(current_button, TRUE) - var/datum/species/jelly/luminescent/species = target - if(species?.current_extract) - current_button.add_overlay(mutable_appearance(species.current_extract.icon, species.current_extract.icon_state)) - -/datum/action/innate/integrate_extract/Activate() - var/mob/living/carbon/human/H = owner - var/datum/species/jelly/luminescent/species = target - if(!is_species(H, /datum/species/jelly/luminescent) || !species) - return - CHECK_DNA_AND_SPECIES(H) - - if(species.current_extract) - var/obj/item/slime_extract/S = species.current_extract - if(!H.put_in_active_hand(S)) - S.forceMove(H.drop_location()) - species.current_extract = null - to_chat(H, "You eject [S].") - species.update_slime_actions() - else - var/obj/item/I = H.get_active_held_item() - if(istype(I, /obj/item/slime_extract)) - var/obj/item/slime_extract/S = I - if(!S.Uses) - to_chat(H, "[I] is spent! You cannot integrate it.") - return - if(!H.temporarilyRemoveItemFromInventory(S)) - return - S.forceMove(H) - species.current_extract = S - to_chat(H, "You consume [I], and you feel it pulse within you...") - species.update_slime_actions() - else - to_chat(H, "You need to hold an unused slime extract in your active hand!") - -/datum/action/innate/use_extract - name = "Extract Minor Activation" - desc = "Pulse the slime extract with energized jelly to activate it." - check_flags = AB_CHECK_CONSCIOUS - button_icon_state = "slimeuse1" - icon_icon = 'icons/mob/actions/actions_slime.dmi' - background_icon_state = "bg_alien" - var/activation_type = SLIME_ACTIVATE_MINOR - -/datum/action/innate/use_extract/IsAvailable() - if(..()) - var/datum/species/jelly/luminescent/species = target - if(species && species.current_extract && (world.time > species.extract_cooldown)) - return TRUE - return FALSE - -/datum/action/innate/use_extract/ApplyIcon(atom/movable/screen/movable/action_button/current_button, force) - ..(current_button, TRUE) - var/datum/species/jelly/luminescent/species = owner - if(species?.current_extract) - current_button.add_overlay(mutable_appearance(species.current_extract.icon, species.current_extract.icon_state)) - -/datum/action/innate/use_extract/Activate() - var/mob/living/carbon/human/H = owner - var/datum/species/jelly/luminescent/species = owner - if(!is_species(H, /datum/species/jelly/luminescent) || !species) - return - CHECK_DNA_AND_SPECIES(H) - - if(species.current_extract) - species.extract_cooldown = world.time + 100 - var/cooldown = species.current_extract.activate(H, species, activation_type) - species.extract_cooldown = world.time + cooldown - -/datum/action/innate/use_extract/major - name = "Extract Major Activation" - desc = "Pulse the slime extract with plasma jelly to activate it." - button_icon_state = "slimeuse2" - activation_type = SLIME_ACTIVATE_MAJOR - ///////////////////////////////////STARGAZERS////////////////////////////////////////// //Stargazers are the telepathic branch of jellypeople, able to project psychic messages and to link minds with willing participants. diff --git a/code/modules/mob/living/carbon/human/species_types/kepori.dm b/code/modules/mob/living/carbon/human/species_types/kepori.dm index 39e3cbc3d07a..e4677fbc19f5 100644 --- a/code/modules/mob/living/carbon/human/species_types/kepori.dm +++ b/code/modules/mob/living/carbon/human/species_types/kepori.dm @@ -9,7 +9,7 @@ meat = /obj/item/reagent_containers/food/snacks/meat/slab/chicken disliked_food = FRIED | GROSS | CLOTH liked_food = MEAT | GORE - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP loreblurb = "Kepori are a species covered in feathers vaguely reminiscent of earth’s extinct troodontidae. They’re small and sometimes seen as weak by other species due to their hollow bones but make up for that in speed and reflexes. They tend to woop when excited, scared, or for any other reason at all." attack_verb = "slash" attack_sound = 'sound/weapons/slash.ogg' diff --git a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm index 9d539007df4e..5ee7441e2f54 100644 --- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm @@ -12,7 +12,7 @@ coldmod = 1.5 heatmod = 0.67 default_features = list("mcolor" = "0F0", "tail_lizard" = "Smooth", "face_markings" = "None", "horns" = "None", "frills" = "None", "spines" = "None", "body_markings" = "None", "legs" = "Normal Legs", "body_size" = "Normal") - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN attack_verb = "slash" attack_sound = 'sound/weapons/slash.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' diff --git a/code/modules/mob/living/carbon/human/species_types/mothmen.dm b/code/modules/mob/living/carbon/human/species_types/mothmen.dm index f8495f783e36..10375f424e82 100644 --- a/code/modules/mob/living/carbon/human/species_types/mothmen.dm +++ b/code/modules/mob/living/carbon/human/species_types/mothmen.dm @@ -16,7 +16,7 @@ toxic_food = MEAT | RAW | GORE mutanteyes = /obj/item/organ/eyes/compound //WS Edit - Compound eyes mutanttongue = /obj/item/organ/tongue/moth //WS Edit - Insectoid language - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP species_language_holder = /datum/language_holder/moth loreblurb = "Bug-mammal hybrids resembling Sol's lepidopterans. They share the least DNA with baseline humans of any human-derived geneline, being significant portions insect and modified whole-cloth DNA. Their classification as another human geneline or as something else is highly debated. All evidence that would point to their origin– which is presumably a genelab somewhere– has seemingly disappeared into thin air. Mothpeople themselves have no centralized culture or homeworld, leading to a fractured existence amongst the stars." wings_icons = list("Megamoth", "Mothra") diff --git a/code/modules/mob/living/carbon/human/species_types/podpeople.dm b/code/modules/mob/living/carbon/human/species_types/podpeople.dm index d5ce34ca412f..fe017fdd2a84 100644 --- a/code/modules/mob/living/carbon/human/species_types/podpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/podpeople.dm @@ -18,7 +18,7 @@ meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/plant disliked_food = MEAT | DAIRY liked_food = VEGETABLES | FRUIT | GRAIN | CLOTH //cannibals apparentely - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | RACE_SWAP | ERT_SPAWN species_language_holder = /datum/language_holder/plant species_chest = /obj/item/bodypart/chest/pod diff --git a/code/modules/mob/living/carbon/human/species_types/spider.dm b/code/modules/mob/living/carbon/human/species_types/spider.dm index 764a7166ff2d..1b66c952172d 100644 --- a/code/modules/mob/living/carbon/human/species_types/spider.dm +++ b/code/modules/mob/living/carbon/human/species_types/spider.dm @@ -56,7 +56,7 @@ GLOBAL_LIST_INIT(spider_last, world.file2list("strings/names/spider_last.txt")) toxic_food = VEGETABLES | DAIRY | CLOTH mutanteyes = /obj/item/organ/eyes/night_vision/spider mutanttongue = /obj/item/organ/tongue/spider - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP species_language_holder = /datum/language_holder/spider loreblurb = "Rachnids are aliens with coincidental physiological similarities to Sol's spiders. Despite visible adaptations that would make them excellent hunters, modern Rachnidian culture revolves around honing the skills and talents of oneself, treating them as forms of self-expression. Rachnids tend to focus on their work intensely, priding themselves on a job well done and languishing if they see themselves as underperforming in their field." var/web_cooldown = 30 diff --git a/code/modules/mob/living/carbon/human/species_types/vox.dm b/code/modules/mob/living/carbon/human/species_types/vox.dm index 1a73860ab29f..5c2b91127f27 100644 --- a/code/modules/mob/living/carbon/human/species_types/vox.dm +++ b/code/modules/mob/living/carbon/human/species_types/vox.dm @@ -10,7 +10,7 @@ meat = /obj/item/reagent_containers/food/snacks/meat/slab/chicken disliked_food = GRAIN liked_food = MEAT - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP loreblurb = "Vox are a big bird-like species with quills, much larger and much more long-lasting than other species. Sadly, not much else is known." attack_verb = "slash" attack_sound = 'sound/weapons/slash.ogg' diff --git a/code/modules/mob/living/simple_animal/friendly/butterfly.dm b/code/modules/mob/living/simple_animal/friendly/butterfly.dm index bf4f45e28329..9c6ead823bd5 100644 --- a/code/modules/mob/living/simple_animal/friendly/butterfly.dm +++ b/code/modules/mob/living/simple_animal/friendly/butterfly.dm @@ -23,7 +23,6 @@ ventcrawler = VENTCRAWLER_ALWAYS mob_size = MOB_SIZE_TINY mob_biotypes = MOB_ORGANIC|MOB_BUG - gold_core_spawnable = FRIENDLY_SPAWN verb_say = "flutters" verb_ask = "flutters inquisitively" verb_exclaim = "flutters intensely" diff --git a/code/modules/mob/living/simple_animal/friendly/capybara.dm b/code/modules/mob/living/simple_animal/friendly/capybara.dm index 091bf42993f2..f1366aaa89a4 100644 --- a/code/modules/mob/living/simple_animal/friendly/capybara.dm +++ b/code/modules/mob/living/simple_animal/friendly/capybara.dm @@ -43,7 +43,6 @@ real_name = "Caspar" desc = "It's Caspar, the Capybara Captain, the Capy Cappy." gender = MALE - gold_core_spawnable = NO_SPAWN unique_pet = TRUE var/wear_hat = /obj/item/clothing/head/caphat diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index 33c8bbdb3ed2..396dc82202a9 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -33,7 +33,6 @@ var/mob/living/simple_animal/mouse/movement_target ///Limits how often cats can spam chasing mice. var/emote_cooldown = 0 - gold_core_spawnable = FRIENDLY_SPAWN collar_type = "cat" held_state = "cat2" @@ -91,7 +90,6 @@ icon_living = "cat" icon_dead = "cat_dead" gender = FEMALE - gold_core_spawnable = NO_SPAWN unique_pet = TRUE var/list/family = list()//var restored from savefile, has count of each child type var/list/children = list()//Actual mob weak references of children @@ -167,7 +165,6 @@ /mob/living/simple_animal/pet/cat/Proc name = "Proc" gender = MALE - gold_core_spawnable = NO_SPAWN unique_pet = TRUE diff --git a/code/modules/mob/living/simple_animal/friendly/crab.dm b/code/modules/mob/living/simple_animal/friendly/crab.dm index bd16daa567f5..a2556f0cc943 100644 --- a/code/modules/mob/living/simple_animal/friendly/crab.dm +++ b/code/modules/mob/living/simple_animal/friendly/crab.dm @@ -23,7 +23,6 @@ ventcrawler = VENTCRAWLER_ALWAYS var/obj/item/inventory_head var/obj/item/inventory_mask - gold_core_spawnable = FRIENDLY_SPAWN /mob/living/simple_animal/crab/Life() ..() @@ -44,7 +43,6 @@ real_name = "Coffee" desc = "It's Coffee, the other pet!" gender = FEMALE - gold_core_spawnable = NO_SPAWN /mob/living/simple_animal/crab/evil name = "Evil Crab" @@ -53,7 +51,6 @@ icon_state = "evilcrab" icon_living = "evilcrab" icon_dead = "evilcrab_dead" - gold_core_spawnable = FRIENDLY_SPAWN /mob/living/simple_animal/crab/kreb name = "Kreb" @@ -62,7 +59,6 @@ icon_state = "kreb" icon_living = "kreb" icon_dead = "kreb_dead" - gold_core_spawnable = NO_SPAWN /mob/living/simple_animal/crab/evil/kreb name = "Evil Kreb" @@ -70,4 +66,3 @@ icon_state = "evilkreb" icon_living = "evilkreb" icon_dead = "evilkreb_dead" - gold_core_spawnable = NO_SPAWN diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm index ebfd85f3ca23..2a47d4f0c220 100644 --- a/code/modules/mob/living/simple_animal/friendly/dog.dm +++ b/code/modules/mob/living/simple_animal/friendly/dog.dm @@ -88,7 +88,6 @@ butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/corgi = 3, /obj/item/stack/sheet/animalhide/corgi = 1) childtype = list(/mob/living/simple_animal/pet/dog/corgi/puppy = 95, /mob/living/simple_animal/pet/dog/corgi/puppy/void = 5) animal_species = /mob/living/simple_animal/pet/dog - gold_core_spawnable = FRIENDLY_SPAWN collar_type = "corgi" var/obj/item/inventory_head var/obj/item/inventory_back @@ -121,7 +120,6 @@ icon_living = "pug" icon_dead = "pug_dead" butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/pug = 3) - gold_core_spawnable = FRIENDLY_SPAWN collar_type = "pug" held_state = "pug" @@ -394,7 +392,6 @@ response_disarm_simple = "bop" response_harm_continuous = "kicks" response_harm_simple = "kick" - gold_core_spawnable = NO_SPAWN unique_pet = TRUE var/age = 0 var/record_age = 1 @@ -569,7 +566,6 @@ real_name = "Lisa" gender = FEMALE desc = "She's tearing you apart." - gold_core_spawnable = NO_SPAWN unique_pet = TRUE icon_state = "lisa" icon_living = "lisa" diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm index 65baddfee360..cc2ab1da9ef6 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -122,7 +122,6 @@ attack_sound = 'sound/weapons/punch1.ogg' health = 50 maxHealth = 50 - gold_core_spawnable = FRIENDLY_SPAWN blood_volume = BLOOD_VOLUME_NORMAL food_type = list(/obj/item/reagent_containers/food/snacks/grown/wheat) tame_chance = 25 @@ -178,7 +177,6 @@ /mob/living/simple_animal/cow/wisdom name = "wisdom cow" desc = "Known for its wisdom, shares it with all" - gold_core_spawnable = FALSE tame_chance = 0 bonus_tame_chance = 0 speak_chance = 15 @@ -229,8 +227,6 @@ var/amount_grown = 0 pass_flags = PASSTABLE | PASSGRILLE | PASSMOB mob_size = MOB_SIZE_TINY - gold_core_spawnable = FRIENDLY_SPAWN - footstep_type = FOOTSTEP_MOB_CLAW /mob/living/simple_animal/chick/Initialize() @@ -290,7 +286,6 @@ var/list/feedMessages = list("It clucks happily.","It clucks happily.") var/list/layMessage = EGG_LAYING_MESSAGES var/list/validColors = list("brown","black","white") - gold_core_spawnable = FRIENDLY_SPAWN var/static/chicken_count = 0 footstep_type = FOOTSTEP_MOB_CLAW @@ -386,7 +381,6 @@ var/list/feedMessages = list("It clucks happily.","It clucks happily.") var/list/layMessage = EGG_LAYING_MESSAGES var/list/validColors = list("brown","black","white") - gold_core_spawnable = FRIENDLY_SPAWN var/static/chicken_count = 0 environment_smash = ENVIRONMENT_SMASH_NONE melee_damage_lower = 3 diff --git a/code/modules/mob/living/simple_animal/friendly/fox.dm b/code/modules/mob/living/simple_animal/friendly/fox.dm index 8fc52916fa39..164e412cdd1d 100644 --- a/code/modules/mob/living/simple_animal/friendly/fox.dm +++ b/code/modules/mob/living/simple_animal/friendly/fox.dm @@ -20,7 +20,6 @@ response_disarm_simple = "gently push aside" response_harm_continuous = "kicks" response_harm_simple = "kick" - gold_core_spawnable = FRIENDLY_SPAWN held_state = "fox" footstep_type = FOOTSTEP_MOB_CLAW @@ -34,5 +33,4 @@ name = "Renault" desc = "Renault, the Captain's trustworthy fox." gender = FEMALE - gold_core_spawnable = NO_SPAWN unique_pet = TRUE diff --git a/code/modules/mob/living/simple_animal/friendly/lizard.dm b/code/modules/mob/living/simple_animal/friendly/lizard.dm index c854936c7d22..e872fdfcefce 100644 --- a/code/modules/mob/living/simple_animal/friendly/lizard.dm +++ b/code/modules/mob/living/simple_animal/friendly/lizard.dm @@ -23,7 +23,6 @@ pass_flags = PASSTABLE | PASSMOB mob_size = MOB_SIZE_SMALL mob_biotypes = MOB_ORGANIC|MOB_BEAST|MOB_REPTILE - gold_core_spawnable = FRIENDLY_SPAWN obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE var/static/list/edibles = typecacheof(list(/mob/living/simple_animal/butterfly, /mob/living/simple_animal/hostile/cockroach)) //list of atoms, however turfs won't affect AI, but will affect consumption. diff --git a/code/modules/mob/living/simple_animal/friendly/mothroach.dm b/code/modules/mob/living/simple_animal/friendly/mothroach.dm index 881e64d2a70f..083c576e1c17 100644 --- a/code/modules/mob/living/simple_animal/friendly/mothroach.dm +++ b/code/modules/mob/living/simple_animal/friendly/mothroach.dm @@ -17,7 +17,6 @@ health = 25 maxHealth = 25 speed = 1.25 - gold_core_spawnable = FRIENDLY_SPAWN verb_say = "flutters" verb_ask = "flutters inquisitively" verb_exclaim = "flutters loudly" diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index 7b11d05bcf2c..c647b59f4d49 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -45,7 +45,6 @@ GLOBAL_VAR_INIT(mouse_killed, 0) mob_biotypes = MOB_ORGANIC|MOB_BEAST lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE //WS Edit var/body_color //brown, gray and white, leave blank for random - gold_core_spawnable = FRIENDLY_SPAWN move_force = MOVE_FORCE_EXTREMELY_WEAK //WS Edit var/chew_probability = 1 var/full = FALSE //WS Edit @@ -261,7 +260,6 @@ GLOBAL_VAR_INIT(mouse_killed, 0) response_disarm_simple = "gently push aside" response_harm_continuous = "splats" response_harm_simple = "splat" - gold_core_spawnable = NO_SPAWN /obj/item/reagent_containers/food/snacks/deadmouse name = "dead mouse" diff --git a/code/modules/mob/living/simple_animal/friendly/penguin.dm b/code/modules/mob/living/simple_animal/friendly/penguin.dm index 5e39c3c8a51d..50ea0a5003cb 100644 --- a/code/modules/mob/living/simple_animal/friendly/penguin.dm +++ b/code/modules/mob/living/simple_animal/friendly/penguin.dm @@ -32,7 +32,6 @@ icon_state = "penguin" icon_living = "penguin" icon_dead = "penguin_dead" - gold_core_spawnable = FRIENDLY_SPAWN butcher_results = list(/obj/item/organ/ears/penguin = 1, /obj/item/reagent_containers/food/snacks/meat/slab/penguin = 3) /mob/living/simple_animal/pet/penguin/baby diff --git a/code/modules/mob/living/simple_animal/friendly/sloth.dm b/code/modules/mob/living/simple_animal/friendly/sloth.dm index fa5ab9c9df94..63bc7d76e5dd 100644 --- a/code/modules/mob/living/simple_animal/friendly/sloth.dm +++ b/code/modules/mob/living/simple_animal/friendly/sloth.dm @@ -18,7 +18,6 @@ response_harm_continuous = "kicks" response_harm_simple = "kick" mob_biotypes = MOB_ORGANIC|MOB_BEAST - gold_core_spawnable = FRIENDLY_SPAWN melee_damage_lower = 18 melee_damage_upper = 18 health = 50 @@ -33,7 +32,6 @@ /mob/living/simple_animal/sloth/paperwork name = "Paperwork" desc = "Cargo's pet sloth. About as useful as the rest of the techs." - gold_core_spawnable = NO_SPAWN //Cargo Sloth 2 @@ -45,4 +43,3 @@ icon_dead = "cool_sloth_dead" gender = FEMALE butcher_results = list(/obj/item/toy/spinningtoy = 1) - gold_core_spawnable = NO_SPAWN diff --git a/code/modules/mob/living/simple_animal/friendly/snake.dm b/code/modules/mob/living/simple_animal/friendly/snake.dm index d33fac8f5c00..38fb4ced3d9f 100644 --- a/code/modules/mob/living/simple_animal/friendly/snake.dm +++ b/code/modules/mob/living/simple_animal/friendly/snake.dm @@ -35,7 +35,6 @@ pass_flags = PASSTABLE | PASSMOB mob_size = MOB_SIZE_SMALL mob_biotypes = MOB_ORGANIC|MOB_BEAST|MOB_REPTILE - gold_core_spawnable = FRIENDLY_SPAWN obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE var/glasses_overlay_file = 'icons/mob/pets.dmi' diff --git a/code/modules/mob/living/simple_animal/friendly/turtle.dm b/code/modules/mob/living/simple_animal/friendly/turtle.dm index 97b07424d375..3ef772cc4be0 100644 --- a/code/modules/mob/living/simple_animal/friendly/turtle.dm +++ b/code/modules/mob/living/simple_animal/friendly/turtle.dm @@ -19,7 +19,6 @@ response_harm_continuous = "kicks" response_harm_simple = "kick" mob_biotypes = MOB_ORGANIC|MOB_BEAST - gold_core_spawnable = NO_SPAWN melee_damage_lower = 0.5 melee_damage_upper = 1 health = 2500 diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm index ec7c76f5ca61..e7d029467f25 100644 --- a/code/modules/mob/living/simple_animal/hostile/alien.dm +++ b/code/modules/mob/living/simple_animal/hostile/alien.dm @@ -30,7 +30,6 @@ see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE unique_name = 1 - gold_core_spawnable = HOSTILE_SPAWN deathsound = 'sound/voice/hiss6.ogg' deathmessage = "lets out a waning guttural screech, green blood bubbling from its maw..." @@ -143,7 +142,6 @@ butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/xeno = 10, /obj/item/stack/sheet/animalhide/xeno = 2) mob_size = MOB_SIZE_LARGE - gold_core_spawnable = NO_SPAWN /obj/projectile/neurotox name = "neurotoxin" @@ -169,7 +167,6 @@ friendly_verb_simple = "caress" obj_damage = 0 environment_smash = ENVIRONMENT_SMASH_NONE - gold_core_spawnable = HOSTILE_SPAWN icon_state = "maid" icon_living = "maid" icon_dead = "maid_dead" diff --git a/code/modules/mob/living/simple_animal/hostile/bear.dm b/code/modules/mob/living/simple_animal/hostile/bear.dm index b6f5c58b424e..6cf14fd33c9c 100644 --- a/code/modules/mob/living/simple_animal/hostile/bear.dm +++ b/code/modules/mob/living/simple_animal/hostile/bear.dm @@ -98,7 +98,6 @@ health = 120 maxHealth = 120 armored = TRUE - gold_core_spawnable = HOSTILE_SPAWN /mob/living/simple_animal/hostile/bear/cave name = "brown bear" diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm index 676b58a98520..c56f87178e75 100644 --- a/code/modules/mob/living/simple_animal/hostile/bees.dm +++ b/code/modules/mob/living/simple_animal/hostile/bees.dm @@ -47,7 +47,6 @@ mob_size = MOB_SIZE_TINY mob_biotypes = MOB_ORGANIC|MOB_BUG movement_type = FLYING - gold_core_spawnable = FRIENDLY_SPAWN search_objects = 1 //have to find those plant trays! //Spaceborn beings don't get hurt by space diff --git a/code/modules/mob/living/simple_animal/hostile/carp.dm b/code/modules/mob/living/simple_animal/hostile/carp.dm index 67a80713d8ec..a0986111a4b1 100644 --- a/code/modules/mob/living/simple_animal/hostile/carp.dm +++ b/code/modules/mob/living/simple_animal/hostile/carp.dm @@ -43,7 +43,6 @@ faction = list("carp", "mining") movement_type = FLYING pressure_resistance = 200 - gold_core_spawnable = HOSTILE_SPAWN var/random_color = TRUE //if the carp uses random coloring var/rarechance = 1 //chance for rare color variant @@ -159,7 +158,6 @@ icon_state = "holocarp" icon_living = "holocarp" maxbodytemp = INFINITY - gold_core_spawnable = NO_SPAWN del_on_death = 1 random_color = FALSE food_type = list() @@ -229,7 +227,6 @@ desc = "A failed Syndicate experiment in weaponized space carp technology, it now serves as a lovable mascot." gender = FEMALE speak_emote = list("squeaks") - gold_core_spawnable = NO_SPAWN faction = list(ROLE_SYNDICATE) AIStatus = AI_OFF rarechance = 10 diff --git a/code/modules/mob/living/simple_animal/hostile/cockroach.dm b/code/modules/mob/living/simple_animal/hostile/cockroach.dm index c822268a7fe2..5a931b0079b4 100644 --- a/code/modules/mob/living/simple_animal/hostile/cockroach.dm +++ b/code/modules/mob/living/simple_animal/hostile/cockroach.dm @@ -23,7 +23,6 @@ melee_damage_upper = 0 obj_damage = 0 ventcrawler = VENTCRAWLER_ALWAYS - gold_core_spawnable = FRIENDLY_SPAWN verb_say = "chitters" verb_ask = "chitters inquisitively" verb_exclaim = "chitters loudly" @@ -49,7 +48,6 @@ melee_damage_lower = 5 melee_damage_upper = 5 obj_damage = 20 - gold_core_spawnable = HOSTILE_SPAWN projectilesound = 'sound/weapons/gun/pistol/shot.ogg' projectiletype = /obj/projectile/glockroachbullet casingtype = /obj/item/ammo_casing/glockroach diff --git a/code/modules/mob/living/simple_animal/hostile/eyeballs.dm b/code/modules/mob/living/simple_animal/hostile/eyeballs.dm index 57a33c2ee02a..8a1fe372ee6a 100644 --- a/code/modules/mob/living/simple_animal/hostile/eyeballs.dm +++ b/code/modules/mob/living/simple_animal/hostile/eyeballs.dm @@ -29,7 +29,6 @@ atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 maxbodytemp = 1500 - gold_core_spawnable = HOSTILE_SPAWN faction = list("spooky") del_on_death = 1 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE diff --git a/code/modules/mob/living/simple_animal/hostile/faithless.dm b/code/modules/mob/living/simple_animal/hostile/faithless.dm index c9c2e131cc09..a814d67ebc86 100644 --- a/code/modules/mob/living/simple_animal/hostile/faithless.dm +++ b/code/modules/mob/living/simple_animal/hostile/faithless.dm @@ -31,7 +31,6 @@ minbodytemp = 0 faction = list("faithless") - gold_core_spawnable = HOSTILE_SPAWN footstep_type = FOOTSTEP_MOB_SHOE diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index 5e3e8d0b34d5..71b31c9568e1 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -50,7 +50,6 @@ attack_verb_simple = "bite" attack_sound = 'sound/weapons/bite.ogg' unique_name = 1 - gold_core_spawnable = HOSTILE_SPAWN lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE footstep_type = FOOTSTEP_MOB_CLAW mob_size = MOB_SIZE_LARGE @@ -122,7 +121,6 @@ var/datum/action/innate/spider/lay_eggs/lay_eggs var/datum/action/innate/spider/set_directive/set_directive var/static/list/consumed_mobs = list() //the refs of mobs that have been consumed by nurse spiders to lay eggs - gold_core_spawnable = NO_SPAWN /mob/living/simple_animal/hostile/poison/giant_spider/nurse/Initialize() . = ..() @@ -172,7 +170,6 @@ melee_damage_upper = 20 poison_per_bite = 5 move_to_delay = 5 - gold_core_spawnable = NO_SPAWN //vipers are the rare variant of the hunter, no IMMEDIATE damage but so much poison medical care will be needed fast. /mob/living/simple_animal/hostile/poison/giant_spider/hunter/viper @@ -205,7 +202,6 @@ move_to_delay = 8 speed = 9 status_flags = NONE - gold_core_spawnable = NO_SPAWN var/slowed_by_webs = FALSE /mob/living/simple_animal/hostile/poison/giant_spider/tarantula/Moved(atom/oldloc, dir) @@ -225,7 +221,6 @@ maxbodytemp = 1500 poison_type = /datum/reagent/consumable/frostoil color = rgb(114,228,250) - gold_core_spawnable = NO_SPAWN /mob/living/simple_animal/hostile/poison/giant_spider/nurse/ice name = "giant ice spider" @@ -242,7 +237,6 @@ maxbodytemp = 1500 poison_type = /datum/reagent/consumable/frostoil color = rgb(114,228,250) - gold_core_spawnable = NO_SPAWN /mob/living/simple_animal/hostile/poison/giant_spider/handle_automated_action() if(!..()) //AIStatus is off diff --git a/code/modules/mob/living/simple_animal/hostile/goose.dm b/code/modules/mob/living/simple_animal/hostile/goose.dm index a175bb40feca..6a11507beea1 100644 --- a/code/modules/mob/living/simple_animal/hostile/goose.dm +++ b/code/modules/mob/living/simple_animal/hostile/goose.dm @@ -29,7 +29,6 @@ speak_emote = list("honks") faction = list("neutral") attack_same = TRUE - gold_core_spawnable = HOSTILE_SPAWN var/random_retaliate = TRUE var/icon_vomit_start = "vomit_start" var/icon_vomit = "vomit" @@ -95,7 +94,6 @@ response_disarm_simple = "gently push aside" response_harm_continuous = "kicks" response_harm_simple = "kick" - gold_core_spawnable = NO_SPAWN random_retaliate = FALSE var/vomiting = FALSE var/vomitCoefficient = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm index 850ff235375f..292a9fee3658 100644 --- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm +++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm @@ -73,8 +73,6 @@ if(origin && (origin.current ? (origin.current.stat == DEAD) : origin.get_ghost())) origin.transfer_to(M) var/datum/antagonist/changeling/C = origin.has_antag_datum(/datum/antagonist/changeling) - if(!C) - C = origin.add_antag_datum(/datum/antagonist/changeling/xenobio) if(C.can_absorb_dna(owner)) C.add_new_profile(owner) diff --git a/code/modules/mob/living/simple_animal/hostile/hivebot.dm b/code/modules/mob/living/simple_animal/hostile/hivebot.dm index 431229fefc44..b6d7665221af 100644 --- a/code/modules/mob/living/simple_animal/hostile/hivebot.dm +++ b/code/modules/mob/living/simple_animal/hostile/hivebot.dm @@ -120,7 +120,6 @@ maxHealth = 60 ranged = TRUE rapid = 3 - gold_core_spawnable = HOSTILE_SPAWN var/datum/action/innate/hivebot/foamwall/foam /mob/living/simple_animal/hostile/hivebot/mechanic/Initialize(mapload) diff --git a/code/modules/mob/living/simple_animal/hostile/human/survivors.dm b/code/modules/mob/living/simple_animal/hostile/human/survivors.dm index c92af289831d..0247d1be0f15 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/survivors.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/survivors.dm @@ -155,7 +155,7 @@ /obj/item/stack/sheet/sinew = 5, /obj/item/stack/sheet/bone = 5, /obj/item/melee/knife/combat = 3, - /obj/item/reagent_containers/food/snacks/rationpack = 30 + /obj/item/storage/ration/shredded_beef = 30 ) ) if (prob(15)) //mayhaps a medkit diff --git a/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm index a88a79610b60..4983c53ef88d 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm @@ -283,7 +283,6 @@ limb_destroyer = 1 speak_emote = list("states") bubble_icon = "syndibot" - gold_core_spawnable = HOSTILE_SPAWN del_on_death = 1 deathmessage = "is smashed into pieces!" diff --git a/code/modules/mob/living/simple_animal/hostile/killertomato.dm b/code/modules/mob/living/simple_animal/hostile/killertomato.dm index 8b1de1c2b8a4..1b1dd1d72901 100644 --- a/code/modules/mob/living/simple_animal/hostile/killertomato.dm +++ b/code/modules/mob/living/simple_animal/hostile/killertomato.dm @@ -28,4 +28,3 @@ atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 150 maxbodytemp = 500 - gold_core_spawnable = HOSTILE_SPAWN diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index ff06df9c6113..a386758b8e6c 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -659,7 +659,6 @@ GLOBAL_DATUM(blackbox, /obj/machinery/smartfridge/black_box) pass_flags = PASSTABLE | PASSGRILLE | PASSMOB ventcrawler = VENTCRAWLER_ALWAYS mob_size = MOB_SIZE_TINY - gold_core_spawnable = HOSTILE_SPAWN verb_say = "warps" verb_ask = "floats inquisitively" verb_exclaim = "zaps" diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index 0568533c1e0c..ecdc357b8da3 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -267,102 +267,5 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca icon_state = TrueGun.icon_state icon_living = TrueGun.icon_state -/mob/living/simple_animal/hostile/mimic/xenobio - health = 210 - maxHealth = 210 - attack_verb_continuous = "bites" - attack_verb_simple = "bite" - speak_emote = list("clatters") - gold_core_spawnable = HOSTILE_SPAWN - var/opened = FALSE - var/open_sound = 'sound/machines/crate_open.ogg' - var/close_sound = 'sound/machines/crate_close.ogg' - var/max_mob_size = MOB_SIZE_HUMAN - var/locked = FALSE - var/datum/action/innate/mimic/lock/lock - -/mob/living/simple_animal/hostile/mimic/xenobio/Initialize() - . = ..() - lock = new - lock.Grant(src) - -/mob/living/simple_animal/hostile/mimic/xenobio/AttackingTarget() - if(src == target) - toggle_open() - return - return ..() - -/mob/living/simple_animal/hostile/mimic/xenobio/attack_hand(mob/living/carbon/human/M) - . = ..() - if(M.a_intent != "help") - return - toggle_open() - -/mob/living/simple_animal/hostile/mimic/xenobio/death() - var/obj/structure/closet/crate/C = new(get_turf(src)) - // Put loot in crate - for(var/atom/movable/AM as anything in src) - AM.forceMove(C) - return ..() - -/mob/living/simple_animal/hostile/mimic/xenobio/CanAllowThrough(atom/movable/mover, border_dir) - . = ..() - if(istype(mover, /obj/structure/closet)) - return FALSE - -/mob/living/simple_animal/hostile/mimic/xenobio/proc/toggle_open() - if(locked) - return - if(!opened) - density = FALSE - opened = TRUE - icon_state = "crateopen" - playsound(src, open_sound, 50, TRUE) - for(var/atom/movable/AM as anything in src) - AM.forceMove(loc) - else - density = TRUE - opened = FALSE - icon_state = "crate" - playsound(src, close_sound, 50, TRUE) - for(var/atom/movable/AM in get_turf(src)) - if(insertion_allowed(AM)) - AM.forceMove(src) - -/mob/living/simple_animal/hostile/mimic/xenobio/proc/insertion_allowed(atom/movable/AM) - if(ismob(AM)) - if(!isliving(AM)) //Don't let ghosts and such get trapped in the beast. - return FALSE - var/mob/living/L = AM - if(L.anchored || L.buckled || L.incorporeal_move || L.has_buckled_mobs()) - return FALSE - if(L.mob_size > MOB_SIZE_TINY) // Tiny mobs are treated as items. - if(L.density || L.mob_size > max_mob_size) - return FALSE - L.stop_pulling() - - else if(istype(AM, /obj/structure/closet)) - return FALSE - else if(isobj(AM)) - if(AM.anchored || AM.has_buckled_mobs()) - return FALSE - else if(isitem(AM) && !HAS_TRAIT(AM, TRAIT_NODROP)) - return TRUE - else - return FALSE - return TRUE - /datum/action/innate/mimic background_icon_state = "bg_default" - -/datum/action/innate/mimic/lock - name = "Lock/Unlock" - desc = "Toggle preventing yourself from being opened or closed." - -/datum/action/innate/mimic/lock/Activate() - var/mob/living/simple_animal/hostile/mimic/xenobio/M = owner - M.locked = !M.locked - if(!M.locked) - to_chat(M, "You loosen up, allowing yourself to be opened and closed.") - else - to_chat(M, "You stiffen up, preventing anyone from opening or closing you.") diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm index 18343b8cad63..1cd33614c964 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm @@ -32,7 +32,6 @@ attack_sound = 'sound/weapons/bladeslice.ogg' aggro_vision_range = 9 turns_per_move = 5 - gold_core_spawnable = HOSTILE_SPAWN loot = list(/obj/item/stack/ore/diamond{layer = ABOVE_MOB_LAYER}, /obj/item/stack/ore/diamond{layer = ABOVE_MOB_LAYER}) var/lava_drinker = TRUE @@ -235,7 +234,6 @@ robust_searching = 1 attack_same = TRUE // So we'll fight basilisks //mob_trophy = /obj/item/mob_trophy/watcher_wing - gold_core_spawnable = NO_SPAWN loot = list() butcher_results = list(/obj/item/stack/ore/diamond = 2, /obj/item/stack/sheet/sinew = 2, /obj/item/stack/sheet/bone = 1) lava_drinker = FALSE diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm index e4eb7122d391..fede2e8753ac 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm @@ -29,7 +29,6 @@ throw_message = "sinks in slowly, before being pushed out of " deathmessage = "stops moving as green liquid oozes from the carcass!" status_flags = CANPUSH - gold_core_spawnable = HOSTILE_SPAWN search_objects = 1 wanted_objects = list( /obj/item/stack/ore/diamond, diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm index e7257c7d39c4..a6457306cda7 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm @@ -28,7 +28,6 @@ friendly_verb_simple = "pinch" a_intent = INTENT_HELP ventcrawler = VENTCRAWLER_ALWAYS - gold_core_spawnable = FRIENDLY_SPAWN stat_attack = HARD_CRIT gender = NEUTER stop_automated_movement = FALSE @@ -102,7 +101,6 @@ /mob/living/simple_animal/hostile/asteroid/gutlunch/grublunch name = "grublunch" wanted_objects = list() //They don't eat. - gold_core_spawnable = NO_SPAWN var/growth = 0 //Baby gutlunch diff --git a/code/modules/mob/living/simple_animal/hostile/netherworld.dm b/code/modules/mob/living/simple_animal/hostile/netherworld.dm index 25827781b4b8..8ec732defc04 100644 --- a/code/modules/mob/living/simple_animal/hostile/netherworld.dm +++ b/code/modules/mob/living/simple_animal/hostile/netherworld.dm @@ -14,7 +14,6 @@ attack_sound = 'sound/weapons/bladeslice.ogg' faction = list("nether") speak_emote = list("screams") - gold_core_spawnable = HOSTILE_SPAWN atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE @@ -158,7 +157,6 @@ icon_state = "blank-body" icon_living = "blank-body" icon_dead = "blank-dead" - gold_core_spawnable = NO_SPAWN health = 100 maxHealth = 100 melee_damage_lower = 5 diff --git a/code/modules/mob/living/simple_animal/hostile/regalrat.dm b/code/modules/mob/living/simple_animal/hostile/regalrat.dm index cad59e7369b8..f957018dfad1 100644 --- a/code/modules/mob/living/simple_animal/hostile/regalrat.dm +++ b/code/modules/mob/living/simple_animal/hostile/regalrat.dm @@ -25,7 +25,6 @@ attack_sound = 'sound/weapons/punch1.ogg' ventcrawler = VENTCRAWLER_ALWAYS unique_name = TRUE - gold_core_spawnable = HOSTILE_SPAWN faction = list("rat") var/datum/action/cooldown/coffer var/datum/action/cooldown/riot diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm index e8bee6661a5a..6c23f5cefe23 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/frog.dm @@ -28,7 +28,6 @@ butcher_results = list(/obj/item/reagent_containers/food/snacks/nugget = 1) pass_flags = PASSTABLE | PASSGRILLE | PASSMOB mob_size = MOB_SIZE_TINY - gold_core_spawnable = FRIENDLY_SPAWN var/stepped_sound = 'sound/effects/huuu.ogg' /mob/living/simple_animal/hostile/retaliate/frog/Initialize() diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm index 8b9d0d666bfb..d72cdf215e22 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm @@ -30,7 +30,6 @@ maxbodytemp = 1500 movement_type = FLYING pressure_resistance = 300 - gold_core_spawnable = NO_SPAWN //too spooky for science light_system = MOVABLE_LIGHT light_range = 1 // same glowing as visible player ghosts light_power = 2 diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index bac0b4b1d51b..d5b56f758cb1 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -49,7 +49,6 @@ move_force = MOVE_FORCE_EXTREMELY_STRONG move_resist = MOVE_FORCE_EXTREMELY_STRONG pull_force = MOVE_FORCE_EXTREMELY_STRONG - gold_core_spawnable = HOSTILE_SPAWN var/cannot_be_seen = 1 var/mob/living/creator = null diff --git a/code/modules/mob/living/simple_animal/hostile/tree.dm b/code/modules/mob/living/simple_animal/hostile/tree.dm index 41efc6993d9d..c040a2221d0b 100644 --- a/code/modules/mob/living/simple_animal/hostile/tree.dm +++ b/code/modules/mob/living/simple_animal/hostile/tree.dm @@ -40,7 +40,6 @@ deathmessage = "is hacked into pieces!" loot = list(/obj/item/stack/sheet/mineral/wood) - gold_core_spawnable = HOSTILE_SPAWN del_on_death = 1 var/is_tree = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm index b77436c09c89..be3242ed5252 100644 --- a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm +++ b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm @@ -32,7 +32,6 @@ aggro_vision_range = 9 mob_size = MOB_SIZE_SMALL environment_smash = ENVIRONMENT_SMASH_NONE - gold_core_spawnable = HOSTILE_SPAWN var/wumbo = 0 var/inflate_cooldown = 0 var/datum/action/innate/fugu/expand/E diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index bc22f78ae7a3..b39793d9a414 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -64,7 +64,6 @@ friendly_verb_simple = "groom" mob_size = MOB_SIZE_SMALL movement_type = FLYING - gold_core_spawnable = FRIENDLY_SPAWN var/parrot_damage_upper = 10 var/parrot_state = PARROT_WANDER //Hunt for a perch when created @@ -904,7 +903,6 @@ name = "Polly" desc = "Polly the Parrot. An expert on quantum cracker theory." speak = list("Polly wanna cracker!", ":e Check the crystal, you chucklefucks!",":e Wire the solars, you lazy bums!",":e WHO TOOK THE DAMN HARDSUITS?",":e OH GOD ITS ABOUT TO DELAMINATE CALL THE SHUTTLE") - gold_core_spawnable = NO_SPAWN speak_chance = 3 var/memory_saved = FALSE var/rounds_survived = 0 diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 55ea24c81d7d..35e0e535c96d 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -98,8 +98,6 @@ var/obj/item/card/id/access_card = null ///In the event that you want to have a buffing effect on the mob, but don't want it to stack with other effects, any outside force that applies a buff to a simple mob should at least set this to 1, so we have something to check against. var/buffed = 0 - ///If the mob can be spawned with a gold slime core. HOSTILE_SPAWN are spawned with plasma, FRIENDLY_SPAWN are spawned with blood. - var/gold_core_spawnable = NO_SPAWN var/datum/component/spawner/nest diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm index cb4b76983563..cafb6cb77bd5 100644 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ b/code/modules/mob/living/simple_animal/slime/slime.dm @@ -43,7 +43,6 @@ // for the sake of cleanliness, though, here they are. status_flags = CANUNCONSCIOUS|CANPUSH - var/cores = 1 // the number of /obj/item/slime_extract's the slime has left inside var/mutation_chance = 30 // Chance of mutating, should be between 25 and 35 var/powerlevel = 0 // 1-10 controls how much electricity they are generating @@ -71,7 +70,6 @@ ///////////TIME FOR SUBSPECIES var/colour = "grey" - var/coretype = /obj/item/slime_extract/grey var/list/slime_mutation[4] var/static/list/slime_colours = list("rainbow", "grey", "purple", "metal", "orange", @@ -79,13 +77,6 @@ "gold", "green", "adamantine", "oil", "light pink", "bluespace", "cerulean", "sepia", "black", "pyrite") - ///////////CORE-CROSSING CODE - - var/effectmod //What core modification is being used. - var/crossbreed_modifier = 1 // modifies how many extracts are needed - var/applied = 0 //How many extracts of the modtype have been applied. - - /mob/living/simple_animal/slime/Initialize(mapload, new_colour="grey", new_is_adult=FALSE) var/datum/action/innate/slime/feed/F = new F.Grant(src) @@ -119,8 +110,6 @@ colour = new_colour update_name() slime_mutation = mutation_table(colour) - var/sanitizedcolour = replacetext(colour, " ", "") - coretype = text2path("/obj/item/slime_extract/[sanitizedcolour]") regenerate_icons() /mob/living/simple_animal/slime/update_name() @@ -354,50 +343,9 @@ force_effect = round(W.force/2) if(prob(10 + force_effect)) discipline_slime(user) - if(istype(W, /obj/item/storage/bag/bio)) - var/obj/item/storage/P = W - if(!effectmod) - to_chat(user, "The slime is not currently being mutated.") - return - var/hasOutput = FALSE //Have we outputted text? - var/hasFound = FALSE //Have we found an extract to be added? - for(var/obj/item/slime_extract/S in P.contents) - if(S.effectmod == effectmod) - SEND_SIGNAL(P, COMSIG_TRY_STORAGE_TAKE, S, get_turf(src), TRUE) - qdel(S) - applied++ - hasFound = TRUE - if(applied >= (SLIME_EXTRACT_CROSSING_REQUIRED * crossbreed_modifier)) - to_chat(user, "You feed the slime as many of the extracts from the bag as you can, and it mutates!") - playsound(src, 'sound/effects/attackblob.ogg', 50, TRUE) - spawn_corecross() - hasOutput = TRUE - break - if(!hasOutput) - if(!hasFound) - to_chat(user, "There are no extracts in the bag that this slime will accept!") - else - to_chat(user, "You feed the slime some extracts from the bag.") - playsound(src, 'sound/effects/attackblob.ogg', 50, TRUE) return ..() -/mob/living/simple_animal/slime/proc/spawn_corecross() - var/static/list/crossbreeds = subtypesof(/obj/item/slimecross) - visible_message("[src] shudders, its mutated core consuming the rest of its body!") - playsound(src, 'sound/magic/smoke.ogg', 50, TRUE) - var/crosspath - for(var/X in crossbreeds) - var/obj/item/slimecross/S = X - if(initial(S.colour) == colour && initial(S.effect) == effectmod) - crosspath = S - break - if(crosspath) - new crosspath(loc) - else - visible_message("The mutated core shudders, and collapses into a puddle, unable to maintain its form.") - qdel(src) - /mob/living/simple_animal/slime/proc/apply_water() adjustBruteLoss(rand(15,20)) if(!client) diff --git a/code/modules/movespeed/modifiers/status_effects.dm b/code/modules/movespeed/modifiers/status_effects.dm deleted file mode 100644 index 25cbcd42e124..000000000000 --- a/code/modules/movespeed/modifiers/status_effects.dm +++ /dev/null @@ -1,17 +0,0 @@ -/datum/movespeed_modifier/status_effect/bloodchill - multiplicative_slowdown = 3 - -/datum/movespeed_modifier/status_effect/bonechill - multiplicative_slowdown = 3 - -/datum/movespeed_modifier/status_effect/lightpink - multiplicative_slowdown = -0.25 - blacklisted_movetypes = (FLYING|FLOATING) - -/datum/movespeed_modifier/status_effect/tarfoot - multiplicative_slowdown = 0.5 - blacklisted_movetypes = (FLYING|FLOATING) - -/datum/movespeed_modifier/status_effect/sepia - variable = TRUE - blacklisted_movetypes = (FLYING|FLOATING) diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index b1847513a941..74f6d8f3fe6f 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -342,18 +342,6 @@ custom_materials = null grown_battery = TRUE //it has the overlays for wires -/obj/item/stock_parts/cell/high/slime - name = "charged slime core" - desc = "A yellow slime core infused with plasma, it crackles with power." - icon = 'icons/mob/slimes.dmi' - icon_state = "yellow slime extract" - custom_materials = null - rating = 5 //self-recharge makes these desirable - self_recharge = 1 // Infused slime cores self-recharge, over time - -/*Hypercharged slime cell - located in /code/modules/research/xenobiology/crossbreeding/_misc.dm -/obj/item/stock_parts/cell/high/slime/hypercharged */ - /obj/item/stock_parts/cell/emproof name = "\improper EMP-proof cell" desc = "An EMP-proof cell." diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 49765fd6747b..a442ee2a11c8 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -519,11 +519,6 @@ if(!C.required_other) matching_other = 1 - else if(istype(cached_my_atom, /obj/item/slime_extract)) - var/obj/item/slime_extract/M = cached_my_atom - - if(M.Uses > 0) // added a limit to slime cores -- Muskets requested this - matching_other = 1 else if(!C.required_container) matching_container = 1 @@ -571,15 +566,6 @@ for(var/mob/M in seen) to_chat(M, "[iconhtml] [selected_reaction.mix_message]") - if(istype(cached_my_atom, /obj/item/slime_extract)) - var/obj/item/slime_extract/ME2 = my_atom - ME2.Uses-- - if(ME2.Uses <= 0) // give the notification that the slime core is dead - for(var/mob/M in seen) - to_chat(M, "[iconhtml] \The [my_atom]'s power is consumed in the reaction.") - ME2.name = "used slime extract" - ME2.desc = "This extract has been used up." - selected_reaction.on_reaction(src, multiplier) reaction_occurred = 1 diff --git a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm index 313fb7475e00..14ded3b571f9 100644 --- a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm @@ -299,10 +299,6 @@ shock_timer = 0 //immune to shocks M.AdjustAllImmobility(-40) M.adjustStaminaLoss(-2, 0) - if(isluminescent(M)) - var/mob/living/carbon/human/H = M - var/datum/species/jelly/luminescent/L = H.dna.species - L.extract_cooldown = max(0, L.extract_cooldown - 20) ..() /datum/reagent/firefighting_foam diff --git a/code/modules/reagents/chemistry/recipes.dm b/code/modules/reagents/chemistry/recipes.dm index 851a9e38a267..d5e74a6766bb 100644 --- a/code/modules/reagents/chemistry/recipes.dm +++ b/code/modules/reagents/chemistry/recipes.dm @@ -18,38 +18,6 @@ return //I recommend you set the result amount to the total volume of all components. -/datum/chemical_reaction/proc/chemical_mob_spawn(datum/reagents/holder, amount_to_spawn, reaction_name, mob_class = HOSTILE_SPAWN, mob_faction = "chemicalsummon", random = TRUE) - if(holder && holder.my_atom) - var/atom/A = holder.my_atom - var/turf/T = get_turf(A) - var/message = "Mobs have been spawned in [ADMIN_VERBOSEJMP(T)] by a [reaction_name] reaction." - message += " (
    VV)" - - var/mob/M = get(A, /mob) - if(M) - message += " - Carried By: [ADMIN_LOOKUPFLW(M)]" - else - message += " - Last Fingerprint: [(A.fingerprintslast ? A.fingerprintslast : "N/A")]" - - message_admins(message, 0, 1) - log_game("[reaction_name] chemical mob spawn reaction occuring at [AREACOORD(T)] carried by [key_name(M)] with last fingerprint [A.fingerprintslast? A.fingerprintslast : "N/A"]") - - playsound(get_turf(holder.my_atom), 'sound/effects/phasein.ogg', 100, TRUE) - - for(var/mob/living/carbon/C in viewers(get_turf(holder.my_atom), null)) - C.flash_act() - - for(var/i in 1 to amount_to_spawn) - var/mob/living/simple_animal/S - if(random) - S = create_random_mob(get_turf(holder.my_atom), mob_class) - else - S = new mob_class(get_turf(holder.my_atom))//Spawn our specific mob_class - S.faction |= mob_faction - if(prob(50)) - for(var/j = 1, j <= rand(1, 3), j++) - step(S, pick(NORTH,SOUTH,EAST,WEST)) - ///Simulates a vortex that moves nearby movable atoms towards or away from the turf T. Range also determines the strength of the effect. High values cause nearby objects to be thrown. /proc/goonchem_vortex(turf/T, setting_type, range) for(var/atom/movable/X in orange(range, T)) diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm index f58cc93d31f5..c4eaf50e45d0 100644 --- a/code/modules/reagents/chemistry/recipes/others.dm +++ b/code/modules/reagents/chemistry/recipes/others.dm @@ -435,18 +435,6 @@ results = list(/datum/reagent/colorful_reagent = 5) required_reagents = list(/datum/reagent/stable_plasma = 1, /datum/reagent/uranium/radium = 1, /datum/reagent/drug/space_drugs = 1, /datum/reagent/medicine/cryoxadone = 1, /datum/reagent/consumable/triple_citrus = 1) -/datum/chemical_reaction/life - required_reagents = list(/datum/reagent/medicine/strange_reagent = 1, /datum/reagent/medicine/synthflesh = 1, /datum/reagent/blood = 1) - -/datum/chemical_reaction/life/on_reaction(datum/reagents/holder, created_volume) - chemical_mob_spawn(holder, rand(1, round(created_volume, 1)), "Life (hostile)") //defaults to HOSTILE_SPAWN - -/datum/chemical_reaction/life_friendly - required_reagents = list(/datum/reagent/medicine/strange_reagent = 1, /datum/reagent/medicine/synthflesh = 1, /datum/reagent/consumable/sugar = 1) - -/datum/chemical_reaction/life_friendly/on_reaction(datum/reagents/holder, created_volume) - chemical_mob_spawn(holder, rand(1, round(created_volume, 1)), "Life (friendly)", FRIENDLY_SPAWN) - /datum/chemical_reaction/corgium required_reagents = list(/datum/reagent/consumable/nutriment = 1, /datum/reagent/colorful_reagent = 1, /datum/reagent/medicine/strange_reagent = 1, /datum/reagent/blood = 1) required_temp = 374 @@ -560,17 +548,6 @@ required_container = /obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom mix_message = "The mushroom's insides bubble and pop and it becomes very limp." -/datum/chemical_reaction/slime_extractification - // [CELADON-EDIT] - CELADON_BALANCE - Меняем кровь слаймоменов - // required_reagents = list(/datum/reagent/toxin/slimejelly = 30, /datum/reagent/consumable/frostoil = 5, /datum/reagent/toxin/plasma = 5) // CELADON-EDIT - ORIGINAL - required_reagents = list(/datum/reagent/toxin/acid/fluacid = 20, /datum/reagent/consumable/frostoil = 5, /datum/reagent/toxin/plasma = 5) - // [/CELADON-EDIT] - mix_message = "The mixture condenses into a ball." - -/datum/chemical_reaction/slime_extractification/on_reaction(datum/reagents/holder, created_volume) - var/location = get_turf(holder.my_atom) - new /obj/item/slime_extract/grey(location) - /datum/chemical_reaction/metalgen_imprint required_reagents = list(/datum/reagent/metalgen = 1, /datum/reagent/liquid_dark_matter = 1) results = list(/datum/reagent/metalgen = 1) diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm deleted file mode 100644 index 7429db4c1dec..000000000000 --- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm +++ /dev/null @@ -1,595 +0,0 @@ - -/datum/chemical_reaction/slime - var/deletes_extract = TRUE - -/datum/chemical_reaction/slime/on_reaction(datum/reagents/holder) - use_slime_core(holder) - -/datum/chemical_reaction/slime/proc/use_slime_core(datum/reagents/holder) - SSblackbox.record_feedback("tally", "slime_cores_used", 1, "type") - if(deletes_extract) - delete_extract(holder) - -/datum/chemical_reaction/slime/proc/delete_extract(datum/reagents/holder) - var/obj/item/slime_extract/M = holder.my_atom - if(M.Uses <= 0 && !results.len) //if the slime doesn't output chemicals - qdel(M) - -//Grey -/datum/chemical_reaction/slime/slimespawn - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/grey - required_other = TRUE - -/datum/chemical_reaction/slime/slimespawn/on_reaction(datum/reagents/holder) - var/mob/living/simple_animal/slime/S = new(get_turf(holder.my_atom), "grey") - S.visible_message("Infused with plasma, the core begins to quiver and grow, and a new baby slime emerges from it!") - ..() - -/datum/chemical_reaction/slime/slimeinaprov - results = list(/datum/reagent/medicine/epinephrine = 3) - required_reagents = list(/datum/reagent/water = 5) - required_other = TRUE - required_container = /obj/item/slime_extract/grey - -/datum/chemical_reaction/slime/slimemonkey - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/grey - required_other = TRUE - -/datum/chemical_reaction/slime/slimemonkey/on_reaction(datum/reagents/holder) - for(var/i in 1 to 3) - new /obj/item/reagent_containers/food/snacks/monkeycube(get_turf(holder.my_atom)) - ..() - -//Green -/datum/chemical_reaction/slime/slimemutate - results = list(/datum/reagent/consumable/berryjuice = 1) // Removal of mutation toxins. This used to be jellyperson toxin, but is now just jelly. - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_other = TRUE - required_container = /obj/item/slime_extract/green - -/datum/chemical_reaction/slime/unstabletoxin - results = list(/datum/reagent/toxin/mutagen = 1) // Removal of mutation toxins. This used to be unstable toxin, but is now unstable mutagen. - required_reagents = list(/datum/reagent/uranium/radium = 1) - required_other = TRUE - required_container = /obj/item/slime_extract/green - - -//Metal -/datum/chemical_reaction/slime/slimemetal - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/metal - required_other = TRUE - -/datum/chemical_reaction/slime/slimemetal/on_reaction(datum/reagents/holder) - var/turf/location = get_turf(holder.my_atom) - new /obj/item/stack/sheet/plasteel(location, 5) - new /obj/item/stack/sheet/metal(location, 15) - ..() - -/datum/chemical_reaction/slime/slimeglass - required_reagents = list(/datum/reagent/water = 1) - required_container = /obj/item/slime_extract/metal - required_other = TRUE - -/datum/chemical_reaction/slime/slimeglass/on_reaction(datum/reagents/holder) - var/turf/location = get_turf(holder.my_atom) - new /obj/item/stack/sheet/rglass(location, 5) - new /obj/item/stack/sheet/glass(location, 15) - ..() - -//Gold -/datum/chemical_reaction/slime/slimemobspawn - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/gold - required_other = TRUE - deletes_extract = FALSE //we do delete, but we don't do so instantly - -/datum/chemical_reaction/slime/slimemobspawn/on_reaction(datum/reagents/holder) - var/turf/T = get_turf(holder.my_atom) - summon_mobs(holder, T) - var/obj/item/slime_extract/M = holder.my_atom - deltimer(M.qdel_timer) - ..() - M.qdel_timer = addtimer(CALLBACK(src, PROC_REF(delete_extract), holder), 55, TIMER_STOPPABLE) - -/datum/chemical_reaction/slime/slimemobspawn/proc/summon_mobs(datum/reagents/holder, turf/T) - T.visible_message("The slime extract begins to vibrate violently!") - addtimer(CALLBACK(src, PROC_REF(chemical_mob_spawn), holder, 5, "Gold Slime", HOSTILE_SPAWN), 50) - -/datum/chemical_reaction/slime/slimemobspawn/lesser - required_reagents = list(/datum/reagent/blood = 1) - -/datum/chemical_reaction/slime/slimemobspawn/lesser/summon_mobs(datum/reagents/holder, turf/T) - T.visible_message("The slime extract begins to vibrate violently!") - addtimer(CALLBACK(src, PROC_REF(chemical_mob_spawn), holder, 3, "Lesser Gold Slime", HOSTILE_SPAWN, "neutral"), 50) - -/datum/chemical_reaction/slime/slimemobspawn/friendly - required_reagents = list(/datum/reagent/water = 1) - -/datum/chemical_reaction/slime/slimemobspawn/friendly/summon_mobs(datum/reagents/holder, turf/T) - T.visible_message("The slime extract begins to vibrate adorably!") - addtimer(CALLBACK(src, PROC_REF(chemical_mob_spawn), holder, 1, "Friendly Gold Slime", FRIENDLY_SPAWN, "neutral"), 50) - -/datum/chemical_reaction/slime/slimemobspawn/spider - required_reagents = list(/datum/reagent/spider_extract = 1) - -/datum/chemical_reaction/slime/slimemobspawn/spider/summon_mobs(datum/reagents/holder, turf/T) - T.visible_message("The slime extract begins to vibrate crikey-ingly!") - addtimer(CALLBACK(src, PROC_REF(chemical_mob_spawn), holder, 3, "Traitor Spider Slime", /mob/living/simple_animal/hostile/poison/giant_spider/nurse/midwife, "neutral", FALSE), 50) - - -//Silver -/datum/chemical_reaction/slime/slimebork - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/silver - required_other = TRUE - -/datum/chemical_reaction/slime/slimebork/on_reaction(datum/reagents/holder) - //BORK BORK BORK - var/turf/T = get_turf(holder.my_atom) - - playsound(T, 'sound/effects/phasein.ogg', 100, TRUE) - - for(var/mob/living/carbon/C in viewers(T, null)) - C.flash_act() - - for(var/i in 1 to 4 + rand(1,2)) - var/chosen = getbork() - var/obj/B = new chosen(T) - if(prob(5))//Fry it! - var/obj/item/food/deepfryholder/fried - fried = new(T, B) - fried.fry() // actually set the name and colour it - B = fried - if(prob(50)) - for(var/j in 1 to rand(1, 3)) - step(B, pick(NORTH,SOUTH,EAST,WEST)) - ..() - -/datum/chemical_reaction/slime/slimebork/proc/getbork() - return get_random_food() - -/datum/chemical_reaction/slime/slimebork/drinks - required_reagents = list(/datum/reagent/water = 1) - -/datum/chemical_reaction/slime/slimebork/drinks/getbork() - return get_random_drink() - -//Blue -/datum/chemical_reaction/slime/slimefrost - results = list(/datum/reagent/consumable/frostoil = 10) - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/blue - required_other = TRUE - -/datum/chemical_reaction/slime/slimestabilizer - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/blue - required_other = TRUE - -/datum/chemical_reaction/slime/slimestabilizer/on_reaction(datum/reagents/holder) - new /obj/item/slimepotion/slime/stabilizer(get_turf(holder.my_atom)) - ..() - -/datum/chemical_reaction/slime/slimefoam - required_reagents = list(/datum/reagent/water = 5) - required_container = /obj/item/slime_extract/blue - required_other = TRUE - -/datum/chemical_reaction/slime/slimefoam/on_reaction(datum/reagents/holder) - holder.create_foam(/datum/effect_system/foam_spread,80, "[src] spews out foam!") - -//Dark Blue -/datum/chemical_reaction/slime/slimefreeze - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/darkblue - required_other = TRUE - deletes_extract = FALSE - -/datum/chemical_reaction/slime/slimefreeze/on_reaction(datum/reagents/holder) - var/turf/T = get_turf(holder.my_atom) - T.visible_message("The slime extract starts to feel extremely cold!") - addtimer(CALLBACK(src, PROC_REF(freeze), holder), 50) - var/obj/item/slime_extract/M = holder.my_atom - deltimer(M.qdel_timer) - ..() - M.qdel_timer = addtimer(CALLBACK(src, PROC_REF(delete_extract), holder), 55, TIMER_STOPPABLE) - -/datum/chemical_reaction/slime/slimefreeze/proc/freeze(datum/reagents/holder) - if(holder && holder.my_atom) - var/turf/open/T = get_turf(holder.my_atom) - if(istype(T)) - T.atmos_spawn_air("n2=50;TEMP=2.7") - -/datum/chemical_reaction/slime/slimefireproof - required_reagents = list(/datum/reagent/water = 1) - required_container = /obj/item/slime_extract/darkblue - required_other = TRUE - -/datum/chemical_reaction/slime/slimefireproof/on_reaction(datum/reagents/holder) - new /obj/item/slimepotion/fireproof(get_turf(holder.my_atom)) - ..() - -//Orange -/datum/chemical_reaction/slime/slimecasp - results = list(/datum/reagent/consumable/capsaicin = 10) - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/orange - required_other = TRUE - -/datum/chemical_reaction/slime/slimefire - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/orange - required_other = TRUE - deletes_extract = FALSE - -/datum/chemical_reaction/slime/slimefire/on_reaction(datum/reagents/holder) - var/turf/T = get_turf(holder.my_atom) - T.visible_message("The slime extract begins to vibrate adorably!") - addtimer(CALLBACK(src, PROC_REF(slime_burn), holder), 50) - var/obj/item/slime_extract/M = holder.my_atom - deltimer(M.qdel_timer) - ..() - M.qdel_timer = addtimer(CALLBACK(src, PROC_REF(delete_extract), holder), 55, TIMER_STOPPABLE) - -/datum/chemical_reaction/slime/slimefire/proc/slime_burn(datum/reagents/holder) - if(holder && holder.my_atom) - var/turf/open/T = get_turf(holder.my_atom) - if(istype(T)) - T.atmos_spawn_air("plasma=50;TEMP=1000") - - -/datum/chemical_reaction/slime/slimesmoke - results = list(/datum/reagent/phosphorus = 10, /datum/reagent/potassium = 10, /datum/reagent/consumable/sugar = 10) - required_reagents = list(/datum/reagent/water = 5) - required_container = /obj/item/slime_extract/orange - required_other = TRUE - -//Yellow -/datum/chemical_reaction/slime/slimeoverload - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/yellow - required_other = TRUE - -/datum/chemical_reaction/slime/slimeoverload/on_reaction(datum/reagents/holder, created_volume) - empulse(get_turf(holder.my_atom), 3, 7) - ..() - -/datum/chemical_reaction/slime/slimecell - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/yellow - required_other = TRUE - -/datum/chemical_reaction/slime/slimecell/on_reaction(datum/reagents/holder, created_volume) - new /obj/item/stock_parts/cell/high/slime(get_turf(holder.my_atom)) - ..() - -/datum/chemical_reaction/slime/slimeglow - required_reagents = list(/datum/reagent/water = 1) - required_container = /obj/item/slime_extract/yellow - required_other = TRUE - -/datum/chemical_reaction/slime/slimeglow/on_reaction(datum/reagents/holder) - var/turf/T = get_turf(holder.my_atom) - T.visible_message("The slime begins to emit a soft light. Squeezing it will cause it to grow brightly.") - new /obj/item/flashlight/slime(T) - ..() - -//Purple -/datum/chemical_reaction/slime/slimepsteroid - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/purple - required_other = TRUE - -/datum/chemical_reaction/slime/slimepsteroid/on_reaction(datum/reagents/holder) - new /obj/item/slimepotion/slime/steroid(get_turf(holder.my_atom)) - ..() - -/datum/chemical_reaction/slime/slimeregen - results = list(/datum/reagent/medicine/regen_jelly = 5) - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/purple - required_other = TRUE - -//Dark Purple -/datum/chemical_reaction/slime/slimeplasma - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/darkpurple - required_other = TRUE - -/datum/chemical_reaction/slime/slimeplasma/on_reaction(datum/reagents/holder) - new /obj/item/stack/sheet/mineral/plasma(get_turf(holder.my_atom), 3) - ..() - -//Red -/datum/chemical_reaction/slime/slimemutator - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/red - required_other = TRUE - -/datum/chemical_reaction/slime/slimemutator/on_reaction(datum/reagents/holder) - new /obj/item/slimepotion/slime/mutator(get_turf(holder.my_atom)) - ..() - -/datum/chemical_reaction/slime/slimebloodlust - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/red - required_other = TRUE - -/datum/chemical_reaction/slime/slimebloodlust/on_reaction(datum/reagents/holder) - for(var/mob/living/simple_animal/slime/slime in viewers(get_turf(holder.my_atom), null)) - if(slime.docile) //Undoes docility, but doesn't make rabid. - slime.visible_message("[slime] forgets its training, becoming wild once again!") - slime.docile = FALSE - slime.update_name() - continue - slime.rabid = 1 - slime.visible_message("The [slime] is driven into a frenzy!") - ..() - -/datum/chemical_reaction/slime/slimespeed - required_reagents = list(/datum/reagent/water = 1) - required_container = /obj/item/slime_extract/red - required_other = TRUE - -/datum/chemical_reaction/slime/slimespeed/on_reaction(datum/reagents/holder) - new /obj/item/slimepotion/speed(get_turf(holder.my_atom)) - ..() - -//Pink -/datum/chemical_reaction/slime/docility - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/pink - required_other = TRUE - -/datum/chemical_reaction/slime/docility/on_reaction(datum/reagents/holder) - new /obj/item/slimepotion/slime/docility(get_turf(holder.my_atom)) - ..() - -/datum/chemical_reaction/slime/gender - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/pink - required_other = TRUE - -/datum/chemical_reaction/slime/gender/on_reaction(datum/reagents/holder) - new /obj/item/slimepotion/genderchange(get_turf(holder.my_atom)) - ..() - -//Black -/datum/chemical_reaction/slime/slimemutate2 - results = list(/datum/reagent/aslimetoxin = 1) - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_other = TRUE - required_container = /obj/item/slime_extract/black - -//Oil -/datum/chemical_reaction/slime/slimeexplosion - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/oil - required_other = TRUE - deletes_extract = FALSE - -/datum/chemical_reaction/slime/slimeexplosion/on_reaction(datum/reagents/holder) - var/turf/T = get_turf(holder.my_atom) - var/lastkey = holder.my_atom.fingerprintslast - var/touch_msg = "N/A" - if(lastkey) - var/mob/toucher = get_mob_by_key(lastkey) - touch_msg = "[ADMIN_LOOKUPFLW(toucher)]." - message_admins("Slime Explosion reaction started at [ADMIN_VERBOSEJMP(T)]. Last Fingerprint: [touch_msg]") - log_game("Slime Explosion reaction started at [AREACOORD(T)]. Last Fingerprint: [lastkey ? lastkey : "N/A"].") - T.visible_message("The slime extract begins to vibrate violently !") - addtimer(CALLBACK(src, PROC_REF(boom), holder), 50) - var/obj/item/slime_extract/M = holder.my_atom - deltimer(M.qdel_timer) - ..() - M.qdel_timer = addtimer(CALLBACK(src, PROC_REF(delete_extract), holder), 55, TIMER_STOPPABLE) - -/datum/chemical_reaction/slime/slimeexplosion/proc/boom(datum/reagents/holder) - if(holder && holder.my_atom) - explosion(get_turf(holder.my_atom), 1 ,3, 6) - - -/datum/chemical_reaction/slime/slimecornoil - results = list(/datum/reagent/consumable/cornoil = 10) - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/oil - required_other = TRUE - -//Light Pink -/datum/chemical_reaction/slime/slimepotion2 - required_container = /obj/item/slime_extract/lightpink - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_other = TRUE - -/datum/chemical_reaction/slime/slimepotion2/on_reaction(datum/reagents/holder) - new /obj/item/slimepotion/slime/sentience(get_turf(holder.my_atom)) - ..() - -/datum/chemical_reaction/slime/renaming - required_container = /obj/item/slime_extract/lightpink - required_reagents = list(/datum/reagent/water = 1) - required_other = TRUE - -/datum/chemical_reaction/slime/renaming/on_reaction(datum/reagents/holder) - new /obj/item/slimepotion/slime/renaming(holder.my_atom.drop_location()) - ..() - - -//Adamantine -/datum/chemical_reaction/slime/adamantine - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/adamantine - required_other = TRUE - -/datum/chemical_reaction/slime/adamantine/on_reaction(datum/reagents/holder) - new /obj/item/stack/sheet/mineral/hidden/hellstone(get_turf(holder.my_atom)) - ..() - -//Bluespace -/datum/chemical_reaction/slime/slimefloor2 - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/bluespace - required_other = TRUE - -/datum/chemical_reaction/slime/slimefloor2/on_reaction(datum/reagents/holder, created_volume) - new /obj/item/stack/tile/bluespace(get_turf(holder.my_atom), 25) - ..() - - -/datum/chemical_reaction/slime/slimecrystal - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/bluespace - required_other = TRUE - -/datum/chemical_reaction/slime/slimecrystal/on_reaction(datum/reagents/holder, created_volume) - var/obj/item/stack/ore/bluespace_crystal/BC = new (get_turf(holder.my_atom)) - BC.visible_message("The [BC.name] appears out of thin air!") - ..() - -/datum/chemical_reaction/slime/slimeradio - required_reagents = list(/datum/reagent/water = 1) - required_container = /obj/item/slime_extract/bluespace - required_other = TRUE - -/datum/chemical_reaction/slime/slimeradio/on_reaction(datum/reagents/holder, created_volume) - new /obj/item/slimepotion/slime/slimeradio(get_turf(holder.my_atom)) - ..() - -//Cerulean -/datum/chemical_reaction/slime/slimepsteroid2 - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/cerulean - required_other = TRUE - -/datum/chemical_reaction/slime/slimepsteroid2/on_reaction(datum/reagents/holder) - new /obj/item/slimepotion/enhancer(get_turf(holder.my_atom)) - ..() - -/datum/chemical_reaction/slime/slime_territory - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/cerulean - required_other = TRUE - -/datum/chemical_reaction/slime/slime_territory/on_reaction(datum/reagents/holder) - new /obj/item/areaeditor/blueprints/slime(get_turf(holder.my_atom)) - ..() - -//Sepia -/datum/chemical_reaction/slime/slimestop - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/sepia - required_other = TRUE - -/datum/chemical_reaction/slime/slimestop/on_reaction(datum/reagents/holder) - addtimer(CALLBACK(src, PROC_REF(slime_stop), holder), 5 SECONDS) - -/datum/chemical_reaction/slime/slimestop/proc/slime_stop(datum/reagents/holder) - var/obj/item/slime_extract/sepia/extract = holder.my_atom - var/turf/T = get_turf(holder.my_atom) - new /obj/effect/timestop(T, null, null, null) - if(istype(extract)) - if(extract.Uses > 0) - var/mob/lastheld = get_mob_by_key(holder.my_atom.fingerprintslast) - if(lastheld && !lastheld.equip_to_slot_if_possible(extract, ITEM_SLOT_HANDS, disable_warning = TRUE)) - extract.forceMove(get_turf(lastheld)) - use_slime_core(holder) - -/datum/chemical_reaction/slime/slimecamera - required_reagents = list(/datum/reagent/water = 1) - required_container = /obj/item/slime_extract/sepia - required_other = TRUE - -/datum/chemical_reaction/slime/slimecamera/on_reaction(datum/reagents/holder) - new /obj/item/camera(get_turf(holder.my_atom)) - new /obj/item/camera_film(get_turf(holder.my_atom)) - ..() - -/datum/chemical_reaction/slime/slimefloor - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/sepia - required_other = TRUE - -/datum/chemical_reaction/slime/slimefloor/on_reaction(datum/reagents/holder) - new /obj/item/stack/tile/sepia(get_turf(holder.my_atom), 25) - ..() - -//Pyrite -/datum/chemical_reaction/slime/slimepaint - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_container = /obj/item/slime_extract/pyrite - required_other = TRUE - -/datum/chemical_reaction/slime/slimepaint/on_reaction(datum/reagents/holder) - var/chosen = pick(subtypesof(/obj/item/paint)) - new chosen(get_turf(holder.my_atom)) - ..() - -/datum/chemical_reaction/slime/slimecrayon - required_reagents = list(/datum/reagent/blood = 1) - required_container = /obj/item/slime_extract/pyrite - required_other = TRUE - -/datum/chemical_reaction/slime/slimecrayon/on_reaction(datum/reagents/holder) - var/chosen = pick(difflist(subtypesof(/obj/item/toy/crayon),typesof(/obj/item/toy/crayon/spraycan))) - new chosen(get_turf(holder.my_atom)) - ..() - -//Rainbow :o) -/datum/chemical_reaction/slime/slimeRNG - required_reagents = list(/datum/reagent/toxin/plasma = 1) - required_other = TRUE - required_container = /obj/item/slime_extract/rainbow - -/datum/chemical_reaction/slime/slimeRNG/on_reaction(datum/reagents/holder, created_volume) - if(created_volume >= 5) - var/obj/item/grenade/clusterbuster/slime/S = new (get_turf(holder.my_atom)) - S.visible_message("Infused with plasma, the core begins to expand uncontrollably!") - S.icon_state = "[S.base_state]_active" - S.active = TRUE - addtimer(CALLBACK(S, TYPE_PROC_REF(/obj/item/grenade, prime)), rand(15,60)) - else - var/mob/living/simple_animal/slime/random/S = new (get_turf(holder.my_atom)) - S.visible_message("Infused with plasma, the core begins to quiver and grow, and a new baby slime emerges from it!") - ..() - -/datum/chemical_reaction/slime/slimebomb - required_reagents = list(/datum/reagent/toxin/slimejelly = 1) - required_other = TRUE - required_container = /obj/item/slime_extract/rainbow - -/datum/chemical_reaction/slime/slimebomb/on_reaction(datum/reagents/holder, created_volume) - var/turf/T = get_turf(holder.my_atom) - var/obj/item/grenade/clusterbuster/slime/volatile/S = new (T) - S.visible_message("Infused with slime jelly, the core begins to expand uncontrollably!") - S.icon_state = "[S.base_state]_active" - S.active = TRUE - addtimer(CALLBACK(S, TYPE_PROC_REF(/obj/item/grenade, prime)), rand(15,60)) - var/lastkey = holder.my_atom.fingerprintslast - var/touch_msg = "N/A" - if(lastkey) - var/mob/toucher = get_mob_by_key(lastkey) - touch_msg = "[ADMIN_LOOKUPFLW(toucher)]." - message_admins("Brorble Brorble primed at [ADMIN_VERBOSEJMP(T)]. Last Fingerprint: [touch_msg]") - log_game("Brorble Brorble primed at [AREACOORD(T)]. Last Fingerprint: [lastkey ? lastkey : "N/A"].") - ..() - -/datum/chemical_reaction/slime/slime_transfer - required_reagents = list(/datum/reagent/blood = 1) - required_other = TRUE - required_container = /obj/item/slime_extract/rainbow - -/datum/chemical_reaction/slime/slime_transfer/on_reaction(datum/reagents/holder) - new /obj/item/slimepotion/transference(get_turf(holder.my_atom)) - ..() - -/datum/chemical_reaction/slime/flight_potion - required_reagents = list(/datum/reagent/water/holywater = 5, /datum/reagent/uranium = 5) - required_other = TRUE - required_container = /obj/item/slime_extract/rainbow - -/datum/chemical_reaction/slime/flight_potion/on_reaction(datum/reagents/holder) - new /obj/item/reagent_containers/glass/bottle/potion/flight(get_turf(holder.my_atom)) - ..() diff --git a/code/modules/research/designs/comp_board_designs.dm b/code/modules/research/designs/comp_board_designs.dm index 2ba8ef1e2d7a..baa48134abbd 100644 --- a/code/modules/research/designs/comp_board_designs.dm +++ b/code/modules/research/designs/comp_board_designs.dm @@ -38,14 +38,6 @@ category = list("Computer Boards") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE -/datum/design/board/xenobiocamera - name = "Computer Design (Xenobiology Console)" - desc = "Allows for the construction of circuit boards used to build xenobiology camera computers." - id = "xenobioconsole" - build_path = /obj/item/circuitboard/computer/xenobiology - category = list("Computer Boards") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - /datum/design/board/aiupload name = "Computer Design (AI Upload)" desc = "Allows for the construction of circuit boards used to build an AI Upload Console." diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index bbc83dd1e705..737572ef2fc2 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -332,15 +332,6 @@ build_path = /obj/item/circuitboard/machine/smartfridge category = list ("Misc. Machinery") - -/datum/design/board/monkey_recycler - name = "Machine Design (Monkey Recycler Board)" - desc = "The circuit board for a monkey recycler." - id = "monkey_recycler" - build_path = /obj/item/circuitboard/machine/monkey_recycler - category = list ("Misc. Machinery") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_SERVICE - /datum/design/board/seed_extractor name = "Machine Design (Seed Extractor Board)" desc = "The circuit board for a seed extractor." diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index ce473ad739cb..64e5a0921b2b 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -82,7 +82,6 @@ /obj/item/grenade, /obj/item/aicard, /obj/item/storage/backpack/holding, - /obj/item/slime_extract, /obj/item/onetankbomb, /obj/item/transfer_valve)) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index c60264ae0e98..77f307868674 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -123,35 +123,6 @@ Nothing else in the console has ID requirements. return ..() /obj/machinery/computer/rdconsole/attackby(obj/item/D, mob/user, params) - if(istype(D, /obj/item/slime_extract)) - var/obj/item/slime_extract/E = D - // [CELADON-EDIT] - CELADON_FIXES - Попытка починить абуз - // if(!slime_already_researched[E.type]) // CELADON-EDIT - ORIGINAL - if(!GLOB.slime_already_researched[E.type]) - // [/CELADON-EDIT] - if(!E.research) - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 3, -1) - visible_message("[src] buzzes and displays a message: Invalid extract! (You shouldn't be seeing this. If you are, tell someone.)") - return - if(E.Uses <= 0) - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 3, -1) - visible_message("[src] buzzes and displays a message: Extract consumed - no research available.") - return - else - playsound(src, 'sound/machines/ping.ogg', 50, 3, -1) - visible_message("[user] inserts [E] into a slot on the [src]!", "You insert [E] into a slot on the [src], producting [E.research] points from the extract's chemical makeup!") - stored_research.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = E.research)) - // [CELADON-EDIT] - CELADON_FIXES - Попытка починить абуз - // slime_already_researched[E.type] = TRUE // CELADON-EDIT - ORIGINAL - GLOB.slime_already_researched[E.type] = TRUE - // [/CELADON-EDIT] - qdel(D) - return - else - visible_message("[src] buzzes and displays a message: Slime extract already researched!") - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 3, -1) - return - if(istype(D, /obj/item/seeds)) var/obj/item/seeds/E = D // [CELADON-EDIT] - CELADON_FIXES - Попытка починить абуз diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index d97b19070d57..15ead79b3b59 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -119,7 +119,7 @@ display_name = "Biological Processing" description = "From slimes to kitchens." prereq_ids = list("biotech") - design_ids = list("smartfridge", "gibber", "deepfryer", "monkey_recycler", "processor", "gibber", "microwave", "reagentgrinder", "dish_drive") + design_ids = list("smartfridge", "gibber", "deepfryer", "processor", "gibber", "microwave", "reagentgrinder", "dish_drive") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -230,7 +230,7 @@ display_name = "Basic Bluespace Theory" description = "Basic studies into the mysterious alternate dimension known as bluespace." prereq_ids = list("base") - design_ids = list("beacon", "xenobioconsole", "telesci_gps", "bluespace_crystal") + design_ids = list("beacon", "telesci_gps", "bluespace_crystal") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 diff --git a/code/modules/research/xenobiology/crossbreeding/__corecross.dm b/code/modules/research/xenobiology/crossbreeding/__corecross.dm deleted file mode 100644 index e2cfe4b40871..000000000000 --- a/code/modules/research/xenobiology/crossbreeding/__corecross.dm +++ /dev/null @@ -1,193 +0,0 @@ -////////////////////////////////////////////// -////////// SLIME CROSSBREEDS ////////// -////////////////////////////////////////////// -// A system of combining two extract types. // -// Performed by feeding a slime 10 of an // -// extract color. // -////////////////////////////////////////////// -/*==========================================*\ -To add a crossbreed: - The file name is automatically selected - by the crossbreeding effect, which uses - the format slimecross/[modifier]/[color]. - - If a crossbreed doesn't exist, don't - worry. If no file is found at that - location, it will simple display that - the crossbreed was too unstable. - - As a result, do not feel the need to - try to add all of the crossbred - effects at once, if you're here and - trying to make a new slime type. Just - get your slimetype in the codebase and - get around to the crossbreeds eventually! -\*==========================================*/ - -/obj/item/slimecross //The base type for crossbred extracts. Mostly here for posterity, and to set base case things. - name = "crossbred slime extract" - desc = "An extremely potent slime extract, formed through crossbreeding." - icon = 'icons/obj/slimecrossing.dmi' - icon_state = "base" - var/colour = "null" - var/effect = "null" - var/effect_desc = "null" - force = 0 - w_class = WEIGHT_CLASS_TINY - throwforce = 0 - throw_speed = 3 - throw_range = 6 - -/obj/item/slimecross/examine(mob/user) - . = ..() - if(effect_desc) - . += "[effect_desc]" - -/obj/item/slimecross/Initialize() - . = ..() - name = effect + " " + colour + " extract" - var/itemcolor = "#FFFFFF" - switch(colour) - if("orange") - itemcolor = "#FFA500" - if("purple") - itemcolor = "#B19CD9" - if("blue") - itemcolor = "#ADD8E6" - if("metal") - itemcolor = "#7E7E7E" - if("yellow") - itemcolor = "#FFFF00" - if("dark purple") - itemcolor = "#551A8B" - if("dark blue") - itemcolor = "#0000FF" - if("silver") - itemcolor = "#D3D3D3" - if("bluespace") - itemcolor = "#32CD32" - if("sepia") - itemcolor = "#704214" - if("cerulean") - itemcolor = "#2956B2" - if("pyrite") - itemcolor = "#FAFAD2" - if("red") - itemcolor = "#FF0000" - if("green") - itemcolor = "#00FF00" - if("pink") - itemcolor = "#FF69B4" - if("gold") - itemcolor = "#FFD700" - if("oil") - itemcolor = "#505050" - if("black") - itemcolor = "#000000" - if("light pink") - itemcolor = "#FFB6C1" - if("adamantine") - itemcolor = "#008B8B" - add_atom_colour(itemcolor, FIXED_COLOUR_PRIORITY) - -/obj/item/slimecrossbeaker //To be used as a result for extract reactions that make chemicals. - name = "result extract" - desc = "You shouldn't see this." - icon = 'icons/obj/slimecrossing.dmi' - icon_state = "base" - var/del_on_empty = TRUE - var/list/list_reagents - -/obj/item/slimecrossbeaker/Initialize() - . = ..() - create_reagents(50, INJECTABLE | DRAWABLE) - if(list_reagents) - for(var/reagent in list_reagents) - reagents.add_reagent(reagent, list_reagents[reagent]) - if(del_on_empty) - START_PROCESSING(SSobj,src) - -/obj/item/slimecrossbeaker/Destroy() - STOP_PROCESSING(SSobj,src) - return ..() - -/obj/item/slimecrossbeaker/process() - if(!reagents.total_volume) - visible_message("[src] has been drained completely, and melts away.") - qdel(src) - -/obj/item/slimecrossbeaker/bloodpack //Pack of 50u blood. Deletes on empty. - name = "blood extract" - desc = "A sphere of liquid blood, somehow managing to stay together." - color = "#FF0000" - list_reagents = list(/datum/reagent/blood = 50) - -/obj/item/slimecrossbeaker/pax //5u synthpax. - name = "peace-inducing extract" - desc = "A small blob of synthetic pax." - color = "#FFCCCC" - list_reagents = list(/datum/reagent/pax/peaceborg = 5) - -/obj/item/slimecrossbeaker/omnizine //15u omnizine. - name = "healing extract" - desc = "A gelatinous extract of pure omnizine." - color = "#FF00FF" - list_reagents = list(/datum/reagent/medicine/omnizine = 15) - -/obj/item/slimecrossbeaker/autoinjector //As with the above, but automatically injects whomever it is used on with contents. - var/ignore_flags = FALSE - var/self_use_only = FALSE - -/obj/item/slimecrossbeaker/autoinjector/Initialize() - . = ..() - reagents.flags = DRAWABLE // Cannot be refilled, since it's basically an autoinjector! - -/obj/item/slimecrossbeaker/autoinjector/attack(mob/living/M, mob/user) - if(!reagents.total_volume) - to_chat(user, "[src] is empty!") - return - if(!iscarbon(M)) - return - if(self_use_only && M != user) - to_chat(user, "This can only be used on yourself.") - return - if(reagents.total_volume && (ignore_flags || M.can_inject(user, 1))) - reagents.trans_to(M, reagents.total_volume, transfered_by = user) - if(user != M) - to_chat(M, "[user] presses [src] against you!") - to_chat(user, "You press [src] against [M], injecting [M.p_them()].") - else - to_chat(user, "You press [src] against yourself, and it flattens against you!") - else - to_chat(user, "There's no place to stick [src]!") - -/obj/item/slimecrossbeaker/autoinjector/regenpack - ignore_flags = TRUE //It is, after all, intended to heal. - name = "mending solution" - desc = "A strange glob of sweet-smelling semifluid, which seems to stick to skin rather easily." - color = "#FF00FF" - list_reagents = list(/datum/reagent/medicine/regen_jelly = 20) - -/obj/item/slimecrossbeaker/autoinjector/slimejelly //Primarily for slimepeople, but you do you. - self_use_only = TRUE - ignore_flags = TRUE - name = "slime jelly bubble" - desc = "A sphere of slime jelly. It seems to stick to your skin, but avoids other surfaces." - color = "#00FF00" - list_reagents = list(/datum/reagent/toxin/slimejelly = 50) - -/obj/item/slimecrossbeaker/autoinjector/peaceandlove - name = "peaceful distillation" - desc = "A light pink gooey sphere. Simply touching it makes you a little dizzy." - color = "#DDAAAA" - list_reagents = list(/datum/reagent/pax/peaceborg = 10, /datum/reagent/drug/space_drugs = 15) //Peace, dudes - -/obj/item/slimecrossbeaker/autoinjector/peaceandlove/Initialize() - . = ..() - reagents.flags = NONE // It won't be *that* easy to get your hands on pax. - -/obj/item/slimecrossbeaker/autoinjector/slimestimulant - name = "invigorating gel" - desc = "A bubbling purple mixture, designed to heal and boost movement." - color = "#FF00FF" - list_reagents = list(/datum/reagent/medicine/regen_jelly = 30, /datum/reagent/drug/methamphetamine = 9) diff --git a/code/modules/research/xenobiology/crossbreeding/_clothing.dm b/code/modules/research/xenobiology/crossbreeding/_clothing.dm deleted file mode 100644 index 3d466983f430..000000000000 --- a/code/modules/research/xenobiology/crossbreeding/_clothing.dm +++ /dev/null @@ -1,78 +0,0 @@ -/* -Slimecrossing Armor - Armor added by the slimecrossing system. - Collected here for clarity. -*/ - -//Rebreather mask - Chilling Blue -/obj/item/clothing/mask/nobreath - name = "rebreather mask" - desc = "A transparent mask, resembling a conventional breath mask, but made of bluish slime. Seems to lack any air supply tube, though." - icon_state = "slime" - item_state = "slime" - body_parts_covered = NONE - w_class = WEIGHT_CLASS_SMALL - gas_transfer_coefficient = 0 - permeability_coefficient = 0.5 - flags_cover = MASKCOVERSMOUTH - resistance_flags = NONE - -/obj/item/clothing/mask/nobreath/equipped(mob/living/carbon/human/user, slot) - . = ..() - if(slot == ITEM_SLOT_MASK) - ADD_TRAIT(user, TRAIT_NOBREATH, "breathmask_[REF(src)]") - user.failed_last_breath = FALSE - user.clear_alert("not_enough_oxy") - user.apply_status_effect(/datum/status_effect/rebreathing) - -/obj/item/clothing/mask/nobreath/dropped(mob/living/carbon/human/user) - ..() - REMOVE_TRAIT(user, TRAIT_NOBREATH, "breathmask_[REF(src)]") - user.remove_status_effect(/datum/status_effect/rebreathing) - -/obj/item/clothing/head/peaceflower - name = "heroine bud" - desc = "An extremely addictive flower, full of peace magic." - icon = 'icons/obj/slimecrossing.dmi' - icon_state = "peaceflower" - item_state = "peaceflower" - slot_flags = ITEM_SLOT_HEAD - body_parts_covered = NONE - force = 0 - throwforce = 0 - w_class = WEIGHT_CLASS_TINY - throw_speed = 1 - throw_range = 3 - -/obj/item/clothing/head/peaceflower/equipped(mob/living/carbon/human/user, slot) - . = ..() - if(slot == ITEM_SLOT_HEAD) - ADD_TRAIT(user, TRAIT_PACIFISM, "peaceflower_[REF(src)]") - -/obj/item/clothing/head/peaceflower/dropped(mob/living/carbon/human/user) - ..() - REMOVE_TRAIT(user, TRAIT_PACIFISM, "peaceflower_[REF(src)]") - -/obj/item/clothing/head/peaceflower/attack_hand(mob/user) - if(iscarbon(user)) - var/mob/living/carbon/C = user - if(src == C.head) - to_chat(user, "You feel at peace. Why would you want anything else?") - return - return ..() - -/obj/item/clothing/suit/armor/heavy/adamantine - name = "adamantine armor" - desc = "A full suit of adamantine plate armor. Impressively resistant to damage, but weighs about as much as you do." - icon_state = "adamsuit" - item_state = "adamsuit" - flags_inv = NONE - obj_flags = IMMUTABLE_SLOW - slowdown = 4 - var/hit_reflect_chance = 40 - -/obj/item/clothing/suit/armor/heavy/adamantine/IsReflect(def_zone) - if(def_zone in list(BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG) && prob(hit_reflect_chance)) - return TRUE - else - return FALSE diff --git a/code/modules/research/xenobiology/crossbreeding/_misc.dm b/code/modules/research/xenobiology/crossbreeding/_misc.dm deleted file mode 100644 index 2af2ecf64689..000000000000 --- a/code/modules/research/xenobiology/crossbreeding/_misc.dm +++ /dev/null @@ -1,234 +0,0 @@ -/* -Slimecrossing Items - General items added by the slimecrossing system. - Collected here for clarity. -*/ - -//Rewind camera - I'm already Burning Sepia -/obj/item/camera/rewind - name = "sepia-tinted camera" - desc = "They say a picture is like a moment stopped in time." - pictures_left = 1 - pictures_max = 1 - can_customise = FALSE - default_picture_name = "A nostalgic picture" - var/used = FALSE - -/datum/saved_bodypart - var/obj/item/bodypart/old_part - var/bodypart_type - var/brute_dam - var/burn_dam - var/stamina_dam - -/datum/saved_bodypart/New(obj/item/bodypart/part) - old_part = part - bodypart_type = part.type - brute_dam = part.brute_dam - burn_dam = part.burn_dam - stamina_dam = part.stamina_dam - -/mob/living/carbon/proc/apply_saved_bodyparts(list/datum/saved_bodypart/parts) - var/list/dont_chop = list() - for(var/zone in parts) - var/datum/saved_bodypart/saved_part = parts[zone] - var/obj/item/bodypart/already = get_bodypart(zone) - if(QDELETED(saved_part.old_part)) - saved_part.old_part = new saved_part.bodypart_type - if(!already || already != saved_part.old_part) - saved_part.old_part.replace_limb(src, TRUE) - saved_part.old_part.heal_damage(INFINITY, INFINITY, INFINITY, null, FALSE) - saved_part.old_part.receive_damage(saved_part.brute_dam, saved_part.burn_dam, saved_part.stamina_dam) - dont_chop[zone] = TRUE - for(var/obj/item/bodypart/BP as anything in bodyparts) - if(dont_chop[BP.body_zone]) - continue - BP.drop_limb(TRUE) - -/mob/living/carbon/proc/save_bodyparts() - var/list/datum/saved_bodypart/ret = list() - for(var/_part in bodyparts) - var/obj/item/bodypart/part = _part - var/datum/saved_bodypart/saved_part = new(part) - - ret[part.body_zone] = saved_part - return ret - -/obj/item/camera/rewind/afterattack(atom/target, mob/user, flag) - if(!on || !pictures_left || !isturf(target.loc)) - return - if(!used)//selfie time - if(user == target) - to_chat(user, "You take a selfie!") - else - to_chat(user, "You take a photo with [target]!") - to_chat(target, "[user] takes a photo with you!") - to_chat(target, "You'll remember this moment forever!") - - used = TRUE - target.AddComponent(/datum/component/dejavu, 2) - .=..() - -/obj/item/camera/rewind/loot - pictures_left = 5 - pictures_max = 5 - -//Timefreeze camera - Old Burning Sepia result. Kept in case admins want to spawn it -/obj/item/camera/timefreeze - name = "sepia-tinted camera" - desc = "They say a picture is like a moment stopped in time." - pictures_left = 1 - pictures_max = 1 - var/used = FALSE - -/obj/item/camera/timefreeze/afterattack(atom/target, mob/user, flag) - if(!on || !pictures_left || !isturf(target.loc)) - return - if(!used) //refilling the film does not refill the timestop - new /obj/effect/timestop(get_turf(target), 2, 50, list(user)) - used = TRUE - desc = "This camera has seen better days." - . = ..() - - -//Hypercharged slime cell - Charged Yellow -/obj/item/stock_parts/cell/high/slime/hypercharged - name = "hypercharged slime core" - desc = "A charged yellow slime extract, infused with even more plasma. It almost hurts to touch." - rating = 7 //Roughly 1.5 times the original. - maxcharge = 20000 //2 times the normal one. - chargerate = 2250 //1.5 times the normal rate. - -//Barrier cube - Chilling Grey -/obj/item/barriercube - name = "barrier cube" - desc = "A compressed cube of slime. When squeezed, it grows to massive size!" - icon = 'icons/obj/slimecrossing.dmi' - icon_state = "barriercube" - w_class = WEIGHT_CLASS_TINY - -/obj/item/barriercube/attack_self(mob/user) - if(locate(/obj/structure/barricade/slime) in get_turf(loc)) - to_chat(user, "You can't fit more than one barrier in the same space!") - return - to_chat(user, "You squeeze [src].") - var/obj/B = new /obj/structure/barricade/slime(get_turf(loc)) - B.visible_message("[src] suddenly grows into a large, gelatinous barrier!") - qdel(src) - -//Slime barricade - Chilling Grey -/obj/structure/barricade/slime - name = "gelatinous barrier" - desc = "A huge chunk of grey slime. Bullets might get stuck in it." - icon = 'icons/obj/slimecrossing.dmi' - icon_state = "slimebarrier" - proj_pass_rate = 40 - max_integrity = 60 - -//Melting Gel Wall - Chilling Metal -/obj/effect/forcefield/slimewall - name = "solidified gel" - desc = "A mass of solidified slime gel - completely impenetrable, but it's melting away!" - icon = 'icons/obj/slimecrossing.dmi' - icon_state = "slimebarrier_thick" - CanAtmosPass = ATMOS_PASS_NO - opacity = TRUE - timeleft = 100 - -//Rainbow barrier - Chilling Rainbow -/obj/effect/forcefield/slimewall/rainbow - name = "rainbow barrier" - desc = "Despite others' urgings, you probably shouldn't taste this." - icon_state = "rainbowbarrier" - -//Ration pack - Chilling Silver -/obj/item/reagent_containers/food/snacks/rationpack - name = "ration pack" - desc = "A square bar that sadly looks like chocolate, packaged in a nondescript grey wrapper. Has saved soldiers' lives before - usually by stopping bullets." - icon_state = "rationpack" - bitesize = 3 - junkiness = 15 - filling_color = "#964B00" - tastes = list("cardboard" = 3, "sadness" = 3) - foodtype = null //Don't ask what went into them. You're better off not knowing. - list_reagents = list(/datum/reagent/consumable/nutriment/stabilized = 10, /datum/reagent/consumable/nutriment = 2) //Won't make you fat. Will make you question your sanity. - -/obj/item/reagent_containers/food/snacks/rationpack/checkLiked(fraction, mob/M) //Nobody likes rationpacks. Nobody. - if(last_check_time + 50 < world.time) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - if(H.mind && !HAS_TRAIT(H, TRAIT_AGEUSIA)) - to_chat(H,"That didn't taste very good...") //No disgust, though. It's just not good tasting. - SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "gross_food", /datum/mood_event/gross_food) - last_check_time = world.time - return - ..() - -//Ice stasis block - Chilling Dark Blue -/obj/structure/ice_stasis - name = "ice block" - desc = "A massive block of ice. You can see something vaguely humanoid inside." - icon = 'icons/obj/slimecrossing.dmi' - icon_state = "frozen" - density = TRUE - max_integrity = 100 - armor = list("melee" = 30, "bullet" = 50, "laser" = -50, "energy" = -50, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = -80, "acid" = 30) - -/obj/structure/ice_stasis/Initialize() - . = ..() - playsound(src, 'sound/magic/ethereal_exit.ogg', 50, TRUE) - -/obj/structure/ice_stasis/Destroy() - for(var/atom/movable/M in contents) - M.forceMove(loc) - playsound(src, 'sound/effects/glassbr3.ogg', 50, TRUE) - return ..() - -//Gold capture device - Chilling Gold -/obj/item/capturedevice - name = "gold capture device" - desc = "Bluespace technology packed into a roughly egg-shaped device, used to store nonhuman creatures. Can't catch them all, though - it only fits one." - w_class = WEIGHT_CLASS_SMALL - icon = 'icons/obj/slimecrossing.dmi' - icon_state = "capturedevice" - -/obj/item/capturedevice/attack(mob/living/M, mob/user) - if(length(contents)) - to_chat(user, "The device already has something inside.") - return - if(!isanimal(M)) - to_chat(user, "The capture device only works on simple creatures.") - return - if(M.mind) - to_chat(user, "You offer the device to [M].") - if(alert(M, "Would you like to enter [user]'s capture device?", "Gold Capture Device", "Yes", "No") == "Yes") - if(user.canUseTopic(src, BE_CLOSE) && user.canUseTopic(M, BE_CLOSE)) - to_chat(user, "You store [M] in the capture device.") - to_chat(M, "The world warps around you, and you're suddenly in an endless void, with a window to the outside floating in front of you.") - store(M, user) - else - to_chat(user, "You were too far away from [M].") - to_chat(M, "You were too far away from [user].") - else - to_chat(user, "[M] refused to enter the device.") - return - else - if(istype(M, /mob/living/simple_animal/hostile) && !("neutral" in M.faction)) - to_chat(user, "This creature is too aggressive to capture.") - return - to_chat(user, "You store [M] in the capture device.") - store(M) - -/obj/item/capturedevice/attack_self(mob/user) - if(contents.len) - to_chat(user, "You open the capture device!") - release() - else - to_chat(user, "The device is empty...") - -/obj/item/capturedevice/proc/store(mob/living/M) - M.forceMove(src) - -/obj/item/capturedevice/proc/release() - for(var/atom/movable/M in contents) - M.forceMove(get_turf(loc)) diff --git a/code/modules/research/xenobiology/crossbreeding/_mobs.dm b/code/modules/research/xenobiology/crossbreeding/_mobs.dm deleted file mode 100644 index 0d155f2f90f7..000000000000 --- a/code/modules/research/xenobiology/crossbreeding/_mobs.dm +++ /dev/null @@ -1,45 +0,0 @@ -/* -Slimecrossing Mobs - Mobs and effects added by the slimecrossing system. - Collected here for clarity. -*/ - -//Slime transformation power - Burning Black -/obj/effect/proc_holder/spell/targeted/shapeshift/slimeform - name = "Slime Transformation" - desc = "Transform from a human to a slime, or back again!" - action_icon_state = "transformslime" - cooldown_min = 0 - charge_max = 0 - invocation_type = "none" - shapeshift_type = /mob/living/simple_animal/slime/transformedslime - convert_damage = TRUE - convert_damage_type = CLONE - var/remove_on_restore = FALSE - -/obj/effect/proc_holder/spell/targeted/shapeshift/slimeform/Restore(mob/living/M) - if(remove_on_restore) - if(M.mind) - M.mind.RemoveSpell(src) - ..() - -//Transformed slime - Burning Black -/mob/living/simple_animal/slime/transformedslime - -/mob/living/simple_animal/slime/transformedslime/Reproduce() //Just in case. - to_chat(src, "I can't reproduce...") - return - -//Slime corgi - Chilling Pink -/mob/living/simple_animal/pet/dog/corgi/puppy/slime - name = "\improper slime corgi puppy" - real_name = "slime corgi puppy" - desc = "An unbearably cute pink slime corgi puppy." - icon_state = "slime_puppy" - icon_living = "slime_puppy" - icon_dead = "slime_puppy_dead" - nofur = TRUE - gold_core_spawnable = NO_SPAWN - speak_emote = list("blorbles", "bubbles", "borks") - emote_hear = list("bubbles!", "splorts.", "splops!") - emote_see = list("gets goop everywhere.", "flops.", "jiggles!") diff --git a/code/modules/research/xenobiology/crossbreeding/_potions.dm b/code/modules/research/xenobiology/crossbreeding/_potions.dm deleted file mode 100644 index fc9d9ef06c6a..000000000000 --- a/code/modules/research/xenobiology/crossbreeding/_potions.dm +++ /dev/null @@ -1,217 +0,0 @@ -/* -Slimecrossing Potions - Potions added by the slimecrossing system. - Collected here for clarity. -*/ - -//Extract cloner - Charged Grey -/obj/item/slimepotion/extract_cloner - name = "extract cloning potion" - desc = "An more powerful version of the extract enhancer potion, capable of cloning regular slime extracts." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potpurple" - -/obj/item/slimepotion/extract_cloner/afterattack(obj/item/target, mob/user , proximity) - if(!proximity) - return - if(istype(target, /obj/item/reagent_containers)) - return ..(target, user, proximity) - if(istype(target, /obj/item/slimecross)) - to_chat(user, "[target] is too complex for the potion to clone!") - return - if(!istype(target, /obj/item/slime_extract)) - return - var/obj/item/slime_extract/S = target - if(S.recurring) - to_chat(user, "[target] is too complex for the potion to clone!") - return - var/path = S.type - var/obj/item/slime_extract/C = new path(get_turf(target)) - C.Uses = S.Uses - to_chat(user, "You pour the potion onto [target], and the fluid solidifies into a copy of it!") - qdel(src) - return - -//Peace potion - Charged Light Pink -/obj/item/slimepotion/peacepotion - name = "pacification potion" - desc = "A light pink solution of chemicals, smelling like liquid peace. And mercury salts." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potlightpink" - -/obj/item/slimepotion/peacepotion/attack(mob/living/M, mob/user) - if(!isliving(M) || M.stat == DEAD) - to_chat(user, "[src] only works on the living.") - return ..() - if(istype(M, /mob/living/simple_animal/hostile/megafauna)) - to_chat(user, "[src] does not work on beings of pure evil!") - return ..() - if(M != user) - M.visible_message("[user] starts to feed [M] [src]!", - "[user] starts to feed you [src]!") - else - M.visible_message("[user] starts to drink [src]!", - "You start to drink [src]!") - - if(!do_after(user, 100, target = M)) - return - if(M != user) - to_chat(user, "You feed [M] [src]!") - else - to_chat(user, "You drink [src]!") - if(isanimal(M)) - ADD_TRAIT(M, TRAIT_PACIFISM, MAGIC_TRAIT) - else if(iscarbon(M)) - var/mob/living/carbon/C = M - C.gain_trauma(/datum/brain_trauma/severe/pacifism, TRAUMA_RESILIENCE_SURGERY) - qdel(src) - -//Love potion - Charged Pink -/obj/item/slimepotion/lovepotion - name = "love potion" - desc = "A pink chemical mix thought to inspire feelings of love." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potpink" - -/obj/item/slimepotion/lovepotion/attack(mob/living/M, mob/user) - if(!isliving(M) || M.stat == DEAD) - to_chat(user, "The love potion only works on living things, sicko!") - return ..() - if(istype(M, /mob/living/simple_animal/hostile/megafauna)) - to_chat(user, "The love potion does not work on beings of pure evil!") - return ..() - if(user == M) - to_chat(user, "You can't drink the love potion. What are you, a narcissist?") - return ..() - if(M.has_status_effect(STATUS_EFFECT_INLOVE)) - to_chat(user, "[M] is already lovestruck!") - return ..() - - M.visible_message("[user] starts to feed [M] a love potion!", - "[user] starts to feed you a love potion!") - - if(!do_after(user, 50, target = M)) - return - to_chat(user, "You feed [M] the love potion!") - to_chat(M, "You develop feelings for [user], and anyone [user.p_they()] like.") - if(M.mind) - M.mind.store_memory("You are in love with [user].") - M.faction |= "[REF(user)]" - M.apply_status_effect(STATUS_EFFECT_INLOVE, user) - qdel(src) - -//Pressure potion - Charged Dark Blue -/obj/item/slimepotion/spaceproof - name = "slime pressurization potion" - desc = "A potent chemical sealant that will render any article of clothing airtight. Has two uses." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potblue" - var/uses = 2 - -/obj/item/slimepotion/spaceproof/afterattack(obj/item/clothing/C, mob/user, proximity) - . = ..() - if(!uses) - qdel(src) - return - if(!proximity) - return - if(!istype(C)) - to_chat(user, "The potion can only be used on clothing!") - return - if(C.min_cold_protection_temperature == SPACE_SUIT_MIN_TEMP_PROTECT && C.clothing_flags & STOPSPRESSUREDAMAGE) - to_chat(user, "The [C] is already pressure-resistant!") - return ..() - to_chat(user, "You slather the blue gunk over the [C], making it airtight.") - C.name = "pressure-resistant [C.name]" - C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) - C.add_atom_colour("#000080", FIXED_COLOUR_PRIORITY) - C.min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT - C.cold_protection = C.body_parts_covered - C.clothing_flags |= STOPSPRESSUREDAMAGE - uses-- - if(!uses) - qdel(src) - -//Enhancer potion - Charged Cerulean -/obj/item/slimepotion/enhancer/max - name = "extract maximizer" - desc = "An extremely potent chemical mix that will maximize a slime extract's uses." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potpurple" - -//Lavaproofing potion - Charged Red -/obj/item/slimepotion/lavaproof - name = "slime lavaproofing potion" - desc = "A strange, reddish goo said to repel lava as if it were water, without reducing flammability. Has two uses." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potred" - resistance_flags = LAVA_PROOF | FIRE_PROOF - var/uses = 2 - -/obj/item/slimepotion/lavaproof/afterattack(obj/item/C, mob/user, proximity) - . = ..() - if(!uses) - qdel(src) - return ..() - if(!proximity) - return ..() - if(!istype(C)) - to_chat(user, "You can't coat this with lavaproofing fluid!") - return ..() - to_chat(user, "You slather the red gunk over the [C], making it lavaproof.") - C.name = "lavaproof [C.name]" - C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) - C.add_atom_colour("#800000", FIXED_COLOUR_PRIORITY) - C.resistance_flags |= LAVA_PROOF - if (istype(C, /obj/item/clothing)) - var/obj/item/clothing/CL = C - CL.clothing_flags |= LAVAPROTECT - uses-- - if(!uses) - qdel(src) - -//Revival potion - Charged Grey -/obj/item/slimepotion/slime_reviver - name = "slime revival potion" - desc = "Infused with plasma and compressed gel, this brings dead slimes back to life." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potsilver" - -/obj/item/slimepotion/slime_reviver/attack(mob/living/simple_animal/slime/M, mob/user) - if(!isslime(M)) - to_chat(user, "The potion only works on slimes!") - return ..() - if(M.stat != DEAD) - to_chat(user, "The slime is still alive!") - return - if(M.maxHealth <= 0) - to_chat(user, "The slime is too unstable to return!") - M.revive(full_heal = TRUE, admin_revive = FALSE) - M.set_stat(CONSCIOUS) - M.visible_message("[M] is filled with renewed vigor and blinks awake!") - M.maxHealth -= 10 //Revival isn't healthy. - M.health -= 10 - M.regenerate_icons() - qdel(src) - -//Stabilizer potion - Charged Blue -/obj/item/slimepotion/slime/chargedstabilizer - name = "slime omnistabilizer" - desc = "An extremely potent chemical mix that will stop a slime from mutating completely." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potcyan" - -/obj/item/slimepotion/slime/chargedstabilizer/attack(mob/living/simple_animal/slime/M, mob/user) - if(!isslime(M)) - to_chat(user, "The stabilizer only works on slimes!") - return ..() - if(M.stat) - to_chat(user, "The slime is dead!") - return - if(M.mutation_chance == 0) - to_chat(user, "The slime already has no chance of mutating!") - return - - to_chat(user, "You feed the slime the omnistabilizer. It will not mutate this cycle!") - M.mutation_chance = 0 - qdel(src) diff --git a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm deleted file mode 100644 index 651eb2fece14..000000000000 --- a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm +++ /dev/null @@ -1,971 +0,0 @@ -/atom/movable/screen/alert/status_effect/rainbow_protection - name = "Rainbow Protection" - desc = "You are defended from harm, but so are those you might seek to injure!" - icon_state = "slime_rainbowshield" - -/datum/status_effect/rainbow_protection - id = "rainbow_protection" - duration = 100 - alert_type = /atom/movable/screen/alert/status_effect/rainbow_protection - var/originalcolor - -/datum/status_effect/rainbow_protection/on_apply() - owner.status_flags |= GODMODE - ADD_TRAIT(owner, TRAIT_PACIFISM, /datum/status_effect/rainbow_protection) - owner.visible_message("[owner] shines with a brilliant rainbow light.", - "You feel protected by an unknown force!") - originalcolor = owner.color - return ..() - -/datum/status_effect/rainbow_protection/tick() - owner.color = rgb(rand(0,255),rand(0,255),rand(0,255)) - return ..() - -/datum/status_effect/rainbow_protection/on_remove() - owner.status_flags &= ~GODMODE - owner.color = originalcolor - REMOVE_TRAIT(owner, TRAIT_PACIFISM, /datum/status_effect/rainbow_protection) - owner.visible_message("[owner] stops glowing, the rainbow light fading away.", - "You no longer feel protected...") - -/atom/movable/screen/alert/status_effect/slimeskin - name = "Adamantine Slimeskin" - desc = "You are covered in a thick, non-neutonian gel." - icon_state = "slime_stoneskin" - -/datum/status_effect/slimeskin - id = "slimeskin" - duration = 300 - alert_type = /atom/movable/screen/alert/status_effect/slimeskin - var/originalcolor - -/datum/status_effect/slimeskin/on_apply() - originalcolor = owner.color - owner.color = "#3070CC" - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.physiology.damage_resistance += 10 - owner.visible_message("[owner] is suddenly covered in a strange, blue-ish gel!", - "You are covered in a thick, rubbery gel.") - return ..() - -/datum/status_effect/slimeskin/on_remove() - owner.color = originalcolor - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.physiology.damage_resistance -= 10 - owner.visible_message("[owner]'s gel coating liquefies and dissolves away.", - "Your gel second-skin dissolves!") - -/datum/status_effect/slimerecall - id = "slime_recall" - duration = -1 //Will be removed by the extract. - alert_type = null - var/interrupted = FALSE - var/mob/target - var/icon/bluespace - -/datum/status_effect/slimerecall/on_apply() - RegisterSignal(owner, COMSIG_LIVING_RESIST, PROC_REF(resistField)) - to_chat(owner, "You feel a sudden tug from an unknown force, and feel a pull to bluespace!") - to_chat(owner, "Resist if you wish avoid the force!") - bluespace = icon('icons/effects/effects.dmi',"chronofield") - owner.add_overlay(bluespace) - return ..() - -/datum/status_effect/slimerecall/proc/resistField() - interrupted = TRUE - owner.remove_status_effect(src) -/datum/status_effect/slimerecall/on_remove() - UnregisterSignal(owner, COMSIG_LIVING_RESIST) - owner.cut_overlay(bluespace) - if(interrupted || !ismob(target)) - to_chat(owner, "The bluespace tug fades away, and you feel that the force has passed you by.") - return - owner.visible_message("[owner] disappears in a flurry of sparks!", - "The unknown force snatches briefly you from reality, and deposits you next to [target]!") - do_sparks(3, TRUE, owner) - owner.forceMove(target.loc) - -/atom/movable/screen/alert/status_effect/freon/stasis - desc = "You're frozen inside of a protective ice cube! While inside, you can't do anything, but are immune to harm! Resist to get out." - -/datum/status_effect/frozenstasis - id = "slime_frozen" - status_type = STATUS_EFFECT_UNIQUE - duration = -1 //Will remove self when block breaks. - alert_type = /atom/movable/screen/alert/status_effect/freon/stasis - var/obj/structure/ice_stasis/cube - -/datum/status_effect/frozenstasis/on_apply() - RegisterSignal(owner, COMSIG_LIVING_RESIST, PROC_REF(breakCube)) - cube = new /obj/structure/ice_stasis(get_turf(owner)) - owner.forceMove(cube) - owner.status_flags |= GODMODE - return ..() - -/datum/status_effect/frozenstasis/tick() - if(!cube || owner.loc != cube) - owner.remove_status_effect(src) - -/datum/status_effect/frozenstasis/proc/breakCube() - owner.remove_status_effect(src) - -/datum/status_effect/frozenstasis/on_remove() - if(cube) - qdel(cube) - owner.status_flags &= ~GODMODE - UnregisterSignal(owner, COMSIG_LIVING_RESIST) - -/datum/status_effect/slime_clone - id = "slime_cloned" - status_type = STATUS_EFFECT_UNIQUE - duration = -1 - alert_type = null - var/mob/living/clone - var/datum/mind/originalmind //For when the clone gibs. - -/datum/status_effect/slime_clone/on_apply() - var/typepath = owner.type - clone = new typepath(owner.loc) - var/mob/living/carbon/O = owner - var/mob/living/carbon/C = clone - if(istype(C) && istype(O)) - C.real_name = O.real_name - O.dna.transfer_identity(C) - C.updateappearance(mutcolor_update=1) - if(owner.mind) - originalmind = owner.mind - owner.mind.transfer_to(clone) - clone.apply_status_effect(/datum/status_effect/slime_clone_decay) - return ..() - -/datum/status_effect/slime_clone/tick() - if(!istype(clone) || clone.stat != CONSCIOUS) - owner.remove_status_effect(src) - -/datum/status_effect/slime_clone/on_remove() - if(clone && clone.mind && owner) - clone.mind.transfer_to(owner) - else - if(owner && originalmind) - originalmind.transfer_to(owner) - if(originalmind.key) - owner.ckey = originalmind.key - if(clone) - clone.unequip_everything() - qdel(clone) - -/atom/movable/screen/alert/status_effect/clone_decay - name = "Clone Decay" - desc = "You are simply a construct, and cannot maintain this form forever. You will be returned to your original body if you should fall." - icon_state = "slime_clonedecay" - -/datum/status_effect/slime_clone_decay - id = "slime_clonedecay" - status_type = STATUS_EFFECT_UNIQUE - duration = -1 - alert_type = /atom/movable/screen/alert/status_effect/clone_decay - -/datum/status_effect/slime_clone_decay/tick() - owner.adjustToxLoss(1, 0) - owner.adjustOxyLoss(1, 0) - owner.adjustBruteLoss(1, 0) - owner.adjustFireLoss(1, 0) - owner.color = "#007BA7" - -/atom/movable/screen/alert/status_effect/bloodchill - name = "Bloodchilled" - desc = "You feel a shiver down your spine after getting hit with a glob of cold blood. You'll move slower and get frostbite for a while!" - icon_state = "bloodchill" - -/datum/status_effect/bloodchill - id = "bloodchill" - duration = 100 - alert_type = /atom/movable/screen/alert/status_effect/bloodchill - -/datum/status_effect/bloodchill/on_apply() - owner.add_movespeed_modifier(/datum/movespeed_modifier/status_effect/bloodchill) - return ..() - -/datum/status_effect/bloodchill/tick() - if(prob(50)) - owner.adjustFireLoss(2) - -/datum/status_effect/bloodchill/on_remove() - owner.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/bloodchill) - -/datum/status_effect/bonechill - id = "bonechill" - duration = 80 - alert_type = /atom/movable/screen/alert/status_effect/bonechill - -/datum/status_effect/bonechill/on_apply() - owner.add_movespeed_modifier(/datum/movespeed_modifier/status_effect/bonechill) - return ..() - -/datum/status_effect/bonechill/tick() - if(prob(50)) - owner.adjustFireLoss(1) - owner.Jitter(3) - owner.adjust_bodytemperature(-10) - -/datum/status_effect/bonechill/on_remove() - owner.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/bonechill) -/atom/movable/screen/alert/status_effect/bonechill - name = "Bonechilled" - desc = "You feel a shiver down your spine after hearing the haunting noise of bone rattling. You'll move slower and get frostbite for a while!" - icon_state = "bloodchill" - -/datum/status_effect/rebreathing - id = "rebreathing" - duration = -1 - alert_type = null - -/datum/status_effect/rebreathing/tick() - owner.adjustOxyLoss(-6, 0) //Just a bit more than normal breathing. - -/////////////////////////////////////////////////////// -//////////////////CONSUMING EXTRACTS/////////////////// -/////////////////////////////////////////////////////// - -/datum/status_effect/firecookie - id = "firecookie" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 100 - -/datum/status_effect/firecookie/on_apply() - ADD_TRAIT(owner, TRAIT_RESISTCOLD,"firecookie") - owner.adjust_bodytemperature(110) - return ..() - -/datum/status_effect/firecookie/on_remove() - REMOVE_TRAIT(owner, TRAIT_RESISTCOLD,"firecookie") - -/datum/status_effect/watercookie - id = "watercookie" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 100 - -/datum/status_effect/watercookie/on_apply() - ADD_TRAIT(owner, TRAIT_NOSLIPWATER,"watercookie") - return ..() - -/datum/status_effect/watercookie/tick() - for(var/turf/open/T in range(get_turf(owner),1)) - T.MakeSlippery(TURF_WET_WATER, min_wet_time = 10, wet_time_to_add = 5) - -/datum/status_effect/watercookie/on_remove() - REMOVE_TRAIT(owner, TRAIT_NOSLIPWATER,"watercookie") - -/datum/status_effect/metalcookie - id = "metalcookie" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 100 - -/datum/status_effect/metalcookie/on_apply() - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.physiology.brute_mod *= 0.9 - return ..() - -/datum/status_effect/metalcookie/on_remove() - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.physiology.brute_mod /= 0.9 - -/datum/status_effect/sparkcookie - id = "sparkcookie" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 300 - var/original_coeff - -/datum/status_effect/sparkcookie/on_apply() - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - original_coeff = H.physiology.siemens_coeff - H.physiology.siemens_coeff = 0 - return ..() - -/datum/status_effect/sparkcookie/on_remove() - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.physiology.siemens_coeff = original_coeff - -/datum/status_effect/toxincookie - id = "toxincookie" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 600 - -/datum/status_effect/toxincookie/on_apply() - ADD_TRAIT(owner, TRAIT_TOXINLOVER,"toxincookie") - return ..() - -/datum/status_effect/toxincookie/on_remove() - REMOVE_TRAIT(owner, TRAIT_TOXINLOVER,"toxincookie") - -/datum/status_effect/timecookie - id = "timecookie" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 600 - -/datum/status_effect/timecookie/on_apply() - if(ishuman(owner)) - var/mob/living/carbon/human/H - H.physiology.do_after_speed *= 0.95 - return ..() - -/datum/status_effect/timecookie/on_remove() - if(ishuman(owner)) - var/mob/living/carbon/human/H - H.physiology.do_after_speed /= 0.95 - -/datum/status_effect/lovecookie - id = "lovecookie" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 300 - -/datum/status_effect/lovecookie/tick() - if(owner.stat != CONSCIOUS) - return - if(iscarbon(owner)) - var/mob/living/carbon/C = owner - if(C.handcuffed) - return - var/list/huggables = list() - for(var/mob/living/carbon/L in range(get_turf(owner),1)) - if(L != owner) - huggables += L - if(length(huggables)) - var/mob/living/carbon/hugged = pick(huggables) - owner.visible_message("[owner] hugs [hugged]!", "You hug [hugged]!") - -/datum/status_effect/tarcookie - id = "tarcookie" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 100 - -/datum/status_effect/tarcookie/tick() - for(var/mob/living/carbon/human/L in range(get_turf(owner),1)) - if(L != owner) - L.apply_status_effect(/datum/status_effect/tarfoot) - -/datum/status_effect/tarfoot - id = "tarfoot" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 30 - -/datum/status_effect/tarfoot/on_apply() - owner.add_movespeed_modifier(/datum/movespeed_modifier/status_effect/tarfoot) - return ..() - -/datum/status_effect/tarfoot/on_remove() - owner.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/tarfoot) - -/datum/status_effect/spookcookie - id = "spookcookie" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 300 - -/datum/status_effect/spookcookie/on_apply() - var/image/I = image(icon = 'icons/mob/simple_human.dmi', icon_state = "skeleton", layer = ABOVE_MOB_LAYER, loc = owner) - I.override = 1 - owner.add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/everyone, "spookyscary", I) - return ..() - -/datum/status_effect/spookcookie/on_remove() - owner.remove_alt_appearance("spookyscary") - -/datum/status_effect/peacecookie - id = "peacecookie" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 100 - -/datum/status_effect/peacecookie/tick() - for(var/mob/living/L in range(get_turf(owner),1)) - L.apply_status_effect(/datum/status_effect/plur) - -/datum/status_effect/plur - id = "plur" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 30 - -/datum/status_effect/plur/on_apply() - ADD_TRAIT(owner, TRAIT_PACIFISM, "peacecookie") - return ..() - -/datum/status_effect/plur/on_remove() - REMOVE_TRAIT(owner, TRAIT_PACIFISM, "peacecookie") - -/datum/status_effect/adamantinecookie - id = "adamantinecookie" - status_type = STATUS_EFFECT_REPLACE - alert_type = null - duration = 100 - -/datum/status_effect/adamantinecookie/on_apply() - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.physiology.burn_mod *= 0.9 - return ..() - -/datum/status_effect/adamantinecookie/on_remove() - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.physiology.burn_mod /= 0.9 - -/////////////////////////////////////////////////////// -//////////////////STABILIZED EXTRACTS////////////////// -/////////////////////////////////////////////////////// - -/datum/status_effect/stabilized //The base stabilized extract effect, has no effect of its' own. - id = "stabilizedbase" - duration = -1 - alert_type = null - var/obj/item/slimecross/stabilized/linked_extract - var/colour = "null" - -/datum/status_effect/stabilized/tick() - if(!linked_extract || !linked_extract.loc) //Sanity checking - qdel(src) - return - if(linked_extract && linked_extract.loc != owner && linked_extract.loc.loc != owner) - linked_extract.linked_effect = null - if(!QDELETED(linked_extract)) - linked_extract.owner = null - START_PROCESSING(SSobj,linked_extract) - qdel(src) - return ..() - -/datum/status_effect/stabilized/null //This shouldn't ever happen, but just in case. - id = "stabilizednull" - - -//Stabilized effects start below. -/datum/status_effect/stabilized/grey - id = "stabilizedgrey" - colour = "grey" - -/datum/status_effect/stabilized/grey/tick() - for(var/mob/living/simple_animal/slime/S in range(1, get_turf(owner))) - if(!(owner in S.Friends)) - to_chat(owner, "[linked_extract] pulses gently as it communicates with [S].") - S.set_friendship(owner, 1) - return ..() - -/datum/status_effect/stabilized/orange - id = "stabilizedorange" - colour = "orange" - -/datum/status_effect/stabilized/orange/tick() - var/body_temperature_difference = owner.get_body_temp_normal(apply_change=FALSE) - owner.bodytemperature - owner.adjust_bodytemperature(min(5,body_temperature_difference)) - return ..() - -/datum/status_effect/stabilized/purple - id = "stabilizedpurple" - colour = "purple" - -/datum/status_effect/stabilized/purple/tick() - var/is_healing = FALSE - if(owner.getBruteLoss() > 0) - owner.adjustBruteLoss(-0.2) - is_healing = TRUE - if(owner.getFireLoss() > 0) - owner.adjustFireLoss(-0.2) - is_healing = TRUE - if(owner.getToxLoss() > 0) - owner.adjustToxLoss(-0.2, forced = TRUE) //Slimepeople should also get healed. - is_healing = TRUE - if(is_healing) - examine_text = "SUBJECTPRONOUN is regenerating slowly, purplish goo filling in small injuries!" - new /obj/effect/temp_visual/heal(get_turf(owner), "#FF0000") - else - examine_text = null - ..() - -/datum/status_effect/stabilized/blue - id = "stabilizedblue" - colour = "blue" - -/datum/status_effect/stabilized/blue/on_apply() - ADD_TRAIT(owner, TRAIT_NOSLIPWATER, "slimestatus") - return ..() - -/datum/status_effect/stabilized/blue/on_remove() - REMOVE_TRAIT(owner, TRAIT_NOSLIPWATER, "slimestatus") - -/datum/status_effect/stabilized/metal - id = "stabilizedmetal" - colour = "metal" - var/cooldown = 30 - var/max_cooldown = 30 - -/datum/status_effect/stabilized/metal/tick() - if(cooldown > 0) - cooldown-- - else - cooldown = max_cooldown - var/list/sheets = list() - for(var/obj/item/stack/sheet/S in owner.GetAllContents()) - if(S.amount < S.max_amount) - sheets += S - - if(sheets.len > 0) - var/obj/item/stack/sheet/S = pick(sheets) - S.amount++ - to_chat(owner, "[linked_extract] adds a layer of slime to [S], which metamorphosizes into another sheet of material!") - return ..() - - -/datum/status_effect/stabilized/yellow - id = "stabilizedyellow" - colour = "yellow" - var/cooldown = 10 - var/max_cooldown = 10 - examine_text = "Nearby electronics seem just a little more charged wherever SUBJECTPRONOUN goes." - -/datum/status_effect/stabilized/yellow/tick() - if(cooldown > 0) - cooldown-- - return ..() - cooldown = max_cooldown - var/list/batteries = list() - for(var/obj/item/stock_parts/cell/C in owner.GetAllContents()) - if(C.charge < C.maxcharge) - batteries += C - if(batteries.len) - var/obj/item/stock_parts/cell/ToCharge = pick(batteries) - ToCharge.charge += min(ToCharge.maxcharge - ToCharge.charge, ToCharge.maxcharge/10) //10% of the cell, or to maximum. - to_chat(owner, "[linked_extract] discharges some energy into a device you have.") - return ..() - -/obj/item/hothands - name = "burning fingertips" - desc = "You shouldn't see this." - -/obj/item/hothands/get_temperature() - return 290 //Below what's required to ignite plasma. - -/datum/status_effect/stabilized/darkpurple - id = "stabilizeddarkpurple" - colour = "dark purple" - var/obj/item/hothands/fire - examine_text = "Their fingertips burn brightly!" - -/datum/status_effect/stabilized/darkpurple/on_apply() - ADD_TRAIT(owner, TRAIT_RESISTHEATHANDS, "slimestatus") - fire = new(owner) - return ..() - -/datum/status_effect/stabilized/darkpurple/tick() - var/obj/item/I = owner.get_active_held_item() - var/obj/item/reagent_containers/food/snacks/F = I - if(istype(F)) - if(F.cooked_type) - to_chat(owner, "[linked_extract] flares up brightly, and your hands alone are enough cook [F]!") - var/obj/item/result = F.microwave_act() - if(istype(result)) - owner.put_in_hands(result) - else - I.attackby(fire, owner) - return ..() - -/datum/status_effect/stabilized/darkpurple/on_remove() - REMOVE_TRAIT(owner, TRAIT_RESISTHEATHANDS, "slimestatus") - qdel(fire) - -/datum/status_effect/stabilized/darkblue - id = "stabilizeddarkblue" - colour = "dark blue" - -/datum/status_effect/stabilized/darkblue/tick() - if(owner.fire_stacks > 0 && prob(80)) - owner.fire_stacks-- - if(owner.fire_stacks <= 0) - to_chat(owner, "[linked_extract] coats you in a watery goo, extinguishing the flames.") - var/obj/O = owner.get_active_held_item() - if(O) - O.extinguish() //All shamelessly copied from water's expose_obj, since I didn't seem to be able to get it here for some reason. - O.acid_level = 0 - // Monkey cube - if(istype(O, /obj/item/reagent_containers/food/snacks/monkeycube)) - to_chat(owner, "[linked_extract] kept your hands wet! It makes [O] expand!") - var/obj/item/reagent_containers/food/snacks/monkeycube/cube = O - cube.Expand() - - // Dehydrated carp - else if(istype(O, /obj/item/toy/plush/carpplushie/dehy_carp)) - to_chat(owner, "[linked_extract] kept your hands wet! It makes [O] expand!") - var/obj/item/toy/plush/carpplushie/dehy_carp/dehy = O - dehy.Swell() // Makes a carp - - else if(istype(O, /obj/item/stack/sheet/hairlesshide)) - to_chat(owner, "[linked_extract] kept your hands wet! It wets [O]!") - var/obj/item/stack/sheet/hairlesshide/HH = O - new /obj/item/stack/sheet/wethide(get_turf(HH), HH.amount) - qdel(HH) - ..() - -/datum/status_effect/stabilized/silver - id = "stabilizedsilver" - colour = "silver" - -/datum/status_effect/stabilized/silver/on_apply() - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.physiology.hunger_mod *= 0.8 //20% buff - return ..() - -/datum/status_effect/stabilized/silver/on_remove() - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.physiology.hunger_mod /= 0.8 - -//Bluespace has an icon because it's kinda active. -/atom/movable/screen/alert/status_effect/bluespaceslime - name = "Stabilized Bluespace Extract" - desc = "You shouldn't see this, since we set it to change automatically!" - icon_state = "slime_bluespace_on" - -/datum/status_effect/bluespacestabilization - id = "stabilizedbluespacecooldown" - duration = 1200 - alert_type = null - -/datum/status_effect/stabilized/bluespace - id = "stabilizedbluespace" - colour = "bluespace" - alert_type = /atom/movable/screen/alert/status_effect/bluespaceslime - var/healthcheck - -/datum/status_effect/stabilized/bluespace/tick() - if(owner.has_status_effect(/datum/status_effect/bluespacestabilization)) - linked_alert.desc = "The stabilized bluespace extract is still aligning you with the bluespace axis." - linked_alert.icon_state = "slime_bluespace_off" - return ..() - else - linked_alert.desc = "The stabilized bluespace extract will try to redirect you from harm!" - linked_alert.icon_state = "slime_bluespace_on" - - if(healthcheck && (healthcheck - owner.health) > 5) - owner.visible_message("[linked_extract] notices the sudden change in [owner]'s physical health, and activates!") - do_sparks(5,FALSE,owner) - var/F = find_safe_turf(zlevels = owner.z, extended_safety_checks = TRUE) - var/range = 0 - if(!F) - F = get_turf(owner) - range = 50 - if(do_teleport(owner, F, range, channel = TELEPORT_CHANNEL_BLUESPACE)) - to_chat(owner, "[linked_extract] will take some time to re-align you on the bluespace axis.") - do_sparks(5,FALSE,owner) - owner.apply_status_effect(/datum/status_effect/bluespacestabilization) - healthcheck = owner.health - return ..() - -/datum/status_effect/stabilized/sepia - id = "stabilizedsepia" - colour = "sepia" - var/mod = 0 - -/datum/status_effect/stabilized/sepia/tick() - if(prob(50) && mod > -1) - mod-- - owner.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/status_effect/sepia, multiplicative_slowdown = -0.5) - else if(mod < 1) - mod++ - // yeah a value of 0 does nothing but replacing the trait in place is cheaper than removing and adding repeatedly - owner.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/status_effect/sepia, multiplicative_slowdown = 0) - return ..() - -/datum/status_effect/stabilized/sepia/on_remove() - owner.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/sepia) - -/datum/status_effect/stabilized/cerulean - id = "stabilizedcerulean" - colour = "cerulean" - var/mob/living/clone - -/datum/status_effect/stabilized/cerulean/on_apply() - var/typepath = owner.type - clone = new typepath(owner.loc) - var/mob/living/carbon/O = owner - var/mob/living/carbon/C = clone - if(istype(C) && istype(O)) - C.real_name = O.real_name - O.dna.transfer_identity(C) - C.updateappearance(mutcolor_update=1) - return ..() - -/datum/status_effect/stabilized/cerulean/tick() - if(owner.stat == DEAD) - if(clone && clone.stat != DEAD) - owner.visible_message("[owner] blazes with brilliant light, [linked_extract] whisking [owner.p_their()] soul away.", - "You feel a warm glow from [linked_extract], and you open your eyes... elsewhere.") - if(owner.mind) - owner.mind.transfer_to(clone) - clone = null - qdel(linked_extract) - if(!clone || clone.stat == DEAD) - to_chat(owner, "[linked_extract] desperately tries to move your soul to a living body, but can't find one!") - qdel(linked_extract) - ..() - -/datum/status_effect/stabilized/cerulean/on_remove() - if(clone) - clone.visible_message("[clone] dissolves into a puddle of goo!") - clone.unequip_everything() - qdel(clone) - -/datum/status_effect/stabilized/pyrite - id = "stabilizedpyrite" - colour = "pyrite" - var/originalcolor - -/datum/status_effect/stabilized/pyrite/on_apply() - originalcolor = owner.color - return ..() - -/datum/status_effect/stabilized/pyrite/tick() - owner.color = rgb(rand(0,255),rand(0,255),rand(0,255)) - return ..() - -/datum/status_effect/stabilized/pyrite/on_remove() - owner.color = originalcolor - -/datum/status_effect/stabilized/red - id = "stabilizedred" - colour = "red" - -/datum/status_effect/stabilized/red/on_apply() - . = ..() - owner.add_movespeed_mod_immunities(type, /datum/movespeed_modifier/equipment_speedmod) - -/datum/status_effect/stabilized/red/on_remove() - owner.remove_movespeed_mod_immunities(type, /datum/movespeed_modifier/equipment_speedmod) - return ..() - -/datum/status_effect/stabilized/green - id = "stabilizedgreen" - colour = "green" - var/datum/dna/originalDNA - var/originalname - -/datum/status_effect/stabilized/green/on_apply() - to_chat(owner, "You feel different...") - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - originalDNA = new H.dna.type - originalname = H.real_name - H.dna.copy_dna(originalDNA) - randomize_human(H) - return ..() - -/datum/status_effect/stabilized/green/tick() //Only occasionally give examiners a warning. - if(prob(50)) - examine_text = "SUBJECTPRONOUN looks a bit green and gooey..." - else - examine_text = null - return ..() - -/datum/status_effect/stabilized/green/on_remove() - to_chat(owner, "You feel more like yourself.") - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - originalDNA.transfer_identity(H) - H.real_name = originalname - H.updateappearance(mutcolor_update=1) - -/datum/status_effect/brokenpeace - id = "brokenpeace" - duration = 1200 - alert_type = null - -/datum/status_effect/pinkdamagetracker - id = "pinkdamagetracker" - duration = -1 - alert_type = null - var/damage = 0 - var/lasthealth - -/datum/status_effect/pinkdamagetracker/tick() - if((lasthealth - owner.health) > 0) - damage += (lasthealth - owner.health) - lasthealth = owner.health - -/datum/status_effect/stabilized/pink - id = "stabilizedpink" - colour = "pink" - var/list/mobs = list() - var/faction_name - -/datum/status_effect/stabilized/pink/on_apply() - faction_name = owner.real_name - return ..() - -/datum/status_effect/stabilized/pink/tick() - for(var/mob/living/simple_animal/M in view(7,get_turf(owner))) - if(!(M in mobs)) - mobs += M - M.apply_status_effect(/datum/status_effect/pinkdamagetracker) - M.faction |= faction_name - for(var/mob/living/simple_animal/M in mobs) - if(!(M in view(7,get_turf(owner)))) - M.faction -= faction_name - M.remove_status_effect(/datum/status_effect/pinkdamagetracker) - mobs -= M - var/datum/status_effect/pinkdamagetracker/C = M.has_status_effect(/datum/status_effect/pinkdamagetracker) - if(istype(C) && C.damage > 0) - C.damage = 0 - owner.apply_status_effect(/datum/status_effect/brokenpeace) - var/HasFaction = FALSE - for(var/i in owner.faction) - if(i == faction_name) - HasFaction = TRUE - - if(HasFaction && owner.has_status_effect(/datum/status_effect/brokenpeace)) - owner.faction -= faction_name - to_chat(owner, "The peace has been broken! Hostile creatures will now react to you!") - if(!HasFaction && !owner.has_status_effect(/datum/status_effect/brokenpeace)) - to_chat(owner, "[linked_extract] pulses, generating a fragile aura of peace.") - owner.faction |= faction_name - return ..() - -/datum/status_effect/stabilized/pink/on_remove() - for(var/mob/living/simple_animal/M in mobs) - M.faction -= faction_name - M.remove_status_effect(/datum/status_effect/pinkdamagetracker) - for(var/i in owner.faction) - if(i == faction_name) - owner.faction -= faction_name - -/datum/status_effect/stabilized/oil - id = "stabilizedoil" - colour = "oil" - examine_text = "SUBJECTPRONOUN smells of sulfer and oil!" - -/datum/status_effect/stabilized/oil/tick() - if(owner.stat == DEAD) - explosion(get_turf(owner),1,2,4,flame_range = 5) - return ..() - -/datum/status_effect/stabilized/black - id = "stabilizedblack" - colour = "black" - var/messagedelivered = FALSE - var/heal_amount = 1 - -/datum/status_effect/stabilized/black/tick() - if(owner.pulling && isliving(owner.pulling) && owner.grab_state == GRAB_KILL) - var/mob/living/M = owner.pulling - if(M.stat == DEAD) - return - if(!messagedelivered) - to_chat(owner,"You feel your hands melt around [M]'s neck and start to drain [M.p_them()] of life.") - to_chat(owner.pulling, "[owner]'s hands melt around your neck, and you can feel your life starting to drain away!") - messagedelivered = TRUE - examine_text = "SUBJECTPRONOUN is draining health from [owner.pulling]!" - var/list/healing_types = list() - if(owner.getBruteLoss() > 0) - healing_types += BRUTE - if(owner.getFireLoss() > 0) - healing_types += BURN - if(owner.getToxLoss() > 0) - healing_types += TOX - if(owner.getCloneLoss() > 0) - healing_types += CLONE - - owner.apply_damage_type(-heal_amount, damagetype=pick(healing_types)) - owner.adjust_nutrition(3) - M.adjustCloneLoss(heal_amount * 1.2) //This way, two people can't just convert each other's damage away. - else - messagedelivered = FALSE - examine_text = null - return ..() - -/datum/status_effect/stabilized/lightpink - id = "stabilizedlightpink" - colour = "light pink" - -/datum/status_effect/stabilized/lightpink/on_apply() - owner.add_movespeed_modifier(/datum/movespeed_modifier/status_effect/lightpink) - return ..() - -/datum/status_effect/stabilized/lightpink/tick() - for(var/mob/living/carbon/human/H in range(1, get_turf(owner))) - if(H != owner && H.stat != DEAD && H.health <= 0 && !H.reagents.has_reagent(/datum/reagent/medicine/epinephrine)) - to_chat(owner, "[linked_extract] pulses in sync with [H]'s heartbeat, trying to keep [H.p_them()] alive.") - H.reagents.add_reagent(/datum/reagent/medicine/epinephrine,5) - return ..() - -/datum/status_effect/stabilized/lightpink/on_remove() - owner.remove_movespeed_modifier(/datum/movespeed_modifier/status_effect/lightpink) - -/datum/status_effect/stabilized/adamantine - id = "stabilizedadamantine" - colour = "adamantine" - examine_text = "SUBJECTPRONOUN has a strange metallic coating on their skin." - -/datum/status_effect/stabilized/gold - id = "stabilizedgold" - colour = "gold" - var/mob/living/simple_animal/familiar - -/datum/status_effect/stabilized/gold/tick() - var/obj/item/slimecross/stabilized/gold/linked = linked_extract - if(QDELETED(familiar)) - familiar = new linked.mob_type(get_turf(owner.loc)) - familiar.name = linked.mob_name - familiar.del_on_death = TRUE - familiar.copy_languages(owner, LANGUAGE_MASTER) - if(linked.saved_mind) - linked.saved_mind.transfer_to(familiar) - familiar.update_atom_languages() - familiar.ckey = linked.saved_mind.key - else - if(familiar.mind) - linked.saved_mind = familiar.mind - return ..() - -/datum/status_effect/stabilized/gold/on_remove() - if(familiar) - qdel(familiar) - -/datum/status_effect/stabilized/adamantine/on_apply() - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.physiology.damage_resistance += 5 - return ..() - -/datum/status_effect/stabilized/adamantine/on_remove() - if(ishuman(owner)) - var/mob/living/carbon/human/H = owner - H.physiology.damage_resistance -= 5 - -/datum/status_effect/stabilized/rainbow - id = "stabilizedrainbow" - colour = "rainbow" - -/datum/status_effect/stabilized/rainbow/tick() - if(owner.health <= 0) - var/obj/item/slimecross/stabilized/rainbow/X = linked_extract - if(istype(X)) - if(X.regencore) - X.regencore.afterattack(owner,owner,TRUE) - X.regencore = null - owner.visible_message("[owner] flashes a rainbow of colors, and [owner.p_their()] skin is coated in a milky regenerative goo!") - qdel(src) - qdel(linked_extract) - return ..() diff --git a/code/modules/research/xenobiology/crossbreeding/_weapons.dm b/code/modules/research/xenobiology/crossbreeding/_weapons.dm deleted file mode 100644 index 2bca49c62913..000000000000 --- a/code/modules/research/xenobiology/crossbreeding/_weapons.dm +++ /dev/null @@ -1,38 +0,0 @@ -/* -Slimecrossing Weapons - Weapons added by the slimecrossing system. - Collected here for clarity. -*/ - -//Boneblade - Burning Green -/obj/item/melee/arm_blade/slime - name = "slimy boneblade" - desc = "What remains of the bones in your arm. Incredibly sharp, and painful for both you and your opponents." - force = 22.5 - force_string = "painful" - -/obj/item/melee/arm_blade/slime/attack(mob/living/L, mob/user) - . = ..() - if(prob(20)) - user.force_scream() - -//Adamantine shield - Chilling Adamantine -/obj/item/shield/adamantineshield - name = "adamantine shield" - desc = "A gigantic shield made of solid adamantium." - icon = 'icons/obj/slimecrossing.dmi' - icon_state = "adamshield" - item_state = "adamshield" - w_class = WEIGHT_CLASS_HUGE - armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 0, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 70) - slot_flags = ITEM_SLOT_BACK - block_chance = 50 - force = 0 - throw_range = 1 //How far do you think you're gonna throw a solid crystalline shield...? - throw_speed = 2 - attack_verb = list("bashed","pounded","slammed") - item_flags = SLOWS_WHILE_IN_HAND - -/obj/item/shield/adamantineshield/ComponentInitialize() - . = ..() - AddComponent(/datum/component/two_handed, require_twohands=TRUE, force_wielded=15) diff --git a/code/modules/research/xenobiology/crossbreeding/burning.dm b/code/modules/research/xenobiology/crossbreeding/burning.dm deleted file mode 100644 index 7d19fb0f8cfd..000000000000 --- a/code/modules/research/xenobiology/crossbreeding/burning.dm +++ /dev/null @@ -1,307 +0,0 @@ -/* -Burning extracts: - Have a unique, primarily offensive effect when - filled with 10u plasma and activated in-hand. -*/ -/obj/item/slimecross/burning - name = "burning extract" - desc = "It's boiling over with barely-contained energy." - effect = "burning" - icon_state = "burning" - -/obj/item/slimecross/burning/Initialize() - . = ..() - create_reagents(10, INJECTABLE | DRAWABLE) - -/obj/item/slimecross/burning/attack_self(mob/user) - if(!reagents.has_reagent(/datum/reagent/toxin/plasma,10)) - to_chat(user, "This extract needs to be full of plasma to activate!") - return - reagents.remove_reagent(/datum/reagent/toxin/plasma,10) - to_chat(user, "You squeeze the extract, and it absorbs the plasma!") - playsound(src, 'sound/effects/bubbles.ogg', 50, TRUE) - playsound(src, 'sound/magic/fireball.ogg', 50, TRUE) - do_effect(user) - -/obj/item/slimecross/burning/proc/do_effect(mob/user) //If, for whatever reason, you don't want to delete the extract, don't do ..() - qdel(src) - return - -/obj/item/slimecross/burning/grey - colour = "grey" - effect_desc = "Creates a hungry and speedy slime that will love you forever." - -/obj/item/slimecross/burning/grey/do_effect(mob/user) - var/mob/living/simple_animal/slime/S = new(get_turf(user),"grey") - S.visible_message("A baby slime emerges from [src], and it nuzzles [user] before burbling hungrily!") - S.set_friendship(user, 20) //Gas, gas, gas - S.bodytemperature = T0C + 400 //We gonna step on the gas. - S.set_nutrition(S.get_hunger_nutrition()) //Tonight, we fight! - ..() - -/obj/item/slimecross/burning/orange - colour = "orange" - effect_desc = "Expels pepperspray in a radius when activated." - -/obj/item/slimecross/burning/orange/do_effect(mob/user) - user.visible_message("[src] boils over with a caustic gas!") - var/datum/reagents/R = new/datum/reagents(100) - R.add_reagent(/datum/reagent/consumable/condensedcapsaicin, 100) - - var/datum/effect_system/smoke_spread/chem/smoke = new - smoke.set_up(R, 7, get_turf(user)) - smoke.start() - ..() - -/obj/item/slimecross/burning/purple - colour = "purple" - effect_desc = "Creates a clump of invigorating gel, it has healing properties and makes you feel good." - -/obj/item/slimecross/burning/purple/do_effect(mob/user) - user.visible_message("[src] fills with a bubbling liquid!") - new /obj/item/slimecrossbeaker/autoinjector/slimestimulant(get_turf(user)) - ..() - -/obj/item/slimecross/burning/blue - colour = "blue" - effect_desc = "Freezes the floor around you and chills nearby people." - -/obj/item/slimecross/burning/blue/do_effect(mob/user) - user.visible_message("[src] flash-freezes the area!") - for(var/turf/open/T in range(3, get_turf(user))) - T.MakeSlippery(TURF_WET_PERMAFROST, min_wet_time = 10, wet_time_to_add = 5) - for(var/mob/living/carbon/M in range(5, get_turf(user))) - if(M != user && iscarbon(M)) - var/mob/living/carbon/C = M - M.bodytemperature = C.dna.species.bodytemp_cold_damage_limit + 10 //Not quite cold enough to hurt. - to_chat(M, "You feel a chill run down your spine, and the floor feels a bit slippery with frost...") - ..() - -/obj/item/slimecross/burning/metal - colour = "metal" - effect_desc = "Instantly destroys walls around you." - -/obj/item/slimecross/burning/metal/do_effect(mob/user) - for(var/turf/closed/wall/W in range(1,get_turf(user))) - W.dismantle_wall(devastated = TRUE) - playsound(W, 'sound/effects/break_stone.ogg', 50, TRUE) - user.visible_message("[src] pulses violently, and shatters the walls around it!") - ..() - -/obj/item/slimecross/burning/yellow - colour = "yellow" - effect_desc = "Electrocutes people near you." - -/obj/item/slimecross/burning/yellow/do_effect(mob/user) - user.visible_message("[src] explodes into an electrical field!") - playsound(get_turf(src), 'sound/weapons/zapbang.ogg', 50, TRUE) - for(var/mob/living/M in range(4,get_turf(user))) - if(M != user) - var/mob/living/carbon/C = M - if(istype(C)) - C.electrocute_act(25,src) - else - M.adjustFireLoss(25) - to_chat(M, "You feel a sharp electrical pulse!") - ..() - -/obj/item/slimecross/burning/darkpurple - colour = "dark purple" - effect_desc = "Creates a cloud of plasma." - -/obj/item/slimecross/burning/darkpurple/do_effect(mob/user) - user.visible_message("[src] sublimates into a cloud of plasma!") - var/turf/T = get_turf(user) - T.atmos_spawn_air("plasma=60") - ..() - -/obj/item/slimecross/burning/darkblue - colour = "dark blue" - effect_desc = "Expels a burst of chilling smoke while also filling you with cryoxadone." - -/obj/item/slimecross/burning/darkblue/do_effect(mob/user) - user.visible_message("[src] releases a burst of chilling smoke!") - var/datum/reagents/R = new/datum/reagents(100) - R.add_reagent(/datum/reagent/consumable/frostoil, 40) - user.reagents.add_reagent(/datum/reagent/medicine/cryoxadone,10) - var/datum/effect_system/smoke_spread/chem/smoke = new - smoke.set_up(R, 7, get_turf(user)) - smoke.start() - ..() - -/obj/item/slimecross/burning/silver - colour = "silver" - effect_desc = "Creates a few pieces of slime jelly laced food." - -/obj/item/slimecross/burning/silver/do_effect(mob/user) - var/amount = rand(3,6) - var/list/turfs = list() - for(var/turf/open/T in range(1,get_turf(user))) - turfs += T - for(var/i = 0, i < amount, i++) - var/path = get_random_food() - var/obj/item/O = new path(pick(turfs)) - O.reagents.add_reagent(/datum/reagent/toxin/slimejelly,5) //Oh god it burns - if(prob(50)) - O.desc += " It smells strange..." - user.visible_message("[src] produces a few pieces of food!") - ..() - -/obj/item/slimecross/burning/bluespace - colour = "bluespace" - effect_desc = "Teleports anyone directly next to you." - -/obj/item/slimecross/burning/bluespace/do_effect(mob/user) - user.visible_message("[src] sparks, and lets off a shockwave of bluespace energy!") - for(var/mob/living/L in range(1, get_turf(user))) - if(L != user) - do_teleport(L, get_turf(L), 6, asoundin = 'sound/effects/phasein.ogg', channel = TELEPORT_CHANNEL_BLUESPACE) //Somewhere between the effectiveness of fake and real BS crystal - new /obj/effect/particle_effect/sparks(get_turf(L)) - playsound(get_turf(L), "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - ..() - -/obj/item/slimecross/burning/sepia - colour = "sepia" - effect_desc = "Turns into a special camera that rewinds time when used." - -/obj/item/slimecross/burning/sepia/do_effect(mob/user) - user.visible_message("[src] shapes itself into a camera!") - new /obj/item/camera/rewind(get_turf(user)) - ..() - -/obj/item/slimecross/burning/cerulean - colour = "cerulean" - effect_desc = "Produces an extract cloning potion, which copies an extract, as well as its extra uses." - -/obj/item/slimecross/burning/cerulean/do_effect(mob/user) - user.visible_message("[src] produces a potion!") - new /obj/item/slimepotion/extract_cloner(get_turf(user)) - ..() - -/obj/item/slimecross/burning/pyrite - colour = "pyrite" - effect_desc = "Shatters all lights in the current room." - -/obj/item/slimecross/burning/pyrite/do_effect(mob/user) - user.visible_message("[src] releases a colorful wave of energy, which shatters the lights!") - var/area/A = get_area(user.loc) - for(var/obj/machinery/light/L in A) //Shamelessly copied from the APC effect. - L.on = TRUE - L.break_light_tube() - L.on = FALSE - stoplag() - ..() - -/obj/item/slimecross/burning/red - colour = "red" - effect_desc = "Makes nearby slimes rabid, and they'll also attack their friends." - -/obj/item/slimecross/burning/red/do_effect(mob/user) - user.visible_message("[src] pulses a hazy red aura for a moment, which wraps around [user]!") - for(var/mob/living/simple_animal/slime/S in view(7, get_turf(user))) - if(user in S.Friends) - var/friendliness = S.Friends[user] - S.clear_friends() - S.set_friendship(user, friendliness) - else - S.clear_friends() - S.rabid = 1 - S.visible_message("The [S] is driven into a dangerous frenzy!") - ..() - -/obj/item/slimecross/burning/green - colour = "green" - effect_desc = "The user gets a dull arm blade in the hand it is used in." - -/obj/item/slimecross/burning/green/do_effect(mob/user) - var/which_hand = "l_hand" - if(!(user.active_hand_index % 2)) - which_hand = "r_hand" - var/mob/living/L = user - if(!istype(user)) - return - var/obj/item/held = L.get_active_held_item() //This should be itself, but just in case... - L.dropItemToGround(held) - var/obj/item/melee/arm_blade/slime/blade = new(user) - if(!L.put_in_hands(blade)) - qdel(blade) - user.visible_message("[src] melts onto [user]'s arm, boiling the flesh horribly!") - else - user.visible_message("[src] sublimates the flesh around [user]'s arm, transforming the bone into a gruesome blade!") - user.force_scream() - L.apply_damage(30,BURN,which_hand) - ..() - -/obj/item/slimecross/burning/pink - colour = "pink" - effect_desc = "Creates a beaker of synthpax." - -/obj/item/slimecross/burning/pink/do_effect(mob/user) - user.visible_message("[src] shrinks into a small, gel-filled pellet!") - new /obj/item/slimecrossbeaker/pax(get_turf(user)) - ..() - -/obj/item/slimecross/burning/gold - colour = "gold" - effect_desc = "Creates a gank squad of monsters that are friendly to the user." - -/obj/item/slimecross/burning/gold/do_effect(mob/user) - user.visible_message("[src] shudders violently, and summons an army for [user]!") - for(var/i in 1 to 3) //Less than gold normally does, since it's safer and faster. - var/mob/living/simple_animal/S = create_random_mob(get_turf(user), HOSTILE_SPAWN) - S.faction |= "[REF(user)]" - if(prob(50)) - for(var/j = 1, j <= rand(1, 3), j++) - step(S, pick(NORTH,SOUTH,EAST,WEST)) - ..() - -/obj/item/slimecross/burning/oil - colour = "oil" - effect_desc = "Creates an explosion after a few seconds." - -/obj/item/slimecross/burning/oil/do_effect(mob/user) - user.visible_message("[user] activates [src]. It's going to explode!", "You activate [src]. It crackles in anticipation") - addtimer(CALLBACK(src, PROC_REF(boom)), 50) - -/obj/item/slimecross/burning/oil/proc/boom() - var/turf/T = get_turf(src) - playsound(T, 'sound/effects/explosion2.ogg', 200, TRUE) - for(var/mob/living/M in range(2, T)) - new /obj/effect/temp_visual/explosion(get_turf(M)) - M.ex_act(EXPLODE_HEAVY) - qdel(src) - -/obj/item/slimecross/burning/black - colour = "black" - effect_desc = "Transforms the user into a slime. They can transform back at will and do not lose any items." - -/obj/item/slimecross/burning/black/do_effect(mob/user) - var/mob/living/L = user - if(!istype(L)) - return - user.visible_message("[src] absorbs [user], transforming [user.p_them()] into a slime!") - var/obj/effect/proc_holder/spell/targeted/shapeshift/slimeform/S = new() - S.remove_on_restore = TRUE - user.mind.AddSpell(S) - S.cast(list(user),user) - ..() - -/obj/item/slimecross/burning/lightpink - colour = "light pink" - effect_desc = "Paxes everyone in sight." - -/obj/item/slimecross/burning/lightpink/do_effect(mob/user) - user.visible_message("[src] lets off a hypnotizing pink glow!") - for(var/mob/living/carbon/C in view(7, get_turf(user))) - C.reagents.add_reagent(/datum/reagent/pax,5) - ..() - -/obj/item/slimecross/burning/adamantine - colour = "adamantine" - effect_desc = "Creates a mighty adamantine shield." - -/obj/item/slimecross/burning/adamantine/do_effect(mob/user) - user.visible_message("[src] crystallizes into a large shield!") - new /obj/item/shield/adamantineshield(get_turf(user)) - ..() - diff --git a/code/modules/research/xenobiology/crossbreeding/charged.dm b/code/modules/research/xenobiology/crossbreeding/charged.dm deleted file mode 100644 index f01b148d4d5e..000000000000 --- a/code/modules/research/xenobiology/crossbreeding/charged.dm +++ /dev/null @@ -1,272 +0,0 @@ -/* -Charged extracts: - Have a unique, effect when filled with - 10u plasma and activated in-hand, related to their - normal extract effect. -*/ -/obj/item/slimecross/charged - name = "charged extract" - desc = "It sparks with electric power." - effect = "charged" - icon_state = "charged" - -/obj/item/slimecross/charged/Initialize() - . = ..() - create_reagents(10, INJECTABLE | DRAWABLE) - -/obj/item/slimecross/charged/attack_self(mob/user) - if(!reagents.has_reagent(/datum/reagent/toxin/plasma,10)) - to_chat(user, "This extract needs to be full of plasma to activate!") - return - reagents.remove_reagent(/datum/reagent/toxin/plasma,10) - to_chat(user, "You squeeze the extract, and it absorbs the plasma!") - playsound(src, 'sound/effects/bubbles.ogg', 50, TRUE) - playsound(src, 'sound/effects/light_flicker.ogg', 50, TRUE) - do_effect(user) - -/obj/item/slimecross/charged/proc/do_effect(mob/user) //If, for whatever reason, you don't want to delete the extract, don't do ..() - qdel(src) - return - -/obj/item/slimecross/charged/grey - colour = "grey" - effect_desc = "Produces a slime reviver potion, which revives dead slimes." - -/obj/item/slimecross/charged/grey/do_effect(mob/user) - new /obj/item/slimepotion/slime_reviver(get_turf(user)) - user.visible_message("[src] distills into a potion!") - ..() - -/obj/item/slimecross/charged/orange - colour = "orange" - effect_desc = "Instantly makes a large burst of flame for a moment." - -/obj/item/slimecross/charged/orange/do_effect(mob/user) - for(var/turf/turf in range(5,get_turf(user))) - if(!locate(/obj/effect/hotspot) in turf) - new /obj/effect/hotspot(turf) - ..() - -/obj/item/slimecross/charged/purple - colour = "purple" - effect_desc = "Creates a packet of omnizine." - -/obj/item/slimecross/charged/purple/do_effect(mob/user) - new /obj/item/slimecrossbeaker/omnizine(get_turf(user)) - user.visible_message("[src] sparks, and floods with a regenerative solution!") - ..() - -/obj/item/slimecross/charged/blue - colour = "blue" - effect_desc = "Creates a potion that neuters the mutation chance of a slime, which passes on to new generations." - -/obj/item/slimecross/charged/blue/do_effect(mob/user) - new /obj/item/slimepotion/slime/chargedstabilizer(get_turf(user)) - user.visible_message("[src] distills into a potion!") - ..() - -/obj/item/slimecross/charged/metal - colour = "metal" - effect_desc = "Produces a bunch of metal and plasteel." - -/obj/item/slimecross/charged/metal/do_effect(mob/user) - new /obj/item/stack/sheet/metal(get_turf(user), 25) - new /obj/item/stack/sheet/plasteel(get_turf(user), 10) - user.visible_message("[src] grows into a plethora of metals!") - ..() - -/obj/item/slimecross/charged/yellow - colour = "yellow" - effect_desc = "Creates a hypercharged slime cell battery, which has high capacity and recharges constantly at a very fast rate." - -/obj/item/slimecross/charged/yellow/do_effect(mob/user) - new /obj/item/stock_parts/cell/high/slime/hypercharged(get_turf(user)) - user.visible_message("[src] sparks violently, and swells with electric power!") - ..() - -/obj/item/slimecross/charged/darkpurple - colour = "dark purple" - effect_desc = "Creates several sheets of plasma." - -/obj/item/slimecross/charged/darkpurple/do_effect(mob/user) - new /obj/item/stack/sheet/mineral/plasma(get_turf(user), 10) - user.visible_message("[src] produces a large amount of plasma!") - ..() - -/obj/item/slimecross/charged/darkblue - colour = "dark blue" - effect_desc = "Produces a pressure proofing potion." - -/obj/item/slimecross/charged/darkblue/do_effect(mob/user) - new /obj/item/slimepotion/spaceproof(get_turf(user)) - user.visible_message("[src] distills into a potion!") - ..() - -/obj/item/slimecross/charged/silver - colour = "silver" - effect_desc = "Creates a slime cake and some drinks." - -/obj/item/slimecross/charged/silver/do_effect(mob/user) - new /obj/item/food/cake/slimecake(get_turf(user)) - for(var/i in 1 to 10) - var/drink_type = get_random_drink() - new drink_type(get_turf(user)) - user.visible_message("[src] produces a party's worth of cake and drinks!") - ..() - -/obj/item/slimecross/charged/bluespace - colour = "bluespace" - effect_desc = "Makes a bluespace polycrystal." - -/obj/item/slimecross/charged/bluespace/do_effect(mob/user) - new /obj/item/stack/sheet/bluespace_crystal(get_turf(user), 10) - user.visible_message("[src] produces several sheets of polycrystal!") - ..() - -/obj/item/slimecross/charged/sepia - colour = "sepia" - effect_desc = "Creates a camera obscura." - -/obj/item/slimecross/charged/sepia/do_effect(mob/user) - new /obj/item/camera/spooky(get_turf(user)) - user.visible_message("[src] flickers in a strange, ethereal manner, and produces a camera!") - ..() - -/obj/item/slimecross/charged/cerulean - colour = "cerulean" - effect_desc = "Creates an extract enhancer, giving whatever it's used on five more uses." - -/obj/item/slimecross/charged/cerulean/do_effect(mob/user) - new /obj/item/slimepotion/enhancer/max(get_turf(user)) - user.visible_message("[src] distills into a potion!") - ..() - -/obj/item/slimecross/charged/pyrite - colour = "pyrite" - effect_desc = "Creates bananium. Oh no." - -/obj/item/slimecross/charged/pyrite/do_effect(mob/user) - new /obj/item/stack/sheet/mineral/hidden/hellstone(get_turf(user), 10) - user.visible_message("[src] solidifies with a horrifying banana stench!") - ..() - -/obj/item/slimecross/charged/red - colour = "red" - effect_desc = "Produces a lavaproofing potion" - -/obj/item/slimecross/charged/red/do_effect(mob/user) - new /obj/item/slimepotion/lavaproof(get_turf(user)) - user.visible_message("[src] distills into a potion!") - ..() - -/obj/item/slimecross/charged/green - colour = "green" - effect_desc = "Lets you choose what slime species you want to be." - -/obj/item/slimecross/charged/green/do_effect(mob/user) - var/mob/living/carbon/human/H = user - if(!istype(H)) - to_chat(user, "You must be a humanoid to use this!") - return - var/racechoice = input(H, "Choose your slime subspecies.", "Slime Selection") as null|anything in sortList(subtypesof(/datum/species/jelly), /proc/cmp_typepaths_asc) - if(!racechoice) - to_chat(user, "You decide not to become a slime for now.") - return - if(!user.canUseTopic(src, BE_CLOSE)) - return - H.set_species(racechoice, icon_update=1) - H.visible_message("[H] suddenly shifts form as [src] dissolves into [H.p_their()] skin!") - ..() - -/obj/item/slimecross/charged/pink - colour = "pink" - effect_desc = "Produces a... lovepotion... no ERP." - -/obj/item/slimecross/charged/pink/do_effect(mob/user) - new /obj/item/slimepotion/lovepotion(get_turf(user)) - user.visible_message("[src] distills into a potion!") - ..() - -/obj/item/slimecross/charged/gold - colour = "gold" - effect_desc = "Slowly spawns 10 hostile monsters." - var/max_spawn = 10 - var/spawned = 0 - -/obj/item/slimecross/charged/gold/do_effect(mob/user) - user.visible_message("[src] starts shuddering violently!") - addtimer(CALLBACK(src, PROC_REF(startTimer)), 50) - -/obj/item/slimecross/charged/gold/proc/startTimer() - START_PROCESSING(SSobj, src) - -/obj/item/slimecross/charged/gold/process() - visible_message("[src] lets off a spark, and produces a living creature!") - new /obj/effect/particle_effect/sparks(get_turf(src)) - playsound(get_turf(src), "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - create_random_mob(get_turf(src), HOSTILE_SPAWN) - spawned++ - if(spawned >= max_spawn) - visible_message("[src] collapses into a puddle of goo.") - qdel(src) - -/obj/item/slimecross/charged/gold/Destroy() - STOP_PROCESSING(SSobj, src) - return ..() - -/obj/item/slimecross/charged/oil - colour = "oil" - effect_desc = "Creates an explosion after a few seconds." - -/obj/item/slimecross/charged/oil/do_effect(mob/user) - user.visible_message("[src] begins to shake with rapidly increasing force!") - addtimer(CALLBACK(src, PROC_REF(boom)), 50) - -/obj/item/slimecross/charged/oil/proc/boom() - explosion(get_turf(src), 2, 3, 4) //Much smaller effect than normal oils, but devastatingly strong where it does hit. - qdel(src) - -/obj/item/slimecross/charged/black - colour = "black" - effect_desc = "Randomizes the user's species." - -/obj/item/slimecross/charged/black/do_effect(mob/user) - var/mob/living/carbon/human/H = user - if(!istype(H)) - to_chat(user, "You have to be able to have a species to get your species changed.") - return - var/list/allowed_species = list() - for(var/stype in subtypesof(/datum/species)) - var/datum/species/X = stype - if(initial(X.changesource_flags) & SLIME_EXTRACT) - allowed_species += stype - - var/datum/species/changed = pick(allowed_species) - if(changed) - H.set_species(changed, icon_update = 1) - to_chat(H, "You feel very different!") - ..() - -/obj/item/slimecross/charged/lightpink - colour = "light pink" - effect_desc = "Produces a pacification potion, which works on monsters and humanoids." - -/obj/item/slimecross/charged/lightpink/do_effect(mob/user) - new /obj/item/slimepotion/peacepotion(get_turf(user)) - user.visible_message("[src] distills into a potion!") - ..() - -/obj/item/slimecross/charged/adamantine - colour = "adamantine" - effect_desc = "Does nothing. Sorry :)" - -/obj/item/slimecross/charged/rainbow - colour = "rainbow" - effect_desc = "Produces three living slimes of random colors." - -/obj/item/slimecross/charged/rainbow/do_effect(mob/user) - user.visible_message("[src] swells and splits into three new slimes!") - for(var/i in 1 to 3) - var/mob/living/simple_animal/slime/S = new(get_turf(user)) - S.random_colour() - ..() diff --git a/code/modules/research/xenobiology/crossbreeding/chilling.dm b/code/modules/research/xenobiology/crossbreeding/chilling.dm deleted file mode 100644 index 4a13f5d0c425..000000000000 --- a/code/modules/research/xenobiology/crossbreeding/chilling.dm +++ /dev/null @@ -1,305 +0,0 @@ -/* -Chilling extracts: - Have a unique, primarily defensive effect when - filled with 10u plasma and activated in-hand. -*/ -/obj/item/slimecross/chilling - name = "chilling extract" - desc = "It's cold to the touch, as if frozen solid." - effect = "chilling" - icon_state = "chilling" - -/obj/item/slimecross/chilling/Initialize() - . = ..() - create_reagents(10, INJECTABLE | DRAWABLE) - -/obj/item/slimecross/chilling/attack_self(mob/user) - if(!reagents.has_reagent(/datum/reagent/toxin/plasma,10)) - to_chat(user, "This extract needs to be full of plasma to activate!") - return - reagents.remove_reagent(/datum/reagent/toxin/plasma,10) - to_chat(user, "You squeeze the extract, and it absorbs the plasma!") - playsound(src, 'sound/effects/bubbles.ogg', 50, TRUE) - playsound(src, 'sound/effects/glassbr1.ogg', 50, TRUE) - do_effect(user) - -/obj/item/slimecross/chilling/proc/do_effect(mob/user) //If, for whatever reason, you don't want to delete the extract, don't do ..() - qdel(src) - return - -/obj/item/slimecross/chilling/grey - colour = "grey" - effect_desc = "Creates some slime barrier cubes. When used they create slimy barricades." - -/obj/item/slimecross/chilling/grey/do_effect(mob/user) - user.visible_message("[src] produces a few small, grey cubes") - for(var/i in 1 to 3) - new /obj/item/barriercube(get_turf(user)) - ..() - -/obj/item/slimecross/chilling/orange - colour = "orange" - effect_desc = "Creates a ring of fire one tile away from the user." - -/obj/item/slimecross/chilling/orange/do_effect(mob/user) - user.visible_message("[src] shatters, and lets out a jet of heat!") - for(var/turf/T in orange(get_turf(user),2)) - if(get_dist(get_turf(user), T) > 1) - new /obj/effect/hotspot(T) - ..() - -/obj/item/slimecross/chilling/purple - colour = "purple" - effect_desc = "Injects everyone in the area with some regenerative jelly." - -/obj/item/slimecross/chilling/purple/do_effect(mob/user) - var/area/A = get_area(get_turf(user)) - if(A.outdoors) - to_chat(user, "[src] can't affect such a large area.") - return - user.visible_message("[src] shatters, and a healing aura fills the room briefly.") - for(var/mob/living/carbon/C in A) - C.reagents.add_reagent(/datum/reagent/medicine/regen_jelly,10) - ..() - -/obj/item/slimecross/chilling/blue - colour = "blue" - effect_desc = "Creates a rebreather, a tankless mask." - -/obj/item/slimecross/chilling/blue/do_effect(mob/user) - user.visible_message("[src] cracks, and spills out a liquid goo, which reforms into a mask!") - new /obj/item/clothing/mask/nobreath(get_turf(user)) - ..() - -/obj/item/slimecross/chilling/metal - colour = "metal" - effect_desc = "Temporarily surrounds the user with unbreakable walls." - -/obj/item/slimecross/chilling/metal/do_effect(mob/user) - user.visible_message("[src] melts like quicksilver, and surrounds [user] in a wall!") - for(var/turf/T in orange(get_turf(user),1)) - if(get_dist(get_turf(user), T) > 0) - new /obj/effect/forcefield/slimewall(T) - ..() - -/obj/item/slimecross/chilling/yellow - colour = "yellow" - effect_desc = "Recharges the room's APC by 50%." - -/obj/item/slimecross/chilling/yellow/do_effect(mob/user) - var/area/A = get_area(get_turf(user)) - user.visible_message("[src] shatters, and a the air suddenly feels charged for a moment.") - for(var/obj/machinery/power/apc/C in A) - if(C.cell) - C.cell.charge = min(C.cell.charge + C.cell.maxcharge/2, C.cell.maxcharge) - ..() - -/obj/item/slimecross/chilling/darkpurple - colour = "dark purple" - effect_desc = "Removes all plasma gas in the area." - -/obj/item/slimecross/chilling/darkpurple/do_effect(mob/user) - var/area/A = get_area(get_turf(user)) - if(A.outdoors) - to_chat(user, "[src] can't affect such a large area.") - return - var/filtered = FALSE - for(var/turf/open/T in A) - var/datum/gas_mixture/G = T.air - if(istype(G)) - G.set_moles(GAS_PLASMA, 0) - filtered = TRUE - T.air_update_turf() - if(filtered) - user.visible_message("Cracks spread throughout [src], and some air is sucked in!") - else - user.visible_message("[src] cracks, but nothing happens.") - ..() - -/obj/item/slimecross/chilling/darkblue - colour = "dark blue" - effect_desc = "Seals the user in a protective block of ice." - -/obj/item/slimecross/chilling/darkblue/do_effect(mob/user) - if(isliving(user)) - user.visible_message("[src] freezes over [user]'s entire body!") - var/mob/living/M = user - M.apply_status_effect(/datum/status_effect/frozenstasis) - ..() - -/obj/item/slimecross/chilling/silver - colour = "silver" - effect_desc = "Creates several ration packs." - -/obj/item/slimecross/chilling/silver/do_effect(mob/user) - user.visible_message("[src] crumbles into icy powder, leaving behind several emergency food supplies!") - var/amount = rand(5, 10) - for(var/i in 1 to amount) - new /obj/item/reagent_containers/food/snacks/rationpack(get_turf(user)) - ..() - -/obj/item/slimecross/chilling/bluespace - colour = "bluespace" - effect_desc = "Touching people with this extract adds them to a list, when it is activated it teleports everyone on that list to the user." - var/list/allies = list() - var/active = FALSE - -/obj/item/slimecross/chilling/bluespace/afterattack(atom/target, mob/user, proximity) - if(!proximity || !isliving(target) || active) - return - if(target in allies) - allies -= target - to_chat(user, "You unlink [src] with [target].") - else - allies |= target - to_chat(user, "You link [src] with [target].") - return - -/obj/item/slimecross/chilling/bluespace/do_effect(mob/user) - if(allies.len <= 0) - to_chat(user, "[src] is not linked to anyone!") - return - to_chat(user, "You feel [src] pulse as it begins charging bluespace energies...") - active = TRUE - for(var/mob/living/M in allies) - var/datum/status_effect/slimerecall/S = M.apply_status_effect(/datum/status_effect/slimerecall) - S.target = user - if(do_after(user, 100, target=src)) - to_chat(user, "[src] shatters as it tears a hole in reality, snatching the linked individuals from the void!") - for(var/mob/living/M in allies) - var/datum/status_effect/slimerecall/S = M.has_status_effect(/datum/status_effect/slimerecall) - M.remove_status_effect(S) - else - to_chat(user, "[src] falls dark, dissolving into nothing as the energies fade away.") - for(var/mob/living/M in allies) - var/datum/status_effect/slimerecall/S = M.has_status_effect(/datum/status_effect/slimerecall) - if(istype(S)) - S.interrupted = TRUE - M.remove_status_effect(S) - ..() - -/obj/item/slimecross/chilling/sepia - colour = "sepia" - effect_desc = "Touching someone with it adds/removes them from a list. Activating the extract stops time for 7 seconds, and everyone on the list is immune, except the user." - var/list/allies = list() - -/obj/item/slimecross/chilling/sepia/afterattack(atom/target, mob/user, proximity) - if(!proximity || !isliving(target)) - return - if(target in allies) - allies -= target - to_chat(user, "You unlink [src] with [target].") - else - allies |= target - to_chat(user, "You link [src] with [target].") - return - -/obj/item/slimecross/chilling/sepia/do_effect(mob/user) - user.visible_message("[src] shatters, freezing time itself!") - allies -= user //support class - new /obj/effect/timestop(get_turf(user), 2, 70, allies) - ..() - -/obj/item/slimecross/chilling/cerulean - colour = "cerulean" - effect_desc = "Creates a flimsy copy of the user, that they control." - -/obj/item/slimecross/chilling/cerulean/do_effect(mob/user) - if(isliving(user)) - user.visible_message("[src] creaks and shifts into a clone of [user]!") - var/mob/living/M = user - M.apply_status_effect(/datum/status_effect/slime_clone) - ..() - -/obj/item/slimecross/chilling/pyrite - colour = "pyrite" - effect_desc = "Creates a pair of Prism Glasses, which allow the wearer to place colored light crystals." - -/obj/item/slimecross/chilling/pyrite/do_effect(mob/user) - // [CELADON-EDIT] - CELADON_RETURN_CONTENT - Вот тебе и ЛОЛ - // user.visible_message("[src] does nothing sorry lol!") // CELADON-EDIT - ORIGINAL - user.visible_message("[src] crystallizes into a pair of spectacles!") - new /obj/item/clothing/glasses/prism_glasses(get_turf(user)) - // [/CELADON-EDIT] - ..() - -/obj/item/slimecross/chilling/red - colour = "red" - effect_desc = "Pacifies every slime in your vacinity." - -/obj/item/slimecross/chilling/red/do_effect(mob/user) - var/slimesfound = FALSE - for(var/mob/living/simple_animal/slime/S in view(get_turf(user), 7)) - slimesfound = TRUE - S.docile = TRUE - if(slimesfound) - user.visible_message("[src] lets out a peaceful ring as it shatters, and nearby slimes seem calm.") - else - user.visible_message("[src] lets out a peaceful ring as it shatters, but nothing happens...") - ..() - -/obj/item/slimecross/chilling/pink - colour = "pink" - effect_desc = "Creates a slime corgi puppy." - -/obj/item/slimecross/chilling/pink/do_effect(mob/user) - user.visible_message("[src] cracks like an egg, and an adorable puppy comes tumbling out!") - new /mob/living/simple_animal/pet/dog/corgi/puppy/slime(get_turf(user)) - ..() - -/obj/item/slimecross/chilling/gold - colour = "gold" - effect_desc = "Produces a golden capture device" - -/obj/item/slimecross/chilling/gold/do_effect(mob/user) - user.visible_message("[src] lets off golden light as it melts and reforms into an egg-like device!") - new /obj/item/capturedevice(get_turf(user)) - ..() - -/obj/item/slimecross/chilling/oil - colour = "oil" - effect_desc = "It creates a weak, but wide-ranged explosion." - -/obj/item/slimecross/chilling/oil/do_effect(mob/user) - user.visible_message("[src] begins to shake with muted intensity!") - addtimer(CALLBACK(src, PROC_REF(boom)), 50) - -/obj/item/slimecross/chilling/oil/proc/boom() - explosion(get_turf(src), -1, -1, 10, 0) //Large radius, but mostly light damage, and no flash. - qdel(src) - -/obj/item/slimecross/chilling/black - colour = "black" - effect_desc = "Does nothing. :)" - -/obj/item/slimecross/chilling/lightpink - colour = "light pink" - effect_desc = "Creates a Heroine Bud, a special flower that pacifies whoever wears it on their head. They will not be able to take it off without help." - -/obj/item/slimecross/chilling/lightpink/do_effect(mob/user) - user.visible_message("[src] blooms into a beautiful flower!") - new /obj/item/clothing/head/peaceflower(get_turf(user)) - ..() - -/obj/item/slimecross/chilling/adamantine - colour = "adamantine" - effect_desc = "Solidifies into a set of adamantine armor." - -/obj/item/slimecross/chilling/adamantine/do_effect(mob/user) - user.visible_message("[src] creaks and breaks as it shifts into a heavy set of armor!") - new /obj/item/clothing/suit/armor/heavy/adamantine(get_turf(user)) - ..() - -/obj/item/slimecross/chilling/rainbow - colour = "rainbow" - effect_desc = "Makes an unpassable wall in every door in the area." - -/obj/item/slimecross/chilling/rainbow/do_effect(mob/user) - var/area/area = get_area(user) - if(area.outdoors) - to_chat(user, "[src] can't affect such a large area.") - return - user.visible_message("[src] reflects an array of dazzling colors and light, energy rushing to nearby doors!") - for(var/obj/machinery/door/airlock/door in area) - new /obj/effect/forcefield/slimewall/rainbow(door.loc) - return ..() diff --git a/code/modules/research/xenobiology/crossbreeding/consuming.dm b/code/modules/research/xenobiology/crossbreeding/consuming.dm deleted file mode 100644 index f2a162af3aac..000000000000 --- a/code/modules/research/xenobiology/crossbreeding/consuming.dm +++ /dev/null @@ -1,460 +0,0 @@ -/* -Consuming extracts: - Can eat food items. - After consuming enough, produces special cookies. -*/ -/obj/item/slimecross/consuming - name = "consuming extract" - desc = "It hungers... for more." //My slimecross has finally decided to eat... my buffet! - icon_state = "consuming" - effect = "consuming" - var/nutriment_eaten = 0 - var/nutriment_required = 10 - var/cooldown = 600 //1 minute. - var/last_produced = 0 - var/cookies = 5 //Number of cookies to spawn - var/cookietype = /obj/item/slime_cookie - -/obj/item/slimecross/consuming/attackby(obj/item/O, mob/user) - if(istype(O,/obj/item/reagent_containers/food/snacks)) - if(last_produced + cooldown > world.time) - to_chat(user, "[src] is still digesting after its last meal!") - return - var/datum/reagent/N = O.reagents.has_reagent(/datum/reagent/consumable/nutriment) - if(N) - nutriment_eaten += N.volume - to_chat(user, "[src] opens up and swallows [O] whole!") - qdel(O) - playsound(src, 'sound/items/eatfood.ogg', 20, TRUE) - else - to_chat(user, "[src] burbles unhappily at the offering.") - if(nutriment_eaten >= nutriment_required) - nutriment_eaten = 0 - user.visible_message("[src] swells up and produces a small pile of cookies!") - playsound(src, 'sound/effects/splat.ogg', 40, TRUE) - last_produced = world.time - for(var/i in 1 to cookies) - var/obj/item/S = spawncookie() - S.pixel_x = base_pixel_x + rand(-5, 5) - S.pixel_y = base_pixel_y + rand(-5, 5) - return - ..() - -/obj/item/slimecross/consuming/proc/spawncookie() - return new cookietype(get_turf(src)) - -/obj/item/slime_cookie //While this technically acts like food, it's so removed from it that I made it its' own type. - name = "error cookie" - desc = "A weird slime cookie. You shouldn't see this." - icon = 'icons/obj/food/slimecookies.dmi' - var/taste = "error" - var/nutrition = 5 - icon_state = "base" - force = 0 - w_class = WEIGHT_CLASS_TINY - throwforce = 0 - throw_speed = 3 - throw_range = 6 - -/obj/item/slime_cookie/proc/do_effect(mob/living/M, mob/user) - return - -/obj/item/slime_cookie/attack(mob/living/M, mob/user) - var/fed = FALSE - if(M == user) - M.visible_message("[user] eats [src]!", "You eat [src].") - fed = TRUE - else - M.visible_message("[user] tries to force [M] to eat [src]!", "[user] tries to force you to eat [src]!") - if(do_after(user, 20, target = M)) - fed = TRUE - M.visible_message("[user] forces [M] to eat [src]!", "[user] forces you to eat [src].") - if(fed) - var/mob/living/carbon/human/H = M - - if(!istype(H) || !HAS_TRAIT(H, TRAIT_AGEUSIA)) - to_chat(M, "Tastes like [taste].") - playsound(get_turf(M), 'sound/items/eatfood.ogg', 20, TRUE) - if(nutrition) - M.reagents.add_reagent(/datum/reagent/consumable/nutriment,nutrition) - do_effect(M, user) - qdel(src) - return - ..() - -/obj/item/slimecross/consuming/grey - colour = "grey" - effect_desc = "Creates a slime cookie." - cookietype = /obj/item/slime_cookie/grey - -/obj/item/slime_cookie/grey - name = "slime cookie" - desc = "A grey-ish transparent cookie. Nutritious, probably." - icon_state = "grey" - taste = "goo" - nutrition = 15 - -/obj/item/slimecross/consuming/orange - colour = "orange" - effect_desc = "Creates a slime cookie that heats the target up and grants cold immunity for a short time." - cookietype = /obj/item/slime_cookie/orange - -/obj/item/slime_cookie/orange - name = "fiery cookie" - desc = "A orange cookie with a fiery pattern. Feels warm." - icon_state = "orange" - taste = "cinnamon and burning" - -/obj/item/slime_cookie/orange/do_effect(mob/living/M, mob/user) - M.apply_status_effect(/datum/status_effect/firecookie) - -/obj/item/slimecross/consuming/purple - colour = "purple" - effect_desc = "Creates a slime cookie that heals the target from every type of damage." - cookietype = /obj/item/slime_cookie/purple - -/obj/item/slime_cookie/purple - name = "health cookie" - desc = "A purple cookie with a cross pattern. Soothing." - icon_state = "purple" - taste = "fruit jam and cough medicine" - -/obj/item/slime_cookie/purple/do_effect(mob/living/M, mob/user) - M.adjustBruteLoss(-5) - M.adjustFireLoss(-5) - M.adjustToxLoss(-5, forced=1) //To heal slimepeople. - M.adjustOxyLoss(-5) - M.adjustCloneLoss(-5) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -5) - -/obj/item/slimecross/consuming/blue - colour = "blue" - effect_desc = "Creates a slime cookie that wets the floor around you and makes you immune to water based slipping for a short time." - cookietype = /obj/item/slime_cookie/blue - -/obj/item/slime_cookie/blue - name = "water cookie" - desc = "A transparent blue cookie. Constantly dripping wet." - icon_state = "blue" - taste = /datum/reagent/water - -/obj/item/slime_cookie/blue/do_effect(mob/living/M, mob/user) - M.apply_status_effect(/datum/status_effect/watercookie) - -/obj/item/slimecross/consuming/metal - colour = "metal" - effect_desc = "Creates a slime cookie that increases the target's resistance to brute damage." - cookietype = /obj/item/slime_cookie/metal - -/obj/item/slime_cookie/metal - name = "metallic cookie" - desc = "A shiny grey cookie. Hard to the touch." - icon_state = "metal" - taste = /datum/reagent/copper - -/obj/item/slime_cookie/metal/do_effect(mob/living/M, mob/user) - M.apply_status_effect(/datum/status_effect/metalcookie) - -/obj/item/slimecross/consuming/yellow - colour = "yellow" - effect_desc = "Creates a slime cookie that makes the target immune to electricity for a short time." - cookietype = /obj/item/slime_cookie/yellow - -/obj/item/slime_cookie/yellow - name = "sparking cookie" - desc = "A yellow cookie with a lightning pattern. Has a rubbery texture." - icon_state = "yellow" - taste = "lemon cake and rubber gloves" - -/obj/item/slime_cookie/yellow/do_effect(mob/living/M, mob/user) - M.apply_status_effect(/datum/status_effect/sparkcookie) - -/obj/item/slimecross/consuming/darkpurple - colour = "dark purple" - effect_desc = "Creates a slime cookie that reverses how the target's body treats toxins." - cookietype = /obj/item/slime_cookie/darkpurple - -/obj/item/slime_cookie/darkpurple - name = "toxic cookie" - desc = "A dark purple cookie, stinking of plasma." - icon_state = "darkpurple" - taste = "slime jelly and toxins" - -/obj/item/slime_cookie/darkpurple/do_effect(mob/living/M, mob/user) - M.apply_status_effect(/datum/status_effect/toxincookie) - -/obj/item/slimecross/consuming/darkblue - colour = "dark blue" - effect_desc = "Creates a slime cookie that chills the target and extinguishes them." - cookietype = /obj/item/slime_cookie/darkblue - -/obj/item/slime_cookie/darkblue - name = "frosty cookie" - desc = "A dark blue cookie with a snowflake pattern. Feels cold." - icon_state = "darkblue" - taste = "mint and bitter cold" - -/obj/item/slime_cookie/darkblue/do_effect(mob/living/M, mob/user) - M.adjust_bodytemperature(-110) - M.ExtinguishMob() - -/obj/item/slimecross/consuming/silver - colour = "silver" - effect_desc = "Creates a slime cookie that never gets the target fat." - cookietype = /obj/item/slime_cookie/silver - -/obj/item/slime_cookie/silver - name = "waybread cookie" - desc = "A warm, crispy cookie, sparkling silver in the light. Smells wonderful." - icon_state = "silver" - taste = "masterful elven baking" - nutrition = 0 //We don't want normal nutriment - -/obj/item/slime_cookie/silver/do_effect(mob/living/M, mob/user) - M.reagents.add_reagent(/datum/reagent/consumable/nutriment/stabilized,10) - -/obj/item/slimecross/consuming/bluespace - colour = "bluespace" - effect_desc = "Creates a slime cookie that teleports the target to a random place in the area." - cookietype = /obj/item/slime_cookie/bluespace - -/obj/item/slime_cookie/bluespace - name = "space cookie" - desc = "A white cookie with green icing. Surprisingly hard to hold." - icon_state = "bluespace" - taste = "sugar and starlight" - -/obj/item/slime_cookie/bluespace/do_effect(mob/living/M, mob/user) - var/list/L = get_area_turfs(get_area(M)) - var/turf/target - while (L.len && !target) - var/I = rand(1, L.len) - var/turf/T = L[I] - if (is_centcom_level(T)) - L.Cut(I,I+1) - continue - if(!T.density) - var/clear = TRUE - for(var/obj/O in T) - if(O.density) - clear = FALSE - break - if(clear) - target = T - if (!target) - L.Cut(I,I+1) - - if(target) - do_teleport(M, target, 0, asoundin = 'sound/effects/phasein.ogg', channel = TELEPORT_CHANNEL_BLUESPACE) - new /obj/effect/particle_effect/sparks(get_turf(M)) - playsound(get_turf(M), "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - -/obj/item/slimecross/consuming/sepia - colour = "sepia" - effect_desc = "Creates a slime cookie that makes the target do things slightly faster." - cookietype = /obj/item/slime_cookie/sepia - -/obj/item/slime_cookie/sepia - name = "time cookie" - desc = "A light brown cookie with a clock pattern. Takes some time to chew." - icon_state = "sepia" - taste = "brown sugar and a metronome" - -/obj/item/slime_cookie/sepia/do_effect(mob/living/M, mob/user) - M.apply_status_effect(/datum/status_effect/timecookie) - -/obj/item/slimecross/consuming/cerulean - colour = "cerulean" - effect_desc = "Creates a slime cookie that has a chance to make another once you eat it." - cookietype = /obj/item/slime_cookie/cerulean - cookies = 3 //You're gonna get more. - -/obj/item/slime_cookie/cerulean - name = "duplicookie" - desc = "A cerulean cookie with strange proportions. It feels like it could break apart easily." - icon_state = "cerulean" - taste = "a sugar cookie" - -/obj/item/slime_cookie/cerulean/do_effect(mob/living/M, mob/user) - if(prob(50)) - to_chat(M, "A piece of [src] breaks off while you chew, and falls to the ground.") - var/obj/item/slime_cookie/cerulean/C = new(get_turf(M)) - C.taste = taste + " and a sugar cookie" - -/obj/item/slimecross/consuming/pyrite - colour = "pyrite" - effect_desc = "Creates a slime cookie that randomly colors the target." - cookietype = /obj/item/slime_cookie/pyrite - -/obj/item/slime_cookie/pyrite - name = "color cookie" - desc = "A yellow cookie with rainbow-colored icing. Reflects the light strangely." - icon_state = "pyrite" - taste = "vanilla and " //Randomly selected color dye. - var/colour = "#FFFFFF" - -/obj/item/slime_cookie/pyrite/Initialize() - . = ..() - var/tastemessage = "paint remover" - switch(rand(1,7)) - if(1) - tastemessage = "red dye" - colour = "#FF0000" - if(2) - tastemessage = "orange dye" - colour = "#FFA500" - if(3) - tastemessage = "yellow dye" - colour = "#FFFF00" - if(4) - tastemessage = "green dye" - colour = "#00FF00" - if(5) - tastemessage = "blue dye" - colour = "#0000FF" - if(6) - tastemessage = "indigo dye" - colour = "#4B0082" - if(7) - tastemessage = "violet dye" - colour = "#FF00FF" - taste += tastemessage - -/obj/item/slime_cookie/pyrite/do_effect(mob/living/M, mob/user) - M.add_atom_colour(colour,WASHABLE_COLOUR_PRIORITY) - -/obj/item/slimecross/consuming/red - colour = "red" - effect_desc = "Creates a slime cookie that creates a spatter of blood on the floor, while also restoring some of the target's blood." - cookietype = /obj/item/slime_cookie/red - -/obj/item/slime_cookie/red - name = "blood cookie" - desc = "A red cookie, oozing a thick red fluid. Vampires might enjoy it." - icon_state = "red" - taste = "red velvet and iron" - -/obj/item/slime_cookie/red/do_effect(mob/living/M, mob/user) - new /obj/effect/decal/cleanable/blood(get_turf(M)) - playsound(get_turf(M), 'sound/effects/splat.ogg', 10, TRUE) - if(iscarbon(M)) - var/mob/living/carbon/C = M - C.blood_volume += 25 //Half a vampire drain. - -/obj/item/slimecross/consuming/green - colour = "green" - effect_desc = "Creates a slime cookie that is absolutely disgusting, makes the target vomit, however all reagent in their body are also removed." - cookietype = /obj/item/slime_cookie/green - -/obj/item/slime_cookie/green - name = "gross cookie" - desc = "A disgusting green cookie, seeping with pus. You kind of feel ill just looking at it." - icon_state = "green" - taste = "the contents of your stomach" - -/obj/item/slime_cookie/green/do_effect(mob/living/M, mob/user) - if(ishuman(M)) - var/mob/living/carbon/human/H = M - H.vomit(25) - M.reagents.remove_all() - -/obj/item/slimecross/consuming/pink - colour = "pink" - effect_desc = "Creates a slime cookie that makes the target want to spread the love." - cookietype = /obj/item/slime_cookie/pink - -/obj/item/slime_cookie/pink - name = "love cookie" - desc = "A pink cookie with an icing heart. D'aww." - icon_state = "pink" - taste = "love and hugs" - -/obj/item/slime_cookie/pink/do_effect(mob/living/M, mob/user) - M.apply_status_effect(/datum/status_effect/lovecookie) - -/obj/item/slimecross/consuming/gold - colour = "gold" - effect_desc = "Creates a slime cookie that has a gold coin inside." - cookietype = /obj/item/slime_cookie/gold - -/obj/item/slime_cookie/gold - name = "gilded cookie" - desc = "A buttery golden cookie, closer to a bread than anything. May good fortune find you." - icon_state = "gold" - taste = "sweet cornbread and wealth" - -/obj/item/slime_cookie/gold/do_effect(mob/living/M, mob/user) - var/obj/item/held = M.get_active_held_item() //This should be itself, but just in case... - M.dropItemToGround(held) - var/newcoin = /obj/item/coin/gold - var/obj/item/coin/C = new newcoin(get_turf(M)) - playsound(get_turf(C), 'sound/items/coinflip.ogg', 50, TRUE) - M.put_in_hand(C) - -/obj/item/slimecross/consuming/oil - colour = "oil" - effect_desc = "Creates a slime cookie that slows anyone next to the user." - cookietype = /obj/item/slime_cookie/oil - -/obj/item/slime_cookie/oil - name = "tar cookie" - desc = "An oily black cookie, which sticks to your hands. Smells like chocolate." - icon_state = "oil" - taste = "rich molten chocolate and tar" - -/obj/item/slime_cookie/oil/do_effect(mob/living/M, mob/user) - M.apply_status_effect(/datum/status_effect/tarcookie) - -/obj/item/slimecross/consuming/black - colour = "black" - effect_desc = "Creates a slime cookie that makes the target look like a spooky skeleton for a little bit." - cookietype = /obj/item/slime_cookie/black - -/obj/item/slime_cookie/black - name = "spooky cookie" - desc = "A pitch black cookie with an icing ghost on the front. Spooky!" - icon_state = "black" - taste = "ghosts and stuff" - -/obj/item/slime_cookie/black/do_effect(mob/living/M, mob/user) - M.apply_status_effect(/datum/status_effect/spookcookie) - -/obj/item/slimecross/consuming/lightpink - colour = "light pink" - effect_desc = "Creates a slime cookie that makes the target, and anyone next to the target, pacifistic for a small amount of time." - cookietype = /obj/item/slime_cookie/lightpink - -/obj/item/slime_cookie/lightpink - name = "peace cookie" - desc = "A light pink cookie with a peace symbol in the icing. Lovely!" - icon_state = "lightpink" - taste = "strawberry icing and P.L.U.R" //Literal candy raver. - -/obj/item/slime_cookie/lightpink/do_effect(mob/living/M, mob/user) - M.apply_status_effect(/datum/status_effect/peacecookie) - -/obj/item/slimecross/consuming/adamantine - colour = "adamantine" - effect_desc = "Creates a slime cookie that increases the target's resistance to burn damage." - cookietype = /obj/item/slime_cookie/adamantine - -/obj/item/slime_cookie/adamantine - name = "crystal cookie" - desc = "A translucent rock candy in the shape of a cookie. Surprisingly chewy." - icon_state = "adamantine" - taste = "crystalline sugar and metal" - -/obj/item/slime_cookie/adamantine/do_effect(mob/living/M, mob/user) - M.apply_status_effect(/datum/status_effect/adamantinecookie) - -/obj/item/slimecross/consuming/rainbow - colour = "rainbow" - effect_desc = "Creates a slime cookie that has the effect of a random cookie." - -/obj/item/slimecross/consuming/rainbow/spawncookie() - var/cookie_type = pick(subtypesof(/obj/item/slime_cookie)) - var/obj/item/slime_cookie/S = new cookie_type(get_turf(src)) - S.name = "rainbow cookie" - S.desc = "A beautiful rainbow cookie, constantly shifting colors in the light." - S.icon_state = "rainbow" - return S diff --git a/code/modules/research/xenobiology/crossbreeding/industrial.dm b/code/modules/research/xenobiology/crossbreeding/industrial.dm deleted file mode 100644 index da9387883f0c..000000000000 --- a/code/modules/research/xenobiology/crossbreeding/industrial.dm +++ /dev/null @@ -1,199 +0,0 @@ -/* -Industrial extracts: - Slowly consume plasma, produce items with it. -*/ -/obj/item/slimecross/industrial - name = "industrial extract" - desc = "A gel-like, sturdy extract, fond of plasma and industry." - effect = "industrial" - icon_state = "industrial_still" - var/plasmarequired = 2 //Units of plasma required to be consumed to produce item. - var/itempath = /obj/item //The item produced by the extract. - var/plasmaabsorbed = 0 //Units of plasma aborbed by the extract already. Absorbs at a rate of 2u/obj tick. - var/itemamount = 1 //How many items to spawn - -/obj/item/slimecross/industrial/examine(mob/user) - . = ..() - . += "It currently has [plasmaabsorbed] units of plasma floating inside the outer shell, out of [plasmarequired] units." - -/obj/item/slimecross/industrial/proc/do_after_spawn(obj/item/spawned) - return - -/obj/item/slimecross/industrial/Initialize() - . = ..() - create_reagents(100, INJECTABLE | DRAWABLE) - START_PROCESSING(SSobj,src) - -/obj/item/slimecross/industrial/Destroy() - STOP_PROCESSING(SSobj,src) - return ..() - -/obj/item/slimecross/industrial/process() - var/IsWorking = FALSE - if(reagents.has_reagent(/datum/reagent/toxin/plasma,amount = 2) && plasmarequired > 1) //Can absorb as much as 2 - IsWorking = TRUE - reagents.remove_reagent(/datum/reagent/toxin/plasma,2) - plasmaabsorbed += 2 - else if(reagents.has_reagent(/datum/reagent/toxin/plasma,amount = 1)) //Can absorb as little as 1 - IsWorking = TRUE - reagents.remove_reagent(/datum/reagent/toxin/plasma,1) - plasmaabsorbed += 1 - - if(plasmaabsorbed >= plasmarequired) - playsound(src, 'sound/effects/attackblob.ogg', 50, TRUE) - plasmaabsorbed -= plasmarequired - for(var/i = 0, i < itemamount, i++) - do_after_spawn(new itempath(get_turf(src))) - else if(IsWorking) - playsound(src, 'sound/effects/bubbles.ogg', 5, TRUE) - if(IsWorking) - icon_state = "industrial" - else - icon_state = "industrial_still" - -/obj/item/slimecross/industrial/grey - colour = "grey" - effect_desc = "Produces monkey cubes." - itempath = /obj/item/reagent_containers/food/snacks/monkeycube - itemamount = 5 - -/obj/item/slimecross/industrial/orange - colour = "orange" - effect_desc = "Produces slime zippo lighters." - plasmarequired = 6 - itempath = /obj/item/lighter/slime - -/obj/item/slimecross/industrial/purple - colour = "purple" - effect_desc = "Produces autoinjectors with regen jelly inside." - plasmarequired = 5 - itempath = /obj/item/slimecrossbeaker/autoinjector/regenpack - -/obj/item/slimecross/industrial/blue - colour = "blue" - effect_desc = "Produces full fire extinguishers." - plasmarequired = 10 - itempath = /obj/item/extinguisher - -/obj/item/slimecross/industrial/metal - colour = "metal" - effect_desc = "Produces metal sheets." - plasmarequired = 3 - itempath = /obj/item/stack/sheet/metal/ten - -/obj/item/slimecross/industrial/yellow - colour = "yellow" - effect_desc = "Produces high capacity power cells, which are not fully charged on creation." - plasmarequired = 5 - itempath = /obj/item/stock_parts/cell/high - -/obj/item/slimecross/industrial/yellow/do_after_spawn(obj/item/spawned) - var/obj/item/stock_parts/cell/high/C = spawned - if(istype(C)) - C.charge = rand(0,C.maxcharge/2) - -/obj/item/slimecross/industrial/darkpurple - colour = "dark purple" - effect_desc = "Produces plasma... for plasma." - plasmarequired = 10 - itempath = /obj/item/stack/sheet/mineral/plasma - -/obj/item/slimecross/industrial/darkblue - colour = "dark blue" - effect_desc = "Produces one-use fireproofing potions." - plasmarequired = 6 - itempath = /obj/item/slimepotion/fireproof - -/obj/item/slimecross/industrial/darkblue/do_after_spawn(obj/item/spawned) - var/obj/item/slimepotion/fireproof/potion = spawned - if(istype(potion)) - potion.uses = 1 - -/obj/item/slimecross/industrial/silver - colour = "silver" - effect_desc = "Produces random food and drink items." - plasmarequired = 1 - //Item picked below. - -/obj/item/slimecross/industrial/silver/process() - itempath = pick(list(get_random_food(), get_random_drink())) - ..() - -/obj/item/slimecross/industrial/bluespace - colour = "bluespace" - effect_desc = "Produces synthetic bluespace crystals." - plasmarequired = 7 - itempath = /obj/item/stack/ore/bluespace_crystal/artificial - -/obj/item/slimecross/industrial/sepia - colour = "sepia" - effect_desc = "Produces cameras." - plasmarequired = 2 - itempath = /obj/item/camera - -/obj/item/slimecross/industrial/cerulean - colour = "cerulean" - effect_desc = "Produces normal slime extract enhancers." - plasmarequired = 5 - itempath = /obj/item/slimepotion/enhancer - -/obj/item/slimecross/industrial/pyrite - colour = "pyrite" - effect_desc = "Produces cans of spraypaint." - plasmarequired = 2 - itempath = /obj/item/toy/crayon/spraycan - -/obj/item/slimecross/industrial/red - colour = "red" - effect_desc = "Produces blood orbs." - plasmarequired = 5 - itempath = /obj/item/slimecrossbeaker/bloodpack - -/obj/item/slimecross/industrial/green - colour = "green" - effect_desc = "Produces self-use-only slime jelly autoinjectors." - plasmarequired = 7 - itempath = /obj/item/slimecrossbeaker/autoinjector/slimejelly - -/obj/item/slimecross/industrial/pink - colour = "pink" - effect_desc = "Produces synthpax and space drug autoinjectors." - plasmarequired = 6 - itempath = /obj/item/slimecrossbeaker/autoinjector/peaceandlove - -/obj/item/slimecross/industrial/gold - colour = "gold" - effect_desc = "Produces random coins." - plasmarequired = 10 - -/obj/item/slimecross/industrial/gold/process() - itempath = pick(/obj/item/coin/silver, /obj/item/coin/iron, /obj/item/coin/gold, /obj/item/coin/diamond, /obj/item/coin/plasma, /obj/item/coin/uranium) - ..() - -/obj/item/slimecross/industrial/oil - colour = "oil" - effect_desc = "Produces IEDs." - plasmarequired = 4 - itempath = /obj/item/grenade/iedcasing/spawned - -/obj/item/slimecross/industrial/black //What does this have to do with black slimes? No clue! Fun, though - colour = "black" - effect_desc = "Produces slime brand regenerative cigarettes." - plasmarequired = 6 - itempath = /obj/item/storage/fancy/cigarettes/cigpack_xeno - -/obj/item/slimecross/industrial/lightpink - colour = "light pink" - effect_desc = "Produces heart shaped boxes that have candies in them." - plasmarequired = 3 - itempath = /obj/item/storage/fancy/heart_box - -/obj/item/slimecross/industrial/rainbow - colour = "rainbow" - effect_desc = "Produces random slime extracts." - plasmarequired = 5 - //Item picked below. - -/obj/item/slimecross/industrial/rainbow/process() - itempath = pick(subtypesof(/obj/item/slime_extract)) - ..() diff --git a/code/modules/research/xenobiology/crossbreeding/mutative.dm b/code/modules/research/xenobiology/crossbreeding/mutative.dm deleted file mode 100644 index 043e124641ab..000000000000 --- a/code/modules/research/xenobiology/crossbreeding/mutative.dm +++ /dev/null @@ -1,27 +0,0 @@ -/obj/item/slimecross/mutative - name = "mutative extract" - desc = "It's softly pulsing with mutagenic energy." - effect = "mutative" - icon_state = "mutative" - -/obj/item/slimecross/mutative/Initialize() - . = ..() - create_reagents(10, INJECTABLE | DRAWABLE) - -/obj/item/slimecross/mutative/attack_self(mob/user) - if(!reagents.has_reagent(/datum/reagent/toxin/plasma,10)) - to_chat(user, "This extract needs to be full of plasma to activate!") - return - reagents.remove_reagent(/datum/reagent/toxin/plasma,10) - to_chat(user, "You squeeze the extract, and it absorbs the plasma!") - playsound(src, 'sound/effects/bubbles.ogg', 50, TRUE) - playsound(src, 'sound/magic/fireball.ogg', 50, TRUE) - do_effect(user) - -/obj/item/slimecross/mutative/proc/do_effect(mob/user) //If, for whatever reason, you don't want to delete the extract, don't do ..() - qdel(src) - return - -/obj/item/slimecross/mutative/rainbow - colour = "rainbow" - effect_desc = "Hardens into a shard of slimy crystal. Prick yourself with it to bring forth a Slime Guardian." diff --git a/code/modules/research/xenobiology/crossbreeding/prismatic.dm b/code/modules/research/xenobiology/crossbreeding/prismatic.dm deleted file mode 100644 index 9cfc4542d526..000000000000 --- a/code/modules/research/xenobiology/crossbreeding/prismatic.dm +++ /dev/null @@ -1,124 +0,0 @@ -/* -Prismatic extracts: - Becomes an infinite-use paintbrush. -*/ -/obj/item/slimecross/prismatic - name = "prismatic extract" - desc = "It's constantly wet with a semi-transparent, colored goo." - effect = "prismatic" - effect_desc = "When used it paints whatever it hits." - icon_state = "prismatic" - var/paintcolor = "#FFFFFF" - -/obj/item/slimecross/prismatic/afterattack(turf/target, mob/user, proximity) - if(!proximity) - return - if(!istype(target) || isspaceturf(target)) - return - target.add_atom_colour(paintcolor, WASHABLE_COLOUR_PRIORITY) - playsound(target, 'sound/effects/slosh.ogg', 20, TRUE) - -/obj/item/slimecross/prismatic/grey/ - colour = "grey" - desc = "It's constantly wet with a pungent-smelling, clear chemical." - -/obj/item/slimecross/prismatic/grey/afterattack(turf/target, mob/user, proximity) - . = ..() - if(!proximity) - return - if(istype(target) && target.color != initial(target.color)) - target.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) - playsound(target, 'sound/effects/slosh.ogg', 20, TRUE) - -/obj/item/slimecross/prismatic/orange - paintcolor = "#FFA500" - colour = "orange" - -/obj/item/slimecross/prismatic/purple - paintcolor = "#B19CD9" - colour = "purple" - -/obj/item/slimecross/prismatic/blue - paintcolor = "#ADD8E6" - colour = "blue" - -/obj/item/slimecross/prismatic/metal - paintcolor = "#7E7E7E" - colour = "metal" - -/obj/item/slimecross/prismatic/yellow - paintcolor = "#FFFF00" - colour = "yellow" - -/obj/item/slimecross/prismatic/darkpurple - paintcolor = "#551A8B" - colour = "dark purple" - -/obj/item/slimecross/prismatic/darkblue - paintcolor = "#0000FF" - colour = "dark blue" - -/obj/item/slimecross/prismatic/silver - paintcolor = "#D3D3D3" - colour = "silver" - -/obj/item/slimecross/prismatic/bluespace - paintcolor = "#32CD32" - colour = "bluespace" - -/obj/item/slimecross/prismatic/sepia - paintcolor = "#704214" - colour = "sepia" - -/obj/item/slimecross/prismatic/cerulean - paintcolor = "#2956B2" - colour = "cerulean" - -/obj/item/slimecross/prismatic/pyrite - paintcolor = "#FAFAD2" - colour = "pyrite" - -/obj/item/slimecross/prismatic/red - paintcolor = "#FF0000" - colour = "red" - -/obj/item/slimecross/prismatic/green - paintcolor = "#00FF00" - colour = "green" - -/obj/item/slimecross/prismatic/pink - paintcolor = "#FF69B4" - colour = "pink" - -/obj/item/slimecross/prismatic/gold - paintcolor = "#FFD700" - colour = "gold" - -/obj/item/slimecross/prismatic/oil - paintcolor = "#505050" - colour = "oil" - -/obj/item/slimecross/prismatic/black - paintcolor = "#000000" - colour = "black" - -/obj/item/slimecross/prismatic/lightpink - paintcolor = "#FFB6C1" - colour = "light pink" - -/obj/item/slimecross/prismatic/adamantine - paintcolor = "#008B8B" - colour = "adamantine" - -/obj/item/slimecross/prismatic/rainbow - paintcolor = "#FFFFFF" - colour = "rainbow" - -/obj/item/slimecross/prismatic/rainbow/attack_self(mob/user) - var/newcolor = input(user, "Choose the slime color:", "Color change",paintcolor) as color|null - if(user.get_active_held_item() != src || user.stat != CONSCIOUS || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) - return - if(!newcolor) - return - paintcolor = newcolor - return diff --git a/code/modules/research/xenobiology/crossbreeding/recurring.dm b/code/modules/research/xenobiology/crossbreeding/recurring.dm deleted file mode 100644 index 4a094744f7f8..000000000000 --- a/code/modules/research/xenobiology/crossbreeding/recurring.dm +++ /dev/null @@ -1,138 +0,0 @@ -/* -Recurring extracts: - Generates a new charge every few seconds. - If depleted of its' last charge, stops working. -*/ -/obj/item/slimecross/recurring - name = "recurring extract" - desc = "A tiny, glowing core, wrapped in several layers of goo." - effect = "recurring" - icon_state = "recurring" - var/extract_type - var/obj/item/slime_extract/extract - var/cooldown = 0 - var/max_cooldown = 5 //In sets of 2 seconds. - -/obj/item/slimecross/recurring/Initialize() - . = ..() - extract = new extract_type(src.loc) - visible_message("[src] wraps a layer of goo around itself!") - extract.name = name - extract.desc = desc - extract.icon = icon - extract.icon_state = icon_state - extract.color = color - extract.recurring = TRUE - src.forceMove(extract) - START_PROCESSING(SSobj,src) - -/obj/item/slimecross/recurring/process() - if(cooldown > 0) - cooldown-- - else if(extract.Uses < 10 && extract.Uses > 0) - extract.Uses++ - cooldown = max_cooldown - else if(extract.Uses <= 0) - extract.visible_message("The light inside [extract] flickers and dies out.") - extract.desc = "A tiny, inert core, bleeding dark, cerulean-colored goo." - extract.icon_state = "prismatic" - qdel(src) - -/obj/item/slimecross/recurring/Destroy() - . = ..() - STOP_PROCESSING(SSobj,src) - -/obj/item/slimecross/recurring/grey - extract_type = /obj/item/slime_extract/grey - colour = "grey" - -/obj/item/slimecross/recurring/orange - extract_type = /obj/item/slime_extract/orange - colour = "orange" - -/obj/item/slimecross/recurring/purple - extract_type = /obj/item/slime_extract/purple - colour = "purple" - -/obj/item/slimecross/recurring/blue - extract_type = /obj/item/slime_extract/blue - colour = "blue" - -/obj/item/slimecross/recurring/metal - extract_type = /obj/item/slime_extract/metal - colour = "metal" - max_cooldown = 10 - -/obj/item/slimecross/recurring/yellow - extract_type = /obj/item/slime_extract/yellow - colour = "yellow" - max_cooldown = 10 - -/obj/item/slimecross/recurring/darkpurple - extract_type = /obj/item/slime_extract/darkpurple - colour = "dark purple" - max_cooldown = 10 - -/obj/item/slimecross/recurring/darkblue - extract_type = /obj/item/slime_extract/darkblue - colour = "dark blue" - -/obj/item/slimecross/recurring/silver - extract_type = /obj/item/slime_extract/silver - colour = "silver" - -/obj/item/slimecross/recurring/bluespace - extract_type = /obj/item/slime_extract/bluespace - colour = "bluespace" - -/obj/item/slimecross/recurring/sepia - extract_type = /obj/item/slime_extract/sepia - colour = "sepia" - max_cooldown = 18 //No infinite timestop for you! - -/obj/item/slimecross/recurring/cerulean - extract_type = /obj/item/slime_extract/cerulean - colour = "cerulean" - -/obj/item/slimecross/recurring/pyrite - extract_type = /obj/item/slime_extract/pyrite - colour = "pyrite" - -/obj/item/slimecross/recurring/red - extract_type = /obj/item/slime_extract/red - colour = "red" - -/obj/item/slimecross/recurring/green - extract_type = /obj/item/slime_extract/green - colour = "green" - -/obj/item/slimecross/recurring/pink - extract_type = /obj/item/slime_extract/pink - colour = "pink" - -/obj/item/slimecross/recurring/gold - extract_type = /obj/item/slime_extract/gold - colour = "gold" - max_cooldown = 15 - -/obj/item/slimecross/recurring/oil - extract_type = /obj/item/slime_extract/oil - colour = "oil" //Why would you want this? - -/obj/item/slimecross/recurring/black - extract_type = /obj/item/slime_extract/black - colour = "black" - -/obj/item/slimecross/recurring/lightpink - extract_type = /obj/item/slime_extract/lightpink - colour = "light pink" - -/obj/item/slimecross/recurring/adamantine - extract_type = /obj/item/slime_extract/adamantine - colour = "adamantine" - max_cooldown = 10 - -/obj/item/slimecross/recurring/rainbow - extract_type = /obj/item/slime_extract/rainbow - colour = "rainbow" - max_cooldown = 20 //It's pretty powerful. diff --git a/code/modules/research/xenobiology/crossbreeding/regenerative.dm b/code/modules/research/xenobiology/crossbreeding/regenerative.dm deleted file mode 100644 index 75a1201d924a..000000000000 --- a/code/modules/research/xenobiology/crossbreeding/regenerative.dm +++ /dev/null @@ -1,354 +0,0 @@ -/* -Regenerative extracts: - Work like a legion regenerative core. - Has a unique additional effect. -*/ -/obj/item/slimecross/regenerative - name = "regenerative extract" - desc = "It's filled with a milky substance, and pulses like a heartbeat." - effect = "regenerative" - icon_state = "regenerative" - - var/oxy_loss = 0 - var/tox_loss = 0 - var/fire_loss = 0 - var/brute_loss = 0 - var/stamina_loss = 0 - var/blood_loss = 100 - var/organ_loss = 3 - var/slime_heal_modifier = 1 //Specialised types only heal half - var/jelly_amount = 7.5 - var/bone_loss = FALSE - var/life_loss = FALSE - var/slime_delay = 10 - -/obj/item/slimecross/regenerative/proc/core_effect(mob/living/carbon/human/target, mob/user) - return -/obj/item/slimecross/regenerative/proc/core_effect_before(mob/living/carbon/human/target, mob/user) - return - -/obj/item/slimecross/regenerative/afterattack(atom/target,mob/user,prox) - . = ..() - if(!prox || !isliving(target)) - return - var/mob/living/H = target - if(H.stat == DEAD && life_loss) - slime_delay = 200 //Reviving the dead takes a while, 20 seconds to be exact - to_chat(user, "You begin using the [src] to try and bring [H] back from the dead...") - else - slime_delay = 10 - if(H.stat == DEAD && !life_loss) // Won't revive the dead, except for specific extracts - to_chat(user, "[src] will not work on the dead!") - return - if(H != user) - if(!do_after(user, slime_delay, H)) // 1 second delay - return FALSE - user.visible_message("[user] crushes the [src] over [H], the milky goo quickly regenerating some of [H.p_their()] injuries!", - "You squeeze the [src], and it bursts over [H], the milky goo regenerating some of [H.p_their()] injuries.") - else - if(!do_after(user, (slime_delay * 1.5), H)) // 1.5 second delay - return FALSE - user.visible_message("[user] crushes the [src] over [user.p_them()]self, the milky goo quickly regenerating some of [user.p_their()] injuries!", - "You squeeze the [src], and it bursts in your hand, splashing you with milky goo which quickly regenerates some of your injuries!") -// Slimes are good at healing clone damage, but don't heal other damage types as much. Additionally heals 15 organ damage. - core_effect_before(H, user) // can affect heal multiplier - oxy_loss = (12.5 + (H.getOxyLoss() * 0.4 * slime_heal_modifier)) - tox_loss = (12.5 + (H.getToxLoss() * 0.4 * slime_heal_modifier)) - fire_loss = (12.5 + (H.getFireLoss() * 0.4 * slime_heal_modifier)) - brute_loss = (12.5 + (H.getBruteLoss() * 0.4 * slime_heal_modifier)) - stamina_loss = (12.5 + (H.getStaminaLoss() * 0.5 * slime_heal_modifier)) - core_effect(H, user) // can affect specific healing values - H.reagents.add_reagent(/datum/reagent/medicine/regen_jelly,jelly_amount) // Splits the healing effect across an instant heal, and a smaller heal after. - H.specific_heal(brute_amt = brute_loss, fire_amt = fire_loss, tox_amt = tox_loss, oxy_amt = oxy_loss, stam_amt = stamina_loss, organ_amt = organ_loss, clone_amt = 100, blood_amt = blood_loss, specific_bones = bone_loss, specific_revive = life_loss) - playsound(target, 'sound/effects/splat.ogg', 40, TRUE) - qdel(src) - -/obj/item/slimecross/regenerative/grey - colour = "grey" //Has no bonus effect. - effect_desc = "Partially heals the target and does nothing else." - -/obj/item/slimecross/regenerative/orange - colour = "orange" - -/obj/item/slimecross/regenerative/orange/core_effect_before(mob/living/target, mob/user) - target.visible_message("The [src] boils over!") - for(var/turf/turf in range(1,target)) - if(!locate(/obj/effect/hotspot) in turf) - new /obj/effect/hotspot(turf) - -/obj/item/slimecross/regenerative/purple - colour = "purple" - effect_desc = "Weakly heals the target, but treats toxin damage especially well. Additionally injects them with some additional regen jelly." - -/obj/item/slimecross/regenerative/purple/core_effect_before(mob/living/target, mob/user) - slime_heal_modifier = 0.75 - -/obj/item/slimecross/regenerative/purple/core_effect(mob/living/target, mob/user) - tox_loss = (10 + (target.getBruteLoss() * 0.8)) - jelly_amount += 10 - -/obj/item/slimecross/regenerative/blue - colour = "blue" - effect_desc = "Weakly heals the target, but extra effective at treating burns. Additionally makes the floor wet." - -/obj/item/slimecross/regenerative/blue/core_effect_before(mob/living/target, mob/user) - slime_heal_modifier = 0.5 - -/obj/item/slimecross/regenerative/blue/core_effect(mob/living/target, mob/user) - if(isturf(target.loc)) - var/turf/open/T = get_turf(target) - T.MakeSlippery(TURF_WET_WATER, min_wet_time = 10, wet_time_to_add = 5) - target.visible_message("The milky goo in the extract gets all over the floor!") - fire_loss = (10 + (target.getFireLoss() * 0.8)) - jelly_amount *= 0.2 - -/obj/item/slimecross/regenerative/metal - colour = "metal" - effect_desc = "Barely heals the target, but fixes their bones .Additionally encases the target in a locker." - -/obj/item/slimecross/regenerative/metal/core_effect_before(mob/living/target, mob/user) - slime_heal_modifier = 0.1 - -/obj/item/slimecross/regenerative/metal/core_effect(mob/living/target, mob/user) - target.visible_message("The milky goo hardens and reshapes itself, encasing [target]!") - var/obj/structure/closet/C = new /obj/structure/closet(target.loc) - C.name = "slimy closet" - C.desc = "Looking closer, it seems to be made of a sort of solid, opaque, metal-like goo." - target.forceMove(C) - bone_loss = TRUE - jelly_amount *= 0.2 - -/obj/item/slimecross/regenerative/yellow - colour = "yellow" - effect_desc = "Partially heals the target, can revive the dead. additionally Partially recharges a single item on the target." - life_loss = TRUE //Will revive the dead. Heals normally unless target is dead, in which case it heals less. - -/obj/item/slimecross/regenerative/yellow/core_effect_before(mob/living/target, mob/user) - if(target.stat == DEAD) - slime_heal_modifier = 0.1 //use surgery to fix wounds - else - slime_heal_modifier = 0.75 //discourages spamming these to revive a target, combine with other cores - -/obj/item/slimecross/regenerative/yellow/core_effect(mob/living/target, mob/user) - var/list/batteries = list() - for(var/obj/item/stock_parts/cell/C in target.GetAllContents()) - if(C.charge < C.maxcharge) - batteries += C - if(batteries.len) - var/obj/item/stock_parts/cell/ToCharge = pick(batteries) - ToCharge.charge = ToCharge.maxcharge - to_chat(target, "You feel a strange electrical pulse, and one of your electrical items was recharged.") - if(target.stat == DEAD) - blood_loss = 100 - organ_loss = 30 // More effective at fixing organs if the target is dead - jelly_amount *= 0.2 - target.visible_message("The [src] sparks as it tries to revive [target]!") - -/obj/item/slimecross/regenerative/darkpurple - colour = "dark purple" - effect_desc = "Partially heals the target and gives them purple clothing if they are naked." - -/obj/item/slimecross/regenerative/darkpurple/core_effect(mob/living/target, mob/user) - var/equipped = 0 - equipped += target.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/purple(null), ITEM_SLOT_FEET) - equipped += target.equip_to_slot_or_del(new /obj/item/clothing/under/color/lightpurple(null), ITEM_SLOT_ICLOTHING) - equipped += target.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/purple(null), ITEM_SLOT_GLOVES) - equipped += target.equip_to_slot_or_del(new /obj/item/clothing/head/soft/purple(null), ITEM_SLOT_HEAD) - if(equipped > 0) - target.visible_message("The milky goo congeals into clothing!") - -/obj/item/slimecross/regenerative/darkblue - colour = "dark blue" - effect_desc = "Partially heals the target and fireproofs their clothes." - -/obj/item/slimecross/regenerative/darkblue/core_effect(mob/living/target, mob/user) - if(!ishuman(target)) - return - var/mob/living/carbon/human/H = target - var/fireproofed = FALSE - if(H.get_item_by_slot(ITEM_SLOT_OCLOTHING)) - fireproofed = TRUE - var/obj/item/clothing/C = H.get_item_by_slot(ITEM_SLOT_OCLOTHING) - fireproof(C) - if(H.get_item_by_slot(ITEM_SLOT_HEAD)) - fireproofed = TRUE - var/obj/item/clothing/C = H.get_item_by_slot(ITEM_SLOT_HEAD) - fireproof(C) - if(fireproofed) - target.visible_message("Some of [target]'s clothing gets coated in the goo, and turns blue!") - -/obj/item/slimecross/regenerative/darkblue/proc/fireproof(obj/item/clothing/C) - C.name = "fireproofed [C.name]" - C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) - C.add_atom_colour("#000080", FIXED_COLOUR_PRIORITY) - C.max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - C.heat_protection = C.body_parts_covered - C.resistance_flags |= FIRE_PROOF - -/obj/item/slimecross/regenerative/silver - colour = "silver" - effect_desc = "Partially heals the target and makes their belly feel round and full." - -/obj/item/slimecross/regenerative/silver/core_effect(mob/living/target, mob/user) - target.set_nutrition(NUTRITION_LEVEL_FULL - 1) - to_chat(target, "You feel satiated.") - -/obj/item/slimecross/regenerative/bluespace - colour = "bluespace" - effect_desc = "Partially heals the target and teleports them to where this core was created." - var/turf/open/T - -/obj/item/slimecross/regenerative/bluespace/core_effect(mob/living/target, mob/user) - target.visible_message("[src] disappears in a shower of sparks!","The milky goo teleports you somewhere it remembers!") - do_sparks(5,FALSE,target) - target.forceMove(T) - do_sparks(5,FALSE,target) - -/obj/item/slimecross/regenerative/bluespace/Initialize() - . = ..() - T = get_turf(src) - -/obj/item/slimecross/regenerative/sepia - colour = "sepia" - effect_desc = "Partially heals the target and stops time." - -/obj/item/slimecross/regenerative/sepia/core_effect_before(mob/living/target, mob/user) - to_chat(target, "You try to forget how you feel.") - target.AddComponent(/datum/component/dejavu) - -/obj/item/slimecross/regenerative/cerulean - colour = "cerulean" - effect_desc = "Slightly heals the target, but provides a boost of oxygen for a while. Additionally makes a second regenerative core with no special effects." - -/obj/item/slimecross/regenerative/cerulean/core_effect_before(mob/living/target, mob/user) - slime_heal_modifier = 0.5 - -/obj/item/slimecross/regenerative/cerulean/core_effect(mob/living/target, mob/user) - src.forceMove(user.loc) - var/obj/item/slimecross/X = new /obj/item/slimecross/regenerative(user.loc) - X.name = name - X.desc = desc - user.put_in_active_hand(X) - oxy_loss = 150 - target.reagents.add_reagent(/datum/reagent/medicine/salbutamol,15) //Similar to the luminescent effect, lets you breathe without oxygen for a while. - to_chat(user, "Some of the milky goo congeals in your hand!") - -/obj/item/slimecross/regenerative/pyrite - colour = "pyrite" - effect_desc = "Partially heals and randomly colors the target." - -/obj/item/slimecross/regenerative/pyrite/core_effect(mob/living/target, mob/user) - target.visible_message("The milky goo coating [target] leaves [target.p_them()] a different color!") - target.add_atom_colour(rgb(rand(0,255),rand(0,255),rand(0,255)),WASHABLE_COLOUR_PRIORITY) - -/obj/item/slimecross/regenerative/red - colour = "red" - effect_desc = "Slightly heals the target and injects them with a lot of blood, what a rush!" - -/obj/item/slimecross/regenerative/red/core_effect_before(mob/living/target, mob/user) - slime_heal_modifier = 0.5 - -/obj/item/slimecross/regenerative/red/core_effect(mob/living/target, mob/user) - to_chat(target, "You feel... faster.") - target.reagents.add_reagent(/datum/reagent/medicine/ephedrine,3) - blood_loss += 700 - -/obj/item/slimecross/regenerative/green - colour = "green" - effect_desc = "Weakly heals the target, but fixes their organs .Additionally changes the spieces or color of a slime or jellyperson." - -/obj/item/slimecross/regenerative/green/core_effect_before(mob/living/target, mob/user) - slime_heal_modifier = 0.5 - -/obj/item/slimecross/regenerative/green/core_effect(mob/living/target, mob/user) - if(isslime(target)) - target.visible_message("The [target] suddenly changes color!") - var/mob/living/simple_animal/slime/S = target - S.random_colour() - organ_loss += 17 - - -/obj/item/slimecross/regenerative/pink - colour = "pink" - effect_desc = "Partially heals the target and injects them with some krokodil." - -/obj/item/slimecross/regenerative/pink/core_effect(mob/living/target, mob/user) - to_chat(target, "You feel more calm.") - target.reagents.add_reagent(/datum/reagent/drug/krokodil,4) - -/obj/item/slimecross/regenerative/gold - colour = "gold" - effect_desc = "Partially heals the target and produces a random coin." - -/obj/item/slimecross/regenerative/gold/core_effect(mob/living/target, mob/user) - var/newcoin = pick(/obj/item/coin/silver, /obj/item/coin/iron, /obj/item/coin/gold, /obj/item/coin/diamond, /obj/item/coin/plasma, /obj/item/coin/uranium) - var/obj/item/coin/C = new newcoin(target.loc) - playsound(C, 'sound/items/coinflip.ogg', 50, TRUE) - target.put_in_hand(C) - -/obj/item/slimecross/regenerative/oil - colour = "oil" - effect_desc = "Partially heals the target and flashes everyone in sight." - -/obj/item/slimecross/regenerative/oil/core_effect(mob/living/target, mob/user) - playsound(src, 'sound/weapons/flash.ogg', 100, TRUE) - for(var/mob/living/L in view(user,7)) - L.flash_act() - -/obj/item/slimecross/regenerative/black - colour = "black" - effect_desc = "Partially heals the target and creates a duplicate of them, that drops dead soon after." - -/obj/item/slimecross/regenerative/black/core_effect_before(mob/living/target, mob/user) - var/dummytype = target.type - var/mob/living/dummy = new dummytype(target.loc) - to_chat(target, "The milky goo flows from your skin, forming an imperfect copy of you.") - if(iscarbon(target)) - var/mob/living/carbon/T = target - var/mob/living/carbon/D = dummy - T.dna.transfer_identity(D) - D.updateappearance(mutcolor_update=1) - D.real_name = T.real_name - dummy.adjustBruteLoss(target.getBruteLoss()) - dummy.adjustFireLoss(target.getFireLoss()) - dummy.adjustToxLoss(target.getToxLoss()) - dummy.adjustOxyLoss(200) - -/obj/item/slimecross/regenerative/lightpink - colour = "light pink" - effect_desc = "Partially heals the target and also heals the user." - -// Doesn't heal the user as much as the target -/obj/item/slimecross/regenerative/lightpink/core_effect(mob/living/target, mob/user) - if(!isliving(user)) - return - if(target == user) - return - var/mob/living/U = user - var/oxy_loss = (10 + (U.getOxyLoss() * 0.3)) - var/tox_loss = (10 + (U.getToxLoss() * 0.3)) - var/fire_loss = (10 + (U.getFireLoss() * 0.3)) - var/brute_loss = (10 + (U.getBruteLoss() * 0.3)) - var/stamina_loss = (10 + (U.getStaminaLoss() * 0.35)) - U.reagents.add_reagent(/datum/reagent/medicine/regen_jelly,10) // Splits the healing effect across an instant heal, and a smaller heal after. - U.specific_heal(brute_amt = brute_loss, fire_amt = fire_loss, tox_amt = tox_loss, oxy_amt = oxy_loss, stam_amt = stamina_loss, organ_amt = 2, clone_amt = 100) - to_chat(U, "Some of the milky goo sprays onto you, as well!") - -/obj/item/slimecross/regenerative/adamantine - colour = "adamantine" - effect_desc = "weakly heals the target, but extra effective at treating brute trauma. Additionally boosts their armor." - -/obj/item/slimecross/regenerative/adamantine/core_effect_before(mob/living/target, mob/user) - slime_heal_modifier = 0.3 - -/obj/item/slimecross/regenerative/adamantine/core_effect(mob/living/target, mob/user) //WIP - Find out why this doesn't work. - target.apply_status_effect(STATUS_EFFECT_SLIMESKIN) - brute_loss = (10 + (target.getBruteLoss() * 0.65)) //most common damage type, let's not go overboard - jelly_amount *= 0.5 - -/obj/item/slimecross/regenerative/rainbow - colour = "rainbow" - effect_desc = "Partially heals the target and temporarily makes them immortal, but pacifistic." - -/obj/item/slimecross/regenerative/rainbow/core_effect(mob/living/target, mob/user) - target.apply_status_effect(STATUS_EFFECT_RAINBOWPROTECTION) diff --git a/code/modules/research/xenobiology/crossbreeding/reproductive.dm b/code/modules/research/xenobiology/crossbreeding/reproductive.dm deleted file mode 100644 index f51c5a271177..000000000000 --- a/code/modules/research/xenobiology/crossbreeding/reproductive.dm +++ /dev/null @@ -1,133 +0,0 @@ -/* -Reproductive extracts: - When fed three monkey cubes, produces between - 1 and 4 normal slime extracts of the same colour. -*/ -/obj/item/slimecross/reproductive - name = "reproductive extract" - desc = "It pulses with a strange hunger." - icon_state = "reproductive" - effect = "reproductive" - effect_desc = "When fed monkey cubes it produces more extracts. Bio bag compatible as well." - var/extract_type = /obj/item/slime_extract/ - var/cubes_eaten = 0 - var/last_produce = 0 - var/cooldown = 30 // 3 seconds. - -/obj/item/slimecross/reproductive/attackby(obj/item/O, mob/user) - if((last_produce + cooldown) > world.time) - to_chat(user, "[src] is still digesting!") - return - if(istype(O, /obj/item/storage/bag/bio)) - var/list/inserted = list() - SEND_SIGNAL(O, COMSIG_TRY_STORAGE_TAKE_TYPE, /obj/item/reagent_containers/food/snacks/monkeycube, src, 1, null, null, user, inserted) - if(inserted.len) - var/obj/item/reagent_containers/food/snacks/monkeycube/M = inserted[1] - if(istype(M)) - eat_cube(M, user) - else - to_chat(user, "There are no monkey cubes in the bio bag!") - if(istype(O,/obj/item/reagent_containers/food/snacks/monkeycube)) - eat_cube(O, user) - if(cubes_eaten >= 3) - var/cores = rand(1,4) - visible_message("[src] briefly swells to a massive size, and expels [cores] extract[cores > 1 ? "s":""]!") - playsound(src, 'sound/effects/splat.ogg', 40, TRUE) - last_produce = world.time - for(var/i = 0, i < cores, i++) - new extract_type(get_turf(loc)) - cubes_eaten = 0 - -/obj/item/slimecross/reproductive/proc/eat_cube(obj/item/reagent_containers/food/snacks/monkeycube, mob/user) - qdel(monkeycube) - cubes_eaten++ - to_chat(user, "You feed [monkeycube] to [src], and it pulses gently.") - playsound(src, 'sound/items/eatfood.ogg', 20, TRUE) - -/obj/item/slimecross/reproductive/grey - extract_type = /obj/item/slime_extract/grey - colour = "grey" - -/obj/item/slimecross/reproductive/orange - extract_type = /obj/item/slime_extract/orange - colour = "orange" - -/obj/item/slimecross/reproductive/purple - extract_type = /obj/item/slime_extract/purple - colour = "purple" - -/obj/item/slimecross/reproductive/blue - extract_type = /obj/item/slime_extract/blue - colour = "blue" - -/obj/item/slimecross/reproductive/metal - extract_type = /obj/item/slime_extract/metal - colour = "metal" - -/obj/item/slimecross/reproductive/yellow - extract_type = /obj/item/slime_extract/yellow - colour = "yellow" - -/obj/item/slimecross/reproductive/darkpurple - extract_type = /obj/item/slime_extract/darkpurple - colour = "dark purple" - -/obj/item/slimecross/reproductive/darkblue - extract_type = /obj/item/slime_extract/darkblue - colour = "dark blue" - -/obj/item/slimecross/reproductive/silver - extract_type = /obj/item/slime_extract/silver - colour = "silver" - -/obj/item/slimecross/reproductive/bluespace - extract_type = /obj/item/slime_extract/bluespace - colour = "bluespace" - -/obj/item/slimecross/reproductive/sepia - extract_type = /obj/item/slime_extract/sepia - colour = "sepia" - -/obj/item/slimecross/reproductive/cerulean - extract_type = /obj/item/slime_extract/cerulean - colour = "cerulean" - -/obj/item/slimecross/reproductive/pyrite - extract_type = /obj/item/slime_extract/pyrite - colour = "pyrite" - -/obj/item/slimecross/reproductive/red - extract_type = /obj/item/slime_extract/red - colour = "red" - -/obj/item/slimecross/reproductive/green - extract_type = /obj/item/slime_extract/green - colour = "green" - -/obj/item/slimecross/reproductive/pink - extract_type = /obj/item/slime_extract/pink - colour = "pink" - -/obj/item/slimecross/reproductive/gold - extract_type = /obj/item/slime_extract/gold - colour = "gold" - -/obj/item/slimecross/reproductive/oil - extract_type = /obj/item/slime_extract/oil - colour = "oil" - -/obj/item/slimecross/reproductive/black - extract_type = /obj/item/slime_extract/black - colour = "black" - -/obj/item/slimecross/reproductive/lightpink - extract_type = /obj/item/slime_extract/lightpink - colour = "light pink" - -/obj/item/slimecross/reproductive/adamantine - extract_type = /obj/item/slime_extract/adamantine - colour = "adamantine" - -/obj/item/slimecross/reproductive/rainbow - extract_type = /obj/item/slime_extract/rainbow - colour = "rainbow" diff --git a/code/modules/research/xenobiology/crossbreeding/selfsustaining.dm b/code/modules/research/xenobiology/crossbreeding/selfsustaining.dm deleted file mode 100644 index 814083c3bb50..000000000000 --- a/code/modules/research/xenobiology/crossbreeding/selfsustaining.dm +++ /dev/null @@ -1,149 +0,0 @@ -/* -Self-sustaining extracts: - Produces 4 extracts that do not need reagents. -*/ -/obj/item/slimecross/selfsustaining - name = "self-sustaining extract" - effect = "self-sustaining" - icon_state = "selfsustaining" - var/extract_type = /obj/item/slime_extract - -/obj/item/autoslime - name = "autoslime" - desc = "It resembles a normal slime extract, but seems filled with a strange, multi-colored fluid." - var/obj/item/slime_extract/extract - var/effect_desc = "A self-sustaining slime extract. When used, lets you choose which reaction you want." - -//Just divides into the actual item. -/obj/item/slimecross/selfsustaining/Initialize() - ..() - visible_message("The [src] shudders, and splits into four smaller extracts.") - for(var/i = 0, i < 4, i++) - var/obj/item/autoslime/A = new /obj/item/autoslime(src.loc) - var/obj/item/slime_extract/X = new extract_type(A) - A.extract = X - A.icon = icon - A.icon_state = icon_state - A.color = color - A.name = "self-sustaining " + colour + " extract" - return INITIALIZE_HINT_QDEL - -/obj/item/autoslime/Initialize() - return ..() - -/obj/item/autoslime/attack_self(mob/user) - var/reagentselect = input(user, "Choose the reagent the extract will produce.", "Self-sustaining Reaction") as null|anything in sortList(extract.activate_reagents, /proc/cmp_typepaths_asc) - var/amount = 5 - var/secondary - - if (user.get_active_held_item() != src || user.stat != CONSCIOUS || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) - return - if(!reagentselect) - return - if(reagentselect == "lesser plasma") - amount = 4 - reagentselect = /datum/reagent/toxin/plasma - if(reagentselect == "holy water and uranium") - reagentselect = /datum/reagent/water/holywater - secondary = /datum/reagent/uranium - extract.forceMove(user.drop_location()) - qdel(src) - user.put_in_active_hand(extract) - extract.reagents.add_reagent(reagentselect,amount) - if(secondary) - extract.reagents.add_reagent(secondary,amount) - -/obj/item/autoslime/examine(mob/user) - . = ..() - if(effect_desc) - . += "[effect_desc]" - -//Different types. - -/obj/item/slimecross/selfsustaining/grey - extract_type = /obj/item/slime_extract/grey - colour = "grey" - -/obj/item/slimecross/selfsustaining/orange - extract_type = /obj/item/slime_extract/orange - colour = "orange" - -/obj/item/slimecross/selfsustaining/purple - extract_type = /obj/item/slime_extract/purple - colour = "purple" - -/obj/item/slimecross/selfsustaining/blue - extract_type = /obj/item/slime_extract/blue - colour = "blue" - -/obj/item/slimecross/selfsustaining/metal - extract_type = /obj/item/slime_extract/metal - colour = "metal" - -/obj/item/slimecross/selfsustaining/yellow - extract_type = /obj/item/slime_extract/yellow - colour = "yellow" - -/obj/item/slimecross/selfsustaining/darkpurple - extract_type = /obj/item/slime_extract/darkpurple - colour = "dark purple" - -/obj/item/slimecross/selfsustaining/darkblue - extract_type = /obj/item/slime_extract/darkblue - colour = "dark blue" - -/obj/item/slimecross/selfsustaining/silver - extract_type = /obj/item/slime_extract/silver - colour = "silver" - -/obj/item/slimecross/selfsustaining/bluespace - extract_type = /obj/item/slime_extract/bluespace - colour = "bluespace" - -/obj/item/slimecross/selfsustaining/sepia - extract_type = /obj/item/slime_extract/sepia - colour = "sepia" - -/obj/item/slimecross/selfsustaining/cerulean - extract_type = /obj/item/slime_extract/cerulean - colour = "cerulean" - -/obj/item/slimecross/selfsustaining/pyrite - extract_type = /obj/item/slime_extract/pyrite - colour = "pyrite" - -/obj/item/slimecross/selfsustaining/red - extract_type = /obj/item/slime_extract/red - colour = "red" - -/obj/item/slimecross/selfsustaining/green - extract_type = /obj/item/slime_extract/green - colour = "green" - -/obj/item/slimecross/selfsustaining/pink - extract_type = /obj/item/slime_extract/pink - colour = "pink" - -/obj/item/slimecross/selfsustaining/gold - extract_type = /obj/item/slime_extract/gold - colour = "gold" - -/obj/item/slimecross/selfsustaining/oil - extract_type = /obj/item/slime_extract/oil - colour = "oil" - -/obj/item/slimecross/selfsustaining/black - extract_type = /obj/item/slime_extract/black - colour = "black" - -/obj/item/slimecross/selfsustaining/lightpink - extract_type = /obj/item/slime_extract/lightpink - colour = "light pink" - -/obj/item/slimecross/selfsustaining/adamantine - extract_type = /obj/item/slime_extract/adamantine - colour = "adamantine" - -/obj/item/slimecross/selfsustaining/rainbow - extract_type = /obj/item/slime_extract/rainbow - colour = "rainbow" diff --git a/code/modules/research/xenobiology/crossbreeding/stabilized.dm b/code/modules/research/xenobiology/crossbreeding/stabilized.dm deleted file mode 100644 index eee23636f780..000000000000 --- a/code/modules/research/xenobiology/crossbreeding/stabilized.dm +++ /dev/null @@ -1,190 +0,0 @@ -/* -Stabilized extracts: - Provides a passive buff to the holder. -*/ - -//To add: Create an effect in crossbreeding/_status_effects.dm with the name "/datum/status_effect/stabilized/[color]" -//Status effect will automatically be applied while held, and lost on drop. - -/obj/item/slimecross/stabilized - name = "stabilized extract" - desc = "It seems inert, but anything it touches glows softly..." - effect = "stabilized" - icon_state = "stabilized" - var/datum/status_effect/linked_effect - var/mob/living/owner - -/obj/item/slimecross/stabilized/Initialize() - . = ..() - START_PROCESSING(SSobj,src) - -/obj/item/slimecross/stabilized/Destroy() - STOP_PROCESSING(SSobj,src) - qdel(linked_effect) - return ..() - -/obj/item/slimecross/stabilized/process() - var/humanfound = null - if(ishuman(loc)) - humanfound = loc - if(ishuman(loc.loc)) //Check if in backpack. - humanfound = (loc.loc) - if(!humanfound) - return - var/mob/living/carbon/human/H = humanfound - var/effectpath = /datum/status_effect/stabilized - var/static/list/effects = subtypesof(/datum/status_effect/stabilized) - for(var/X in effects) - var/datum/status_effect/stabilized/S = X - if(initial(S.colour) == colour) - effectpath = S - break - if(!H.has_status_effect(effectpath)) - var/datum/status_effect/stabilized/S = H.apply_status_effect(effectpath) - owner = H - S.linked_extract = src - STOP_PROCESSING(SSobj,src) - - - -//Colors and subtypes: -/obj/item/slimecross/stabilized/grey - colour = "grey" - effect_desc = "Makes slimes friendly to the owner" - -/obj/item/slimecross/stabilized/orange - colour = "orange" - effect_desc = "Passively tries to increase or decrease the owner's body temperature to normal" - -/obj/item/slimecross/stabilized/purple - colour = "purple" - effect_desc = "Provides a regeneration effect" - -/obj/item/slimecross/stabilized/blue - colour = "blue" - effect_desc = "Makes the owner immune to slipping on water, soap or foam. Space lube and ice are still too slippery." - -/obj/item/slimecross/stabilized/metal - colour = "metal" - effect_desc = "Every 30 seconds, adds a sheet of material to a random stack in the owner's backpack." - -/obj/item/slimecross/stabilized/yellow - colour = "yellow" - effect_desc = "Every ten seconds it recharges a device on the owner by 10%." - -/obj/item/slimecross/stabilized/darkpurple - colour = "dark purple" - effect_desc = "Gives you burning fingertips, automatically cooking any microwavable food you hold." - -/obj/item/slimecross/stabilized/darkblue - colour = "dark blue" - effect_desc = "Slowly extinguishes the owner if they are on fire, also wets items like monkey cubes, creating a monkey." - -/obj/item/slimecross/stabilized/silver - colour = "silver" - effect_desc = "Slows the rate at which the owner loses nutrition" - -/obj/item/slimecross/stabilized/bluespace - colour = "bluespace" - effect_desc = "On a two minute cooldown, when the owner has taken enough damage, they are teleported to a safe place." - -/obj/item/slimecross/stabilized/sepia - colour = "sepia" - effect_desc = "Randomly adjusts the owner's speed." - -/obj/item/slimecross/stabilized/cerulean - colour = "cerulean" - effect_desc = "Creates a duplicate of the owner. If the owner dies they will take control of the duplicate, unless the death was from beheading or gibbing." - -/obj/item/slimecross/stabilized/pyrite - colour = "pyrite" - effect_desc = "Randomly colors the owner every few seconds." - -/obj/item/slimecross/stabilized/red - colour = "red" - effect_desc = "Nullifies all equipment based slowdowns." - -/obj/item/slimecross/stabilized/green - colour = "green" - effect_desc = "Changes the owner's name and appearance while holding this extract." - -/obj/item/slimecross/stabilized/pink - colour = "pink" - effect_desc = "As long as no creatures are harmed in the owner's presense, they will not attack you. If the peace is broken it takes two minutes to restore." - -/obj/item/slimecross/stabilized/gold - colour = "gold" - effect_desc = "Creates a pet when held." - var/mob_type - var/datum/mind/saved_mind - var/mob_name = "Familiar" - -/obj/item/slimecross/stabilized/gold/proc/generate_mobtype() - var/static/list/mob_spawn_pets = list() - if(mob_spawn_pets.len <= 0) - for(var/T in typesof(/mob/living/simple_animal)) - var/mob/living/simple_animal/SA = T - switch(initial(SA.gold_core_spawnable)) - if(FRIENDLY_SPAWN) - mob_spawn_pets += T - mob_type = pick(mob_spawn_pets) - -/obj/item/slimecross/stabilized/gold/Initialize() - . = ..() - generate_mobtype() - -/obj/item/slimecross/stabilized/gold/attack_self(mob/user) - var/choice = input(user, "Which do you want to reset?", "Familiar Adjustment") as null|anything in sortList(list("Familiar Location", "Familiar Species", "Familiar Sentience", "Familiar Name")) - if(!user.canUseTopic(src, BE_CLOSE)) - return - if(isliving(user)) - var/mob/living/L = user - if(L.has_status_effect(/datum/status_effect/stabilized/gold)) - L.remove_status_effect(/datum/status_effect/stabilized/gold) - if(choice == "Familiar Location") - to_chat(user, "You prod [src], and it shudders slightly.") - START_PROCESSING(SSobj, src) - if(choice == "Familiar Species") - to_chat(user, "You squeeze [src], and a shape seems to shift around inside.") - generate_mobtype() - START_PROCESSING(SSobj, src) - if(choice == "Familiar Sentience") - to_chat(user, "You poke [src], and it lets out a glowing pulse.") - saved_mind = null - START_PROCESSING(SSobj, src) - if(choice == "Familiar Name") - var/newname = sanitize_name(stripped_input(user, "Would you like to change the name of [mob_name]", "Name change", mob_name, MAX_NAME_LEN)) - if(newname) - mob_name = newname - to_chat(user, "You speak softly into [src], and it shakes slightly in response.") - START_PROCESSING(SSobj, src) - -/obj/item/slimecross/stabilized/oil - colour = "oil" - effect_desc = "The owner will violently explode when they die while holding this extract." - -/obj/item/slimecross/stabilized/black - colour = "black" - effect_desc = "While strangling someone, the owner's hands melt around their neck, draining their life in exchange for food and healing." - -/obj/item/slimecross/stabilized/lightpink - colour = "light pink" - effect_desc = "The owner moves at high speeds while holding this extract, also stabilizes anyone in critical condition around you using Epinephrine." - -/obj/item/slimecross/stabilized/adamantine - colour = "adamantine" - effect_desc = "Owner gains a slight boost in damage resistance to all types." - -/obj/item/slimecross/stabilized/rainbow - colour = "rainbow" - effect_desc = "Accepts a regenerative extract and automatically uses it if the owner enters a critical condition." - var/obj/item/slimecross/regenerative/regencore - -/obj/item/slimecross/stabilized/rainbow/attackby(obj/item/O, mob/user) - var/obj/item/slimecross/regenerative/regen = O - if(istype(regen) && !regencore) - to_chat(user, "You place [O] in [src], prepping the extract for automatic application!") - regencore = regen - regen.forceMove(src) - return - return ..() diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm deleted file mode 100644 index 81ac7db98b01..000000000000 --- a/code/modules/research/xenobiology/xenobio_camera.dm +++ /dev/null @@ -1,473 +0,0 @@ -//Xenobio control console -/mob/camera/aiEye/remote/xenobio - visible_icon = TRUE - icon = 'icons/mob/cameramob.dmi' - icon_state = "generic_camera" - var/allowed_area = null - -/mob/camera/aiEye/remote/xenobio/Initialize() - var/area/A = get_area(loc) - allowed_area = A.name - . = ..() - -/mob/camera/aiEye/remote/xenobio/setLoc(t) - var/area/new_area = get_area(t) - if(new_area && new_area.name == allowed_area || new_area && (new_area.area_flags & XENOBIOLOGY_COMPATIBLE)) - return ..() - else - return - -/obj/machinery/computer/camera_advanced/xenobio - name = "Slime management console" - desc = "A computer used for remotely handling slimes." - networks = list("ss13") - circuit = /obj/item/circuitboard/computer/xenobiology - var/datum/action/innate/slime_place/slime_place_action - var/datum/action/innate/slime_pick_up/slime_up_action - var/datum/action/innate/feed_slime/feed_slime_action - var/datum/action/innate/monkey_recycle/monkey_recycle_action - var/datum/action/innate/slime_scan/scan_action - var/datum/action/innate/feed_potion/potion_action - var/datum/action/innate/hotkey_help/hotkey_help - - var/obj/machinery/monkey_recycler/connected_recycler - var/list/stored_slimes - var/obj/item/slimepotion/slime/current_potion - var/max_slimes = 5 - var/monkeys = 0 - - icon_screen = "slime_comp" - icon_keyboard = "rd_key" - - light_color = LIGHT_COLOR_PINK - -/obj/machinery/computer/camera_advanced/xenobio/Initialize(mapload) - . = ..() - slime_place_action = new - slime_up_action = new - feed_slime_action = new - monkey_recycle_action = new - scan_action = new - potion_action = new - hotkey_help = new - stored_slimes = list() - for(var/obj/machinery/monkey_recycler/recycler in GLOB.monkey_recyclers) - if(get_area(recycler.loc) == get_area(loc)) - connected_recycler = recycler - connected_recycler.connected += src - -/obj/machinery/computer/camera_advanced/xenobio/Destroy() - QDEL_NULL(current_potion) - for(var/thing in stored_slimes) - var/mob/living/simple_animal/slime/S = thing - S.forceMove(drop_location()) - stored_slimes.Cut() - if(connected_recycler) - connected_recycler.connected -= src - connected_recycler = null - return ..() - -/obj/machinery/computer/camera_advanced/xenobio/handle_atom_del(atom/A) - if(A == current_potion) - current_potion = null - if(A in stored_slimes) - stored_slimes -= A - return ..() - -/obj/machinery/computer/camera_advanced/xenobio/CreateEye() - eyeobj = new /mob/camera/aiEye/remote/xenobio(get_turf(src)) - eyeobj.origin = src - eyeobj.visible_icon = TRUE - eyeobj.icon = 'icons/mob/cameramob.dmi' - eyeobj.icon_state = "generic_camera" - -/obj/machinery/computer/camera_advanced/xenobio/GrantActions(mob/living/user) - ..() - - if(slime_up_action) - slime_up_action.target = src - slime_up_action.Grant(user) - actions += slime_up_action - - if(slime_place_action) - slime_place_action.target = src - slime_place_action.Grant(user) - actions += slime_place_action - - if(feed_slime_action) - feed_slime_action.target = src - feed_slime_action.Grant(user) - actions += feed_slime_action - - if(monkey_recycle_action) - monkey_recycle_action.target = src - monkey_recycle_action.Grant(user) - actions += monkey_recycle_action - - if(scan_action) - scan_action.target = src - scan_action.Grant(user) - actions += scan_action - - if(potion_action) - potion_action.target = src - potion_action.Grant(user) - actions += potion_action - - if(hotkey_help) - hotkey_help.target = src - hotkey_help.Grant(user) - actions += hotkey_help - - RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_CTRL, PROC_REF(XenoSlimeClickCtrl)) - RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_ALT, PROC_REF(XenoSlimeClickAlt)) - RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_SHIFT, PROC_REF(XenoSlimeClickShift)) - RegisterSignal(user, COMSIG_XENO_TURF_CLICK_SHIFT, PROC_REF(XenoTurfClickShift)) - RegisterSignal(user, COMSIG_XENO_TURF_CLICK_CTRL, PROC_REF(XenoTurfClickCtrl)) - RegisterSignal(user, COMSIG_XENO_MONKEY_CLICK_CTRL, PROC_REF(XenoMonkeyClickCtrl)) - - //Checks for recycler on every interact, prevents issues with load order on certain maps. - if(!connected_recycler) - for(var/obj/machinery/monkey_recycler/recycler in GLOB.monkey_recyclers) - if(get_area(recycler.loc) == get_area(loc)) - connected_recycler = recycler - connected_recycler.connected += src - -/obj/machinery/computer/camera_advanced/xenobio/remove_eye_control(mob/living/user) - UnregisterSignal(user, COMSIG_XENO_SLIME_CLICK_CTRL) - UnregisterSignal(user, COMSIG_XENO_SLIME_CLICK_ALT) - UnregisterSignal(user, COMSIG_XENO_SLIME_CLICK_SHIFT) - UnregisterSignal(user, COMSIG_XENO_TURF_CLICK_SHIFT) - UnregisterSignal(user, COMSIG_XENO_TURF_CLICK_CTRL) - UnregisterSignal(user, COMSIG_XENO_MONKEY_CLICK_CTRL) - ..() - -/obj/machinery/computer/camera_advanced/xenobio/attackby(obj/item/O, mob/user, params) - if(istype(O, /obj/item/reagent_containers/food/snacks/monkeycube)) - monkeys++ - to_chat(user, "You feed [O] to [src]. It now has [monkeys] monkey cubes stored.") - qdel(O) - return - else if(istype(O, /obj/item/storage/bag)) - var/obj/item/storage/P = O - var/loaded = FALSE - for(var/obj/G in P.contents) - if(istype(G, /obj/item/reagent_containers/food/snacks/monkeycube)) - loaded = TRUE - monkeys++ - qdel(G) - if(loaded) - to_chat(user, "You fill [src] with the monkey cubes stored in [O]. [src] now has [monkeys] monkey cubes stored.") - return - else if(istype(O, /obj/item/slimepotion/slime)) - var/replaced = FALSE - if(user && !user.transferItemToLoc(O, src)) - return - if(!QDELETED(current_potion)) - current_potion.forceMove(drop_location()) - replaced = TRUE - current_potion = O - to_chat(user, "You load [O] in the console's potion slot[replaced ? ", replacing the one that was there before" : ""].") - return - ..() - -/obj/machinery/computer/camera_advanced/xenobio/multitool_act(mob/living/user, obj/item/multitool/I) - . = ..() - if (istype(I) && istype(I.buffer,/obj/machinery/monkey_recycler)) - to_chat(user, "You link [src] with [I.buffer] in [I] buffer.") - connected_recycler = I.buffer - connected_recycler.connected += src - return TRUE - -/datum/action/innate/slime_place - name = "Place Slimes" - icon_icon = 'icons/mob/actions/actions_silicon.dmi' - button_icon_state = "slime_down" - -/datum/action/innate/slime_place/Activate() - if(!target || !isliving(owner)) - return - var/mob/living/C = owner - var/mob/camera/aiEye/remote/xenobio/remote_eye = C.remote_control - var/obj/machinery/computer/camera_advanced/xenobio/X = target - - if(GLOB.cameranet.checkTurfVis(remote_eye.loc)) - for(var/mob/living/simple_animal/slime/S in X.stored_slimes) - S.forceMove(remote_eye.loc) - S.visible_message("[S] warps in!") - X.stored_slimes -= S - else - to_chat(owner, "Target is not near a camera. Cannot proceed.") - -/datum/action/innate/slime_pick_up - name = "Pick up Slime" - icon_icon = 'icons/mob/actions/actions_silicon.dmi' - button_icon_state = "slime_up" - -/datum/action/innate/slime_pick_up/Activate() - if(!target || !isliving(owner)) - return - var/mob/living/C = owner - var/mob/camera/aiEye/remote/xenobio/remote_eye = C.remote_control - var/obj/machinery/computer/camera_advanced/xenobio/X = target - - if(GLOB.cameranet.checkTurfVis(remote_eye.loc)) - for(var/mob/living/simple_animal/slime/S in remote_eye.loc) - if(X.stored_slimes.len >= X.max_slimes) - break - if(!S.ckey) - if(S.buckled) - S.Feedstop(silent = TRUE) - S.visible_message("[S] vanishes in a flash of light!") - S.forceMove(X) - X.stored_slimes += S - else - to_chat(owner, "Target is not near a camera. Cannot proceed.") - - -/datum/action/innate/feed_slime - name = "Feed Slimes" - icon_icon = 'icons/mob/actions/actions_silicon.dmi' - button_icon_state = "monkey_down" - -/datum/action/innate/feed_slime/Activate() - if(!target || !isliving(owner)) - return - var/mob/living/C = owner - var/mob/camera/aiEye/remote/xenobio/remote_eye = C.remote_control - var/obj/machinery/computer/camera_advanced/xenobio/X = target - - if(GLOB.cameranet.checkTurfVis(remote_eye.loc)) - if(X.monkeys >= 1) - var/mob/living/carbon/monkey/food = new /mob/living/carbon/monkey(remote_eye.loc, TRUE, owner) - if (!QDELETED(food)) - food.LAssailant = WEAKREF(C) - X.monkeys-- - X.monkeys = round(X.monkeys, 0.1) //Prevents rounding errors - to_chat(owner, "[X] now has [X.monkeys] monkeys stored.") - else - to_chat(owner, "[X] needs to have at least 1 monkey stored. Currently has [X.monkeys] monkeys stored.") - else - to_chat(owner, "Target is not near a camera. Cannot proceed.") - - -/datum/action/innate/monkey_recycle - name = "Recycle Monkeys" - icon_icon = 'icons/mob/actions/actions_silicon.dmi' - button_icon_state = "monkey_up" - -/datum/action/innate/monkey_recycle/Activate() - if(!target || !isliving(owner)) - return - var/mob/living/C = owner - var/mob/camera/aiEye/remote/xenobio/remote_eye = C.remote_control - var/obj/machinery/computer/camera_advanced/xenobio/X = target - var/obj/machinery/monkey_recycler/recycler = X.connected_recycler - - if(!recycler) - to_chat(owner, "There is no connected monkey recycler. Use a multitool to link one.") - return - if(GLOB.cameranet.checkTurfVis(remote_eye.loc)) - for(var/mob/living/carbon/monkey/M in remote_eye.loc) - if(M.stat) - M.visible_message("[M] vanishes as [M.p_theyre()] reclaimed for recycling!") - recycler.use_power(500) - X.monkeys += recycler.cube_production - X.monkeys = round(X.monkeys, 0.1) //Prevents rounding errors - qdel(M) - to_chat(owner, "[X] now has [X.monkeys] monkeys available.") - else - to_chat(owner, "Target is not near a camera. Cannot proceed.") - -/datum/action/innate/slime_scan - name = "Scan Slime" - icon_icon = 'icons/mob/actions/actions_silicon.dmi' - button_icon_state = "slime_scan" - -/datum/action/innate/slime_scan/Activate() - if(!target || !isliving(owner)) - return - var/mob/living/C = owner - var/mob/camera/aiEye/remote/xenobio/remote_eye = C.remote_control - - if(GLOB.cameranet.checkTurfVis(remote_eye.loc)) - for(var/mob/living/simple_animal/slime/S in remote_eye.loc) - slime_scan(S, C) - else - to_chat(owner, "Target is not near a camera. Cannot proceed.") - -/datum/action/innate/feed_potion - name = "Apply Potion" - icon_icon = 'icons/mob/actions/actions_silicon.dmi' - button_icon_state = "slime_potion" - -/datum/action/innate/feed_potion/Activate() - if(!target || !isliving(owner)) - return - - var/mob/living/C = owner - var/mob/camera/aiEye/remote/xenobio/remote_eye = C.remote_control - var/obj/machinery/computer/camera_advanced/xenobio/X = target - - if(QDELETED(X.current_potion)) - to_chat(owner, "No potion loaded.") - return - - if(GLOB.cameranet.checkTurfVis(remote_eye.loc)) - for(var/mob/living/simple_animal/slime/S in remote_eye.loc) - X.current_potion.attack(S, C) - break - else - to_chat(owner, "Target is not near a camera. Cannot proceed.") - -/datum/action/innate/hotkey_help - name = "Hotkey Help" - icon_icon = 'icons/mob/actions/actions_silicon.dmi' - button_icon_state = "hotkey_help" - -/datum/action/innate/hotkey_help/Activate() - if(!target || !isliving(owner)) - return - to_chat(owner, "Click shortcuts:") - to_chat(owner, "Shift-click a slime to pick it up, or the floor to drop all held slimes.") - to_chat(owner, "Ctrl-click a slime to scan it.") - to_chat(owner, "Alt-click a slime to feed it a potion.") - to_chat(owner, "Ctrl-click or a dead monkey to recycle it, or the floor to place a new monkey.") - -// -// Alternate clicks for slime, monkey and open turf if using a xenobio console - -// Scans slime -/mob/living/simple_animal/slime/CtrlClick(mob/user) - SEND_SIGNAL(user, COMSIG_XENO_SLIME_CLICK_CTRL, src) - ..() - -//Feeds a potion to slime -/mob/living/simple_animal/slime/AltClick(mob/user) - SEND_SIGNAL(user, COMSIG_XENO_SLIME_CLICK_ALT, src) - ..() - -//Picks up slime -/mob/living/simple_animal/slime/ShiftClick(mob/user) - SEND_SIGNAL(user, COMSIG_XENO_SLIME_CLICK_SHIFT, src) - ..() - -//Place slimes -/turf/open/ShiftClick(mob/user) - SEND_SIGNAL(user, COMSIG_XENO_TURF_CLICK_SHIFT, src) - ..() - -//Place monkey -/turf/open/CtrlClick(mob/user) - SEND_SIGNAL(user, COMSIG_XENO_TURF_CLICK_CTRL, src) - ..() - -//Pick up monkey -/mob/living/carbon/monkey/CtrlClick(mob/user) - SEND_SIGNAL(user, COMSIG_XENO_MONKEY_CLICK_CTRL, src) - ..() - -// Scans slime -/obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickCtrl(mob/living/user, mob/living/simple_animal/slime/S) - if(!GLOB.cameranet.checkTurfVis(S.loc)) - to_chat(user, "Target is not near a camera. Cannot proceed.") - return - var/mob/living/C = user - var/mob/camera/aiEye/remote/xenobio/E = C.remote_control - var/area/mobarea = get_area(S.loc) - if(mobarea.name == E.allowed_area || (mobarea & XENOBIOLOGY_COMPATIBLE)) - slime_scan(S, C) - -//Feeds a potion to slime -/obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickAlt(mob/living/user, mob/living/simple_animal/slime/S) - if(!GLOB.cameranet.checkTurfVis(S.loc)) - to_chat(user, "Target is not near a camera. Cannot proceed.") - return - var/mob/living/C = user - var/mob/camera/aiEye/remote/xenobio/E = C.remote_control - var/obj/machinery/computer/camera_advanced/xenobio/X = E.origin - var/area/mobarea = get_area(S.loc) - if(QDELETED(X.current_potion)) - to_chat(C, "No potion loaded.") - return - if(mobarea.name == E.allowed_area ||(mobarea & XENOBIOLOGY_COMPATIBLE)) - X.current_potion.attack(S, C) - -//Picks up slime -/obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickShift(mob/living/user, mob/living/simple_animal/slime/S) - if(!GLOB.cameranet.checkTurfVis(S.loc)) - to_chat(user, "Target is not near a camera. Cannot proceed.") - return - var/mob/living/C = user - var/mob/camera/aiEye/remote/xenobio/E = C.remote_control - var/obj/machinery/computer/camera_advanced/xenobio/X = E.origin - var/area/mobarea = get_area(S.loc) - if(mobarea.name == E.allowed_area || (mobarea & XENOBIOLOGY_COMPATIBLE)) - if(X.stored_slimes.len >= X.max_slimes) - to_chat(C, "Slime storage is full.") - return - if(S.ckey) - to_chat(C, "The slime wiggled free!") - return - if(S.buckled) - S.Feedstop(silent = TRUE) - S.visible_message("[S] vanishes in a flash of light!") - S.forceMove(X) - X.stored_slimes += S - -//Place slimes -/obj/machinery/computer/camera_advanced/xenobio/proc/XenoTurfClickShift(mob/living/user, turf/open/T) - if(!GLOB.cameranet.checkTurfVis(T)) - to_chat(user, "Target is not near a camera. Cannot proceed.") - return - var/mob/living/C = user - var/mob/camera/aiEye/remote/xenobio/E = C.remote_control - var/obj/machinery/computer/camera_advanced/xenobio/X = E.origin - var/area/turfarea = get_area(T) - if(turfarea.name == E.allowed_area || (turfarea & XENOBIOLOGY_COMPATIBLE)) - for(var/mob/living/simple_animal/slime/S in X.stored_slimes) - S.forceMove(T) - S.visible_message("[S] warps in!") - X.stored_slimes -= S - -//Place monkey -/obj/machinery/computer/camera_advanced/xenobio/proc/XenoTurfClickCtrl(mob/living/user, turf/open/T) - if(!GLOB.cameranet.checkTurfVis(T)) - to_chat(user, "Target is not near a camera. Cannot proceed.") - return - var/mob/living/C = user - var/mob/camera/aiEye/remote/xenobio/E = C.remote_control - var/obj/machinery/computer/camera_advanced/xenobio/X = E.origin - var/area/turfarea = get_area(T) - if(turfarea.name == E.allowed_area || (turfarea & XENOBIOLOGY_COMPATIBLE)) - if(X.monkeys >= 1) - var/mob/living/carbon/monkey/food = new /mob/living/carbon/monkey(T, TRUE, C) - if (!QDELETED(food)) - food.LAssailant = WEAKREF(C) - X.monkeys-- - X.monkeys = round(X.monkeys, 0.1) //Prevents rounding errors - to_chat(C, "[X] now has [X.monkeys] monkeys stored.") - else - to_chat(C, "[X] needs to have at least 1 monkey stored. Currently has [X.monkeys] monkeys stored.") - -//Pick up monkey -/obj/machinery/computer/camera_advanced/xenobio/proc/XenoMonkeyClickCtrl(mob/living/user, mob/living/carbon/monkey/M) - if(!isturf(M.loc) || !GLOB.cameranet.checkTurfVis(M.loc)) - to_chat(user, "Target is not near a camera. Cannot proceed.") - return - var/mob/living/C = user - var/mob/camera/aiEye/remote/xenobio/E = C.remote_control - var/obj/machinery/computer/camera_advanced/xenobio/X = E.origin - var/area/mobarea = get_area(M.loc) - if(!X.connected_recycler) - to_chat(C, "There is no connected monkey recycler. Use a multitool to link one.") - return - if(mobarea.name == E.allowed_area || (mobarea & XENOBIOLOGY_COMPATIBLE)) - if(!M.stat) - return - M.visible_message("[M] vanishes as [p_theyre()] reclaimed for recycling!") - X.connected_recycler.use_power(500) - X.monkeys += connected_recycler.cube_production - X.monkeys = round(X.monkeys, 0.1) //Prevents rounding errors - qdel(M) - to_chat(C, "[X] now has [X.monkeys] monkeys available.") diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm deleted file mode 100644 index c907f11c1cfa..000000000000 --- a/code/modules/research/xenobiology/xenobiology.dm +++ /dev/null @@ -1,1072 +0,0 @@ -/// Slime Extracts /// - -/obj/item/slime_extract - name = "slime extract" - desc = "Goo extracted from a slime. Legends claim these to have \"magical powers\"." - icon = 'icons/mob/slimes.dmi' - icon_state = "grey slime extract" - force = 0 - w_class = WEIGHT_CLASS_TINY - throwforce = 0 - throw_speed = 3 - throw_range = 6 - grind_results = list() - var/Uses = 1 ///uses before it goes inert - var/qdel_timer = null ///deletion timer, for delayed reactions - var/effectmod ///Which type of crossbred - var/crossbreed_modifier = 1 //Modifies how many extracts are needed to cross a core. - var/list/activate_reagents = list() ///Reagents required for activation - var/recurring = FALSE - var/research ///Research point value for slime cores. These are defines stored in [/__DEFINES/research] - the actual values are updated there. - -/obj/item/slime_extract/examine(mob/user) - . = ..() - if(Uses > 1) - . += "It has [Uses] uses remaining." - -/obj/item/slime_extract/attackby(obj/item/O, mob/user) - if(istype(O, /obj/item/slimepotion/enhancer)) - if(Uses >= 5 || recurring) - to_chat(user, "You cannot enhance this extract further!") - return ..() - if(O.type == /obj/item/slimepotion/enhancer) //Seriously, why is this defined here...? - to_chat(user, "You apply the enhancer to the slime extract. It may now be reused one more time.") - Uses++ - if(O.type == /obj/item/slimepotion/enhancer/max) - to_chat(user, "You dump the maximizer on the slime extract. It can now be used a total of 5 times!") - Uses = 5 - qdel(O) - ..() - -/obj/item/slime_extract/Initialize() - . = ..() - create_reagents(100, INJECTABLE | DRAWABLE) - -/obj/item/slime_extract/on_grind() - if(Uses) - grind_results[/datum/reagent/toxin/slimejelly] = 20 - -/** -* Effect when activated by a Luminescent. -* -* This proc is called whenever a Luminescent consumes a slime extract. Each one is separated into major and minor effects depending on the extract. Cooldown is measured in deciseconds. -* -* * arg1 - The mob absorbing the slime extract. -* * arg2 - The valid species for the absorbtion. Should always be a Luminescent unless something very major has changed. -* * arg3 - Whether or not the activation is major or minor. Major activations have large, complex effects, minor are simple. -*/ -/obj/item/slime_extract/proc/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - to_chat(user, "Nothing happened... This slime extract cannot be activated this way.") - return 0 - -/** -* Core-crossing: Feeding adult slimes extracts to obtain a much more powerful, single extract. -* -* By using a valid core on a living adult slime, then feeding it nine more of the same type, you can mutate it into more useful items. Not every slime type has an implemented core cross. -*/ -/obj/item/slime_extract/attack(mob/living/simple_animal/slime/M, mob/user) - if(!isslime(M)) - return ..() - if(M.stat) - to_chat(user, "The slime is dead!") - return - if(!M.is_adult) - to_chat(user, "The slime must be an adult to cross its core!") - return - if(M.effectmod && M.effectmod != effectmod) - to_chat(user, "The slime is already being crossed with a different extract!") - return - - if(!M.effectmod) - M.effectmod = effectmod - M.crossbreed_modifier = crossbreed_modifier - - M.applied++ - qdel(src) - to_chat(user, "You feed the slime [src], [M.applied == 1 ? "starting to mutate its core." : "further mutating its core."]") - playsound(M, 'sound/effects/attackblob.ogg', 50, TRUE) - - if(M.applied >= (SLIME_EXTRACT_CROSSING_REQUIRED * crossbreed_modifier)) - M.spawn_corecross() - -/obj/item/slime_extract/grey - name = "grey slime extract" - icon_state = "grey slime extract" - effectmod = "reproductive" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma,/datum/reagent/water) - research = SLIME_RESEARCH_TIER_0 - custom_price = 1000 - -/obj/item/slime_extract/grey/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - var/obj/item/reagent_containers/food/snacks/monkeycube/M = new - if(!user.put_in_active_hand(M)) - M.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - to_chat(user, "You spit out a monkey cube.") - return 120 - if(SLIME_ACTIVATE_MAJOR) - to_chat(user, "Your [name] starts pulsing...") - if(do_after(user, 40, target = user)) - var/mob/living/simple_animal/slime/S = new(get_turf(user), "grey") - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - to_chat(user, "You spit out [S].") - return 350 - else - return 0 - -/obj/item/slime_extract/gold - name = "gold slime extract" - icon_state = "gold slime extract" - effectmod = "symbiont" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma,/datum/reagent/water) - research = SLIME_RESEARCH_TIER_4 - -/obj/item/slime_extract/gold/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - user.visible_message("[user] starts shaking!","Your [name] starts pulsing gently...") - if(do_after(user, 40, target = user)) - var/mob/living/simple_animal/S = create_random_mob(user.drop_location(), FRIENDLY_SPAWN) - S.faction |= "neutral" - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [S]!", "You spit out [S]!") - return 300 - - if(SLIME_ACTIVATE_MAJOR) - user.visible_message("[user] starts shaking violently!","Your [name] starts pulsing violently...") - if(do_after(user, 50, target = user)) - var/mob/living/simple_animal/S = create_random_mob(user.drop_location(), HOSTILE_SPAWN) - if(user.a_intent != INTENT_HARM) - S.faction |= "neutral" - else - S.faction |= "slime" - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [S]!", "You spit out [S]!") - return 600 - -/obj/item/slime_extract/silver - name = "silver slime extract" - icon_state = "silver slime extract" - effectmod = "consuming" - activate_reagents = list(/datum/reagent/toxin/plasma,/datum/reagent/water) - research = SLIME_RESEARCH_TIER_2 - -/obj/item/slime_extract/silver/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - var/food_type = get_random_food() - var/obj/O = new food_type - if(!user.put_in_active_hand(O)) - O.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") - return 200 - if(SLIME_ACTIVATE_MAJOR) - var/drink_type = get_random_drink() - var/obj/O = new drink_type - if(!user.put_in_active_hand(O)) - O.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") - return 200 - -/obj/item/slime_extract/metal - name = "metal slime extract" - icon_state = "metal slime extract" - effectmod = "industrial" - activate_reagents = list(/datum/reagent/toxin/plasma,/datum/reagent/water) - research = SLIME_RESEARCH_TIER_1 - -/obj/item/slime_extract/metal/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - var/obj/item/stack/sheet/glass/O = new(null, 5) - if(!user.put_in_active_hand(O)) - O.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") - return 150 - - if(SLIME_ACTIVATE_MAJOR) - var/obj/item/stack/sheet/metal/O = new(null, 5) - if(!user.put_in_active_hand(O)) - O.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") - return 200 - -/obj/item/slime_extract/purple - name = "purple slime extract" - icon_state = "purple slime extract" - effectmod = "regenerative" - crossbreed_modifier = 0.3 - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma) - research = SLIME_RESEARCH_TIER_1 - -/obj/item/slime_extract/purple/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - user.adjust_nutrition(50) - user.blood_volume += 50 - to_chat(user, "You activate [src], and your body is refilled with fresh slime jelly!") - return 150 - - if(SLIME_ACTIVATE_MAJOR) - to_chat(user, "You activate [src], and it releases regenerative chemicals!") - user.reagents.add_reagent(/datum/reagent/medicine/regen_jelly,10) - return 600 - -/obj/item/slime_extract/darkpurple - name = "dark purple slime extract" - icon_state = "dark purple slime extract" - effectmod = "self-sustaining" - activate_reagents = list(/datum/reagent/toxin/plasma) - research = SLIME_RESEARCH_TIER_2 - -/obj/item/slime_extract/darkpurple/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - var/obj/item/stack/sheet/mineral/plasma/O = new(null, 1) - if(!user.put_in_active_hand(O)) - O.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") - return 150 - - if(SLIME_ACTIVATE_MAJOR) - var/turf/open/T = get_turf(user) - if(istype(T)) - T.atmos_spawn_air("plasma=20") - to_chat(user, "You activate [src], and a cloud of plasma bursts out of your skin!") - return 900 - -/obj/item/slime_extract/orange - name = "orange slime extract" - icon_state = "orange slime extract" - effectmod = "burning" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma,/datum/reagent/water) - research = SLIME_RESEARCH_TIER_1 - -/obj/item/slime_extract/orange/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You activate [src]. You start feeling hot!") - user.reagents.add_reagent(/datum/reagent/consumable/capsaicin,10) - return 150 - - if(SLIME_ACTIVATE_MAJOR) - user.reagents.add_reagent(/datum/reagent/phosphorus,5)// - user.reagents.add_reagent(/datum/reagent/potassium,5) // = smoke, along with any reagents inside mr. slime - user.reagents.add_reagent(/datum/reagent/consumable/sugar,5) // - to_chat(user, "You activate [src], and a cloud of smoke bursts out of your skin!") - return 450 - -/obj/item/slime_extract/yellow - name = "yellow slime extract" - icon_state = "yellow slime extract" - effectmod = "charged" - crossbreed_modifier = 0.8 - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma,/datum/reagent/water) - research = SLIME_RESEARCH_TIER_2 - -/obj/item/slime_extract/yellow/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - if(species.glow_intensity != LUMINESCENT_DEFAULT_GLOW) - to_chat(user, "Your glow is already enhanced!") - return - species.update_glow(user, 5) - addtimer(CALLBACK(species, TYPE_PROC_REF(/datum/species/jelly/luminescent, update_glow), user, LUMINESCENT_DEFAULT_GLOW), 600) - to_chat(user, "You start glowing brighter.") - - if(SLIME_ACTIVATE_MAJOR) - user.visible_message("[user]'s skin starts flashing intermittently...", "Your skin starts flashing intermittently...") - if(do_after(user, 25, target = user)) - empulse(user, 1, 2) - user.visible_message("[user]'s skin flashes!", "Your skin flashes as you emit an electromagnetic pulse!") - return 600 - -/obj/item/slime_extract/red - name = "red slime extract" - icon_state = "red slime extract" - effectmod = "sanguine" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma,/datum/reagent/water) - research = SLIME_RESEARCH_TIER_4 - -/obj/item/slime_extract/red/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You activate [src]. You start feeling fast!") - user.reagents.add_reagent(/datum/reagent/medicine/ephedrine,5) - return 450 - - if(SLIME_ACTIVATE_MAJOR) - user.visible_message("[user]'s skin flashes red for a moment...", "Your skin flashes red as you emit rage-inducing pheromones...") - for(var/mob/living/simple_animal/slime/slime in viewers(get_turf(user), null)) - slime.rabid = TRUE - slime.visible_message("The [slime] is driven into a frenzy!") - return 600 - -/obj/item/slime_extract/blue - name = "blue slime extract" - icon_state = "blue slime extract" - effectmod = "stabilized" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma,/datum/reagent/water) - research = SLIME_RESEARCH_TIER_1 - -/obj/item/slime_extract/blue/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You activate [src]. Your genome feels more stable!") - user.adjustCloneLoss(-15) - user.reagents.add_reagent(/datum/reagent/medicine/mutadone, 10) - user.reagents.add_reagent(/datum/reagent/medicine/potass_iodide, 10) - return 250 - - if(SLIME_ACTIVATE_MAJOR) - user.reagents.create_foam(/datum/effect_system/foam_spread,20) - user.visible_message("Foam spews out from [user]'s skin!", "You activate [src], and foam bursts out of your skin!") - return 600 - -/obj/item/slime_extract/darkblue - name = "dark blue slime extract" - icon_state = "dark blue slime extract" - effectmod = "chilling" - activate_reagents = list(/datum/reagent/toxin/plasma,/datum/reagent/water) - research = SLIME_RESEARCH_TIER_2 - -/obj/item/slime_extract/darkblue/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You activate [src]. You start feeling colder!") - user.ExtinguishMob() - user.adjust_fire_stacks(-20) - user.reagents.add_reagent(/datum/reagent/consumable/frostoil,4) - user.reagents.add_reagent(/datum/reagent/medicine/cryoxadone,5) - return 100 - - if(SLIME_ACTIVATE_MAJOR) - var/turf/open/T = get_turf(user) - if(istype(T)) - T.atmos_spawn_air("nitrogen=40;TEMP=2.7") - to_chat(user, "You activate [src], and icy air bursts out of your skin!") - return 900 - -/obj/item/slime_extract/pink - name = "pink slime extract" - icon_state = "pink slime extract" - effectmod = "gentle" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma) - research = SLIME_RESEARCH_TIER_4 - -/obj/item/slime_extract/pink/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - if(user.gender != MALE && user.gender != FEMALE) - to_chat(user, "You can't swap your gender!") - return - - if(user.gender == MALE) - user.gender = FEMALE - user.visible_message("[user] suddenly looks more feminine!", "You suddenly feel more feminine!") - else - user.gender = MALE - user.visible_message("[user] suddenly looks more masculine!", "You suddenly feel more masculine!") - return 100 - - if(SLIME_ACTIVATE_MAJOR) - user.visible_message("[user]'s skin starts flashing hypnotically...", "Your skin starts forming odd patterns, pacifying creatures around you.") - for(var/mob/living/carbon/C in viewers(user, null)) - if(C != user) - C.reagents.add_reagent(/datum/reagent/pax,2) - return 600 - -/obj/item/slime_extract/green - name = "green slime extract" - icon_state = "green slime extract" - effectmod = "mutative" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma,/datum/reagent/uranium/radium) - research = SLIME_RESEARCH_TIER_4 - -/obj/item/slime_extract/green/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You feel yourself reverting to human form...") - if(do_after(user, 120, target = user)) - to_chat(user, "You feel human again!") - user.set_species(/datum/species/human) - return - to_chat(user, "You stop the transformation.") - - if(SLIME_ACTIVATE_MAJOR) - to_chat(user, "You feel yourself radically changing your slime type...") - if(do_after(user, 120, target = user)) - to_chat(user, "You feel different!") - user.set_species(pick(/datum/species/jelly/slime, /datum/species/jelly/stargazer)) - return - to_chat(user, "You stop the transformation.") - -/obj/item/slime_extract/lightpink - name = "light pink slime extract" - icon_state = "light pink slime extract" - effectmod = "loyal" - activate_reagents = list(/datum/reagent/toxin/plasma) - research = SLIME_RESEARCH_TIER_5 - -/obj/item/slime_extract/lightpink/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - var/obj/item/slimepotion/slime/renaming/O = new(null, 1) - if(!user.put_in_active_hand(O)) - O.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") - return 150 - - if(SLIME_ACTIVATE_MAJOR) - var/obj/item/slimepotion/slime/sentience/O = new(null, 1) - if(!user.put_in_active_hand(O)) - O.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") - return 450 - -/obj/item/slime_extract/black - name = "black slime extract" - icon_state = "black slime extract" - effectmod = "transformative" - activate_reagents = list(/datum/reagent/toxin/plasma) - research = SLIME_RESEARCH_TIER_5 - -/obj/item/slime_extract/black/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You feel something wrong inside you...") - user.ForceContractDisease(new /datum/disease/transformation/slime(), FALSE, TRUE) - return 100 - - if(SLIME_ACTIVATE_MAJOR) - to_chat(user, "You feel your own light turning dark...") - if(do_after(user, 120, target = user)) - to_chat(user, "You feel a longing for darkness.") - user.set_species(pick(/datum/species/shadow)) - return - to_chat(user, "You stop feeding [src].") - -/obj/item/slime_extract/oil - name = "oil slime extract" - icon_state = "oil slime extract" - effectmod = "detonating" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma) - research = SLIME_RESEARCH_TIER_5 - -/obj/item/slime_extract/oil/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You vomit slippery oil.") - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - new /obj/effect/decal/cleanable/oil/slippery(get_turf(user)) - return 450 - - if(SLIME_ACTIVATE_MAJOR) - user.visible_message("[user]'s skin starts pulsing and glowing ominously...", "You feel unstable...") - if(do_after(user, 60, target = user)) - to_chat(user, "You explode!") - explosion(get_turf(user), 1 ,3, 6) - user.gib() - return - to_chat(user, "You stop feeding [src], and the feeling passes.") - -/obj/item/slime_extract/adamantine - name = "adamantine slime extract" - icon_state = "adamantine slime extract" - effectmod = "crystalline" - activate_reagents = list(/datum/reagent/toxin/plasma) - research = SLIME_RESEARCH_TIER_5 - -/obj/item/slime_extract/adamantine/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - if(species.armor > 0) - to_chat(user, "Your skin is already hardened!") - return - to_chat(user, "You feel your skin harden and become more resistant.") - species.armor += 25 - addtimer(CALLBACK(src, PROC_REF(reset_armor), species), 1200) - return 450 - -/obj/item/slime_extract/adamantine/proc/reset_armor(datum/species/jelly/luminescent/species) - if(istype(species)) - species.armor -= 25 - -/obj/item/slime_extract/bluespace - name = "bluespace slime extract" - icon_state = "bluespace slime extract" - effectmod = "warping" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma) - var/teleport_ready = FALSE - var/teleport_x = 0 - var/teleport_y = 0 - var/teleport_z = 0 - research = SLIME_RESEARCH_TIER_3 - -/obj/item/slime_extract/bluespace/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - to_chat(user, "You feel your body vibrating...") - if(do_after(user, 25, target = user)) - to_chat(user, "You teleport!") - do_teleport(user, get_turf(user), 6, asoundin = 'sound/weapons/emitter2.ogg', channel = TELEPORT_CHANNEL_BLUESPACE) - return 300 - - if(SLIME_ACTIVATE_MAJOR) - if(!teleport_ready) - to_chat(user, "You feel yourself anchoring to this spot...") - var/turf/T = get_turf(user) - teleport_x = T.x - teleport_y = T.y - teleport_z = T.z - teleport_ready = TRUE - else - teleport_ready = FALSE - if(teleport_x && teleport_y && teleport_z) - var/turf/T = locate(teleport_x, teleport_y, teleport_z) - to_chat(user, "You snap back to your anchor point!") - do_teleport(user, T, asoundin = 'sound/weapons/emitter2.ogg', channel = TELEPORT_CHANNEL_BLUESPACE) - return 450 - - -/obj/item/slime_extract/pyrite - name = "pyrite slime extract" - icon_state = "pyrite slime extract" - effectmod = "prismatic" - crossbreed_modifier = 0.5 - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma) - research = SLIME_RESEARCH_TIER_3 - -/obj/item/slime_extract/pyrite/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - var/chosen = pick(difflist(subtypesof(/obj/item/toy/crayon),typesof(/obj/item/toy/crayon/spraycan))) - var/obj/item/O = new chosen(null) - if(!user.put_in_active_hand(O)) - O.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") - return 150 - - if(SLIME_ACTIVATE_MAJOR) - var/blacklisted_cans = list(/obj/item/toy/crayon/spraycan/borg, /obj/item/toy/crayon/spraycan/infinite) - var/chosen = pick(subtypesof(/obj/item/toy/crayon/spraycan) - blacklisted_cans) - var/obj/item/O = new chosen(null) - if(!user.put_in_active_hand(O)) - O.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") - return 250 - -/obj/item/slime_extract/cerulean - name = "cerulean slime extract" - icon_state = "cerulean slime extract" - effectmod = "recurring" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma) - research = SLIME_RESEARCH_TIER_3 - -/obj/item/slime_extract/cerulean/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - user.reagents.add_reagent(/datum/reagent/medicine/salbutamol,15) - to_chat(user, "You feel like you don't need to breathe!") - return 150 - - if(SLIME_ACTIVATE_MAJOR) - var/turf/open/T = get_turf(user) - if(istype(T)) - T.atmos_spawn_air("o2=11;n2=41;TEMP=293.15") - to_chat(user, "You activate [src], and fresh air bursts out of your skin!") - return 600 - -/obj/item/slime_extract/sepia - name = "sepia slime extract" - icon_state = "sepia slime extract" - effectmod = "lengthened" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma,/datum/reagent/water) - research = SLIME_RESEARCH_TIER_3 - -/obj/item/slime_extract/sepia/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - var/obj/item/camera/O = new(null, 1) - if(!user.put_in_active_hand(O)) - O.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") - return 150 - - if(SLIME_ACTIVATE_MAJOR) - to_chat(user, "You feel time slow down...") - if(do_after(user, 30, target = user)) - new /obj/effect/timestop(get_turf(user), 2, 50, list(user)) - return 900 - -/obj/item/slime_extract/rainbow - name = "rainbow slime extract" - icon_state = "rainbow slime extract" - effectmod = "hyperchromatic" - activate_reagents = list(/datum/reagent/blood,/datum/reagent/toxin/plasma,"lesser plasma",/datum/reagent/toxin/slimejelly,"holy water and uranium") //Curse this snowflake reagent list. - research = SLIME_RESEARCH_TIER_RAINBOW - -/obj/item/slime_extract/rainbow/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type) - switch(activation_type) - if(SLIME_ACTIVATE_MINOR) - user.dna.features["mcolor"] = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F") - user.updateappearance(mutcolor_update=1) - species.update_glow(user) - to_chat(user, "You feel different...") - return 100 - - if(SLIME_ACTIVATE_MAJOR) - var/chosen = pick(subtypesof(/obj/item/slime_extract)) - var/obj/item/O = new chosen(null) - if(!user.put_in_active_hand(O)) - O.forceMove(user.drop_location()) - playsound(user, 'sound/effects/splat.ogg', 50, TRUE) - user.visible_message("[user] spits out [O]!", "You spit out [O]!") - return 150 - -////Slime-derived potions/// - -/** -* #Slime potions -* -* Feed slimes potions either by hand or using the slime console. -* -* Slime potions either augment the slime's behavior, its extract output, or its intelligence. These all come either from extract effects or cross cores. -* A few of the more powerful ones can modify someone's equipment or gender. -* New ones should probably be accessible only through cross cores as all the normal core types already have uses. Rule of thumb is 'stronger effects go in cross cores'. -*/ - -/obj/item/slimepotion - name = "slime potion" - desc = "A hard yet gelatinous capsule excreted by a slime, containing mysterious substances." - w_class = WEIGHT_CLASS_BULKY - -/obj/item/slimepotion/afterattack(obj/item/reagent_containers/target, mob/user , proximity) - . = ..() - if(!proximity) - return - if (istype(target)) - to_chat(user, "You cannot transfer [src] to [target]! It appears the potion must be given directly to a slime to absorb." ) - return - -/obj/item/slimepotion/slime/docility - name = "docility potion" - desc = "A potent chemical mix that nullifies a slime's hunger, causing it to become docile and tame." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potsilver" - -/obj/item/slimepotion/slime/docility/attack(mob/living/simple_animal/slime/M, mob/user) - if(!isslime(M)) - to_chat(user, "The potion only works on slimes!") - return ..() - if(M.stat) - to_chat(user, "The slime is dead!") - return - if(M.rabid) //Stops being rabid, but doesn't become truly docile. - to_chat(M, "You absorb the potion, and your rabid hunger finally settles to a normal desire to feed.") - to_chat(user, "You feed the slime the potion, calming its rabid rage.") - M.rabid = FALSE - qdel(src) - return - M.docile = 1 - M.set_nutrition(700) - to_chat(M, "You absorb the potion and feel your intense desire to feed melt away.") - to_chat(user, "You feed the slime the potion, removing its hunger and calming it.") - var/newname = sanitize_name(stripped_input(user, "Would you like to give the slime a name?", "Name your new pet", "pet slime", MAX_NAME_LEN)) - - if (!newname) - newname = "pet slime" - M.name = newname - M.real_name = newname - qdel(src) - -/obj/item/slimepotion/slime/sentience - name = "intelligence potion" - desc = "A miraculous chemical mix that grants human like intelligence to living beings." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potpink" - var/list/not_interested = list() - var/being_used = FALSE - var/sentience_type = SENTIENCE_ORGANIC - -/obj/item/slimepotion/slime/sentience/attack(mob/living/M, mob/user) - if(being_used || !ismob(M)) - return - if(!isanimal(M) || M.ckey) //only works on animals that aren't player controlled - to_chat(user, "[M] is already too intelligent for this to work!") - return - if(M.stat) - to_chat(user, "[M] is dead!") - return - var/mob/living/simple_animal/SM = M - if(SM.sentience_type != sentience_type) - to_chat(user, "[src] won't work on [SM].") - return - - to_chat(user, "You offer [src] to [SM]...") - being_used = TRUE - - var/list/candidates = pollCandidatesForMob("Do you want to play as [SM.name]?", ROLE_SENTIENCE, null, ROLE_SENTIENCE, 50, SM, POLL_IGNORE_SENTIENCE_POTION) // see poll_ignore.dm - if(LAZYLEN(candidates)) - var/mob/dead/observer/C = pick(candidates) - SM.key = C.key - SM.mind.enslave_mind_to_creator(user) - SM.sentience_act() - to_chat(SM, "All at once it makes sense: you know what you are and who you are! Self awareness is yours!") - to_chat(SM, "You are grateful to be self aware and owe [user.real_name] a great debt. Serve [user.real_name], and assist [user.p_them()] in completing [user.p_their()] goals at any cost.") - if(SM.flags_1 & HOLOGRAM_1) //Check to see if it's a holodeck creature - to_chat(SM, "You also become depressingly aware that you are not a real creature, but instead a holoform. Your existence is limited to the parameters of the holodeck.") - to_chat(user, "[SM] accepts [src] and suddenly becomes attentive and aware. It worked!") - SM.copy_languages(user) - after_success(user, SM) - qdel(src) - else - to_chat(user, "[SM] looks interested for a moment, but then looks back down. Maybe you should try again later.") - being_used = FALSE - ..() - -/obj/item/slimepotion/slime/sentience/proc/after_success(mob/living/user, mob/living/simple_animal/SM) - return - -/obj/item/slimepotion/slime/sentience/nuclear - name = "syndicate intelligence potion" - desc = "A miraculous chemical mix that grants human like intelligence to living beings. It has been modified with Syndicate technology to also grant an internal radio implant to the target and authenticate with identification systems." - -/obj/item/slimepotion/slime/sentience/nuclear/after_success(mob/living/user, mob/living/simple_animal/SM) - var/obj/item/implant/radio/syndicate/imp = new(src) - imp.implant(SM, user) - - SM.access_card = new /obj/item/card/id/syndicate(SM) - ADD_TRAIT(SM.access_card, TRAIT_NODROP, ABSTRACT_ITEM_TRAIT) - -/obj/item/slimepotion/transference - name = "consciousness transference potion" - desc = "A strange slime-based chemical that, when used, allows the user to transfer their consciousness to a lesser being." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potorange" - var/prompted = 0 - var/animal_type = SENTIENCE_ORGANIC - -/obj/item/slimepotion/transference/afterattack(mob/living/M, mob/user, proximity) - if(!proximity) - return - if(prompted || !ismob(M)) - return - if(!isanimal(M) || M.ckey) //much like sentience, these will not work on something that is already player controlled - to_chat(user, "[M] already has a higher consciousness!") - return ..() - if(M.stat) - to_chat(user, "[M] is dead!") - return ..() - var/mob/living/simple_animal/SM = M - if(SM.sentience_type != animal_type) - to_chat(user, "You cannot transfer your consciousness to [SM]." ) - return ..() - var/jb = is_banned_from(user.ckey, ROLE_MIND_TRANSFER) - if(QDELETED(src) || QDELETED(M) || QDELETED(user)) - return - - if(jb) - to_chat(user, "Your mind goes blank as you attempt to use the potion.") - return - - prompted = 1 - if(alert("This will permanently transfer your consciousness to [SM]. Are you sure you want to do this?",,"Yes","No")=="No") - prompted = 0 - return - - to_chat(user, "You drink the potion then place your hands on [SM]...") - - - user.mind.transfer_to(SM) - SM.faction = user.faction.Copy() - SM.sentience_act() //Same deal here as with sentience - user.death() - to_chat(SM, "In a quick flash, you feel your consciousness flow into [SM]!") - to_chat(SM, "You are now [SM]. Your allegiances, alliances, and role is still the same as it was prior to consciousness transfer!") - SM.name = "[user.real_name]" - qdel(src) - -/obj/item/slimepotion/slime/steroid - name = "slime steroid" - desc = "A potent chemical mix that will cause a baby slime to generate more extract." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potred" - -/obj/item/slimepotion/slime/steroid/attack(mob/living/simple_animal/slime/M, mob/user) - if(!isslime(M))//If target is not a slime. - to_chat(user, "The steroid only works on baby slimes!") - return ..() - if(M.is_adult) //Can't steroidify adults - to_chat(user, "Only baby slimes can use the steroid!") - return - if(M.stat) - to_chat(user, "The slime is dead!") - return - if(M.cores >= 5) - to_chat(user, "The slime already has the maximum amount of extract!") - return - - to_chat(user, "You feed the slime the steroid. It will now produce one more extract.") - M.cores++ - qdel(src) - -/obj/item/slimepotion/enhancer - name = "extract enhancer" - desc = "A potent chemical mix that will give a slime extract an additional use." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potpurple" - -/obj/item/slimepotion/slime/stabilizer - name = "slime stabilizer" - desc = "A potent chemical mix that will reduce the chance of a slime mutating." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potcyan" - -/obj/item/slimepotion/slime/stabilizer/attack(mob/living/simple_animal/slime/M, mob/user) - if(!isslime(M)) - to_chat(user, "The stabilizer only works on slimes!") - return ..() - if(M.stat) - to_chat(user, "The slime is dead!") - return - if(M.mutation_chance == 0) - to_chat(user, "The slime already has no chance of mutating!") - return - - to_chat(user, "You feed the slime the stabilizer. It is now less likely to mutate.") - M.mutation_chance = clamp(M.mutation_chance-15,0,100) - qdel(src) - -/obj/item/slimepotion/slime/mutator - name = "slime mutator" - desc = "A potent chemical mix that will increase the chance of a slime mutating." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potgreen" - -/obj/item/slimepotion/slime/mutator/attack(mob/living/simple_animal/slime/M, mob/user) - if(!isslime(M)) - to_chat(user, "The mutator only works on slimes!") - return ..() - if(M.stat) - to_chat(user, "The slime is dead!") - return - if(M.mutator_used) - to_chat(user, "This slime has already consumed a mutator, any more would be far too unstable!") - return - if(M.mutation_chance == 100) - to_chat(user, "The slime is already guaranteed to mutate!") - return - - to_chat(user, "You feed the slime the mutator. It is now more likely to mutate.") - M.mutation_chance = clamp(M.mutation_chance+12,0,100) - M.mutator_used = TRUE - qdel(src) - -/obj/item/slimepotion/speed - name = "slime speed potion" - desc = "A potent chemical mix that will reduce the slowdown from any item." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potyellow" - -/obj/item/slimepotion/speed/afterattack(obj/C, mob/user, proximity) - . = ..() - if(!proximity) - return - if(!istype(C)) - to_chat(user, "The potion can only be used on items or vehicles!") - return - if(isitem(C)) - var/obj/item/I = C - if(I.slowdown <= 0.25 || I.obj_flags & IMMUTABLE_SLOW) - to_chat(user, "The [C] can't be made any faster!") - return ..() - I.slowdown = 0.25 - - if(istype(C, /obj/vehicle)) - var/obj/vehicle/V = C - var/datum/component/riding/R = V.GetComponent(/datum/component/riding) - if(R) - var/vehicle_speed_mod = round(CONFIG_GET(number/movedelay/run_delay) * 0.85, 0.01) - if(R.vehicle_move_delay <= vehicle_speed_mod) - to_chat(user, "The [C] can't be made any faster!") - return ..() - R.vehicle_move_delay = vehicle_speed_mod - - to_chat(user, "You slather the red gunk over the [C], making it faster.") - C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) - C.add_atom_colour("#FF0000", FIXED_COLOUR_PRIORITY) - qdel(src) - -/obj/item/slimepotion/fireproof - name = "slime chill potion" - desc = "A potent chemical mix that will fireproof any article of clothing. Has three uses." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potblue" - resistance_flags = FIRE_PROOF - var/uses = 3 - -/obj/item/slimepotion/fireproof/afterattack(obj/item/clothing/C, mob/user, proximity) - . = ..() - if(!proximity) - return - if(!uses) - qdel(src) - return - if(!istype(C)) - to_chat(user, "The potion can only be used on clothing!") - return - if(C.max_heat_protection_temperature >= FIRE_IMMUNITY_MAX_TEMP_PROTECT) - to_chat(user, "The [C] is already fireproof!") - return - to_chat(user, "You slather the blue gunk over the [C], fireproofing it.") - C.name = "fireproofed [C.name]" - C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) - C.add_atom_colour("#000080", FIXED_COLOUR_PRIORITY) - C.max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT - C.heat_protection = C.body_parts_covered - C.resistance_flags |= FIRE_PROOF - uses -- - if(!uses) - qdel(src) - -/obj/item/slimepotion/genderchange - name = "gender change potion" - desc = "An interesting chemical mix that changes the biological gender of what its applied to. Cannot be used on things that lack gender entirely." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potlightpink" - -/obj/item/slimepotion/genderchange/attack(mob/living/L, mob/user) - if(!istype(L) || L.stat == DEAD) - to_chat(user, "The potion can only be used on living things!") - return - - if(L.gender != MALE && L.gender != FEMALE) - to_chat(user, "The potion can only be used on gendered things!") - return - - if(L.gender == MALE) - L.gender = FEMALE - L.visible_message("[L] suddenly looks more feminine!", "You suddenly feel more feminine!") - else - L.gender = MALE - L.visible_message("[L] suddenly looks more masculine!", "You suddenly feel more masculine!") - L.regenerate_icons() - qdel(src) - -/obj/item/slimepotion/slime/renaming - name = "renaming potion" - desc = "A potion that allows a self-aware being to change what name it subconciously presents to the world." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potgreen" - - var/being_used = FALSE - -/obj/item/slimepotion/slime/renaming/attack(mob/living/M, mob/user) - if(being_used || !ismob(M)) - return - if(!M.ckey) //only works on animals that aren't player controlled - to_chat(user, "[M] is not self aware, and cannot pick its own name.") - return - - being_used = TRUE - - to_chat(user, "You offer [src] to [user]...") - - var/new_name = stripped_input(M, "What would you like your name to be?", "Input a name", M.real_name, MAX_NAME_LEN) - - if(!new_name || QDELETED(src) || QDELETED(M) || new_name == M.real_name || !M.Adjacent(user)) - being_used = FALSE - return - - M.visible_message("[M] has a new name, [new_name].", "Your old name of [M.real_name] fades away, and your new name [new_name] anchors itself in your mind.") - message_admins("[ADMIN_LOOKUPFLW(user)] used [src] on [ADMIN_LOOKUPFLW(M)], letting them rename themselves into [new_name].") - - // pass null as first arg to not update records or ID/PDA - M.fully_replace_character_name(null, new_name) - - qdel(src) - -/obj/item/slimepotion/slime/slimeradio - name = "bluespace radio potion" - desc = "A strange chemical that grants those who ingest it the ability to broadcast and receive subscape radio waves." - icon = 'icons/obj/chemical/misc.dmi' - icon_state = "potgrey" - -/obj/item/slimepotion/slime/slimeradio/attack(mob/living/M, mob/user) - if(!ismob(M)) - return - if(!isanimal(M)) - to_chat(user, "[M] is too complex for the potion!") - return - if(M.stat) - to_chat(user, "[M] is dead!") - return - - to_chat(user, "You feed the potion to [M].") - to_chat(M, "Your mind tingles as you are fed the potion. You can hear radio waves now!") - var/obj/item/implant/radio/slime/imp = new(src) - imp.implant(M, user) - qdel(src) - -///Definitions for slime products that don't have anywhere else to go (Floor tiles, blueprints). - -/obj/item/stack/tile/bluespace - name = "bluespace floor tile" - singular_name = "floor tile" - desc = "Through a series of micro-teleports these tiles let people move at incredible speeds." - icon_state = "tile-bluespace" - item_state = "tile-bluespace" - w_class = WEIGHT_CLASS_NORMAL - force = 6 - custom_materials = list(/datum/material/iron=500) - throwforce = 10 - throw_speed = 3 - throw_range = 7 - flags_1 = CONDUCT_1 - max_amount = 60 - turf_type = /turf/open/floor/bluespace - - -/obj/item/stack/tile/sepia - name = "sepia floor tile" - singular_name = "floor tile" - desc = "Time seems to flow very slowly around these tiles." - icon_state = "tile-sepia" - item_state = "tile-sepia" - w_class = WEIGHT_CLASS_NORMAL - force = 6 - custom_materials = list(/datum/material/iron=500) - throwforce = 10 - throw_speed = 0.1 - throw_range = 28 - flags_1 = CONDUCT_1 - max_amount = 60 - turf_type = /turf/open/floor/sepia - - -/obj/item/areaeditor/blueprints/slime - name = "cerulean prints" - desc = "A one use yet of blueprints made of jelly like organic material. Extends the reach of the management console." - color = "#2956B2" - -/obj/item/areaeditor/blueprints/slime/edit_area() - ..() - var/area/A = get_area(src) - for(var/turf/T in A) - T.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) - T.add_atom_colour("#2956B2", FIXED_COLOUR_PRIORITY) - A.area_flags |= XENOBIOLOGY_COMPATIBLE - qdel(src) diff --git a/code/modules/surgery/core_removal.dm b/code/modules/surgery/core_removal.dm deleted file mode 100644 index c5bfd1108202..000000000000 --- a/code/modules/surgery/core_removal.dm +++ /dev/null @@ -1,44 +0,0 @@ -/datum/surgery/core_removal - name = "Core removal" - steps = list(/datum/surgery_step/incise, /datum/surgery_step/extract_core) - target_mobtypes = list(/mob/living/simple_animal/slime) - possible_locs = list(BODY_ZONE_R_ARM,BODY_ZONE_L_ARM,BODY_ZONE_R_LEG,BODY_ZONE_L_LEG,BODY_ZONE_CHEST,BODY_ZONE_HEAD) - lying_required = FALSE - ignore_clothes = TRUE - -/datum/surgery/core_removal/can_start(mob/user, mob/living/target) - if(target.stat == DEAD) - return 1 - return 0 - -//extract brain -/datum/surgery_step/extract_core - name = "extract core" - implements = list( - TOOL_HEMOSTAT = 100, - TOOL_CROWBAR = 100) - time = 16 - -/datum/surgery_step/extract_core/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, "You begin to extract a core from [target]...", - "[user] begins to extract a core from [target].", - "[user] begins to extract a core from [target].") - -/datum/surgery_step/extract_core/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) - var/mob/living/simple_animal/slime/slime = target - if(slime.cores > 0) - slime.cores-- - display_results(user, target, "You successfully extract a core from [target]. [slime.cores] core\s remaining.", - "[user] successfully extracts a core from [target]!", - "[user] successfully extracts a core from [target]!") - - new slime.coretype(slime.loc) - - if(slime.cores <= 0) - slime.icon_state = "[slime.colour] baby slime dead-nocore" - return ..() - else - return 0 - else - to_chat(user, "There aren't any cores left in [target]!") - return ..() diff --git a/code/modules/unit_tests/create_and_destroy.dm b/code/modules/unit_tests/create_and_destroy.dm index 2a082e439078..b7c1b924fd53 100644 --- a/code/modules/unit_tests/create_and_destroy.dm +++ b/code/modules/unit_tests/create_and_destroy.dm @@ -13,8 +13,6 @@ /turf/template_noop, //Never meant to be created, errors out the ass for mobcode reasons /mob/living/carbon, - //And another - /obj/item/slimecross/recurring, //This should be obvious /obj/machinery/doomsday_device, //Template type diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 4bfe534940f1..ef38d21a7740 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -1506,15 +1506,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) item = /obj/item/clothing/glasses/thermal/syndi cost = 4 -/datum/uplink_item/device_tools/potion - name = "Syndicate Sentience Potion" - item = /obj/item/slimepotion/slime/sentience/nuclear - desc = "A potion recovered at great risk by undercover Syndicate operatives and then subsequently modified with Syndicate technology. \ - Using it will make any animal sentient, and bound to serve you, as well as implanting an internal radio for communication and an internal ID card for opening doors." - cost = 4 - include_modes = list(/datum/game_mode/nuclear, /datum/game_mode/nuclear/clown_ops) - restricted = TRUE - /datum/uplink_item/device_tools/guerillagloves name = "Guerilla Gloves" desc = "A pair of highly robust combat gripper gloves that excels at performing takedowns at close range, with an added lining of insulation. Careful not to hit a wall!" diff --git a/shiptest.dme b/shiptest.dme index d16167d94e60..f538811cdc42 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -501,7 +501,6 @@ #include "code\datums\components\construction.dm" #include "code\datums\components\creamed.dm" #include "code\datums\components\deadchat_control.dm" -#include "code\datums\components\dejavu.dm" #include "code\datums\components\deployable.dm" #include "code\datums\components\dooropendeathproc.dm" #include "code\datums\components\earprotection.dm" @@ -1843,7 +1842,6 @@ #include "code\modules\awaymissions\mission_code\caves.dm" #include "code\modules\awaymissions\mission_code\centcomAway.dm" #include "code\modules\awaymissions\mission_code\challenge.dm" -#include "code\modules\awaymissions\mission_code\moonoutpost19.dm" #include "code\modules\awaymissions\mission_code\murderdome.dm" #include "code\modules\awaymissions\mission_code\research.dm" #include "code\modules\awaymissions\mission_code\snowdin.dm" @@ -1904,7 +1902,6 @@ #include "code\modules\cargo\bounties\reagent.dm" #include "code\modules\cargo\bounties\science.dm" #include "code\modules\cargo\bounties\security.dm" -#include "code\modules\cargo\bounties\slime.dm" #include "code\modules\cargo\bounties\special.dm" #include "code\modules\cargo\bounties\virus.dm" #include "code\modules\cargo\exports\gear.dm" @@ -2183,7 +2180,6 @@ #include "code\modules\food_and_drinks\kitchen_machinery\grill.dm" #include "code\modules\food_and_drinks\kitchen_machinery\icecream_vat.dm" #include "code\modules\food_and_drinks\kitchen_machinery\microwave.dm" -#include "code\modules\food_and_drinks\kitchen_machinery\monkeyrecycler.dm" #include "code\modules\food_and_drinks\kitchen_machinery\processor.dm" #include "code\modules\food_and_drinks\kitchen_machinery\smartfridge.dm" #include "code\modules\food_and_drinks\recipes\drinks_recipes.dm" @@ -2857,7 +2853,6 @@ #include "code\modules\movespeed\modifiers\misc.dm" #include "code\modules\movespeed\modifiers\mobs.dm" #include "code\modules\movespeed\modifiers\reagent.dm" -#include "code\modules\movespeed\modifiers\status_effects.dm" #include "code\modules\ninja\__ninjaDefines.dm" #include "code\modules\ninja\energy_katana.dm" #include "code\modules\ninja\ninja_event.dm" @@ -3146,7 +3141,6 @@ #include "code\modules\reagents\chemistry\recipes\medicine.dm" #include "code\modules\reagents\chemistry\recipes\others.dm" #include "code\modules\reagents\chemistry\recipes\pyrotechnics.dm" -#include "code\modules\reagents\chemistry\recipes\slime_extracts.dm" #include "code\modules\reagents\chemistry\recipes\special.dm" #include "code\modules\reagents\chemistry\recipes\toxins.dm" #include "code\modules\reagents\reagent_containers\blood_pack.dm" @@ -3245,27 +3239,6 @@ #include "code\modules\research\techweb\_techweb.dm" #include "code\modules\research\techweb\_techweb_node.dm" #include "code\modules\research\techweb\all_nodes.dm" -#include "code\modules\research\xenobiology\xenobio_camera.dm" -#include "code\modules\research\xenobiology\xenobiology.dm" -#include "code\modules\research\xenobiology\crossbreeding\__corecross.dm" -#include "code\modules\research\xenobiology\crossbreeding\_clothing.dm" -#include "code\modules\research\xenobiology\crossbreeding\_misc.dm" -#include "code\modules\research\xenobiology\crossbreeding\_mobs.dm" -#include "code\modules\research\xenobiology\crossbreeding\_potions.dm" -#include "code\modules\research\xenobiology\crossbreeding\_status_effects.dm" -#include "code\modules\research\xenobiology\crossbreeding\_weapons.dm" -#include "code\modules\research\xenobiology\crossbreeding\burning.dm" -#include "code\modules\research\xenobiology\crossbreeding\charged.dm" -#include "code\modules\research\xenobiology\crossbreeding\chilling.dm" -#include "code\modules\research\xenobiology\crossbreeding\consuming.dm" -#include "code\modules\research\xenobiology\crossbreeding\industrial.dm" -#include "code\modules\research\xenobiology\crossbreeding\mutative.dm" -#include "code\modules\research\xenobiology\crossbreeding\prismatic.dm" -#include "code\modules\research\xenobiology\crossbreeding\recurring.dm" -#include "code\modules\research\xenobiology\crossbreeding\regenerative.dm" -#include "code\modules\research\xenobiology\crossbreeding\reproductive.dm" -#include "code\modules\research\xenobiology\crossbreeding\selfsustaining.dm" -#include "code\modules\research\xenobiology\crossbreeding\stabilized.dm" #include "code\modules\ruins\rockplanet_ruin_code.dm" #include "code\modules\ruins\icemoonruin_code\hydroponicslab.dm" #include "code\modules\ruins\icemoonruin_code\library.dm" @@ -3339,7 +3312,6 @@ #include "code\modules\surgery\bone_repair.dm" #include "code\modules\surgery\brain_surgery.dm" #include "code\modules\surgery\cavity_implant.dm" -#include "code\modules\surgery\core_removal.dm" #include "code\modules\surgery\coronary_bypass.dm" #include "code\modules\surgery\dental_implant.dm" #include "code\modules\surgery\experimental_dissection.dm" From ef8af0b04a5adbd0c84396640a85d063b71e668c Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Fri, 18 Oct 2024 03:56:01 -0500 Subject: [PATCH 082/344] E40 Changes (.299 cargo and firerate) (#3502) ## About The Pull Request Brings up the E40 ballistic mode firerate by a fair amount to compensate for the significantly lower damage. Experimenting, mostly. Takes the .299 Caseless box out of the black market and adds it to cargo. Fixes a typo that said it held 75 rounds when it actually held 120. You're gonna need that ammo, it guzzles. ## Why It's Good For The Game E40 is a Big, Big purchase if you don't already have it and the Raleigh starts with the rifle and needs to Gamble in order to get more ammo. Should make it the legendary, expensive weapon it is And make both components Actually Usable. ## Changelog :cl: balance: E40 hybrid rifle ballistic mode now shoots faster balance: .299 Caseless taken out of the black market, added to cargo fix: .299 Caseless now correctly states it holds 120 rounds /:cl: --------- Signed-off-by: generalthrax <139387950+generalthrax@users.noreply.github.com> --- .../cargo/blackmarket/blackmarket_items/ammo.dm | 11 ----------- .../cargo/blackmarket/blackmarket_items/weapons.dm | 2 +- code/modules/cargo/packs/ammo.dm | 6 ++++++ code/modules/projectiles/guns/ballistic/assault.dm | 2 +- 4 files changed, 8 insertions(+), 13 deletions(-) diff --git a/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm b/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm index 434a80c6416d..0dad1cd32c7c 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm @@ -57,17 +57,6 @@ stock = 6 availability_prob = 0 -/datum/blackmarket_item/ammo/c299 - name = "Eoehoma .299 Caseless Ammo Box" - desc = "This ammunition for the E-40 Hybrid Rifle is probably worth more than the people you're shooting it at." - item = /obj/item/storage/box/ammo/c299 - - price_min = 300 - price_max = 700 - stock_min = 4 - stock_max = 8 - availability_prob = 0 - /datum/blackmarket_item/ammo/saber_mag name = "Saber 9mm SMG Magazines" desc = "Magazines for use in the Saber 9mm SMG. No, they don't work as swords." diff --git a/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm b/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm index 740ee2c5341b..21a0786d9812 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm @@ -129,7 +129,7 @@ name = "E-40 Hybrid Assault Rifle" desc = "A dual mode hybrid assault rifle made by the now defunct Eoehoma Firearms. Capable of firing both bullets AND lasers, for the discerning dealer in death. Chambered in Eoehoma .299 Caseless." item = /obj/item/gun/ballistic/automatic/assault/e40 - pair_item = list(/datum/blackmarket_item/ammo/e40_mag, /datum/blackmarket_item/ammo/c299) + pair_item = list(/datum/blackmarket_item/ammo/e40_mag) price_min = 7000 price_max = 10000 diff --git a/code/modules/cargo/packs/ammo.dm b/code/modules/cargo/packs/ammo.dm index ca8988aa9570..af807317edd7 100644 --- a/code/modules/cargo/packs/ammo.dm +++ b/code/modules/cargo/packs/ammo.dm @@ -428,6 +428,12 @@ contains = list(/obj/item/storage/box/ammo/a44roum_hp) cost = 500 +/datum/supply_pack/ammo/c299 + name = ".299 Eoehoma Caseless Ammo Box Crate" + desc = "Contains a 120-round box of .299 Caseless ammo from the defunct Eoehoma. Used for the E-40 Hybrid Rifle." + contains = list(/obj/item/storage/box/ammo/c299) + cost = 250 + /datum/supply_pack/ammo/c22lr name = ".22 LR Ammo Box Crate" desc = "Contains a 60-round ammo box for refilling .22 LR weapons." diff --git a/code/modules/projectiles/guns/ballistic/assault.dm b/code/modules/projectiles/guns/ballistic/assault.dm index 42cb637a557f..4570be971fda 100644 --- a/code/modules/projectiles/guns/ballistic/assault.dm +++ b/code/modules/projectiles/guns/ballistic/assault.dm @@ -154,7 +154,7 @@ var/obj/item/gun/energy/laser/e40_laser_secondary/secondary fire_select_icon_state_prefix = "e40_" - fire_delay = 0.18 SECONDS + fire_delay = 0.1 SECONDS recoil_unwielded = 3 gun_firenames = list(FIREMODE_FULLAUTO = "full auto ballistic", FIREMODE_OTHER = "full auto laser") From 6791e3b6fc65e898a312be89657edbb1a48d60da Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Fri, 18 Oct 2024 05:44:12 -0400 Subject: [PATCH 083/344] Adds 2 Airlock Helpers For Mapping (#3515) ## About The Pull Request as title ## Why It's Good For The Game mapping tools ## Changelog :cl: code: pre-weld and pre-sealed airlock helpers for maps. /:cl: Co-authored-by: Bjarl <94164348+Bjarl@users.noreply.github.com> --- code/modules/mapping/mapping_helpers.dm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm index 251cf46e7c5f..47e545c33663 100644 --- a/code/modules/mapping/mapping_helpers.dm +++ b/code/modules/mapping/mapping_helpers.dm @@ -152,6 +152,25 @@ else airlock.locked = TRUE +/obj/effect/mapping_helpers/airlock/welded + name = "airlock welder" + +/obj/effect/mapping_helpers/airlock/welded/payload(obj/machinery/door/airlock/airlock) + if(airlock.welded) + log_mapping("[src] at [AREACOORD(src)] tried to weld [airlock] but it's already locked!") + else + airlock.welded = TRUE + +/obj/effect/mapping_helpers/airlock/sealed + name = "airlock sealer" + +/obj/effect/mapping_helpers/airlock/sealed/payload(obj/machinery/door/airlock/airlock) + if(airlock.seal) + log_mapping("[src] at [AREACOORD(src)] tried to seal [airlock] but it's already already got a seal? What the hell!") + else + airlock.seal = new /obj/item/door_seal(src) + + /obj/effect/mapping_helpers/airlock/unres name = "airlock unresctricted side helper" From 039499ee6baf4b49ef8165ad7a0b0868638fc10e Mon Sep 17 00:00:00 2001 From: Imaginos16 <77556824+Imaginos16@users.noreply.github.com> Date: Fri, 18 Oct 2024 02:44:40 -0700 Subject: [PATCH 084/344] Handrail Resprite by Spooky! (#3587) ## About The Pull Request Does what it says on the tin, full credits go to Spooky (AKA spookywastaken on discord) ![image](https://github.com/user-attachments/assets/8461d56e-beb5-45f0-a8cc-20a72ca94137) ## Why It's Good For The Game They look a lot better than what we have right now. ## Changelog :cl: Spookywastaken imageadd: Handrails have been resprited! /:cl: --- icons/obj/structures/handrail.dmi | Bin 480 -> 577 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/structures/handrail.dmi b/icons/obj/structures/handrail.dmi index 1a8d98d6697d65b91e3621134c3db7f78e2a9e8b..4326fccaf9e74a9000607ca90b68f82f84d17e11 100644 GIT binary patch delta 412 zcmV;N0b~B)1HlB4Bq||LOjJd{z`%k{Cy!z{PB$zX8XYz|JzQaAkd>NiBPpgLD8RtL zC#$(=kw}hz0Z&OpK~zYIy_CIfgD@0@X@Ls1S~Pp*yg*6PohsL`64j(@2SQ$eCM#n` z*1l~aY`MYlN!lJEgKU5J@Ax>*iG-Z1D(SzxO3$S@ZD$fvWcB-OI-9;`wXguZrBIqQ zks_tVBDn~3QspX&qj-{Po8J8(yWzdH`h5@7#Zj4mH9+gC(}rvTD;*AC|Knq?pf4H# zXq>PeDC+^*5E%jnx)}uxGN&tm)^S1%2pR+k!oF-90Ql|%0KZbgSv12=NRyiKk-v?S0-S>f%~NiSUlej;A=pE ze^>*$t?(LPYry7%?G0Zb_=^60YQRAz6BBSID&a6jI5@?M_cwgWac zv~|MGSvJ!uv;F^|4*YgSEIan8)*UsSIiNV^nE2~p59-7LExk^aOr5K$$+A5qWdhi6 zA*DR9e_qPN3;|kRFKSaBzMY4H%|lIr8J2g)dRX Date: Fri, 18 Oct 2024 11:12:32 -0500 Subject: [PATCH 085/344] Fixes examine on ammo casing to hint you can write on them (#3588) ## About The Pull Request I somehow missed this in review! ## Why It's Good For The Game My bad i somehow missed that! ## Changelog :cl: fix: examine on ammo casings now properly hint that you can write on them /:cl: --- code/modules/projectiles/ammunition/_ammo_casing.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/ammunition/_ammo_casing.dm b/code/modules/projectiles/ammunition/_ammo_casing.dm index e3622647f65e..d79919aaae15 100644 --- a/code/modules/projectiles/ammunition/_ammo_casing.dm +++ b/code/modules/projectiles/ammunition/_ammo_casing.dm @@ -107,7 +107,7 @@ /obj/item/ammo_casing/examine(mob/user) . = ..() - span_notice("You could write a message on \the [src] by writing on it with a pen.") + . += span_notice("You could write a message on \the [src] by writing on it with a pen.") /obj/item/ammo_casing/proc/try_stacking(obj/item/ammo_casing/other_casing, mob/living/user) if(user) From 73f5373bc63b75f6a25629ad332b235a3fb27060 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Fri, 18 Oct 2024 12:44:34 -0500 Subject: [PATCH 086/344] gives the autolathe the space heater board. (#3563) ## About The Pull Request see title ## Why It's Good For The Game this is emergency equipment to help fix ships which fits with what an autolathe should be able to print. ## Changelog :cl: add: Autolathes can now print space heater boards. /:cl: --- code/modules/research/designs/machine_designs.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index 737572ef2fc2..b910f6f008e8 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -85,7 +85,8 @@ desc = "The circuit board for a space heater." id = "space_heater" build_path = /obj/item/circuitboard/machine/space_heater - category = list ("Engineering Machinery") + build_type = AUTOLATHE | IMPRINTER + category = list ("Engineering Machinery", "initial", "Equipment") departmental_flags = ALL /datum/design/board/teleport_station From 3700b682546aa1ec0485ec4423c6339f1a1d6f0f Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Fri, 18 Oct 2024 23:49:50 -0500 Subject: [PATCH 087/344] blind people can examine things quicker (#3576) ## About The Pull Request halfs the time to examine when blind ## Why It's Good For The Game this trait only gives 4 points and you already can see more then a tile away its so grating to stack these on top of each other. since your blind you have to examine way more things so figure out what they are. as the like 1 person who plays someone blind it makes me want to like log off sometimes. ## Changelog :cl: balance: blind people can examine twice as fast /:cl: --- code/modules/mob/mob.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 1617f727badd..bb41a93cc1fa 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -537,9 +537,9 @@ visible_message(" [name] begins feeling around for \the [examined_thing.name]...") /// how long it takes for the blind person to find the thing they're examining - var/examine_delay_length = rand(1 SECONDS, 2 SECONDS) + var/examine_delay_length = rand(0.5 SECONDS, 1 SECONDS) if(client?.recent_examines && client?.recent_examines[examined_thing]) //easier to find things we just touched - examine_delay_length = 0.5 SECONDS + examine_delay_length = 0.25 SECONDS else if(isobj(examined_thing)) examine_delay_length *= 1.5 else if(ismob(examined_thing) && examined_thing != src) From e7be9cd6e757c354487141cc14cdb63f827b1d1c Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Sat, 19 Oct 2024 10:39:09 -0500 Subject: [PATCH 088/344] defines the two primary atmos req types (#3490) ## About The Pull Request Makes two defines for atmos requirments, immune and normal, as they are 99% of atmos requirments ## Why It's Good For The Game i hate looking at it to be frank saves atleast one byte of space ## Changelog :cl: code: makes defines for the two primary atoms requirement lists /:cl: --------- Co-authored-by: Sun-Soaked <45698967+Sun-Soaked@users.noreply.github.com> --- code/__DEFINES/atmospherics.dm | 2 ++ code/modules/antagonists/borer/borer.dm | 2 +- code/modules/antagonists/morph/morph.dm | 2 +- code/modules/antagonists/revenant/revenant.dm | 2 +- code/modules/antagonists/slaughter/slaughter.dm | 2 +- code/modules/cargo/gondolapod.dm | 2 +- code/modules/holiday/easter.dm | 2 +- code/modules/mining/minebot.dm | 2 +- .../living/carbon/alien/special/facehugger.dm | 2 +- .../modules/mob/living/simple_animal/bot/bot.dm | 2 +- .../living/simple_animal/friendly/gondola.dm | 2 +- .../simple_animal/hostile/abandoned_minebot.dm | 2 +- .../mob/living/simple_animal/hostile/alien.dm | 2 +- .../mob/living/simple_animal/hostile/bear.dm | 2 +- .../mob/living/simple_animal/hostile/bees.dm | 2 +- .../mob/living/simple_animal/hostile/carp.dm | 2 +- .../mob/living/simple_animal/hostile/clown.dm | 1 - .../living/simple_animal/hostile/cockroach.dm | 2 +- .../living/simple_animal/hostile/eyeballs.dm | 2 +- .../living/simple_animal/hostile/faithless.dm | 2 +- .../simple_animal/hostile/giant_spider.dm | 6 +++--- .../mob/living/simple_animal/hostile/hivebot.dm | 2 +- .../simple_animal/hostile/human/frontiersman.dm | 17 ++++++++--------- .../living/simple_animal/hostile/human/human.dm | 1 - .../simple_animal/hostile/human/nanotrasen.dm | 3 +-- .../simple_animal/hostile/human/pirate.dm | 5 ++--- .../simple_animal/hostile/human/skeleton.dm | 2 +- .../simple_animal/hostile/human/syndicate.dm | 15 +++++++-------- .../simple_animal/hostile/human/zombie.dm | 2 +- .../hostile/jungle/_jungle_mobs.dm | 2 +- .../hostile/megafauna/cult_templar.dm | 2 +- .../hostile/megafauna/megafauna.dm | 2 +- .../mob/living/simple_animal/hostile/mimic.dm | 2 +- .../hostile/mining_mobs/hivelord.dm | 2 +- .../hostile/mining_mobs/mining_mobs.dm | 2 +- .../living/simple_animal/hostile/netherworld.dm | 2 +- .../simple_animal/hostile/retaliate/bat.dm | 2 +- .../simple_animal/hostile/retaliate/clown.dm | 1 - .../simple_animal/hostile/retaliate/ghost.dm | 2 +- .../simple_animal/hostile/retaliate/spaceman.dm | 1 - .../simple_animal/hostile/space_dragon.dm | 2 +- .../mob/living/simple_animal/hostile/statue.dm | 2 +- .../mob/living/simple_animal/hostile/tree.dm | 2 +- .../simple_animal/hostile/venus_human_trap.dm | 2 +- .../mob/living/simple_animal/simple_animal.dm | 2 +- .../mob/living/simple_animal/slime/slime.dm | 2 +- 46 files changed, 59 insertions(+), 65 deletions(-) diff --git a/code/__DEFINES/atmospherics.dm b/code/__DEFINES/atmospherics.dm index 9a576932120f..f884de16926b 100644 --- a/code/__DEFINES/atmospherics.dm +++ b/code/__DEFINES/atmospherics.dm @@ -386,3 +386,5 @@ GLOBAL_LIST_INIT(pipe_paint_colors, sortList(list( "yellow" = rgb(255,198,0) ))) +#define IMMUNE_ATMOS_REQS list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) +#define NORMAL_ATMOS_REQS list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) diff --git a/code/modules/antagonists/borer/borer.dm b/code/modules/antagonists/borer/borer.dm index 71877dd61f8b..4a3f73da57c5 100644 --- a/code/modules/antagonists/borer/borer.dm +++ b/code/modules/antagonists/borer/borer.dm @@ -79,7 +79,7 @@ GLOBAL_VAR_INIT(total_borer_hosts_needed, 3) mob_size = MOB_SIZE_SMALL faction = list("creature") ventcrawler = VENTCRAWLER_ALWAYS - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 diff --git a/code/modules/antagonists/morph/morph.dm b/code/modules/antagonists/morph/morph.dm index 19b0cc891523..9f9d4140cc68 100644 --- a/code/modules/antagonists/morph/morph.dm +++ b/code/modules/antagonists/morph/morph.dm @@ -16,7 +16,7 @@ status_flags = CANPUSH pass_flags = PASSTABLE ventcrawler = VENTCRAWLER_ALWAYS - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxHealth = 150 health = 150 diff --git a/code/modules/antagonists/revenant/revenant.dm b/code/modules/antagonists/revenant/revenant.dm index 81f8facd465a..d348531bfabe 100644 --- a/code/modules/antagonists/revenant/revenant.dm +++ b/code/modules/antagonists/revenant/revenant.dm @@ -36,7 +36,7 @@ response_harm_simple = "punch through" unsuitable_atmos_damage = 0 damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) //I don't know how you'd apply those, but revenants no-sell them anyway. - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = INFINITY harm_intent_damage = 0 diff --git a/code/modules/antagonists/slaughter/slaughter.dm b/code/modules/antagonists/slaughter/slaughter.dm index 595fbb27f61a..56e5d76fb654 100644 --- a/code/modules/antagonists/slaughter/slaughter.dm +++ b/code/modules/antagonists/slaughter/slaughter.dm @@ -23,7 +23,7 @@ attack_sound = 'sound/magic/demon_attack1.ogg' var/feast_sound = 'sound/magic/demon_consume.ogg' deathsound = 'sound/magic/demon_dies.ogg' - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = INFINITY faction = list("slaughter") diff --git a/code/modules/cargo/gondolapod.dm b/code/modules/cargo/gondolapod.dm index 560fc46668de..2a05796e67fc 100644 --- a/code/modules/cargo/gondolapod.dm +++ b/code/modules/cargo/gondolapod.dm @@ -20,7 +20,7 @@ layer = TABLE_LAYER//so that deliveries dont appear underneath it loot = list(/obj/effect/decal/cleanable/blood/gibs, /obj/item/stack/sheet/animalhide/gondola = 2, /obj/item/reagent_containers/food/snacks/meat/slab/gondola = 2) //Gondolas aren't affected by cold. - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 maxHealth = 200 diff --git a/code/modules/holiday/easter.dm b/code/modules/holiday/easter.dm index e2cb7d4bd4a4..3252b2f13e1a 100644 --- a/code/modules/holiday/easter.dm +++ b/code/modules/holiday/easter.dm @@ -55,7 +55,7 @@ icon_state = "s_rabbit_white" icon_living = "s_rabbit_white" icon_dead = "s_rabbit_white_dead" - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 unsuitable_atmos_damage = 0 diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm index 45b62eb3897d..2563e2644bf0 100644 --- a/code/modules/mining/minebot.dm +++ b/code/modules/mining/minebot.dm @@ -13,7 +13,7 @@ mouse_opacity = MOUSE_OPACITY_ICON faction = list("neutral") a_intent = INTENT_HARM - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 move_to_delay = 10 health = 125 diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index 1db46a4d5415..37384cf91e6f 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -27,7 +27,7 @@ attack_verb_simple = "flail at" attack_sound = 'sound/weapons/bladeslice.ogg' faction = list(ROLE_ALIEN) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS verb_say = "squeaks" verb_ask = "squeaks" verb_exclaim = "shrieks" diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 1c25a67c1dbe..8cdc5f3c6818 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -8,7 +8,7 @@ wander = 0 healable = 0 damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS maxbodytemp = INFINITY minbodytemp = 0 has_unlimited_silicon_privilege = 1 diff --git a/code/modules/mob/living/simple_animal/friendly/gondola.dm b/code/modules/mob/living/simple_animal/friendly/gondola.dm index 54e8dad7edb4..0bb662979ee1 100644 --- a/code/modules/mob/living/simple_animal/friendly/gondola.dm +++ b/code/modules/mob/living/simple_animal/friendly/gondola.dm @@ -22,7 +22,7 @@ icon_living = "gondola" loot = list(/obj/effect/decal/cleanable/blood/gibs, /obj/item/stack/sheet/animalhide/gondola = 1, /obj/item/reagent_containers/food/snacks/meat/slab/gondola = 1) //Gondolas aren't affected by cold. - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 maxHealth = 200 diff --git a/code/modules/mob/living/simple_animal/hostile/abandoned_minebot.dm b/code/modules/mob/living/simple_animal/hostile/abandoned_minebot.dm index 78432c92a4d5..58e48850c2b8 100644 --- a/code/modules/mob/living/simple_animal/hostile/abandoned_minebot.dm +++ b/code/modules/mob/living/simple_animal/hostile/abandoned_minebot.dm @@ -9,7 +9,7 @@ status_flags = CANSTUN|CANKNOCKDOWN|CANPUSH mouse_opacity = MOUSE_OPACITY_ICON a_intent = INTENT_HARM - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 move_to_delay = 10 health = 70 diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm index e7d029467f25..402c6c920c0b 100644 --- a/code/modules/mob/living/simple_animal/hostile/alien.dm +++ b/code/modules/mob/living/simple_animal/hostile/alien.dm @@ -22,7 +22,7 @@ bubble_icon = "alien" a_intent = INTENT_HARM attack_sound = 'sound/weapons/bladeslice.ogg' - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS unsuitable_atmos_damage = 15 faction = list(ROLE_ALIEN) status_flags = CANPUSH diff --git a/code/modules/mob/living/simple_animal/hostile/bear.dm b/code/modules/mob/living/simple_animal/hostile/bear.dm index 6cf14fd33c9c..2de363729229 100644 --- a/code/modules/mob/living/simple_animal/hostile/bear.dm +++ b/code/modules/mob/living/simple_animal/hostile/bear.dm @@ -34,7 +34,7 @@ friendly_verb_simple = "bear hug" //Space bears aren't affected by cold. - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm index c56f87178e75..c019c6a65ad5 100644 --- a/code/modules/mob/living/simple_animal/hostile/bees.dm +++ b/code/modules/mob/living/simple_animal/hostile/bees.dm @@ -50,7 +50,7 @@ search_objects = 1 //have to find those plant trays! //Spaceborn beings don't get hurt by space - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 del_on_death = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/carp.dm b/code/modules/mob/living/simple_animal/hostile/carp.dm index a0986111a4b1..4f0448b385c3 100644 --- a/code/modules/mob/living/simple_animal/hostile/carp.dm +++ b/code/modules/mob/living/simple_animal/hostile/carp.dm @@ -37,7 +37,7 @@ speak_emote = list("gnashes") //Space carp aren't affected by cold. - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 faction = list("carp", "mining") diff --git a/code/modules/mob/living/simple_animal/hostile/clown.dm b/code/modules/mob/living/simple_animal/hostile/clown.dm index b513c74e9d58..756556191ae9 100644 --- a/code/modules/mob/living/simple_animal/hostile/clown.dm +++ b/code/modules/mob/living/simple_animal/hostile/clown.dm @@ -29,7 +29,6 @@ del_on_death = 1 loot = list(/obj/effect/mob_spawn/human/clown/corpse) - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) minbodytemp = 270 maxbodytemp = 370 unsuitable_atmos_damage = 10 diff --git a/code/modules/mob/living/simple_animal/hostile/cockroach.dm b/code/modules/mob/living/simple_animal/hostile/cockroach.dm index 5a931b0079b4..d744d4a413c1 100644 --- a/code/modules/mob/living/simple_animal/hostile/cockroach.dm +++ b/code/modules/mob/living/simple_animal/hostile/cockroach.dm @@ -7,7 +7,7 @@ maxHealth = 1 turns_per_move = 5 loot = list(/obj/effect/decal/cleanable/insectguts) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 270 maxbodytemp = INFINITY pass_flags = PASSTABLE | PASSGRILLE | PASSMOB diff --git a/code/modules/mob/living/simple_animal/hostile/eyeballs.dm b/code/modules/mob/living/simple_animal/hostile/eyeballs.dm index 8a1fe372ee6a..26f176d74fa5 100644 --- a/code/modules/mob/living/simple_animal/hostile/eyeballs.dm +++ b/code/modules/mob/living/simple_animal/hostile/eyeballs.dm @@ -26,7 +26,7 @@ attack_verb_simple = "blink at" attack_sound = 'sound/weapons/pierce.ogg' movement_type = FLYING - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 faction = list("spooky") diff --git a/code/modules/mob/living/simple_animal/hostile/faithless.dm b/code/modules/mob/living/simple_animal/hostile/faithless.dm index a814d67ebc86..6959b9e61cd4 100644 --- a/code/modules/mob/living/simple_animal/hostile/faithless.dm +++ b/code/modules/mob/living/simple_animal/hostile/faithless.dm @@ -27,7 +27,7 @@ attack_sound = 'sound/hallucinations/growl1.ogg' speak_emote = list("growls") - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 faction = list("faithless") diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm index 71b31c9568e1..fa15c57249e9 100644 --- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm +++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm @@ -216,7 +216,7 @@ /mob/living/simple_animal/hostile/poison/giant_spider/ice //spiders dont usually like tempatures of 140 kelvin who knew name = "giant ice spider" - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 poison_type = /datum/reagent/consumable/frostoil @@ -224,7 +224,7 @@ /mob/living/simple_animal/hostile/poison/giant_spider/nurse/ice name = "giant ice spider" - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 poison_type = /datum/reagent/consumable/frostoil @@ -232,7 +232,7 @@ /mob/living/simple_animal/hostile/poison/giant_spider/hunter/ice name = "giant ice spider" - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 poison_type = /datum/reagent/consumable/frostoil diff --git a/code/modules/mob/living/simple_animal/hostile/hivebot.dm b/code/modules/mob/living/simple_animal/hostile/hivebot.dm index b6d7665221af..b98da0a899fc 100644 --- a/code/modules/mob/living/simple_animal/hostile/hivebot.dm +++ b/code/modules/mob/living/simple_animal/hostile/hivebot.dm @@ -23,7 +23,7 @@ projectiletype = /obj/projectile/hivebotbullet faction = list("hivebot") check_friendly_fire = 1 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS possible_a_intents = list(INTENT_HELP, INTENT_GRAB, INTENT_DISARM, INTENT_HARM) minbodytemp = 0 verb_say = "states" diff --git a/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm b/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm index 84a7af5b273f..beb94ba52a63 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm @@ -10,7 +10,6 @@ melee_damage_upper = 15 loot = list(/obj/effect/mob_spawn/human/corpse/frontier, /obj/item/melee/knife/survival) - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) faction = list(FACTION_ANTAG_FRONTIERSMEN) footstep_type = FOOTSTEP_MOB_SHOE @@ -20,7 +19,7 @@ loot = list(/obj/effect/mob_spawn/human/corpse/frontier, /obj/item/clothing/mask/gas/sechailer, /obj/item/tank/internals/emergency_oxygen/engi) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 @@ -42,7 +41,7 @@ /obj/item/gun/ballistic/revolver/shadow, /obj/item/clothing/mask/gas/sechailer, /obj/item/tank/internals/emergency_oxygen/engi) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered @@ -102,7 +101,7 @@ /obj/item/gun/ballistic/rifle/illestren, /obj/item/clothing/mask/gas/sechailer, /obj/item/tank/internals/emergency_oxygen/engi) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/mosin/internals/neutered @@ -130,7 +129,7 @@ /obj/item/gun/ballistic/shotgun/brimstone, /obj/item/clothing/mask/gas, /obj/item/tank/internals/emergency_oxygen/engi) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals/neutered @@ -185,7 +184,7 @@ /obj/item/gun/ballistic/automatic/assault/skm, /obj/item/clothing/mask/gas, /obj/item/tank/internals/emergency_oxygen/engi) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/internals/neutered @@ -212,7 +211,7 @@ /obj/item/gun/ballistic/rifle/illestren, /obj/item/clothing/mask/gas, /obj/item/tank/internals/emergency_oxygen/engi) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals/neutered @@ -241,7 +240,7 @@ loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy, /obj/item/clothing/mask/gas, /obj/item/tank/internals/emergency_oxygen/engi) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 @@ -269,7 +268,7 @@ /obj/item/gun/ballistic/automatic/pistol/mauler, /obj/item/clothing/mask/gas, /obj/item/tank/internals/emergency_oxygen/engi) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/officer/internals/neutered diff --git a/code/modules/mob/living/simple_animal/hostile/human/human.dm b/code/modules/mob/living/simple_animal/hostile/human/human.dm index 633bd40090e8..fe90db49e618 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/human.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/human.dm @@ -30,7 +30,6 @@ loot = list(/obj/effect/mob_spawn/human/corpse/damaged) del_on_death = TRUE - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) unsuitable_atmos_damage = 15 minbodytemp = 180 status_flags = CANPUSH diff --git a/code/modules/mob/living/simple_animal/hostile/human/nanotrasen.dm b/code/modules/mob/living/simple_animal/hostile/human/nanotrasen.dm index 6c1676d202ab..96b7c3f3a4e0 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/nanotrasen.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/nanotrasen.dm @@ -7,7 +7,6 @@ stat_attack = HARD_CRIT melee_damage_upper = 15 loot = list(/obj/effect/mob_spawn/human/corpse/nanotrasensoldier) - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) faction = list(ROLE_DEATHSQUAD) check_friendly_fire = TRUE dodging = TRUE @@ -72,7 +71,7 @@ rapid_melee = 3 retreat_distance = 0 minimum_distance = 1 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 projectiletype = /obj/projectile/beam/laser projectilesound = 'sound/weapons/laser.ogg' diff --git a/code/modules/mob/living/simple_animal/hostile/human/pirate.dm b/code/modules/mob/living/simple_animal/hostile/human/pirate.dm index df10cfa6a2b4..b5cdd48e7788 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/pirate.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/pirate.dm @@ -5,7 +5,6 @@ icon_living = "piratemelee" icon_dead = "pirate_dead" speak_chance = 0 - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) speak_emote = list("yarrs") loot = list(/obj/effect/mob_spawn/human/corpse/pirate, /obj/item/melee/transforming/energy/sword/saber/pirate) @@ -31,7 +30,7 @@ icon_state = "piratespace" icon_living = "piratespace" icon_dead = "piratespace_dead" - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 speed = 1 @@ -71,7 +70,7 @@ icon_state = "piratespaceranged" icon_living = "piratespaceranged" icon_dead = "piratespaceranged_dead" - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 speed = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/human/skeleton.dm b/code/modules/mob/living/simple_animal/hostile/human/skeleton.dm index 12a3c2b2604c..4eac3878efa1 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/skeleton.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/skeleton.dm @@ -19,7 +19,7 @@ attack_verb_continuous = "slashes" attack_verb_simple = "slash" attack_sound = 'sound/hallucinations/growl1.ogg' - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS unsuitable_atmos_damage = 10 stat_attack = HARD_CRIT faction = list("skeleton") diff --git a/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm index 4983c53ef88d..3f81cd145dcd 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm @@ -13,7 +13,6 @@ speak_chance = 0 stat_attack = HARD_CRIT loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier) - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) maxbodytemp = 400 unsuitable_atmos_damage = 15 faction = list(FACTION_ANTAG_SYNDICATE) @@ -29,7 +28,7 @@ name = "Ramzi Clique Commando" maxHealth = 170 health = 170 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1000 speed = 1 @@ -64,7 +63,7 @@ name = "Ramzi Clique Commando" maxHealth = 170 health = 170 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1000 speed = 1 @@ -117,7 +116,7 @@ name = "Ramzi Clique Commando" maxHealth = 170 health = 170 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1000 speed = 1 @@ -165,7 +164,7 @@ name = "Ramzi Clique Commando" maxHealth = 170 health = 170 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1000 speed = 1 @@ -195,7 +194,7 @@ name = "Ramzi Clique Commando" maxHealth = 170 health = 170 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1000 speed = 1 @@ -226,7 +225,7 @@ name = "Ramzi Clique Commando" maxHealth = 170 health = 170 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1000 speed = 1 @@ -275,7 +274,7 @@ attack_verb_simple = "cut" attack_sound = 'sound/weapons/bladeslice.ogg' faction = list(ROLE_SYNDICATE) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1000 mob_size = MOB_SIZE_TINY diff --git a/code/modules/mob/living/simple_animal/hostile/human/zombie.dm b/code/modules/mob/living/simple_animal/hostile/human/zombie.dm index 7a12465b98bb..e13461a49568 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/zombie.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/zombie.dm @@ -16,7 +16,7 @@ attack_verb_simple = "bite" attack_sound = 'sound/hallucinations/growl1.ogg' a_intent = INTENT_HARM - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 status_flags = CANPUSH loot = list() diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/_jungle_mobs.dm b/code/modules/mob/living/simple_animal/hostile/jungle/_jungle_mobs.dm index 32dc8d4bc887..4a0970751d9b 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle/_jungle_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle/_jungle_mobs.dm @@ -1,6 +1,6 @@ /mob/living/simple_animal/hostile/jungle vision_range = 5 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS faction = list("jungle") weather_immunities = list("acid") obj_damage = 30 diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/cult_templar.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/cult_templar.dm index 77e9e8f4cb83..abd8ce5c6290 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/cult_templar.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/cult_templar.dm @@ -450,7 +450,7 @@ stop_automated_movement = 1 status_flags = CANPUSH attack_sound = 'sound/magic/demon_attack1.ogg' - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS faction = list("cult") maxHealth = 60 health = 60 diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm index a7a6845c7de1..ee5b0940b11f 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm @@ -15,7 +15,7 @@ robust_searching = TRUE ranged_ignores_vision = TRUE stat_attack = DEAD - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS damage_coeff = list(BRUTE = 1, BURN = 0.5, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) minbodytemp = 0 maxbodytemp = INFINITY diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index ecdc357b8da3..53825863281e 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -23,7 +23,7 @@ speak_emote = list("creaks") taunt_chance = 30 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 faction = list("mimic") diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index 9004c94e9fdd..7f0731e2dedf 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -381,7 +381,7 @@ del_on_death = TRUE sentience_type = SENTIENCE_BOSS loot = list(/obj/item/organ/regenerative_core/legion = 3, /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 5, /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 5, /obj/effect/mob_spawn/human/corpse/damaged/legioninfested = 5) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = INFINITY move_to_delay = 7 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm index 9ad24e5f01b6..85cc0984adac 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm @@ -1,7 +1,7 @@ //the base mining mob /mob/living/simple_animal/hostile/asteroid vision_range = 2 - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS faction = list("mining") weather_immunities = list("lava","ash") obj_damage = 30 diff --git a/code/modules/mob/living/simple_animal/hostile/netherworld.dm b/code/modules/mob/living/simple_animal/hostile/netherworld.dm index 8ec732defc04..e6a5ec66cb9a 100644 --- a/code/modules/mob/living/simple_animal/hostile/netherworld.dm +++ b/code/modules/mob/living/simple_animal/hostile/netherworld.dm @@ -14,7 +14,7 @@ attack_sound = 'sound/weapons/bladeslice.ogg' faction = list("nether") speak_emote = list("screams") - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE var/phaser = TRUE diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm index 4f671f37ac68..2a3c67f1d188 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm @@ -36,7 +36,7 @@ //Space bats need no air to fly in. - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 /mob/living/simple_animal/hostile/retaliate/bat/Initialize() diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm index 75610b382cb3..611b5641ff52 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm @@ -29,7 +29,6 @@ del_on_death = 1 loot = list(/obj/effect/mob_spawn/human/clown/corpse) - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) minbodytemp = 270 maxbodytemp = 370 unsuitable_atmos_damage = 10 diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm index d72cdf215e22..a3da5b7c5be9 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/ghost.dm @@ -25,7 +25,7 @@ speak_emote = list("weeps") deathmessage = "wails, disintegrating into a pile of ectoplasm!" loot = list(/obj/item/ectoplasm) - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 movement_type = FLYING diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm index 80e5968cbc4d..ce333d2ef002 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm @@ -51,7 +51,6 @@ faction = list("nanotrasenprivate") a_intent = INTENT_HARM loot = list(/obj/effect/mob_spawn/human/corpse/nanotrasensoldier) - atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) unsuitable_atmos_damage = 15 status_flags = CANPUSH search_objects = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm index 9ed3f5df85a3..7add4c1dfa5b 100644 --- a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm +++ b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm @@ -44,7 +44,7 @@ mouse_opacity = MOUSE_OPACITY_ICON butcher_results = list(/obj/item/stack/ore/diamond = 5, /obj/item/stack/sheet/sinew = 5, /obj/item/stack/sheet/bone = 30) deathmessage = "screeches as its wings turn to dust and it collapses on the floor, life estinguished." - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1500 faction = list("carp") diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index d5b56f758cb1..b4a70b9c304c 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -28,7 +28,7 @@ attack_verb_simple = "claw" attack_sound = 'sound/hallucinations/growl1.ogg' - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 faction = list("statue") diff --git a/code/modules/mob/living/simple_animal/hostile/tree.dm b/code/modules/mob/living/simple_animal/hostile/tree.dm index c040a2221d0b..69e0970e2264 100644 --- a/code/modules/mob/living/simple_animal/hostile/tree.dm +++ b/code/modules/mob/living/simple_animal/hostile/tree.dm @@ -80,7 +80,7 @@ loot = list(/obj/item/stack/rods) speak_emote = list("polls") faction = list() - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS is_tree = FALSE /mob/living/simple_animal/hostile/tree/festivus/attack_hand(mob/living/carbon/human/M) diff --git a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm index 52ddcc72963a..13d8dd57ba42 100644 --- a/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm +++ b/code/modules/mob/living/simple_animal/hostile/venus_human_trap.dm @@ -96,7 +96,7 @@ a_intent = INTENT_HARM ranged_cooldown_time = 45 attack_sound = 'sound/weapons/bladeslice.ogg' - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS unsuitable_atmos_damage = 0 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE faction = list("hostile","vines","plants") diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 35e0e535c96d..5ee1d8f102be 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -59,7 +59,7 @@ ///Atmos effect - Yes, you can make creatures that require plasma or co2 to survive. N2O is a trace gas and handled separately, hence why it isn't here. It'd be hard to add it. Hard and me don't mix (Yes, yes make all the dick jokes you want with that.) - Errorage ///Leaving something at 0 means it's off - has no maximum. - var/list/atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) + var/list/atmos_requirements = NORMAL_ATMOS_REQS ///This damage is taken when atmos doesn't fit all the requirements above. var/unsuitable_atmos_damage = 2 diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm index cafb6cb77bd5..56478ebc7853 100644 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ b/code/modules/mob/living/simple_animal/slime/slime.dm @@ -24,7 +24,7 @@ bubble_icon = "slime" initial_language_holder = /datum/language_holder/slime - atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) + atmos_requirements = IMMUNE_ATMOS_REQS maxHealth = 150 health = 150 From 8163ce69dba36e17b2f89c05b79a0315d39db5d5 Mon Sep 17 00:00:00 2001 From: Apogee-dev <60533805+Apogee-dev@users.noreply.github.com> Date: Sat, 19 Oct 2024 19:38:00 -0700 Subject: [PATCH 089/344] Disables the Komodo (#3601) ## About The Pull Request Makes the Komodo adminspawn. This is a temporary measure until the Komodo's replacement is finished. ## Why It's Good For The Game the komodo has a downright rancid reputation and is pending a replacement anyway. Putting access to it under admin control helps at least a little, letting admins allow players with a proven record to run it without completely locking it away. ## Changelog :cl: balance: Made Komodo aspawn /:cl: --- _maps/configs/syndicate_gorlex_komodo.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_maps/configs/syndicate_gorlex_komodo.json b/_maps/configs/syndicate_gorlex_komodo.json index b51dee46ffd9..0cefb4ca08b3 100644 --- a/_maps/configs/syndicate_gorlex_komodo.json +++ b/_maps/configs/syndicate_gorlex_komodo.json @@ -51,5 +51,5 @@ "slots": 2 } }, - "enabled": true + "enabled": false } From 37b3b4bcb0808ad5eede4fae437bb516f8ca804d Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Mon, 21 Oct 2024 19:30:26 -0400 Subject: [PATCH 090/344] Adds Sords For PGF (#3571) ## About The Pull Request As title ## Why It's Good For The Game It's fluff stuff for the PGF. ## Changelog :cl: Imaginos, Erika add: The Pan Gezenan Federation has sent out shipments of boarding cutlasses to the Frontier. Expect cool doohickeys on your friendly neighborhood PGF Vessel imageadd: Imaginos: PGF sord sprites code: sabres now take up less space in code /:cl: --------- Co-authored-by: Erika Fox <94164348+Bjarl@users.noreply.github.com> --- code/game/objects/items/melee/sword.dm | 7 +++ code/game/objects/items/storage/belt.dm | 77 +++++------------------- icons/obj/clothing/belts.dmi | Bin 17005 -> 17655 bytes icons/obj/weapon/sword.dmi | Bin 15674 -> 15208 bytes 4 files changed, 21 insertions(+), 63 deletions(-) diff --git a/code/game/objects/items/melee/sword.dm b/code/game/objects/items/melee/sword.dm index ff384770a318..e74dd456b466 100644 --- a/code/game/objects/items/melee/sword.dm +++ b/code/game/objects/items/melee/sword.dm @@ -132,6 +132,13 @@ icon_state = "suns-swordstick" item_state = "suns-swordstick" +/obj/item/melee/sword/sabre/pgf + name = "\improper boarding cutlass" + desc = "When beam and bullet puncture the hull, a trustworthy blade will carry you through the fight" + icon_state = "pgf-sabre" + block_chance = 30 + force = 22 + /obj/item/melee/sword/sabre/suns/telescopic name = "telescopic sabre" desc = "A telescopic and retractable blade given to SUNS peacekeepers for easy concealment and carry. It's design makes it slightly less effective than normal sabres sadly, however it is still excelent at piercing armor." diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 3b7de4f3ad1d..3d974e5033e7 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -751,6 +751,7 @@ item_state = "sheath" base_icon_state = "sheath" w_class = WEIGHT_CLASS_BULKY + var/sabre_type = /obj/item/melee/sword/sabre /obj/item/storage/belt/sabre/ComponentInitialize() . = ..() @@ -760,7 +761,7 @@ STR.use_sound = null //if youre wondering why this is null, its so you can look in your sheath to prepare to draw, without letting anyone know youre preparing to draw it STR.max_w_class = WEIGHT_CLASS_BULKY STR.set_holdable(list( - /obj/item/melee/sword/sabre + sabre_type )) /obj/item/storage/belt/sabre/examine(mob/user) @@ -788,7 +789,7 @@ return ..() /obj/item/storage/belt/sabre/PopulateContents() - new /obj/item/melee/sword/sabre(src) + new sabre_type(src) update_appearance() /obj/item/storage/belt/sabre/solgov @@ -798,21 +799,7 @@ icon_state = "sheath-solgov" item_state = "sheath-solgov" w_class = WEIGHT_CLASS_BULKY - -/obj/item/storage/belt/sabre/solgov/ComponentInitialize() - AddComponent(component_type) - AddElement(/datum/element/update_icon_updates_onmob) - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 1 - STR.use_sound = null - STR.max_w_class = WEIGHT_CLASS_BULKY - STR.set_holdable(list( - /obj/item/melee/sword/sabre/solgov - )) - -/obj/item/storage/belt/sabre/solgov/PopulateContents() - new /obj/item/melee/sword/sabre/solgov(src) - update_appearance() + sabre_type = /obj/item/melee/sword/sabre/solgov /obj/item/storage/belt/sabre/suns name = "SUNS sabre sheath" @@ -827,22 +814,7 @@ icon_state = "suns-sheath" item_state = "suns-sheath" w_class = WEIGHT_CLASS_BULKY - -/obj/item/storage/belt/sabre/suns/ComponentInitialize() - AddComponent(component_type) - AddElement(/datum/element/update_icon_updates_onmob) - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 1 - STR.use_sound = null - STR.max_w_class = WEIGHT_CLASS_BULKY - STR.set_holdable(list( - /obj/item/melee/sword/sabre/suns - )) - -/obj/item/storage/belt/sabre/suns/PopulateContents() - new /obj/item/melee/sword/sabre/suns(src) - update_appearance() - + sabre_type = /obj/item/melee/sword/sabre/suns /obj/item/storage/belt/sabre/suns/captain name = "SUNS captain's sabre sheath" @@ -852,21 +824,7 @@ icon_state = "suns-capsheath" item_state = "suns-capsheath" w_class = WEIGHT_CLASS_BULKY - -/obj/item/storage/belt/sabre/suns/captain/ComponentInitialize() - AddComponent(component_type) - AddElement(/datum/element/update_icon_updates_onmob) - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 1 - STR.use_sound = null - STR.max_w_class = WEIGHT_CLASS_BULKY - STR.set_holdable(list( - /obj/item/melee/sword/sabre/suns/captain - )) - -/obj/item/storage/belt/sabre/suns/captain/PopulateContents() - new /obj/item/melee/sword/sabre/suns/captain(src) - update_appearance() + sabre_type = /obj/item/melee/sword/sabre/suns/captain /obj/item/storage/belt/sabre/suns/cmo name = "SUNS cane sheath" @@ -882,21 +840,14 @@ icon_state = "suns-cane" item_state = "suns-cane" w_class = WEIGHT_CLASS_BULKY - -/obj/item/storage/belt/sabre/suns/cmo/ComponentInitialize() - AddComponent(component_type) - AddElement(/datum/element/update_icon_updates_onmob) - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 1 - STR.use_sound = null - STR.max_w_class = WEIGHT_CLASS_BULKY - STR.set_holdable(list( - /obj/item/melee/sword/sabre/suns/cmo - )) - -/obj/item/storage/belt/sabre/suns/cmo/PopulateContents() - new /obj/item/melee/sword/sabre/suns/cmo(src) - update_appearance() + sabre_type = /obj/item/melee/sword/sabre/suns/cmo + +/obj/item/storage/belt/sabre/pgf + name = "cutlass sheath" + desc = "A mass produced thermoplastic-leather sheath made to hold a boarding cutlass." + base_icon_state = "sheath-pgf" + icon_state = "sheath-pgf" + item_state = "sheath-pgf" /obj/item/storage/belt/security/webbing/inteq name = "inteq webbing" diff --git a/icons/obj/clothing/belts.dmi b/icons/obj/clothing/belts.dmi index d1857dbe878d022487733af5f18cf5c41763b9c9..931f502def1d42a79a7923658438812d28c4a86a 100644 GIT binary patch literal 17655 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 r>}F!O(&6LCxB(mzz4(77g_u6{1-oD!M<>^9}K literal 17005 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 rasNLFW%=q@m(lmD6vkS{T&oxyJoJ?G_gG literal 15674 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 E2TU{#PXGV_ From 83380f16f99b63ecb43b1522c78313f3a090fed7 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 22 Oct 2024 00:19:00 -0400 Subject: [PATCH 091/344] Hallucination Anomaly Fix (#3614) ## About The Pull Request Hallucination Anomalies will no longer migrate off their tile ## Why It's Good For The Game bugfix ## Changelog :cl: fix: Hallucination Anomalies will stay on their tile now. /:cl: Co-authored-by: Bjarl <94164348+Bjarl@users.noreply.github.com> --- .../objects/effects/anomalies/anomalies_hallucination.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/objects/effects/anomalies/anomalies_hallucination.dm b/code/game/objects/effects/anomalies/anomalies_hallucination.dm index e48a1879f257..8a0a469ba52b 100644 --- a/code/game/objects/effects/anomalies/anomalies_hallucination.dm +++ b/code/game/objects/effects/anomalies/anomalies_hallucination.dm @@ -19,8 +19,8 @@ var/turf/open/our_turf = get_turf(src) if(istype(our_turf)) hallucination_pulse(our_turf, 5) - pixel_x = pixel_x + clamp(rand(-5, 5), -16, 16) - pixel_y = pixel_y + clamp(rand(-5, 5), -16, 16) + pixel_x = clamp(pixel_x + rand(-5, 5), -16, 16) + pixel_y = clamp(pixel_y + rand(-5, 5), -16, 16) /obj/effect/anomaly/hallucination/detonate() var/turf/open/our_turf = get_turf(src) @@ -45,7 +45,7 @@ var/list/messages = list( "You feel your conscious mind fall apart!", "Reality warps around you!", - "Something's wispering around you!", + "Something whispers around you!", "You are going insane!", ) to_chat(user, span_warning(pick(messages))) From e75f65444369c8acfd206d50af20d869d4f6c789 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 22 Oct 2024 00:19:40 -0400 Subject: [PATCH 092/344] Update belt.dm (#3617) fix mistake i made in sabre stuff Co-authored-by: Erika Fox <94164348+Bjarl@users.noreply.github.com> --- code/game/objects/items/storage/belt.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 3d974e5033e7..ed5ecc0d2717 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -848,6 +848,7 @@ base_icon_state = "sheath-pgf" icon_state = "sheath-pgf" item_state = "sheath-pgf" + sabre_type = /obj/item/melee/sword/sabre/pgf /obj/item/storage/belt/security/webbing/inteq name = "inteq webbing" From 457765dbe1d28c25ee61424b24b7142c54bcfbea Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Tue, 22 Oct 2024 00:47:50 -0500 Subject: [PATCH 093/344] Uncomments Machete Cargo Order (#3584) ## About The Pull Request Uncomments the Machete Crate from cargo ## Why It's Good For The Game They're bulky but they're neat melee options. Beats you to death with machetes ## Changelog :cl: add: Added Stamped Steel Machetes, 5 for 500 /:cl: --- code/modules/cargo/packs/sec_supply.dm | 5 ----- 1 file changed, 5 deletions(-) diff --git a/code/modules/cargo/packs/sec_supply.dm b/code/modules/cargo/packs/sec_supply.dm index 1045f2730ea9..e4208699338b 100644 --- a/code/modules/cargo/packs/sec_supply.dm +++ b/code/modules/cargo/packs/sec_supply.dm @@ -77,18 +77,13 @@ /obj/item/melee/knife/survival) crate_name = "combat knife crate" -/* /datum/supply_pack/sec_supply/machete name = "Stampted Steel Machete Crate" desc = "Contains five mass produced machetes. A perfect choice for crews on a budget." cost = 500 contains = list(/obj/item/melee/sword/mass, - /obj/item/melee/sword/mass, - /obj/item/melee/sword/mass, - /obj/item/melee/sword/mass, /obj/item/melee/sword/mass) crate_name = "combat knife crate" -*/ /datum/supply_pack/sec_supply/flamethrower name = "Flamethrower Crate" From c8409de4c36b60452fe6faabc6c99f31ef8bb2ec Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 22 Oct 2024 01:48:26 -0400 Subject: [PATCH 094/344] Analgesia trait fixes (#3583) ## About The Pull Request Analgesia is now incompatible with self-aware Embeds and EMPs no longer give people with analgesia big warning messages ## Why It's Good For The Game code good ## Changelog :cl: fix: Analgesia can no longer be taken with self-aware fix: Few edge cases for analgesiacs getting pain /:cl: --------- Signed-off-by: Erika Fox <94164348+Erikafox@users.noreply.github.com> Co-authored-by: Bjarl <94164348+Bjarl@users.noreply.github.com> Co-authored-by: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> --- code/controllers/subsystem/processing/quirks.dm | 4 +++- code/datums/components/embedded.dm | 5 ++++- code/modules/mob/living/carbon/human/human_defense.dm | 4 ++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm index c6f9e4404c07..41e3f77d6134 100644 --- a/code/controllers/subsystem/processing/quirks.dm +++ b/code/controllers/subsystem/processing/quirks.dm @@ -23,7 +23,9 @@ PROCESSING_SUBSYSTEM_DEF(quirks) list("Ageusia","Vegetarian","Deviant Tastes"), \ list("Ananas Affinity","Ananas Aversion"), \ list("Alcohol Tolerance","Light Drinker"), \ - list("Bad Touch", "Friendly")) + list("Bad Touch", "Friendly"), \ + list("Self-Aware", "Congenital Analgesia") + ) species_blacklist = list("Blood Deficiency" = list(SPECIES_IPC, SPECIES_JELLYPERSON, SPECIES_PLASMAMAN, SPECIES_VAMPIRE)) diff --git a/code/datums/components/embedded.dm b/code/datums/components/embedded.dm index 018321094283..13c21c2c8f29 100644 --- a/code/datums/components/embedded.dm +++ b/code/datums/components/embedded.dm @@ -164,7 +164,10 @@ if(harmful && prob(chance)) var/damage = weapon.w_class * jostle_pain_mult limb.receive_damage(brute=(1-pain_stam_pct) * damage, stamina=pain_stam_pct * damage) - to_chat(victim, "[weapon] embedded in your [limb.name] jostles and stings!") + if(HAS_TRAIT(victim, TRAIT_ANALGESIA)) + to_chat(victim, span_notice("[weapon] embedded in your [limb.name] shifts around.")) + return + to_chat(victim, span_userdanger("[weapon] embedded in your [limb.name] jostles and stings!")) /// Called when then item randomly falls out of a carbon. This handles the damage and descriptors, then calls safe_remove() diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index c26956991d33..764ede83aa90 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -522,8 +522,8 @@ var/informed = FALSE for(var/obj/item/bodypart/L as anything in bodyparts) if(!IS_ORGANIC_LIMB(L)) - if(!informed) - to_chat(src, "You feel a sharp pain as your robotic limbs overload.") + if(!informed && !HAS_TRAIT(src, TRAIT_ANALGESIA)) + to_chat(src, span_userdanger("You feel a sharp pain as your robotic limbs overload.")) informed = TRUE switch(severity) if(1) From 01a092d7c9feb23289d8827b7b4a951749af45a8 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 22 Oct 2024 10:00:56 -0400 Subject: [PATCH 095/344] Lets you fax holochips (#3606) ## About The Pull Request as title ## Why It's Good For The Game wireless money transfer... in the year of our space 505fs... unthinkable... ## Changelog :cl: add: You can now fax credit holochips /:cl: --------- Co-authored-by: Erika Fox <94164348+Bjarl@users.noreply.github.com> --- code/modules/paperwork/fax.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/paperwork/fax.dm b/code/modules/paperwork/fax.dm index 0bf0a3eb51d3..ece23ebbfc81 100644 --- a/code/modules/paperwork/fax.dm +++ b/code/modules/paperwork/fax.dm @@ -31,7 +31,8 @@ /// List of types which should always be allowed to be faxed var/static/list/allowed_types = list( /obj/item/paper, - /obj/item/photo + /obj/item/photo, + /obj/item/holochip, ) /// List of types which should be allowed to be faxed if hacked var/static/list/exotic_types = list( @@ -46,7 +47,6 @@ /obj/item/reagent_containers/food/snacks/pancakes, /obj/item/throwing_star, /obj/item/spacecash, - /obj/item/holochip, /obj/item/card, /obj/item/folder/biscuit ) From d1198f2a1bee3a1931f47894188ab593853583f7 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Tue, 22 Oct 2024 10:31:18 -0500 Subject: [PATCH 096/344] smarter allowed ammo types (#3429) deal with cell sizes, snowflaked gun inits for diffrent mags and evil subtypes a basic unit test to make sure it works you can now pass a arg to empty a guns, ammo boxes, and cells in new so we don't need 8 billion sub types for that. using that, gun cases now are easier to make and have a sub type which grabs guns from the tile its on for mappers. cool regex if stuff conflict merges cell_type = (\/[\w\/]+) or mag_type = (\/[\w\/]+) default_ammo_type = $1\n\tallowed_ammo_types = list(\n\t\t$1,\n\t) :cl: fix: ammo refactor: refactored ammo types to not be snowflaked when handling spawning subtyped guns /:cl: --- .../IceRuins/icemoon_ice_lodge.dmm | 2 +- .../lavaland_abandonedlisteningpost.dmm | 2 +- .../shuttles/independent/independent_kilo.dmm | 4 +- _maps/shuttles/inteq/inteq_talos.dmm | 48 ++- _maps/shuttles/minutemen/minutemen_atlas.dmm | 6 +- .../shuttles/nanotrasen/nanotrasen_ranger.dmm | 8 +- _maps/shuttles/roumain/srm_elder.dmm | 2 +- _maps/shuttles/solgov/solgov_chronicle.dmm | 2 +- _maps/shuttles/solgov/solgov_inkwell.dmm | 2 +- _maps/shuttles/solgov/solgov_paracelsus.dmm | 2 +- .../syndicate/syndicate_gorlex_hyena.dmm | 4 +- .../syndicate/syndicate_twinkleshine.dmm | 6 +- check_regex.yaml | 2 +- code/__DEFINES/guns.dm | 4 - .../machinery/porta_turret/portable_turret.dm | 2 +- code/game/machinery/suit_storage_unit.dm | 2 +- code/game/objects/items/storage/guncases.dm | 308 ++++++++---------- code/modules/awaymissions/capture_the_flag.dm | 20 +- code/modules/cargo/packs/gun.dm | 30 +- .../mining/lavaland/necropolis_chests.dm | 2 +- .../mob/living/simple_animal/hostile/mimic.dm | 2 +- code/modules/power/cell.dm | 6 +- .../boxes_magazines/_box_magazine.dm | 4 +- code/modules/projectiles/gun.dm | 14 +- code/modules/projectiles/guns/ballistic.dm | 36 +- .../projectiles/guns/ballistic/assault.dm | 29 +- .../projectiles/guns/ballistic/automatic.dm | 15 +- .../projectiles/guns/ballistic/gauss.dm | 42 ++- .../modules/projectiles/guns/ballistic/hmg.dm | 26 +- .../projectiles/guns/ballistic/launchers.dm | 20 +- .../projectiles/guns/ballistic/pistol.dm | 48 ++- .../projectiles/guns/ballistic/revolver.dm | 51 +-- .../projectiles/guns/ballistic/rifle.dm | 30 +- .../projectiles/guns/ballistic/shotgun.dm | 122 +++++-- .../modules/projectiles/guns/ballistic/smg.dm | 40 ++- .../modules/projectiles/guns/ballistic/toy.dm | 25 +- code/modules/projectiles/guns/energy.dm | 43 ++- .../projectiles/guns/energy/energy_gun.dm | 22 +- .../guns/energy/kinetic_accelerator.dm | 7 +- code/modules/projectiles/guns/energy/laser.dm | 20 +- .../projectiles/guns/energy/laser_gatling.dm | 5 +- code/modules/projectiles/guns/energy/pulse.dm | 25 +- .../projectiles/guns/energy/special.dm | 17 +- .../clip_lanchester/ballistics.dm | 44 ++- .../manufacturer/clip_lanchester/lasers.dm | 8 +- .../manufacturer/etherbor/energy_gunsword.dm | 19 +- .../frontier_import/ballistics.dm | 25 +- .../nanotrasen_sharplite/ballistics.dm | 9 +- .../manufacturer/scarborough/ballistics.dm | 120 ++++--- .../projectiles/guns/misc/beam_rifle.dm | 13 +- code/modules/projectiles/guns/misc/bow.dm | 5 +- code/modules/projectiles/guns/powered.dm | 26 +- code/modules/unit_tests/_unit_tests.dm | 1 + code/modules/unit_tests/gun_sanity.dm | 17 + 54 files changed, 862 insertions(+), 532 deletions(-) create mode 100644 code/modules/unit_tests/gun_sanity.dm diff --git a/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm b/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm index 87fc7ea3d267..92b840e05aa0 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm @@ -1066,7 +1066,7 @@ projectile_type = null }, /obj/item/gun/ballistic/automatic/smg/firestorm{ - spawnwithmagazine = 0 + default_ammo_type = 0 }, /turf/open/floor/wood/maple{ icon_state = "wood-broken4" diff --git a/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm b/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm index 8cc99b4a591a..24fea81ce05c 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm @@ -1116,7 +1116,7 @@ /area/ruin/unpowered/listening_post) "te" = ( /obj/item/gun/ballistic/automatic/smg/cobra{ - spawnwithmagazine = 0 + default_ammo_type = 0 }, /obj/item/ammo_box/magazine/m45_cobra{ start_empty = 1 diff --git a/_maps/shuttles/independent/independent_kilo.dmm b/_maps/shuttles/independent/independent_kilo.dmm index f9504be9d31e..43941169b66a 100644 --- a/_maps/shuttles/independent/independent_kilo.dmm +++ b/_maps/shuttles/independent/independent_kilo.dmm @@ -663,7 +663,7 @@ }, /obj/item/storage/box/ammo/a12g_rubbershot, /obj/item/gun/ballistic/shotgun/doublebarrel/presawn{ - spawnwithmagazine = 0 + default_ammo_type = 0 }, /obj/structure/cable/pink{ icon_state = "4-10" @@ -1876,7 +1876,7 @@ }, /obj/effect/decal/cleanable/oil, /obj/item/storage/box/ammo/a12g_buckshot, -/obj/item/gun/ballistic/shotgun/doublebarrel/no_mag, +/obj/item/gun/ballistic/shotgun/doublebarrel/empty, /turf/open/floor/plasteel/patterned, /area/ship/cargo) "Vd" = ( diff --git a/_maps/shuttles/inteq/inteq_talos.dmm b/_maps/shuttles/inteq/inteq_talos.dmm index 79ec309513f8..5df5060f6f06 100644 --- a/_maps/shuttles/inteq/inteq_talos.dmm +++ b/_maps/shuttles/inteq/inteq_talos.dmm @@ -5309,12 +5309,21 @@ /obj/structure/sign/poster/retro/lasergun_new{ pixel_x = -32 }, -/obj/item/gun/ballistic/shotgun/automatic/bulldog/inteq/no_mag{ - pixel_x = -8; - pixel_y = 8 +/obj/item/storage/guncase/inherit{ + pixel_x = 2; + pixel_y = -2 }, -/obj/item/gun/ballistic/shotgun/automatic/bulldog/inteq/no_mag{ - pixel_x = -12 +/obj/item/gun/ballistic/shotgun/automatic/bulldog/inteq/no_mag, +/obj/item/ammo_box/magazine/m12g_bulldog, +/obj/item/ammo_box/magazine/m12g_bulldog, +/obj/item/storage/guncase/inherit{ + pixel_y = 2; + pixel_x = -2 + }, +/obj/item/gun/ballistic/shotgun/automatic/bulldog/inteq/no_mag, +/obj/item/ammo_box/magazine/m12g_bulldog, +/obj/item/ammo_box/magazine/m12g_bulldog{ + pixel_y = -1 }, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) @@ -6534,25 +6543,9 @@ /obj/structure/sign/poster/official/ion_carbine{ pixel_x = -32 }, -/obj/item/ammo_box/magazine/m12g_bulldog{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/ammo_box/magazine/m12g_bulldog{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/ammo_box/magazine/m12g_bulldog{ - pixel_x = -5 - }, -/obj/item/ammo_box/magazine/m12g_bulldog{ - pixel_x = -5 - }, -/obj/item/ammo_box/magazine/co9mm{ - pixel_x = 5 - }, -/obj/item/ammo_box/magazine/co9mm{ - pixel_x = -5 +/obj/item/toy/plush/moth/deadhead{ + pixel_x = 3; + pixel_y = 3 }, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) @@ -7415,9 +7408,10 @@ /obj/structure/rack, /obj/effect/turf_decal/siding/thinplating/dark, /obj/effect/decal/cleanable/dirt, -/obj/item/gun/ballistic/automatic/pistol/commander/inteq{ - pixel_y = 5 - }, +/obj/item/storage/guncase/pistol/inherit, +/obj/item/gun/ballistic/automatic/pistol/commander/inteq, +/obj/item/ammo_box/magazine/co9mm, +/obj/item/ammo_box/magazine/co9mm, /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) "Wr" = ( diff --git a/_maps/shuttles/minutemen/minutemen_atlas.dmm b/_maps/shuttles/minutemen/minutemen_atlas.dmm index 407a8f00bcfe..325069e91a6e 100644 --- a/_maps/shuttles/minutemen/minutemen_atlas.dmm +++ b/_maps/shuttles/minutemen/minutemen_atlas.dmm @@ -278,7 +278,7 @@ name = "captain's locker"; req_access_txt = "20" }, -/obj/item/storage/pistolcase/cm23, +/obj/item/storage/guncase/pistol/cm23, /obj/item/clothing/suit/armor/clip_capcoat{ pixel_x = -14 }, @@ -746,7 +746,7 @@ name = "first officer's locker"; req_access_txt = "19" }, -/obj/item/storage/pistolcase/cm23{ +/obj/item/storage/guncase/pistol/cm23{ pixel_y = -4 }, /obj/item/clothing/head/clip/slouch/officer{ @@ -1165,7 +1165,7 @@ /obj/machinery/airalarm/directional/north, /obj/structure/guncloset, /obj/item/gun/ballistic/automatic/assault/cm82{ - spawnwithmagazine = 0; + default_ammo_type = 0; pixel_x = -4; pixel_y = 8 }, diff --git a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm index d70424c08c84..f50061aaa28f 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm @@ -243,7 +243,7 @@ /obj/item/gps, /obj/item/ammo_box/magazine/co9mm, /obj/item/storage/belt/security/webbing, -/obj/item/storage/pistolcase/commander, +/obj/item/storage/guncase/pistol/commander, /obj/item/clothing/glasses/hud/security/sunglasses, /obj/structure/window/reinforced/tinted{ dir = 4 @@ -4187,7 +4187,7 @@ pixel_x = 7; pixel_y = -20 }, -/obj/item/storage/pistolcase/egun, +/obj/item/storage/guncase/energy/egun, /obj/item/megaphone/command, /obj/structure/closet/secure_closet/lp/lieutenant, /obj/effect/turf_decal/techfloor{ @@ -6250,14 +6250,14 @@ name = "Armory"; req_ship_access = 1 }, -/obj/item/storage/pistolcase/commander, +/obj/item/storage/guncase/pistol/commander, /obj/item/ammo_box/magazine/co9mm, /obj/item/clothing/suit/armor/nanotrasen/slim, /obj/item/clothing/suit/armor/nanotrasen/slim, /obj/item/ammo_box/magazine/smgm9mm, /obj/item/ammo_box/magazine/smgm9mm, /obj/item/ammo_box/magazine/smgm9mm, -/obj/item/storage/pistolcase, +/obj/item/storage/guncase/pistol, /obj/effect/turf_decal/steeldecal/steel_decals10{ dir = 5 }, diff --git a/_maps/shuttles/roumain/srm_elder.dmm b/_maps/shuttles/roumain/srm_elder.dmm index 23c64f4681a6..24d00ebde456 100644 --- a/_maps/shuttles/roumain/srm_elder.dmm +++ b/_maps/shuttles/roumain/srm_elder.dmm @@ -2020,7 +2020,7 @@ }, /obj/item/storage/backpack/satchel/leather, /obj/item/storage/box/ammo/a44roum, -/obj/item/storage/pistolcase/montagne, +/obj/item/storage/guncase/pistol/montagne, /obj/item/clothing/accessory/waistcoat/roumain, /turf/open/floor/wood/mahogany, /area/ship/bridge) diff --git a/_maps/shuttles/solgov/solgov_chronicle.dmm b/_maps/shuttles/solgov/solgov_chronicle.dmm index f08281a47103..9a3be7fe22c1 100644 --- a/_maps/shuttles/solgov/solgov_chronicle.dmm +++ b/_maps/shuttles/solgov/solgov_chronicle.dmm @@ -272,7 +272,7 @@ /obj/item/clothing/suit/armor/solgov_trenchcoat, /obj/item/spacecash/bundle/loadsamoney, /obj/item/clothing/neck/cloak/solgovcap, -/obj/item/storage/pistolcase/modelh, +/obj/item/storage/guncase/pistol/modelh, /obj/item/storage/box/ammo/ferroslug, /turf/open/floor/carpet/royalblue, /area/ship/crew/office) diff --git a/_maps/shuttles/solgov/solgov_inkwell.dmm b/_maps/shuttles/solgov/solgov_inkwell.dmm index 1a38d735246b..0a63ed263799 100644 --- a/_maps/shuttles/solgov/solgov_inkwell.dmm +++ b/_maps/shuttles/solgov/solgov_inkwell.dmm @@ -5933,7 +5933,7 @@ /obj/item/fish_feed, /obj/item/pen/fountain/solgov, /obj/item/clothing/neck/cloak/solgovcap, -/obj/item/storage/pistolcase/modelh, +/obj/item/storage/guncase/pistol/modelh, /obj/item/storage/box/ammo/ferroslug, /turf/open/floor/wood/maple, /area/ship/crew/dorm/dormtwo) diff --git a/_maps/shuttles/solgov/solgov_paracelsus.dmm b/_maps/shuttles/solgov/solgov_paracelsus.dmm index e062f70d011d..4c749a5744fe 100644 --- a/_maps/shuttles/solgov/solgov_paracelsus.dmm +++ b/_maps/shuttles/solgov/solgov_paracelsus.dmm @@ -3581,7 +3581,7 @@ /obj/item/fish_feed, /obj/item/pen/fountain/solgov, /obj/item/clothing/neck/cloak/solgovcap, -/obj/item/storage/pistolcase/modelh, +/obj/item/storage/guncase/pistol/modelh, /obj/item/storage/box/ammo/ferroslug, /turf/open/floor/carpet/royalblue, /area/ship/crew) diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm index 7d0278f8b906..4aafbcf9dc72 100644 --- a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm @@ -64,7 +64,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/item/ammo_box/a357/match, /obj/item/pen/edagger, -/obj/item/storage/pistolcase/a357, +/obj/item/storage/guncase/pistol/a357, /obj/item/storage/box/ammo/a357, /turf/open/floor/carpet/black, /area/ship/bridge) @@ -2504,7 +2504,7 @@ /obj/item/clothing/suit/ngr, /obj/item/clothing/head/hardhat/ngr/foreman, /obj/item/tank/jetpack/suit, -/obj/item/storage/pistolcase/ringneck, +/obj/item/storage/guncase/pistol/ringneck, /turf/open/floor/carpet/red, /area/ship/cargo/office) "QW" = ( diff --git a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm index 3a3438c8f2f8..111dd2f22690 100644 --- a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm +++ b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm @@ -1809,7 +1809,7 @@ /obj/item/codespeak_manual{ charges = 2 }, -/obj/item/storage/pistolcase/a357, +/obj/item/storage/guncase/pistol/a357, /obj/item/megaphone/sec{ name = "syndicate megaphone" }, @@ -7375,7 +7375,7 @@ keyslot = null }, /obj/item/storage/belt/sabre/solgov, -/obj/item/storage/pistolcase/modelh, +/obj/item/storage/guncase/pistol/modelh, /obj/item/storage/box/ammo/ferroslug, /turf/open/floor/mineral/plastitanium, /area/ship/bridge) @@ -8865,7 +8865,7 @@ /obj/item/megaphone/sec{ name = "syndicate megaphone" }, -/obj/item/storage/pistolcase/ringneck, +/obj/item/storage/guncase/pistol/ringneck, /obj/item/clothing/head/HoS/beret/syndicate, /obj/item/radio/headset/syndicate/alt/leader, /obj/item/clothing/gloves/krav_maga/combatglovesplus, diff --git a/check_regex.yaml b/check_regex.yaml index a4e63a1762f8..a9ed6b699d7f 100644 --- a/check_regex.yaml +++ b/check_regex.yaml @@ -29,7 +29,7 @@ standards: - exactly: [1, "/area text paths", '"/area'] - exactly: [16, "/datum text paths", '"/datum'] - exactly: [4, "/mob text paths", '"/mob'] - - exactly: [35, "/obj text paths", '"/obj'] + - exactly: [33, "/obj text paths", '"/obj'] - exactly: [0, "/turf text paths", '"/turf'] - exactly: [114, "text2path uses", "text2path"] diff --git a/code/__DEFINES/guns.dm b/code/__DEFINES/guns.dm index 26f7cfbfb6a9..2804ecab6bfd 100644 --- a/code/__DEFINES/guns.dm +++ b/code/__DEFINES/guns.dm @@ -158,10 +158,6 @@ ///ammo box will have a different state for full and empty; -max_ammo and -0 #define AMMO_BOX_FULL_EMPTY 2 -#define MAG_SIZE_SMALL 1 -#define MAG_SIZE_MEDIUM 2 -#define MAG_SIZE_LARGE 3 - //Projectile Reflect #define REFLECT_NORMAL (1<<0) #define REFLECT_FAKEPROJECTILE (1<<1) diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 5df6e5fce6b3..5d89f33549d3 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -1283,7 +1283,7 @@ DEFINE_BITFIELD(turret_flags, list( /obj/item/gun/ballistic/get_turret_properties() . = ..() - var/obj/item/ammo_box/mag = mag_type + var/obj/item/ammo_box/mag = default_ammo_type var/obj/item/ammo_casing/primary_ammo = initial(mag.ammo_type) .["base_icon_state"] = "syndie" diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index cc742c409f0e..9f69bb5748c8 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -666,7 +666,7 @@ else if(istype(AM, /obj/item/mod/control) && !storage) AM.forceMove(src) mod = AM - else if(istype(AM, /obj/item) && !storage) + else if(istype(AM, /obj/item) && !AM.anchored && !storage) AM.forceMove(src) storage = AM update_appearance() diff --git a/code/game/objects/items/storage/guncases.dm b/code/game/objects/items/storage/guncases.dm index 947ed3d8b914..c846dd36b050 100644 --- a/code/game/objects/items/storage/guncases.dm +++ b/code/game/objects/items/storage/guncases.dm @@ -13,209 +13,183 @@ hitsound = 'sound/weapons/smash.ogg' drop_sound = 'sound/items/handling/toolbox_drop.ogg' pickup_sound = 'sound/items/handling/toolbox_pickup.ogg' + var/max_items = 10 + var/max_w_class = WEIGHT_CLASS_BULKY + var/gun_type + var/mag_type + var/mag_count = 2 + var/ammoless = TRUE + var/grab_loc = FALSE + var/holdable_items = list( + /obj/item/gun, + /obj/item/ammo_box, + /obj/item/stock_parts/cell/gun + ) + +/obj/item/storage/guncase/Initialize(mapload) + . = ..() + if(mapload && grab_loc) + var/items_eaten = 0 + for(var/obj/item/I in loc) + if(I.w_class > max_w_class) + continue + if(is_type_in_list(I, holdable_items)) + I.forceMove(src) + items_eaten++ + if(items_eaten >= mag_count + 1) + break /obj/item/storage/guncase/ComponentInitialize() . = ..() var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 10 - STR.max_w_class = WEIGHT_CLASS_BULKY - STR.set_holdable(list( - /obj/item/gun, - /obj/item/ammo_box, - /obj/item/stock_parts/cell/gun - )) + STR.max_items = max_items + STR.max_w_class = max_w_class + STR.set_holdable(holdable_items) + +/obj/item/storage/guncase/PopulateContents() + if(grab_loc) + return + if(gun_type) + new gun_type(src, ammoless) + if(mag_type) + for(var/i in 1 to mag_count) + if(ispath(mag_type, /obj/item/ammo_box) | ispath(mag_type, /obj/item/stock_parts/cell)) + new mag_type(src, ammoless) + +/// Need to double check this in a seperate pr that adds this to a few ships +/// Eats the items on its tile +/obj/item/storage/guncase/inherit + grab_loc = TRUE /obj/item/storage/guncase/winchester -/obj/item/storage/guncase/winchester/PopulateContents() - new /obj/item/gun/ballistic/shotgun/flamingarrow/no_mag(src) + gun_type = /obj/item/gun/ballistic/shotgun/flamingarrow /obj/item/storage/guncase/conflagration -/obj/item/storage/guncase/conflagration/PopulateContents() - new /obj/item/gun/ballistic/shotgun/flamingarrow/conflagration/no_mag(src) + gun_type = /obj/item/gun/ballistic/shotgun/flamingarrow/conflagration /obj/item/storage/guncase/absolution -/obj/item/storage/guncase/absolution/PopulateContents() - new /obj/item/gun/ballistic/shotgun/flamingarrow/absolution/no_mag(src) + gun_type = /obj/item/gun/ballistic/shotgun/flamingarrow/absolution /obj/item/storage/guncase/skm -/obj/item/storage/guncase/skm/PopulateContents() - new /obj/item/gun/ballistic/automatic/assault/skm/no_mag(src) - new /obj/item/ammo_box/magazine/skm_762_40/empty(src) - new /obj/item/ammo_box/magazine/skm_762_40/empty(src) + gun_type = /obj/item/gun/ballistic/automatic/assault/skm + mag_type = /obj/item/ammo_box/magazine/skm_762_40 /obj/item/storage/guncase/p16 -/obj/item/storage/guncase/p16/PopulateContents() - new /obj/item/gun/ballistic/automatic/assault/p16/no_mag(src) - new /obj/item/ammo_box/magazine/p16/empty(src) - new /obj/item/ammo_box/magazine/p16/empty(src) + gun_type = /obj/item/gun/ballistic/automatic/assault/p16 + mag_type = /obj/item/ammo_box/magazine/p16 /obj/item/storage/guncase/beacon -/obj/item/storage/guncase/beacon/PopulateContents() - new /obj/item/gun/ballistic/shotgun/doublebarrel/beacon/no_mag(src) + gun_type = /obj/item/gun/ballistic/shotgun/doublebarrel/beacon /obj/item/storage/guncase/scout -/obj/item/storage/guncase/scout/PopulateContents() - new /obj/item/gun/ballistic/rifle/scout/no_mag(src) - new /obj/item/ammo_box/a300/empty(src) - new /obj/item/ammo_box/a300/empty(src) + gun_type = /obj/item/gun/ballistic/rifle/scout + mag_type = /obj/item/ammo_box/a300 /obj/item/storage/guncase/boomslang -/obj/item/storage/guncase/boomslang/PopulateContents() - new /obj/item/gun/ballistic/automatic/marksman/boomslang/indie/no_mag(src) - new /obj/item/ammo_box/magazine/boomslang/short/empty(src) - new /obj/item/ammo_box/magazine/boomslang/short/empty(src) + gun_type = /obj/item/gun/ballistic/automatic/marksman/boomslang/indie + mag_type = /obj/item/ammo_box/magazine/boomslang/short /obj/item/storage/guncase/cobra -/obj/item/storage/guncase/cobra/PopulateContents() - new /obj/item/gun/ballistic/automatic/smg/cobra/indie/no_mag(src) - new /obj/item/ammo_box/magazine/m45_cobra/empty(src) - new /obj/item/ammo_box/magazine/m45_cobra/empty(src) + gun_type = /obj/item/gun/ballistic/automatic/smg/cobra/indie + mag_type = /obj/item/ammo_box/magazine/m45_cobra /obj/item/storage/guncase/hellfire -/obj/item/storage/guncase/hellfire/PopulateContents() - new /obj/item/gun/ballistic/shotgun/hellfire/no_mag(src) + gun_type = /obj/item/gun/ballistic/shotgun/hellfire /obj/item/storage/guncase/doublebarrel -/obj/item/storage/guncase/doublebarrel/PopulateContents() - new /obj/item/gun/ballistic/shotgun/doublebarrel/no_mag(src) + gun_type = /obj/item/gun/ballistic/shotgun/doublebarrel /obj/item/storage/guncase/brimstone -/obj/item/storage/guncase/brimstone/PopulateContents() - new /obj/item/gun/ballistic/shotgun/brimstone/no_mag(src) + gun_type = /obj/item/gun/ballistic/shotgun/brimstone /obj/item/storage/guncase/illestren -/obj/item/storage/guncase/illestren/PopulateContents() - new /obj/item/gun/ballistic/rifle/illestren/empty(src) - new /obj/item/ammo_box/magazine/illestren_a850r/empty(src) - new /obj/item/ammo_box/magazine/illestren_a850r/empty(src) + gun_type = /obj/item/gun/ballistic/rifle/illestren + mag_type = /obj/item/ammo_box/magazine/illestren_a850r /obj/item/storage/guncase/wt550 -/obj/item/storage/guncase/wt550/PopulateContents() - new /obj/item/gun/ballistic/automatic/smg/wt550/no_mag(src) - new /obj/item/ammo_box/magazine/wt550m9/empty(src) - new /obj/item/ammo_box/magazine/wt550m9/empty(src) + gun_type = /obj/item/gun/ballistic/automatic/smg/wt550 + mag_type = /obj/item/ammo_box/magazine/wt550m9 -/obj/item/storage/pistolcase +/obj/item/storage/guncase/pistol name = "pistol case" desc = "A large box designed for holding pistols and magazines safely." - icon = 'icons/obj/guncase.dmi' - icon_state = "guncase" - item_state = "infiltrator_case" - force = 12 - throwforce = 12 - throw_speed = 2 - w_class = WEIGHT_CLASS_BULKY - attack_verb = list("robusted") - hitsound = 'sound/weapons/smash.ogg' - drop_sound = 'sound/items/handling/toolbox_drop.ogg' - pickup_sound = 'sound/items/handling/toolbox_pickup.ogg' + max_items = 8 + max_w_class = WEIGHT_CLASS_NORMAL -/obj/item/storage/pistolcase/ComponentInitialize() - . = ..() - var/datum/component/storage/STR = GetComponent(/datum/component/storage) - STR.max_items = 8 - STR.max_w_class = WEIGHT_CLASS_NORMAL - STR.set_holdable(list( - /obj/item/gun, - /obj/item/ammo_box/, - /obj/item/stock_parts/cell/gun - )) - -/obj/item/storage/pistolcase/modelh -/obj/item/storage/pistolcase/modelh/PopulateContents() - new /obj/item/gun/ballistic/automatic/powered/gauss/modelh/no_mag(src) - new /obj/item/ammo_box/magazine/modelh/empty(src) - new /obj/item/ammo_box/magazine/modelh/empty(src) - -/obj/item/storage/pistolcase/ringneck -/obj/item/storage/pistolcase/ringneck/PopulateContents() - new /obj/item/gun/ballistic/automatic/pistol/ringneck/indie/no_mag(src) - new /obj/item/ammo_box/magazine/m10mm_ringneck/empty(src) - new /obj/item/ammo_box/magazine/m10mm_ringneck/empty(src) - -/obj/item/storage/pistolcase/candor -/obj/item/storage/pistolcase/candor/PopulateContents() - new /obj/item/gun/ballistic/automatic/pistol/candor/no_mag(src) - new /obj/item/ammo_box/magazine/m45/empty(src) - new /obj/item/ammo_box/magazine/m45/empty(src) - -/obj/item/storage/pistolcase/detective -/obj/item/storage/pistolcase/detective/PopulateContents() - new /obj/item/gun/ballistic/revolver/detective/no_mag(src) - new /obj/item/ammo_box/c38/empty(src) - new /obj/item/ammo_box/c38/empty(src) - -/obj/item/storage/pistolcase/shadow -/obj/item/storage/pistolcase/shadow/PopulateContents() - new /obj/item/gun/ballistic/revolver/shadow/no_mag(src) - -/obj/item/storage/pistolcase/viper -/obj/item/storage/pistolcase/viper/PopulateContents() - new /obj/item/gun/ballistic/revolver/viper/indie/no_mag(src) - -/obj/item/storage/pistolcase/commander -/obj/item/storage/pistolcase/commander/PopulateContents() - new /obj/item/gun/ballistic/automatic/pistol/commander/no_mag(src) - new /obj/item/ammo_box/magazine/co9mm/empty(src) - new /obj/item/ammo_box/magazine/co9mm/empty(src) - -/obj/item/storage/pistolcase/firebrand -/obj/item/storage/pistolcase/firebrand/PopulateContents() - new /obj/item/gun/ballistic/revolver/firebrand/no_mag(src) - -/obj/item/storage/pistolcase/derringer -/obj/item/storage/pistolcase/derringer/PopulateContents() - new /obj/item/gun/ballistic/derringer/no_mag(src) - -/obj/item/storage/pistolcase/a357 -/obj/item/storage/pistolcase/a357/PopulateContents() - new /obj/item/gun/ballistic/revolver/viper/no_mag(src) - new /obj/item/ammo_box/a357/empty(src) - new /obj/item/ammo_box/a357/empty(src) - -/obj/item/storage/pistolcase/montagne -/obj/item/storage/pistolcase/montagne/PopulateContents() - new /obj/item/gun/ballistic/revolver/montagne/no_mag(src) - new /obj/item/ammo_box/a44roum_speedloader/empty(src) - new /obj/item/ammo_box/a44roum_speedloader/empty(src) - -/obj/item/storage/pistolcase/disposable -/obj/item/storage/pistolcase/disposable/PopulateContents() +/// Need to double check this in a seperate pr that adds this to a few ships +/// Eats the items on its tile +/obj/item/storage/guncase/pistol/inherit + grab_loc = TRUE + +/obj/item/storage/guncase/pistol/modelh + gun_type = /obj/item/gun/ballistic/automatic/powered/gauss/modelh + mag_type = /obj/item/ammo_box/magazine/modelh + +/obj/item/storage/guncase/pistol/ringneck + gun_type = /obj/item/gun/ballistic/automatic/pistol/ringneck/indie + mag_type = /obj/item/ammo_box/magazine/m10mm_ringneck + +/obj/item/storage/guncase/pistol/candor + gun_type = /obj/item/gun/ballistic/automatic/pistol/candor + mag_type = /obj/item/ammo_box/magazine/m45 + +/obj/item/storage/guncase/pistol/detective + gun_type = /obj/item/gun/ballistic/revolver/detective + mag_type = /obj/item/ammo_box/c38 + +/obj/item/storage/guncase/pistol/shadow + gun_type = /obj/item/gun/ballistic/revolver/shadow + +/obj/item/storage/guncase/pistol/viper + gun_type = /obj/item/gun/ballistic/revolver/viper/indie + +/obj/item/storage/guncase/pistol/commander + gun_type = /obj/item/gun/ballistic/automatic/pistol/commander + mag_type = /obj/item/ammo_box/magazine/co9mm + +/obj/item/storage/guncase/pistol/firebrand + gun_type = /obj/item/gun/ballistic/revolver/firebrand + +/obj/item/storage/guncase/pistol/derringer + gun_type = /obj/item/gun/ballistic/derringer + +/obj/item/storage/guncase/pistol/a357 + gun_type = /obj/item/gun/ballistic/revolver/viper + mag_type = /obj/item/ammo_box/a357/empty + +/obj/item/storage/guncase/pistol/montagne + gun_type = /obj/item/gun/ballistic/revolver/montagne + mag_type = /obj/item/ammo_box/a44roum_speedloader + +/obj/item/storage/guncase/pistol/cm23 + gun_type = /obj/item/gun/ballistic/automatic/pistol/cm23 + mag_type = /obj/item/ammo_box/magazine/cm23 + +/obj/item/storage/guncase/pistol/disposable +/obj/item/storage/guncase/pistol/disposable/PopulateContents() new /obj/item/gun/ballistic/automatic/pistol/disposable(src) new /obj/item/gun/ballistic/automatic/pistol/disposable(src) -/obj/item/storage/pistolcase/laser -/obj/item/storage/pistolcase/laser/PopulateContents() - new /obj/item/gun/energy/laser/empty_cell(src) - new /obj/item/stock_parts/cell/gun(src) - -/obj/item/storage/pistolcase/egun -/obj/item/storage/pistolcase/egun/PopulateContents() - new /obj/item/gun/energy/e_gun/empty_cell(src) - new /obj/item/stock_parts/cell/gun(src) - -/obj/item/storage/pistolcase/kalixpistol -/obj/item/storage/pistolcase/kalixpistol/PopulateContents() - new /obj/item/gun/energy/kalix/pistol/empty_cell(src) - new /obj/item/stock_parts/cell/gun/kalix(src) - -/obj/item/storage/guncase/kalixrifle -/obj/item/storage/guncase/kalixrifle/PopulateContents() - new /obj/item/gun/energy/kalix/empty_cell(src) - new /obj/item/stock_parts/cell/gun/kalix(src) - -/obj/item/storage/pistolcase/miniegun -/obj/item/storage/pistolcase/miniegun/PopulateContents() - new /obj/item/gun/energy/e_gun/mini/empty_cell(src) - new /obj/item/stock_parts/cell/gun/mini(src) - -/obj/item/storage/pistolcase/iongun -/obj/item/storage/pistolcase/iongun/PopulateContents() - new /obj/item/gun/energy/ionrifle/empty_cell(src) - new /obj/item/stock_parts/cell/gun(src) - -/obj/item/storage/pistolcase/cm23/PopulateContents() - . = ..() - new /obj/item/gun/ballistic/automatic/pistol/cm23/no_mag(src) - new /obj/item/ammo_box/magazine/cm23/empty(src) - new /obj/item/ammo_box/magazine/cm23/empty(src) +/obj/item/storage/guncase/pistol/kalixpistol + gun_type = /obj/item/gun/energy/kalix/pistol + mag_type = /obj/item/stock_parts/cell/gun/kalix + +/obj/item/storage/guncase/pistol/miniegun + gun_type = /obj/item/gun/energy/e_gun/mini + mag_type = /obj/item/stock_parts/cell/gun/mini + +/obj/item/storage/guncase/energy + mag_type = /obj/item/stock_parts/cell/gun + +/obj/item/storage/guncase/energy/laser + gun_type = /obj/item/gun/energy/laser + +/obj/item/storage/guncase/energy/egun + gun_type = /obj/item/gun/energy/e_gun + +/obj/item/storage/guncase/energy/kalixrifle + gun_type = /obj/item/gun/energy/kalix + mag_type = /obj/item/stock_parts/cell/gun/kalix + +/obj/item/storage/guncase/energy/iongun + gun_type = /obj/item/gun/energy/ionrifle diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm index 5fc667c4db4a..cde1ad6a4de1 100644 --- a/code/modules/awaymissions/capture_the_flag.dm +++ b/code/modules/awaymissions/capture_the_flag.dm @@ -406,7 +406,10 @@ /obj/item/gun/ballistic/automatic/pistol/deagle/ctf desc = "This looks like it could really hurt in melee." force = 75 - mag_type = /obj/item/ammo_box/magazine/m50/ctf + default_ammo_type = /obj/item/ammo_box/magazine/m50/ctf + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m50/ctf, + ) /obj/item/gun/ballistic/automatic/pistol/deagle/ctf/dropped() . = ..() @@ -432,7 +435,10 @@ . = ..() /obj/item/gun/ballistic/automatic/laser/ctf - mag_type = /obj/item/ammo_box/magazine/recharge/ctf + default_ammo_type = /obj/item/ammo_box/magazine/recharge/ctf + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/recharge/ctf, + ) desc = "This looks like it could really hurt in melee." force = 50 @@ -480,7 +486,10 @@ // RED TEAM GUNS /obj/item/gun/ballistic/automatic/laser/ctf/red - mag_type = /obj/item/ammo_box/magazine/recharge/ctf/red + default_ammo_type = /obj/item/ammo_box/magazine/recharge/ctf/red + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/recharge/ctf/red, + ) /obj/item/ammo_box/magazine/recharge/ctf/red ammo_type = /obj/item/ammo_casing/caseless/laser/ctf/red @@ -495,7 +504,10 @@ // BLUE TEAM GUNS /obj/item/gun/ballistic/automatic/laser/ctf/blue - mag_type = /obj/item/ammo_box/magazine/recharge/ctf/blue + default_ammo_type = /obj/item/ammo_box/magazine/recharge/ctf/blue + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/recharge/ctf/blue, + ) /obj/item/ammo_box/magazine/recharge/ctf/blue ammo_type = /obj/item/ammo_casing/caseless/laser/ctf/blue diff --git a/code/modules/cargo/packs/gun.dm b/code/modules/cargo/packs/gun.dm index acc0be4e62e8..9a35b8778e76 100644 --- a/code/modules/cargo/packs/gun.dm +++ b/code/modules/cargo/packs/gun.dm @@ -10,7 +10,7 @@ name = "Disposable Gun Crate" desc = "In some sectors, these disposable pistols are the only firearms that can be legally sold for less than 200cr. That price is still far too high." cost = 300 - contains = list(/obj/item/storage/pistolcase/disposable) + contains = list(/obj/item/storage/guncase/pistol/disposable) crate_name = "disposable gun crate" faction = FACTION_FRONTIER @@ -18,7 +18,7 @@ name = ".38 Derringer Crate" desc = "A cheap, concealable pistol manufactured by the reputable Hunter's Pride. At least it's better than a disposable pistol. Chambered in .38 rounds." cost = 350 - contains = list(/obj/item/storage/pistolcase/derringer) + contains = list(/obj/item/storage/guncase/pistol/derringer) crate_name = "derringer crate" faction = FACTION_SRM @@ -26,49 +26,49 @@ name = "Commander Pistol Crate" desc = "Contains a modified Candor 'Commander' pistol, produced by Nanotrasen and chambered in 9mm." cost = 750 - contains = list(/obj/item/storage/pistolcase/commander) + contains = list(/obj/item/storage/guncase/pistol/commander) faction = FACTION_NT /datum/supply_pack/gun/ringneck name = "Ringneck Pistol Crate" desc = "Contains a civilian variant of the Ringneck pistol, produced by Scarborough Arms and chambered in 10mm." cost = 1000 - contains = list(/obj/item/storage/pistolcase/ringneck) + contains = list(/obj/item/storage/guncase/pistol/ringneck) faction = FACTION_SYNDICATE /datum/supply_pack/gun/candors name = "Candor Pistol Crate" desc = "Contains a Candor pistol, the trusty sidearm of any spacer, produced by Hunter's Pride and chambered in .45 ACP." cost = 1000 - contains = list(/obj/item/storage/pistolcase/candor) + contains = list(/obj/item/storage/guncase/pistol/candor) faction = FACTION_SRM /datum/supply_pack/gun/pepperbox name = "HP Firebrand Pepperbox Revolver Crate" desc = "Contains a concealable pepperbox revolver manufactured by the Saint Roumain Militia, chambered in .357." cost = 1250 - contains = list(/obj/item/storage/pistolcase/firebrand) + contains = list(/obj/item/storage/guncase/pistol/firebrand) faction = FACTION_SRM /datum/supply_pack/gun/detrevolver name = "Hunter's Pride Detective Revolver Crate" desc = "Contains a concealable revolver favored by police departments around the sector, chambered in .38." cost = 600 - contains = list(/obj/item/storage/pistolcase/detective) + contains = list(/obj/item/storage/guncase/pistol/detective) faction = FACTION_SRM /datum/supply_pack/gun/shadowrevolver name = "Shadow Revolver Crate" desc = "Contains a concealable Shadow revolver, chambered in .44 Roumain." cost = 1000 - contains = list(/obj/item/storage/pistolcase/shadow) + contains = list(/obj/item/storage/guncase/pistol/shadow) faction = FACTION_SRM /datum/supply_pack/gun/viperrevolver name = "Viper-23 Revolver Crate" desc = "Contains a a civilian variant of the Viper revolver, chambered in .357 magnum." cost = 2500 - contains = list(/obj/item/storage/pistolcase/viper) + contains = list(/obj/item/storage/guncase/pistol/viper) /* Energy @@ -78,21 +78,21 @@ name = "Laser Gun Crate" desc = "Contains a lethal, high-energy laser gun." cost = 1000 - contains = list(/obj/item/storage/pistolcase/laser) + contains = list(/obj/item/storage/guncase/energy/laser) crate_name = "laser crate" /datum/supply_pack/gun/mini_energy name = "Mini Energy Gun Crate" desc = "Contains a small, versatile energy gun, capable of firing both nonlethal and lethal blasts, but with a limited power cell." cost = 500 - contains = list(/obj/item/storage/pistolcase/miniegun) + contains = list(/obj/item/storage/guncase/pistol/miniegun) crate_name = "laser crate" /datum/supply_pack/gun/energy name = "Energy Gun Crate" desc = "Contains a versatile energy gun, capable of firing both nonlethal and lethal blasts of light." cost = 1250 - contains = list(/obj/item/storage/pistolcase/egun) + contains = list(/obj/item/storage/guncase/energy/egun) crate_name = "energy gun crate" crate_type = /obj/structure/closet/crate/secure/plasma @@ -100,7 +100,7 @@ name = "Ion Rifle Crate" desc = "Contains a single Mk.I Ion Projector, a special anti-tank rifle designed to disable electronic threats at range." cost = 10000 - contains = list(/obj/item/storage/pistolcase/iongun) + contains = list(/obj/item/storage/guncase/energy/iongun) crate_name = "ion rifle crate" crate_type = /obj/structure/closet/crate/secure/plasma @@ -108,14 +108,14 @@ name = "Etherbor SG-8 Beam Pistol Crate" desc = "Contains a single SG-8 Beam Pistol, a civilian-grade sidearm developed in the PGF, manufactured by Etherbor Industries." cost = 1000 - contains = list(/obj/item/storage/pistolcase/kalixpistol) + contains = list(/obj/item/storage/guncase/pistol/kalixpistol) crate_name = "beam pistol crate" /datum/supply_pack/gun/laser/kalix name = "Etherbor BG-12 Beam Rifle Crate" desc = "Contains a single BG-12 Beam Rifle, a civilian-grade semi-automatic developed in the PGF, manufactured by Etherbor Industries." cost = 3000 - contains = list(/obj/item/storage/guncase/kalixrifle) + contains = list(/obj/item/storage/guncase/energy/kalixrifle) crate_name = "beam rifle crate" /* diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 8703d3c76a86..4ddcb5275784 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -849,7 +849,7 @@ slot_flags = ITEM_SLOT_BELT fire_delay = 0.1 SECONDS recoil = 1 - cell_type = /obj/item/stock_parts/cell/gun + default_ammo_type = /obj/item/stock_parts/cell/gun ammo_type = list(/obj/item/ammo_casing/energy/spur) supports_variations = VOX_VARIATION var/chargesound diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index 53825863281e..7b8bb392f1f9 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -224,7 +224,7 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca TrueGun = G if(istype(G, /obj/item/gun/ballistic)) Pewgun = G - var/obj/item/ammo_box/magazine/M = Pewgun.mag_type + var/obj/item/ammo_box/magazine/M = Pewgun.default_ammo_type casingtype = initial(M.ammo_type) if(istype(G, /obj/item/gun/energy)) Zapgun = G diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 74f6d8f3fe6f..0e29e53da52e 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -29,13 +29,15 @@ /obj/item/stock_parts/cell/get_cell() return src -/obj/item/stock_parts/cell/Initialize(mapload, override_maxcharge) +/obj/item/stock_parts/cell/Initialize(mapload, spawn_empty, override_maxcharge) . = ..() START_PROCESSING(SSobj, src) create_reagents(5, INJECTABLE | DRAINABLE) if (override_maxcharge) maxcharge = override_maxcharge charge = maxcharge + if(spawn_empty) + charge = 0 if(ratingdesc) desc += " This one has a rating of [DisplayEnergy(maxcharge)], and you should not swallow it." update_appearance() @@ -398,6 +400,8 @@ chargerate = 1500 rating = 0 //Makes it incompatible with RPED +/obj/item/stock_parts/cell/gun/empty + /obj/item/stock_parts/cell/gun/empty/Initialize() . = ..() charge = 0 diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index 8a7297346c3d..6acd96ae0316 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -36,8 +36,10 @@ ///cost of the materials in the magazine/box itself var/list/base_cost -/obj/item/ammo_box/Initialize() +/obj/item/ammo_box/Initialize(mapload, spawn_empty) . = ..() + if(spawn_empty) + start_empty = TRUE if(!base_icon_state) base_icon_state = icon_state diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index ae6131981fd9..ea8d5fcbfff2 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -56,7 +56,8 @@ //BALLISTIC ///Compatible magazines with the gun - var/mag_type = /obj/item/ammo_box/magazine/m10mm_ringneck //Removes the need for max_ammo and caliber info + var/default_ammo_type + var/allowed_ammo_types ///Whether the gun alarms when empty or not. var/empty_alarm = FALSE ///Do we eject the magazine upon runing out of ammo? @@ -99,7 +100,6 @@ //ENERGY //What type of power cell this uses var/obj/item/stock_parts/cell/gun/cell - var/cell_type = /obj/item/stock_parts/cell/gun //Can it be charged in a recharger? var/can_charge = TRUE var/selfcharge = FALSE @@ -107,8 +107,6 @@ var/charge_delay = 4 //whether the gun's cell drains the cyborg user's cell to recharge var/use_cyborg_cell = FALSE - ///Used for large and small cells - var/mag_size = MAG_SIZE_MEDIUM //Time it takes to unscrew the cell var/unscrewing_time = 2 SECONDS @@ -295,13 +293,9 @@ ///Attachments spawned on initialization. Should also be in valid attachments or it SHOULD(once i add that) fail var/list/default_attachments = list() -//BALLISTIC - ///Whether the gun will spawn loaded with a magazine - var/spawnwithmagazine = TRUE - //ENERGY //set to true so the gun is given an empty cell - var/dead_cell = FALSE + var/spawn_no_ammo = FALSE // Need to sort ///trigger guard on the weapon. Used for hulk mutations and ashies. I honestly dont know how usefult his is, id avoid touching it @@ -325,7 +319,7 @@ ///This prevents gun from firing until the coodown is done, affected by lag var/current_cooldown = 0 -/obj/item/gun/Initialize() +/obj/item/gun/Initialize(mapload, spawn_empty) . = ..() RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index 877079684ed2..0fbf50157c8f 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -1,6 +1,11 @@ -#define EMPTY_GUN_HELPER(gun_type) \ +#define NO_MAG_GUN_HELPER(gun_type) \ /obj/item/gun/ballistic/##gun_type/no_mag { \ - spawnwithmagazine = FALSE; \ + default_ammo_type = FALSE; \ + } + +#define EMPTY_GUN_HELPER(gun_type) \ + /obj/item/gun/ballistic/##gun_type/empty { \ + spawn_no_ammo = TRUE; \ } ///Subtype for any kind of ballistic gun @@ -36,18 +41,26 @@ ) ) -/obj/item/gun/ballistic/Initialize() +/obj/item/gun/ballistic/Initialize(mapload, spawn_empty) . = ..() - if (!spawnwithmagazine && !ispath(mag_type, /obj/item/ammo_box/magazine/internal)) + if(spawn_empty) + if(internal_magazine) + spawn_no_ammo = TRUE + else + default_ammo_type = FALSE + + if (!default_ammo_type && !internal_magazine) bolt_locked = TRUE update_appearance() return - if (!magazine) - magazine = new mag_type(src) - if (!spawnwithmagazine) - get_ammo_list (drop_all = TRUE) - chamber_round() + if (ispath(default_ammo_type)) + magazine = new default_ammo_type(src) + if (spawn_no_ammo) + get_ammo_list(drop_all = TRUE) + else + chamber_round() update_appearance() + /obj/item/gun/ballistic/update_icon_state() if(current_skin) icon_state = "[unique_reskin[current_skin]][sawn_off ? "_sawn" : ""]" @@ -146,7 +159,7 @@ ///Handles all the logic needed for magazine insertion /obj/item/gun/ballistic/proc/insert_magazine(mob/user, obj/item/ammo_box/magazine/inserted_mag, display_message = TRUE) - if(!istype(inserted_mag, mag_type)) + if(!(inserted_mag.type in allowed_ammo_types)) to_chat(user, "\The [inserted_mag] doesn't seem to fit into \the [src]...") return FALSE if(user.transferItemToLoc(inserted_mag, src)) @@ -340,7 +353,8 @@ rounds.Add(chambered) if(drop_all) chambered = null - rounds.Add(magazine.ammo_list(drop_all)) + if(magazine) + rounds.Add(magazine.ammo_list(drop_all)) return rounds /obj/item/gun/ballistic/blow_up(mob/user) diff --git a/code/modules/projectiles/guns/ballistic/assault.dm b/code/modules/projectiles/guns/ballistic/assault.dm index 4570be971fda..091c1aba92ba 100644 --- a/code/modules/projectiles/guns/ballistic/assault.dm +++ b/code/modules/projectiles/guns/ballistic/assault.dm @@ -43,7 +43,10 @@ w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK manufacturer = MANUFACTURER_IMPORT - mag_type = /obj/item/ammo_box/magazine/skm_762_40 + default_ammo_type = /obj/item/ammo_box/magazine/skm_762_40 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/skm_762_40, + ) spread = 1 wield_delay = 0.7 SECONDS @@ -51,7 +54,7 @@ fire_delay = 0.2 SECONDS /obj/item/gun/ballistic/automatic/assault/skm/no_mag - spawnwithmagazine = FALSE + default_ammo_type = FALSE /obj/item/gun/ballistic/automatic/assault/skm/pirate name = "\improper Chopper" @@ -84,7 +87,10 @@ show_magazine_on_sprite = TRUE w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK - mag_type = /obj/item/ammo_box/magazine/p16 + default_ammo_type = /obj/item/ammo_box/magazine/p16 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/p16, + ) spread = 2 wield_delay = 0.5 SECONDS @@ -97,7 +103,7 @@ eject_empty_sound = 'sound/weapons/gun/rifle/m16_unload.ogg' /obj/item/gun/ballistic/automatic/assault/p16/no_mag - spawnwithmagazine = FALSE + default_ammo_type = FALSE /obj/item/gun/ballistic/automatic/assault/cm82 name = "\improper CM-16" @@ -133,7 +139,10 @@ w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK - mag_type = /obj/item/ammo_box/magazine/swiss + default_ammo_type = /obj/item/ammo_box/magazine/swiss + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/swiss, + ) manufacturer = MANUFACTURER_SOLARARMORIES spread = 8 spread_unwielded = 15 @@ -150,7 +159,10 @@ mob_overlay_icon = 'icons/obj/guns/manufacturer/eoehoma/onmob.dmi' icon_state = "e40" item_state = "e40" - mag_type = /obj/item/ammo_box/magazine/e40 + default_ammo_type = /obj/item/ammo_box/magazine/e40 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/e40, + ) var/obj/item/gun/energy/laser/e40_laser_secondary/secondary fire_select_icon_state_prefix = "e40_" @@ -310,7 +322,10 @@ weapon_weight = WEAPON_MEDIUM w_class = WEIGHT_CLASS_BULKY internal_magazine = TRUE - mag_type = /obj/item/ammo_box/magazine/internal/vickland + default_ammo_type = /obj/item/ammo_box/magazine/internal/vickland + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/vickland, + ) fire_sound = 'sound/weapons/gun/rifle/vickland.ogg' manufacturer = MANUFACTURER_HUNTERSPRIDE diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index 6b1e30296d57..63c85287cdf8 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -29,7 +29,10 @@ icon_state = "surplus" item_state = "moistnugget" weapon_weight = WEAPON_HEAVY - mag_type = /obj/item/ammo_box/magazine/m10mm_ringneck/rifle + default_ammo_type = /obj/item/ammo_box/magazine/m10mm_ringneck/rifle + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m10mm_ringneck/rifle, + ) fire_delay = 0.5 SECONDS burst_size = 1 w_class = WEIGHT_CLASS_HUGE @@ -43,7 +46,10 @@ desc = "Though sometimes mocked for the relatively weak firepower of their energy weapons, the logistic miracle of rechargeable ammunition has given Nanotrasen a decisive edge over many a foe." icon_state = "oldrifle" item_state = "arg" - mag_type = /obj/item/ammo_box/magazine/recharge + default_ammo_type = /obj/item/ammo_box/magazine/recharge + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/recharge, + ) fire_delay = 0.2 SECONDS burst_size = 0 fire_sound = 'sound/weapons/laser.ogg' @@ -54,7 +60,10 @@ desc = "A makeshift zip gun cobbled together from various scrap bits and chambered in 9mm. It's a miracle it even works." icon_state = "ZipPistol" item_state = "ZipPistol" - mag_type = /obj/item/ammo_box/magazine/zip_ammo_9mm + default_ammo_type = /obj/item/ammo_box/magazine/zip_ammo_9mm + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/zip_ammo_9mm, + ) actions_types = list() show_magazine_on_sprite = TRUE weapon_weight = WEAPON_LIGHT diff --git a/code/modules/projectiles/guns/ballistic/gauss.dm b/code/modules/projectiles/guns/ballistic/gauss.dm index 3fdc2e55dadd..13e5b8aec75d 100644 --- a/code/modules/projectiles/guns/ballistic/gauss.dm +++ b/code/modules/projectiles/guns/ballistic/gauss.dm @@ -8,7 +8,10 @@ icon_state = "gauss" item_state = "arg" slot_flags = 0 - mag_type = /obj/item/ammo_box/magazine/gauss + default_ammo_type = /obj/item/ammo_box/magazine/gauss + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/gauss, + ) fire_sound = 'sound/weapons/gun/gauss/magrifle.ogg' load_sound = 'sound/weapons/gun/gauss/rifle_reload.ogg' burst_size = 1 @@ -33,7 +36,10 @@ /obj/item/gun/ballistic/automatic/powered/gauss/modelh name = "Model H" desc = "A standard-issue pistol exported from the Solarian Confederation. It fires slow flesh-rending ferromagnetic slugs at a high energy cost, however they are ineffective on any armor." - mag_type = /obj/item/ammo_box/magazine/modelh + default_ammo_type = /obj/item/ammo_box/magazine/modelh + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/modelh, + ) icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' @@ -42,7 +48,10 @@ item_state = "model-h" fire_sound = 'sound/weapons/gun/gauss/modelh.ogg' load_sound = 'sound/weapons/gun/gauss/pistol_reload.ogg' - cell_type = /obj/item/stock_parts/cell/gun/solgov + default_cell_type = /obj/item/stock_parts/cell/gun/solgov + allowed_cell_types = list( + /obj/item/stock_parts/cell/gun/solgov, + ) slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL fire_delay = 0.6 SECONDS //pistol, but heavy caliber. @@ -56,18 +65,24 @@ fire_select_icon_state_prefix = "slug_" /obj/item/gun/ballistic/automatic/powered/gauss/modelh/no_mag - spawnwithmagazine = FALSE + default_ammo_type = FALSE /obj/item/gun/ballistic/automatic/powered/gauss/modelh/suns desc = "A standard-issue pistol exported from the Solarian Confederation. It fires slow flesh-rending ferromagnetic slugs at a high energy cost, however they are ineffective on any armor. It is painted in the colors of SUNS." - mag_type = /obj/item/ammo_box/magazine/modelh + default_ammo_type = /obj/item/ammo_box/magazine/modelh + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/modelh, + ) icon_state = "model-h_suns" item_state = "model-h_suns" /obj/item/gun/ballistic/automatic/powered/gauss/claris name = "Claris" desc = "An antiquated Solarian rifle. Chambered in ferromagnetic pellets, just as the founding Solarians intended." - mag_type = /obj/item/ammo_box/magazine/internal/claris + default_ammo_type = /obj/item/ammo_box/magazine/internal/claris + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/claris, + ) icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' @@ -76,7 +91,10 @@ item_state = "claris" fire_sound = 'sound/weapons/gun/gauss/claris.ogg' load_sound = 'sound/weapons/gun/gauss/sniper_reload.ogg' - cell_type = /obj/item/stock_parts/cell/gun/solgov + default_cell_type = /obj/item/stock_parts/cell/gun/solgov + allowed_cell_types = list( + /obj/item/stock_parts/cell/gun/solgov, + ) fire_delay = 0.4 SECONDS bolt_type = BOLT_TYPE_NO_BOLT internal_magazine = TRUE @@ -93,7 +111,10 @@ /obj/item/gun/ballistic/automatic/powered/gauss/gar name = "Solar 'GAR' Carbine" desc = "A Solarian carbine, unusually modern for its producers. Launches ferromagnetic lances at alarming speeds." - mag_type = /obj/item/ammo_box/magazine/gar + default_ammo_type = /obj/item/ammo_box/magazine/gar + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/gar, + ) icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' @@ -102,7 +123,10 @@ item_state = "gar" fire_sound = 'sound/weapons/gun/gauss/gar.ogg' load_sound = 'sound/weapons/gun/gauss/rifle_reload.ogg' - cell_type = /obj/item/stock_parts/cell/gun/solgov + default_cell_type = /obj/item/stock_parts/cell/gun/solgov + allowed_cell_types = list( + /obj/item/stock_parts/cell/gun/solgov, + ) burst_size = 1 fire_delay = 0.2 SECONDS diff --git a/code/modules/projectiles/guns/ballistic/hmg.dm b/code/modules/projectiles/guns/ballistic/hmg.dm index 780b24dc80fb..0a1265034f85 100644 --- a/code/modules/projectiles/guns/ballistic/hmg.dm +++ b/code/modules/projectiles/guns/ballistic/hmg.dm @@ -139,7 +139,10 @@ icon_state = "solar" fire_sound = 'sound/weapons/gun/l6/shot.ogg' - mag_type = /obj/item/ammo_box/magazine/rifle47x33mm + default_ammo_type = /obj/item/ammo_box/magazine/rifle47x33mm + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/rifle47x33mm, + ) spread = 7 fire_delay = 0.1 SECONDS @@ -178,7 +181,12 @@ w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK manufacturer = MANUFACTURER_IMPORT - mag_type = /obj/item/ammo_box/magazine/skm_762_40 + default_ammo_type = /obj/item/ammo_box/magazine/skm_762_40 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/skm_762_40, + /obj/item/ammo_box/magazine/skm_762_40/extended, + /obj/item/ammo_box/magazine/skm_762_40/drum + ) fire_delay = 0.13 SECONDS @@ -198,17 +206,7 @@ AddElement(/datum/element/update_icon_updates_onmob) /obj/item/gun/ballistic/automatic/hmg/skm_lmg/extended //spawns with the proper extended magazine, for erts - spawnwithmagazine = FALSE - -/obj/item/gun/ballistic/automatic/hmg/skm_lmg/extended/Initialize() - . = ..() - magazine = new /obj/item/ammo_box/magazine/skm_762_40/extended(src) - chamber_round() + default_ammo_type = /obj/item/ammo_box/magazine/skm_762_40/extended /obj/item/gun/ballistic/automatic/hmg/skm_lmg/drum_mag //spawns with a drum, maybe not for erts but admin enhanced ERTS? when things really go to shit - spawnwithmagazine = FALSE - -/obj/item/gun/ballistic/automatic/hmg/skm_lmg/drum_mag/Initialize() - . = ..() - magazine = new /obj/item/ammo_box/magazine/skm_762_40/drum(src) - chamber_round() + default_ammo_type = /obj/item/ammo_box/magazine/skm_762_40/drum diff --git a/code/modules/projectiles/guns/ballistic/launchers.dm b/code/modules/projectiles/guns/ballistic/launchers.dm index 2044fae60ee2..2baee53a158a 100644 --- a/code/modules/projectiles/guns/ballistic/launchers.dm +++ b/code/modules/projectiles/guns/ballistic/launchers.dm @@ -4,7 +4,10 @@ /obj/item/gun/ballistic/revolver/grenadelauncher//this is only used for underbarrel grenade launchers at the moment, but admins can still spawn it if they feel like being assholes desc = "A break-action, single-shot grenade launcher. A compact way to deliver a big boom." name = "grenade launcher" - mag_type = /obj/item/ammo_box/magazine/internal/grenadelauncher + default_ammo_type = /obj/item/ammo_box/magazine/internal/grenadelauncher + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/grenadelauncher, + ) fire_sound = 'sound/weapons/gun/general/grenade_launch.ogg' w_class = WEIGHT_CLASS_NORMAL bolt_type = BOLT_TYPE_NO_BOLT @@ -24,7 +27,10 @@ name = "multi grenade launcher" icon = 'icons/mecha/mecha_equipment.dmi' icon_state = "mecha_grenadelnchr" - mag_type = /obj/item/ammo_box/magazine/internal/cylinder/grenademulti + default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder/grenademulti + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/cylinder/grenademulti, + ) /obj/item/gun/ballistic/revolver/grenadelauncher/cyborg/attack_self() return @@ -34,7 +40,10 @@ desc = "A prototype pistol designed to fire self-propelled rockets." icon_state = "gyropistol" fire_sound = 'sound/weapons/gun/general/grenade_launch.ogg' - mag_type = /obj/item/ammo_box/magazine/m75 + default_ammo_type = /obj/item/ammo_box/magazine/m75 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m75, + ) burst_size = 1 fire_delay = 0.4 SECONDS actions_types = list() @@ -59,7 +68,10 @@ GLOBAL_LIST_INIT(rpg_scrawlings, list( icon_state = "rocketlauncher" item_state = "rocketlauncher" - mag_type = /obj/item/ammo_box/magazine/internal/rocketlauncher + default_ammo_type = /obj/item/ammo_box/magazine/internal/rocketlauncher + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/rocketlauncher, + ) fire_sound = 'sound/weapons/gun/general/rocket_launch.ogg' load_sound = 'sound/weapons/gun/general/rocket_load.ogg' gun_firemodes = list(FIREMODE_SEMIAUTO) diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm index cdae6b83df4c..54ee4455973d 100644 --- a/code/modules/projectiles/guns/ballistic/pistol.dm +++ b/code/modules/projectiles/guns/ballistic/pistol.dm @@ -29,7 +29,10 @@ righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - mag_type = /obj/item/ammo_box/magazine/m45 + default_ammo_type = /obj/item/ammo_box/magazine/m45 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m45, + ) fire_sound = 'sound/weapons/gun/pistol/candor.ogg' rack_sound = 'sound/weapons/gun/pistol/candor_cocked.ogg' lock_back_sound = 'sound/weapons/gun/pistol/slide_lock.ogg' @@ -41,13 +44,13 @@ eject_empty_sound = 'sound/weapons/gun/pistol/candor_unload.ogg' show_magazine_on_sprite = TRUE -EMPTY_GUN_HELPER(automatic/pistol/candor) +NO_MAG_GUN_HELPER(automatic/pistol/candor) /obj/item/gun/ballistic/automatic/pistol/candor/factory //also give this to the srm, their candors should probably look factory fresh from how well taken care of they are desc = "A classic semi-automatic handgun, widely popular throughout the Frontier. An engraving on the slide marks it as a product of 'Hunter's Pride Arms and Ammunition'. This example has been kept in especially good shape, and may as well be fresh out of the workshop. Chambered in .45." item_state = "hp_generic_fresh" -EMPTY_GUN_HELPER(automatic/pistol/candor/factory) +NO_MAG_GUN_HELPER(automatic/pistol/candor/factory) /obj/item/gun/ballistic/automatic/pistol/candor/factory/update_overlays() . = ..() @@ -68,7 +71,10 @@ EMPTY_GUN_HELPER(automatic/pistol/candor/factory) mob_overlay_icon = 'icons/obj/guns/manufacturer/frontier_import/onmob.dmi' icon_state = "deagle" force = 14 - mag_type = /obj/item/ammo_box/magazine/m50 + default_ammo_type = /obj/item/ammo_box/magazine/m50 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m50, + ) mag_display = TRUE show_magazine_on_sprite = TRUE fire_sound = 'sound/weapons/gun/pistol/deagle.ogg' @@ -108,7 +114,10 @@ EMPTY_GUN_HELPER(automatic/pistol/candor/factory) mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' w_class = WEIGHT_CLASS_NORMAL - mag_type = /obj/item/ammo_box/magazine/co9mm + default_ammo_type = /obj/item/ammo_box/magazine/co9mm + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/co9mm, + ) var/funnysounds = TRUE var/cooldown = 0 load_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' @@ -171,7 +180,10 @@ EMPTY_GUN_HELPER(automatic/pistol/candor/factory) mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' weapon_weight = WEAPON_LIGHT - mag_type = /obj/item/ammo_box/magazine/pistol556mm + default_ammo_type = /obj/item/ammo_box/magazine/pistol556mm + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/pistol556mm, + ) fire_sound = 'sound/weapons/gun/pistol/pistolec.ogg' manufacturer = MANUFACTURER_SOLARARMORIES load_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' @@ -195,7 +207,10 @@ EMPTY_GUN_HELPER(automatic/pistol/candor/factory) icon_state = "disposable" //credit to discord user 20nypercent for the sprite w_class = WEIGHT_CLASS_NORMAL - mag_type = /obj/item/ammo_box/magazine/disposable + default_ammo_type = /obj/item/ammo_box/magazine/disposable + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/disposable, + ) custom_materials = list(/datum/material/plastic=2000) manufacturer = MANUFACTURER_NONE has_safety = FALSE //thing barely costs anything, why would it have a safety? @@ -220,7 +235,10 @@ EMPTY_GUN_HELPER(automatic/pistol/candor/factory) righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - mag_type = /obj/item/ammo_box/magazine/internal/derr38 + default_ammo_type = /obj/item/ammo_box/magazine/internal/derr38 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/derr38, + ) fire_sound = 'sound/weapons/gun/revolver/shot.ogg' load_sound = 'sound/weapons/gun/revolver/load_bullet.ogg' eject_sound = 'sound/weapons/gun/revolver/empty.ogg' @@ -255,15 +273,21 @@ EMPTY_GUN_HELPER(automatic/pistol/candor/factory) mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' icon_state = "derringer_syndie" - mag_type = /obj/item/ammo_box/magazine/internal/derr357 + default_ammo_type = /obj/item/ammo_box/magazine/internal/derr357 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/derr357, + ) fire_sound_volume = 50 //Tactical stealth firing /obj/item/gun/ballistic/derringer/gold name = "\improper Golden Derringer" desc = "The golden sheen is somewhat counter-intuitive on a holdout weapon, but it looks cool. Uses .357 ammo." icon_state = "derringer_gold" - mag_type = /obj/item/ammo_box/magazine/internal/derr357 + default_ammo_type = /obj/item/ammo_box/magazine/internal/derr357 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/derr357, + ) + +EMPTY_GUN_HELPER(ballistic/derringer) -/obj/item/gun/ballistic/derringer/no_mag - spawnwithmagazine = FALSE diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index 648ad96640f2..2c7b664ff3b5 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -10,7 +10,10 @@ name = "i demand" desc = "You feel as if you should make a 'adminhelp' if you see one of these, along with a 'github' report. You don't really understand what this means though." icon_state = "revolver" - mag_type = /obj/item/ammo_box/magazine/internal/cylinder + default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/cylinder, + ) fire_sound = 'sound/weapons/gun/revolver/shot.ogg' rack_sound = 'sound/weapons/gun/revolver/revolver_prime.ogg' load_sound = 'sound/weapons/gun/revolver/load_bullet.ogg' @@ -465,7 +468,10 @@ righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38 + default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/cylinder/rev38, + ) obj_flags = UNIQUE_RENAME semi_auto = TRUE //double action safety_wording = "safety" @@ -532,14 +538,8 @@ EMPTY_GUN_HELPER(revolver/detective) to_chat(user, "You remove the modifications on [src]. Now it will fire .38 rounds.") return TRUE -/obj/item/gun/ballistic/revolver/detective/no_mag - spawnwithmagazine = FALSE - -/obj/item/gun/ballistic/revolver/viper/no_mag - spawnwithmagazine = FALSE - -/obj/item/gun/ballistic/revolver/no_mag - spawnwithmagazine = FALSE +EMPTY_GUN_HELPER(revolver) +EMPTY_GUN_HELPER(revolver/viper) /obj/item/gun/ballistic/revolver/mateba name = "\improper Unica 6 auto-revolver" @@ -576,14 +576,16 @@ EMPTY_GUN_HELPER(revolver/detective) spread_unwielded = 15 recoil = 0 - mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev44/montagne + default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder/rev44/montagne + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/cylinder/rev44/montagne, + ) /obj/item/gun/ballistic/revolver/montagne/ComponentInitialize() . = ..() AddComponent(/datum/component/ammo_hud/revolver) -/obj/item/gun/ballistic/revolver/montagne/no_mag - spawnwithmagazine = FALSE +EMPTY_GUN_HELPER(revolver/montagne) /obj/item/gun/ballistic/revolver/ashhand name = "HP Ashhand" @@ -595,7 +597,10 @@ EMPTY_GUN_HELPER(revolver/detective) icon_state = "ashhand" item_state = "ashhand" - mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev4570 + default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder/rev4570 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/cylinder/rev4570, + ) fire_sound = 'sound/weapons/gun/revolver/shot_hunting.ogg' rack_sound = 'sound/weapons/gun/revolver/viper_prime.ogg' manufacturer = MANUFACTURER_HUNTERSPRIDE @@ -621,7 +626,10 @@ EMPTY_GUN_HELPER(revolver/detective) righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - mag_type = /obj/item/ammo_box/magazine/internal/cylinder/pepperbox + default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder/pepperbox + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/cylinder/pepperbox, + ) spread = 20 manufacturer = MANUFACTURER_HUNTERSPRIDE spread_unwielded = 50 @@ -630,8 +638,7 @@ EMPTY_GUN_HELPER(revolver/detective) semi_auto = TRUE safety_wording = "safety" -/obj/item/gun/ballistic/revolver/firebrand/no_mag - spawnwithmagazine = FALSE +EMPTY_GUN_HELPER(revolver/firebrand) /obj/item/gun/ballistic/revolver/shadow name = "\improper HP Shadow" @@ -644,7 +651,10 @@ EMPTY_GUN_HELPER(revolver/detective) icon_state = "shadow" item_state = "shadow" - mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev44 + default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder/rev44 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/cylinder/rev44, + ) manufacturer = MANUFACTURER_HUNTERSPRIDE obj_flags = UNIQUE_RENAME gate_loaded = TRUE @@ -667,10 +677,9 @@ EMPTY_GUN_HELPER(revolver/detective) . = ..() AddComponent(/datum/component/ammo_hud/revolver) -/obj/item/gun/ballistic/revolver/shadow/no_mag - spawnwithmagazine = FALSE - /obj/item/gun/ballistic/revolver/shadow/reskin_obj(mob/M) . = ..() if(current_skin) item_state = unique_reskin[current_skin] + +EMPTY_GUN_HELPER(revolver/shadow) diff --git a/code/modules/projectiles/guns/ballistic/rifle.dm b/code/modules/projectiles/guns/ballistic/rifle.dm index a61413057606..9396db025d7e 100644 --- a/code/modules/projectiles/guns/ballistic/rifle.dm +++ b/code/modules/projectiles/guns/ballistic/rifle.dm @@ -5,7 +5,10 @@ mob_overlay_icon = 'icons/mob/clothing/back.dmi' icon_state = "hunting" item_state = "hunting" - mag_type = /obj/item/ammo_box/magazine/internal/boltaction + default_ammo_type = /obj/item/ammo_box/magazine/internal/boltaction + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/boltaction, + ) bolt_wording = "bolt" w_class = WEIGHT_CLASS_BULKY weapon_weight = WEAPON_HEAVY @@ -85,14 +88,17 @@ eject_empty_sound = 'sound/weapons/gun/rifle/vickland_unload.ogg' internal_magazine = FALSE - mag_type = /obj/item/ammo_box/magazine/illestren_a850r + default_ammo_type = /obj/item/ammo_box/magazine/illestren_a850r + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/illestren_a850r, + ) empty_autoeject = TRUE eject_sound_vary = FALSE can_be_sawn_off = TRUE manufacturer = MANUFACTURER_HUNTERSPRIDE /obj/item/gun/ballistic/rifle/illestren/empty //i had to name it empty instead of no_mag because else it wouldnt work with guncases. sorry! - spawnwithmagazine = FALSE + default_ammo_type = FALSE /obj/item/gun/ballistic/rifle/illestren/sawoff(forced = FALSE) . = ..() @@ -127,7 +133,10 @@ /obj/item/gun/ballistic/rifle/solgov name = "SSG-669C" desc = "A bolt-action sniper rifle used by Solarian troops. Beloved for its rotary design and accuracy. Chambered in 8x58mm Caseless." - mag_type = /obj/item/ammo_box/magazine/internal/boltaction/solgov + default_ammo_type = /obj/item/ammo_box/magazine/internal/boltaction/solgov + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/boltaction/solgov, + ) icon_state = "ssg669c" item_state = "ssg669c" icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' @@ -160,7 +169,10 @@ icon_state = "scout" item_state = "scout" - mag_type = /obj/item/ammo_box/magazine/internal/boltaction/smile + default_ammo_type = /obj/item/ammo_box/magazine/internal/boltaction/smile + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/boltaction/smile, + ) fire_sound = 'sound/weapons/gun/rifle/scout.ogg' rack_sound = 'sound/weapons/gun/rifle/scout_bolt_out.ogg' @@ -174,9 +186,6 @@ manufacturer = MANUFACTURER_HUNTERSPRIDE -/obj/item/gun/ballistic/rifle/scout/no_mag - spawnwithmagazine = FALSE - /obj/item/gun/ballistic/rifle/polymer name = "polymer survivor rifle" desc = "A bolt-action rifle made of scrap, desperation, and luck. Likely to shatter at any moment. Chambered in 7.62x40mm." @@ -185,6 +194,9 @@ item_state = "crackhead_rifle" weapon_weight = WEAPON_HEAVY w_class = WEIGHT_CLASS_BULKY - mag_type = /obj/item/ammo_box/magazine/internal/boltaction/polymer + default_ammo_type = /obj/item/ammo_box/magazine/internal/boltaction/polymer + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/boltaction/polymer, + ) can_be_sawn_off = FALSE manufacturer = MANUFACTURER_NONE diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index ab85fb9a01c4..26c796555ebd 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -11,7 +11,10 @@ force = 10 flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BACK - mag_type = /obj/item/ammo_box/magazine/internal/shot + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot, + ) semi_auto = FALSE internal_magazine = TRUE casing_ejector = FALSE @@ -66,7 +69,10 @@ gun_firemodes = list(FIREMODE_FULLAUTO) default_firemode = FIREMODE_FULLAUTO - mag_type = /obj/item/ammo_box/magazine/internal/shot/lethal + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/lethal + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/lethal, + ) manufacturer = MANUFACTURER_HUNTERSPRIDE fire_delay = 0.05 SECONDS //slamfire rack_delay = 0.2 SECONDS @@ -88,8 +94,8 @@ item_state = "illestren_factory_sawn" // i couldnt care about making another sprite, looks close enough mob_overlay_state = item_state -/obj/item/gun/ballistic/shotgun/brimstone/no_mag - spawnwithmagazine = FALSE +EMPTY_GUN_HELPER(shotgun/brimstone) + // HELLFIRE SHOTGUN // /obj/item/gun/ballistic/shotgun/hellfire @@ -102,7 +108,10 @@ icon_state = "hellfire" item_state = "hellfire" - mag_type = /obj/item/ammo_box/magazine/internal/shot/riot + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/riot + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/riot, + ) sawn_desc = "Come with me if you want to live." can_be_sawn_off = TRUE rack_sound = 'sound/weapons/gun/shotgun/rack_alt.ogg' @@ -125,8 +134,8 @@ item_state = "dshotgun_sawn" // ditto mob_overlay_state = item_state -/obj/item/gun/ballistic/shotgun/hellfire/no_mag - spawnwithmagazine = FALSE +EMPTY_GUN_HELPER(shotgun/hellfire) + // Automatic Shotguns// /obj/item/gun/ballistic/shotgun/automatic spread = 4 @@ -145,14 +154,20 @@ icon_state = "cshotgun" item_state = "shotgun_combat" fire_delay = 0.5 SECONDS - mag_type = /obj/item/ammo_box/magazine/internal/shot/com + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/com + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/com, + ) w_class = WEIGHT_CLASS_BULKY /obj/item/gun/ballistic/shotgun/automatic/combat/compact name = "compact combat shotgun" desc = "A compact version of the semi-automatic combat shotgun. For close encounters." icon_state = "cshotgunc" - mag_type = /obj/item/ammo_box/magazine/internal/shot/com/compact + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/com/compact + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/com/compact, + ) w_class = WEIGHT_CLASS_NORMAL weapon_weight = WEAPON_MEDIUM @@ -169,7 +184,10 @@ icon_state = "cycler" - mag_type = /obj/item/ammo_box/magazine/internal/shot/tube + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/tube + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/tube, + ) w_class = WEIGHT_CLASS_HUGE var/toggled = FALSE var/obj/item/ammo_box/magazine/internal/shot/alternate_magazine @@ -182,7 +200,7 @@ /obj/item/gun/ballistic/shotgun/automatic/dual_tube/Initialize() . = ..() if (!alternate_magazine) - alternate_magazine = new mag_type(src) + alternate_magazine = new default_ammo_type(src) /obj/item/gun/ballistic/shotgun/automatic/dual_tube/attack_self(mob/living/user) if(!chambered && magazine.contents.len) @@ -211,10 +229,13 @@ desc = "A variation of the Bulldog, seized from Syndicate armories by deserting troopers then modified to IRMG's standards." icon_state = "bulldog_inteq" item_state = "bulldog_inteq" - mag_type = /obj/item/ammo_box/magazine/m12g_bulldog + default_ammo_type = /obj/item/ammo_box/magazine/m12g_bulldog + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m12g_bulldog, + ) manufacturer = MANUFACTURER_INTEQ -EMPTY_GUN_HELPER(shotgun/automatic/bulldog/inteq) +NO_MAG_GUN_HELPER(shotgun/automatic/bulldog/inteq) ///////////////////////////// @@ -244,7 +265,10 @@ EMPTY_GUN_HELPER(shotgun/automatic/bulldog/inteq) force = 10 flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BACK - mag_type = /obj/item/ammo_box/magazine/internal/shot/dual + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/dual + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/dual, + ) obj_flags = UNIQUE_RENAME unique_reskin = list("Default" = "dshotgun", @@ -330,8 +354,7 @@ EMPTY_GUN_HELPER(shotgun/automatic/bulldog/inteq) item_state = "dshotgun_sawn" mob_overlay_state = item_state -/obj/item/gun/ballistic/shotgun/doublebarrel/no_mag - spawnwithmagazine = FALSE +EMPTY_GUN_HELPER(shotgun/doublebarrel) // sawn off beforehand /obj/item/gun/ballistic/shotgun/doublebarrel/presawn @@ -350,7 +373,10 @@ EMPTY_GUN_HELPER(shotgun/automatic/bulldog/inteq) recoil = 3 //or not recoil_unwielded = 5 item_state = "dshotgun_sawn" - mag_type = /obj/item/ammo_box/magazine/internal/shot/dual/lethal + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/dual/lethal + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/dual/lethal, + ) /obj/item/gun/ballistic/shotgun/doublebarrel/roumain name = "HP antique double-barreled shotgun" @@ -382,7 +408,10 @@ EMPTY_GUN_HELPER(shotgun/automatic/bulldog/inteq) w_class = WEIGHT_CLASS_BULKY force = 10 slot_flags = null - mag_type = /obj/item/ammo_box/magazine/internal/shot/improvised + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/improvised + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/improvised, + ) sawn_desc = "I'm just here for the gasoline." unique_reskin = null var/slung = FALSE @@ -430,7 +459,10 @@ EMPTY_GUN_HELPER(shotgun/automatic/bulldog/inteq) name = "compact compact combat shotgun" desc = "A compact version of the compact version of the semi automatic combat shotgun. For when you want a gun the same size as your brain." icon_state = "cshotguncc" - mag_type = /obj/item/ammo_box/magazine/internal/shot/com/compact/compact + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/com/compact/compact + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/com/compact/compact, + ) w_class = WEIGHT_CLASS_SMALL sawn_desc = "You know, this isn't funny anymore." can_be_sawn_off = TRUE @@ -453,7 +485,10 @@ EMPTY_GUN_HELPER(shotgun/automatic/bulldog/inteq) name = "compact compact compact combat shotgun" desc = "A compact version of the compact version of the compact version of the semi automatic combat shotgun. It's a miracle it works..." icon_state = "cshotgunccc" - mag_type = /obj/item/ammo_box/magazine/internal/shot/com/compact/compact/compact + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/com/compact/compact/compact + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/com/compact/compact/compact, + ) w_class = WEIGHT_CLASS_TINY sawn_desc = "Sigh. This is a trigger attached to a bullet." can_be_sawn_off = TRUE @@ -486,7 +521,10 @@ EMPTY_GUN_HELPER(shotgun/automatic/bulldog/inteq) w_class = WEIGHT_CLASS_BULKY force = 15 //blunt edge and really heavy attack_verb = list("bludgeoned", "smashed") - mag_type = /obj/item/ammo_box/magazine/internal/shot/sex + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/sex + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/sex, + ) burst_size = 6 burst_delay = 0.04 SECONDS //?? very weird number pb_knockback = 12 @@ -529,7 +567,10 @@ EMPTY_GUN_HELPER(shotgun/automatic/bulldog/inteq) recoil_unwielded = 200 recoil_backtime_multiplier = 1 fire_sound_volume = 100 - mag_type = /obj/item/ammo_box/magazine/internal/shot/hundred + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/hundred + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/hundred, + ) //Lever-Action Rifles /obj/item/gun/ballistic/shotgun/flamingarrow @@ -545,7 +586,10 @@ EMPTY_GUN_HELPER(shotgun/automatic/bulldog/inteq) mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' inhand_x_dimension = 32 inhand_y_dimension = 32 - mag_type = /obj/item/ammo_box/magazine/internal/shot/winchester + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/winchester + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/winchester, + ) fire_sound = 'sound/weapons/gun/rifle/flamingarrow.ogg' rack_sound = 'sound/weapons/gun/rifle/skm_cocked.ogg' bolt_wording = "lever" @@ -561,8 +605,7 @@ EMPTY_GUN_HELPER(shotgun/automatic/bulldog/inteq) recoil = 0 recoil_unwielded = 2 -/obj/item/gun/ballistic/shotgun/flamingarrow/no_mag - spawnwithmagazine = FALSE +EMPTY_GUN_HELPER(shotgun/flamingarrow) /obj/item/gun/ballistic/shotgun/flamingarrow/update_icon_state() . = ..() @@ -642,7 +685,10 @@ EMPTY_GUN_HELPER(shotgun/automatic/bulldog/inteq) fire_sound = 'sound/weapons/gun/revolver/shot.ogg' desc = "A large lever-action rifle with hand-stamped Hunter's Pride marks on the receiver and an 8 round ammunition capacity. More powerful than the Flaming Arrow, the Absolution is a popular pick for hunting larger fauna like bears and goliaths, especially when a bolt action's slower rate of fire would be a liability. Chambered in .357." sawn_desc = "A large lever-action rifle, sawn down for portability. It looks much cooler, but you should probably be using a revolver..." - mag_type = /obj/item/ammo_box/magazine/internal/shot/winchester/absolution + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/winchester/absolution + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/winchester/absolution, + ) /obj/item/gun/ballistic/shotgun/flamingarrow/absolution/sawoff(forced = FALSE) . = ..() @@ -663,9 +709,6 @@ EMPTY_GUN_HELPER(shotgun/automatic/bulldog/inteq) recoil = 0 recoil_unwielded = 3 -/obj/item/gun/ballistic/shotgun/flamingarrow/absolution/no_mag - spawnwithmagazine = FALSE - /obj/item/gun/ballistic/shotgun/flamingarrow/conflagration name = "HP Conflagration" base_icon_state = "conflagration" @@ -674,7 +717,10 @@ EMPTY_GUN_HELPER(shotgun/automatic/bulldog/inteq) fire_sound = 'sound/weapons/gun/shotgun/shot.ogg' desc = "A lightweight lever-action shotgun with a 5 round ammunition capacity. The lever action allows it to be cycled quickly and acurrately. In theory, you could ever operate it one-handed. Chambered in 12g." sawn_desc = "A lever action shotgun that's been sawed down for portability. The recoil makes it mostly useless outside of point-blank range, but it hits hard for its size and, more importantly, can be flipped around stylishly." - mag_type = /obj/item/ammo_box/magazine/internal/shot/winchester/conflagration + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/winchester/conflagration + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/winchester/conflagration, + ) /obj/item/gun/ballistic/shotgun/flamingarrow/conflagration/sawoff(forced = FALSE) . = ..() @@ -695,8 +741,7 @@ EMPTY_GUN_HELPER(shotgun/automatic/bulldog/inteq) recoil = 0 recoil_unwielded = 3 -/obj/item/gun/ballistic/shotgun/flamingarrow/conflagration/no_mag - spawnwithmagazine = FALSE +EMPTY_GUN_HELPER(shotgun/flamingarrow/conflagration) //Elephant Gun /obj/item/gun/ballistic/shotgun/doublebarrel/twobore @@ -713,7 +758,10 @@ EMPTY_GUN_HELPER(shotgun/automatic/bulldog/inteq) item_state = "huntsman" unique_reskin = null attack_verb = list("bludgeoned", "smashed") - mag_type = /obj/item/ammo_box/magazine/internal/shot/twobore + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/twobore + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/twobore, + ) w_class = WEIGHT_CLASS_BULKY force = 20 //heavy ass elephant gun, why wouldnt it be recoil = 4 @@ -741,7 +789,10 @@ EMPTY_GUN_HELPER(shotgun/automatic/bulldog/inteq) unique_reskin = null inhand_x_dimension = 32 inhand_y_dimension = 32 - mag_type = /obj/item/ammo_box/magazine/internal/shot/beacon + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/beacon + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/beacon, + ) fire_sound = 'sound/weapons/gun/revolver/shot_hunting.ogg' w_class = WEIGHT_CLASS_BULKY weapon_weight = WEAPON_MEDIUM @@ -772,8 +823,7 @@ EMPTY_GUN_HELPER(shotgun/automatic/bulldog/inteq) recoil = 2 recoil_unwielded = 4 -/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/no_mag - spawnwithmagazine = FALSE +EMPTY_GUN_HELPER(shotgun/doublebarrel/beacon) /obj/item/gun/ballistic/shotgun/doublebarrel/beacon/factory desc = "A single-shot break-action rifle made by Hunter's Pride and sold to civilian hunters. This example has been kept in excellent shape and may as well be fresh out of the workshop. Uses .45-70 ammo." diff --git a/code/modules/projectiles/guns/ballistic/smg.dm b/code/modules/projectiles/guns/ballistic/smg.dm index 6f52daaf2292..ac7852c93889 100644 --- a/code/modules/projectiles/guns/ballistic/smg.dm +++ b/code/modules/projectiles/guns/ballistic/smg.dm @@ -33,7 +33,10 @@ mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' icon_state = "wt550" item_state = "arg" - mag_type = /obj/item/ammo_box/magazine/wt550m9 + default_ammo_type = /obj/item/ammo_box/magazine/wt550m9 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/wt550m9, + ) actions_types = list() show_magazine_on_sprite = TRUE show_magazine_on_sprite_ammo = TRUE @@ -42,7 +45,7 @@ fire_sound = 'sound/weapons/gun/smg/smg_heavy.ogg' /obj/item/gun/ballistic/automatic/smg/wt550/no_mag - spawnwithmagazine = FALSE + default_ammo_type = FALSE /obj/item/gun/ballistic/automatic/smg/vector name = "\improper Vector carbine" @@ -53,7 +56,10 @@ mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' icon_state = "vector" item_state = "vector" - mag_type = /obj/item/ammo_box/magazine/smgm9mm //you guys remember when the autorifle was chambered in 9mm + default_ammo_type = /obj/item/ammo_box/magazine/smgm9mm + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/smgm9mm, + ) //you guys remember when the autorifle was chambered in 9mm bolt_type = BOLT_TYPE_LOCKING show_magazine_on_sprite = TRUE weapon_weight = WEAPON_LIGHT @@ -70,7 +76,11 @@ icon_state = "firestorm" item_state = "firestorm" - mag_type = /obj/item/ammo_box/magazine/c45_firestorm_mag + default_ammo_type = /obj/item/ammo_box/magazine/c45_firestorm_mag + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/c45_firestorm_mag, + /obj/item/ammo_box/magazine/c45_firestorm_mag/pan + ) unique_mag_sprites_for_variants = TRUE burst_size = 1 actions_types = list() @@ -84,12 +94,7 @@ wield_slowdown = 0.4 /obj/item/gun/ballistic/automatic/smg/firestorm/pan //spawns with pan magazine, can take sticks instead of just drums, not sure where this would be used, maybe erts? - spawnwithmagazine = FALSE - -/obj/item/gun/ballistic/automatic/smg/firestorm/pan/Initialize() - . = ..() - magazine = new /obj/item/ammo_box/magazine/c45_firestorm_mag/pan(src) - chamber_round() + default_ammo_type = /obj/item/ammo_box/magazine/c45_firestorm_mag/pan /obj/item/gun/ballistic/automatic/smg/skm_carbine name = "\improper SKM-24v" @@ -110,7 +115,10 @@ weapon_weight = WEAPON_MEDIUM w_class = WEIGHT_CLASS_NORMAL - mag_type = /obj/item/ammo_box/magazine/skm_545_39 + default_ammo_type = /obj/item/ammo_box/magazine/skm_545_39 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/skm_545_39, + ) recoil = 2 recoil_unwielded = 6 @@ -161,7 +169,10 @@ icon_state = "skm_inteqsmg" item_state = "skm_inteqsmg" - mag_type = /obj/item/ammo_box/magazine/smgm10mm + default_ammo_type = /obj/item/ammo_box/magazine/smgm10mm + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/smgm10mm, + ) manufacturer = MANUFACTURER_INTEQ fire_sound = 'sound/weapons/gun/smg/vector_fire.ogg' @@ -195,7 +206,10 @@ default_attachments = list(/obj/item/attachment/foldable_stock) icon_state = "saber" item_state = "gun" - mag_type = /obj/item/ammo_box/magazine/smgm9mm + default_ammo_type = /obj/item/ammo_box/magazine/smgm9mm + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/smgm9mm, + ) bolt_type = BOLT_TYPE_LOCKING show_magazine_on_sprite = TRUE manufacturer = MANUFACTURER_NANOTRASEN_OLD diff --git a/code/modules/projectiles/guns/ballistic/toy.dm b/code/modules/projectiles/guns/ballistic/toy.dm index 43a9415671d6..52abb7dd32ee 100644 --- a/code/modules/projectiles/guns/ballistic/toy.dm +++ b/code/modules/projectiles/guns/ballistic/toy.dm @@ -9,7 +9,10 @@ icon_state = "toysmg" item_state = "toysmg" - mag_type = /obj/item/ammo_box/magazine/toy/smg + default_ammo_type = /obj/item/ammo_box/magazine/toy/smg + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/toy/smg, + ) fire_sound = 'sound/items/syringeproj.ogg' force = 0 throwforce = 0 @@ -29,7 +32,10 @@ item_state = "toypistol" bolt_type = BOLT_TYPE_LOCKING w_class = WEIGHT_CLASS_SMALL - mag_type = /obj/item/ammo_box/magazine/toy/pistol + default_ammo_type = /obj/item/ammo_box/magazine/toy/pistol + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/toy/pistol, + ) fire_sound = 'sound/items/syringeproj.ogg' burst_size = 1 fire_delay = 0.2 SECONDS @@ -38,7 +44,10 @@ recoil_unwielded = -10 /obj/item/gun/ballistic/automatic/toy/pistol/riot - mag_type = /obj/item/ammo_box/magazine/toy/pistol/riot + default_ammo_type = /obj/item/ammo_box/magazine/toy/pistol/riot + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/toy/pistol/riot, + ) /obj/item/gun/ballistic/automatic/toy/pistol/riot/Initialize() magazine = new /obj/item/ammo_box/magazine/toy/pistol/riot(src) @@ -58,7 +67,10 @@ force = 0 throwforce = 0 - mag_type = /obj/item/ammo_box/magazine/internal/shot/toy + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/toy + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/toy, + ) fire_sound = 'sound/items/syringeproj.ogg' item_flags = NONE casing_ejector = FALSE @@ -76,7 +88,10 @@ desc = "A weapon favored by many overactive children. Ages 8 and up." icon_state = "foamcrossbow" item_state = "crossbow" - mag_type = /obj/item/ammo_box/magazine/internal/shot/toy/crossbow + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/toy/crossbow + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/toy/crossbow, + ) fire_sound = 'sound/items/syringeproj.ogg' slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_SMALL diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index fe697c66f083..d5b7d3f0d77a 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -18,6 +18,14 @@ fire_select_icon_state_prefix = "laser_" + default_ammo_type = /obj/item/stock_parts/cell/gun + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun, + /obj/item/stock_parts/cell/gun/upgraded, + /obj/item/stock_parts/cell/gun/empty, + /obj/item/stock_parts/cell/gun/upgraded/empty, + ) + tac_reloads = FALSE tactical_reload_delay = 1.2 SECONDS @@ -49,13 +57,17 @@ /obj/item/gun/energy/get_cell() return cell -/obj/item/gun/energy/Initialize() +/obj/item/gun/energy/Initialize(mapload, spawn_empty) . = ..() - if(cell_type) - cell = new cell_type(src) - else - cell = new(src) - if(dead_cell) + if(spawn_empty) + if(internal_magazine) + spawn_no_ammo = TRUE + else + default_ammo_type = FALSE + + if(default_ammo_type) + cell = new default_ammo_type(src) + if(spawn_no_ammo) cell.use(cell.maxcharge) update_ammo_types() recharge_newshot(TRUE) @@ -103,7 +115,7 @@ //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/gun/energy/attack_hand(mob/user) - if(!internal_cell && loc == user && user.is_holding(src) && cell && tac_reloads) + if(!internal_magazine && loc == user && user.is_holding(src) && cell && tac_reloads) eject_cell(user) return return ..() @@ -114,7 +126,7 @@ update_appearance() /obj/item/gun/energy/attackby(obj/item/A, mob/user, params) - if (!internal_cell && istype(A, /obj/item/stock_parts/cell/gun)) + if (!internal_magazine && (A.type in allowed_ammo_types)) var/obj/item/stock_parts/cell/gun/C = A if (!cell) insert_cell(user, C) @@ -125,12 +137,6 @@ return ..() /obj/item/gun/energy/proc/insert_cell(mob/user, obj/item/stock_parts/cell/gun/C) - if(mag_size == MAG_SIZE_SMALL && !istype(C, /obj/item/stock_parts/cell/gun/mini)) - to_chat(user, span_warning("\The [C] doesn't seem to fit into \the [src]...")) - return FALSE - if(mag_size == MAG_SIZE_LARGE && !istype(C, /obj/item/stock_parts/cell/gun/large)) - to_chat(user, span_warning("\The [C] doesn't seem to fit into \the [src]...")) - return FALSE if(user.transferItemToLoc(C, src)) cell = C to_chat(user, span_notice("You load the [C] into \the [src].")) @@ -170,7 +176,14 @@ // to_chat(user, span_notice("You remove the power cell.")) // eject_cell(user) // return ..() -// [/CELADON-REMOVE] +// [/CELADON-REMOVE] // ЕСЛИ БУДЕТ РАНТАЙМИТЬ, СНЕСТИ СНИЗУ +/obj/item/gun/energy/screwdriver_act(mob/living/user, obj/item/I) + if(cell && !internal_magazine) + to_chat(user, span_notice("You begin unscrewing and pulling out the cell...")) + if(I.use_tool(src, user, unscrewing_time, volume = 100)) + to_chat(user, span_notice("You remove the power cell.")) + eject_cell(user) + return ..() /obj/item/gun/energy/can_shoot(visuals) if(safety && !visuals) diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index 90bfa9a8ead1..2844991f9cc7 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -14,7 +14,7 @@ manufacturer = MANUFACTURER_SHARPLITE_NEW /obj/item/gun/energy/e_gun/empty_cell - dead_cell = TRUE + spawn_no_ammo = TRUE /obj/item/gun/energy/e_gun/mini name = "miniature energy gun" @@ -22,8 +22,10 @@ icon_state = "mini" item_state = "gun" w_class = WEIGHT_CLASS_SMALL - cell_type = /obj/item/stock_parts/cell/gun/mini - mag_size = MAG_SIZE_SMALL + default_ammo_type = /obj/item/stock_parts/cell/gun/mini + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun/mini, + ) throwforce = 11 //This is funny, trust me. ammo_x_offset = 2 charge_sections = 3 @@ -34,7 +36,7 @@ spread_unwielded = 5 /obj/item/gun/energy/e_gun/mini/empty_cell - dead_cell = TRUE + spawn_no_ammo = TRUE /obj/item/gun/energy/e_gun/hades name = "SL AL-655 'Hades' energy rifle" @@ -43,7 +45,7 @@ ammo_x_offset = 2 charge_sections = 5 ammo_type = list(/obj/item/ammo_casing/energy/laser/assault, /obj/item/ammo_casing/energy/disabler) - cell_type = /obj/item/stock_parts/cell/gun/upgraded + default_ammo_type = /obj/item/stock_parts/cell/gun/upgraded weapon_weight = WEAPON_MEDIUM w_class = WEIGHT_CLASS_BULKY @@ -69,7 +71,7 @@ /obj/item/gun/energy/e_gun/hos name = "\improper X-01 MultiPhase Energy Gun" desc = "This is an expensive, modern recreation of an antique laser gun. This gun has several unique firemodes, but lacks the ability to recharge over time." - cell_type = /obj/item/stock_parts/cell/gun/upgraded + default_ammo_type = /obj/item/stock_parts/cell/gun/upgraded icon_state = "hoslaser" force = 10 ammo_type = list(/obj/item/ammo_casing/energy/disabler/hos, /obj/item/ammo_casing/energy/laser/hos, /obj/item/ammo_casing/energy/ion/hos, /obj/item/ammo_casing/energy/electrode/hos) @@ -125,7 +127,7 @@ item_state = "nucgun" charge_delay = 5 can_charge = FALSE - internal_cell = TRUE + internal_magazine = TRUE ammo_x_offset = 2 ammo_type = list(/obj/item/ammo_casing/energy/laser, /obj/item/ammo_casing/energy/disabler) selfcharge = 1 @@ -184,7 +186,6 @@ item_state = "gun" ammo_x_offset = 2 charge_sections = 6 - mag_size = MAG_SIZE_SMALL wield_delay = 0.2 SECONDS wield_slowdown = 0.15 @@ -193,7 +194,10 @@ spread_unwielded = 5 ammo_type = list(/obj/item/ammo_casing/energy/disabler/hitscan, /obj/item/ammo_casing/energy/ion/cheap) - cell_type = /obj/item/stock_parts/cell/gun/mini + default_ammo_type = /obj/item/stock_parts/cell/gun/mini + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun/mini, + ) /obj/item/gun/energy/e_gun/adv_stopping name = "advanced stopping revolver" diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index 5d0e8d54e4e2..c7cebd1025be 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -4,12 +4,15 @@ icon_state = "kineticgun" item_state = "kineticgun" ammo_type = list(/obj/item/ammo_casing/energy/kinetic) - cell_type = /obj/item/stock_parts/cell/emproof + default_ammo_type = /obj/item/stock_parts/cell/emproof + allowed_ammo_types = list( + /obj/item/stock_parts/cell/emproof, + ) item_flags = NONE obj_flags = UNIQUE_RENAME weapon_weight = WEAPON_LIGHT automatic_charge_overlays = FALSE - internal_cell = TRUE //prevents you from giving it an OP cell - WS Edit + internal_magazine = TRUE //prevents you from giving it an OP cell - WS Edit custom_price = 750 w_class = WEIGHT_CLASS_BULKY diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index eff3d67b2df1..f5f82ff43fb9 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -16,7 +16,7 @@ spread_unwielded = 10 /obj/item/gun/energy/laser/empty_cell - dead_cell = TRUE + spawn_no_ammo = TRUE /obj/item/gun/energy/laser/practice name = "practice laser gun" @@ -96,8 +96,10 @@ icon_state = "lasercannon" item_state = "laser" w_class = WEIGHT_CLASS_BULKY - mag_size = MAG_SIZE_LARGE - cell_type = "/obj/item/stock_parts/cell/gun/large" + default_ammo_type = /obj/item/stock_parts/cell/gun/large + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun/large, + ) force = 10 flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BACK @@ -203,9 +205,11 @@ item_state = "gun" ammo_x_offset = 2 charge_sections = 4 - mag_size = MAG_SIZE_SMALL w_class = WEIGHT_CLASS_NORMAL - cell_type = /obj/item/stock_parts/cell/gun/mini + default_ammo_type = /obj/item/stock_parts/cell/gun/mini + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun/mini, + ) ammo_type = list(/obj/item/ammo_casing/energy/lasergun/hitscan) manufacturer = MANUFACTURER_SHARPLITE_NEW @@ -245,8 +249,10 @@ icon_state = "e50" item_state = "e50" - mag_size = MAG_SIZE_LARGE - cell_type = /obj/item/stock_parts/cell/gun/large + default_ammo_type = /obj/item/stock_parts/cell/gun/large + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun/large, + ) ammo_type = list(/obj/item/ammo_casing/energy/laser/eoehoma/e50) weapon_weight = WEAPON_HEAVY manufacturer = MANUFACTURER_EOEHOMA diff --git a/code/modules/projectiles/guns/energy/laser_gatling.dm b/code/modules/projectiles/guns/energy/laser_gatling.dm index 22e6e57d8817..066b19386486 100644 --- a/code/modules/projectiles/guns/energy/laser_gatling.dm +++ b/code/modules/projectiles/guns/energy/laser_gatling.dm @@ -116,7 +116,10 @@ custom_materials = null weapon_weight = WEAPON_MEDIUM ammo_type = list(/obj/item/ammo_casing/energy/laser/minigun) - cell_type = /obj/item/stock_parts/cell/crap + default_ammo_type = /obj/item/stock_parts/cell/crap + allowed_ammo_types = list( + /obj/item/stock_parts/cell/crap, + ) item_flags = NEEDS_PERMIT | SLOWS_WHILE_IN_HAND can_charge = FALSE var/obj/item/minigunpack/ammo_pack diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index 40fd10e94785..973297d1b4e4 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -13,8 +13,11 @@ flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BACK ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse, /obj/item/ammo_casing/energy/laser) - internal_cell = TRUE //prevents you from giving it an OP cell - WS Edit - cell_type = /obj/item/stock_parts/cell/pulse //somone make this backpack mounted, or connected to the deathsquad suit at some point + internal_magazine = TRUE //prevents you from giving it an OP cell - WS Edit + default_ammo_type = /obj/item/stock_parts/cell/pulse + allowed_ammo_types = list( + /obj/item/stock_parts/cell/pulse, + ) //somone make this backpack mounted, or connected to the deathsquad suit at some point manufacturer = MANUFACTURER_SHARPLITE_NEW ammo_x_offset = 2 charge_sections = 6 @@ -38,9 +41,11 @@ slot_flags = ITEM_SLOT_BACK icon_state = "pulse_carbine" item_state = null - internal_cell = FALSE - mag_size = MAG_SIZE_LARGE //haha gun go brr - cell_type = /obj/item/stock_parts/cell/gun/large + internal_magazine = FALSE + default_ammo_type = /obj/item/stock_parts/cell/gun/large + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun/large, + ) ammo_x_offset = 2 charge_sections = 4 @@ -69,14 +74,20 @@ slot_flags = ITEM_SLOT_BELT icon_state = "pulse_pistol" item_state = "gun" - cell_type = /obj/item/stock_parts/cell/pulse/pistol + default_ammo_type = /obj/item/stock_parts/cell/pulse/pistol + allowed_ammo_types = list( + /obj/item/stock_parts/cell/pulse/pistol, + ) ammo_x_offset = 2 charge_sections = 4 /obj/item/gun/energy/pulse/destroyer name = "pulse destroyer" desc = "A heavy-duty energy rifle built for pure destruction." - cell_type = /obj/item/stock_parts/cell/infinite + default_ammo_type = /obj/item/stock_parts/cell/infinite + allowed_ammo_types = list( + /obj/item/stock_parts/cell/infinite, + ) ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse) /obj/item/gun/energy/pulse/destroyer/attack_self(mob/living/user) diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 067a4bbc5d97..e394aa2b7b4d 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -7,7 +7,6 @@ ammo_x_offset = 2 ammo_y_offset = 2 w_class = WEIGHT_CLASS_HUGE - mag_size = MAG_SIZE_LARGE //yes, you can put the comically large cell in it. No, you aren't getting it roundstart. You slut. flags_1 = CONDUCT_1 slot_flags = ITEM_SLOT_BACK ammo_type = list(/obj/item/ammo_casing/energy/ion) @@ -17,7 +16,7 @@ return /obj/item/gun/energy/ionrifle/empty_cell - dead_cell = TRUE + spawn_no_ammo = TRUE /obj/item/gun/energy/ionrifle/carbine name = "ion carbine" @@ -59,7 +58,10 @@ item_state = "c20r" w_class = WEIGHT_CLASS_BULKY ammo_type = list(/obj/item/ammo_casing/energy/meteor) - cell_type = /obj/item/stock_parts/cell/potato + default_ammo_type = /obj/item/stock_parts/cell/potato + allowed_ammo_types = list( + /obj/item/stock_parts/cell/potato, + ) selfcharge = 1 /obj/item/gun/energy/meteorgun/pen @@ -125,7 +127,7 @@ tool_behaviour = TOOL_DECONSTRUCT wall_decon_damage = 200 toolspeed = 0.9 //plasmacutters can be used like angle grinders, and are a bit faster - internal_cell = TRUE //so you don't cheese through the need for plasma - WS EDIT + internal_magazine = TRUE //so you don't cheese through the need for plasma - WS EDIT var/charge_cut = 100 //amount of charge used up to start action (multiplied by amount) and per progress_flash_divisor ticks of cutting var/adv = FALSE @@ -287,7 +289,10 @@ desc = "A modified energy weapon re-designed to fire 3D-printed flechettes, pulled directly from the cyborg's internal power source." icon_state = "l6_cyborg" icon = 'icons/obj/guns/projectile.dmi' - cell_type = /obj/item/stock_parts/cell/secborg + default_ammo_type = /obj/item/stock_parts/cell/secborg + allowed_ammo_types = list( + /obj/item/stock_parts/cell/secborg, + ) ammo_type = list(/obj/item/ammo_casing/energy/c3dbullet) can_charge = FALSE use_cyborg_cell = TRUE @@ -345,7 +350,7 @@ icon_state = "freezegun" desc = "A gun that changes temperatures." ammo_type = list(/obj/item/ammo_casing/energy/temp, /obj/item/ammo_casing/energy/temp/hot) - cell_type = /obj/item/stock_parts/cell/gun/upgraded + default_ammo_type = /obj/item/stock_parts/cell/gun/upgraded ammo_x_offset = 2 /obj/item/gun/energy/temperature/security diff --git a/code/modules/projectiles/guns/manufacturer/clip_lanchester/ballistics.dm b/code/modules/projectiles/guns/manufacturer/clip_lanchester/ballistics.dm index b84171d437da..507eb705f5d6 100644 --- a/code/modules/projectiles/guns/manufacturer/clip_lanchester/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/clip_lanchester/ballistics.dm @@ -10,7 +10,10 @@ icon_state = "cm23" item_state = "clip_generic" w_class = WEIGHT_CLASS_NORMAL - mag_type = /obj/item/ammo_box/magazine/cm23 + default_ammo_type = /obj/item/ammo_box/magazine/cm23 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/cm23, + ) // can_suppress = FALSE fire_sound = 'sound/weapons/gun/pistol/cm23.ogg' rack_sound = 'sound/weapons/gun/pistol/candor_cocked.ogg' @@ -24,7 +27,7 @@ recoil_unwielded = 3 /obj/item/gun/ballistic/automatic/pistol/cm23/no_mag - spawnwithmagazine = FALSE + default_ammo_type = FALSE /obj/item/ammo_box/magazine/cm23 name = "CM-23 pistol magazine (10mm)" @@ -52,7 +55,10 @@ icon_state = "cm70" item_state = "clip_generic" - mag_type = /obj/item/ammo_box/magazine/m9mm_cm70 + default_ammo_type = /obj/item/ammo_box/magazine/m9mm_cm70 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m9mm_cm70, + ) // can_suppress = FALSE burst_size = 3 burst_delay = 0.1 SECONDS @@ -95,7 +101,10 @@ icon_state = "cm5" item_state = "cm5" - mag_type = /obj/item/ammo_box/magazine/cm5_9mm + default_ammo_type = /obj/item/ammo_box/magazine/cm5_9mm + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/cm5_9mm, + ) bolt_type = BOLT_TYPE_CLIP weapon_weight = WEAPON_LIGHT fire_sound = 'sound/weapons/gun/smg/cm5.ogg' @@ -125,7 +134,7 @@ fire_select_icon_state_prefix = "clip_" adjust_fire_select_icon_state_on_safety = TRUE -EMPTY_GUN_HELPER(automatic/smg/cm5) +NO_MAG_GUN_HELPER(automatic/smg/cm5) /obj/item/ammo_box/magazine/cm5_9mm name = "CM-5 magazine (9mm)" @@ -235,7 +244,10 @@ EMPTY_GUN_HELPER(automatic/smg/cm5) weapon_weight = WEAPON_MEDIUM w_class = WEIGHT_CLASS_BULKY bolt_type = BOLT_TYPE_CLIP - mag_type = /obj/item/ammo_box/magazine/f4_308 + default_ammo_type = /obj/item/ammo_box/magazine/f4_308 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/f4_308, + ) fire_sound = 'sound/weapons/gun/rifle/f4.ogg' burst_size = 0 actions_types = list() @@ -290,7 +302,10 @@ EMPTY_GUN_HELPER(automatic/smg/cm5) fire_sound = 'sound/weapons/gun/sniper/cmf90.ogg' - mag_type = /obj/item/ammo_box/magazine/f90 + default_ammo_type = /obj/item/ammo_box/magazine/f90 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/f90, + ) bolt_type = BOLT_TYPE_CLIP fire_delay = 1 SECONDS @@ -335,7 +350,10 @@ EMPTY_GUN_HELPER(automatic/smg/cm5) w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK bolt_type = BOLT_TYPE_CLIP - mag_type = /obj/item/ammo_box/magazine/p16 + default_ammo_type = /obj/item/ammo_box/magazine/p16 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/p16, + ) spread = 2 wield_delay = 0.5 SECONDS @@ -398,7 +416,10 @@ EMPTY_GUN_HELPER(automatic/smg/cm5) w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK manufacturer = MANUFACTURER_MINUTEMAN - mag_type = /obj/item/ammo_box/magazine/cm40_762_40_box + default_ammo_type = /obj/item/ammo_box/magazine/cm40_762_40_box + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/cm40_762_40_box, + ) spread = 10 spread_unwielded = 35 @@ -454,7 +475,10 @@ EMPTY_GUN_HELPER(automatic/smg/cm5) weapon_weight = WEAPON_MEDIUM // can_suppress = FALSE - mag_type = /obj/item/ammo_box/magazine/cm15_12g + default_ammo_type = /obj/item/ammo_box/magazine/cm15_12g + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/cm15_12g, + ) empty_indicator = FALSE unique_mag_sprites_for_variants = FALSE diff --git a/code/modules/projectiles/guns/manufacturer/clip_lanchester/lasers.dm b/code/modules/projectiles/guns/manufacturer/clip_lanchester/lasers.dm index 2fbe0009a563..de0e28c85b15 100644 --- a/code/modules/projectiles/guns/manufacturer/clip_lanchester/lasers.dm +++ b/code/modules/projectiles/guns/manufacturer/clip_lanchester/lasers.dm @@ -12,7 +12,13 @@ gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO) default_firemode = FIREMODE_SEMIAUTO - cell_type = /obj/item/stock_parts/cell/gun + default_ammo_type = /obj/item/stock_parts/cell/gun + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun, + /obj/item/stock_parts/cell/gun/upgraded, + /obj/item/stock_parts/cell/gun/empty, + /obj/item/stock_parts/cell/gun/upgraded/empty, + ) ammo_type = list(/obj/item/ammo_casing/energy/kalix, /obj/item/ammo_casing/energy/disabler/hitscan) manufacturer = MANUFACTURER_MINUTEMAN_LASER diff --git a/code/modules/projectiles/guns/manufacturer/etherbor/energy_gunsword.dm b/code/modules/projectiles/guns/manufacturer/etherbor/energy_gunsword.dm index 4e16d2d03512..a0bbb7185621 100644 --- a/code/modules/projectiles/guns/manufacturer/etherbor/energy_gunsword.dm +++ b/code/modules/projectiles/guns/manufacturer/etherbor/energy_gunsword.dm @@ -16,7 +16,10 @@ wield_delay = 0.7 SECONDS wield_slowdown = 0.35 - cell_type = /obj/item/stock_parts/cell/gun/kalix + default_ammo_type = /obj/item/stock_parts/cell/gun/kalix + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun/kalix, + ) ammo_type = list(/obj/item/ammo_casing/energy/kalix, /obj/item/ammo_casing/energy/disabler/hitscan) load_sound = 'sound/weapons/gun/gauss/pistol_reload.ogg' @@ -43,7 +46,7 @@ armour_penetration = -10 /obj/item/gun/energy/kalix/empty_cell - dead_cell = TRUE + spawn_no_ammo = TRUE /obj/item/gun/energy/kalix/pgf name = "Etherbor BG-16" @@ -54,7 +57,10 @@ gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO) default_firemode = FIREMODE_SEMIAUTO - cell_type = /obj/item/stock_parts/cell/gun/pgf + default_ammo_type = /obj/item/stock_parts/cell/gun/pgf + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun/pgf, + ) ammo_type = list(/obj/item/ammo_casing/energy/kalix/pgf , /obj/item/ammo_casing/energy/disabler/hitscan) /obj/projectile/beam/hitscan/kalix/pgf @@ -86,7 +92,10 @@ spread = 2 spread_unwielded = 5 - cell_type = /obj/item/stock_parts/cell/gun/kalix + default_ammo_type = /obj/item/stock_parts/cell/gun/kalix + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun/kalix, + ) ammo_type = list(/obj/item/ammo_casing/energy/kalix/pistol) @@ -98,7 +107,7 @@ delay = 0 /obj/item/gun/energy/kalix/pistol/empty_cell - dead_cell = TRUE + spawn_no_ammo = TRUE /obj/item/gun/energy/kalix/pgf/heavy name = "Etherbor HBG-7" diff --git a/code/modules/projectiles/guns/manufacturer/frontier_import/ballistics.dm b/code/modules/projectiles/guns/manufacturer/frontier_import/ballistics.dm index 224712438b90..93efbe0afbc4 100644 --- a/code/modules/projectiles/guns/manufacturer/frontier_import/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/frontier_import/ballistics.dm @@ -9,7 +9,10 @@ icon_state = "mauler" item_state = "hp_generic" w_class = WEIGHT_CLASS_NORMAL - mag_type = /obj/item/ammo_box/magazine/m9mm_mauler + default_ammo_type = /obj/item/ammo_box/magazine/m9mm_mauler + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m9mm_mauler, + ) fire_delay = 0.06 SECONDS gun_firemodes = list(FIREMODE_FULLAUTO) @@ -58,7 +61,10 @@ icon_state = "spitter" item_state = "spitter" - mag_type = /obj/item/ammo_box/magazine/spitter_9mm + default_ammo_type = /obj/item/ammo_box/magazine/spitter_9mm + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/spitter_9mm, + ) bolt_type = BOLT_TYPE_OPEN weapon_weight = WEAPON_LIGHT show_magazine_on_sprite = TRUE @@ -133,7 +139,10 @@ icon_state = "pounder" item_state = "pounder" - mag_type = /obj/item/ammo_box/magazine/c22lr_pounder_pan + default_ammo_type = /obj/item/ammo_box/magazine/c22lr_pounder_pan + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/c22lr_pounder_pan, + ) burst_size = 1 fire_delay = 0.05 SECONDS spread = 25 @@ -180,7 +189,10 @@ icon_state = "shredder" item_state = "shredder" - mag_type = /obj/item/ammo_box/magazine/m12_shredder + default_ammo_type = /obj/item/ammo_box/magazine/m12_shredder + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m12_shredder, + ) spread = 15 recoil = 2 recoil_unwielded = 7 @@ -241,7 +253,10 @@ icon_state = "rpg" item_state = "rpg" - mag_type = /obj/item/ammo_box/magazine/internal/rocketlauncher/oneshot + default_ammo_type = /obj/item/ammo_box/magazine/internal/rocketlauncher/oneshot + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/rocketlauncher/oneshot, + ) fire_sound = 'sound/weapons/gun/general/rocket_launch.ogg' load_sound = 'sound/weapons/gun/general/rocket_load.ogg' weapon_weight = WEAPON_HEAVY diff --git a/code/modules/projectiles/guns/manufacturer/nanotrasen_sharplite/ballistics.dm b/code/modules/projectiles/guns/manufacturer/nanotrasen_sharplite/ballistics.dm index 9ba4929cf0a4..5386f323e60d 100644 --- a/code/modules/projectiles/guns/manufacturer/nanotrasen_sharplite/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/nanotrasen_sharplite/ballistics.dm @@ -9,7 +9,10 @@ mob_overlay_icon = 'icons/obj/guns/manufacturer/nanotrasen_sharplite/onmob.dmi' w_class = WEIGHT_CLASS_NORMAL - mag_type = /obj/item/ammo_box/magazine/co9mm + default_ammo_type = /obj/item/ammo_box/magazine/co9mm + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/co9mm, + ) manufacturer = MANUFACTURER_VIGILITAS fire_sound = 'sound/weapons/gun/pistol/rattlesnake.ogg' load_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' @@ -21,7 +24,7 @@ lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' bolt_drop_sound = 'sound/weapons/gun/pistol/drop_small.ogg' -EMPTY_GUN_HELPER(automatic/pistol/commander) +NO_MAG_GUN_HELPER(automatic/pistol/commander) /obj/item/ammo_box/magazine/co9mm name = "commander pistol magazine (9mm)" @@ -49,4 +52,4 @@ EMPTY_GUN_HELPER(automatic/pistol/commander) item_state = "inteq_generic" manufacturer = MANUFACTURER_INTEQ -EMPTY_GUN_HELPER(automatic/pistol/commander/inteq) +NO_MAG_GUN_HELPER(automatic/pistol/commander/inteq) diff --git a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm index 699dc4c53e08..d2c1b81784b5 100644 --- a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm @@ -10,7 +10,10 @@ item_state = "sa_generic" w_class = WEIGHT_CLASS_SMALL - mag_type = /obj/item/ammo_box/magazine/m10mm_ringneck + default_ammo_type = /obj/item/ammo_box/magazine/m10mm_ringneck + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m10mm_ringneck, + ) fire_sound = 'sound/weapons/gun/pistol/shot.ogg' dry_fire_sound = 'sound/weapons/gun/pistol/dry_fire.ogg' @@ -59,7 +62,7 @@ spread_unwielded = 9 recoil_unwielded = 2 -EMPTY_GUN_HELPER(automatic/pistol/ringneck) +NO_MAG_GUN_HELPER(automatic/pistol/ringneck) /obj/item/gun/ballistic/automatic/pistol/ringneck/indie name = "Ringneck-76" @@ -74,7 +77,7 @@ EMPTY_GUN_HELPER(automatic/pistol/ringneck) spread_unwielded = 7 recoil_unwielded = 3 -EMPTY_GUN_HELPER(automatic/pistol/ringneck/indie) +NO_MAG_GUN_HELPER(automatic/pistol/ringneck/indie) /obj/item/ammo_box/magazine/m10mm_ringneck @@ -101,7 +104,10 @@ EMPTY_GUN_HELPER(automatic/pistol/ringneck/indie) icon_state = "asp" item_state = "sa_generic" - mag_type = /obj/item/ammo_box/magazine/m57_39_asp + default_ammo_type = /obj/item/ammo_box/magazine/m57_39_asp + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m57_39_asp, + ) fire_sound = 'sound/weapons/gun/pistol/asp.ogg' @@ -143,7 +149,7 @@ EMPTY_GUN_HELPER(automatic/pistol/ringneck/indie) ) ) -EMPTY_GUN_HELPER(automatic/pistol/asp) +NO_MAG_GUN_HELPER(automatic/pistol/asp) /obj/item/ammo_box/magazine/m57_39_asp name = "Asp magazine (5.7x39mm)" @@ -192,7 +198,8 @@ EMPTY_GUN_HELPER(automatic/pistol/asp) semi_auto = TRUE //double action safety_wording = "safety" -EMPTY_GUN_HELPER(revolver/viper) +/obj/item/gun/ballistic/revolver/viper/no_mag + spawn_no_ammo = TRUE /obj/item/gun/ballistic/revolver/viper/indie name = "Viper-23" @@ -208,7 +215,8 @@ EMPTY_GUN_HELPER(revolver/viper) . = ..() AddComponent(/datum/component/ammo_hud/revolver) -EMPTY_GUN_HELPER(revolver/viper/indie) +/obj/item/gun/ballistic/revolver/viper/indie/no_mag + spawn_no_ammo = TRUE /obj/item/gun/ballistic/automatic/pistol/rattlesnake name = "MP-84 \"Rattlesnake\"" @@ -222,7 +230,10 @@ EMPTY_GUN_HELPER(revolver/viper/indie) icon_state = "rattlesnake" item_state = "rattlesnake" - mag_type = /obj/item/ammo_box/magazine/m9mm_rattlesnake + default_ammo_type = /obj/item/ammo_box/magazine/m9mm_rattlesnake + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m9mm_rattlesnake, + ) fire_sound = 'sound/weapons/gun/pistol/rattlesnake.ogg' dry_fire_sound = 'sound/weapons/gun/pistol/dry_fire.ogg' @@ -271,7 +282,7 @@ EMPTY_GUN_HELPER(revolver/viper/indie) gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_BURST) default_firemode = FIREMODE_SEMIAUTO -EMPTY_GUN_HELPER(automatic/pistol/rattlesnake) +NO_MAG_GUN_HELPER(automatic/pistol/rattlesnake) /obj/item/gun/ballistic/automatic/pistol/rattlesnake/inteq name = "MP-84m Kingsnake" @@ -308,7 +319,10 @@ EMPTY_GUN_HELPER(automatic/pistol/rattlesnake) w_class = WEIGHT_CLASS_TINY - mag_type = /obj/item/ammo_box/magazine/m22lr_himehabu + default_ammo_type = /obj/item/ammo_box/magazine/m22lr_himehabu + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m22lr_himehabu, + ) fire_sound = 'sound/weapons/gun/pistol/himehabu.ogg' load_sound = 'sound/weapons/gun/pistol/mag_insert_alt.ogg' @@ -345,7 +359,7 @@ EMPTY_GUN_HELPER(automatic/pistol/rattlesnake) spread_unwielded = 0 wield_slowdown = 0 -EMPTY_GUN_HELPER(automatic/pistol/himehabu) +NO_MAG_GUN_HELPER(automatic/pistol/himehabu) /obj/item/ammo_box/magazine/m22lr_himehabu name = "pistol magazine (.22 LR)" @@ -371,7 +385,10 @@ EMPTY_GUN_HELPER(automatic/pistol/himehabu) icon_state = "cobra" item_state = "cobra" - mag_type = /obj/item/ammo_box/magazine/m45_cobra + default_ammo_type = /obj/item/ammo_box/magazine/m45_cobra + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m45_cobra, + ) fire_sound = 'sound/weapons/gun/smg/cobra.ogg' @@ -406,7 +423,7 @@ EMPTY_GUN_HELPER(automatic/pistol/himehabu) ) ) -EMPTY_GUN_HELPER(automatic/smg/cobra) +NO_MAG_GUN_HELPER(automatic/smg/cobra) /obj/item/gun/ballistic/automatic/smg/cobra/indie name = "Cobra-20" @@ -414,7 +431,7 @@ EMPTY_GUN_HELPER(automatic/smg/cobra) icon_state = "cobra20" item_state = "cobra20" -EMPTY_GUN_HELPER(automatic/smg/cobra/indie) +NO_MAG_GUN_HELPER(automatic/smg/cobra/indie) /obj/item/ammo_box/magazine/m45_cobra @@ -445,7 +462,10 @@ EMPTY_GUN_HELPER(automatic/smg/cobra/indie) icon_state = "sidewinder" item_state = "sidewinder" - mag_type = /obj/item/ammo_box/magazine/m57_39_sidewinder + default_ammo_type = /obj/item/ammo_box/magazine/m57_39_sidewinder + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m57_39_sidewinder, + ) fire_sound = 'sound/weapons/gun/smg/sidewinder.ogg' @@ -499,7 +519,7 @@ EMPTY_GUN_HELPER(automatic/smg/cobra/indie) default_attachments = list(/obj/item/attachment/foldable_stock/sidewinder) -EMPTY_GUN_HELPER(automatic/smg/sidewinder) +NO_MAG_GUN_HELPER(automatic/smg/sidewinder) /obj/item/ammo_box/magazine/m57_39_sidewinder name = "Sidewinder magazine (5.7x39mm)" @@ -526,7 +546,11 @@ EMPTY_GUN_HELPER(automatic/smg/sidewinder) fire_sound = 'sound/weapons/gun/sniper/cmf90.ogg' - mag_type = /obj/item/ammo_box/magazine/boomslang + default_ammo_type = /obj/item/ammo_box/magazine/boomslang + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/boomslang, + /obj/item/ammo_box/magazine/boomslang/short, + ) w_class = WEIGHT_CLASS_BULKY fire_delay = 1 SECONDS @@ -568,7 +592,7 @@ EMPTY_GUN_HELPER(automatic/smg/sidewinder) ) ) -EMPTY_GUN_HELPER(automatic/marksman/boomslang) +NO_MAG_GUN_HELPER(automatic/marksman/boomslang) /obj/item/gun/ballistic/automatic/marksman/boomslang/indie name = "Boomslang-90" @@ -580,7 +604,7 @@ EMPTY_GUN_HELPER(automatic/marksman/boomslang) zoom_amt = 3 //Long range, enough to see in front of you, but no tiles behind you. zoom_out_amt = 0 -EMPTY_GUN_HELPER(automatic/marksman/boomslang/indie) +NO_MAG_GUN_HELPER(automatic/marksman/boomslang/indie) /obj/item/ammo_box/magazine/boomslang name = "\improper Boomslang Magazine (6.5x57mm CLIP)" @@ -602,9 +626,6 @@ EMPTY_GUN_HELPER(automatic/marksman/boomslang/indie) max_ammo = 5 multiple_sprites = AMMO_BOX_PER_BULLET -/obj/item/ammo_box/magazine/boomslang/short/empty - start_empty = TRUE - /obj/item/gun/ballistic/automatic/marksman/taipan name = "AMR-83 \"Taipan\"" desc = "A monstrous semi-automatic anti-materiel rifle, surprisingly short for its class. Designed to destroy mechs, light vehicles, and equipment, but more than capable of obliterating regular personnel. Chambered in .50 BMG." @@ -623,7 +644,10 @@ EMPTY_GUN_HELPER(automatic/marksman/boomslang/indie) rack_sound = 'sound/weapons/gun/sniper/rack.ogg' suppressed_sound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg' weapon_weight = WEAPON_HEAVY - mag_type = /obj/item/ammo_box/magazine/sniper_rounds + default_ammo_type = /obj/item/ammo_box/magazine/sniper_rounds + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/sniper_rounds, + ) w_class = WEIGHT_CLASS_BULKY zoom_amt = 10 //Long range, enough to see in front of you, but no tiles behind you. zoom_out_amt = 5 @@ -644,7 +668,7 @@ EMPTY_GUN_HELPER(automatic/marksman/boomslang/indie) valid_attachments = list() slot_available = list() -EMPTY_GUN_HELPER(automatic/marksman/taipan) +NO_MAG_GUN_HELPER(automatic/marksman/taipan) //########### RIFLES ###########// @@ -659,7 +683,13 @@ EMPTY_GUN_HELPER(automatic/marksman/taipan) icon_state = "hydra" item_state = "hydra" - mag_type = /obj/item/ammo_box/magazine/m556_42_hydra + default_ammo_type = /obj/item/ammo_box/magazine/m556_42_hydra + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m556_42_hydra, + /obj/item/ammo_box/magazine/m556_42_hydra/extended, + /obj/item/ammo_box/magazine/m556_42_hydra/casket, + /obj/item/ammo_box/magazine/m556_42_hydra/small + ) gun_firenames = list(FIREMODE_SEMIAUTO = "single", FIREMODE_BURST = "burst fire", FIREMODE_FULLAUTO = "full auto", FIREMODE_OTHER = "underbarrel grenade launcher") gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO) //gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_BURST, FIREMODE_OTHER) @@ -711,7 +741,7 @@ EMPTY_GUN_HELPER(automatic/marksman/taipan) ) ) -EMPTY_GUN_HELPER(automatic/assault/hydra) +NO_MAG_GUN_HELPER(automatic/assault/hydra) //we hard code "hydra", why? because if not, i would need to duplicate the extended/short magazine sprites like 3 fucking times for every variant with a different icon state. this eases the spriting burden /obj/item/gun/ballistic/automatic/assault/hydra/update_overlays() @@ -778,20 +808,11 @@ EMPTY_GUN_HELPER(automatic/assault/hydra) ) /obj/item/gun/ballistic/automatic/assault/hydra/lmg/extended - spawnwithmagazine = FALSE //so we spawn with the short magaine + default_ammo_type = /obj/item/ammo_box/magazine/m556_42_hydra/extended -/obj/item/gun/ballistic/automatic/assault/hydra/lmg/extended/Initialize() - . = ..() - magazine = new /obj/item/ammo_box/magazine/m556_42_hydra/extended(src) - chamber_round() /obj/item/gun/ballistic/automatic/assault/hydra/lmg/casket_mag - spawnwithmagazine = FALSE //so we spawn with the short magaine - -/obj/item/gun/ballistic/automatic/assault/hydra/lmg/casket_mag/Initialize() - . = ..() - magazine = new /obj/item/ammo_box/magazine/m556_42_hydra/casket(src) - chamber_round() + default_ammo_type = /obj/item/ammo_box/magazine/m556_42_hydra/casket /obj/item/gun/ballistic/automatic/assault/hydra/dmr name = "SBR-80 \"Hydra\"" @@ -807,8 +828,8 @@ EMPTY_GUN_HELPER(automatic/assault/hydra) spread_unwielded = 12 wield_slowdown = 0.8 //dmrrrr wield_delay = 0.85 SECONDS //above - spawnwithmagazine = FALSE //so we spawn with the short magaine zoomable = TRUE + default_ammo_type = /obj/item/ammo_box/magazine/m556_42_hydra/small EMPTY_GUN_HELPER(automatic/assault/hydra/dmr) @@ -820,7 +841,6 @@ EMPTY_GUN_HELPER(automatic/assault/hydra/dmr) // [/CELADON-EDIT] chamber_round() - /obj/item/gun/ballistic/automatic/assault/hydra/underbarrel_gl name = "SMR-80 \"Hydra\"" desc = "Scarborough Arms' premier modular assault rifle platform. This is the basic configuration, optimized for light weight and handiness. A very well-regarded, if expensive and rare, assault rifle. This one has an underslung grenade launcher attached. Chambered in 5.56x42mm CLIP." @@ -945,7 +965,16 @@ EMPTY_GUN_HELPER(automatic/assault/hydra/dmr) item_state = "bulldog" weapon_weight = WEAPON_MEDIUM - mag_type = /obj/item/ammo_box/magazine/m12g_bulldog + default_ammo_type = /obj/item/ammo_box/magazine/m12g_bulldog + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m12g_bulldog, + /obj/item/ammo_box/magazine/m12g_bulldog/drum, + /obj/item/ammo_box/magazine/m12g_bulldog/drum/stun, + /obj/item/ammo_box/magazine/m12g_bulldog/drum/slug, + /obj/item/ammo_box/magazine/m12g_bulldog/drum/dragon, + /obj/item/ammo_box/magazine/m12g_bulldog/drum/bioterror, + /obj/item/ammo_box/magazine/m12g_bulldog/drum/meteor, + ) fire_delay = 0.4 SECONDS // this NEEDS the old delay. fire_sound = 'sound/weapons/gun/shotgun/bulldog.ogg' show_magazine_on_sprite = TRUE @@ -991,7 +1020,7 @@ EMPTY_GUN_HELPER(automatic/assault/hydra/dmr) ) ) -EMPTY_GUN_HELPER(shotgun/automatic/bulldog) +NO_MAG_GUN_HELPER(shotgun/automatic/bulldog) /obj/item/ammo_box/magazine/m12g_bulldog name = "shotgun box magazine (12g buckshot)" @@ -1034,10 +1063,6 @@ EMPTY_GUN_HELPER(shotgun/automatic/bulldog) name = "shotgun drum magazine (12g meteor slugs)" ammo_type = /obj/item/ammo_casing/shotgun/meteorslug - -EMPTY_GUN_HELPER(shotgun/bulldog) - - /obj/item/gun/ballistic/rocketlauncher/mako name = "RR-86 \"Mako\"" desc = "A large, four-tube rocket launcher, the Mako fires (relatively) small rockets filled with incendiary compound, designed to cause fires and deny enemy movement. Capable of causing significant damage to exosuits on impact, as well." @@ -1049,7 +1074,10 @@ EMPTY_GUN_HELPER(shotgun/bulldog) icon_state = "mako" item_state = "mako" - mag_type = /obj/item/ammo_box/magazine/internal/mako + default_ammo_type = /obj/item/ammo_box/magazine/internal/mako + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/mako, + ) fire_sound = 'sound/weapons/gun/general/rocket_launch.ogg' load_sound = 'sound/weapons/gun/general/rocket_load.ogg' w_class = WEIGHT_CLASS_BULKY diff --git a/code/modules/projectiles/guns/misc/beam_rifle.dm b/code/modules/projectiles/guns/misc/beam_rifle.dm index 2e2fc46c3752..3d1c407a7e56 100644 --- a/code/modules/projectiles/guns/misc/beam_rifle.dm +++ b/code/modules/projectiles/guns/misc/beam_rifle.dm @@ -28,9 +28,11 @@ weapon_weight = WEAPON_HEAVY w_class = WEIGHT_CLASS_BULKY ammo_type = list(/obj/item/ammo_casing/energy/beam_rifle/hitscan) - internal_cell = FALSE //prevents you from giving it an OP cell - WS Edit //shut up dumb nerd - mag_size = MAG_SIZE_LARGE - cell_type = "/obj/item/stock_parts/cell/gun/large" + internal_magazine = FALSE //prevents you from giving it an OP cell - WS Edit //shut up dumb nerd + default_ammo_type = /obj/item/stock_parts/cell/gun/large + allowed_ammo_types = list( + /obj/item/stock_parts/cell/gun/large, + ) canMouseDown = TRUE var/aiming = FALSE var/aiming_time = 12 @@ -78,7 +80,10 @@ /obj/item/gun/energy/beam_rifle/debug delay = 0 - cell_type = /obj/item/stock_parts/cell/infinite + default_ammo_type = /obj/item/stock_parts/cell/infinite + allowed_ammo_types = list( + /obj/item/stock_parts/cell/infinite, + ) aiming_time = 0 recoil = 0 diff --git a/code/modules/projectiles/guns/misc/bow.dm b/code/modules/projectiles/guns/misc/bow.dm index 9f2957ba40cd..01c60b3ca865 100644 --- a/code/modules/projectiles/guns/misc/bow.dm +++ b/code/modules/projectiles/guns/misc/bow.dm @@ -7,7 +7,10 @@ load_sound = null fire_sound = 'sound/weapons/bowfire.ogg' slot_flags = ITEM_SLOT_BACK - mag_type = /obj/item/ammo_box/magazine/internal/bow + default_ammo_type = /obj/item/ammo_box/magazine/internal/bow + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/bow, + ) trigger_guard = TRIGGER_GUARD_ALLOW_ALL force = 15 attack_verb = list("whipped", "cracked") diff --git a/code/modules/projectiles/guns/powered.dm b/code/modules/projectiles/guns/powered.dm index a9ab2f6365f4..44419c099564 100644 --- a/code/modules/projectiles/guns/powered.dm +++ b/code/modules/projectiles/guns/powered.dm @@ -1,13 +1,21 @@ /obj/item/gun/ballistic/automatic/powered - mag_type = /obj/item/ammo_box/magazine/gauss + default_ammo_type = /obj/item/ammo_box/magazine/gauss + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/gauss, + ) + var/default_cell_type = /obj/item/stock_parts/cell/gun + var/list/allowed_cell_types = list( + /obj/item/stock_parts/cell/gun, + /obj/item/stock_parts/cell/gun/upgraded, + /obj/item/stock_parts/cell/gun/empty, + /obj/item/stock_parts/cell/gun/upgraded/empty, + ) charge_sections = 3 /obj/item/gun/ballistic/automatic/powered/Initialize() . = ..() - if(cell_type) - cell = new cell_type(src) - else - cell = new(src) + if(default_cell_type) + cell = new default_cell_type(src) update_appearance() /obj/item/gun/ballistic/automatic/powered/examine(mob/user) @@ -39,19 +47,13 @@ //the things below were taken from energy gun code. blame whoever coded this, not me /obj/item/gun/ballistic/automatic/powered/attackby(obj/item/A, mob/user, params) - if (!internal_cell && istype(A, /obj/item/stock_parts/cell/gun)) + if (!internal_cell && (A.type in allowed_cell_types)) var/obj/item/stock_parts/cell/gun/C = A if (!cell) insert_cell(user, C) return ..() /obj/item/gun/ballistic/automatic/powered/proc/insert_cell(mob/user, obj/item/stock_parts/cell/gun/C) - if(mag_size == MAG_SIZE_SMALL && !istype(C, /obj/item/stock_parts/cell/gun/mini)) - to_chat(user, "\The [C] doesn't seem to fit into \the [src]...") - return FALSE - if(mag_size == MAG_SIZE_LARGE && !istype(C, /obj/item/stock_parts/cell/gun/large)) - to_chat(user, "\The [C] doesn't seem to fit into \the [src]...") - return FALSE if(user.transferItemToLoc(C, src)) cell = C to_chat(user, "You load the [C] into \the [src].") diff --git a/code/modules/unit_tests/_unit_tests.dm b/code/modules/unit_tests/_unit_tests.dm index ba42b9bc9f46..16e76901f957 100644 --- a/code/modules/unit_tests/_unit_tests.dm +++ b/code/modules/unit_tests/_unit_tests.dm @@ -83,6 +83,7 @@ #include "connect_loc.dm" #include "biome_lists.dm" #include "emoting.dm" +#include "gun_sanity.dm" #include "keybinding_init.dm" #include "machine_disassembly.dm" #include "open_air.dm" diff --git a/code/modules/unit_tests/gun_sanity.dm b/code/modules/unit_tests/gun_sanity.dm new file mode 100644 index 000000000000..36630dfea8dc --- /dev/null +++ b/code/modules/unit_tests/gun_sanity.dm @@ -0,0 +1,17 @@ +/datum/unit_test/gun_sanity/Run() + for(var/gun_path in subtypesof(/obj/item/gun)) + var/obj/item/gun/target_gun = new gun_path() + if(target_gun.default_ammo_type) + if(!ispath(target_gun.default_ammo_type)) + TEST_FAIL("The default ammo ([target_gun.default_ammo_type]) in [gun_path] is not a type") + + if(!(target_gun.default_ammo_type in target_gun.allowed_ammo_types)) + TEST_FAIL("The default ammo ([target_gun.default_ammo_type]) in [gun_path] in not in its allowed ammo types") + + if(ispath(gun_path, /obj/item/gun/ballistic)) + if(!(target_gun.magazine?.type == target_gun.default_ammo_type)) + TEST_FAIL("[gun_path]'s mag ([target_gun.magazine?.type]) does not equal its default_ammo_type") + else + if(target_gun.internal_magazine) + TEST_FAIL("[gun_path] with an internal mag has no mag") + qdel(target_gun) From 5c705288acc39a0083a44b88aa8e34d39ff19faf Mon Sep 17 00:00:00 2001 From: Sun-Soaked <45698967+Sun-Soaked@users.noreply.github.com> Date: Tue, 22 Oct 2024 15:46:27 -0400 Subject: [PATCH 097/344] Claymores & Mine Tweaks (#2988) ## About The Pull Request TODO: - [x] Actually implement claymores (should we let players have them?)(Cargo?) - [x] Remove weird sprite shim I made when world icons are merged, add world icons to mines - [x] Sprites (this time we actually need them since the placeholder ones are tgmc & I didn't ask for permission) Adds Mines that explode when an object passes in front of them & fire an ammo casing in that direction. Adds claymores as an implemented example of this- short range, shreds people at point blank. Adds World Icons to normal Mines I had to do some tweaking behind the scenes to implement mobless casing firing- but I'm pleased to say that fire_casing() can now deal emotionally with being handed a null user. Also minorly tweaks explosion devastation, so heavy explosions can only strip tiles that have already been damaged You can still immediately strip tiles with devastating explosions ## Why It's Good For The Game FRONT TOWARDS ENEMY ## Changelog :cl: add: Directional Mines, implemented as Claymores. add: Mines now have World Icons balance: explosions now only strip to space when a tile is already damaged fix: Prox mines explode from slightly further away & no longer activate through walls. fix: Multiple mines can no longer be stacked on a tile code: fire_casing() can now be called by non-mobs, allowing objects to shoot casings. /:cl: --- code/datums/components/pellet_cloud.dm | 13 +- code/game/objects/items/devices/mines.dm | 229 +++++++++++++++--- code/game/objects/items/shrapnel.dm | 43 +++- code/game/turfs/open/floor.dm | 2 +- code/modules/cargo/packs/sec_supply.dm | 25 ++ .../modules/projectiles/ammunition/_firing.dm | 4 +- .../projectiles/projectile/energy/misc.dm | 25 +- icons/obj/landmine.dmi | Bin 2821 -> 3328 bytes icons/obj/world/landmine.dmi | Bin 0 -> 3377 bytes 9 files changed, 292 insertions(+), 49 deletions(-) create mode 100644 icons/obj/world/landmine.dmi diff --git a/code/datums/components/pellet_cloud.dm b/code/datums/components/pellet_cloud.dm index 9ef5b57d1fa1..d18bdc7d8cbc 100644 --- a/code/datums/components/pellet_cloud.dm +++ b/code/datums/components/pellet_cloud.dm @@ -90,7 +90,10 @@ /datum/component/pellet_cloud/proc/create_casing_pellets(obj/item/ammo_casing/shell, atom/target, mob/living/user, fired_from, randomspread, spread, zone_override, params, distro) - shooter = user + if(user) + shooter = user + else + shooter = fired_from var/targloc = get_turf(target) if(!zone_override) zone_override = shooter.zone_selected @@ -106,8 +109,12 @@ RegisterSignal(shell.BB, COMSIG_PROJECTILE_SELF_ON_HIT, PROC_REF(pellet_hit)) RegisterSignal(shell.BB, list(COMSIG_PROJECTILE_RANGE_OUT, COMSIG_PARENT_QDELETING), PROC_REF(pellet_range)) pellets += shell.BB - if(!shell.throw_proj(target, targloc, shooter, params, spread)) - return + if(user) + if(!shell.throw_proj(target, targloc, shooter, params, spread)) + return + else + if(!shell.throw_proj(target, targloc, null, params, spread, shooter)) + return if(i != num_pellets) shell.newshot() diff --git a/code/game/objects/items/devices/mines.dm b/code/game/objects/items/devices/mines.dm index 1772cbf497c3..6547fde77ada 100644 --- a/code/game/objects/items/devices/mines.dm +++ b/code/game/objects/items/devices/mines.dm @@ -11,6 +11,7 @@ icon_state = "mine" item_state = "assembly"//when we get custom sprites replace this. please base_icon_state = "mine" + light_color = "#FF0000" /// Is our mine live? var/armed = FALSE @@ -24,13 +25,11 @@ var/manufacturer = MANUFACTURER_NONE - /obj/item/mine/Initialize(mapload) . = ..() if(armed) now_armed() - /obj/item/mine/examine(mob/user) . = ..() if(!armed) @@ -45,33 +44,39 @@ . = ..() icon_state = "[base_icon_state][triggered ? "_exploding" : null][!armed && anchored ? "_arming" : null][armed && anchored && !triggered ? "_armed" : null]" -//mines have a small chance to be triggered by damage, but they take longer to explode +/// mines have a small chance to be triggered by damage, but they take longer to explode /obj/item/mine/take_damage(damage_amount, damage_type, damage_flag, sound_effect, attack_dir) . = ..() if(prob(35) & obj_integrity > 0) blast_delay = blast_delay * 2 trigger_mine() -//insert your horrible fate here +/// insert your horrible fate here /obj/item/mine/proc/mine_effect(mob/victim) return -//handles controlled deactivation +/// handles controlled deactivation /obj/item/mine/proc/disarm() if(triggered) //no turning back now return + light_power = 0 + light_range = 0 anchored = FALSE armed = FALSE update_appearance(UPDATE_ICON_STATE) return -//using an unarmed mine inhand deploys it. +/// using an unarmed mine inhand deploys it. /obj/item/mine/attack_self(mob/user) if(!armed) + if(!loccheck(user)) + to_chat(user, span_warning("There's already a mine at this position!")) + return user.visible_message(span_danger("[user] deploys the [src]."), span_notice("You deploy the [src].")) user.dropItemToGround(src) anchored = TRUE + dir = user.dir playsound(src, 'sound/machines/click.ogg', 60, TRUE) if(arm_delay) @@ -82,27 +87,30 @@ armed = TRUE message_admins("[key_name(user)] has placed \a [src] at ([x],[y],[z]).") -//let them know the mine's done cooking +/obj/item/mine/proc/loccheck(mob/user) + for(var/obj/item/mine/alreadymined in user.loc) + if(alreadymined.anchored) + return FALSE + return TRUE + +/// let them know the mine's done cooking /obj/item/mine/proc/now_armed() armed = TRUE update_appearance(UPDATE_ICON_STATE) + light_power = 1 + light_range = 1 playsound(src, 'sound/machines/nuke/angry_beep.ogg', 55, FALSE, 1) visible_message("\The [src] beeps softly, indicating it is now active.", vision_distance = COMBAT_MESSAGE_RANGE) /// Can this mine trigger on the passed movable? /obj/item/mine/proc/can_trigger(atom/movable/on_who) - //var/badtype = typecacheof(list(/obj/effect, /obj/item/mine)) if(triggered || !isturf(loc) || !armed || iseffect(on_who) || istype(on_who, /obj/item/mine)) return FALSE - //if(on_who == badtype)//no recursive self triggering. Bad landmine - // return FALSE return TRUE /// When something sets off a mine /obj/item/mine/proc/trigger_mine(atom/movable/triggerer) - if(obj_integrity <= 0) - return - if(triggered) //too busy detonating to detonate again + if(obj_integrity <= 0 || triggered)//too busy detonating to detonate again return if(triggerer) triggerer.visible_message(span_danger("[icon2html(src, viewers(src))] [triggerer] sets off \the [src]. It's gonna blow!"), span_danger("[icon2html(src, viewers(src))] \The [src] activates.")) @@ -114,7 +122,6 @@ playsound(src, 'sound/items/mine_activate.ogg', 70, FALSE) else playsound(src, 'sound/items/mine_activate_short.ogg', 80, FALSE) - light_color = "#FF0000" light_power = 5 light_range = 3 if(!blast_delay)//addtimer gets mad if the delay is 0 @@ -122,7 +129,7 @@ else addtimer(CALLBACK(src, PROC_REF(blast_now), triggerer), blast_delay) -//NOW we actually blow up +///NOW we actually blow up /obj/item/mine/proc/blast_now(atom/movable/triggerer) var/datum/effect_system/spark_spread/sporks = new /datum/effect_system/spark_spread sporks.set_up(3, 1, src) @@ -142,7 +149,7 @@ user.visible_message(span_warning("[user] extends their hand towards \the [src]!"), span_userdanger("You extend your arms to pick up \the [src], knowing that it will likely blow up when you touch it!")) if(do_after(user, 5 SECONDS, target = src))//SO SO generous. You can still step back from the edge. if(prob(10)) - user.visible_message(span_notice("[user] picks up \the [src], which miraculously doesn't explode!"), span_notice("You pick up \the [src], which miraculously doesn't explode!")) + user.visible_message(span_notice("[user] picks up \the [src], which miraculously doesn't go off!"), span_notice("You pick up \the [src], which miraculously doesn't go off!")) disarm() else user.visible_message(span_danger("[user] attempts to pick up \the [src] only to hear a beep as it activates in their hand!"), span_danger("You attempt to pick up \the [src] only to hear a beep as it activates in your hands!")) @@ -166,8 +173,8 @@ trigger_mine(user) // -//PRESSURE BASED MINE: -//Mine that explodes when stepped on. +///PRESSURE BASED MINE: +///Mine that explodes when stepped on. /obj/item/mine/pressure name = "dummy landmine" /// When true, mines trigger instantly on being stepped upon @@ -254,11 +261,7 @@ clicked = FALSE . = ..() -/obj/item/mine/pressure/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) - trigger_mine(AM) - ..() - -//handles disarming(and failing to disarm) +///handles disarming(and failing to disarm) /obj/item/mine/pressure/attackby(obj/item/I, mob/user) if(I.tool_behaviour == TOOL_SCREWDRIVER) if(sealed) @@ -275,18 +278,16 @@ else . = ..() -// -//PROXIMITY MINES -//Mines that explode when someone moves nearby. Simpler, because I don't have to worry about saving step info or disarming logic -// +//PROXIMITY MINES +///Mines that explode when someone moves nearby. Simpler, because I don't have to worry about saving step info or disarming logic /obj/item/mine/proximity name = "dummy proximity mine" blast_delay = 15 DECISECONDS arm_delay = 10 SECONDS//clear the area ///needed for the proximity checks. var/datum/proximity_monitor/proximity_monitor - var/proximity_range = 2 + var/proximity_range = 3 /obj/item/mine/proximity/Initialize(mapload) . = ..() @@ -302,12 +303,8 @@ /obj/item/mine/proximity/now_armed() . = ..() proximity_monitor = new(src, proximity_range) - light_color = "#FF0000" - light_power = 1 - light_range = 1 /obj/item/mine/proximity/disarm() - . = ..() QDEL_NULL(proximity_monitor) /obj/item/mine/proximity/Destroy() @@ -316,7 +313,11 @@ . = ..() /obj/item/mine/proximity/HasProximity(atom/movable/triggerer) - if(!iscarbon(triggerer))//let's keep these on player movements for now. + //let's keep these on player movements for now. + if(!iscarbon(triggerer)) + return + //Quick and dirty solution for preventing activations behind walls. + if(!(triggerer in view(proximity_range, src))) return if(!can_trigger(triggerer)) return @@ -326,9 +327,92 @@ QDEL_NULL(proximity_monitor) return +//DIRECTIONAL MINES +///Once deployed, keeps an eye on a line of turfs in the faced direction. If something moves in them, explode. +/obj/item/mine/directional + name = "directional mine" + desc = "An anti-personnel device that activates when an object moves in front of it. This one does nothing and is for testing purposes only." + + blast_delay = 1 DECISECONDS + arm_delay = 5 SECONDS + + ///range of tripwire + var/trigger_range = 4 + + ///projectile casing to fire in the selected direction when the mine is triggered. + //null prevents a projectile from being fired. + var/obj/item/ammo_casing/casingtype = null + + ///cache of turfs for detection area + var/list/tripwire_turfs + + ///for aiming the resulting projectiles + var/turf/target_turf + +///kills any existing tripwires +/obj/item/mine/directional/proc/remove_tripwires() + if(tripwire_turfs) + for(var/turf/affected_turf in tripwire_turfs) + UnregisterSignal(affected_turf, COMSIG_ATOM_ENTERED) + tripwire_turfs = null + if(target_turf) + target_turf = null + return + +///sets up tripwires(or recreates them, if already present) +/obj/item/mine/directional/proc/draw_tripwires() + if(tripwire_turfs) + remove_tripwires() + //we'll also use this to set up the pew + target_turf = get_ranged_target_turf(src, dir, trigger_range) + var/turf/starting_turf = get_turf(src) + tripwire_turfs = get_line(starting_turf, target_turf) + + for(var/turf/affected_turf in tripwire_turfs) + RegisterSignal(affected_turf, COMSIG_ATOM_ENTERED, PROC_REF(on_entered)) + +/obj/item/mine/directional/claymore/now_armed() + draw_tripwires() + . = ..() + +/obj/item/mine/directional/proc/on_entered(datum/source, atom/movable/arrived) + SIGNAL_HANDLER + if(!(arrived in view(trigger_range, src))) + return + if(!can_trigger(arrived)) + return + + if(ismob(arrived)) + var/mob/living/fool = arrived + fool.do_alert_animation(fool) + + visible_message(span_danger("[icon2html(src, viewers(src))] *click*")) + playsound(src, 'sound/machines/click.ogg', 100, TRUE) + INVOKE_ASYNC(src, PROC_REF(trigger_mine), arrived) + + +//pew pew +/obj/item/mine/directional/mine_effect(mob/victim) + if(casingtype && target_turf && victim ?(src.loc != victim.loc) : victim == null) + var/obj/item/ammo_casing/casing = new casingtype(src) + casing.fire_casing(target_turf, null, null, null, 30, ran_zone(), 60, src) + . = ..() + +/obj/item/mine/directional/disarm() + remove_tripwires() + visible_message(span_danger("With a soft clunk, the [src]'s securing bolts retract.")) + . = ..() + +///handles weird cases like ship movement or teleporting +/obj/item/mine/directional/Moved() + . = ..() + if(!loc) + return + if(armed & !triggered) + draw_tripwires() + // //LANDMINE TYPES -//Rylie please help me make these more immersive // /obj/item/mine/pressure/explosive @@ -380,7 +464,7 @@ shrapnel_magnitude = 4 /obj/item/mine/pressure/explosive/fire/mine_effect(mob/victim) - if(victim.is_holding(src))//in case it's been picked up + if(victim && victim.is_holding(src))//in case it's been picked up for(var/turf/T in view(4,victim)) T.IgniteTurf(15) new /obj/effect/hotspot(T) @@ -473,7 +557,7 @@ AddComponent(/datum/component/pellet_cloud, projectile_type=shrapnel_type, magnitude=shrapnel_magnitude) -//like all real 'less' than lethal crowd control options this is, in fact, not very good at being nonlethal +///like all real 'less' than lethal crowd control options this is, in fact, not very good at being nonlethal /obj/item/mine/proximity/explosive/sting name = "\improper'Stinger' Crowd Management Device" desc = "A \"less\" than lethal crowd control weapon, designed to demoralise and scatter anti-NT protestors. The bands of ballistic gel inside strike targets and incapacitate without causing serious maiming. In Theory." @@ -526,6 +610,76 @@ desc = "An anti-infantry device produced during the corporate wars. The explosive payload has been swapped out for 'viscerator'-type antipersonnel drones." spawn_type = /mob/living/simple_animal/hostile/viscerator + + +//Claymores +//shrapnel based dir explosive, extreme short range +//FRONT TOWARDS ENEMY +/obj/item/mine/directional/claymore + name = "C-10 Claymore" + desc = "A compact anti-personnel device with a directional trigger that responds to movement. A faded sticker on the back reads \"FRONT TOWARDS ENEMY\"." + icon = 'icons/obj/world/landmine.dmi' + icon_state = "mine_claymore" + base_icon_state = "mine_claymore" + + trigger_range = 2 + + //customize explosive power + var/range_devastation = -1 + var/range_heavy = 1 + var/range_light = 2 + var/range_flame = 0 + + //using this to indicate pb + var/range_flash = 1 + + //a second run of shrapnel, intended for maiming especially pb targets + var/obj/item/ammo_casing/shredtype = /obj/item/ammo_casing/caseless/shrapnel/shred + casingtype = /obj/item/ammo_casing/caseless/shrapnel + + manufacturer = MANUFACTURER_SCARBOROUGH + +//this will return to basic mines when we relegate them to specifically being on certain ruins & battlefields. For now, it's way too dangerous +/obj/item/mine/directional/claymore/Initialize() + . = ..() + AddElement(/datum/element/world_icon, null, icon, 'icons/obj/landmine.dmi') + +/obj/item/mine/directional/claymore/attackby(obj/item/I, mob/user) + if (I.tool_behaviour == TOOL_SCREWDRIVER && armed) + to_chat(user, "You begin unscrewing \the [src]'s arming pin...") + I.play_tool_sound(src, 50) + if(do_after(user, 10 SECONDS, target = src)) + to_chat(user, "You unscrew \the [src]'s arming pin, disarming it.") + disarm() + else + . = ..() + +/obj/item/mine/directional/claymore/mine_effect(mob/victim) + . = ..() + //if you somehow explode it while on the same tile, you win bonus shrapnel + //also spews stuff everywhere if it's triggered while not set up + if(!target_turf || victim ? (victim.loc == src.loc) : victim == null) + explosion(src, range_devastation, range_heavy, range_light, range_flash, 1, 0, range_flame, 0, 1) + var/casingammo = casingtype.projectile_type + var/shredammo = shredtype.projectile_type + if(casingtype) + AddComponent(/datum/component/pellet_cloud, projectile_type = casingammo, magnitude = 1) + if(shredtype) + AddComponent(/datum/component/pellet_cloud, projectile_type = shredammo, magnitude = 2) + else + var/blastloc = get_step_towards(src, target_turf) + explosion(blastloc, range_devastation, range_heavy, range_light, range_flash, 1, 0, range_flame, 0, 1) + if(shredtype) + var/obj/item/ammo_casing/shredcasing = new shredtype(src) + shredcasing.fire_casing(target_turf, null, null, null, 30, ran_zone(), 50, src) + +/obj/item/mine/directional/claymore/plasma + name = "\improper Etherbor EC-1" + desc = "A proximity explosive designed by the PGF for ambushing advancing infantry & defending corridors. Cooks armored targets to well-done." + shredtype = /obj/item/ammo_casing/caseless/shrapnel/shred/plasma + casingtype = /obj/item/ammo_casing/caseless/shrapnel/plasma + manufacturer = MANUFACTURER_PGF + // //GIMMICK MINES// //pretty much exclusively for adminbus & code dependencies @@ -671,6 +825,9 @@ LIVE_MINE_HELPER(proximity/explosive/sting) LIVE_MINE_HELPER(proximity/spawner/manhack) LIVE_MINE_HELPER(proximity/explosive/plasma) +LIVE_MINE_HELPER(directional/claymore) +LIVE_MINE_HELPER(directional/claymore/plasma) + LIVE_MINE_HELPER(pressure/gas) LIVE_MINE_HELPER(pressure/kickmine) LIVE_MINE_HELPER(pressure/sound) diff --git a/code/game/objects/items/shrapnel.dm b/code/game/objects/items/shrapnel.dm index 249ee7dc41ed..db676e60fc3c 100644 --- a/code/game/objects/items/shrapnel.dm +++ b/code/game/objects/items/shrapnel.dm @@ -35,7 +35,7 @@ name = "flying shrapnel shard" damage = 10 range = 10 - armour_penetration = -20 + armour_penetration = -5 dismemberment = 25 ricochets_max = 2 ricochet_chance = 40 @@ -49,7 +49,7 @@ /obj/projectile/bullet/shrapnel/rusty damage = 8 - armour_penetration = -35 + armour_penetration = -10 dismemberment = 15 ricochets_max = 3//duller = less likely to stick in a wall ricochet_chance = 60 @@ -115,3 +115,42 @@ /obj/projectile/bullet/pellet/stingball/on_ricochet(atom/A) hit_stunned_targets = TRUE // ducking will save you from the first wave, but not the rebounds + + +//claymore shrapnel stuff// +//2 small bursts- one that harasses people passing by a bit aways, one that brutalizes point-blank targets. +/obj/item/ammo_casing/caseless/shrapnel + name = "directional shrapnel burst :D" + desc = "I May Have Overreacted" + pellets = 4 + variance = 70 + projectile_type = /obj/projectile/bullet/shrapnel/claymore + randomspread = TRUE + +/obj/item/ammo_casing/caseless/shrapnel/shred + name = "point blank directional shrapnel burst" + desc = "Claymores are lethal to armored infantry at point blank range." + pellets = 3 + variance = 50 + projectile_type = /obj/projectile/bullet/shrapnel/claymore/pointbl + randomspread = TRUE + +/obj/projectile/bullet/shrapnel/claymore + name = "ceramic splinter" + range = 4 + armour_penetration = 0 + +/obj/projectile/bullet/shrapnel/claymore/pointbl + name = "large ceramic shard" + range = 2 + damage = 18 + dismemberment = 30 + armour_penetration = 10 + +/obj/item/ammo_casing/caseless/shrapnel/plasma + name = "directional plasma burst" + projectile_type = /obj/projectile/energy/plasmabolt + +/obj/item/ammo_casing/caseless/shrapnel/shred/plasma + name = "point blank directional plasma burst" + projectile_type = /obj/projectile/energy/plasmabolt/shred diff --git a/code/game/turfs/open/floor.dm b/code/game/turfs/open/floor.dm index 23fdfcc6d998..7b1603df119d 100644 --- a/code/game/turfs/open/floor.dm +++ b/code/game/turfs/open/floor.dm @@ -62,7 +62,7 @@ if(1) ScrapeAway(2, flags = CHANGETURF_INHERIT_AIR) if(2) - if(prob(60)) + if(prob(50) && broken) ScrapeAway(flags = CHANGETURF_INHERIT_AIR) else break_tile() diff --git a/code/modules/cargo/packs/sec_supply.dm b/code/modules/cargo/packs/sec_supply.dm index e4208699338b..3ae043e4293d 100644 --- a/code/modules/cargo/packs/sec_supply.dm +++ b/code/modules/cargo/packs/sec_supply.dm @@ -155,3 +155,28 @@ contains = list(/obj/item/gun/energy/e_gun/advtaser, /obj/item/gun/energy/e_gun/advtaser) crate_name = "hybrid taser crate" + +/datum/supply_pack/sec_supply/claymore + name = "C-10 Claymore Crate" + desc = "Four motion-activated directional mines, perfect for ambushing enemy infantry. Still debatably legal to sell!" + cost = 3000 + contains = list(/obj/item/paper/fluff/claymore, + /obj/item/mine/directional/claymore, + /obj/item/mine/directional/claymore, + /obj/item/mine/directional/claymore, + /obj/item/mine/directional/claymore) + crate_name = "C-10 Claymore crate" + +/obj/item/paper/fluff/claymore + name = "PRODUCT USAGE GUIDE" + desc = "A dusty memo stamped with the Scarborough Arms logo." + default_raw_text = "ASSEMBLY:

    \ + -Deploy mounting legs and emplace device. Front should be placed in direction of enemy egress, no more then three meters from intended target area.

    \ + -INFORM ALLIES OF PLACEMENT LOCATION.

    \ + -Wait for arming sequence to complete.

    \ + -Enjoy hands-free area denial, courtesy of Scarborough Arms.


    \ + DISASSEMBLY & STORAGE:

    \ + -Insert screwdriver into arming pin access and turn 180 degrees. There will be considerable resistance. DO NOT Step onto or in front of device.

    \ + -When pressure releases, reach below device and lift via underside in one clean motion. Mounting legs will automatically retract.

    \ + -The device is now safe to handle.

    \ + -Safely stow device in secure, moisture-free location, away from fire and blunt force. " diff --git a/code/modules/projectiles/ammunition/_firing.dm b/code/modules/projectiles/ammunition/_firing.dm index bdc5254f13c9..cfa4e91e645c 100644 --- a/code/modules/projectiles/ammunition/_firing.dm +++ b/code/modules/projectiles/ammunition/_firing.dm @@ -8,7 +8,7 @@ spread = round((rand() - 0.5) * distro) else //Smart spread spread = round(1 - 0.5) * distro - if(!throw_proj(target, targloc, user, params, spread)) + if(!throw_proj(target, targloc, user, params, spread, fired_from)) return FALSE else if(isnull(BB)) @@ -45,7 +45,7 @@ reagents.trans_to(BB, reagents.total_volume, transfered_by = user) //For chemical darts/bullets qdel(reagents) -/obj/item/ammo_casing/proc/throw_proj(atom/target, turf/targloc, mob/living/user, params, spread) +/obj/item/ammo_casing/proc/throw_proj(atom/target, turf/targloc, mob/living/user, params, spread, atom/fired_from) var/turf/curloc if(user) curloc = get_turf(user) diff --git a/code/modules/projectiles/projectile/energy/misc.dm b/code/modules/projectiles/projectile/energy/misc.dm index 11f948ddb415..c9e113455387 100644 --- a/code/modules/projectiles/projectile/energy/misc.dm +++ b/code/modules/projectiles/projectile/energy/misc.dm @@ -27,18 +27,33 @@ /obj/projectile/energy/plasmabolt name = "ionized plasma" damage = 25 - armour_penetration = -10 + armour_penetration = -15 range = 8 damage_type = BURN icon_state = "blastwave" color = "#00ff00" hitsound = 'sound/weapons/sear.ogg' + var/heatpwr = 350 /obj/projectile/energy/plasmabolt/on_hit(atom/target, blocked = FALSE) . = ..() if(iscarbon(target)) - var/mob/living/carbon/M = target - M.adjust_bodytemperature(350) + var/mob/living/carbon/cooked = target + cooked.adjust_bodytemperature(heatpwr) if(prob(35)) - M.adjust_fire_stacks(15) - M.IgniteMob() + cooked.adjust_fire_stacks(15) + cooked.IgniteMob() + else + if(cooked.on_fire) + cooked.adjust_fire_stacks(10) + +/obj/projectile/energy/plasmabolt/shred + name = "high-energy ionized plasma" + damage = 35 + armour_penetration = -5 + range = 2 + damage_type = BURN + icon_state = "blastwave" + color = "#00ff00" + hitsound = 'sound/weapons/sear.ogg' + heatpwr = 700 diff --git a/icons/obj/landmine.dmi b/icons/obj/landmine.dmi index dd19fd9d3991a7ab6066d70f467cbd9d60140f3c..40b3e3e4ba127417b178ff6cfadf594d668fb3bf 100644 GIT binary patch literal 3328 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 RvgcZW)fHQ_W>XKue*h~EmDT_N diff --git a/icons/obj/world/landmine.dmi b/icons/obj/world/landmine.dmi new file mode 100644 index 0000000000000000000000000000000000000000..be8db65a3f5fdeb8d15450a93a800aaf2ff4f4de GIT binary patch literal 3377 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 D&Uv3_ literal 0 HcmV?d00001 From 5754831a40ea63cf93b1e479ac0f530a597ecdea Mon Sep 17 00:00:00 2001 From: meem <75212565+meemofcourse@users.noreply.github.com> Date: Tue, 22 Oct 2024 16:57:32 -0300 Subject: [PATCH 098/344] ERT Update (#3383) ## About The Pull Request This pull request is focused on ERTs. It does not add any ERT subshuttles. It does the following: * Removes the /centcom series of outfits (ERTs, dsquaddies, inspectors, and so on) because the system wasn't a subtype of job outfits and was Old. It does not remove their content. * Adds the outpost_access boolean to ERTs, which determines if ERT members should be given access to the outpost. * Does some Misc things: * Subtype of CM-15 mag with inc ammo. * Subtype of CM-5 mag with rubbershot ammo. * Changes up the loot in the ramzi commando outfit a bit. * Adds a bunch of subtypes of webbings with ammo. * Smokebombs no longer have dead memes in their desc. * Adds and changes a bunch of fucking ERTs: * Indies ![indie_erts](https://github.com/user-attachments/assets/4a6f52ac-591d-4189-bede-89ab41799f2b) * Deathsquad was moved to here. Also, they get a janitor and pizza delivery team, plus an EVA variant of the EMT team. * Roumain ![srm_erts](https://github.com/user-attachments/assets/d5299176-def8-4988-8814-c844216f0dc3) * This was originally the primary focus of this PR. There's two teams to choose from: * A hunting party, composed of a Montagne, a Machinist, a Doctor, and some Hunters. * A defense militia, composed of a Montange, a Colligne, a Machinist, a Doctor, and some Hunters. The hunters this time have a variety of ouchy hurt guns, notably the Montange with a two-bore. * CLIP ![erts_clip](https://github.com/user-attachments/assets/839eb885-7da8-4645-ac1f-12a410bd895e) * CLIP kind of stole the spotlight from Roumain, with a whopping 6 teams to choose from: * Standard team, with a Sergeant, Corpsman, Gunner, Engineer, and the common Minutemen. EVA Variant included. * An inspector. For your Inspector ERT needs. * A BARD Field Team, with some BARD Field Agents, so you can prove that damn poster wrong. * A BARD Emergency Team, with Fire, Medical, Xenofauna Specialists and Master Sergeant, so you can prove that damn poster right. * A C-MM Military Police team, with a riot variant, so you can keep safe all of the above. * A C-MM Media team, so you can take photos of all of the above. * Inteq ![inteq_erts](https://github.com/user-attachments/assets/44807c24-1c5b-462c-bd5c-525ac62fc6e8) * Inteq has three ERTs to choose from: * A run-of-the-mill team, composed of a Vanguard, Artificer, Corpsman, and some Enforcers. EVA variant. * A honor guard team, standing in as a military police team and defending any notable figures. * A mothership investigator. Inspector ERT. * SolGov ![erts_solcon](https://github.com/user-attachments/assets/8b0cd506-69aa-4ab9-a0a8-7425f659cff6) * I didn't do much here. Inspector has some cooler gear, I suppose. * NGR ![syndie_erts](https://github.com/user-attachments/assets/02d90da3-f42a-4470-a3a9-a9db84fdf2f5) * The NGR ERT got updated to use their up-to-date gear, of particular note the Marksman and Grenadier. * They also get an official for Inspector ERT Needs. * Cybersun * Cybersun wasn't touched much. * Brand new Hardliner ERT. * Cybersun Representative, Inspector ERT. * PGF ![erts_gezena](https://github.com/user-attachments/assets/8e07f655-5222-4910-ba05-bc47bd28e252) * The PGF gets a standard team, with a Gunner, Medic, Engineer and Gunnery Sergeant. * There is a Federation Observer, which is the inspector ERT. * Ramzi * Ramzi has a single ERT to choose from. This basic team should not be underestimated; it has a Demolitionist with a rocket launcher, a Medic with combat simulants, a Leader with access to varying types of shotgun ammunition, and Cell Members with explosives to spare. If they know how to use their gear right, they might not die in a Vaquero airlock. * Fronties ![erts_fronties](https://github.com/user-attachments/assets/8d32dd49-a3a3-4f14-b04e-3af181a47e6b) * The Frontiersmen now have four ERTs to choose from: * A basic team, with Illestern Riflemen and an Officer. There's an unarmed variant if you want to equip them yourself. * A raiding team, with Riflemen, an Engineer, a Medic, and an Officer. Balanced, probably. * Shock troops, with a Sentry, a Flametrooper, Shock Medic, Shock Officer, and SKM Riflemen. Finally, the sentries see some use. * A randomized team. The chances and equipment were reviewed a bit so you have more chances of getting something Fun instead of Nothing. * NT ![nt_erts](https://github.com/user-attachments/assets/aaab7554-ca7b-4be3-b3a9-d8bad55d317a) * Practically every NT ERT has been killed off except a Vigilitas security team, an N+S delivery team, and CentCom's last stand - the inspector ERT. ## Why It's Good For The Game please play SRM ## Changelog :cl: add: A lot of ERTs and ERT remasters, including Fronties, Ramzi, PGF, NGR, Indies and whatnot del: Most Nanotrasen ERTs have been shelved pending assets del: Smokebomb randomized descriptions /:cl: --------- Signed-off-by: meem <75212565+meemofcourse@users.noreply.github.com> Co-authored-by: rye-rice <58402542+rye-rice@users.noreply.github.com> --- .../syndicate/syndicate_twinkleshine.dmm | 8 +- code/datums/ert.dm | 290 ----------- code/datums/ert/_ert.dm | 39 ++ code/datums/ert/ert_clip.dm | 59 +++ code/datums/ert/ert_frontiersmen.dm | 36 ++ code/datums/ert/ert_gezena.dm | 21 + code/datums/ert/ert_indies.dm | 50 ++ code/datums/ert/ert_inteq.dm | 32 ++ code/datums/ert/ert_nanotrasen.dm | 26 + code/datums/ert/ert_roumain.dm | 24 + code/datums/ert/ert_solgov.dm | 19 + code/datums/ert/ert_syndicate.dm | 73 +++ code/game/objects/items/grenades/smokebomb.dm | 9 +- code/game/objects/items/storage/belt.dm | 61 ++- code/modules/admin/verbs/one_click_antag.dm | 14 +- code/modules/admin/verbs/randomverbs.dm | 4 +- code/modules/antagonists/ert/ert.dm | 6 +- code/modules/antagonists/ert/frontiersmen.dm | 38 +- code/modules/antagonists/ert/gezena.dm | 29 ++ code/modules/antagonists/ert/indie.dm | 20 +- code/modules/antagonists/ert/inteq.dm | 38 +- code/modules/antagonists/ert/minutemen.dm | 95 ++-- code/modules/antagonists/ert/nanotrasen.dm | 191 ++----- code/modules/antagonists/ert/roumain.dm | 50 ++ code/modules/antagonists/ert/solgov.dm | 11 +- code/modules/antagonists/ert/syndicate.dm | 110 ++-- code/modules/client/preferences.dm | 2 +- code/modules/clothing/factions/clip.dm | 13 +- .../modules/clothing/factions/frontiersmen.dm | 50 +- code/modules/clothing/factions/gezena.dm | 25 + code/modules/clothing/factions/hardliners.dm | 6 + code/modules/clothing/factions/ngr.dm | 11 + code/modules/clothing/head/helmet.dm | 2 +- .../clothing/outfits/ert/frontiersmen_ert.dm | 118 +++-- .../clothing/outfits/ert/gezena_ert.dm | 87 ++++ .../modules/clothing/outfits/ert/indie_ert.dm | 103 +++- .../modules/clothing/outfits/ert/inteq_ert.dm | 118 ++++- .../clothing/outfits/ert/minutemen_ert.dm | 150 ++++-- .../clothing/outfits/ert/nanotrasen_ert.dm | 490 ++---------------- .../clothing/outfits/ert/roumain_ert.dm | 131 +++++ .../clothing/outfits/ert/solgov_ert.dm | 14 +- .../clothing/outfits/ert/syndicate_ert.dm | 295 ++++++++--- .../clothing/outfits/factions/minutemen.dm | 21 +- .../clothing/outfits/factions/roumain.dm | 2 +- code/modules/clothing/outfits/standard.dm | 84 --- .../mob/living/simple_animal/corpse.dm | 6 +- .../boxes_magazines/external/shotgun.dm | 6 + .../clip_lanchester/ballistics.dm | 17 +- .../manufacturer/scarborough/ballistics.dm | 11 +- shiptest.dme | 15 +- 50 files changed, 1833 insertions(+), 1297 deletions(-) delete mode 100644 code/datums/ert.dm create mode 100644 code/datums/ert/_ert.dm create mode 100644 code/datums/ert/ert_clip.dm create mode 100644 code/datums/ert/ert_frontiersmen.dm create mode 100644 code/datums/ert/ert_gezena.dm create mode 100644 code/datums/ert/ert_indies.dm create mode 100644 code/datums/ert/ert_inteq.dm create mode 100644 code/datums/ert/ert_nanotrasen.dm create mode 100644 code/datums/ert/ert_roumain.dm create mode 100644 code/datums/ert/ert_solgov.dm create mode 100644 code/datums/ert/ert_syndicate.dm create mode 100644 code/modules/antagonists/ert/gezena.dm create mode 100644 code/modules/antagonists/ert/roumain.dm create mode 100644 code/modules/clothing/outfits/ert/gezena_ert.dm create mode 100644 code/modules/clothing/outfits/ert/roumain_ert.dm diff --git a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm index 111dd2f22690..9b789add9c3e 100644 --- a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm +++ b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm @@ -1830,7 +1830,7 @@ name = "operative's locker" }, /obj/item/clothing/suit/armor/vest/syndie, -/obj/item/clothing/head/helmet/operator, +/obj/item/clothing/head/helmet/syndie, /obj/item/gun/ballistic/automatic/pistol/ringneck/no_mag, /obj/item/ammo_box/magazine/m10mm_ringneck, /obj/item/ammo_box/magazine/m10mm_ringneck, @@ -2095,7 +2095,7 @@ /area/ship/crew/canteen) "lZ" = ( /obj/item/clothing/suit/armor/vest/syndie, -/obj/item/clothing/head/helmet/operator, +/obj/item/clothing/head/helmet/syndie, /obj/item/gun/ballistic/automatic/pistol/ringneck/no_mag, /obj/item/ammo_box/magazine/m10mm_ringneck, /obj/item/ammo_box/magazine/m10mm_ringneck, @@ -3310,7 +3310,7 @@ name = "operative's locker" }, /obj/item/clothing/suit/armor/vest/syndie, -/obj/item/clothing/head/helmet/operator, +/obj/item/clothing/head/helmet/syndie, /obj/item/gun/ballistic/automatic/pistol/ringneck/no_mag, /obj/item/ammo_box/magazine/m10mm_ringneck, /obj/item/ammo_box/magazine/m10mm_ringneck, @@ -7123,7 +7123,7 @@ name = "operative's locker" }, /obj/item/clothing/suit/armor/vest/syndie, -/obj/item/clothing/head/helmet/operator, +/obj/item/clothing/head/helmet/syndie, /obj/item/gun/ballistic/automatic/pistol/ringneck/no_mag, /obj/item/ammo_box/magazine/m10mm_ringneck, /obj/item/ammo_box/magazine/m10mm_ringneck, diff --git a/code/datums/ert.dm b/code/datums/ert.dm deleted file mode 100644 index 0c5227e41074..000000000000 --- a/code/datums/ert.dm +++ /dev/null @@ -1,290 +0,0 @@ -/datum/ert - var/mobtype = /mob/living/carbon/human - var/team = /datum/team/ert - var/opendoors = FALSE - var/leader_role = /datum/antagonist/ert/commander - var/enforce_human = FALSE - var/roles = list(/datum/antagonist/ert/security, /datum/antagonist/ert/medic, /datum/antagonist/ert/engineer) //List of possible roles to be assigned to ERT members. - var/rename_team - var/code - var/mission = "Assist your employers in achieving their goals. Protect corporate assets." - var/teamsize = 5 - var/polldesc - /// If TRUE, gives the team members "[role] [random last name]" style names - var/random_names = FALSE - /// If TRUE, special slots (that are not the leader) will use a predefined limit - var/limit_slots = FALSE - /// If TRUE, the admin who created the response team will be spawned in the briefing room (or in the shuttle) in their preferred briefing outfit (assuming they're a ghost) - var/spawn_admin = FALSE - /// If TRUE, we try and pick one of the most experienced players who volunteered to fill the leader slot - var/leader_experience = TRUE - /// A custom map template to spawn the ERT at. If use_custom_shuttle is FALSE, the ERT will spawn on foot. By default, a Kunai-Class. - var/datum/map_template/ert_template = /datum/map_template/shuttle/subshuttles/kunai - /// If we should actually _use_ the ert_template custom shuttle - var/use_custom_shuttle = TRUE - /// If TRUE, the ERT will spawn at the outpost. If use_custom_shuttle is also TRUE, the shuttle will be docked at the outpost - var/spawn_at_outpost = TRUE - -// Nanotrasen - -/datum/ert/New() - if (!polldesc) - polldesc = "a Code [code] Nanotrasen Emergency Response Team" - -/datum/ert/blue - opendoors = FALSE - code = "Blue" - -/datum/ert/amber - code = "Amber" - -/datum/ert/red - leader_role = /datum/antagonist/ert/commander/red - roles = list(/datum/antagonist/ert/security/red, /datum/antagonist/ert/medic/red, /datum/antagonist/ert/engineer/red) - code = "Red" - -/datum/ert/deathsquad - roles = list(/datum/antagonist/ert/deathsquad) - leader_role = /datum/antagonist/ert/deathsquad/leader - rename_team = "Deathsquad" - code = "Delta" - mission = "Leave no witnesses." - polldesc = "an elite Nanotrasen Strike Team" - -/datum/ert/marine - leader_role = /datum/antagonist/ert/marine - roles = list(/datum/antagonist/ert/marine/security, /datum/antagonist/ert/marine/engineer = 1, /datum/antagonist/ert/marine/medic = 1) - rename_team = "Marine Squad" - polldesc = "an 'elite' Nanotrasen Strike Team" - opendoors = FALSE - -/datum/ert/centcom_official - code = "Green" - teamsize = 1 - opendoors = FALSE - leader_role = /datum/antagonist/ert/official - roles = list(/datum/antagonist/ert/official) - rename_team = "CentCom Officials" - polldesc = "a CentCom Official" - random_names = FALSE - leader_experience = FALSE - spawn_at_outpost = FALSE - ert_template = /datum/map_template/shuttle/subshuttles/ancon - -/datum/ert/centcom_official/New() - mission = "Conduct a routine review of [station_name()]'s vessels." - -/datum/ert/janitor - roles = list(/datum/antagonist/ert/janitor, /datum/antagonist/ert/janitor/heavy) - leader_role = /datum/antagonist/ert/janitor/heavy - teamsize = 4 - opendoors = FALSE - rename_team = "Janitor" - mission = "Clean up EVERYTHING." - polldesc = "a Nanotrasen Janitorial Response Team" - -/datum/ert/intern - roles = list(/datum/antagonist/ert/intern) - leader_role = /datum/antagonist/ert/intern/leader - teamsize = 7 - opendoors = FALSE - spawn_at_outpost = FALSE - rename_team = "Horde of Interns" - mission = "Assist in conflict resolution." - polldesc = "an unpaid internship opportunity with Nanotrasen" - ert_template = /datum/map_template/shuttle/subshuttles/ancon - -/datum/ert/intern/unarmed - roles = list(/datum/antagonist/ert/intern/unarmed) - leader_role = /datum/antagonist/ert/intern/leader/unarmed - rename_team = "Unarmed Horde of Interns" - -/datum/ert/loss_prevention - code = "Light Blue" - teamsize = 4 - opendoors = FALSE - leader_role = /datum/antagonist/ert/lp/lieutenant - roles = list(/datum/antagonist/ert/lp, /datum/antagonist/ert/lp/medic = 1, /datum/antagonist/ert/lp/engineer = 1) - rename_team = "Loss Prevention Team" - polldesc = "a Nanotrasen loss prevention team" - -// Inteq - -/datum/ert/inteq - teamsize = 4 - opendoors = FALSE - leader_role = /datum/antagonist/ert/inteq/leader - roles = list(/datum/antagonist/ert/inteq) - mission = "Carry out your contract." - rename_team = "Generic Inteq Team" - polldesc = "an Inteq emergency team" - ert_template = /datum/map_template/shuttle/subshuttles/anvil - -// SolGov - -/datum/ert/solgov - teamsize = 4 - opendoors = FALSE - leader_role = /datum/antagonist/ert/solgov - roles = list(/datum/antagonist/ert/solgov) - mission = "Intervene in Solarian interests." - rename_team = "SolGov Sonnensoldner Team" - polldesc = "a SolGov mercenary team" - -/datum/ert/solgov/inspector - teamsize = 1 - leader_role = /datum/antagonist/ert/official/solgov - roles = list(/datum/antagonist/ert/official/solgov) - rename_team = "SolGov Inspector" - polldesc = "a solarian inspector" - spawn_at_outpost = FALSE - -/datum/ert/solgov/inspector/New() - mission = "Conduct a routine review on [station_name()]'s vessels." - -// CLIP - -/datum/ert/minutemen - teamsize = 5 - opendoors = FALSE - leader_role = /datum/antagonist/ert/minutemen/leader - /// TODO: figure out a way to fill in at least one rifleman first - roles = list(/datum/antagonist/ert/minutemen, /datum/antagonist/ert/minutemen/corpsman = 1, /datum/antagonist/ert/minutemen/engi = 1, /datum/antagonist/ert/minutemen/gunner = 1) - mission = "Keep the peace in sector affairs" - rename_team = "CLIP Minutemen Squadron" - polldesc = "a CLIP Minutemen squadron" - ert_template = /datum/map_template/shuttle/subshuttles/crux - -//quick infantry - for use when you need to throw minutemen somewhere fast but dont want ANY preperation at all -/datum/ert/minutemen/quick - teamsize = 4 - opendoors = FALSE - leader_role = /datum/antagonist/ert/minutemen/leader - roles = list(/datum/antagonist/ert/minutemen) - mission = "Resolve the conflict at hand" - polldesc = "a CLIP Minutemen emergency team" - random_names = TRUE - - -/datum/ert/minutemen/bard - leader_role = /datum/antagonist/ert/minutemen/bard/leader - roles = list(/datum/antagonist/ert/minutemen/bard, /datum/antagonist/ert/minutemen/bard/medic = 1, /datum/antagonist/ert/minutemen/bard/flamer = 1) - rename_team = "CLIP Minutemen BARD Squadron" - polldesc = "a CLIP Minutemen biohazard removal team" - -/datum/ert/minutemen/riot - teamsize = 6 - leader_role = /datum/antagonist/ert/minutemen/riot/leader - roles = list(/datum/antagonist/ert/minutemen/riot) - rename_team = "CLIP Minutemen Riot Control Squadron" - polldesc = "a CLIP Minutemen riot control team" - -/datum/ert/minutemen/eva - leader_role = /datum/antagonist/ert/minutemen/eva/leader - roles = list(/datum/antagonist/ert/minutemen/eva) - -/datum/ert/minutemen/inspector - teamsize = 1 - leader_role = /datum/antagonist/ert/official/minutemen - roles = list(/datum/antagonist/ert/official/minutemen) - rename_team = "CLIP Minutemen GOLD Inspector" - polldesc = "a CLIP Minutemen inspector" - -// Syndicate - -/datum/ert/syndicate - teamsize = 4 - opendoors = FALSE - leader_role = /datum/antagonist/ert/syndicate/leader - roles = list(/datum/antagonist/ert/syndicate) - mission = "Serve the interests of the Syndicate." - rename_team = "Generic Syndicate Team" - polldesc = "a Syndicate emergency team" - spawn_at_outpost = FALSE - -/datum/ert/syndicate/gorlex - leader_role = /datum/antagonist/ert/syndicate/gorlex/leader - roles = list(/datum/antagonist/ert/syndicate/gorlex, /datum/antagonist/ert/syndicate/gorlex/pointman = 1, /datum/antagonist/ert/syndicate/gorlex/medic = 1, /datum/antagonist/ert/syndicate/gorlex/sniper = 1) - mission = "Serve the interests of the 2nd Battlegroup." - rename_team = "2nd Battlegroup Squad" - polldesc = "a loyalist Gorlex squad" - -/datum/ert/syndicate/cybersun - leader_role = /datum/antagonist/ert/syndicate/cybersun/leader - roles = list(/datum/antagonist/ert/syndicate/cybersun) - mission = "Serve the interests of CyberSun." - rename_team = "Cybersun Commando Team" - polldesc = "a Cybersun Commando team" - -/datum/ert/syndicate/cybersun/medic - leader_role = /datum/antagonist/ert/syndicate/cybersun/medic/leader - roles = list(/datum/antagonist/ert/syndicate/cybersun/medic) - mission = "Assist CyberSun clients." - rename_team = "Cybersun Medical Intervention Team" - polldesc = "a Cybersun paramedic team" - ert_template = /datum/map_template/shuttle/subshuttles/runner - -/datum/ert/syndicate/inspector - teamsize = 1 - leader_role = /datum/antagonist/ert/official/syndicate - roles = list(/datum/antagonist/ert/official/syndicate) - rename_team = "Syndicate Inspector" - polldesc = "a syndicate inspector" - spawn_at_outpost = FALSE - -/datum/ert/syndicate/inspector/New() - mission = "Conduct a routine review on [station_name()]'s vessels." - -// Frontiersmen -/datum/ert/frontier - teamsize = 4 - opendoors = FALSE - leader_role = /datum/antagonist/ert/frontier/leader - roles = list(/datum/antagonist/ert/frontier) - rename_team = "Generic Frontiersmen Team" - mission = "Pillage in the name of the Frontiersmen." - polldesc = "an armed group of pirates" - random_names = TRUE - leader_experience = FALSE - spawn_at_outpost = FALSE - ert_template = /datum/map_template/shuttle/subshuttles/sugarcube - -/datum/ert/frontier/random - teamsize = 8 - leader_role = /datum/antagonist/ert/frontier/random - roles = list(/datum/antagonist/ert/frontier/random) - rename_team = "Randomly Equipped Frontiersmen Team" - -/datum/ert/frontier/assault - leader_role = /datum/antagonist/ert/frontier/leader - roles = list(/datum/antagonist/ert/frontier/better, /datum/antagonist/ert/frontier/medic, /datum/antagonist/ert/frontier/engineer) - rename_team = "Assault Frontiersmen Team" - polldesc = "a well armed squad of pirates" - -/datum/ert/frontier/unarmed //use for finer control of pirate's armaments - leader_role = /datum/antagonist/ert/frontier/leader/unnarmed - roles = list(/datum/antagonist/ert/frontier/unnarmed) - rename_team = "Unnarmed Frontiersmen Team" - polldesc = "a custom squad of pirates" - -/datum/ert/independent - teamsize = 3 - opendoors = FALSE - leader_role = /datum/antagonist/ert/independent - roles = list(/datum/antagonist/ert/independent) - rename_team = "Security Independent Team" - polldesc = "an independent security team" - -/datum/ert/independent/emt - teamsize = 4 - leader_role = /datum/antagonist/ert/independent/emt - roles = list(/datum/antagonist/ert/independent/emt) - rename_team = "Medical Independent Team" - polldesc = "an independent medical response team" - -/datum/ert/independent/firefighter - teamsize = 5 - leader_role = /datum/antagonist/ert/independent/firefighter/leader - roles = list(/datum/antagonist/ert/independent/firefighter, /datum/antagonist/ert/independent/firefighter/medic) - rename_team = "Independent Firefighter Team" - polldesc = "an independent firefighting team" diff --git a/code/datums/ert/_ert.dm b/code/datums/ert/_ert.dm new file mode 100644 index 000000000000..3618d99dee24 --- /dev/null +++ b/code/datums/ert/_ert.dm @@ -0,0 +1,39 @@ +/datum/ert + var/mobtype = /mob/living/carbon/human + var/team = /datum/team/ert + // opens a special subtype of blastdoor. also a legacy setting that will probably not work with multiple outposts + var/opendoors = FALSE + var/leader_role = /datum/antagonist/ert/independent + // makes members spawn as humans. mostly a legacy setting but maybe you'll find it useful + var/enforce_human = FALSE + // list of possible roles to be assigned to ERT members. if it has a value (e.g. datum/antagonist/myspecialguy = 1), the role will be limited + var/roles = list(/datum/antagonist/ert/independent) + // this will appear in the end of round report and the antagonist team list + var/rename_team = "Emergency Response Team" + // this will be shown to the ERT members to be put in their memory + var/mission = "Make effective use of your tools." + // determines the size of the team. make sure there's enough size for all the special roles you may add + var/teamsize = 5 + // this will be shown to ghosts as "Would you like to be considered for [polldesc]?" + var/polldesc = "an emergency response team" + /// If TRUE, gives the team members "[role] [random last name]" style names + var/random_names = FALSE + /// If TRUE, special slots (that are not the leader) will use a predefined limit + var/limit_slots = TRUE + /// If TRUE, the admin who created the response team will be spawned in the briefing room (or in the shuttle) in their preferred briefing outfit (assuming they're a ghost) + var/spawn_admin = FALSE + /// If TRUE, we try and pick one of the most experienced players who volunteered to fill the leader slot + var/leader_experience = TRUE + /// A custom map template to spawn the ERT at. If use_custom_shuttle is FALSE, the ERT will spawn on foot. By default, a Kunai-Class. + var/datum/map_template/ert_template = /datum/map_template/shuttle/subshuttles/kunai + /// If we should actually _use_ the ert_template custom shuttle + var/use_custom_shuttle = TRUE + /// If TRUE, the ERT will spawn at the outpost. If use_custom_shuttle is also TRUE, the shuttle will be docked at the outpost + var/spawn_at_outpost = TRUE + /// should we give the ERT access to the outpost + var/outpost_access = FALSE + +/datum/ert/New() + . = ..() + if(!polldesc) + polldesc = "uhm uhh uhmmmm" diff --git a/code/datums/ert/ert_clip.dm b/code/datums/ert/ert_clip.dm new file mode 100644 index 000000000000..79c4c7493ede --- /dev/null +++ b/code/datums/ert/ert_clip.dm @@ -0,0 +1,59 @@ +/datum/ert/minutemen + teamsize = 5 + leader_role = /datum/antagonist/ert/minutemen/leader + /// TODO: figure out a way to fill in at least one rifleman first + roles = list(/datum/antagonist/ert/minutemen, /datum/antagonist/ert/minutemen/corpsman = 1, /datum/antagonist/ert/minutemen/engi = 1, /datum/antagonist/ert/minutemen/gunner = 1) + mission = "Keep the peace in sector affairs." + rename_team = "CLIP Minutemen Infantry" + polldesc = "a CLIP Minutemen squadron" + ert_template = /datum/map_template/shuttle/subshuttles/crux + +/datum/ert/minutemen/eva + leader_role = /datum/antagonist/ert/minutemen/leader/eva + roles = list(/datum/antagonist/ert/minutemen/eva) + +/datum/ert/minutemen/inspector + teamsize = 1 + leader_role = /datum/antagonist/ert/minutemen/inspector + roles = list(/datum/antagonist/ert/minutemen/inspector) + rename_team = "CLIP Minutemen GOLD Inspector" + polldesc = "a CLIP Minutemen inspector" + +/datum/ert/minutemen/inspector/guarded + teamsize = 3 + roles = list(/datum/antagonist/ert/minutemen/military_police) + +/datum/ert/minutemen/bard + teamsize = 4 + leader_role = /datum/antagonist/ert/minutemen/bard + roles = list(/datum/antagonist/ert/minutemen/bard) + rename_team = "BARD Biohazard Squadron" + polldesc = "a CLIP BARD biohazard team" + +/datum/ert/minutemen/bard/emergency + leader_role = /datum/antagonist/ert/minutemen/bard/emergency/leader + roles = list(/datum/antagonist/ert/minutemen/bard/emergency, /datum/antagonist/ert/minutemen/bard/medic = 1, /datum/antagonist/ert/minutemen/bard/flamer = 1) + rename_team = "BARD Emergency Squadron" + polldesc = "an emergency CLIP BARD team" + +/datum/ert/minutemen/military_police + teamsize = 4 + leader_role = /datum/antagonist/ert/minutemen/military_police/leader + roles = list(/datum/antagonist/ert/minutemen/military_police) + rename_team = "C-MM Military Police" + polldesc = "a C-MM military police team" + +/datum/ert/minutemen/military_police/riot + leader_role = /datum/antagonist/ert/minutemen/military_police/leader/riot + roles = list(/datum/antagonist/ert/minutemen/military_police/riot) + rename_team = "C-MM Riot Control Team" + polldesc = "a C-MM riot control team" + +/datum/ert/minutemen/journalist + teamsize = 3 + leader_role = /datum/antagonist/ert/minutemen/correspondant + roles = list(/datum/antagonist/ert/minutemen/correspondant) + mission = "Inform the public of the frontier's news." + rename_team = "C-MM Correspondants" + polldesc = "a C-MM media team" + ert_template = /datum/map_template/shuttle/subshuttles/kunai diff --git a/code/datums/ert/ert_frontiersmen.dm b/code/datums/ert/ert_frontiersmen.dm new file mode 100644 index 000000000000..58934fa30a1d --- /dev/null +++ b/code/datums/ert/ert_frontiersmen.dm @@ -0,0 +1,36 @@ +/datum/ert/frontier + teamsize = 4 + opendoors = FALSE + leader_role = /datum/antagonist/ert/frontier/leader + roles = list(/datum/antagonist/ert/frontier) + rename_team = "Generic Frontiersmen Team" + mission = "Pillage in the name of the Frontiersmen." + polldesc = "a group of frontiersmen" + random_names = TRUE + leader_experience = FALSE + spawn_at_outpost = FALSE + ert_template = /datum/map_template/shuttle/subshuttles/brawler + +/datum/ert/frontier/unarmed // use for finer control of pirate's armaments + leader_role = /datum/antagonist/ert/frontier/leader/unarmed + roles = list(/datum/antagonist/ert/frontier/unarmed) + rename_team = "Unarmed Frontiersmen Team" + +/datum/ert/frontier/random + teamsize = 8 // the second takes the rifle and shoots + leader_role = /datum/antagonist/ert/frontier/random + roles = list(/datum/antagonist/ert/frontier/random) + rename_team = "Randomly Equipped Frontiersmen Team" + +/datum/ert/frontier/raiders + leader_role = /datum/antagonist/ert/frontier/leader + roles = list(/datum/antagonist/ert/frontier/skm, /datum/antagonist/ert/frontier/medic = 1, /datum/antagonist/ert/frontier/engineer = 1) + rename_team = "Assault Frontiersmen Team" + polldesc = "a well armed squad of pirates" + +/datum/ert/frontier/shock + teamsize = 6 + leader_role = /datum/antagonist/ert/frontier/leader/heavy + roles = list(/datum/antagonist/ert/frontier/skm, /datum/antagonist/ert/frontier/sentry = 1, /datum/antagonist/ert/frontier/flamer = 1, /datum/antagonist/ert/frontier/medic/heavy = 1, /datum/antagonist/ert/frontier/engineer = 1) + rename_team = "Frontiersmen Shock Troops" + polldesc = "a frontiersmen shock troop squadron" diff --git a/code/datums/ert/ert_gezena.dm b/code/datums/ert/ert_gezena.dm new file mode 100644 index 000000000000..4e0057a567cd --- /dev/null +++ b/code/datums/ert/ert_gezena.dm @@ -0,0 +1,21 @@ +/datum/ert/gezena + teamsize = 4 + leader_role = /datum/antagonist/ert/gezena/leader + roles = list(/datum/antagonist/ert/gezena, /datum/antagonist/ert/gezena/gunner, /datum/antagonist/ert/gezena/medic, /datum/antagonist/ert/gezena/engineer) + rename_team = "Gezenan Heavy Response Team" + polldesc = "a PGF response team" + ert_template = /datum/map_template/shuttle/subshuttles/nail + +/datum/ert/gezena/inspector + teamsize = 1 + leader_role = /datum/antagonist/ert/gezena/inspector + roles = list(/datum/antagonist/ert/gezena/inspector) + rename_team = "Gezenan Federation Observer" + polldesc = "a PGF inspector" + +/datum/ert/gezena/inspector/guarded + teamsize = 3 + roles = list(/datum/antagonist/ert/gezena) + +/datum/ert/gezena/inspector/New() + mission = "Conduct a routine review on [station_name()]'s Federation vessels." diff --git a/code/datums/ert/ert_indies.dm b/code/datums/ert/ert_indies.dm new file mode 100644 index 000000000000..a4fc323b9b83 --- /dev/null +++ b/code/datums/ert/ert_indies.dm @@ -0,0 +1,50 @@ +/datum/ert/independent + teamsize = 4 + opendoors = FALSE + leader_role = /datum/antagonist/ert/independent + roles = list(/datum/antagonist/ert/independent) + rename_team = "Security Independent Team" + polldesc = "an independent security team" + +/datum/ert/independent/emt + teamsize = 3 + leader_role = /datum/antagonist/ert/independent/emt + roles = list(/datum/antagonist/ert/independent/emt) + rename_team = "Medical Independent Team" + polldesc = "an independent medical response team" + +/datum/ert/independent/emt/eva + leader_role = /datum/antagonist/ert/independent/emt/eva + roles = list(/datum/antagonist/ert/independent/emt/eva) + +/datum/ert/independent/firefighter + teamsize = 5 + leader_role = /datum/antagonist/ert/independent/firefighter/leader + roles = list(/datum/antagonist/ert/independent/firefighter, /datum/antagonist/ert/independent/firefighter/medic) + rename_team = "Independent Firefighter Team" + polldesc = "an independent firefighting team" + +/datum/ert/independent/engineer + leader_role = /datum/antagonist/ert/independent/technician + roles = list(/datum/antagonist/ert/independent/technician) + rename_team = "Engineering Independent Team" + polldesc = "an independent engineering team" + +/datum/ert/independent/janitor + leader_role = /datum/antagonist/ert/independent/janitor + roles = list(/datum/antagonist/ert/independent/janitor) + rename_team = "Independent Janitorial Team" + polldesc = "an independent clean-up team" + +/datum/ert/independent/pizza + leader_role = /datum/antagonist/ert/independent/pizza + roles = list(/datum/antagonist/ert/independent/pizza) + rename_team = "Independent Pizza Delivery Team" + polldesc = "a pizza delivery job" + +/datum/ert/independent/deathsquad + teamsize = 2 + leader_role = /datum/antagonist/ert/independent/deathsquad + roles = list(/datum/antagonist/ert/independent/deathsquad) + rename_team = "Death Commando Team" + polldesc = "a death squadron team" diff --git a/code/datums/ert/ert_inteq.dm b/code/datums/ert/ert_inteq.dm new file mode 100644 index 000000000000..a1152688ef28 --- /dev/null +++ b/code/datums/ert/ert_inteq.dm @@ -0,0 +1,32 @@ +/datum/ert/inteq + teamsize = 4 + leader_role = /datum/antagonist/ert/inteq/leader + roles = list(/datum/antagonist/ert/inteq, /datum/antagonist/ert/inteq/medic, /datum/antagonist/ert/inteq/engineer) + mission = "Carry out your contract." + rename_team = "Inteq Assault Team" + polldesc = "an Inteq assault team" + ert_template = /datum/map_template/shuttle/subshuttles/anvil + +/datum/ert/inteq/eva + leader_role = /datum/antagonist/ert/inteq/leader/eva + roles = list(/datum/antagonist/ert/inteq/eva, /datum/antagonist/ert/inteq/medic/eva, /datum/antagonist/ert/inteq/engineer/eva) + +/datum/ert/inteq/inspector + teamsize = 1 + leader_role = /datum/antagonist/ert/inteq/inspector + roles = list(/datum/antagonist/ert/inteq/inspector) + mission = "Assure Inteq's quality on the frontier." + rename_team = "Inteq Investigator Team" + polldesc = "an Inteq investigator" + +/datum/ert/inteq/inspector/guarded + teamsize = 3 + leader_role = /datum/antagonist/ert/inteq/inspector + roles = list(/datum/antagonist/ert/inteq/honor_guard) + +/datum/ert/inteq/honor_guard + teamsize = 3 + leader_role = /datum/antagonist/ert/inteq/honor_guard + roles = list(/datum/antagonist/ert/inteq/honor_guard) + rename_team = "Inteq Honor Guard" + polldesc = "an Inteq honor guardsman team" diff --git a/code/datums/ert/ert_nanotrasen.dm b/code/datums/ert/ert_nanotrasen.dm new file mode 100644 index 000000000000..79b2adf4bc8d --- /dev/null +++ b/code/datums/ert/ert_nanotrasen.dm @@ -0,0 +1,26 @@ +/datum/ert/nanotrasen + teamsize = 4 + leader_role = /datum/antagonist/ert/nanotrasen/leader + roles = list(/datum/antagonist/ert/nanotrasen) + mission = "Work for the corporate values of Nanotrasen." + rename_team = "Vigilitas Security Team" + polldesc = "a Vigilitas security team" + +// /datum/ert/nanotrasen/emergency +// leader_role = /datum/antagonist/ert/nanotrasen/leader/emergency +// roles = list(/datum/antagonist/ert/nanotrasen/emergency, /datum/antagonist/ert/nanotrasen/emergency/engineer=1, /datum/antagonist/ert/nanotrasen/emergency/medic=1) +// rename_team = "Vigilitas Distress Response Team" +// polldesc = "a Vigilitas emergency team" + +/datum/ert/nanotrasen/delivery + leader_role = /datum/antagonist/ert/nanotrasen/delivery + roles = list(/datum/antagonist/ert/nanotrasen/delivery) + rename_team = "N+S Delivery Team" + polldesc = "a N+S delivery job" + +/datum/ert/nanotrasen/inspector + teamsize = 1 + leader_role = /datum/antagonist/ert/nanotrasen/inspector + roles = list(/datum/antagonist/ert/nanotrasen/inspector) + rename_team = "Nanotrasen Central Command Liaison" + polldesc = "a NT CentCom inspector" diff --git a/code/datums/ert/ert_roumain.dm b/code/datums/ert/ert_roumain.dm new file mode 100644 index 000000000000..5c33bdd39cb6 --- /dev/null +++ b/code/datums/ert/ert_roumain.dm @@ -0,0 +1,24 @@ +/datum/ert/srm + teamsize = 5 + leader_role = /datum/antagonist/ert/roumain/leader + roles = list(/datum/antagonist/ert/roumain/medic = 1, /datum/antagonist/ert/roumain/engineer = 1, /datum/antagonist/ert/roumain) + mission = "Serve the Church of Saint Roumain." + rename_team = "Roumain Hunting Party" + polldesc = "a Roumain hunting party" + +/datum/ert/srm/battle + teamsize = 7 + leader_role = /datum/antagonist/ert/roumain/leader/twobore // if you haven't heard of the srm you sure fucking will now + roles = list( + /datum/antagonist/ert/roumain/leader/colligne = 1, + /datum/antagonist/ert/roumain/medic = 1, + /datum/antagonist/ert/roumain/engineer = 1, + /datum/antagonist/ert/roumain/firestorm = 1, + /datum/antagonist/ert/roumain/scout = 1, + /datum/antagonist/ert/roumain/vickland + ) + mission = "Defend the Church of Saint Roumain presence in this sector." + rename_team = "Roumain Militia Defense Team" + polldesc = "a Roumain militia defense team" + +// ashhands one day maybes diff --git a/code/datums/ert/ert_solgov.dm b/code/datums/ert/ert_solgov.dm new file mode 100644 index 000000000000..4d0cf8b83011 --- /dev/null +++ b/code/datums/ert/ert_solgov.dm @@ -0,0 +1,19 @@ +/datum/ert/solgov + teamsize = 4 + opendoors = FALSE + leader_role = /datum/antagonist/ert/solgov + roles = list(/datum/antagonist/ert/solgov) + mission = "Intervene in Solarian interests." + rename_team = "SolGov Sonnensoldner Team" + polldesc = "a SolGov mercenary team" + +/datum/ert/solgov/inspector + teamsize = 1 + leader_role = /datum/antagonist/ert/solgov/inspector + roles = list(/datum/antagonist/ert/solgov/inspector) + rename_team = "SolGov Inspector" + polldesc = "a solarian inspector" + spawn_at_outpost = FALSE + +/datum/ert/solgov/inspector/New() + mission = "Conduct a routine review on [station_name()]'s vessels." diff --git a/code/datums/ert/ert_syndicate.dm b/code/datums/ert/ert_syndicate.dm new file mode 100644 index 000000000000..77558a5bc57e --- /dev/null +++ b/code/datums/ert/ert_syndicate.dm @@ -0,0 +1,73 @@ +// stand-ins + +/datum/ert/syndicate + teamsize = 4 + leader_role = /datum/antagonist/ert/syndicate/leader + roles = list(/datum/antagonist/ert/syndicate) + mission = "Serve the interests of the Syndicate." + rename_team = "Generic Syndicate Team" + polldesc = "a Syndicate emergency team" + spawn_at_outpost = FALSE + +/datum/ert/syndicate/inspector + teamsize = 1 + leader_role = /datum/antagonist/ert/syndicate/inspector + roles = list(/datum/antagonist/ert/syndicate/inspector) + rename_team = "Syndicate Inspector" + polldesc = "a syndicate ACLF inspector" + +/datum/ert/syndicate/inspector/New() + mission = "Conduct a routine review on [station_name()]'s Coalition vessels." + +// new gorlex republic + +/datum/ert/syndicate/ngr + teamsize = 5 + leader_role = /datum/antagonist/ert/syndicate/ngr/leader + roles = list(/datum/antagonist/ert/syndicate/ngr, /datum/antagonist/ert/syndicate/ngr/grenadier = 1, /datum/antagonist/ert/syndicate/ngr/medic = 1, /datum/antagonist/ert/syndicate/ngr/sniper = 1) + mission = "Uphold the sovereignty of the New Gorlex Republic." + rename_team = "Gorlex Republic Detachment" + polldesc = "a Gorlex Republic battle squad" + +/datum/ert/syndicate/ngr/inspector + teamsize = 1 + leader_role = /datum/antagonist/ert/syndicate/ngr/inspector + roles = list(/datum/antagonist/ert/syndicate/ngr/inspector) + rename_team = "Gorlex Republic Official" + polldesc = "a Gorlex Republic inspector" + +/datum/ert/syndicate/ngr/inspector/guarded + teamsize = 3 + leader_role = /datum/antagonist/ert/syndicate/ngr/inspector + roles = list(/datum/antagonist/ert/syndicate/ngr) + +// cybersun + +/datum/ert/syndicate/cybersun + leader_role = /datum/antagonist/ert/syndicate/cybersun/leader + roles = list(/datum/antagonist/ert/syndicate/cybersun) + mission = "Serve the interests of CyberSun." + rename_team = "Cybersun Commando Team" + polldesc = "a Cybersun Commando team" + +/datum/ert/syndicate/cybersun/medic + leader_role = /datum/antagonist/ert/syndicate/cybersun/medic/leader + roles = list(/datum/antagonist/ert/syndicate/cybersun/medic) + mission = "Assist CyberSun clients." + rename_team = "Cybersun Medical Intervention Team" + polldesc = "a Cybersun paramedic team" + ert_template = /datum/map_template/shuttle/subshuttles/runner + +/datum/ert/syndicate/hardliners + leader_role = /datum/antagonist/ert/syndicate/hardliner/leader + roles = list(/datum/antagonist/ert/syndicate/hardliner, /datum/antagonist/ert/syndicate/hardliner/medic = 1, /datum/antagonist/ert/syndicate/hardliner/engineer = 1) + mission = "Serve the interests of CyberSun." + rename_team = "Hardliner Element" + polldesc = "a Hardliner attack team" + +/datum/ert/syndicate/ramzi + leader_role = /datum/antagonist/ert/syndicate/ramzi/leader + roles = list(/datum/antagonist/ert/syndicate/ramzi, /datum/antagonist/ert/syndicate/ramzi/medic = 1, /datum/antagonist/ert/syndicate/ramzi/demolitionist = 1) + mission = "Make Ramzi proud." + rename_team = "Ramzi Cell" + polldesc = "a Ramzi pirate team" diff --git a/code/game/objects/items/grenades/smokebomb.dm b/code/game/objects/items/grenades/smokebomb.dm index dfea3fb87829..c29a00a83901 100644 --- a/code/game/objects/items/grenades/smokebomb.dm +++ b/code/game/objects/items/grenades/smokebomb.dm @@ -1,17 +1,10 @@ /obj/item/grenade/smokebomb name = "smoke grenade" - desc = "Real bruh moment if you ever see this. Probably tell a c*der or something." + desc = "A smoke grenade pattern, used to screen unit movements, and signal landing zones, widely used by military forces on the frontier and beyond." icon = 'icons/obj/grenade.dmi' icon_state = "smokewhite" item_state = "smoke" slot_flags = ITEM_SLOT_BELT - ///It's extremely important to keep this list up to date. It helps to generate the insightful description of the smokebomb. EDIT: honestly fuck you nemvar. go directly to jail and do not collect 200 dollars - var/static/list/bruh_moment = list("Dank", "Hip", "Lit", "Based", "Robust", "Bruh") - -///Here we generate the extremely insightful description. -/obj/item/grenade/smokebomb/Initialize() - . = ..() - desc = "The word '[pick(bruh_moment)]' is scribbled on it in crayon." ///Here we generate some smoke and also damage blobs??? for some reason. Honestly not sure why we do that. /obj/item/grenade/smokebomb/prime() diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index ed5ecc0d2717..7bb42ef321b4 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -259,6 +259,15 @@ new /obj/item/hypospray/mkii(src) update_appearance() +/obj/item/storage/belt/medical/webbing/combat/PopulateContents() + . = ..() + new /obj/item/reagent_containers/hypospray/medipen/stimpack/traitor(src) + new /obj/item/reagent_containers/hypospray/medipen/stimpack/traitor(src) + new /obj/item/reagent_containers/medigel/silver_sulf(src) + new /obj/item/reagent_containers/medigel/styptic(src) + new /obj/item/stack/medical/gauze/twelve(src) + new /obj/item/stack/medical/splint(src) + /obj/item/storage/belt/security name = "security belt" desc = "Can hold security gear like handcuffs and flashes." @@ -323,10 +332,12 @@ var/datum/component/storage/STR = GetComponent(/datum/component/storage) STR.max_items = 6 -/obj/item/storage/belt/security/webbing/bulldog/PopulateContents() +/obj/item/storage/belt/security/webbing/bulldog_mixed/PopulateContents() . = ..() - for(var/i in 1 to 3) - new /obj/item/ammo_box/magazine/m12g_bulldog/drum(src) + new /obj/item/ammo_box/magazine/m12g_bulldog/drum/bioterror(src) // you only get ONE this one is nasty + new /obj/item/ammo_box/magazine/m12g_bulldog/drum/slug(src) + new /obj/item/ammo_box/magazine/m12g_bulldog/drum/slug(src) + new /obj/item/ammo_box/magazine/m12g_bulldog/drum(src) /obj/item/storage/belt/mining name = "explorer's webbing" @@ -453,16 +464,30 @@ var/datum/component/storage/STR = GetComponent(/datum/component/storage) STR.max_w_class = WEIGHT_CLASS_SMALL -/obj/item/storage/belt/military/c20r/PopulateContents() +/obj/item/storage/belt/military/cobra/PopulateContents() . = ..() for(var/i in 1 to 4) new /obj/item/ammo_box/magazine/m45_cobra(src) -/obj/item/storage/belt/military/assault/m90/PopulateContents() +/obj/item/storage/belt/military/hydra/PopulateContents() . = ..() for(var/i in 1 to 4) new /obj/item/ammo_box/magazine/m556_42_hydra(src) +/obj/item/storage/belt/military/boomslang/PopulateContents() + . = ..() + for(var/i in 1 to 4) + new /obj/item/ammo_box/magazine/boomslang(src) + +/obj/item/storage/belt/military/mako/PopulateContents() + . = ..() + new /obj/item/ammo_casing/caseless/rocket/a70mm/hedp(src) + new /obj/item/ammo_casing/caseless/rocket/a70mm/hedp(src) + new /obj/item/ammo_casing/caseless/rocket/a70mm(src) + new /obj/item/ammo_casing/caseless/rocket/a70mm(src) + new /obj/item/ammo_casing/caseless/rocket/a70mm(src) + new /obj/item/ammo_casing/caseless/rocket/a70mm(src) + /obj/item/storage/belt/military/snack name = "tactical snack rig" @@ -546,6 +571,22 @@ var/datum/component/storage/STR = GetComponent(/datum/component/storage) STR.max_items = 6 +/obj/item/storage/belt/military/assault/hydra/PopulateContents() + . = ..() + for(var/i in 1 to 4) + new /obj/item/ammo_box/magazine/m556_42_hydra(src) + +/obj/item/storage/belt/military/assault/sniper/PopulateContents() + . = ..() + new /obj/item/ammo_box/magazine/sniper_rounds(src) + new /obj/item/ammo_box/magazine/sniper_rounds(src) + new /obj/item/ammo_box/magazine/sniper_rounds/penetrator(src) + +/obj/item/storage/belt/military/assault/commander/PopulateContents() + . = ..() + for(var/i in 1 to 4) + new /obj/item/ammo_box/magazine/co9mm(src) + /obj/item/storage/belt/grenade name = "grenadier belt" desc = "A belt for holding grenades." @@ -862,8 +903,18 @@ for(var/i in 1 to 4) new /obj/item/ammo_box/magazine/skm_762_40(src) +/obj/item/storage/belt/security/webbing/inteq/skm_carabine/PopulateContents() + . = ..() + for(var/i in 1 to 4) + new /obj/item/ammo_box/magazine/smgm10mm(src) + /obj/item/storage/belt/security/webbing/inteq/alt name = "inteq drop pouch harness" desc = "A harness with a bunch of pouches attached to them emblazoned in the colors of the IRMG, can hold security gear." icon_state = "inteq_droppouch" item_state = "inteq_droppouch" + +/obj/item/storage/belt/security/webbing/inteq/alt/bulldog/PopulateContents() + . = ..() + for(var/i in 1 to 4) + new /obj/item/ammo_box/magazine/m12g_bulldog(src) diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index e30519342ffb..d4b9259a61e9 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -171,7 +171,7 @@ // DEATH SQUADS /datum/admins/proc/makeDeathsquad() - return makeEmergencyresponseteam(/datum/ert/deathsquad) + return makeEmergencyresponseteam(/datum/ert/independent/deathsquad) // CENTCOM RESPONSE TEAM @@ -193,6 +193,7 @@ .["mainsettings"]["spawn_admin"]["value"] = newtemplate.spawn_admin ? "Yes" : "No" .["mainsettings"]["use_custom_shuttle"]["value"] = newtemplate.use_custom_shuttle ? "Yes" : "No" .["mainsettings"]["spawn_at_outpost"]["value"] = newtemplate.spawn_at_outpost ? "Yes" : "No" + .["mainsettings"]["outpost_access"]["value"] = newtemplate.outpost_access ? "Yes" : "No" /datum/admins/proc/equipAntagOnDummy(mob/living/carbon/human/dummy/mannequin, datum/antagonist/antag) @@ -247,7 +248,7 @@ if (ertemplate) ertemplate = new ertemplate else - ertemplate = new /datum/ert/centcom_official + ertemplate = new /datum/ert/independent var/list/settings = list( "preview_callback" = CALLBACK(src, PROC_REF(makeERTPreviewIcon)), @@ -264,6 +265,7 @@ "spawn_admin" = list("desc" = "Spawn yourself as briefing officer", "type" = "boolean", "value" = "[(ertemplate.spawn_admin ? "Yes" : "No")]"), "use_custom_shuttle" = list("desc" = "Use the ERT's custom shuttle (if it has one)", "type" = "boolean", "value" = "[(ertemplate.use_custom_shuttle ? "Yes" : "No")]"), "spawn_at_outpost" = list("desc" = "Spawn the ERT/Dock the ERT at the Outpost", "type" = "boolean", "value" = "[(ertemplate.spawn_at_outpost ? "Yes" : "No")]"), + "outpost_access" = list("desc" = "Give ERT members outpost access", "type" = "boolean", "value" = "[(ertemplate.outpost_access ? "Yes" : "No")]") ) ) @@ -285,7 +287,7 @@ ertemplate.teamsize = prefs["teamsize"]["value"] ertemplate.mission = prefs["mission"]["value"] ertemplate.polldesc = prefs["polldesc"]["value"] - ertemplate.enforce_human = prefs["enforce_human"]["value"] == "Yes" // these next 8 are effectively toggles + ertemplate.enforce_human = prefs["enforce_human"]["value"] == "Yes" // these next 9 are effectively toggles ertemplate.opendoors = prefs["open_armory"]["value"] == "Yes" ertemplate.leader_experience = prefs["leader_experience"]["value"] == "Yes" ertemplate.random_names = prefs["random_names"]["value"] == "Yes" @@ -293,6 +295,7 @@ ertemplate.spawn_admin = prefs["spawn_admin"]["value"] == "Yes" ertemplate.use_custom_shuttle = prefs["use_custom_shuttle"]["value"] == "Yes" ertemplate.spawn_at_outpost = prefs["spawn_at_outpost"]["value"] == "Yes" + ertemplate.outpost_access = prefs["outpost_access"]["value"] == "Yes" var/list/spawnpoints = GLOB.emergencyresponseteamspawn var/index = 0 @@ -461,13 +464,16 @@ if(teamSpawned) // guestbook for(var/datum/mind/member in ert_team.members) - var/member_mob = member.current + var/mob/living/carbon/human/member_mob = member.current for(var/datum/mind/other_member in ert_team.members) // skip yourself if(other_member.name == member.name) continue var/mob/living/carbon/human/other_member_mob = other_member.current member.guestbook.add_guest(member_mob, other_member_mob, other_member_mob.real_name, other_member_mob.real_name, TRUE) + if(ertemplate.outpost_access && istype(member_mob.wear_id, /obj/item/card/id)) + var/obj/item/card/id/id = member_mob.wear_id + id.access += list(ACCESS_CENT_GENERAL) message_admins("[ertemplate.rename_team] has spawned with the mission: [ertemplate.mission]") diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 853d33e1b61b..333b8b828022 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -70,9 +70,9 @@ return switch(sender) if (RADIO_CHANNEL_SYNDICATE) - sender = input("From what branch?", "Syndicate") as null|anything in list("Syndicate High Command", "The Anti-Corporation Liberation Front", "The Gorlex Marauders", "Donk! Corporation", "Cybersun Virtual Solutions", "The Galactic Engineer's Concordat", "The Naturalienwissenschaftlicher Studentenverbindungs-Verband") + sender = input("From what faction?", "Syndicate") as null|anything in list("Liberation Front Leadership", "Gorlex Republic Military Command", "Cybersun Industries", "the Student-Union of Naturalistic Sciences") if (RADIO_CHANNEL_MINUTEMEN) - sender = input("From what division?", "Minutemen") as null|anything in list("CLIP Minutemen Headquarters", "The Galactic Optium Labor Divison", "The Biohazard Assesment and Removal Division") + sender = input("From what division?", "Minutemen") as null|anything in list("the Colonial League Minutemen", "the Galactic Optium Labor Divison", "the Biohazard Assesment and Removal Division") if (RADIO_CHANNEL_INTEQ) sender = "Inteq Risk Management" if ("Outpost") diff --git a/code/modules/antagonists/ert/ert.dm b/code/modules/antagonists/ert/ert.dm index 25b0b4e1f8cc..9b06d144bafd 100644 --- a/code/modules/antagonists/ert/ert.dm +++ b/code/modules/antagonists/ert/ert.dm @@ -7,7 +7,7 @@ name = "Emergency Response Officer" var/datum/team/ert/ert_team var/leader = FALSE - var/datum/outfit/outfit = /datum/outfit/centcom/ert/security + var/datum/outfit/outfit = /datum/outfit/job/independent/ert var/role = "Security Officer" var/list/name_source var/random_names = TRUE @@ -60,9 +60,9 @@ var/missiondesc = "Your team is being sent to [station_name()].
    " if(leader) //If Squad Leader - missiondesc += " Lead your team to ensure the completion of your objectives." + missiondesc += "Lead your team to ensure the completion of your objectives." else - missiondesc += " Follow orders given to you by your squad leader." + missiondesc += "Follow orders given to you by your squad leader." if(deathsquad) missiondesc += "Leave no witnesses." diff --git a/code/modules/antagonists/ert/frontiersmen.dm b/code/modules/antagonists/ert/frontiersmen.dm index d6a1a5182cf0..da1cb0c6812c 100644 --- a/code/modules/antagonists/ert/frontiersmen.dm +++ b/code/modules/antagonists/ert/frontiersmen.dm @@ -18,31 +18,53 @@ missiondesc += "
    Your Mission: [ert_team.mission.explanation_text]" to_chat(owner,missiondesc) +/datum/antagonist/ert/frontier/skm + outfit = /datum/outfit/job/frontiersmen/ert/skm + +/datum/antagonist/ert/frontier/unarmed + outfit = /datum/outfit/job/frontiersmen/ert/unarmed + /datum/antagonist/ert/frontier/random outfit = /datum/outfit/job/frontiersmen/ert/random +// officers + /datum/antagonist/ert/frontier/leader name = "Frontiersmen Officer" outfit = /datum/outfit/job/frontiersmen/ert/leader role = "Officer" -/datum/antagonist/ert/frontier/leader/unnarmed - outfit = /datum/outfit/job/frontiersmen/ert/leader/unnarmed +/datum/antagonist/ert/frontier/leader/heavy + outfit = /datum/outfit/job/frontiersmen/ert/leader/heavy + +/datum/antagonist/ert/frontier/leader/unarmed + outfit = /datum/outfit/job/frontiersmen/ert/leader/unarmed + +// doctors /datum/antagonist/ert/frontier/medic name = "Frontiersmen Medic" outfit = /datum/outfit/job/frontiersmen/ert/medic role = "Stretcher-Bearer" +/datum/antagonist/ert/frontier/medic/heavy + outfit = /datum/outfit/job/frontiersmen/ert/medic/heavy + +// engineers + /datum/antagonist/ert/frontier/engineer name = "Frontiersmen Engineer" outfit = /datum/outfit/job/frontiersmen/ert/engineer role = "Sapper" -/datum/antagonist/ert/frontier/better - name = "Frontiersmen Grunt" - outfit = /datum/outfit/job/frontiersmen/ert/grunt/skm +// heavy weapons guy + +/datum/antagonist/ert/frontier/flamer + name = "Frontiersmen Flametrooper" + outfit = /datum/outfit/job/frontiersmen/ert/flamer + role = "Flametrooper" -/datum/antagonist/ert/frontier/unnarmed - name = "Frontiersmen Grunt" - outfit = /datum/outfit/job/frontiersmen/ert/grunt +/datum/antagonist/ert/frontier/sentry + name = "Frontiersmen Sentry" + outfit = /datum/outfit/job/frontiersmen/ert/sentry + role = "Sentinel" diff --git a/code/modules/antagonists/ert/gezena.dm b/code/modules/antagonists/ert/gezena.dm new file mode 100644 index 000000000000..73ac1eb9ddba --- /dev/null +++ b/code/modules/antagonists/ert/gezena.dm @@ -0,0 +1,29 @@ +/datum/antagonist/ert/gezena + name = "PGF Marine" + outfit = /datum/outfit/job/gezena/ert + role = "Rifleman" + +/datum/antagonist/ert/gezena/leader + name = "PGF Sergeant" + outfit = /datum/outfit/job/gezena/ert/leader + role = "Gunnery Sergeant" + +/datum/antagonist/ert/gezena/engineer + name = "PGF Combat Engineer" + outfit = /datum/outfit/job/gezena/ert/engineer + role = "Engineer" + +/datum/antagonist/ert/gezena/gunner + name = "PGF Gunner" + outfit = /datum/outfit/job/gezena/ert/gunner + role = "Machinegunner" + +/datum/antagonist/ert/gezena/medic + name = "PGF Corpsman" + outfit = /datum/outfit/job/gezena/ert/medic + role = "Corpsman" + +/datum/antagonist/ert/gezena/inspector + name = "PGF Naval Observer" + outfit = /datum/outfit/job/gezena/ert/inspector + role = "Observer" diff --git a/code/modules/antagonists/ert/indie.dm b/code/modules/antagonists/ert/indie.dm index 265af27bd2d4..d56a6ea84e78 100644 --- a/code/modules/antagonists/ert/indie.dm +++ b/code/modules/antagonists/ert/indie.dm @@ -8,7 +8,7 @@ role = "Security Officer" /datum/antagonist/ert/independent/greet() - to_chat(owner, "You are the [name].") + to_chat(owner, "You are \a [name].") var/missiondesc = "You are one of the many Independent contractors, workers and students on [station_name()].
    " if(leader) //If Squad Leader missiondesc += "Lead your team to complete your objectives." @@ -23,6 +23,9 @@ outfit = /datum/outfit/job/independent/ert/emt role = "Paramedic" +/datum/antagonist/ert/independent/emt/eva + outfit = /datum/outfit/job/independent/ert/emt/eva + /datum/antagonist/ert/independent/firefighter name = "Independent Firefighter" outfit = /datum/outfit/job/independent/ert/firefighter @@ -42,3 +45,18 @@ name = "Independent Technician" outfit = /datum/outfit/job/independent/ert/technician role = "Technician" + +/datum/antagonist/ert/independent/deathsquad + name = "Deathsquad Commando" + outfit = /datum/outfit/job/independent/ert/deathsquad + role = "Commando" + +/datum/antagonist/ert/independent/pizza + name = "Pizza Delivery Worker" + outfit = /datum/outfit/job/independent/ert/pizza + role = "Delivery Worker" + +/datum/antagonist/ert/independent/janitor + name = "Independent Sanitation Technician" + outfit = /datum/outfit/job/independent/ert/janitor + role = "Sanitation Technician" diff --git a/code/modules/antagonists/ert/inteq.dm b/code/modules/antagonists/ert/inteq.dm index f4636487da5f..6666c626c8c0 100644 --- a/code/modules/antagonists/ert/inteq.dm +++ b/code/modules/antagonists/ert/inteq.dm @@ -1,10 +1,9 @@ /datum/antagonist/ert/inteq name = "Inteq Mercenary" - outfit = /datum/outfit/job/inteq/security + outfit = /datum/outfit/job/inteq/ert random_names = TRUE role = "Enforcer" - /datum/antagonist/ert/inteq/greet() to_chat(owner, "You are the [name].") var/missiondesc = "You're one of the many mercenaries under the Inteq Risk Management Group sent to [station_name()].
    " @@ -18,7 +17,40 @@ missiondesc += "
    Contract Terms: [ert_team.mission.explanation_text]" to_chat(owner,missiondesc) +/datum/antagonist/ert/inteq/eva + outfit = /datum/outfit/job/inteq/ert/eva + /datum/antagonist/ert/inteq/leader name = "Inteq Mercenary Leader" - outfit = /datum/outfit/job/inteq/captain/empty + outfit = /datum/outfit/job/inteq/ert/leader role = "Vanguard" + +/datum/antagonist/ert/inteq/leader/eva + outfit = /datum/outfit/job/inteq/ert/leader/eva + +/datum/antagonist/ert/inteq/medic + name = "Inteq Corpsman" + outfit = /datum/outfit/job/inteq/ert/medic + role = "Corpsman" + +/datum/antagonist/ert/inteq/medic/eva + outfit = /datum/outfit/job/inteq/ert/medic/eva + +/datum/antagonist/ert/inteq/engineer + name = "Inteq Artificer" + outfit = /datum/outfit/job/inteq/ert/engineer + role = "Artificer" + +/datum/antagonist/ert/inteq/engineer/eva + outfit = /datum/outfit/job/inteq/ert/engineer/eva + +/datum/antagonist/ert/inteq/honor_guard + name = "Inteq Honor Guard" + outfit = /datum/outfit/job/inteq/ert/honor_guard + role = "Guardsman" + +/datum/antagonist/ert/inteq/inspector + name = "Mothership Investigator" + outfit = /datum/outfit/job/inteq/ert/inspector + random_names = FALSE + role = "Investigator" diff --git a/code/modules/antagonists/ert/minutemen.dm b/code/modules/antagonists/ert/minutemen.dm index 069ab6625c32..5e772227fd65 100644 --- a/code/modules/antagonists/ert/minutemen.dm +++ b/code/modules/antagonists/ert/minutemen.dm @@ -3,17 +3,20 @@ // ******************************************************************** /datum/antagonist/ert/minutemen - name = "CLIP Minutemen" + name = "C-MM Minuteman" outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/armed role = "Minuteman" +/datum/antagonist/ert/minutemen/eva + outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/hardsuit + /datum/antagonist/ert/minutemen/greet() to_chat(owner, "You are \the [role].") - var/missiondesc = "You serve in the armed forced of the Confederated League of Independent Planets (CLIP), an independent government. You are being deployed to the sector of [station_name()].
    " + var/missiondesc = "You serve in the Colonial Minutemen, the armed forces of the Confederated League of Independent Planets. You are being deployed to the sector of [station_name()].
    " if(leader) //If Squad Leader missiondesc += "Lead your squad to complete all objectives." else - missiondesc += "Follow orders given to you by your Leader, the Sergent." + missiondesc += "Follow orders given to you by your squadron leader." if(deathsquad) missiondesc += "You have been given the order to fire at will." @@ -21,70 +24,82 @@ to_chat(owner,missiondesc) /datum/antagonist/ert/minutemen/leader - name = "CLIP Minutemen Field Sergeant" + name = "C-MM Sergeant" leader = TRUE outfit = /datum/outfit/job/clip/minutemen/grunt/lead role = "Sergeant" +/datum/antagonist/ert/minutemen/leader/eva + outfit = /datum/outfit/job/clip/minutemen/grunt/lead/armed/hardsuit + /datum/antagonist/ert/minutemen/corpsman + name = "C-MM Field Corpsman" outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/med/armed - role = "Field Corpsman" + role = "Corpsman" /datum/antagonist/ert/minutemen/engi + name = "C-MM Field Engineer" outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/engi/armed - role = "Field Engineer" + role = "Engineer" /datum/antagonist/ert/minutemen/gunner + name = "C-MM Machinegunner" outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/gunner_armed role = "Field Gunner" /datum/antagonist/ert/minutemen/bard - name = "BARD Infantry" - outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/bard - role = "Minuteman" + name = "BARD Field Agent" + outfit = /datum/outfit/job/clip/minutemen/bard + role = "Agent" + +/datum/antagonist/ert/minutemen/bard/emergency + name = "BARD Xenofauna Specialist" + outfit = /datum/outfit/job/clip/minutemen/bard/emergency + role = "Specialist" /datum/antagonist/ert/minutemen/bard/flamer - name = "BARD Flamethrower Infantry" - outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/bard/flamer + name = "BARD Fire Control Specialist" + outfit = /datum/outfit/job/clip/minutemen/bard/emergency/flamer + role = "Fire Specialist" /datum/antagonist/ert/minutemen/bard/medic - name = "BARD Corpsman" - outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/bard/medic - role = "Corpsman" + name = "BARD Medical Aid Specialist" + outfit = /datum/outfit/job/clip/minutemen/bard/emergency/medic + role = "Medical Specialist" -/datum/antagonist/ert/minutemen/bard/leader - name = "BARD Sergeant" +/datum/antagonist/ert/minutemen/bard/emergency/leader + name = "BARD Master Sergeant" leader = TRUE - outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/bard/leader - role = "Sergeant" + outfit = /datum/outfit/job/clip/minutemen/bard/emergency/leader + role = "Master Sergeant" -/datum/antagonist/ert/minutemen/riot - name = "Riot Officer" - outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/riot - role = "Minuteman" +/datum/antagonist/ert/minutemen/military_police + name = "C-MM Military Police" + outfit = /datum/outfit/job/clip/minutemen/military_police + role = "Officer" -/datum/antagonist/ert/minutemen/riot/leader - name = "Riot Sergeant" +/datum/antagonist/ert/minutemen/military_police/riot + outfit = /datum/outfit/job/clip/minutemen/military_police/riot + +/datum/antagonist/ert/minutemen/military_police/leader + name = "C-MM Chief Military Police" leader = TRUE - outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/riot/leader - role = "Sergeant" + outfit = /datum/outfit/job/clip/minutemen/military_police/leader + role = "Chief Officer" + +/datum/antagonist/ert/minutemen/military_police/leader/riot + outfit = /datum/outfit/job/clip/minutemen/military_police/leader/riot -/datum/antagonist/ert/official/minutemen +/datum/antagonist/ert/minutemen/inspector name = "GOLD Inspector" - outfit = /datum/outfit/job/clip/investigator + outfit = /datum/outfit/job/clip/investigator/cm5 role = "Lieutenant" -/datum/antagonist/ert/official/minutemen/greet() - to_chat(owner, "You are the GOLD Inspector.") +/datum/antagonist/ert/minutemen/inspector/greet() + to_chat(owner, "You are a Labor Division Inspector.") to_chat(owner, "You are part of The Galactic Optimum Labor Division, a division of the CLIP Government. Your task: [ert_team.mission.explanation_text]") -/datum/antagonist/ert/minutemen/eva - name = "CLIP Minutemen" - outfit = /datum/outfit/job/clip/minutemen/grunt/dressed/hardsuit - role = "Minuteman" - -/datum/antagonist/ert/minutemen/eva/leader - name = "CLIP Minutemen Field Sergeant" - leader = TRUE - outfit = /datum/outfit/job/clip/minutemen/grunt/lead/armed/hardsuit - role = "Sergeant" +/datum/antagonist/ert/minutemen/correspondant + name = "C-MM War Correspondant" + outfit = /datum/outfit/job/clip/correspondant + role = "Correspondant" diff --git a/code/modules/antagonists/ert/nanotrasen.dm b/code/modules/antagonists/ert/nanotrasen.dm index 11537e4bcea9..9ea1aa422162 100644 --- a/code/modules/antagonists/ert/nanotrasen.dm +++ b/code/modules/antagonists/ert/nanotrasen.dm @@ -1,152 +1,39 @@ -// Official -/datum/antagonist/ert/official - name = "CentCom Official" - show_name_in_check_antagonists = TRUE - var/datum/objective/mission - role = "Inspector" - random_names = FALSE - outfit = /datum/outfit/centcom/centcom_official - -/datum/antagonist/ert/official/greet() - to_chat(owner, "You are a CentCom Official.") - if (ert_team) - to_chat(owner, "Central Command is sending you to [station_name()] with the task: [ert_team.mission.explanation_text]") - else - to_chat(owner, "Central Command is sending you to [station_name()] with the task: [mission.explanation_text]") - -/datum/antagonist/ert/official/forge_objectives() - if (ert_team) - return ..() - if(mission) - return - var/datum/objective/missionobj = new () - missionobj.owner = owner - missionobj.explanation_text = "Conduct a routine performance review of [station_name()]'s vessels." - missionobj.completed = TRUE - mission = missionobj - objectives |= mission - -// Standard ERT - -/datum/antagonist/ert/security // kinda handled by the base template but here for completion - -/datum/antagonist/ert/security/red - outfit = /datum/outfit/centcom/ert/security/alert - -/datum/antagonist/ert/engineer - role = "Engineer" - outfit = /datum/outfit/centcom/ert/engineer - -/datum/antagonist/ert/engineer/red - outfit = /datum/outfit/centcom/ert/engineer/alert - -/datum/antagonist/ert/medic - role = "Medical Officer" - outfit = /datum/outfit/centcom/ert/medic - -/datum/antagonist/ert/medic/red - outfit = /datum/outfit/centcom/ert/medic/alert - -/datum/antagonist/ert/commander - role = "Commander" - outfit = /datum/outfit/centcom/ert/commander - -/datum/antagonist/ert/commander/red - outfit = /datum/outfit/centcom/ert/commander/alert - -// Deathsquad - -/datum/antagonist/ert/deathsquad - name = "Deathsquad Trooper" - outfit = /datum/outfit/centcom/death_commando - role = "Trooper" - deathsquad = TRUE - -/datum/antagonist/ert/deathsquad/leader - name = "Deathsquad Officer" - outfit = /datum/outfit/centcom/death_commando - role = "Officer" - -/datum/antagonist/ert/deathsquad/New() - . = ..() - name_source = GLOB.commando_names - -/datum/antagonist/ert/deathsquad/apply_innate_effects(mob/living/mob_override) - ADD_TRAIT(owner, TRAIT_DISK_VERIFIER, DEATHSQUAD_TRAIT) - -/datum/antagonist/ert/deathsquad/remove_innate_effects(mob/living/mob_override) - REMOVE_TRAIT(owner, TRAIT_DISK_VERIFIER, DEATHSQUAD_TRAIT) - -// Janitor - -/datum/antagonist/ert/janitor - role = "Janitor" - outfit = /datum/outfit/centcom/ert/janitor - -/datum/antagonist/ert/janitor/heavy - role = "Heavy Duty Janitor" - outfit = /datum/outfit/centcom/ert/janitor/heavy - -// Intern - -/datum/antagonist/ert/intern - name = "CentCom Intern" - outfit = /datum/outfit/centcom/centcom_intern - random_names = FALSE - role = "Intern" - -/datum/antagonist/ert/intern/leader - name = "CentCom Head Intern" - outfit = /datum/outfit/centcom/centcom_intern/leader - role = "Head Intern" - -/datum/antagonist/ert/intern/unarmed - outfit = /datum/outfit/centcom/centcom_intern/unarmed - -/datum/antagonist/ert/intern/leader/unarmed - outfit = /datum/outfit/centcom/centcom_intern/leader/unarmed - -// Marine - -/datum/antagonist/ert/marine - name = "Marine Commander" - outfit = /datum/outfit/centcom/ert/marine - role = "Commander" - -/datum/antagonist/ert/marine/security - name = "Marine Heavy" - outfit = /datum/outfit/centcom/ert/marine/security - role = "Trooper" - -/datum/antagonist/ert/marine/engineer - name = "Marine Engineer" - outfit = /datum/outfit/centcom/ert/marine/engineer - role = "Engineer" - -/datum/antagonist/ert/marine/medic - name = "Marine Medic" - outfit = /datum/outfit/centcom/ert/marine/medic - role = "Medical Officer" - -// Loss Prevention - -/datum/antagonist/ert/lp - name = "Loss Prevention Security Specialist" - outfit = /datum/outfit/job/nanotrasen/security/ert/lp - role = "Security Specialist" - -/datum/antagonist/ert/lp/medic - name = "Loss Prevention Medical Specialist" - outfit = /datum/outfit/job/nanotrasen/security/ert/lp/medic - role = "Medical Specialist" - -/datum/antagonist/ert/lp/engineer - name = "Loss Prevention Engineering Specialist" - outfit = /datum/outfit/job/nanotrasen/security/ert/lp/engineer - role = "Engineering Specialist" - -/datum/antagonist/ert/lp/lieutenant - name = "Loss Prevention Lieutenant" - leader = TRUE - outfit = /datum/outfit/job/nanotrasen/security/ert/lp/lieutenant - role = "Lieutenant" +/datum/antagonist/ert/nanotrasen + name = "Vigilitas Security Officer" + outfit = /datum/outfit/job/nanotrasen/ert + role = "Security Officer" + +/datum/antagonist/ert/nanotrasen/delivery + name = "N+S Cargo Technician" + outfit = /datum/outfit/job/nanotrasen/cargo_tech + role = "Cargo Technician" + +/datum/antagonist/ert/nanotrasen/inspector + name = "Nanotrasen Central Command Liaison" + outfit = /datum/outfit/job/nanotrasen/ert/inspector + role = "Liaison" + +// /datum/antagonist/ert/nanotrasen/emergency +// name = "Vigilitas Response Officer" +// outfit = /datum/outfit/job/nanotrasen/ert/emergency +// role = "Response Officer" + +/datum/antagonist/ert/nanotrasen/leader + name = "Vigilitas Security Corporal" + outfit = /datum/outfit/job/nanotrasen/ert/leader + role = "Corporal" + +// /datum/antagonist/ert/nanotrasen/leader/emergency +// name = "Vigilitas Response Lieutenant" +// outfit = /datum/outfit/job/nanotrasen/ert/leader/emergency +// role = "Lieutenant" + +// /datum/antagonist/ert/nanotrasen/medic/emergency +// name = "Vigilitas Medical Response Officer" +// outfit = /datum/outfit/job/nanotrasen/ert/medic/emergency +// role = "Medic" + +// /datum/antagonist/ert/nanotrasen/emergency/engineer +// name = "Vigilitas Engineering Response Officer" +// outfit = /datum/outfit/job/nanotrasen/ert/emergency/engineer +// role = "Engineer" diff --git a/code/modules/antagonists/ert/roumain.dm b/code/modules/antagonists/ert/roumain.dm new file mode 100644 index 000000000000..d27c8f39e5c4 --- /dev/null +++ b/code/modules/antagonists/ert/roumain.dm @@ -0,0 +1,50 @@ +/datum/antagonist/ert/roumain + name = "Saint-Roumain Hunter" + outfit = /datum/outfit/job/roumain/ert + role = "Hunter" + +/datum/antagonist/ert/roumain/greet() + to_chat(owner, "You are the [role].") + var/missiondesc = "You are one of the devoted members of the Saint-Roumain Militia. You are being directed to the sector of [station_name()].
    " + if(leader) //If Squad Leader + missiondesc += "Lead your squad to complete all objectives." + else + missiondesc += "Follow orders given to you by your Leader, the Montage." + if(deathsquad) + missiondesc += "You have been given the order to fire at will." + + missiondesc += "
    Your Mission: [ert_team.mission.explanation_text]" + to_chat(owner,missiondesc) + +/datum/antagonist/ert/roumain/vickland + outfit = /datum/outfit/job/roumain/ert/vickland + +/datum/antagonist/ert/roumain/firestorm + outfit = /datum/outfit/job/roumain/ert/firestorm + +/datum/antagonist/ert/roumain/scout + outfit = /datum/outfit/job/roumain/ert/scout + +/datum/antagonist/ert/roumain/leader + name = "Saint-Roumain Hunter Montagne" + leader = TRUE + outfit = /datum/outfit/job/roumain/ert/leader + role = "Hunter Montagne" + +/datum/antagonist/ert/roumain/leader/colligne + name = "Saint-Roumain Hunter Colligne" + outfit = /datum/outfit/job/roumain/ert/leader/colligne + role = "Hunter clligne" + +/datum/antagonist/ert/roumain/leader/twobore + outfit = /datum/outfit/job/roumain/ert/leader/twobore + +/datum/antagonist/ert/roumain/medic + name = "Saint-Roumain Hunter Doctor" + outfit = /datum/outfit/job/roumain/ert/medic + role = "Doctor" + +/datum/antagonist/ert/roumain/engineer + name = "Saint-Roumain Machinist" + outfit = /datum/outfit/job/roumain/ert/engineer + role = "Hunter" diff --git a/code/modules/antagonists/ert/solgov.dm b/code/modules/antagonists/ert/solgov.dm index 6868fe9eb9bf..c01f88a00962 100644 --- a/code/modules/antagonists/ert/solgov.dm +++ b/code/modules/antagonists/ert/solgov.dm @@ -7,14 +7,11 @@ random_names = FALSE role = "Sonnensöldner" -/datum/antagonist/ert/official/solgov +/datum/antagonist/ert/solgov/inspector name = "SolGov Inspector" outfit = /datum/outfit/job/solgov/ert/inspector role = "Solarian Inspector" -/datum/antagonist/ert/official/solgov/greet() - to_chat(owner, "You are a Solarian Inspector.") - if (ert_team) - to_chat(owner, "The Department of Administrative Affairs is sending you to [station_name()] with the task: [ert_team.mission.explanation_text]") - else - to_chat(owner, "The Department of Administrative Affairs is sending you to [station_name()] with the task: [mission.explanation_text]") +/datum/antagonist/ert/solgov/inspector/greet() + to_chat(owner, "You are the Solarian Inspector.") + to_chat(owner, "The Department of Administrative Affairs is sending you to [station_name()] with the task: [ert_team.mission.explanation_text]") diff --git a/code/modules/antagonists/ert/syndicate.dm b/code/modules/antagonists/ert/syndicate.dm index ab8fa4abc5f7..7f2de02571b7 100644 --- a/code/modules/antagonists/ert/syndicate.dm +++ b/code/modules/antagonists/ert/syndicate.dm @@ -22,14 +22,23 @@ outfit = /datum/outfit/job/syndicate/ert/leader role = "Sergeant" -/datum/antagonist/ert/syndicate/gorlex - name = "2nd Battlegroup Trooper" - outfit = /datum/outfit/job/syndicate/ert/gorlex - role = "Trooper" +/datum/antagonist/ert/syndicate/inspector + name = "ACLF Inspector" + outfit = /datum/outfit/job/syndicate/ert/inspector + role = "Inspector" + +/datum/antagonist/ert/official/syndicate/greet() + to_chat(owner, "You are a mid-rank official from the Liberation Front.") + to_chat(owner, "The Syndicate Coalition is sending you to [station_name()] with the task: [ert_team.mission.explanation_text]") -/datum/antagonist/ert/syndicate/gorlex/greet() +/datum/antagonist/ert/syndicate/ngr + name = "Gorlex Republic Serviceman" + outfit = /datum/outfit/job/syndicate/ert/ngr + role = "Serviceman" + +/datum/antagonist/ert/syndicate/ngr/greet() to_chat(owner, "You are the [name].") - var/missiondesc = "You're a soldier of the New Gorlex Republic sent to [station_name()].
    " + var/missiondesc = "You're an enlistee of the New Gorlex Republic sent to [station_name()].
    " if(leader) //If Squad Leader missiondesc += "Lead your team to ensure the completion of your objectives." else @@ -38,26 +47,31 @@ missiondesc += "
    Your Mission: [ert_team.mission.explanation_text]" to_chat(owner,missiondesc) -/datum/antagonist/ert/syndicate/gorlex/pointman - name = "Gorlex Republic Shotgunner" - outfit = /datum/outfit/job/syndicate/ert/gorlex/pointman - role = "Pointman" +/datum/antagonist/ert/syndicate/ngr/grenadier + name = "Gorlex Republic Grenadier" + outfit = /datum/outfit/job/syndicate/ert/ngr/grenadier + role = "Grenadier" -/datum/antagonist/ert/syndicate/gorlex/medic - name = "Gorlex Republic Medic" - outfit = /datum/outfit/job/syndicate/ert/gorlex/medic +/datum/antagonist/ert/syndicate/ngr/medic + name = "Gorlex Republic Field Medic" + outfit = /datum/outfit/job/syndicate/ert/ngr/medic role = "Medic" -/datum/antagonist/ert/syndicate/gorlex/sniper - name = "Gorlex Republic Sniper" - outfit = /datum/outfit/job/syndicate/ert/gorlex/sniper +/datum/antagonist/ert/syndicate/ngr/sniper + name = "Gorlex Republic Marksman" + outfit = /datum/outfit/job/syndicate/ert/ngr/sniper role = "Marksman" -/datum/antagonist/ert/syndicate/gorlex/leader +/datum/antagonist/ert/syndicate/ngr/leader name = "Gorlex Republic Sergeant" leader = TRUE - outfit = /datum/outfit/job/syndicate/ert/gorlex/leader - role = "Sergeant" + outfit = /datum/outfit/job/syndicate/ert/ngr/leader + role = "Officer" + +/datum/antagonist/ert/syndicate/ngr/inspector + name = "Gorlex Republic Official" + outfit = /datum/outfit/job/syndicate/ert/ngr/inspector + role = "Official" // cybersun @@ -73,7 +87,7 @@ missiondesc += "Lead your team to ensure the completion of your objectives." else missiondesc += "Follow orders given to you by your Sergeant." - if(prob(50) && !leader) + if(prob(50) && !leader && random_names) missiondesc += "
    In addition to your contract with Cybersun, you are also a Gorlex Hardliner. You do not like Cybersun, but you work with them regardless." missiondesc += "
    Your Mission: [ert_team.mission.explanation_text]" @@ -107,16 +121,50 @@ outfit = /datum/outfit/job/syndicate/ert/cybersun/medic/leader role = "Lead Medical Technician" -// inspector +/datum/antagonist/ert/syndicate/cybersun/inspector + name = "Cybersun Representative" + outfit = /datum/outfit/job/syndicate/ert/cybersun/inspector + role = "Representative" -/datum/antagonist/ert/official/syndicate - name = "Syndicate Inspector" - outfit = /datum/outfit/job/syndicate/ert/inspector - role = "Syndicate Inspector" +/datum/antagonist/ert/syndicate/hardliner + name = "Hardliner Mercenary" + outfit = /datum/outfit/job/syndicate/ert/hardliner + role = "Mercenary" -/datum/antagonist/ert/official/syndicate/greet() - to_chat(owner, "You are a Syndicate Inspector.") - if (ert_team) - to_chat(owner, "The Syndicate Coalition is sending you to [station_name()] with the task: [ert_team.mission.explanation_text]") - else - to_chat(owner, "The Syndicate Coalition is sending you to [station_name()] with the task: [mission.explanation_text]") +/datum/antagonist/ert/syndicate/hardliner/medic + name = "Hardliner Medic" + outfit = /datum/outfit/job/syndicate/ert/hardliner/medic + role = "Medic" + +/datum/antagonist/ert/syndicate/hardliner/engineer + name = "Hardliner Mechanic" + outfit = /datum/outfit/job/syndicate/ert/hardliner/engineer + role = "Mechanic" + +/datum/antagonist/ert/syndicate/hardliner/leader + name = "Hardliner Sergeant" + leader = TRUE + outfit = /datum/outfit/job/syndicate/ert/hardliner/leader + role = "Sergeant" + +// ramzi + +/datum/antagonist/ert/syndicate/ramzi + name = "Ramzi Clique Cell Member" + outfit = /datum/outfit/job/syndicate/ert/ramzi + role = "Cell Member" + +/datum/antagonist/ert/syndicate/ramzi/medic + name = "Ramzi Clique Medic" + outfit = /datum/outfit/job/syndicate/ert/ramzi/medic + role = "Cell Medic" + +/datum/antagonist/ert/syndicate/ramzi/demolitionist + name = "Ramzi Clique Demolitonist" + outfit = /datum/outfit/job/syndicate/ert/ramzi/demolitionist + role = "Cell Demolitonist" + +/datum/antagonist/ert/syndicate/ramzi/leader + name = "Ramzi Clique Cell Leader" + outfit = /datum/outfit/job/syndicate/ert/ramzi/leader + role = "Cell Leader" diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 86a168f41c2a..197b60befc11 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -17,7 +17,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/ooccolor = "#c43b23" var/asaycolor = "#ff4500" //This won't change the color for current admins, only incoming ones. /// If we spawn an ERT as an admin and choose to spawn as the briefing officer, we'll be given this outfit - var/brief_outfit = /datum/outfit/centcom/commander + var/brief_outfit = /datum/outfit/job/nanotrasen/captain var/enable_tips = TRUE var/tip_delay = 500 //tip delay in milliseconds diff --git a/code/modules/clothing/factions/clip.dm b/code/modules/clothing/factions/clip.dm index 6371b5c14f12..c0347e4eff8d 100644 --- a/code/modules/clothing/factions/clip.dm +++ b/code/modules/clothing/factions/clip.dm @@ -240,7 +240,7 @@ //hats /obj/item/clothing/head/clip name = "\improper CLIP Minutemen service cap" - desc = "A standard issue soft cap dating back to the original Zohil colonial peroid. While usually given to recruits and volunteers, it's sometimes used by occasionally by some Minutemen." + desc = "A standard issue soft cap dating back to the original Zohil colonial peroid. While usually given to recruits and new volunteers, it's used occasionally by some Minutemen." icon = 'icons/obj/clothing/faction/clip/head.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/clip/head.dmi' vox_override_icon = 'icons/mob/clothing/faction/clip/vox.dmi' @@ -437,16 +437,21 @@ new /obj/item/ammo_box/magazine/cm15_12g(src) new /obj/item/grenade/frag(src) +/obj/item/storage/belt/military/clip/cm15_inc/PopulateContents() + for(var/i in 1 to 5) + new /obj/item/ammo_box/magazine/cm15_12g/incendiary(src) + new /obj/item/grenade/frag(src) + /obj/item/storage/belt/military/clip/e50/ComponentInitialize() . = ..() var/datum/component/storage/STR = GetComponent(/datum/component/storage) STR.max_w_class = WEIGHT_CLASS_NORMAL /obj/item/storage/belt/military/clip/e50/PopulateContents() - for(var/i in 1 to 5) + for(var/i in 1 to 3) new /obj/item/stock_parts/cell/gun/large(src) new /obj/item/grenade/frag(src) - new /obj/item/screwdriver/nuke(src) + new /obj/item/screwdriver(src) /obj/item/storage/belt/military/clip/engi/PopulateContents() new /obj/item/screwdriver/power(src) @@ -460,7 +465,7 @@ /obj/item/storage/belt/military/clip/flamer/PopulateContents() for(var/i in 1 to 3) new /obj/item/reagent_containers/glass/beaker/large/fuel(src) - new /obj/item/ammo_box/magazine/co9mm(src) + new /obj/item/ammo_box/magazine/cm23(src) /obj/item/storage/belt/medical/webbing/clip name = "medical webbing" diff --git a/code/modules/clothing/factions/frontiersmen.dm b/code/modules/clothing/factions/frontiersmen.dm index 380456f4f8d7..bb0ed8999367 100644 --- a/code/modules/clothing/factions/frontiersmen.dm +++ b/code/modules/clothing/factions/frontiersmen.dm @@ -230,24 +230,11 @@ unique_reskin = null -/obj/item/storage/belt/medical/webbing/frontiersmen - name = "leather medical bandolier" - desc = "A rudimentary leather bandolier, utilized by both independents and frontiersmen alike. This one is painted white, usually to be worn by a medic." - icon_state = "frontiermedicalwebbing" - item_state = "frontiermedicalwebbing" - icon = 'icons/obj/clothing/faction/frontiersmen/belt.dmi' - mob_overlay_icon = 'icons/mob/clothing/faction/frontiersmen/belt.dmi' - -/obj/item/storage/belt/medical/webbing/frontiersmen/surgery/PopulateContents() - new /obj/item/scalpel(src) - new /obj/item/circular_saw(src) - new /obj/item/surgicaldrill(src) - new /obj/item/retractor(src) - new /obj/item/cautery(src) - new /obj/item/hemostat(src) - new /obj/item/hypospray/mkii(src) - update_appearance() - +/obj/item/storage/belt/security/military/frontiersmen/illestren/PopulateContents() + . = ..() + for(var/i in 1 to 4) + new /obj/item/ammo_box/magazine/illestren_a850r(src) + new /obj/item/grenade/frag(src) /obj/item/storage/belt/security/military/frontiersmen/skm_ammo/PopulateContents() for(var/i in 1 to 4) @@ -268,3 +255,30 @@ for(var/i in 1 to 4) new /obj/item/reagent_containers/glass/beaker/large/napalm(src) new /obj/item/grenade/frag(src) + + +/obj/item/storage/belt/medical/webbing/frontiersmen + name = "leather medical bandolier" + desc = "A rudimentary leather bandolier, utilized by both independents and frontiersmen alike. This one is painted white, usually to be worn by a medic." + icon_state = "frontiermedicalwebbing" + item_state = "frontiermedicalwebbing" + icon = 'icons/obj/clothing/faction/frontiersmen/belt.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/frontiersmen/belt.dmi' + +/obj/item/storage/belt/medical/webbing/frontiersmen/surgery/PopulateContents() + new /obj/item/scalpel(src) + new /obj/item/circular_saw(src) + new /obj/item/surgicaldrill(src) + new /obj/item/retractor(src) + new /obj/item/cautery(src) + new /obj/item/hemostat(src) + new /obj/item/hypospray/mkii(src) + update_appearance() + +/obj/item/storage/belt/medical/webbing/frontiersmen/combat/PopulateContents() + new /obj/item/reagent_containers/hypospray/medipen/stimulants(src) + new /obj/item/reagent_containers/hypospray/medipen/stimulants(src) + new /obj/item/reagent_containers/medigel/silver_sulf(src) + new /obj/item/reagent_containers/medigel/styptic(src) + new /obj/item/stack/medical/gauze/twelve(src) + new /obj/item/stack/medical/splint(src) diff --git a/code/modules/clothing/factions/gezena.dm b/code/modules/clothing/factions/gezena.dm index 7c17b4ca2dcc..c37b02754a38 100644 --- a/code/modules/clothing/factions/gezena.dm +++ b/code/modules/clothing/factions/gezena.dm @@ -245,6 +245,20 @@ item_state = "bluecloth" unique_reskin = null +/obj/item/storage/belt/military/gezena/bg16/PopulateContents() + . = ..() + for(var/i in 1 to 4) + new /obj/item/stock_parts/cell/gun/pgf(src) + new /obj/item/screwdriver(src) + +/obj/item/storage/belt/military/gezena/engineer/PopulateContents() + . = ..() + for(var/i in 1 to 2) + new /obj/item/stock_parts/cell/gun/pgf(src) + new /obj/item/screwdriver(src) + new /obj/item/grenade/c4 + new /obj/item/grenade/c4 + /obj/item/storage/belt/medical/gezena name = "\improper PGF Medical Iho-Usks" desc = "The “iho-usks”, translating to “gear-holder”, is a lightweight harness covered in pouches, supplied to the ground troops of the PGF. This variant is designed for carrying medical supplies." @@ -255,6 +269,17 @@ icon_state = "medpouches" item_state = "whitecloth" +/obj/item/storage/belt/medical/gezena/paramedic/PopulateContents() + new /obj/item/reagent_containers/medigel/styptic(src) + new /obj/item/reagent_containers/medigel/styptic(src) + new /obj/item/reagent_containers/medigel/silver_sulf(src) + new /obj/item/reagent_containers/medigel/silver_sulf(src) + new /obj/item/reagent_containers/medigel/synthflesh(src) + new /obj/item/stack/medical/gauze/twelve(src) + new /obj/item/stack/medical/splint(src) + . = ..() + + //Cloaks /obj/item/clothing/neck/cloak/gezena diff --git a/code/modules/clothing/factions/hardliners.dm b/code/modules/clothing/factions/hardliners.dm index 43faee3ccb19..ae664ed2a7ea 100644 --- a/code/modules/clothing/factions/hardliners.dm +++ b/code/modules/clothing/factions/hardliners.dm @@ -215,3 +215,9 @@ item_state = "hl_webbing" icon = 'icons/obj/clothing/faction/hardliners/belt.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/belt.dmi' + +/obj/item/storage/belt/security/webbing/hardliners/sidewinder/PopulateContents() + . = ..() + new /obj/item/ammo_box/magazine/m57_39_sidewinder(src) + new /obj/item/ammo_box/magazine/m57_39_sidewinder(src) + new /obj/item/ammo_box/magazine/m57_39_sidewinder(src) diff --git a/code/modules/clothing/factions/ngr.dm b/code/modules/clothing/factions/ngr.dm index 401f82795f68..9e3b1a24d9d9 100644 --- a/code/modules/clothing/factions/ngr.dm +++ b/code/modules/clothing/factions/ngr.dm @@ -258,3 +258,14 @@ item_state = "ngr_webbing" icon = 'icons/obj/clothing/faction/ngr/belt.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/ngr/belt.dmi' + +/obj/item/storage/belt/security/webbing/ngr/cobra/PopulateContents() + . = ..() + for(var/i in 1 to 4) + new /obj/item/ammo_box/magazine/m45_cobra(src) + +/obj/item/storage/belt/security/webbing/ngr/hydra_grenadier/PopulateContents() + for(var/i in 1 to 3) + new /obj/item/ammo_box/magazine/m556_42_hydra(src) + new /obj/item/ammo_casing/a40mm(src) + new /obj/item/ammo_casing/a40mm(src) diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index cefff9c4c76f..0e9e0143d6ac 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -549,7 +549,7 @@ icon_state = "solgov_envirohelm" item_state = "solgov_envirohelm" -/obj/item/clothing/head/helmet/operator +/obj/item/clothing/head/helmet/syndie name = "\improper operator helmet" desc = "A robust combat helmet commonly employed by Syndicate forces, regardless of alignment." icon_state = "operator" diff --git a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm index b685e0e4b8bb..f5e4ddcdf55b 100644 --- a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm +++ b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm @@ -1,21 +1,23 @@ /datum/outfit/job/frontiersmen/ert //most basic of grunts name = "ERT - Frontiersman Basic" - head = /obj/item/clothing/head/helmet/bulletproof/x11/frontier - suit = /obj/item/clothing/suit/armor/vest/bulletproof/frontier + head = /obj/item/clothing/head/beret/sec/frontier + suit = /obj/item/clothing/suit/armor/vest/bulletproof suit_store = /obj/item/gun/ballistic/rifle/illestren + belt = /obj/item/storage/belt/security/military/frontiersmen/illestren uniform = /obj/item/clothing/under/frontiersmen shoes = /obj/item/clothing/shoes/combat gloves = /obj/item/clothing/gloves/color/black ears = /obj/item/radio/headset/pirate/alt back = /obj/item/storage/backpack - l_pocket = /obj/item/flashlight/seclite - r_pocket = /obj/item/tank/internals/emergency_oxygen/double + id = null // lol + wallet = null box = /obj/item/storage/box/survival/frontier - id = null // lol + l_pocket = /obj/item/flashlight/seclite + r_pocket = /obj/item/tank/internals/emergency_oxygen/double - backpack_contents = list(/obj/item/clothing/mask/gas/frontiersmen, /obj/item/ammo_box/magazine/illestren_a850r=5, /obj/item/grenade/frag=1) + backpack_contents = list(/obj/item/clothing/mask/gas/frontiersmen) /datum/outfit/job/frontiersmen/ert/random name = "ERT - Frontiersman Randomized" @@ -25,10 +27,20 @@ suit = null suit_store = null back = null + belt = null + gloves = null + l_pocket = null r_pocket = /obj/item/radio + backpack_contents = list() + box = null + backpack = null + courierbag = null + satchel = null + duffelbag = null + /datum/outfit/job/frontiersmen/ert/random/pre_equip(mob/living/carbon/human/H, visualsOnly, client/preference_source) . = ..() if(visualsOnly) @@ -46,12 +58,12 @@ /obj/item/clothing/suit/armor/vest/bulletproof/frontier = 5, /obj/item/clothing/suit/armor/vest/scrap = 1)) - if(prob(30)) + if(prob(50)) mask = pickweight(list( - /obj/item/clothing/mask/gas/frontiersmen = 5, - /obj/item/clothing/mask/gas/sechailer/balaclava = 5, - /obj/item/clothing/mask/breath = 5, - /obj/item/clothing/mask/whistle = 3)) + /obj/item/clothing/mask/gas/frontiersmen = 12, + /obj/item/clothing/mask/gas/sechailer/balaclava = 10, + /obj/item/clothing/mask/breath = 7, + /obj/item/clothing/mask/whistle/trench = 3)) if(prob(90)) back = pickweight(list( @@ -59,9 +71,8 @@ /obj/item/storage/backpack/satchel = 20, /obj/item/storage/backpack/messenger = 20, /obj/item/melee/baton/cattleprod/loaded = 5, - /obj/item/food/baguette = 2, // yes you can put this on your back - /obj/item/deployable_turret_folded = 1, - /obj/item/gun/ballistic/automatic/hmg/skm_lmg/extended = 1, + /obj/item/deployable_turret_folded = 4, + /obj/item/gun/ballistic/automatic/hmg/skm_lmg/extended = 3, )) if(prob(90)) @@ -73,17 +84,17 @@ var/extra_class = pick(list("Doctor", "Breacher", "Ammo Carrier")) switch(extra_class) if("Doctor") - backpack_contents += list(/obj/item/storage/firstaid/regular = 1) + backpack_contents += list(/obj/item/storage/firstaid/medical = 1) gloves = /obj/item/clothing/gloves/color/latex suit = /obj/item/clothing/suit/frontiersmen head = /obj/item/clothing/head/frontier if(prob(50)) - belt = /obj/item/storage/belt/medical/surgery + belt = /obj/item/storage/belt/medical/webbing/frontiersmen/combat if(prob(30)) glasses = /obj/item/clothing/glasses/hud/health if("Breacher") - backpack_contents += list(/obj/item/grenade/c4 = 2) - if(prob(10)) + backpack_contents += list(/obj/item/grenade/c4 = 2, /obj/item/grenade/smokebomb = 3) + if(prob(60)) belt = /obj/item/storage/belt/grenade/full if("Ammo Carrier") var/loops = rand(1,3) @@ -95,7 +106,10 @@ /obj/item/storage/box/ammo/c45, /obj/item/storage/box/ammo/a4570, /obj/item/stock_parts/cell/gun/mini)) - backpack_contents += ammotype + if(istype(back, /obj/item/storage/backpack)) + backpack_contents += ammotype + else + H.put_in_hands(ammotype, FALSE) var/weapon = pick(list("Bolt-Action", "Pistol", "Melee")) switch(weapon) @@ -113,7 +127,7 @@ /obj/item/gun/ballistic/revolver/shadow, /obj/item/gun/ballistic/shotgun/doublebarrel/beacon/presawn, /obj/item/gun/energy/e_gun/mini)) - if(prob(30)) + if(prob(80)) l_hand = pick(list( /obj/item/gun/ballistic/automatic/pistol/disposable, /obj/item/gun/ballistic/automatic/pistol/candor, @@ -130,7 +144,7 @@ /obj/item/melee/flyswatter = 1, )) -/datum/outfit/job/frontiersmen/ert/grunt //better armed, use for quick creating pirate ships +/datum/outfit/job/frontiersmen/ert/unarmed //better armed, use for quick creating pirate ships name = "ERT - Frontiersman Grunt (Unarmed)" suit_store = null @@ -138,25 +152,25 @@ backpack_contents = list(/obj/item/clothing/mask/gas/frontiersmen) -/datum/outfit/job/frontiersmen/ert/grunt/skm +/datum/outfit/job/frontiersmen/ert/skm name = "ERT - Frontiersman Grunt (SKM-24 AR)" suit_store = /obj/item/gun/ballistic/automatic/assault/skm belt = /obj/item/storage/belt/security/military/frontiersmen/skm_ammo -/datum/outfit/job/frontiersmen/ert/grunt/mauler_mp +/datum/outfit/job/frontiersmen/ert/mauler_mp name = "ERT - Frontiersman Grunt (Mauler MP)" suit_store = /obj/item/gun/ballistic/automatic/pistol/mauler belt = /obj/item/storage/belt/security/military/frontiersmen/mauler_mp_ammo -/datum/outfit/job/frontiersmen/ert/grunt/spitter_mp +/datum/outfit/job/frontiersmen/ert/spitter_mp name = "ERT - Frontiersman Grunt (Spitter MP)" suit_store = /obj/item/gun/ballistic/automatic/pistol/spitter belt = /obj/item/storage/belt/security/military/frontiersmen/spitter_ammo -/datum/outfit/job/frontiersmen/ert/grunt/pounder_smg +/datum/outfit/job/frontiersmen/ert/pounder_smg name = "ERT - Frontiersman Grunt (Pounder SMG)" suit_store = /obj/item/gun/ballistic/automatic/smg/pounder @@ -171,12 +185,29 @@ ears = /obj/item/radio/headset/pirate/alt/captain back = /obj/item/storage/backpack/satchel/leather suit = /obj/item/clothing/suit/armor/frontier - suit_store = /obj/item/gun/ballistic/automatic/pistol/deagle + suit_store = null + belt = /obj/item/gun/ballistic/automatic/pistol/deagle backpack_contents = list(/obj/item/clothing/mask/gas/frontiersmen, /obj/item/ammo_box/magazine/m50=2, /obj/item/binoculars=1, /obj/item/melee/knife/survival) -/datum/outfit/job/frontiersmen/ert/leader/unnarmed - name = "ERT - Frontiersman Officer (Unnarmed)" +/datum/outfit/job/frontiersmen/ert/leader/heavy + name = "ERT - Frontiersman Officer (Shock Troop)" + + suit = /obj/item/clothing/suit/armor/vest/marine/frontier + head = /obj/item/clothing/head/helmet/bulletproof/x11/frontier + mask = /obj/item/clothing/mask/gas/sechailer + belt = /obj/item/gun/ballistic/automatic/pistol/deagle/gold // daring today aren't we + + backpack = /obj/item/minigunpack + satchel = /obj/item/minigunpack + courierbag = /obj/item/minigunpack + duffelbag = /obj/item/minigunpack + + backpack_contents = null + box = null + +/datum/outfit/job/frontiersmen/ert/leader/unarmed + name = "ERT - Frontiersman Officer (Unarmed)" suit_store = null @@ -190,10 +221,22 @@ mask = /obj/item/clothing/mask/surgical gloves = /obj/item/clothing/gloves/color/latex/nitrile belt = /obj/item/storage/belt/medical/webbing/frontiersmen/surgery - suit_store = /obj/item/gun/ballistic/automatic/pistol/mauler + suit = /obj/item/clothing/suit/frontiersmen + suit_store = null + + backpack_contents = list(/obj/item/clothing/mask/gas/frontiersmen, /obj/item/storage/firstaid/regular, /obj/item/ammo_box/magazine/m9mm_mauler = 2, /obj/item/gun/ballistic/automatic/pistol/mauler) - backpack_contents = list(/obj/item/clothing/mask/gas/frontiersmen, /obj/item/storage/firstaid/medical=1, /obj/item/reagent_containers/hypospray/medipen/stimpack=3, /obj/item/ammo_box/magazine/m9mm_mauler=2) +/datum/outfit/job/frontiersmen/ert/medic/heavy + name = "ERT - Frontiersman Medic (Shock Troop)" + head = /obj/item/clothing/head/helmet/bulletproof/x11/frontier + mask = /obj/item/clothing/mask/gas/syndicate/ngr + suit = /obj/item/clothing/suit/armor/vest/bulletproof/frontier + suit_store = /obj/item/gun/ballistic/automatic/pistol/mauler + belt = /obj/item/storage/belt/medical/webbing/frontiersmen/combat + glasses = /obj/item/clothing/glasses/hud/health + + backpack_contents = list(/obj/item/clothing/mask/gas/frontiersmen, /obj/item/storage/firstaid/medical=1, /obj/item/reagent_containers/hypospray/medipen/stimpack/traitor = 3, /obj/item/ammo_box/magazine/m9mm_mauler=2) /datum/outfit/job/frontiersmen/ert/engineer name = "ERT - Frontiersman Engineer" @@ -215,7 +258,7 @@ suit_store = /obj/item/tank/internals/oxygen/red uniform = /obj/item/clothing/under/frontiersmen/fireproof gloves = /obj/item/clothing/gloves/combat - back = /obj/item/storage/backpack + back = /obj/item/storage/backpack/fireproof belt = /obj/item/storage/belt/security/military/frontiersmen/flamer l_hand = /obj/item/flamethrower/full/tank @@ -227,7 +270,7 @@ /obj/item/radio=1) -/datum/outfit/job/frontiersmen/ert/sentry_lmg +/datum/outfit/job/frontiersmen/ert/sentry name = "ERT - Frontiersman Sentry (SKM-24v LMG)" head = /obj/item/clothing/head/helmet/marine/frontier @@ -240,17 +283,10 @@ backpack_contents = list(/obj/item/ammo_box/magazine/skm_762_40/drum=2,/obj/item/ammo_box/a357=2,/obj/item/grenade/frag=1,/obj/item/radio=1) -/datum/outfit/job/frontiersmen/ert/sentry_shredder +/datum/outfit/job/frontiersmen/ert/sentry/shredder name = "ERT - Frontiersman Sentry (Shredder LMG)" - head = /obj/item/clothing/head/helmet/marine/frontier - mask = /obj/item/clothing/mask/gas/sechailer/balaclava - suit = /obj/item/clothing/suit/armor/vest/marine/frontier - gloves = /obj/item/clothing/gloves/combat - - belt = /obj/item/gun/ballistic/revolver/mateba - - + suit_store = null l_hand = /obj/item/gun/ballistic/automatic/hmg/shredder // this doesnt even fit on the suit storage slot backpack_contents = list(/obj/item/ammo_box/magazine/m12_shredder=2,/obj/item/ammo_box/a357=2,/obj/item/grenade/frag=1,/obj/item/radio=1) diff --git a/code/modules/clothing/outfits/ert/gezena_ert.dm b/code/modules/clothing/outfits/ert/gezena_ert.dm new file mode 100644 index 000000000000..436b7379599e --- /dev/null +++ b/code/modules/clothing/outfits/ert/gezena_ert.dm @@ -0,0 +1,87 @@ +/datum/outfit/job/gezena/ert + name = "ERT - PGF Marine Rifleman" + id_assignment = "Marine Rifleman" + jobtype = /datum/job/officer + job_icon = "securityofficer" + + uniform = /obj/item/clothing/under/gezena/marine + suit = /obj/item/clothing/suit/armor/gezena/marine + head = /obj/item/clothing/head/helmet/gezena + belt = /obj/item/storage/belt/military/gezena/bg16 + gloves = /obj/item/clothing/gloves/gezena/marine + shoes = /obj/item/clothing/shoes/combat/gezena + neck = /obj/item/clothing/neck/cloak/gezena + suit_store = /obj/item/gun/energy/kalix/pgf + + l_pocket = /obj/item/melee/knife/combat + r_pocket = /obj/item/flashlight/seclite + + backpack_contents = list(/obj/item/gun/energy/kalix/pistol, /obj/item/stock_parts/cell/gun/kalix = 2, /obj/item/grenade/frag=2) + + +/datum/outfit/job/gezena/ert/gunner + name = "ERT - PGF Marine Gunner" + + suit_store = /obj/item/gun/energy/kalix/pgf/heavy // yea there's not much else to put in. sorry + +/datum/outfit/job/gezena/ert/engineer + name = "ERT - PGF Marine Combat Engineer" + id_assignment = "Marine Combat Engineer" + + belt = /obj/item/storage/belt/military/gezena/engineer + +/datum/outfit/job/gezena/ert/medic + name = "ERT - PGF Marine Medic" + id_assignment = "Marine Medic" + jobtype = /datum/job/paramedic + job_icon = "paramedic" + + belt = /obj/item/storage/belt/medical/gezena/paramedic + gloves = /obj/item/clothing/gloves/gezena/marine + neck = /obj/item/clothing/neck/cloak/gezena/med + + backpack = /obj/item/storage/backpack/medic + satchel = /obj/item/storage/backpack/satchel/med + duffelbag = /obj/item/storage/backpack/duffelbag/med + courierbag = /obj/item/storage/backpack/messenger/para + box = /obj/item/storage/box/survival/medical + + backpack_contents = list(/obj/item/gun/energy/kalix/pistol, /obj/item/stock_parts/cell/gun/kalix = 2, /obj/item/screwdriver) + + +/datum/outfit/job/gezena/ert/leader + name = "ERT - PGF Marine Sergeant" + id_assignment = "Marine Sergeant" + jobtype = /datum/job/hos + job_icon = "headofsecurity" + + suit = /obj/item/clothing/suit/armor/gezena/marinecoat + head = /obj/item/clothing/head/helmet/gezena + gloves = /obj/item/clothing/gloves/gezena/marine + shoes = /obj/item/clothing/shoes/combat/gezena + neck = /obj/item/clothing/neck/cloak/gezena/lead + suit_store = /obj/item/gun/energy/kalix/pgf/heavy + + backpack_contents = list(/obj/item/gun/energy/kalix/pistol, /obj/item/stock_parts/cell/gun/kalix = 2, /obj/item/grenade/smokebomb = 3, /obj/item/binoculars) + + +/datum/outfit/job/gezena/ert/inspector + name = "ERT - PGF Naval Observer" + id_assignment = "Naval Observer" + jobtype = /datum/job/head_of_personnel + job_icon = "headofpersonnel" + + head = /obj/item/clothing/head/gezena + neck = /obj/item/clothing/neck/cloak/gezena/command + uniform = /obj/item/clothing/under/gezena + suit = /obj/item/clothing/suit/armor/gezena + suit_store = null + belt = null + gloves = /obj/item/clothing/gloves/gezena + + backpack = /obj/item/storage/backpack/satchel + satchel = /obj/item/storage/backpack/satchel + duffelbag = /obj/item/storage/backpack/satchel + courierbag = /obj/item/storage/backpack/satchel + + backpack_contents = list(/obj/item/folder, /obj/item/paper_bin/bundlenatural, /obj/item/hand_labeler) diff --git a/code/modules/clothing/outfits/ert/indie_ert.dm b/code/modules/clothing/outfits/ert/indie_ert.dm index 236f9ee75c57..15ac8f718802 100644 --- a/code/modules/clothing/outfits/ert/indie_ert.dm +++ b/code/modules/clothing/outfits/ert/indie_ert.dm @@ -3,25 +3,18 @@ jobtype = /datum/job/officer job_icon = "securityofficer" + wallet = null + head = /obj/item/clothing/head/helmet/sec ears = /obj/item/radio/headset/alt - mask = null uniform = /obj/item/clothing/under/rank/security/officer - shoes = /obj/item/clothing/shoes/combat/swat + shoes = /obj/item/clothing/shoes/combat gloves = /obj/item/clothing/gloves/color/black suit = /obj/item/clothing/suit/armor/vest back = /obj/item/storage/backpack/security belt = /obj/item/storage/belt/security/full id = /obj/item/card/id -/datum/outfit/job/independent/ert/post_equip(mob/living/carbon/human/H, visualsOnly, client/preference_source) - . = ..() - if(visualsOnly) - return - - var/obj/item/card/id/W = H.wear_id - W.access += list(ACCESS_CENT_GENERAL) - /datum/outfit/job/independent/ert/emt name = "ERT - Independent Paramedic" jobtype = /datum/job/paramedic @@ -37,6 +30,15 @@ back = /obj/item/storage/backpack/medic belt = /obj/item/storage/belt/medical/webbing/paramedic + backpack_contents = list(/obj/item/storage/firstaid/medical) + +/datum/outfit/job/independent/ert/emt/eva + name = "ERT - Independent Paramedic (EVA)" + + head = null + suit = /obj/item/clothing/suit/space/hardsuit/medical + suit_store = /obj/item/tank/internals/oxygen + /datum/outfit/job/independent/ert/firefighter name = "ERT - Independent Firefighter (Standard)" jobtype = /datum/job/atmos @@ -44,14 +46,20 @@ head = /obj/item/clothing/head/hardhat/red uniform = /obj/item/clothing/under/utility - suit = /obj/item/clothing/suit/fire/firefighter + suit = /obj/item/clothing/suit/fire/atmos suit_store = /obj/item/extinguisher glasses = /obj/item/clothing/glasses/heat - mask = /obj/item/clothing/mask/breath + belt = null + mask = /obj/item/clothing/mask/gas/atmos shoes = /obj/item/clothing/shoes/workboots gloves = /obj/item/clothing/gloves/color/black back = /obj/item/tank/internals/oxygen/red + backpack = /obj/item/storage/backpack/fireproof + courierbag = /obj/item/storage/backpack/fireproof + duffelbag = /obj/item/storage/backpack/fireproof + satchel = /obj/item/storage/backpack/fireproof + l_pocket = /obj/item/crowbar/red r_pocket = /obj/item/radio @@ -61,27 +69,33 @@ job_icon = "paramedic" mask = /obj/item/clothing/mask/breath/medical - back = /obj/item/storage/backpack/fireproof gloves = /obj/item/clothing/gloves/color/latex/nitrile/evil glasses = /obj/item/clothing/glasses/hud/health suit_store = /obj/item/tank/internals/emergency_oxygen l_pocket = /obj/item/extinguisher/mini - backpack_contents = list(/obj/item/storage/firstaid/fire=1, /obj/item/storage/firstaid/o2=1, /obj/item/radio=1) + backpack_contents = list(/obj/item/storage/firstaid/fire=1, /obj/item/storage/firstaid/o2=1) /datum/outfit/job/independent/ert/firefighter/leader name = "ERT - Independent Firefighter (Group Captain)" jobtype = /datum/job/chief_engineer job_icon = "chiefengineer" - back = /obj/item/melee/axe/fire suit = /obj/item/clothing/suit/space/hardsuit/engine suit_store = /obj/item/tank/internals/oxygen/red head = null belt = /obj/item/storage/belt/utility/atmostech gloves = /obj/item/clothing/gloves/color/yellow + backpack_contents = null + box = null + + backpack = /obj/item/melee/axe/fire + courierbag = /obj/item/melee/axe/fire + duffelbag = /obj/item/melee/axe/fire + satchel = /obj/item/melee/axe/fire + /datum/outfit/job/independent/ert/technician name = "ERT - Independent Technician" jobtype = /datum/job/engineer @@ -90,6 +104,7 @@ head = /obj/item/clothing/head/hardhat uniform = /obj/item/clothing/under/rank/engineering/engineer belt = /obj/item/storage/belt/utility/full/engi + gloves = /obj/item/clothing/gloves/color/yellow suit = /obj/item/clothing/suit/toggle/hazard shoes = /obj/item/clothing/shoes/workboots back = /obj/item/storage/backpack/industrial @@ -97,3 +112,61 @@ r_pocket = /obj/item/analyzer box = /obj/item/storage/box/survival/engineer + +/datum/outfit/job/independent/ert/pizza + name = "ERT - Independent Pizza Delivery Worker" + + uniform = /obj/item/clothing/under/suit/burgundy + neck = /obj/item/clothing/neck/tie/red + shoes = /obj/item/clothing/shoes/sneakers/black + head = /obj/item/clothing/head/soft/mime + suit = null + ears = null + belt = null + gloves = null + + +/datum/outfit/job/independent/ert/janitor + name = "ERT - Independent Sanitation Technician" + jobtype = /datum/job/janitor + job_icon = "janitor" + + uniform = /obj/item/clothing/under/rank/civilian/janitor + head = /obj/item/clothing/head/soft/purple + ears = /obj/item/radio/headset + mask = null + shoes = /obj/item/clothing/shoes/combat/swat + gloves = /obj/item/clothing/gloves/color/purple + suit = null + belt = /obj/item/storage/belt/janitor/full + +/datum/outfit/job/independent/ert/deathsquad + name = "ERT - Death Commando" + job_icon = "deathsquad" + faction_icon = null + id_assignment = "Commando" // i mean. if you have enough time to look at a dsquaddie's id card. why not + + head = null + uniform = /obj/item/clothing/under/rank/security/officer/military + id = /obj/item/card/id/ert/deathsquad + suit = /obj/item/clothing/suit/space/hardsuit/deathsquad + shoes = /obj/item/clothing/shoes/combat/swat + gloves = /obj/item/clothing/gloves/tackler/combat/insulated + mask = /obj/item/clothing/mask/gas/sechailer/swat + glasses = /obj/item/clothing/glasses/hud/toggle/thermal + back = /obj/item/storage/backpack/security + suit_store = /obj/item/tank/internals/emergency_oxygen/double + belt = /obj/item/gun/ballistic/revolver/mateba + ears = /obj/item/radio/headset/alt + r_hand = /obj/item/gun/energy/pulse + + l_pocket = /obj/item/melee/transforming/energy/sword/saber + r_pocket = /obj/item/shield/energy + + + backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ + /obj/item/ammo_box/a357=1,\ + /obj/item/storage/firstaid/regular=1,\ + /obj/item/storage/box/flashbangs=1,\ + /obj/item/flashlight=1,\ + /obj/item/grenade/c4/x4=1) diff --git a/code/modules/clothing/outfits/ert/inteq_ert.dm b/code/modules/clothing/outfits/ert/inteq_ert.dm index 9fd796d04516..715a0352e3b1 100644 --- a/code/modules/clothing/outfits/ert/inteq_ert.dm +++ b/code/modules/clothing/outfits/ert/inteq_ert.dm @@ -4,31 +4,64 @@ jobtype = /datum/job/officer job_icon = "securityofficer" + wallet = null + + head = /obj/item/clothing/head/helmet/inteq mask = /obj/item/clothing/mask/gas/sechailer/balaclava/inteq glasses = /obj/item/clothing/glasses/hud/security/sunglasses/inteq uniform = /obj/item/clothing/under/syndicate/inteq - suit = /obj/item/clothing/suit/space/hardsuit/syndi/inteq + suit = /obj/item/clothing/suit/armor/vest suit_store = /obj/item/gun/ballistic/automatic/assault/skm/inteq gloves = /obj/item/clothing/gloves/combat + shoes = /obj/item/clothing/shoes/combat ears = /obj/item/radio/headset/inteq/alt id = /obj/item/card/id belt = /obj/item/storage/belt/security/webbing/inteq/skm - back = /obj/item/storage/backpack/fireproof l_pocket = /obj/item/melee/knife/combat r_pocket = /obj/item/flashlight/seclite - backpack_contents = list(/obj/item/radio=1) +/datum/outfit/job/inteq/ert/eva + name = "ERT - Inteq Rifleman (EVA)" + + head = null + suit = /obj/item/clothing/suit/space/hardsuit/syndi/inteq + r_pocket = /obj/item/tank/internals/emergency_oxygen/engi /datum/outfit/job/inteq/ert/shotgun name = "ERT - Inteq Shotgunner" - id_assignment = "Enforcer" - suit_store = /obj/item/gun/ballistic/shotgun/automatic/combat/compact - belt = /obj/item/storage/belt/security/webbing/inteq/alt + suit_store = /obj/item/gun/ballistic/shotgun/automatic/bulldog/inteq + belt = /obj/item/storage/belt/security/webbing/inteq/alt/bulldog + +/datum/outfit/job/inteq/ert/shotgun/eva + name = "ERT - Inteq Shotgunner (EVA)" + + head = null + suit = /obj/item/clothing/suit/space/hardsuit/syndi/inteq + r_pocket = /obj/item/tank/internals/emergency_oxygen/engi + - backpack_contents = list(/obj/item/storage/box/lethalshot=2, /obj/item/radio=1) +/datum/outfit/job/inteq/ert/engineer + name = "ERT - Inteq Artificer" + id_assignment = "Artificer" + jobtype = /datum/job/engineer + job_icon = "stationengineer" + + head = /obj/item/clothing/head/soft/inteq + uniform = /obj/item/clothing/under/syndicate/inteq/artificer + belt = /obj/item/storage/belt/utility/full/engi + gloves = /obj/item/clothing/gloves/color/yellow + suit_store = /obj/item/gun/ballistic/automatic/pistol/commander/inteq + + backpack_contents = list(/obj/item/ammo_box/magazine/co9mm=2) + +/datum/outfit/job/inteq/ert/engineer/eva + name = "ERT - Inteq Artificer (EVA)" + head = null + suit = /obj/item/clothing/suit/space/hardsuit/syndi/inteq + r_pocket = /obj/item/tank/internals/emergency_oxygen/engi /datum/outfit/job/inteq/ert/medic name = "ERT - Inteq Corpsman" @@ -36,13 +69,21 @@ jobtype = /datum/job/paramedic job_icon = "paramedic" + head = /obj/item/clothing/head/soft/inteq/corpsman uniform = /obj/item/clothing/under/syndicate/inteq/corpsman belt = /obj/item/storage/belt/medical/webbing/paramedic - suit_store = null + suit = /obj/item/clothing/suit/armor/inteq/corpsman + suit_store = /obj/item/healthanalyzer + + backpack_contents = list(/obj/item/storage/firstaid/medical=1) - l_pocket = /obj/item/healthanalyzer +/datum/outfit/job/inteq/ert/medic/eva + name = "ERT - Inteq Corpsman (EVA)" - backpack_contents = list(/obj/item/storage/firstaid/medical=1, /obj/item/radio=1) + head = null + suit = /obj/item/clothing/suit/space/hardsuit/syndi/inteq + suit_store = null + r_pocket = /obj/item/tank/internals/emergency_oxygen/engi /datum/outfit/job/inteq/ert/leader name = "ERT - Inteq Vanguard" @@ -50,7 +91,62 @@ jobtype = /datum/job/hos job_icon = "headofsecurity" + head = /obj/item/clothing/head/helmet/inteq ears = /obj/item/radio/headset/inteq/alt/captain back = /obj/item/storage/backpack/messenger/inteq + belt = /obj/item/storage/belt/security/webbing/inteq/skm_carabine + suit = /obj/item/clothing/suit/armor/hos/inteq + suit_store = /obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq + id = /obj/item/card/id/gold + + backpack_contents = list(/obj/item/megaphone/sec) + +/datum/outfit/job/inteq/ert/leader/eva + name = "ERT - Inteq Vanguard (EVA)" + + head = null + suit = /obj/item/clothing/suit/space/hardsuit/syndi/inteq + r_pocket = /obj/item/tank/internals/emergency_oxygen/engi + +/datum/outfit/job/inteq/ert/honor_guard + name = "ERT - Inteq Honor Guard" + id_assignment = "Guardsman" + jobtype = /datum/job/officer + job_icon = "inteq" + + uniform = /obj/item/clothing/under/syndicate/inteq + suit = /obj/item/clothing/suit/armor/vest/marine + belt = /obj/item/storage/belt/military/assault/commander + gloves = /obj/item/clothing/gloves/color/white + shoes = /obj/item/clothing/shoes/combat + head = /obj/item/clothing/head/beret/sec/hos/inteq/honorable + mask = /obj/item/clothing/mask/gas/sechailer/balaclava/inteq + ears = /obj/item/radio/headset/inteq/captain + glasses = /obj/item/clothing/glasses/hud/security/sunglasses/inteq + r_pocket = /obj/item/restraints/handcuffs suit_store = /obj/item/gun/ballistic/automatic/pistol/commander/inteq - id = /obj/item/card/id/silver + + backpack_contents = list(/obj/item/gun/energy/taser) + + +/datum/outfit/job/inteq/ert/inspector + name = "ERT - Inteq Mothership Investigator" + id_assignment = "Investigator" + jobtype = /datum/job/head_of_personnel + job_icon = "inteq" + + uniform = /obj/item/clothing/under/syndicate/inteq + suit = null + suit_store = null + belt = /obj/item/clipboard + gloves = /obj/item/clothing/gloves/color/black + shoes = /obj/item/clothing/shoes/laceup + head = /obj/item/clothing/head/beret/sec/inteq + mask = null + ears = /obj/item/radio/headset/inteq/captain + glasses = null + + r_pocket = /obj/item/pen/fourcolor + l_pocket = /obj/item/taperecorder + + backpack_contents = list(/obj/item/stamp/inteq, /obj/item/folder, /obj/item/paper_bin/bundlenatural, /obj/item/hand_labeler) diff --git a/code/modules/clothing/outfits/ert/minutemen_ert.dm b/code/modules/clothing/outfits/ert/minutemen_ert.dm index d5a3ec72e94c..891ea1efe313 100644 --- a/code/modules/clothing/outfits/ert/minutemen_ert.dm +++ b/code/modules/clothing/outfits/ert/minutemen_ert.dm @@ -1,26 +1,61 @@ -/datum/outfit/job/clip/minutemen/grunt/dressed/bard - name = "ERT - CLIP Minuteman BARD Specialist" - id_assignment = "Biohazard Assessment Specialist" +/datum/outfit/job/clip/minutemen/bard + name = "ERT - C-MM BARD Field Agent" + id_assignment = "Biohazard Assessment Field Agent" + jobtype = /datum/job/virologist + job_icon = "virologist" // can someone resprite the biosuits already + + wallet = null + + uniform = /obj/item/clothing/under/clip/formal/with_shirt + head = /obj/item/clothing/head/clip + mask = /obj/item/clothing/mask/surgical + gloves = /obj/item/clothing/gloves/color/latex + + backpack = /obj/item/storage/backpack/satchel/sec/clip + satchel = /obj/item/storage/backpack/satchel/sec/clip + courierbag = /obj/item/storage/backpack/satchel/sec/clip + duffelbag = /obj/item/storage/backpack/satchel/sec/clip + + l_pocket = /obj/item/taperecorder + r_pocket = /obj/item/flashlight + + backpack_contents = list(/obj/item/clothing/mask/gas/clip, + /obj/item/evidencebag = 2, + /obj/item/camera, + /obj/item/storage/firstaid/toxin, + ) + +/datum/outfit/job/clip/minutemen/bard/emergency + name = "ERT - C-MM BARD Xenofauna Specialist" + id_assignment = "Biohazard Assessment Xenofauna Specialist" job_icon = "clip_cmm2" + uniform = /obj/item/clothing/under/clip/minutemen suit = /obj/item/clothing/suit/armor/vest/marine/heavy - suit_store = /obj/item/gun/ballistic/shotgun/cm15 + suit_store = /obj/item/gun/ballistic/shotgun/cm15/incendiary mask = /obj/item/clothing/mask/gas/clip head = /obj/item/clothing/head/helmet/riot/clip - belt = /obj/item/storage/belt/military/clip/cm15 + belt = /obj/item/storage/belt/military/clip/cm15_inc glasses = /obj/item/clothing/glasses/hud/health/night r_pocket = /obj/item/melee/knife/combat l_pocket = /obj/item/extinguisher/mini + shoes = /obj/item/clothing/shoes/combat + + backpack = /obj/item/storage/backpack/ert + satchel = /obj/item/storage/backpack/ert + courierbag = /obj/item/storage/backpack/ert + duffelbag = /obj/item/storage/backpack/ert backpack_contents = list( /obj/item/flashlight/seclite = 1, /obj/item/storage/box/flares = 1 ) -/datum/outfit/job/clip/minutemen/grunt/dressed/bard/medic - name = "ERT - CLIP Minuteman BARD Medical Specialist" - id_assignment = "Corpsman" +/datum/outfit/job/clip/minutemen/bard/emergency/medic + name = "ERT - C-MM BARD Medical Specialist" + id_assignment = "Biohazard Assessment Medical Aid Specialist" + uniform = /obj/item/clothing/under/clip/medic suit = /obj/item/clothing/suit/armor/vest/marine suit_store = /obj/item/gun/ballistic/automatic/smg/cm5 belt = /obj/item/storage/belt/medical/webbing/clip/prefilled @@ -31,11 +66,17 @@ /obj/item/flashlight/seclite = 1, /obj/item/defibrillator/compact/loaded = 1, /obj/item/storage/firstaid/advanced = 1, - /obj/item/ammo_box/magazine/smgm9mm = 2 + /obj/item/ammo_box/magazine/cm5_9mm = 2 ) -/datum/outfit/job/clip/minutemen/grunt/dressed/bard/flamer - name = "ERT - CLIP Minuteman BARD Flamethrower Specialist" + backpack = /obj/item/storage/backpack/ert/medical + satchel = /obj/item/storage/backpack/ert/medical + courierbag = /obj/item/storage/backpack/ert/medical + duffelbag = /obj/item/storage/backpack/ert/medical + +/datum/outfit/job/clip/minutemen/bard/emergency/flamer + name = "ERT - C-MM BARD Flamethrower Specialist" + id_assignment = "Biohazard Assessment Fire Control Specialist" suit = /obj/item/clothing/suit/armor/vest/marine/medium suit_store = /obj/item/flamethrower/full/tank @@ -46,17 +87,15 @@ backpack_contents = list( /obj/item/flashlight/seclite = 1, /obj/item/extinguisher = 1, - /obj/item/gun/ballistic/automatic/pistol/commander = 1 // replace commander with the cm23 when it is implemented + /obj/item/gun/ballistic/automatic/pistol/cm23 = 1 ) - -/datum/outfit/job/clip/minutemen/grunt/dressed/bard/leader - name = "ERT - CLIP Minuteman BARD Specialist Sergeant" - id_assignment = "Biohazard Assessment Sergeant" - job_icon = "clip_cmm3" +/datum/outfit/job/clip/minutemen/bard/emergency/leader + name = "ERT - C-MM BARD Master Sergeant" + id_assignment = "Master Sergeant" + job_icon = "clip_cmm4" belt = /obj/item/storage/belt/military/clip/e50 - uniform = /obj/item/clothing/under/clip/officer suit = /obj/item/clothing/suit/armor/vest/marine suit_store = /obj/item/gun/energy/laser/e50/clip r_pocket = /obj/item/grenade/c4 @@ -65,36 +104,79 @@ backpack_contents = list( /obj/item/storage/box/flares = 1, /obj/item/grenade/c4 = 2, + /obj/item/grenade/smokebomb = 2, /obj/item/flashlight/seclite = 1 ) -/datum/outfit/job/clip/minutemen/grunt/dressed/riot - name = "ERT - CLIP Minuteman Riot Officer" - job_icon = "securityofficerOld" +/datum/outfit/job/clip/minutemen/military_police + name = "ERT - C-MM Military Police" + id_assignment = "Military Police" + job_icon = "clip_cmm3" + + ears = /obj/item/radio/headset/clip/alt + suit = /obj/item/clothing/suit/armor/vest/bulletproof + head = /obj/item/clothing/head/clip/slouch + glasses = /obj/item/clothing/glasses/sunglasses + belt = /obj/item/storage/belt/security/full + shoes = /obj/item/clothing/shoes/jackboots + gloves = /obj/item/clothing/gloves/color/white + + l_pocket = /obj/item/flashlight/seclite + r_pocket = /obj/item/melee/knife/combat + +/datum/outfit/job/clip/minutemen/military_police/riot + name = "ERT - C-MM Military Police (Riot Control)" suit = /obj/item/clothing/suit/armor/riot/clip + mask = /obj/item/clothing/mask/gas/sechailer/balaclava + glasses = /obj/item/clothing/glasses/sunglasses/big + gloves = /obj/item/clothing/gloves/combat head = /obj/item/clothing/head/helmet/riot/clip l_hand = /obj/item/melee/baton/loaded - back = /obj/item/shield/riot - belt = /obj/item/gun/ballistic/automatic/smg/cm5/no_mag - r_pocket = /obj/item/ammo_box/magazine/smgm9mm/rubber - l_pocket = /obj/item/ammo_box/magazine/smgm9mm/rubber + belt = /obj/item/gun/ballistic/automatic/smg/cm5/rubber + + r_pocket = /obj/item/ammo_box/magazine/cm5_9mm/rubber + l_pocket = /obj/item/reagent_containers/spray/pepper backpack_contents = null box = null - backpack = null - duffelbag = null - courierbag = null - satchel = null + backpack = /obj/item/shield/riot + duffelbag = /obj/item/shield/riot + courierbag = /obj/item/shield/riot + satchel = /obj/item/shield/riot -/datum/outfit/job/clip/minutemen/grunt/dressed/riot/leader - name = "ERT - CLIP Minutemen Riot Officer Sergeant" - id_assignment = "Security Sergeant" - job_icon = "lieutenant" +/datum/outfit/job/clip/minutemen/military_police/leader + name = "ERT - C-MM Chief Military Police" + id_assignment = "Chief Military Police" + job_icon = "clip_cmm4" + head = /obj/item/clothing/head/clip/slouch/officer + uniform = /obj/item/clothing/under/clip/officer ears = /obj/item/radio/headset/clip/alt/captain - back = /obj/item/shield/riot/flash + +/datum/outfit/job/clip/minutemen/military_police/leader/riot + name = "ERT - C-MM Chief Military Police (Riot Control)" + + suit = /obj/item/clothing/suit/armor/riot/clip + mask = /obj/item/clothing/mask/gas/sechailer/balaclava + glasses = /obj/item/clothing/glasses/sunglasses/big + gloves = /obj/item/clothing/gloves/tackler/combat + head = /obj/item/clothing/head/helmet/riot/clip + suit_store = /obj/item/melee/baton/loaded + l_hand = /obj/item/megaphone/command + belt = /obj/item/gun/ballistic/automatic/smg/cm5/rubber + + r_pocket = /obj/item/assembly/flash/handheld + l_pocket = /obj/item/ammo_box/magazine/cm5_9mm/rubber + + backpack_contents = null + box = null + + backpack = /obj/item/shield/riot/flash + duffelbag = /obj/item/shield/riot/flash + courierbag = /obj/item/shield/riot/flash + satchel = /obj/item/shield/riot/flash /datum/outfit/job/clip/minutemen/grunt/dressed/hardsuit name = "CLIP Minutemen - Minuteman (Spotter Hardsuit)" diff --git a/code/modules/clothing/outfits/ert/nanotrasen_ert.dm b/code/modules/clothing/outfits/ert/nanotrasen_ert.dm index 1ca40cd640e3..0e6d3070a482 100644 --- a/code/modules/clothing/outfits/ert/nanotrasen_ert.dm +++ b/code/modules/clothing/outfits/ert/nanotrasen_ert.dm @@ -1,464 +1,72 @@ -// this is where the base ERT outfit goes -/datum/outfit/centcom/ert - name = "ERT Common" - - mask = /obj/item/clothing/mask/gas/sechailer - uniform = /obj/item/clothing/under/rank/centcom/official - shoes = /obj/item/clothing/shoes/combat/swat - gloves = /obj/item/clothing/gloves/combat - ears = /obj/item/radio/headset/headset_cent/alt - -/datum/outfit/centcom/ert/post_equip(mob/living/carbon/human/human, visualsOnly = FALSE) - if(visualsOnly) - return - - var/obj/item/card/id/id = human.wear_id - if(id) - id.registered_name = human.real_name - id.update_label() - ..() - -/datum/outfit/centcom/ert/commander - name = "ERT Commander" - - id = /obj/item/card/id/ert - suit = /obj/item/clothing/suit/space/hardsuit/ert - suit_store = /obj/item/gun/energy/e_gun/hades - glasses = /obj/item/clothing/glasses/hud/security/sunglasses - back = /obj/item/storage/backpack/ert - belt = /obj/item/storage/belt/security/full - backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ - /obj/item/melee/baton/loaded=1) - l_pocket = /obj/item/melee/knife/switchblade - -/datum/outfit/centcom/ert/commander/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - ..() - - if(visualsOnly) - return - var/obj/item/radio/R = H.ears - R.keyslot = new /obj/item/encryptionkey/heads/captain - R.recalculateChannels() - -/datum/outfit/centcom/ert/commander/alert - name = "ERT Commander - High Alert" - - mask = /obj/item/clothing/mask/gas/sechailer/swat - glasses = /obj/item/clothing/glasses/thermal/eyepatch - backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ - /obj/item/melee/baton/loaded=1,\ - /obj/item/gun/energy/pulse/pistol=1) - l_pocket = /obj/item/melee/transforming/energy/sword/saber - -/datum/outfit/centcom/ert/security - name = "ERT Security" - - id = /obj/item/card/id/ert/security - suit = /obj/item/clothing/suit/space/hardsuit/ert/sec - suit_store = /obj/item/gun/energy/e_gun/hades - glasses = /obj/item/clothing/glasses/hud/security/sunglasses - gloves = /obj/item/clothing/gloves/tackler/combat/insulated - back = /obj/item/storage/backpack/ert/security - belt = /obj/item/storage/belt/security/full - backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ - /obj/item/storage/box/handcuffs=1, - /obj/item/melee/baton/loaded=1) - -/datum/outfit/centcom/ert/security/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - ..() - - if(visualsOnly) - return - - var/obj/item/radio/R = H.ears - R.keyslot = new /obj/item/encryptionkey/headset_com - R.recalculateChannels() - -/datum/outfit/centcom/ert/security/alert - name = "ERT Security - High Alert" - - suit_store = /obj/item/gun/energy/pulse/carbine - mask = /obj/item/clothing/mask/gas/sechailer/swat - backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ - /obj/item/storage/box/handcuffs=1,\ - /obj/item/melee/baton/loaded=1) - -/datum/outfit/centcom/ert/medic - name = "ERT Medic" - - id = /obj/item/card/id/ert/medical - suit = /obj/item/clothing/suit/space/hardsuit/ert/med - suit_store = /obj/item/gun/energy/e_gun/hades - glasses = /obj/item/clothing/glasses/hud/health - back = /obj/item/storage/backpack/ert/medical - belt = /obj/item/storage/belt/medical - r_hand = /obj/item/storage/firstaid/regular - backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ - /obj/item/melee/baton/loaded=1,\ - /obj/item/reagent_containers/hypospray/combat=1,\ - /obj/item/gun/medbeam=1) - -/datum/outfit/centcom/ert/medic/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - ..() - - if(visualsOnly) - return - - var/obj/item/radio/R = H.ears - R.keyslot = new /obj/item/encryptionkey/headset_com - R.recalculateChannels() - -/datum/outfit/centcom/ert/medic/alert - name = "ERT Medic - High Alert" - - mask = /obj/item/clothing/mask/gas/sechailer/swat - backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ - /obj/item/melee/baton/loaded=1,\ - /obj/item/gun/energy/pulse/pistol=1,\ - /obj/item/reagent_containers/hypospray/combat/nanites=1,\ - /obj/item/gun/medbeam=1) - -/datum/outfit/centcom/ert/engineer - name = "ERT Engineer" - - id = /obj/item/card/id/ert/engineer - suit = /obj/item/clothing/suit/space/hardsuit/ert/engi - suit_store = /obj/item/gun/energy/e_gun/hades - glasses = /obj/item/clothing/glasses/meson/engine - back = /obj/item/storage/backpack/ert/engineer - belt = /obj/item/storage/belt/utility/full - l_pocket = /obj/item/rcd_ammo/large - r_hand = /obj/item/storage/firstaid/regular - backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ - /obj/item/melee/baton/loaded=1,\ - /obj/item/construction/rcd/loaded=1) - - -/datum/outfit/centcom/ert/engineer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - ..() +/datum/outfit/job/nanotrasen/ert + name = "ERT - Nanotrasen Vigilitas Security Officer" + jobtype = /datum/job/officer + job_icon = "securityofficer" - if(visualsOnly) - return + wallet = null - var/obj/item/radio/R = H.ears - R.keyslot = new /obj/item/encryptionkey/headset_com - R.recalculateChannels() + ears = /obj/item/radio/headset/headset_sec/alt + uniform = /obj/item/clothing/under/nanotrasen/security + gloves = /obj/item/clothing/gloves/color/black + head = /obj/item/clothing/head/nanotrasen/cap/security + suit = /obj/item/clothing/suit/armor/nanotrasen + suit_store = /obj/item/gun/ballistic/automatic/pistol/commander + dcoat = /obj/item/clothing/suit/hooded/wintercoat/security + shoes = /obj/item/clothing/shoes/jackboots -/datum/outfit/centcom/ert/engineer/alert - name = "ERT Engineer - High Alert" + backpack = /obj/item/storage/backpack/security + satchel = /obj/item/storage/backpack/satchel/sec + duffelbag = /obj/item/storage/backpack/duffelbag/sec + courierbag = /obj/item/storage/backpack/messenger/sec + box = /obj/item/storage/box/survival/security - mask = /obj/item/clothing/mask/gas/sechailer/swat - backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ - /obj/item/melee/baton/loaded=1,\ - /obj/item/gun/energy/pulse/pistol=1,\ - /obj/item/construction/rcd/combat=1) + backpack_contents = list(/obj/item/ammo_box/magazine/co9mm = 3) -// official + implants = list(/obj/item/implant/weapons_auth) -/datum/outfit/centcom/centcom_official - name = "CentCom Official" +/datum/outfit/job/nanotrasen/ert/inspector + name = "ERT - Nanotrasen CentCom Inspector" + id_assignment = "Inspector" + job_icon = "centcom" + head = null uniform = /obj/item/clothing/under/rank/centcom/official shoes = /obj/item/clothing/shoes/sneakers/black gloves = /obj/item/clothing/gloves/color/black + suit = null + suit_store = null ears = /obj/item/radio/headset/headset_cent glasses = /obj/item/clothing/glasses/sunglasses - belt = /obj/item/gun/energy/e_gun - l_pocket = /obj/item/pen - back = /obj/item/storage/backpack/satchel - r_pocket = /obj/item/pda/heads - l_hand = /obj/item/clipboard + belt = /obj/item/clipboard id = /obj/item/card/id/centcom - backpack_contents = list(/obj/item/stamp/centcom=1) - -/datum/outfit/centcom/centcom_official/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - if(visualsOnly) - return - var/obj/item/pda/heads/pda = H.r_store - pda.owner = H.real_name - pda.ownjob = "CentCom Official" - pda.update_label() - - var/obj/item/card/id/W = H.wear_id - W.access = get_centcom_access("CentCom Official") - W.access += ACCESS_WEAPONS - W.assignment = "CentCom Official" - W.registered_name = H.real_name - W.update_label() - ..() - -/datum/outfit/centcom/ert/janitor - name = "ERT Janitor" - - id = /obj/item/card/id/ert/janitor - suit = /obj/item/clothing/suit/space/hardsuit/ert/jani - glasses = /obj/item/clothing/glasses/night - back = /obj/item/storage/backpack/ert/janitor - belt = /obj/item/storage/belt/janitor/full - r_pocket = /obj/item/grenade/chem_grenade/cleaner - l_pocket = /obj/item/grenade/chem_grenade/cleaner - l_hand = /obj/item/storage/bag/trash/bluespace - backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ - /obj/item/storage/box/lights/mixed=1,\ - /obj/item/melee/baton/loaded=1,\ - /obj/item/mop/advanced=1,\ - /obj/item/reagent_containers/glass/bucket=1,\ - /obj/item/grenade/clusterbuster/cleaner=1) - -/datum/outfit/centcom/ert/janitor/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - ..() - - if(visualsOnly) - return - - var/obj/item/radio/R = H.ears - R.keyslot = new /obj/item/encryptionkey/headset_com - R.recalculateChannels() + l_pocket = /obj/item/pen + r_pocket = /obj/item/pda/heads -/datum/outfit/centcom/ert/janitor/heavy - name = "ERT Janitor - Heavy Duty" + backpack_contents = list(/obj/item/stamp/centcom, /obj/item/paper_bin/bundlenatural, /obj/item/hand_labeler) - mask = /obj/item/clothing/mask/gas/sechailer/swat - r_hand = /obj/item/reagent_containers/spray/chemsprayer/janitor - backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ - /obj/item/storage/box/lights/mixed=1,\ - /obj/item/melee/baton/loaded=1,\ - /obj/item/grenade/clusterbuster/cleaner=3) +// /datum/outfit/job/nanotrasen/ert/emergency +// name = "ERT - Vigilitas Emergency Response Officer" -/datum/outfit/centcom/centcom_intern - name = "CentCom Intern" +/datum/outfit/job/nanotrasen/ert/leader + name = "ERT - Nanotrasen Vigilitas Security Corporal" + jobtype = /datum/job/hos + job_icon = "lieutenant" - uniform = /obj/item/clothing/under/rank/centcom/intern - shoes = /obj/item/clothing/shoes/sneakers/black + ears = /obj/item/radio/headset/headset_sec/alt + uniform = /obj/item/clothing/under/nanotrasen/security gloves = /obj/item/clothing/gloves/color/black - ears = /obj/item/radio/headset/headset_cent - glasses = /obj/item/clothing/glasses/sunglasses - belt = /obj/item/melee/classic_baton - r_hand = /obj/item/gun/ballistic/rifle/illestren - back = /obj/item/storage/backpack/satchel - l_pocket = /obj/item/ammo_box/magazine/illestren_a850r - r_pocket = /obj/item/ammo_box/magazine/illestren_a850r - id = /obj/item/card/id/centcom - backpack_contents = list(/obj/item/storage/box/survival = 1) -/datum/outfit/centcom/centcom_intern/unarmed - name = "CentCom Intern (Unarmed)" - belt = null - l_hand = null - l_pocket = null - r_pocket = null - -/datum/outfit/centcom/centcom_intern/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - if(visualsOnly) - return - - var/obj/item/card/id/W = H.wear_id - W.access = get_centcom_access(name) - W.access += ACCESS_WEAPONS - W.assignment = name - W.registered_name = H.real_name - W.update_label() - -/datum/outfit/centcom/centcom_intern/leader - name = "CentCom Head Intern" - belt = /obj/item/melee/baton/loaded - suit = /obj/item/clothing/suit/armor/vest - suit_store = /obj/item/gun/ballistic/rifle/illestren - r_hand = /obj/item/megaphone - head = /obj/item/clothing/head/intern - -/datum/outfit/centcom/centcom_intern/leader/unarmed // i'll be nice and let the leader keep their baton and vest - name = "CentCom Head Intern (Unarmed)" - suit_store = null - l_pocket = null - r_pocket = null - -// Marine - -/datum/outfit/centcom/ert/marine - name = "Marine Commander" - - id = /obj/item/card/id/ert - suit = /obj/item/clothing/suit/armor/vest/marine - back = /obj/item/storage/backpack/ert - backpack_contents = list( - /obj/item/storage/box/survival/engineer = 1, - /obj/item/gun_voucher/nanotrasen = 1 -) - belt = /obj/item/storage/belt/military/assault - glasses = /obj/item/clothing/glasses/hud/security/sunglasses/eyepatch - l_pocket = /obj/item/melee/knife/combat - r_pocket = /obj/item/tank/internals/emergency_oxygen/double - uniform = /obj/item/clothing/under/rank/security/officer/military - accessory = /obj/item/clothing/accessory/holster/marine - mask = /obj/item/clothing/mask/gas/sechailer - head = /obj/item/clothing/head/helmet/marine - -/datum/outfit/centcom/ert/marine/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - ..() - - if(visualsOnly) - return - var/obj/item/radio/headset = H.ears - headset.keyslot = new /obj/item/encryptionkey/heads/captain - headset.recalculateChannels() - -/datum/outfit/centcom/ert/marine/security - name = "Marine Heavy" - - id = /obj/item/card/id/ert/security - suit = /obj/item/clothing/suit/armor/vest/marine/heavy - back = /obj/item/storage/backpack/ert/security - glasses = /obj/item/clothing/glasses/hud/security/sunglasses - head = /obj/item/clothing/head/helmet/marine/security - -/datum/outfit/centcom/ert/marine/security/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - ..() - - if(visualsOnly) - return - - var/obj/item/radio/headset = H.ears - headset.keyslot = new /obj/item/encryptionkey/headset_com - headset.recalculateChannels() - -/datum/outfit/centcom/ert/marine/medic - name = "Marine Medic" - - id = /obj/item/card/id/ert/medical - suit = /obj/item/clothing/suit/armor/vest/marine - accessory = /obj/item/clothing/accessory/holster/marine - back = /obj/item/storage/backpack/ert/medical - l_pocket = /obj/item/healthanalyzer - head = /obj/item/clothing/head/helmet/marine/medic - backpack_contents = list( - /obj/item/storage/box/survival/engineer = 1, - /obj/item/gun_voucher/nanotrasen = 1, - /obj/item/reagent_containers/hypospray/combat = 1, - /obj/item/storage/firstaid/regular = 1, - /obj/item/storage/firstaid/advanced = 1 -) - belt = /obj/item/storage/belt/medical/paramedic - glasses = /obj/item/clothing/glasses/hud/health/sunglasses - -/datum/outfit/centcom/ert/marine/medic/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - ..() - - if(visualsOnly) - return - - var/obj/item/radio/headset = H.ears - headset.keyslot = new /obj/item/encryptionkey/headset_com - headset.recalculateChannels() - -/datum/outfit/centcom/ert/marine/engineer - name = "Marine Engineer" - - id = /obj/item/card/id/ert/engineer - suit = /obj/item/clothing/suit/armor/vest/marine/medium - head = /obj/item/clothing/head/helmet/marine/engineer - back = /obj/item/storage/backpack/ert/engineer - backpack_contents = list( - /obj/item/storage/box/survival/engineer = 1, - /obj/item/gun_voucher/nanotrasen = 1, - /obj/item/rcd_ammo/large = 2, - ) - r_hand = /obj/item/deployable_turret_folded - uniform = /obj/item/clothing/under/rank/security/officer/military/eng - belt = /obj/item/storage/belt/utility/full/ert - glasses = /obj/item/clothing/glasses/hud/diagnostic/sunglasses - -/datum/outfit/centcom/ert/marine/engineer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - ..() - - if(visualsOnly) - return - - var/obj/item/radio/headset = H.ears - headset.keyslot = new /obj/item/encryptionkey/headset_com - headset.recalculateChannels() - -// Loss Prevention -/datum/outfit/job/nanotrasen/security/ert/lp - name = "ERT - Loss Prevention Security Specialist" - jobtype = /datum/job/officer - job_icon = "securityresponseofficer" - - head = null - implants = list(/obj/item/implant/mindshield) - ears = /obj/item/radio/headset/nanotrasen/alt - id = /obj/item/card/id/lpsec - suit_store = /obj/item/gun/energy/laser/scatter/shotty - belt = /obj/item/storage/belt/security/full - glasses = /obj/item/clothing/glasses/sunglasses - gloves = /obj/item/clothing/gloves/tackler/combat - suit = /obj/item/clothing/suit/space/hardsuit/ert/lp/sec - uniform = /obj/item/clothing/under/rank/security/head_of_security/nt/lp - shoes = /obj/item/clothing/shoes/jackboots - back = /obj/item/storage/backpack/ert/security - - box = /obj/item/storage/box/survival/security + head = /obj/item/clothing/head/nanotrasen/beret/security + suit = /obj/item/clothing/suit/armor/nanotrasen/slim l_pocket = /obj/item/restraints/handcuffs - r_pocket = /obj/item/melee/knife/combat - - backpack_contents = list(/obj/item/radio=1, /obj/item/stock_parts/cell/gun/upgraded=2, /obj/item/screwdriver=1) - - -/datum/outfit/job/nanotrasen/security/ert/lp/medic - name = "ERT - Loss Prevention Medical Specialist" - jobtype = /datum/job/doctor - job_icon = "medicalresponseofficer" + r_pocket = /obj/item/assembly/flash/handheld + backpack_contents = null - head = null - uniform = /obj/item/clothing/under/rank/medical/paramedic/lp - suit = /obj/item/clothing/suit/space/hardsuit/ert/lp/med - id = /obj/item/card/id/lpmed - gloves = /obj/item/clothing/gloves/color/latex/nitrile - back = /obj/item/storage/backpack/ert/medical - belt = /obj/item/storage/belt/medical/surgery - - box = /obj/item/storage/box/survival/medical - l_pocket = /obj/item/healthanalyzer - r_pocket = /obj/item/reagent_containers/hypospray/medipen/atropine - - backpack_contents = list(/obj/item/storage/firstaid/medical=1, /obj/item/radio=1) - - -/datum/outfit/job/nanotrasen/security/ert/lp/engineer - name = "ERT - Loss Prevention Engineering Specialist" - jobtype = /datum/job/engineer - job_icon = "engineeringresponseofficer" - - head = null - uniform = /obj/item/clothing/under/rank/engineering/engineer/nt/lp - suit = /obj/item/clothing/suit/space/hardsuit/ert/lp/engi - id = /obj/item/card/id/lpengie - belt = /obj/item/storage/belt/utility/full - gloves = /obj/item/clothing/gloves/color/yellow - glasses = /obj/item/clothing/glasses/welding - back = /obj/item/storage/backpack/ert/engineer - - box = /obj/item/storage/box/survival/engineer - l_pocket = /obj/item/extinguisher/mini - r_pocket = /obj/item/wrench/combat - - backpack_contents = list(/obj/item/stack/sheet/metal/fifty=1, /obj/item/stack/sheet/glass/fifty=1, /obj/item/radio=1) +// /datum/outfit/job/nanotrasen/ert/leader/emergency +// name = "ERT - Vigilitas Emergency Response Lieutenant" -/datum/outfit/job/nanotrasen/security/ert/lp/lieutenant - name = "ERT - Loss Prevention Lieutenant" - jobtype = /datum/job/captain - job_icon = "emergencyresponseteamcommander" - - head = null - ears = /obj/item/radio/headset/nanotrasen/alt/captain - id = /obj/item/card/id/lplieu - belt = /obj/item/storage/belt/military/army - gloves = /obj/item/clothing/gloves/color/black - uniform = /obj/item/clothing/under/rank/security/warden/lp - suit = /obj/item/clothing/suit/space/hardsuit/ert/lp - shoes = /obj/item/clothing/shoes/combat - glasses = /obj/item/clothing/glasses/hud/security/sunglasses - back = /obj/item/storage/backpack/ert +// /datum/outfit/job/nanotrasen/ert/emergency/medic +// name = "ERT - Vigilitas Emergency Response Medic" - l_pocket = /obj/item/megaphone/command - r_pocket = /obj/item/binoculars +// /datum/outfit/job/nanotrasen/ert/emergency/engineer +// name = "ERT - Vigilitas Emergency Response Engineer" diff --git a/code/modules/clothing/outfits/ert/roumain_ert.dm b/code/modules/clothing/outfits/ert/roumain_ert.dm new file mode 100644 index 000000000000..efe7828173be --- /dev/null +++ b/code/modules/clothing/outfits/ert/roumain_ert.dm @@ -0,0 +1,131 @@ +/datum/outfit/job/roumain/ert + name = "ERT - Saint-Roumain Hunter" // flaming arrow and shadow + id_assignment = "Hunter" + jobtype = /datum/job/officer + job_icon = "srm_hunter" + + wallet = null + + uniform = /obj/item/clothing/under/suit/roumain + shoes = /obj/item/clothing/shoes/workboots/mining + suit = /obj/item/clothing/suit/armor/roumain + head = /obj/item/clothing/head/cowboy/sec/roumain + belt = /obj/item/gun/ballistic/revolver/shadow + suit_store = /obj/item/gun/ballistic/shotgun/flamingarrow/factory + + l_pocket = /obj/item/ammo_box/a44roum_speedloader + r_pocket = /obj/item/flashlight/lantern + + duffelbag = /obj/item/storage/backpack/satchel/leather + courierbag = /obj/item/storage/backpack/satchel/leather + backpack = /obj/item/storage/backpack/satchel/leather + satchel = /obj/item/storage/backpack/satchel/leather + box = null + + backpack_contents = list(/obj/item/ammo_box/a44roum_speedloader = 2, /obj/item/storage/box/ammo/c38) + +/datum/outfit/job/roumain/ert/firestorm + name = "ERT - Saint-Roumain Hunter (Firestorm)" // firestorm and shadow + + belt = /obj/item/gun/ballistic/revolver/shadow + suit_store = /obj/item/gun/ballistic/automatic/smg/firestorm/pan + + l_pocket = /obj/item/ammo_box/a44roum_speedloader + + backpack_contents = list(/obj/item/ammo_box/magazine/c45_firestorm_mag/pan = 3, /obj/item/ammo_box/a44roum_speedloader = 2, /obj/item/storage/box/ammo/a44roum) + +/datum/outfit/job/roumain/ert/vickland + name = "ERT - Saint-Roumain Hunter (Vickland)" // vickland and candor + + belt = /obj/item/gun/ballistic/automatic/pistol/candor/factory + suit_store = /obj/item/gun/ballistic/automatic/marksman/vickland + + l_pocket = /obj/item/ammo_box/magazine/m45 + + backpack_contents = list(/obj/item/ammo_box/vickland_a308 = 6, /obj/item/storage/box/ammo/a308, /obj/item/ammo_box/magazine/m45 = 2) + +/datum/outfit/job/roumain/ert/scout + name = "ERT - Saint-Roumain Hunter (Scout)" // scout and detective special + + belt = /obj/item/gun/ballistic/revolver/detective + suit_store = /obj/item/gun/ballistic/rifle/scout + + backpack_contents = list(/obj/item/ammo_box/a300 = 5) + +/datum/outfit/job/roumain/ert/medic + name = "ERT - Saint-Roumain Hunter Doctor" + id_assignment = "Hunter Doctor" + job_icon = "srm_doctor" + jobtype = /datum/job/doctor + + uniform = /obj/item/clothing/under/suit/roumain + shoes = /obj/item/clothing/shoes/workboots/mining + suit = /obj/item/clothing/suit/toggle/labcoat/roumain_med + suit_store = null + head = /obj/item/clothing/head/cowboy/sec/roumain/med + mask = /obj/item/clothing/mask/gas/plaguedoctor + gloves = null + +/datum/outfit/job/roumain/ert/engineer + name = "ERT - Saint-Roumain Machinist" + id_assignment = "Machinist" + job_icon = "srm_machinist" + jobtype = /datum/job/engineer + + uniform = /obj/item/clothing/under/suit/roumain + alt_uniform = null + shoes = /obj/item/clothing/shoes/workboots/mining + belt = /obj/item/storage/belt/utility/full/engi + suit = /obj/item/clothing/suit/hazardvest/roumain + suit_store = null + head = /obj/item/clothing/head/cowboy/sec/roumain/machinist + glasses = /obj/item/clothing/glasses/welding + accessory = /obj/item/clothing/accessory/waistcoat/roumain + gloves = /obj/item/clothing/gloves/color/yellow + + +/datum/outfit/job/roumain/ert/leader + name = "ERT - Saint-Roumain Hunter Montagne" // flaming bolt and montagne + id_assignment = "Hunter Montagne" + job_icon = "srm_montagne" + jobtype = /datum/job/captain + + ears = /obj/item/radio/headset/headset_com/alt + uniform = /obj/item/clothing/under/suit/roumain + shoes = /obj/item/clothing/shoes/cowboy + suit = /obj/item/clothing/suit/armor/roumain/montagne + suit_store = /obj/item/gun/ballistic/shotgun/flamingarrow/bolt + belt = /obj/item/gun/ballistic/revolver/montagne + head = /obj/item/clothing/head/cowboy/sec/roumain/montagne + id = /obj/item/card/id/gold + + duffelbag = /obj/item/storage/backpack/cultpack + courierbag = /obj/item/storage/backpack/cultpack + backpack = /obj/item/storage/backpack/cultpack + satchel = /obj/item/storage/backpack/cultpack + +/datum/outfit/job/roumain/ert/leader/twobore + name = "ERT - Saint-Roumain Hunter Montagne (Huntsman)" // huntsman (twobore) and montagne + + suit_store = /obj/item/gun/ballistic/shotgun/doublebarrel/twobore + + l_pocket = /obj/item/ammo_box/a357 + + backpack_contents = list(/obj/item/ammo_casing/shotgun/buckshot/twobore = 8) + +/datum/outfit/job/roumain/ert/leader/colligne + name = "ERT - Saint-Roumain Hunter Colligne" // double barrel and ashhand + id_assignment = "Hunter Colligne" + job_icon = "srm_colligne" + jobtype = /datum/job/head_of_personnel + + ears = /obj/item/radio/headset/headset_com + uniform = /obj/item/clothing/under/suit/roumain + shoes = /obj/item/clothing/shoes/workboots/mining + suit = /obj/item/clothing/suit/armor/roumain/colligne + suit_store = /obj/item/gun/ballistic/shotgun/doublebarrel/roumain + head = /obj/item/clothing/head/cowboy/sec/roumain/colligne + belt = /obj/item/gun/ballistic/revolver/ashhand + id = /obj/item/card/id/silver + + backpack_contents = list(/obj/item/storage/box/ammo/a12g_buckshot, /obj/item/storage/box/ammo/a4570) diff --git a/code/modules/clothing/outfits/ert/solgov_ert.dm b/code/modules/clothing/outfits/ert/solgov_ert.dm index d6830b751498..5fbc808397b1 100644 --- a/code/modules/clothing/outfits/ert/solgov_ert.dm +++ b/code/modules/clothing/outfits/ert/solgov_ert.dm @@ -4,6 +4,8 @@ jobtype = /datum/job/officer job_icon = "sonnensoldner" + wallet = null + id = /obj/item/card/id/solgov uniform = /obj/item/clothing/under/solgov suit = /obj/item/clothing/suit/armor/vest/solgov @@ -11,20 +13,20 @@ ears = /obj/item/radio/headset/solgov/alt gloves = /obj/item/clothing/gloves/combat head = /obj/item/clothing/head/solgov/sonnensoldner - shoes = /obj/item/clothing/shoes/workboots - back = /obj/item/storage/backpack + shoes = /obj/item/clothing/shoes/combat box = /obj/item/storage/box/survival l_hand = /obj/item/energyhalberd /datum/outfit/job/solgov/ert/inspector - name = "ERT - Inspector (SolGov)" + name = "ERT - SolGov Inspector" id_assignment = "Inspector" jobtype = /datum/job/head_of_personnel job_icon = "solgovrepresentative" uniform = /obj/item/clothing/under/solgov/formal + neck = /obj/item/clothing/neck/cloak/solgov belt = /obj/item/clipboard ears = /obj/item/radio/headset/solgov/captain back = /obj/item/storage/backpack/satchel/leather @@ -35,7 +37,9 @@ suit_store = null mask = null glasses = null - l_hand = null - backpack_contents = list(/obj/item/stamp/solgov=1) + r_pocket = /obj/item/pen/fourcolor + l_pocket = /obj/item/taperecorder + + backpack_contents = list(/obj/item/folder/solgov, /obj/item/paper_bin/bundlenatural, /obj/item/hand_labeler) diff --git a/code/modules/clothing/outfits/ert/syndicate_ert.dm b/code/modules/clothing/outfits/ert/syndicate_ert.dm index c37dab500091..9f6dfc0aca33 100644 --- a/code/modules/clothing/outfits/ert/syndicate_ert.dm +++ b/code/modules/clothing/outfits/ert/syndicate_ert.dm @@ -1,114 +1,186 @@ +// unaligned. they're basically stand-ins + /datum/outfit/job/syndicate/ert name = "ERT - Syndicate Basic" jobtype = /datum/job/officer job_icon = "securityofficer" + wallet = null + + uniform = /obj/item/clothing/under/syndicate/combat suit = /obj/item/clothing/suit/armor/vest/syndie - suit_store = /obj/item/gun/ballistic/automatic/smg/cobra + suit_store = /obj/item/gun/ballistic/automatic/assault/hydra shoes = /obj/item/clothing/shoes/combat - ears = /obj/item/radio/headset/syndicate/alt + ears = /obj/item/radio/headset/headset_sec/alt gloves = /obj/item/clothing/gloves/color/black id = /obj/item/card/id/syndicate_command/crew_id mask = /obj/item/clothing/mask/gas/sechailer/balaclava - head = /obj/item/clothing/head/helmet/operator - back = /obj/item/storage/backpack/security - belt = /obj/item/storage/belt/military/c20r + head = /obj/item/clothing/head/helmet/syndie + belt = /obj/item/storage/belt/military/hydra + glasses = /obj/item/clothing/glasses/hud/security r_pocket = /obj/item/melee/knife/combat l_pocket = /obj/item/grenade/frag implants = list(/obj/item/implant/weapons_auth) - backpack_contents = list(/obj/item/radio=1) + backpack_contents = list(/obj/item/gun/ballistic/automatic/pistol/ringneck=1, /obj/item/ammo_box/magazine/m10mm_ringneck=2) /datum/outfit/job/syndicate/ert/leader name = "ERT - Syndicate Basic Leader" job_icon = "lieutenant" head = /obj/item/clothing/head/HoS/beret/syndicate + mask = /obj/item/clothing/mask/gas/sechailer/balaclava + ears = /obj/item/radio/headset/syndicate/alt/leader + +// inspector + +/datum/outfit/job/syndicate/ert/inspector + name = "ERT - ACLF Inspector" + id_assignment = "Inspector" + jobtype = /datum/job/head_of_personnel + job_icon = "syndicate" + + uniform = /obj/item/clothing/under/syndicate + head = /obj/item/clothing/head/HoS/beret/syndicate + mask = null + belt = /obj/item/clipboard + back = /obj/item/storage/backpack/satchel/leather ears = /obj/item/radio/headset/syndicate/captain + shoes = /obj/item/clothing/shoes/laceup + gloves = /obj/item/clothing/gloves/color/white + suit = /obj/item/clothing/suit/armor/hos + suit_store = null - backpack_contents = list(/obj/item/gun/ballistic/automatic/pistol/ringneck=1, /obj/item/ammo_box/magazine/m10mm_ringneck=2, /obj/item/radio=1) + backpack = /obj/item/storage/backpack/satchel/sec + duffelbag = /obj/item/storage/backpack/satchel/sec + satchel = /obj/item/storage/backpack/satchel/sec + courierbag = /obj/item/storage/backpack/satchel/sec -// gorlex loyalist/2nd battlegroup + l_pocket = /obj/item/pen/fourcolor + r_pocket = /obj/item/taperecorder -/datum/outfit/job/syndicate/ert/gorlex - name = "ERT - New Gorlex Republic Trooper" + backpack_contents = list(/obj/item/stamp/syndicate, /obj/item/paper_bin, /obj/item/folder/syndicate, /obj/item/tape) - head = /obj/item/clothing/head/helmet/swat - uniform = /obj/item/clothing/under/syndicate/combat - suit = /obj/item/clothing/suit/armor/vest/bulletproof - belt = /obj/item/storage/belt/military/assault/m90 - back = /obj/item/storage/backpack/security - suit_store = /obj/item/gun/ballistic/automatic/assault/hydra +// new gorlex republic + +/datum/outfit/job/syndicate/ert/ngr + name = "ERT - New Gorlex Republic Serviceman" + id_assignment = "Serviceman" + + head = /obj/item/clothing/head/helmet/ngr + mask = /obj/item/clothing/mask/gas/sechailer/balaclava/ngr + ears = /obj/item/radio/headset/headset_sec/alt + uniform = /obj/item/clothing/under/syndicate/ngr + glasses = /obj/item/clothing/glasses/hud/security/sunglasses/ngr + suit = /obj/item/clothing/suit/armor/ngr + belt = /obj/item/storage/belt/security/webbing/ngr/cobra + suit_store = /obj/item/gun/ballistic/automatic/smg/cobra + +/datum/outfit/job/syndicate/ert/ngr/grenadier + name = "ERT - New Gorlex Republic Grenadier" -/datum/outfit/job/syndicate/ert/gorlex/pointman - name = "ERT - New Gorlex Republic Pointman" + belt = /obj/item/storage/belt/security/webbing/ngr/hydra_grenadier + suit_store = /obj/item/gun/ballistic/automatic/assault/hydra/underbarrel_gl - suit_store = /obj/item/gun/ballistic/shotgun/automatic/bulldog - belt = /obj/item/storage/belt/security/webbing/bulldog + backpack_contents = list(/obj/item/grenade/c4 = 3) -/datum/outfit/job/syndicate/ert/gorlex/medic - name = "ERT - New Gorlex Republic Medic" +/datum/outfit/job/syndicate/ert/ngr/medic + name = "ERT - New Gorlex Republic Field Medic" jobtype = /datum/job/paramedic job_icon = "paramedic" + id_assignment = "Field Medic" - head = /obj/item/clothing/head/soft/black - mask = null - suit = /obj/item/clothing/suit/armor/vest/alt + head = /obj/item/clothing/head/ngr/surgical + mask = /obj/item/clothing/mask/gas/syndicate/ngr belt = /obj/item/storage/belt/medical/webbing/paramedic - glasses = /obj/item/clothing/glasses/hud/health/sunglasses + glasses = /obj/item/clothing/glasses/hud/health gloves = /obj/item/clothing/gloves/color/latex/nitrile/evil - suit_store = /obj/item/gun/ballistic/automatic/pistol/ringneck + suit_store = /obj/item/gun/ballistic/automatic/pistol/asp l_pocket = /obj/item/radio - backpack_contents = list(/obj/item/ammo_box/magazine/m10mm_ringneck=2, /obj/item/storage/firstaid/medical=1, /obj/item/defibrillator/compact/combat/loaded=1) + backpack_contents = list(/obj/item/ammo_box/magazine/m57_39_asp = 2, /obj/item/storage/firstaid/medical=1, /obj/item/defibrillator/compact/combat/loaded=1) -/datum/outfit/job/syndicate/ert/gorlex/sniper - name = "ERT - New Gorlex Republic Sniper" +/datum/outfit/job/syndicate/ert/ngr/sniper + name = "ERT - New Gorlex Republic Marksman" head = /obj/item/clothing/head/beret/black - back = /obj/item/storage/backpack/messenger/sec - glasses = /obj/item/clothing/glasses/night + neck = /obj/item/clothing/neck/shemagh/ngr gloves = /obj/item/clothing/gloves/fingerless - suit = /obj/item/clothing/suit/armor/vest - belt = /obj/item/storage/belt/security + suit = /obj/item/clothing/suit/armor/vest/alt + belt = /obj/item/storage/belt/military/assault/sniper suit_store = /obj/item/gun/ballistic/automatic/marksman/taipan r_pocket = /obj/item/melee/knife/survival l_pocket = /obj/item/binoculars - backpack_contents = list(/obj/item/ammo_box/magazine/sniper_rounds=2, /obj/item/radio=1) + backpack = /obj/item/storage/backpack/messenger/sec + duffelbag = /obj/item/storage/backpack/messenger/sec + satchel = /obj/item/storage/backpack/messenger/sec + courierbag = /obj/item/storage/backpack/messenger/sec + + backpack_contents = list(/obj/item/gun/ballistic/automatic/pistol/asp, /obj/item/ammo_box/magazine/m57_39_asp = 2) -/datum/outfit/job/syndicate/ert/gorlex/leader +/datum/outfit/job/syndicate/ert/ngr/leader name = "ERT - New Gorlex Republic Sergeant" job_icon = "lieutenant" - uniform = /obj/item/clothing/under/syndicate/gorlex - head = /obj/item/clothing/head/HoS/beret/syndicate + uniform = /obj/item/clothing/under/syndicate/ngr/officer + neck = /obj/item/clothing/mask/whistle/trench // funny + head = /obj/item/clothing/head/ngr/peaked back = /obj/item/storage/backpack/satchel/sec - mask = /obj/item/clothing/mask/gas/sechailer - glasses = /obj/item/clothing/glasses/hud/security/night gloves = /obj/item/clothing/gloves/tackler/combat + belt = /obj/item/storage/belt/security/webbing/ngr/cobra + suit_store = /obj/item/gun/ballistic/automatic/smg/cobra l_pocket = /obj/item/megaphone/sec -// commandos + backpack_contents = list(/obj/item/gun/ballistic/automatic/pistol/asp, /obj/item/ammo_box/magazine/m57_39_asp = 2, /obj/item/grenade/smokebomb) + +/datum/outfit/job/syndicate/ert/ngr/inspector + name = "ERT - New Gorlex Republic Official" + id_assignment = "Official" + job_icon = "syndicate" + + head = /obj/item/clothing/head/ngr + ears = /obj/item/radio/headset/syndicate/captain + gloves = /obj/item/clothing/gloves/color/white + mask = null + uniform = /obj/item/clothing/under/syndicate/ngr/officer + glasses = null + suit = /obj/item/clothing/suit/armor/ngr/lieutenant + belt = /obj/item/clipboard + shoes = /obj/item/clothing/shoes/jackboots + suit_store = null + + backpack = /obj/item/storage/backpack/satchel/leather + duffelbag = /obj/item/storage/backpack/satchel/leather + satchel = /obj/item/storage/backpack/satchel/leather + courierbag = /obj/item/storage/backpack/satchel/leather + + r_pocket = /obj/item/pen/fourcolor + l_pocket = /obj/item/taperecorder + + backpack_contents = list(/obj/item/folder/red, /obj/item/paper_bin/bundlenatural, /obj/item/hand_labeler) + +// cybersun /datum/outfit/job/syndicate/ert/cybersun name = "ERT - Syndicate Cybersun Commando" job_icon = "syndicate" head = null - uniform = /obj/item/clothing/under/syndicate/combat - belt = /obj/item/storage/belt/military/c20r + mask = /obj/item/clothing/mask/breath + uniform = /obj/item/clothing/under/syndicate/cybersun + belt = /obj/item/storage/belt/military/boomslang suit = /obj/item/clothing/suit/space/hardsuit/syndi/cybersun - suit_store = /obj/item/gun/ballistic/automatic/smg/cobra + suit_store = /obj/item/gun/ballistic/automatic/marksman/boomslang ears = /obj/item/radio/headset/syndicate/alt - glasses = /obj/item/clothing/glasses/hud/security/sunglasses + glasses = /obj/item/clothing/glasses/hud/security/sunglasses/hardliners implants = list(/obj/item/implant/adrenalin) - backpack_contents = list(/obj/item/autosurgeon/syndicate/laser_arm, /obj/item/radio=1) + backpack_contents = list(/obj/item/autosurgeon/syndicate/laser_arm, /obj/item/grenade/smokebomb) /datum/outfit/job/syndicate/ert/cybersun/leader name = "ERT - Syndicate Cybersun Commando Leader" @@ -116,15 +188,36 @@ ears = /obj/item/radio/headset/syndicate/alt/captain glasses = /obj/item/clothing/glasses/hud/security/night - backpack_contents = list(/obj/item/autosurgeon/syndicate/laser_arm=1, /obj/item/antag_spawner/nuke_ops/borg_tele/medical/unlocked=1, /obj/item/radio=1) + backpack_contents = list(/obj/item/autosurgeon/syndicate/laser_arm=1, /obj/item/antag_spawner/nuke_ops/borg_tele/medical/unlocked=1, /obj/item/grenade/smokebomb) -// paramedics +/datum/outfit/job/syndicate/ert/cybersun/inspector + name = "ERT - Syndicate Cybersun Representative" + + uniform = /obj/item/clothing/under/syndicate/cybersun/officer + head = /obj/item/clothing/head/HoS/cybersun + shoes = /obj/item/clothing/shoes/laceup + glasses = /obj/item/clothing/glasses/hud/security/sunglasses + suit = null + suit_store = null + belt = /obj/item/clipboard + glasses = null + mask = null + ears = /obj/item/radio/headset/syndicate + + r_pocket = /obj/item/pen/fourcolor + l_pocket = /obj/item/taperecorder + + backpack_contents = list(/obj/item/stamp/cybersun, /obj/item/folder/red, /obj/item/paper_bin/bundlenatural, /obj/item/hand_labeler) + +// cybersun paramedics /datum/outfit/job/syndicate/ert/cybersun/medic name = "ERT - Syndicate Cybersun Paramedic" job_icon = "paramedic" + jobtype = /datum/job/paramedic uniform = /obj/item/clothing/under/syndicate/medic + accessory = /obj/item/clothing/accessory/holster/marine suit = /obj/item/clothing/suit/space/hardsuit/syndi/cybersun/paramed suit_store = /obj/item/tank/internals/oxygen mask = /obj/item/clothing/mask/breath/medical @@ -135,13 +228,9 @@ back = /obj/item/storage/backpack/ert/medical l_pocket = /obj/item/melee/knife/survival r_pocket = /obj/item/pinpointer/crew - accessory = /obj/item/clothing/accessory/holster/marine backpack_contents = list(/obj/item/storage/firstaid/tactical=1, /obj/item/holosign_creator/medical=1, /obj/item/radio=1) - jobtype = /datum/job/paramedic - job_icon = "paramedic" - /datum/outfit/job/syndicate/ert/cybersun/medic/leader name = "ERT - Syndicate Cybersun Lead Paramedic" id_assignment = "Lead Paramedic" @@ -154,25 +243,89 @@ backpack_contents = list(/obj/item/storage/firstaid/tactical=1, /obj/item/holosign_creator/medical=1, /obj/item/autosurgeon/cmo=1, /obj/item/radio=1, /obj/item/antag_spawner/nuke_ops/borg_tele/medical/unlocked=1) -// inspector -/datum/outfit/job/syndicate/ert/inspector - name = "ERT - Inspector (Syndicate)" - id_assignment = "Inspector" - jobtype = /datum/job/head_of_personnel - job_icon = "syndicate" +// hardliners - uniform = /obj/item/clothing/under/syndicate/ngr/officer - head = /obj/item/clothing/head/HoS/beret/syndicate - mask = null - belt = /obj/item/clipboard - back = /obj/item/storage/backpack/satchel/leather - ears = /obj/item/radio/headset/syndicate/captain - shoes = /obj/item/clothing/shoes/laceup - gloves = /obj/item/clothing/gloves/color/white - suit = /obj/item/clothing/suit/armor/hos - l_pocket = null - r_pocket = null - suit_store = null +/datum/outfit/job/syndicate/ert/hardliner + name = "ERT - Syndicate Hardliner Mercenary" + + uniform = /obj/item/clothing/under/syndicate/hardliners + suit = /obj/item/clothing/suit/armor/hardliners + glasses = /obj/item/clothing/glasses/hud/security/sunglasses/hardliners + suit_store = /obj/item/gun/ballistic/automatic/smg/sidewinder + belt = /obj/item/storage/belt/security/webbing/hardliners/sidewinder + gloves = /obj/item/clothing/gloves/color/black + mask = /obj/item/clothing/mask/gas/sechailer/balaclava + head = /obj/item/clothing/head/helmet/hardliners + +/datum/outfit/job/syndicate/ert/hardliner/engineer + name = "ERT - Syndicate Hardliner Mechanic" + + head = /obj/item/clothing/head/hardhat/hardliners + belt = /obj/item/storage/belt/utility/full + suit_store = /obj/item/gun/ballistic/automatic/smg/cobra + + backpack_contents = list(/obj/item/ammo_box/magazine/m45_cobra = 2) + +/datum/outfit/job/syndicate/ert/hardliner/medic + name = "ERT - Syndicate Hardliner Medic" + + head = /obj/item/clothing/head/hardliners + belt = /obj/item/storage/belt/medical/webbing/paramedic + +/datum/outfit/job/syndicate/ert/hardliner/leader + name = "ERT - Syndicate Hardliner Sergeant" + + uniform = /obj/item/clothing/under/syndicate/hardliners/officer + suit = /obj/item/clothing/suit/armor/hardliners/sergeant + head = /obj/item/clothing/head/hardliners/peaked + +// ramzi clique + +/datum/outfit/job/syndicate/ert/ramzi + name = "ERT - Ramzi Clique Cell Rifleman" + + head = null + mask = /obj/item/clothing/mask/gas/syndicate + uniform = /obj/item/clothing/under/syndicate + suit = /obj/item/clothing/suit/space/hardsuit/syndi/ramzi + suit_store = /obj/item/gun/ballistic/automatic/smg/cobra + belt = /obj/item/storage/belt/military/cobra + glasses = /obj/item/clothing/glasses/thermal + gloves = /obj/item/clothing/gloves/combat + id = null // no identification for you + + l_pocket = /obj/item/tank/internals/emergency_oxygen/double + + implants = list(/obj/item/implant/explosive) + backpack_contents = list(/obj/item/grenade/frag = 3, /obj/item/grenade/smokebomb = 3) + +/datum/outfit/job/syndicate/ert/ramzi/demolitionist + name = "ERT - Ramzi Clique Cell Demolitionist" + + belt = /obj/item/storage/belt/military/mako + suit_store = /obj/item/gun/ballistic/rocketlauncher/mako + glasses = /obj/item/clothing/glasses/meson/night + + r_pocket = /obj/item/gun/ballistic/automatic/pistol/himehabu + + backpack_contents = list(/obj/item/ammo_box/magazine/m22lr_himehabu = 2, /obj/item/grenade/c4/x4 = 3, /obj/item/grenade/syndieminibomb = 3, /obj/item/ammo_casing/caseless/rocket/a70mm = 4) + +/datum/outfit/job/syndicate/ert/ramzi/medic + name = "ERT - Ramzi Clique Cell Medic" + + belt = /obj/item/storage/belt/medical/webbing/combat + glasses = /obj/item/clothing/glasses/hud/health/night + + backpack_contents = list(/obj/item/ammo_box/magazine/m45_cobra = 3, /obj/item/defibrillator/compact/combat/loaded, /obj/item/reagent_containers/hypospray/combat) + +/datum/outfit/job/syndicate/ert/ramzi/leader + name = "ERT - Ramzi Clique Cell Leader" + + uniform = /obj/item/clothing/under/syndicate/gorlex + gloves = /obj/item/clothing/gloves/tackler/combat/insulated // funny + + belt = /obj/item/storage/belt/security/webbing/bulldog_mixed + suit_store = /obj/item/gun/ballistic/shotgun/automatic/bulldog/drum - backpack_contents = list(/obj/item/stamp/syndicate) + backpack_contents = list(/obj/item/grenade/smokebomb = 4, /obj/item/grenade/stingbang = 2, /obj/item/grenade/empgrenade = 2) diff --git a/code/modules/clothing/outfits/factions/minutemen.dm b/code/modules/clothing/outfits/factions/minutemen.dm index 4507d46ea958..3f99cc85087f 100644 --- a/code/modules/clothing/outfits/factions/minutemen.dm +++ b/code/modules/clothing/outfits/factions/minutemen.dm @@ -3,7 +3,6 @@ /datum/outfit/job/clip name = "CLIP - Base Outfit" - jobtype = /datum/job/assistant uniform = /obj/item/clothing/under/clip alt_uniform = null @@ -223,6 +222,8 @@ shoes = /obj/item/clothing/shoes/jackboots gloves = /obj/item/clothing/gloves/color/black + l_hand = /obj/item/storage/briefcase + backpack = /obj/item/storage/backpack/satchel/leather satchel = /obj/item/storage/backpack/satchel/leather @@ -233,6 +234,16 @@ /obj/item/detective_scanner=1,\ /obj/item/melee/classic_baton=1) +/datum/outfit/job/clip/investigator/cm5 + name = "CLIP GOLD - Investigator (CM-5c)" + + backpack_contents = list(/obj/item/storage/box/evidence=1,\ + /obj/item/detective_scanner=1,\ + /obj/item/melee/classic_baton=1,\ + /obj/item/ammo_box/magazine/cm5_9mm = 2, \ + /obj/item/gun/ballistic/automatic/smg/cm5/compact + ) + /datum/outfit/job/clip/bureaucrat name = "CLIP GOLD - Bureaucrat" job_icon = "scribe" @@ -534,6 +545,11 @@ backpack_contents = list(/obj/item/clothing/mask/gas/clip=1, /obj/item/storage/ration/chicken_wings_hot_sauce=1) +/datum/outfit/job/clip/minutemen/grunt/dressed/hardsuit + name = "CLIP Minutemen - Minuteman (Spotter Hardsuit)" + head = null + suit = /obj/item/clothing/suit/space/hardsuit/clip_spotter + /datum/outfit/job/clip/minutemen/grunt/dressed/armed name = "CLIP Minutemen - Minuteman (Armed - CM-82)" @@ -629,7 +645,8 @@ suit_store = /obj/item/gun/ballistic/automatic/assault/cm82 belt = /obj/item/storage/belt/military/clip/cm82 - backpack_contents = list(/obj/item/clothing/mask/gas/clip=1, /obj/item/storage/ration/shredded_beef=1, /obj/item/gun/ballistic/automatic/pistol/cm23=1) + //replace commander with the cm23 when its impemented, see the cm-f4 above + backpack_contents = list(/obj/item/clothing/mask/gas/clip=1, /obj/item/storage/ration/shredded_beef=1, /obj/item/gun/ballistic/automatic/pistol/commander=1) /datum/outfit/job/clip/minutemen/grunt/commander name = "CLIP Minutemen - Field Commander" diff --git a/code/modules/clothing/outfits/factions/roumain.dm b/code/modules/clothing/outfits/factions/roumain.dm index fe31fddd9041..e7cc57a33a96 100644 --- a/code/modules/clothing/outfits/factions/roumain.dm +++ b/code/modules/clothing/outfits/factions/roumain.dm @@ -84,7 +84,7 @@ name = "Saint-Roumain Militia - Hunter" id_assignment = "Hunter" jobtype = /datum/job/officer - job_icon = "hsrm_hunter" + job_icon = "srm_hunter" uniform = /obj/item/clothing/under/suit/roumain alt_uniform = null diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm index ff98765ccc99..d168163085e5 100644 --- a/code/modules/clothing/outfits/standard.dm +++ b/code/modules/clothing/outfits/standard.dm @@ -1,13 +1,3 @@ -/datum/outfit/centcom - name = "CentCom Base" - -/datum/outfit/centcom/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - if(visualsOnly) - return - - var/obj/item/implant/mindshield/L = new/obj/item/implant/mindshield(H)//hmm lets have centcom officials become revs - L.implant(H, null, 1) - /datum/outfit/laser_tag name = "Laser Tag Red" @@ -67,35 +57,6 @@ W.registered_name = H.real_name W.update_label() -/datum/outfit/centcom/commander - name = "CentCom Commander" - - uniform = /obj/item/clothing/under/rank/centcom/commander - suit = /obj/item/clothing/suit/armor/vest/bulletproof - shoes = /obj/item/clothing/shoes/combat/swat - gloves = /obj/item/clothing/gloves/tackler/combat/insulated - ears = /obj/item/radio/headset/headset_cent/commander - glasses = /obj/item/clothing/glasses/eyepatch - mask = /obj/item/clothing/mask/cigarette/cigar/cohiba - head = /obj/item/clothing/head/centcom_cap - belt = /obj/item/gun/ballistic/revolver/mateba - r_pocket = /obj/item/lighter - l_pocket = /obj/item/ammo_box/a357 - back = /obj/item/storage/backpack/satchel/leather - id = /obj/item/card/id/centcom - -/datum/outfit/centcom/commander/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - if(visualsOnly) - return - - var/obj/item/card/id/W = H.wear_id - W.access = get_all_accesses() - W.access += get_centcom_access("CentCom Commander") - W.assignment = "CentCom Commander" - W.registered_name = H.real_name - W.update_label() - ..() - /datum/outfit/wizard name = "Blue Wizard" @@ -127,51 +88,6 @@ mask = /obj/item/clothing/mask/breath gloves = /obj/item/clothing/gloves/color/plasmaman - -/datum/outfit/centcom/death_commando - name = "Death Commando" - - uniform = /obj/item/clothing/under/rank/centcom/commander - suit = /obj/item/clothing/suit/space/hardsuit/deathsquad - shoes = /obj/item/clothing/shoes/combat/swat - gloves = /obj/item/clothing/gloves/tackler/combat/insulated - mask = /obj/item/clothing/mask/gas/sechailer/swat - glasses = /obj/item/clothing/glasses/hud/toggle/thermal - back = /obj/item/storage/backpack/security - l_pocket = /obj/item/melee/transforming/energy/sword/saber - r_pocket = /obj/item/shield/energy - suit_store = /obj/item/tank/internals/emergency_oxygen/double - belt = /obj/item/gun/ballistic/revolver/mateba - r_hand = /obj/item/gun/energy/pulse - id = /obj/item/card/id/ert/deathsquad - ears = /obj/item/radio/headset/headset_cent/alt - - backpack_contents = list(/obj/item/storage/box/survival/engineer=1,\ - /obj/item/ammo_box/a357=1,\ - /obj/item/storage/firstaid/regular=1,\ - /obj/item/storage/box/flashbangs=1,\ - /obj/item/flashlight=1,\ - /obj/item/grenade/c4/x4=1) - -/datum/outfit/centcom/death_commando/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - if(visualsOnly) - return - - var/obj/item/radio/R = H.ears - R.set_frequency(FREQ_CENTCOM) - R.freqlock = TRUE - var/obj/item/card/id/W = H.wear_id - W.access = get_all_accesses()//They get full station access. - W.access += get_centcom_access("Death Commando")//Let's add their alloted CentCom access. - W.assignment = "Death Commando" - W.registered_name = H.real_name - W.update_label() - ..() - -/datum/outfit/centcom/death_commando/officer - name = "Death Commando Officer" - head = /obj/item/clothing/head/helmet/space/beret - /datum/outfit/chrono_agent name = "Timeline Eradication Agent" uniform = /obj/item/clothing/under/color/white diff --git a/code/modules/mob/living/simple_animal/corpse.dm b/code/modules/mob/living/simple_animal/corpse.dm index def184966c93..c57db3fe3a85 100644 --- a/code/modules/mob/living/simple_animal/corpse.dm +++ b/code/modules/mob/living/simple_animal/corpse.dm @@ -55,15 +55,15 @@ /datum/outfit/syndicateramzicorpse name = "Ramzi Clique Commando Corpse" - uniform = /obj/item/clothing/under/syndicate/gorlex + uniform = /obj/item/clothing/under/syndicate/combat suit = /obj/item/clothing/suit/space/hardsuit/syndi/ramzi shoes = /obj/item/clothing/shoes/combat - gloves = /obj/item/clothing/gloves/tackler/combat/insulated + gloves = /obj/item/clothing/gloves/color/black ears = /obj/item/radio/headset mask = /obj/item/clothing/mask/gas/syndicate back = /obj/item/tank/jetpack/oxygen r_pocket = /obj/item/tank/internals/emergency_oxygen - id = /obj/item/card/id/syndicate + id = /obj/item/card/id/syndicate_command/crew_id /obj/effect/mob_spawn/human/corpse/syndicatestormtrooper diff --git a/code/modules/projectiles/boxes_magazines/external/shotgun.dm b/code/modules/projectiles/boxes_magazines/external/shotgun.dm index 9803b0feb084..c5c0fd9b7c1f 100644 --- a/code/modules/projectiles/boxes_magazines/external/shotgun.dm +++ b/code/modules/projectiles/boxes_magazines/external/shotgun.dm @@ -7,3 +7,9 @@ caliber = "12ga" max_ammo = 8 multiple_sprites = AMMO_BOX_FULL_EMPTY + +/obj/item/ammo_box/magazine/cm15_12g/incendiary + name = "CM-15 magazine (12g incendiary)" + desc = "An almost straight, 8-round magazine designed for the CM-15 shotgun. This one was loaded with incendiary slugs. Be careful!" + ammo_type = /obj/item/ammo_casing/shotgun/incendiary + caliber = "12ga incendiary" diff --git a/code/modules/projectiles/guns/manufacturer/clip_lanchester/ballistics.dm b/code/modules/projectiles/guns/manufacturer/clip_lanchester/ballistics.dm index 507eb705f5d6..ee5d32f0ba46 100644 --- a/code/modules/projectiles/guns/manufacturer/clip_lanchester/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/clip_lanchester/ballistics.dm @@ -104,6 +104,7 @@ default_ammo_type = /obj/item/ammo_box/magazine/cm5_9mm allowed_ammo_types = list( /obj/item/ammo_box/magazine/cm5_9mm, + /obj/item/ammo_box/magazine/cm5_9mm/rubber, ) bolt_type = BOLT_TYPE_CLIP weapon_weight = WEAPON_LIGHT @@ -136,9 +137,12 @@ NO_MAG_GUN_HELPER(automatic/smg/cm5) +/obj/item/gun/ballistic/automatic/smg/cm5/rubber + default_ammo_type = /obj/item/ammo_box/magazine/cm5_9mm/rubber + /obj/item/ammo_box/magazine/cm5_9mm name = "CM-5 magazine (9mm)" - desc = "A 30-round magazine for 9mm submachine guns. These rounds do okay damage, but struggle against armor." + desc = "A 30-round magazine for the CM-5 submachine gun. These rounds do okay damage, but struggle against armor." icon_state = "cm5_mag-1" base_icon_state = "cm5_mag" ammo_type = /obj/item/ammo_casing/c9mm @@ -146,6 +150,11 @@ NO_MAG_GUN_HELPER(automatic/smg/cm5) max_ammo = 30 multiple_sprites = AMMO_BOX_FULL_EMPTY +/obj/item/ammo_box/magazine/cm5_9mm/rubber + desc = "A 30-round magazine for the CM-5 submachine gun. These rubber rounds trade lethality for a heavy impact which can incapacitate targets. Performs even worse against armor." + caliber = "9mm rubber" + ammo_type = /obj/item/ammo_casing/c9mm/rubber + /obj/item/gun/ballistic/automatic/smg/cm5/compact name = "\improper CM-5c" desc = "A modification of the CM-5 featuring a dramatically shortened barrel and removed stock. Designed for CLIP-GOLD covert enforcement agents to maximize portability without sacrificing firepower, though accuracy at range is abysmal at best. Chambered in 9mm." @@ -208,7 +217,7 @@ NO_MAG_GUN_HELPER(automatic/smg/cm5) /obj/item/gun/ballistic/automatic/smg/cm5/compact/AltClick(mob/user) if(!current_case) return ..() - current_case.forceMove(get_turf(src)) + user.put_in_hands(current_case) icon = src::icon base_icon_state = src::icon_state item_state = src::item_state @@ -478,6 +487,7 @@ NO_MAG_GUN_HELPER(automatic/smg/cm5) default_ammo_type = /obj/item/ammo_box/magazine/cm15_12g allowed_ammo_types = list( /obj/item/ammo_box/magazine/cm15_12g, + /obj/item/ammo_box/magazine/cm15_12g/incendiary ) empty_indicator = FALSE @@ -505,3 +515,6 @@ NO_MAG_GUN_HELPER(automatic/smg/cm5) wield_slowdown = 0.6 wield_delay = 0.65 SECONDS + +/obj/item/gun/ballistic/shotgun/cm15/incendiary + default_ammo_type = /obj/item/ammo_box/magazine/cm15_12g/incendiary diff --git a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm index d2c1b81784b5..8375939636f7 100644 --- a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm @@ -608,7 +608,7 @@ NO_MAG_GUN_HELPER(automatic/marksman/boomslang/indie) /obj/item/ammo_box/magazine/boomslang name = "\improper Boomslang Magazine (6.5x57mm CLIP)" - desc = "A large 10-round box magazine for Boomslang sniper rifles. These rounds deal amazing damage and bypass half of their protective equipment, though it isn't a high enough caliber to pierce armored vehicles." + desc = "A large 10-round box magazine for Boomslang sniper rifles. These rounds deal amazing damage and can pierce protective equipment, excluding armored vehicles." base_icon_state = "boomslang" icon_state = "boomslang-10" ammo_type = /obj/item/ammo_casing/a65clip @@ -618,7 +618,7 @@ NO_MAG_GUN_HELPER(automatic/marksman/boomslang/indie) /obj/item/ammo_box/magazine/boomslang/short name = "\improper Boomslang Magazine (6.5x57mm CLIP)" - desc = "A 5-round box magazine for Boomslang sniper rifles. These rounds deal amazing damage and bypass half of their protective equipment, though it isn't a high enough caliber to pierce armored vehicles." + desc = "A 5-round box magazine for Boomslang sniper rifles. These rounds deal amazing damage and can pierce protective equipment, excluding armored vehicles." base_icon_state = "boomslang_short" icon_state = "boomslang_short-5" ammo_type = /obj/item/ammo_casing/a65clip @@ -1020,6 +1020,9 @@ EMPTY_GUN_HELPER(automatic/assault/hydra/dmr) ) ) +/obj/item/gun/ballistic/shotgun/automatic/bulldog/drum + default_ammo_type = /obj/item/ammo_box/magazine/m12g_bulldog/drum + NO_MAG_GUN_HELPER(shotgun/automatic/bulldog) /obj/item/ammo_box/magazine/m12g_bulldog @@ -1103,7 +1106,7 @@ NO_MAG_GUN_HELPER(shotgun/automatic/bulldog) /obj/item/ammo_casing/caseless/rocket/a70mm name = "\improper M-KO-9HE" - desc = "An 70mm High Explosive rocket. Fire at mech and pray." + desc = "A 70mm High Explosive rocket. Fire at mech and pray." icon_state = "srm-8" caliber = "70mm" projectile_type = /obj/projectile/bullet/a84mm_he @@ -1111,7 +1114,7 @@ NO_MAG_GUN_HELPER(shotgun/automatic/bulldog) /obj/item/ammo_casing/caseless/rocket/a70mm/hedp name = "\improper M-KO-9HEDP" - desc = "An 84mm High Explosive Dual Purpose rocket. Pointy end toward armor." + desc = "A 70mm High Explosive Dual Purpose rocket. Pointy end toward armor." caliber = "70mm" icon_state = "84mm-hedp" projectile_type = /obj/projectile/bullet/a84mm diff --git a/shiptest.dme b/shiptest.dme index f538811cdc42..43933e36585a 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -433,7 +433,6 @@ #include "code\datums\dog_fashion.dm" #include "code\datums\ductnet.dm" #include "code\datums\emotes.dm" -#include "code\datums\ert.dm" #include "code\datums\forced_movement.dm" #include "code\datums\guestbook.dm" #include "code\datums\holocall.dm" @@ -691,6 +690,16 @@ #include "code\datums\elements\food\dunkable.dm" #include "code\datums\elements\food\food_trash.dm" #include "code\datums\elements\food\processable.dm" +#include "code\datums\ert\_ert.dm" +#include "code\datums\ert\ert_clip.dm" +#include "code\datums\ert\ert_frontiersmen.dm" +#include "code\datums\ert\ert_gezena.dm" +#include "code\datums\ert\ert_indies.dm" +#include "code\datums\ert\ert_inteq.dm" +#include "code\datums\ert\ert_nanotrasen.dm" +#include "code\datums\ert\ert_roumain.dm" +#include "code\datums\ert\ert_solgov.dm" +#include "code\datums\ert\ert_syndicate.dm" #include "code\datums\helper_datums\events.dm" #include "code\datums\helper_datums\getrev.dm" #include "code\datums\helper_datums\icon_snapshot.dm" @@ -1699,10 +1708,12 @@ #include "code\modules\antagonists\disease\disease_mob.dm" #include "code\modules\antagonists\ert\ert.dm" #include "code\modules\antagonists\ert\frontiersmen.dm" +#include "code\modules\antagonists\ert\gezena.dm" #include "code\modules\antagonists\ert\indie.dm" #include "code\modules\antagonists\ert\inteq.dm" #include "code\modules\antagonists\ert\minutemen.dm" #include "code\modules\antagonists\ert\nanotrasen.dm" +#include "code\modules\antagonists\ert\roumain.dm" #include "code\modules\antagonists\ert\solgov.dm" #include "code\modules\antagonists\ert\syndicate.dm" #include "code\modules\antagonists\gang\outfits.dm" @@ -1996,10 +2007,12 @@ #include "code\modules\clothing\outfits\standard.dm" #include "code\modules\clothing\outfits\vv_outfit.dm" #include "code\modules\clothing\outfits\ert\frontiersmen_ert.dm" +#include "code\modules\clothing\outfits\ert\gezena_ert.dm" #include "code\modules\clothing\outfits\ert\indie_ert.dm" #include "code\modules\clothing\outfits\ert\inteq_ert.dm" #include "code\modules\clothing\outfits\ert\minutemen_ert.dm" #include "code\modules\clothing\outfits\ert\nanotrasen_ert.dm" +#include "code\modules\clothing\outfits\ert\roumain_ert.dm" #include "code\modules\clothing\outfits\ert\solgov_ert.dm" #include "code\modules\clothing\outfits\ert\syndicate_ert.dm" #include "code\modules\clothing\outfits\factions\frontiersmen.dm" From 98c3154184bbcfe75f15950e3e20dbac39220aaf Mon Sep 17 00:00:00 2001 From: Sun-Soaked <45698967+Sun-Soaked@users.noreply.github.com> Date: Tue, 22 Oct 2024 18:21:33 -0400 Subject: [PATCH 099/344] Mine Harddel emergency fix (#3621) ## About The Pull Request REFERENCE OBLITERATION SUTRA(FIVE PALM STRIKE) (UNAVOIDABLE TECHNIQUE) ## Oops I should be demoted ## Changelog :cl: fix: cleans up mine wire datums on mine deletion /:cl: --- code/game/objects/items/devices/mines.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/game/objects/items/devices/mines.dm b/code/game/objects/items/devices/mines.dm index 6547fde77ada..9f0896f946bf 100644 --- a/code/game/objects/items/devices/mines.dm +++ b/code/game/objects/items/devices/mines.dm @@ -203,6 +203,11 @@ AddElement(/datum/element/connect_loc, loc_connections) wires = new /datum/wires/mine(src) +/obj/item/mine/pressure/Destroy() + if(wires) + QDEL_NULL(wires) + . = ..() + /obj/item/mine/pressure/examine(mob/user) . = ..() if(hair_trigger) From e8173169d4687c097fd73dfccb4f16f73cd23905 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Wed, 23 Oct 2024 11:24:56 -0400 Subject: [PATCH 100/344] Fireaxe Black Market Adjustments (#3590) ## About The Pull Request Fireaxe now cheaper Fireaxe can be sold in greater amounts ## Why It's Good For The Game It's stupid that a melee weapon/tool is sold for nearly as much as Actual Rapid Fire Weaponry ## Changelog :cl: balance: Fireaxes on the black market now cost less. Thanks Kiirv-Waha! /:cl: Co-authored-by: Erika Fox <94164348+Bjarl@users.noreply.github.com> --- .../cargo/blackmarket/blackmarket_items/weapons.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm b/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm index 21a0786d9812..c3f3116f324b 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm @@ -352,12 +352,12 @@ /datum/blackmarket_item/weapon/fireaxe name = "Fire Axe" - desc = "An incredibly sharp axe of dubious make used by various engineers throughout the years to settle arguments while hammered. Sold to us by a very friendly man in a suit." + desc = "An incredibly sharp axe of reputable make, used by various engineers to settle arguments while hammered. Sold to us by a very friendly man in a suit." item = /obj/item/melee/axe/fire - price_min = 2500 - price_max = 3500 - stock = 2 + price_min = 1200 + price_max = 2300 + stock_max = 3 availability_prob = 40 /datum/blackmarket_item/weapon/oneshot From c0851e0ca4c1c151fd3e3edb096e5fb96041dbfe Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Wed, 23 Oct 2024 17:53:57 -0500 Subject: [PATCH 101/344] Label ship and ruins! (#3620) requsted by thgvr :cl: code: better pr labeling for ships and ruins /:cl: --- .github/labeler.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.github/labeler.yml b/.github/labeler.yml index 5aa740ed1682..ecc52403e0e6 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -11,8 +11,23 @@ - '**/*.dmm' - '_maps/**' +Ship: +- changed-files: + - any-glob-to-any-file: + - "_maps/shuttles/**" + - "_maps/configs/**" + +Ruin: +- changed-files: + - any-glob-to-any-file: + - "_maps/RandomRuins/**" + - "code/datums/ruins/**" + # Any .dmi changes '🎨 Спрайты 🎨': + +# Any changes to .ogg files are marked as sound +Sound: - changed-files: - any-glob-to-any-file: - '**/*.dmi' From 25aa4c93c8d7acad3abf8abeb212192716535243 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Wed, 23 Oct 2024 19:51:12 -0400 Subject: [PATCH 102/344] Raleigh-Class Mercenary Corvette (#3458) ## About The Pull Request ![StrongDMM-2024-10-06 19 02 02](https://github.com/user-attachments/assets/f44a57a7-ef44-4696-8c08-c00a2ba63367) ![StrongDMM-2024-10-06 19 02 03](https://github.com/user-attachments/assets/4b862d9e-13b7-486f-83ca-c5de470dc7ca) ![dreamseeker_qhkyYgbpdx](https://github.com/user-attachments/assets/2f4dd01a-527e-4e9f-bd70-ec9ad8653d73) ![dreamseeker_8jf3u0ZlwA](https://github.com/user-attachments/assets/d7e3b7ac-1e96-4b32-b3bc-a6e213c648db) ![dreamseeker_jJx71tKdzb](https://github.com/user-attachments/assets/16b5a426-d622-4059-926c-151ce0a41e61) Adds the Raleigh Class Corvette - a century old design manufactured by Kasagi-Fischer for yuppie solarians, and now retooled for usage as a mercenary vessel. Originally sold as a 'Safari Ship', or a 'Yacht' in some markets, the strange shape and relative quality of the design made it very appealing for usage by unaligned mercenaries forces, with the vessel capable of carrying a small complement of supposedly professional soldiers. The Raleigh supports a crew of: 1 - Captain 1 - Lieutenant 1 - Engineer 3 - Troopers 1 - Recruit (random guy we found) The Raleigh's gear includes: 1 - E40 1 - Cobra-20 2 - Ringnecks Assorted Machetes The Yuri Room The Gambling Room The Emergency Medical Hologram ## Why It's Good For The Game Adds a combat/rp focused ship for mercenaries that's |not| inteq. Think of all the possibilities. ## Changelog :cl: add: Kasagi-Fischer has begun a new production run of the venerable Raleigh-class Corvette. See your purchaser's manual for more information! /:cl: --------- Co-authored-by: Erika Fox <94164348+Bjarl@users.noreply.github.com> --- _maps/configs/independent_raleigh.json | 45 + .../independent/independent_raleigh.dmm | 6334 +++++++++++++++++ code/game/objects/structures/cabinet_types.dm | 10 +- .../clothing/outfits/factions/independent.dm | 41 + icons/obj/wallmounts.dmi | Bin 11992 -> 14767 bytes 5 files changed, 6428 insertions(+), 2 deletions(-) create mode 100644 _maps/configs/independent_raleigh.json create mode 100644 _maps/shuttles/independent/independent_raleigh.dmm diff --git a/_maps/configs/independent_raleigh.json b/_maps/configs/independent_raleigh.json new file mode 100644 index 000000000000..2f818addbd67 --- /dev/null +++ b/_maps/configs/independent_raleigh.json @@ -0,0 +1,45 @@ +{ + "$schema": "https://raw.githubusercontent.com/shiptest-ss13/Shiptest/master/_maps/ship_config_schema.json", + "map_name": "Raleigh-class Corvette", + "faction": "/datum/faction/independent", + "prefix": "ISV", + "namelists": [ + "SPACE", + "BEASTS", + "NATURAL_AGGRESSIVE" + ], + "map_short_name": "Raleigh-class", + "description": "The Raleigh-class is a Kasagi-Fischer Partnership design created in the late 390s for a then growing 'exploratory' market. While it's original designation was 'Safari Ship' or in some cases, 'Yacht'. Recently manufactured ones are proudly labelled as corvettes, and sold off to PDFs looking to stay fiscally sound, mercenaries, and the odd Rich, Bored, Solarian buyer. In the frontier, you're most likely to see a Raleigh serving as the command vessel for a small group of mercenaries.", + "tags": [ + "Combat", + "RP Focus" + ], + "map_path": "_maps/shuttles/independent/independent_raleigh.dmm", + "limit": 1, + "starting_funds": 1500, + "job_slots": { + "Captain": { + "outfit": "/datum/outfit/job/independent/captain/merc", + "officer": true, + "slots": 1 + }, + "Lieutenant": { + "outfit": "/datum/outfit/job/independent/hos/merc", + "officer": true, + "slots": 1 + }, + "Engineer": { + "outfit": "/datum/outfit/job/independent/engineer", + "slots": 1 + }, + "Mercenary": { + "outfit": "/datum/outfit/job/independent/security/merc", + "slots": 3 + }, + "Recruit": { + "outfit": "/datum/outfit/job/independent/assistant", + "slots": 1 + } + }, + "enabled": true +} diff --git a/_maps/shuttles/independent/independent_raleigh.dmm b/_maps/shuttles/independent/independent_raleigh.dmm new file mode 100644 index 000000000000..a6bff35f8dc7 --- /dev/null +++ b/_maps/shuttles/independent/independent_raleigh.dmm @@ -0,0 +1,6334 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"af" = ( +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/button/door{ + pixel_y = -22; + pixel_x = -6; + name = "bay doors"; + id = "ra_cargo"; + dir = 1 + }, +/obj/machinery/button/shieldwallgen{ + pixel_x = 3; + pixel_y = -20; + id = "ra_door"; + dir = 1 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"aq" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"at" = ( +/obj/machinery/autolathe, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/sign/poster/contraband/hacking_guide{ + pixel_x = -28 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"av" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/structure/tank_dispenser/oxygen, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"aB" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/steeldecal/steel_decals_central2, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"aQ" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"aU" = ( +/obj/effect/turf_decal/corner/opaque/red/border{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"be" = ( +/obj/machinery/holopad/secure, +/turf/open/floor/carpet/blue, +/area/ship/bridge) +"bm" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"bo" = ( +/obj/structure/chair/stool/bar{ + dir = 8; + pixel_x = -10 + }, +/obj/item/radio/intercom/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"bz" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/door/window/eastleft{ + dir = 1; + req_access_txt = "3" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"bA" = ( +/obj/structure/table/wood, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"bF" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "ra_arms"; + dir = 2 + }, +/turf/open/floor/plating, +/area/ship/security/armory) +"bG" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"bP" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security/armory) +"cb" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/reagent_containers/condiment/hotsauce{ + pixel_y = 7 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"ci" = ( +/obj/structure/sign/number/random{ + dir = 4 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"cn" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/button/door{ + pixel_x = -10; + pixel_y = -22; + dir = 1; + name = "privacy lock"; + id = "ra_gay"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"cu" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/engineering{ + name = "Port Thrusters" + }, +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engines/port) +"cv" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/engineering/engines/starboard) +"cC" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/structure/sign/warning/electricshock{ + pixel_x = -8; + pixel_y = 24 + }, +/obj/machinery/button/door{ + dir = 2; + pixel_y = 22; + pixel_x = 5; + id = "ra_peng"; + name = "engine shutters" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"cG" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"cO" = ( +/obj/item/soap, +/obj/structure/closet/wall/directional/east, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/towel, +/obj/item/storage/cans/sixbeer, +/obj/structure/sign/poster/official/no_erp{ + pixel_y = 30 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/dorm) +"di" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"dn" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/structure/cable/yellow, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"dB" = ( +/obj/effect/turf_decal/corner/opaque/red/border{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"dD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light_switch{ + pixel_x = -10; + pixel_y = 22 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"dL" = ( +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/closet/wall/orange/directional/north{ + name = "fuel supply" + }, +/obj/item/stack/sheet/mineral/plasma/twenty, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"ec" = ( +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "ra_fore" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"ef" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"ej" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/security) +"em" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/structure/closet/crate/bin, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"ev" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/catwalk/over, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"eI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"eR" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/item/mop, +/obj/item/reagent_containers/glass/bucket, +/obj/item/pushbroom, +/obj/item/reagent_containers/glass/rag, +/obj/structure/closet/wall/directional/south, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"fo" = ( +/obj/structure/chair/office, +/turf/open/floor/carpet/blue, +/area/ship/bridge) +"fx" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering/electrical) +"fE" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/table, +/obj/machinery/light/directional/north, +/obj/item/storage/crayons{ + pixel_y = 6; + pixel_x = -4 + }, +/obj/item/taperecorder{ + pixel_x = 10; + pixel_y = 5 + }, +/obj/item/tape/random, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"fM" = ( +/turf/open/floor/plasteel/grimy, +/area/ship/security/armory) +"fN" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/security{ + dir = 4; + name = "XO's Quarters"; + id_tag = "ra_lt"; + req_access_txt = "3" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security) +"go" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/electrical) +"gq" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"gC" = ( +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"gJ" = ( +/obj/structure/catwalk/over, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/steeldecal/steel_decals9{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"gL" = ( +/obj/item/radio/intercom/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/cryo) +"gN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"hb" = ( +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"hk" = ( +/obj/effect/turf_decal/corner/opaque/brown/border{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"hl" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/ccommons) +"hm" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/ale{ + pixel_y = 7; + pixel_x = 8 + }, +/obj/item/reagent_containers/food/drinks/ale{ + pixel_x = -7; + pixel_y = -5 + }, +/obj/machinery/newscaster/directional/north, +/obj/item/reagent_containers/condiment/hotsauce{ + pixel_y = 7 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"hr" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"hs" = ( +/obj/structure/table, +/obj/machinery/jukebox/boombox, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"hw" = ( +/obj/structure/table, +/obj/item/storage/box/cups{ + pixel_x = -1; + pixel_y = 7 + }, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 3 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"hz" = ( +/obj/machinery/door/airlock/atmos{ + dir = 4; + name = "Atmospherics" + }, +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"hI" = ( +/obj/item/storage/box/zipties, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/structure/closet/wall/red/directional/west{ + name = "specialist tools"; + req_access_txt = "3" + }, +/obj/item/razor{ + name = "uniform compliance tool" + }, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"hN" = ( +/obj/machinery/light/floor, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"hU" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew/canteen) +"ic" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/security/armory) +"ie" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"ig" = ( +/obj/structure/table/wood, +/obj/machinery/light/small/directional/north, +/obj/machinery/button/door{ + pixel_y = 23; + pixel_x = 9; + name = "window shutters"; + id = "ra_capt" + }, +/obj/item/modular_computer/laptop/preset/civilian, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/captain) +"iq" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 9 + }, +/obj/item/kirbyplants{ + icon_state = "plant-09"; + pixel_y = 14; + pixel_x = -5 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"is" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = -12 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering/electrical) +"iu" = ( +/obj/effect/turf_decal/corner/opaque/orange/border{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"iw" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"iD" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"iE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/machinery/button/door{ + pixel_y = 22; + pixel_x = -6; + name = "window shutter"; + id = "ra_at" + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"iL" = ( +/obj/structure/closet/secure_closet/wall/directional/south{ + icon_state = "solgov_wall"; + name = "Captain's Locker"; + req_access_txt = "20" + }, +/obj/item/ammo_box/a357, +/obj/item/ammo_box/a357, +/obj/item/clothing/under/rank/command/captain, +/obj/item/clothing/head/caphat, +/obj/item/clothing/under/syndicate/camo{ + pixel_x = 6; + pixel_y = -6 + }, +/obj/item/clothing/suit/armor/hos/trenchcoat, +/obj/item/clothing/glasses/hud/security{ + pixel_y = 10; + pixel_x = -4 + }, +/obj/item/melee/knife/switchblade, +/obj/item/storage/backpack/security, +/obj/item/clothing/shoes/combat, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/clothing/gloves/fingerless, +/obj/item/reagent_containers/food/drinks/flask, +/obj/item/clothing/glasses/sunglasses/ballistic, +/obj/item/storage/guncase/pistol/viper, +/turf/open/floor/wood, +/area/ship/crew/dorm/captain) +"iN" = ( +/obj/effect/turf_decal/corner/opaque/blue/border, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"iY" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/yellow/mono, +/obj/structure/closet/wall/white/directional/east, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration{ + pixel_y = 1 + }, +/obj/item/storage/cans/sixbeer, +/obj/item/storage/cans/sixbeer, +/obj/effect/decal/cleanable/food/flour, +/obj/effect/spawner/lootdrop/ration{ + pixel_y = 1 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/canteen) +"jc" = ( +/obj/structure/chair/sofa/brown/right/directional/south, +/obj/machinery/button/door{ + pixel_x = -22; + pixel_y = 8; + dir = 4; + name = "window shutters"; + id = "ra_obvs" + }, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"je" = ( +/obj/structure/cable{ + icon_state = "5-9" + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"jf" = ( +/obj/structure/crate_shelf, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"jj" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"jt" = ( +/obj/structure/table/reinforced, +/obj/machinery/fax/indie, +/obj/item/storage/box/matches{ + pixel_y = 23; + pixel_x = 1 + }, +/obj/item/radio/intercom/directional/south{ + pixel_x = -2 + }, +/turf/open/floor/carpet/blue, +/area/ship/bridge) +"jv" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/reagent_dispensers/watertank, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"jx" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"jB" = ( +/obj/machinery/washing_machine, +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/dorm) +"jC" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"jE" = ( +/obj/machinery/light/floor, +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"jF" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"jJ" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "ra_bridge" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"kb" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/sign/warning/electricshock{ + pixel_x = -24; + pixel_y = 10 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/light/small/directional/west{ + pixel_y = -2 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch{ + pixel_y = -18; + pixel_x = 10; + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"kc" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"kl" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/engineering/atmospherics) +"kI" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/engineering/electrical) +"kJ" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/item/reagent_containers/food/snacks/chocolatebar{ + pixel_y = 11; + pixel_x = 8 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"kO" = ( +/obj/structure/sign/warning/securearea{ + pixel_x = -24; + pixel_y = -8 + }, +/obj/effect/turf_decal/corner/opaque/red/border, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"lb" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/stairs/old{ + dir = 8 + }, +/area/ship/crew/dorm) +"ls" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"lv" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/cryo) +"lC" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"lF" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock/mining{ + dir = 4; + name = "Cargo Bay" + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"lM" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 26 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"lN" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/dorm/captain) +"lO" = ( +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"md" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/structure/sign/warning/electricshock{ + pixel_x = -8; + pixel_y = -22 + }, +/obj/machinery/button/door{ + dir = 1; + pixel_y = -22; + pixel_x = 5; + id = "ra_seng"; + name = "engine shutters" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"mh" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"mm" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock{ + name = "Observatory"; + id_tag = "ra_gay" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"mq" = ( +/obj/docking_port/stationary{ + dwidth = 3; + width = 7; + height = 15; + dir = 8 + }, +/turf/template_noop, +/area/template_noop) +"ms" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"my" = ( +/obj/structure/bed, +/obj/item/bedsheet/random, +/obj/structure/curtain/bounty, +/obj/item/toy/plush/flushed, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"mA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"mE" = ( +/obj/structure/bed, +/obj/item/bedsheet/random, +/obj/structure/curtain/bounty, +/obj/item/toy/plush/carpplushie, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"mV" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"mX" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"nc" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"ng" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/port_gen/pacman, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"nn" = ( +/obj/machinery/atmospherics/components/binary/pressure_valve{ + pixel_y = 0; + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pressure_valve/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"nt" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/airlock{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"nP" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table/wood, +/obj/item/folder/blue{ + pixel_x = 7; + pixel_y = 5 + }, +/obj/item/paper_bin{ + pixel_y = 1; + pixel_x = -6 + }, +/obj/item/pen/fourcolor{ + pixel_y = 5; + pixel_x = -7 + }, +/obj/item/storage/pill_bottle/stimulant{ + pixel_y = 13; + pixel_x = -2 + }, +/obj/machinery/airalarm/directional/south, +/obj/machinery/light/small/directional/east, +/turf/open/floor/wood, +/area/ship/security) +"nT" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 10 + }, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/corner/opaque/brown/border, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"nV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible{ + dir = 6 + }, +/obj/machinery/light/dim/directional/west, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"nX" = ( +/obj/structure/table/reinforced, +/obj/structure/closet/wall/red/directional/north{ + name = "uniform closet"; + req_access_txt = "1" + }, +/obj/item/clothing/shoes/combat{ + pixel_y = -7; + pixel_x = -2 + }, +/obj/item/clothing/shoes/combat{ + pixel_y = -7; + pixel_x = -2 + }, +/obj/item/clothing/shoes/combat{ + pixel_y = -7; + pixel_x = -2 + }, +/obj/item/clothing/under/syndicate/camo{ + pixel_x = 5 + }, +/obj/item/clothing/under/syndicate/camo{ + pixel_x = 5 + }, +/obj/item/clothing/under/syndicate/camo{ + pixel_x = 5 + }, +/obj/item/clothing/head/helmet/bulletproof/m10{ + pixel_y = 11; + pixel_x = -4 + }, +/obj/item/clothing/head/helmet/bulletproof/m10{ + pixel_y = 11; + pixel_x = -4 + }, +/obj/item/clothing/head/helmet/bulletproof/m10{ + pixel_y = 11; + pixel_x = -4 + }, +/obj/item/clothing/suit/armor/vest/bulletproof{ + pixel_y = 2; + pixel_x = -4 + }, +/obj/item/clothing/suit/armor/vest/bulletproof{ + pixel_y = 2; + pixel_x = -4 + }, +/obj/item/clothing/suit/armor/vest/bulletproof{ + pixel_y = 2; + pixel_x = -4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 6 + }, +/obj/item/clothing/gloves/fingerless, +/obj/item/clothing/gloves/fingerless, +/obj/item/clothing/gloves/fingerless, +/obj/item/clothing/glasses/sunglasses/ballistic{ + pixel_y = 5; + pixel_x = -3 + }, +/obj/item/clothing/glasses/sunglasses/ballistic{ + pixel_y = 5; + pixel_x = -3 + }, +/obj/item/clothing/glasses/sunglasses/ballistic{ + pixel_y = 5; + pixel_x = -3 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"op" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 8 + }, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + name = "Window Shutters"; + id = "ra_at" + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"oz" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor{ + id = "ra_cargo"; + dir = 4 + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "ra_door" + }, +/turf/open/floor/engine/hull/interior, +/area/ship/cargo) +"oJ" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew/ccommons) +"oP" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 4 + }, +/obj/item/storage/toolbox/electrical{ + pixel_y = -4 + }, +/obj/item/multitool{ + pixel_x = 8 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"pf" = ( +/obj/structure/curtain, +/obj/machinery/shower{ + pixel_y = 16 + }, +/obj/structure/chair/plastic{ + dir = 4; + name = "shower chair"; + desc = "Now you just need a shower beer" + }, +/obj/structure/mirror{ + pixel_x = -24 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/machinery/light/small/directional/south, +/obj/effect/turf_decal/steeldecal/steel_decals9, +/obj/effect/turf_decal/steeldecal/steel_decals9{ + dir = 4 + }, +/obj/machinery/button/door{ + pixel_x = 9; + pixel_y = -22; + dir = 1; + name = "privacy lock"; + id = "ra_shower"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/dorm) +"pk" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/item/radio/intercom/directional/west, +/obj/effect/decal/cleanable/plastic, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"pn" = ( +/obj/item/radio/intercom/wideband/directional/north, +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 5 + }, +/obj/machinery/button/door{ + pixel_y = 20; + pixel_x = 16; + name = "bridge shutters"; + id = "ra_bridge_ext" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"pt" = ( +/obj/machinery/photocopier, +/turf/open/floor/carpet/blue, +/area/ship/bridge) +"pM" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"pS" = ( +/obj/structure/chair/sofa/brown/directional/east, +/obj/machinery/light/directional/west, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"ql" = ( +/obj/machinery/computer/cargo{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"qn" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"qy" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"qL" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"qP" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"qT" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "ra_bridge_ext" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"rd" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"rl" = ( +/obj/structure/bed{ + dir = 4 + }, +/obj/structure/curtain/cloth/fancy, +/obj/machinery/light/small/directional/south, +/obj/item/bedsheet/black{ + dir = 4 + }, +/turf/open/floor/carpet/red_gold, +/area/ship/security) +"rn" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/engine/hull, +/area/ship/engineering/engines/starboard) +"rA" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/railing, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/corner/opaque/red/border{ + dir = 1 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ship/cargo) +"rV" = ( +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/item/radio/intercom/directional/north{ + pixel_x = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"rY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/obj/machinery/meter/atmos/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"sa" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/engineering/engines/port) +"se" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/catwalk/over, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"sf" = ( +/obj/effect/turf_decal/corner/opaque/lightgrey/bordercorner{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/light_switch{ + pixel_x = -10; + pixel_y = -20; + dir = 1 + }, +/obj/effect/decal/cleanable/generic, +/obj/item/kirbyplants{ + icon_state = "plant-05"; + pixel_x = 7 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"sm" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"sq" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"sH" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters{ + id = "ra_peng"; + dir = 4 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering/engines/port) +"sI" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering/electrical) +"sR" = ( +/obj/structure/filingcabinet/double{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/item/camera{ + pixel_y = 4; + pixel_x = -2 + }, +/obj/structure/cabinet/oneshot{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"sS" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/chair/comfy/red/old/directional/east, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ship/security) +"sV" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8; + layer = 2.040 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"tg" = ( +/obj/machinery/vending/cola/random, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/central) +"th" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"tk" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/central) +"tS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/button/door{ + pixel_x = 10; + pixel_y = 22; + dir = 2; + name = "privacy lock"; + id = "ra_lt"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/turf/open/floor/wood, +/area/ship/security) +"tU" = ( +/obj/item/clothing/head/papersack/smiley, +/obj/machinery/atmospherics/pipe/layer_manifold{ + dir = 8 + }, +/obj/structure/rack, +/obj/item/wrench{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/machinery/firealarm/directional/south, +/obj/item/toy/eightball{ + name = "problem prioritizer"; + pixel_x = -3; + pixel_y = -5 + }, +/obj/item/storage/fancy/cigarettes/cigpack_cannabis{ + pixel_x = -5; + pixel_y = 2 + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"tZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/brown/border{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"ug" = ( +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"uv" = ( +/obj/structure/table, +/obj/item/reagent_containers/glass/rag{ + pixel_y = 10; + pixel_x = 1 + }, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_x = 9 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"uw" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Bridge"; + req_access_txt = "19" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) +"uy" = ( +/obj/machinery/door/poddoor{ + id = "ra_cargo"; + dir = 4 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/cargo) +"uS" = ( +/obj/structure/guncloset{ + anchored = 1 + }, +/obj/item/gun/ballistic/automatic/smg/cobra/indie/no_mag, +/obj/item/gun/ballistic/automatic/assault/e40, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"uU" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/item/storage/box/flares, +/obj/item/storage/box/flares, +/obj/item/storage/box/flares, +/obj/item/storage/box/flares, +/obj/item/storage/box/flares, +/obj/item/storage/box/flares, +/obj/structure/closet/crate{ + name = "Dr. Flare's Magnificent Lighting Solution" + }, +/obj/item/storage/box/sparklers, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"uW" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/dorm) +"vr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_x = 10; + pixel_y = -22; + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"vw" = ( +/obj/structure/chair/stool/bar{ + dir = 8; + pixel_x = -10 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"vy" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"wb" = ( +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"wc" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"ws" = ( +/obj/structure/curtain/bounty, +/obj/structure/bed, +/obj/item/bedsheet/random, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"wS" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/button/door{ + dir = 8; + pixel_x = 22; + pixel_y = 9; + id = "ra_fore"; + name = "fore airlock shutters" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"wX" = ( +/obj/structure/table/wood, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/item/newspaper{ + pixel_y = 7; + pixel_x = -2 + }, +/obj/item/reagent_containers/food/drinks/mug/tea{ + pixel_y = -1; + pixel_x = -6 + }, +/obj/item/desk_flag/trans{ + pixel_x = 8; + pixel_y = -1 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/dorm) +"xb" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/machinery/door/window/eastright{ + dir = 1; + req_access_txt = "3" + }, +/obj/item/folder/blue{ + pixel_x = 4; + pixel_y = 2 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"xk" = ( +/obj/structure/rack, +/obj/item/melee/sword/mass, +/obj/item/melee/sword/mass{ + pixel_x = 5 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"xx" = ( +/obj/structure/chair/sofa/brown/left/directional/south, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"xy" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -11 + }, +/obj/machinery/button/door{ + pixel_x = -20; + pixel_y = 15; + dir = 4; + name = "privacy lock"; + id = "ra_capt2"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/turf/open/floor/wood, +/area/ship/crew/dorm/captain) +"xB" = ( +/obj/structure/closet/cabinet, +/obj/item/clothing/under/utility/skirt, +/obj/item/clothing/under/utility{ + pixel_x = 7 + }, +/obj/item/clothing/under/pants/khaki{ + pixel_x = 4; + pixel_y = -14 + }, +/obj/item/clothing/under/pants/khaki{ + pixel_x = 4; + pixel_y = -14 + }, +/obj/item/clothing/under/pants/camo{ + pixel_x = -5; + pixel_y = -10 + }, +/obj/item/clothing/under/pants/camo{ + pixel_x = -5; + pixel_y = -10 + }, +/obj/item/clothing/head/soft/black{ + pixel_x = 8; + pixel_y = 14 + }, +/obj/item/clothing/head/soft/black{ + pixel_x = 8; + pixel_y = 14 + }, +/obj/item/clothing/head/cowboy{ + pixel_y = 5; + pixel_x = -3 + }, +/obj/item/clothing/head/cowboy{ + pixel_y = 5; + pixel_x = -3 + }, +/obj/item/clothing/shoes/workboots/mining{ + pixel_x = 7; + pixel_y = -8 + }, +/obj/item/clothing/shoes/workboots/mining{ + pixel_x = 7; + pixel_y = -8 + }, +/obj/item/clothing/shoes/workboots/mining{ + pixel_x = 7; + pixel_y = -8 + }, +/obj/item/clothing/under/pants/jeans{ + pixel_x = -6; + pixel_y = -8 + }, +/obj/item/clothing/under/pants/jeans{ + pixel_x = -6; + pixel_y = -8 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"xD" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"yj" = ( +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"yk" = ( +/obj/effect/turf_decal/corner/opaque/blue/bordercorner, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"yF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/item/radio/intercom/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ship/security) +"yR" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/steeldecal/steel_decals_central2, +/obj/structure/sign/poster/contraband/cardinal_port_starboard{ + pixel_x = -27 + }, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"yT" = ( +/obj/structure/table/wood/poker, +/obj/item/toy/cards/deck, +/obj/item/storage/pill_bottle/dice{ + pixel_x = 5; + pixel_y = 6 + }, +/obj/item/storage/fancy/cigarettes/cigpack_robust{ + pixel_y = 5; + pixel_x = -3 + }, +/obj/item/spacecash/bundle/pocketchange, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"yZ" = ( +/obj/docking_port/mobile{ + dir = 4; + name = "hunter shuttle"; + port_direction = 2; + preferred_direction = 4 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/atmospherics) +"zV" = ( +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"Ae" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/structure/closet/crate, +/obj/item/target, +/obj/item/target, +/obj/item/target, +/obj/item/target, +/obj/item/target, +/obj/item/target, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"Aj" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/bridge) +"Ap" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"Aw" = ( +/obj/machinery/modular_computer/console/preset/command{ + dir = 8 + }, +/obj/item/radio/intercom/directional/east{ + pixel_y = 5 + }, +/obj/machinery/button/door{ + dir = 8; + pixel_x = 22; + pixel_y = -11; + name = "window shutters"; + id = "ra_arms" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/security/armory) +"AC" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"AD" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/cryo) +"AF" = ( +/obj/machinery/airalarm/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"AM" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/structure/catwalk/over, +/obj/machinery/door/airlock/engineering{ + name = "Engineering" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/electrical) +"AQ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"AS" = ( +/obj/structure/chair/stool/bar{ + dir = 8; + pixel_x = -10 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"AU" = ( +/obj/effect/turf_decal/corner/opaque/lightgrey/bordercorner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"AX" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 26 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"By" = ( +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"BE" = ( +/obj/machinery/firealarm/directional/north, +/obj/structure/table, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"BF" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "ra_obvs"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/crew/dorm) +"BH" = ( +/turf/open/floor/engine/hull, +/area/ship/external/dark) +"Ch" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 4 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Cl" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/atmospherics) +"CG" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"CN" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable{ + icon_state = "0-10" + }, +/obj/structure/sign/poster/contraband/missing_gloves{ + pixel_y = 30 + }, +/obj/structure/catwalk/over, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"CO" = ( +/obj/structure/closet/crate/bin, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 10 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"CY" = ( +/obj/structure/sign/poster/official/wtf_is_co2{ + pixel_y = 30 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/suit_storage_unit/inherit/industrial, +/obj/item/clothing/suit/space/engineer, +/obj/item/clothing/head/helmet/space/light/engineer, +/obj/item/tank/internals/oxygen, +/obj/effect/turf_decal/box, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"Dd" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"Dg" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"Dw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 6 + }, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Dy" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_x = 5; + pixel_y = 2 + }, +/obj/item/pen{ + pixel_y = 3; + pixel_x = 5 + }, +/obj/machinery/light/directional/east, +/obj/item/toy/cards/deck{ + pixel_x = -10; + pixel_y = 6 + }, +/obj/item/desk_flag{ + pixel_y = 13; + pixel_x = 13 + }, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"DH" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"DL" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"DO" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 5 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"DR" = ( +/obj/structure/chair/stool/bar{ + dir = 4; + pixel_x = 10 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/canteen) +"Ej" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Em" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/stairs/old, +/area/ship/cargo) +"Eo" = ( +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"Eq" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"Ew" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf{ + dry = 1; + pixel_x = -10; + pixel_y = 1; + name = "dried mushroom leaves" + }, +/obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf{ + dry = 1; + pixel_x = 3; + pixel_y = 8; + name = "dried mushroom leaves" + }, +/obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf{ + dry = 1; + pixel_x = -7; + pixel_y = 8; + name = "dried mushroom leaves" + }, +/obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf{ + dry = 1; + pixel_x = -2; + pixel_y = 1; + name = "dried mushroom leaves" + }, +/obj/item/clothing/mask/cigarette/pipe{ + pixel_x = 5 + }, +/turf/open/floor/carpet/blue, +/area/ship/bridge) +"EE" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"EQ" = ( +/obj/machinery/door/window/survival_pod{ + dir = 1 + }, +/obj/machinery/blackbox_recorder, +/obj/structure/sign/warning/securearea{ + pixel_y = -22 + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"EX" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"EZ" = ( +/obj/effect/turf_decal/corner/opaque/lightgrey/border{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Fr" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "ra_capt" + }, +/turf/open/floor/plating, +/area/ship/crew/dorm/captain) +"Fu" = ( +/obj/structure/sink{ + dir = 4; + pixel_x = -13; + pixel_y = 7 + }, +/obj/structure/mirror{ + pixel_x = -24; + pixel_y = 8 + }, +/obj/machinery/light/small/directional/north, +/obj/machinery/button/door{ + pixel_x = 10; + pixel_y = 22; + dir = 2; + name = "privacy lock"; + id = "ra_piss"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/canteen) +"Fv" = ( +/obj/structure/table/wood, +/obj/item/ammo_casing/a357/hp{ + name = ".357 execution round casing"; + desc = "Put it right to their head, and pull the trigger. No witnesses."; + pixel_x = 6; + pixel_y = 6 + }, +/obj/item/ammo_casing/a357/hp{ + name = ".357 execution round casing"; + desc = "Put it right to their head, and pull the trigger. No witnesses."; + pixel_x = 8; + pixel_y = 1 + }, +/obj/item/ammo_casing/a357/hp{ + name = ".357 execution round casing"; + desc = "Put it right to their head, and pull the trigger. No witnesses."; + pixel_x = 11; + pixel_y = 5 + }, +/obj/item/storage/fancy/cigarettes/cigars{ + pixel_y = 14; + pixel_x = -5 + }, +/obj/item/storage/box/matches{ + pixel_y = 10; + pixel_x = -9 + }, +/obj/item/spacecash/bundle/pocketchange{ + pixel_x = -6; + pixel_y = -5 + }, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/captain) +"FA" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/item/kirbyplants{ + icon_state = "plant-17"; + pixel_x = -7 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"FE" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "ra_obvs" + }, +/turf/open/floor/plating, +/area/ship/crew/dorm) +"FH" = ( +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/closet/secure_closet/wall/directional/north{ + icon_state = "solgov_wall"; + name = "bridge locker"; + req_access_txt = "19" + }, +/obj/item/gps{ + pixel_y = 8; + pixel_x = 2 + }, +/obj/item/binoculars, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"FJ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/wood, +/area/ship/crew/dorm/captain) +"FK" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew/cryo) +"FM" = ( +/obj/effect/turf_decal/corner/opaque/orange/border{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"FO" = ( +/obj/item/melee/knife/switchblade, +/obj/structure/closet/cabinet, +/obj/item/clothing/under/syndicate/camo{ + pixel_x = 6; + pixel_y = -6 + }, +/obj/item/clothing/glasses/hud/security{ + pixel_y = 10; + pixel_x = -4 + }, +/obj/item/storage/backpack/security, +/obj/item/clothing/suit/armor/vest/duster, +/obj/item/clothing/shoes/combat, +/obj/item/storage/backpack/security, +/obj/item/clothing/gloves/fingerless, +/obj/item/reagent_containers/food/drinks/rilenacup, +/obj/item/clothing/glasses/sunglasses/ballistic, +/turf/open/floor/carpet/red_gold, +/area/ship/security) +"Gm" = ( +/obj/effect/turf_decal/kfp_small, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"Gp" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/canteen) +"Gq" = ( +/obj/effect/turf_decal/corner/opaque/blue/bordercorner{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Gt" = ( +/obj/structure/sign/warning/incident{ + pixel_x = 30 + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/rack, +/obj/item/stack/sheet/metal/twenty{ + pixel_x = 4; + pixel_y = -1 + }, +/obj/item/stack/sheet/glass/twenty{ + pixel_y = 2; + pixel_x = -3 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"Gu" = ( +/obj/item/kirbyplants{ + icon_state = "plant-18"; + pixel_y = 20; + pixel_x = 8 + }, +/obj/effect/turf_decal/corner/opaque/lightgrey/border{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/lightgrey/bordercorner{ + dir = 1 + }, +/obj/item/radio/intercom/directional/north{ + pixel_x = 3 + }, +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = -10 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Gy" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/engineering{ + name = "Starboard Thrusters" + }, +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/engines/starboard) +"GD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/lightgrey/border, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"GH" = ( +/obj/effect/turf_decal/corner/opaque/blue/bordercorner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"GI" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock{ + dir = 4; + name = "Bathroom"; + id_tag = "ra_piss" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"GO" = ( +/obj/effect/turf_decal/corner/opaque/orange/border{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"GP" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/yellow/mono, +/obj/machinery/microwave{ + pixel_y = 6 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/canteen) +"Hb" = ( +/obj/structure/table, +/obj/structure/bedsheetbin, +/obj/structure/railing{ + dir = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/dorm) +"He" = ( +/obj/structure/closet/wall/orange/directional/north{ + name = "tool closet" + }, +/obj/item/assembly/signaler, +/obj/item/assembly/signaler, +/obj/item/weldingtool/largetank, +/obj/item/gear_pack/anglegrinder, +/obj/item/radio/headset/alt, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"Hu" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/engines/starboard) +"HD" = ( +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"HI" = ( +/obj/structure/chair/sofa/brown/corner/directional/east, +/obj/structure/sign/painting/library{ + pixel_x = -28 + }, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"HS" = ( +/obj/structure/sign/poster/contraband/c20r{ + pixel_x = 30 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/structure/table/reinforced, +/obj/structure/window/reinforced/spawner{ + dir = 1 + }, +/obj/item/paper_bin{ + pixel_y = 5; + pixel_x = 4 + }, +/obj/item/pen/fourcolor{ + pixel_y = 5; + pixel_x = 3 + }, +/obj/item/stamp{ + pixel_x = -6; + pixel_y = 9 + }, +/obj/item/stamp/denied{ + pixel_x = -7; + pixel_y = 3 + }, +/obj/item/toy/figure/secofficer{ + pixel_x = 12; + pixel_y = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"Ih" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light_switch{ + pixel_x = 22; + pixel_y = -21; + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"Ii" = ( +/obj/item/clothing/glasses/welding, +/obj/item/clothing/shoes/workboots{ + pixel_x = 5; + pixel_y = -6 + }, +/obj/structure/closet/wall/orange/directional/north{ + name = "Engineer's locker"; + req_access_txt = "11" + }, +/obj/item/clothing/head/hardhat{ + pixel_y = 9 + }, +/obj/item/clothing/under/utility{ + pixel_x = 7 + }, +/obj/item/clothing/suit/hazardvest, +/obj/item/storage/toolbox/electrical, +/obj/item/clothing/gloves/color/yellow{ + pixel_y = 9 + }, +/obj/item/storage/backpack/industrial, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"Il" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/layer4{ + dir = 1 + }, +/obj/machinery/portable_atmospherics/canister/air, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/industrial/hatch/yellow, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"In" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ship/cargo) +"Is" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/security{ + dir = 4; + name = "Armory"; + req_access_txt = "1" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"IB" = ( +/obj/structure/railing, +/obj/structure/table/reinforced, +/obj/machinery/button/door{ + pixel_y = 22; + pixel_x = -1; + name = "bay doors"; + id = "ra_cargo"; + dir = 2 + }, +/obj/machinery/button/shieldwallgen{ + pixel_x = 9; + pixel_y = 21; + id = "ra_door"; + dir = 2 + }, +/obj/item/clipboard{ + pixel_x = 8; + pixel_y = -6 + }, +/obj/item/paper_bin{ + pixel_x = -4; + pixel_y = 7 + }, +/obj/item/pen/fourcolor{ + pixel_y = 9; + pixel_x = -5 + }, +/obj/item/reagent_containers/food/drinks/mug/tea{ + pixel_y = 7; + pixel_x = 7 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/ship/cargo) +"IT" = ( +/obj/effect/turf_decal/corner/opaque/orange/border{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"Ji" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/security/armory) +"Jj" = ( +/obj/structure/chair, +/obj/structure/sign/poster/retro/lasergun_new{ + pixel_x = 31 + }, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"JO" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable{ + icon_state = "0-9" + }, +/obj/structure/catwalk/over, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"JS" = ( +/obj/structure/table/wood, +/obj/item/spacecash/bundle/pocketchange{ + pixel_y = 3; + pixel_x = 2 + }, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"JV" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"JW" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/captain) +"JY" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/yellow/mono, +/obj/item/cutting_board{ + anchored = 1 + }, +/obj/item/melee/knife/kitchen, +/obj/item/kitchen/rollingpin{ + pixel_x = 7; + pixel_y = -2 + }, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/canteen) +"Kh" = ( +/obj/effect/turf_decal/kfp_small/right, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"KK" = ( +/obj/machinery/atmospherics/components/unary/tank/air{ + dir = 1; + initialize_directions = 1 + }, +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"KQ" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew/dorm/captain) +"KZ" = ( +/obj/machinery/power/shuttle/engine/electric, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/engine/hull, +/area/ship/engineering/engines/port) +"Lr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"LB" = ( +/obj/structure/sign/warning/vacuum{ + pixel_y = -22 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning/cee, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/ccommons) +"LD" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/dorm) +"LJ" = ( +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = -10 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"LM" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/item/radio/intercom/directional/east, +/obj/machinery/light/small/directional/north{ + pixel_x = 6 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"LO" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"LR" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"LU" = ( +/obj/machinery/power/smes/shuttle/precharged, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/window/reinforced, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters{ + id = "ra_seng"; + dir = 4 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/engineering/engines/starboard) +"LV" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor{ + id = "ra_cargo"; + dir = 4 + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "ra_door"; + dir = 1 + }, +/turf/open/floor/engine/hull/interior, +/area/ship/cargo) +"LY" = ( +/obj/structure/catwalk/over, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"Md" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/machinery/newscaster/directional/west, +/obj/machinery/light/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/storage/ration/crayons, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"Me" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"Mi" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Mj" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/door/airlock/engineering/glass{ + name = "Engineering" + }, +/turf/open/floor/plasteel/dark, +/area/ship/engineering/electrical) +"Ml" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock{ + name = "Shower"; + id_tag = "ra_shower" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"Mq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/cryo) +"Mx" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/sign/warning/electricshock{ + pixel_x = -24; + pixel_y = -7 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/light/small/directional/west{ + pixel_y = 0 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) +"MA" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"MG" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "ra_arms"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/security/armory) +"No" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"Nr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Nx" = ( +/obj/item/kirbyplants{ + icon_state = "plant-16"; + pixel_x = 8; + pixel_y = 15 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"NC" = ( +/obj/structure/cable{ + icon_state = "6-10" + }, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/terminal{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/effect/turf_decal/steeldecal/steel_decals_central2, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"NE" = ( +/obj/structure/chair/sofa/brown/right/directional/north, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"NF" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/catwalk/over, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"NW" = ( +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Oa" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_y = 12; + pixel_x = -20 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"Ob" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"Oe" = ( +/obj/item/kirbyplants{ + icon_state = "plant-13"; + pixel_y = 0; + pixel_x = 9 + }, +/obj/effect/turf_decal/corner/opaque/red/bordercorner{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_y = 10; + pixel_x = 20 + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"Of" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"Oy" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/hallway/central) +"OL" = ( +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"OO" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/structure/chair/handrail, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"OQ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/inherit/industrial, +/obj/item/clothing/suit/space/hardsuit/security/independent, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"OV" = ( +/turf/template_noop, +/area/template_noop) +"OX" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"Pa" = ( +/obj/structure/table, +/obj/item/radio{ + pixel_x = -12; + pixel_y = 9 + }, +/obj/item/radio{ + pixel_x = -4; + pixel_y = 9 + }, +/obj/item/radio{ + pixel_x = 3; + pixel_y = 9 + }, +/obj/item/radio{ + pixel_x = 11; + pixel_y = 9 + }, +/obj/item/radio{ + pixel_x = -12; + pixel_y = 2 + }, +/obj/item/radio{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/item/radio{ + pixel_x = 4; + pixel_y = 2 + }, +/obj/item/radio{ + pixel_x = 12; + pixel_y = 2 + }, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/cryo) +"Pj" = ( +/obj/effect/turf_decal/corner/opaque/orange/border{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"Pt" = ( +/obj/machinery/computer/helm{ + icon_state = "computer-middle"; + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"PC" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"PD" = ( +/obj/machinery/computer/cargo{ + icon_state = "computer-right"; + dir = 8 + }, +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"PH" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/dorm) +"PM" = ( +/obj/effect/turf_decal/corner/opaque/red/border, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"PN" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"PS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"PV" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/closet/emcloset, +/obj/structure/sign/poster/official/walk{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/central) +"PW" = ( +/obj/structure/toilet{ + dir = 8; + pixel_x = 4 + }, +/obj/structure/curtain, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/canteen) +"PZ" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = 5; + pixel_y = 2 + }, +/obj/item/pen/fountain/captain{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/folder/blue{ + pixel_x = -9; + pixel_y = -6 + }, +/obj/item/folder/red{ + pixel_x = -7; + pixel_y = 3 + }, +/obj/item/pen{ + pixel_y = 3; + pixel_x = -5 + }, +/obj/machinery/light/directional/south, +/obj/machinery/button/door{ + dir = 1; + pixel_y = -20; + pixel_x = -19; + id = "ra_bridge"; + name = "privacy shutters" + }, +/turf/open/floor/carpet/blue, +/area/ship/bridge) +"QU" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "ra_fore" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/ccommons) +"QZ" = ( +/obj/effect/turf_decal/corner/opaque/blue/border{ + dir = 4 + }, +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "Helm" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Rp" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"Rq" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Rt" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + dir = 2; + id = "ra_bridge_ext" + }, +/turf/open/floor/plating, +/area/ship/bridge) +"Rz" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew/dorm) +"RB" = ( +/obj/machinery/light/directional/south, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"RD" = ( +/obj/machinery/holopad/emergency/medical, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"Sb" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"Se" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_y = 12; + pixel_x = -20 + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/cryo) +"Sj" = ( +/obj/machinery/firealarm/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table/wood, +/obj/item/storage/fancy/cigarettes/cigars{ + pixel_y = 4; + pixel_x = 2 + }, +/obj/item/storage/box/matches{ + pixel_y = 10; + pixel_x = -9 + }, +/obj/item/spacecash/bundle/pocketchange{ + pixel_y = 10; + pixel_x = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ship/security) +"Sy" = ( +/obj/effect/turf_decal/corner/opaque/brown/border{ + dir = 4 + }, +/obj/machinery/firealarm/directional/north, +/obj/machinery/light_switch{ + pixel_y = 23; + pixel_x = 11 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"SJ" = ( +/obj/structure/cable/yellow{ + icon_state = "2-8" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/plasma, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"SL" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"SO" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + dir = 2; + id = "ra_capt" + }, +/turf/open/floor/plating, +/area/ship/crew/dorm/captain) +"SQ" = ( +/obj/effect/turf_decal/corner/opaque/blue/border, +/obj/item/kirbyplants{ + icon_state = "plant-21"; + pixel_x = -6 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"SS" = ( +/obj/structure/rack, +/obj/item/attachment/bayonet, +/obj/item/attachment/bayonet{ + pixel_x = -5 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/item/screwdriver{ + pixel_x = 6 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"SZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/obj/machinery/meter/atmos/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"Te" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/airalarm/directional/east, +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/corner/opaque/brown/border, +/turf/open/floor/plasteel/mono, +/area/ship/cargo) +"Tk" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/yellow/mono, +/obj/structure/sink/chem{ + name = "kitchen sink"; + dir = 1 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/mono/white, +/area/ship/crew/canteen) +"Tm" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/chair/plastic{ + dir = 2 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/item/target{ + layer = 3.001 + }, +/turf/open/floor/plasteel, +/area/ship/cargo) +"Tp" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"TB" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/computer/cryopod/directional/south, +/obj/structure/noticeboard{ + dir = 8; + pixel_y = 0; + pixel_x = 25 + }, +/turf/open/floor/plasteel/patterned, +/area/ship/crew/cryo) +"TH" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"TR" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/mug/tea{ + pixel_y = 3; + pixel_x = -6 + }, +/obj/item/storage/lockbox/medal/sec{ + pixel_x = 8; + pixel_y = 15 + }, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/captain) +"Un" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners, +/obj/structure/crate_shelf, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Uq" = ( +/obj/structure/closet/cabinet, +/obj/item/clothing/head/cowboy{ + pixel_y = 5; + pixel_x = -3 + }, +/obj/item/clothing/head/soft/black{ + pixel_x = 8; + pixel_y = 14 + }, +/obj/item/clothing/head/beret{ + pixel_x = 4; + pixel_y = 3 + }, +/obj/item/clothing/shoes/cowboy/black{ + pixel_x = -6; + pixel_y = -10 + }, +/obj/item/clothing/shoes/workboots{ + pixel_x = 6; + pixel_y = -6 + }, +/obj/item/clothing/head/flatcap{ + pixel_y = 9; + pixel_x = -4 + }, +/obj/item/clothing/head/beret/puce{ + pixel_y = 12; + pixel_x = -2 + }, +/obj/item/clothing/head/soft/red{ + pixel_x = 3 + }, +/obj/item/clothing/shoes/jackboots{ + pixel_x = 2; + pixel_y = -3 + }, +/obj/item/clothing/shoes/combat{ + pixel_x = -7 + }, +/obj/item/clothing/shoes/cowboy{ + pixel_y = -9; + pixel_x = -6 + }, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"UA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/light_switch{ + pixel_y = -16; + pixel_x = 11; + dir = 1 + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"UL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/cargo) +"UM" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"UV" = ( +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"UY" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/airlock/security{ + dir = 4; + name = "Secure Storage"; + req_access_txt = "3" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"Vd" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/obj/machinery/power/port_gen/pacman, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 26 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"Ve" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk/over, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"Vv" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/airlock{ + dir = 4; + name = "Dormitory" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm) +"Vy" = ( +/obj/structure/chair/comfy/blue/old/directional/east, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/captain) +"VP" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/machinery/light_switch{ + pixel_y = 22; + pixel_x = -10 + }, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"VR" = ( +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"VV" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/railing/corner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ship/cargo) +"VX" = ( +/obj/structure/chair/sofa/brown/corner/directional/north, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"Wf" = ( +/obj/effect/turf_decal/kfp_small/left{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/spawner/lootdrop/maintenance, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"Wm" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/cargo) +"Wn" = ( +/obj/item/toy/plush/moth{ + pixel_y = 9 + }, +/obj/structure/dresser{ + dir = 8 + }, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"Ws" = ( +/obj/machinery/computer/crew{ + dir = 8; + icon_state = "computer-left" + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/bridge) +"Wv" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"WD" = ( +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"WF" = ( +/obj/effect/turf_decal/corner/opaque/red/border{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/sign/poster/contraband/eoehoma{ + pixel_x = -31 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central7, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"WI" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"WJ" = ( +/obj/structure/closet/crate/bin{ + pixel_y = 6 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/item/broken_bottle, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/central) +"WK" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/engines/port) +"WU" = ( +/obj/structure/guncloset{ + anchored = 1 + }, +/obj/item/gun/ballistic/automatic/pistol/ringneck/indie/no_mag, +/obj/item/gun/ballistic/automatic/pistol/ringneck/indie/no_mag, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/structure/sign/poster/contraband/bulldog{ + pixel_y = 28 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/security/armory) +"Xc" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"Xg" = ( +/obj/structure/table/reinforced, +/obj/structure/closet/wall/red/directional/north{ + name = "ammo locker"; + req_access_txt = "1" + }, +/obj/item/ammo_box/magazine/m45_cobra, +/obj/item/ammo_box/magazine/m45_cobra, +/obj/item/ammo_box/magazine/m45_cobra, +/obj/item/ammo_box/magazine/e40, +/obj/item/ammo_box/magazine/e40, +/obj/item/ammo_box/magazine/e40, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/item/stock_parts/cell/gun, +/obj/item/storage/box/ammo/c299, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"Xm" = ( +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/obj/machinery/newscaster/directional/south, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/central) +"Xr" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/light_switch{ + dir = 8; + pixel_y = 11; + pixel_x = 20 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table/wood, +/obj/item/modular_computer/laptop/preset/civilian, +/turf/open/floor/wood, +/area/ship/security) +"Xu" = ( +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/corner_steel_grid{ + dir = 9 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/hallway/central) +"Xx" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Xy" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/cable/yellow, +/obj/machinery/power/port_gen/pacman, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"XF" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/airlock{ + name = "Canteen" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"XG" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"XJ" = ( +/obj/item/radio/intercom/directional/west, +/obj/machinery/advanced_airlock_controller{ + pixel_x = 25 + }, +/obj/effect/turf_decal/industrial/warning/cee{ + dir = 1 + }, +/obj/structure/chair/handrail, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/crew/ccommons) +"XN" = ( +/obj/structure/cable{ + icon_state = "2-6" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"XY" = ( +/obj/structure/bed{ + dir = 4 + }, +/obj/structure/curtain/cloth/fancy, +/obj/item/toy/plush/snakeplushie, +/obj/structure/sign/poster/rilena/run{ + pixel_y = 30 + }, +/obj/item/storage/secure/safe{ + dir = 8; + pixel_x = -30 + }, +/obj/item/bedsheet/black{ + dir = 4 + }, +/turf/open/floor/carpet/royalblue, +/area/ship/crew/dorm/captain) +"Yz" = ( +/obj/structure/chair/sofa/brown/left/directional/south, +/turf/open/floor/carpet, +/area/ship/crew/ccommons) +"YB" = ( +/obj/structure/table/reinforced, +/obj/structure/closet/wall/red/directional/north{ + name = "ammo locker"; + req_access_txt = "1" + }, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/item/ammo_box/magazine/m10mm_ringneck, +/obj/machinery/cell_charger{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/item/screwdriver{ + pixel_x = 6 + }, +/obj/item/storage/box/ammo/c10mm, +/obj/item/storage/box/ammo/c10mm, +/turf/open/floor/plasteel/dark, +/area/ship/security/armory) +"YC" = ( +/obj/machinery/cryopod{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"YD" = ( +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/closet/crate/medical, +/obj/item/storage/firstaid/regular, +/obj/item/storage/firstaid/regular, +/obj/item/reagent_containers/glass/bottle/morphine, +/obj/item/reagent_containers/glass/bottle/morphine, +/obj/item/reagent_containers/glass/bottle/morphine, +/obj/item/reagent_containers/glass/bottle/morphine, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, +/obj/item/storage/box/gloves, +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"YH" = ( +/obj/effect/turf_decal/corner/opaque/orange/border{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"YI" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/item/kirbyplants{ + icon_state = "plant-14"; + pixel_y = 8; + pixel_x = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) +"YQ" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/ship/engineering/engines/port) +"YV" = ( +/obj/structure/sign/poster/contraband/gec{ + pixel_y = -32 + }, +/obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"YZ" = ( +/obj/effect/turf_decal/corner/opaque/lightgrey/border{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Za" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/security) +"Zc" = ( +/obj/structure/closet/cardboard/metal, +/obj/item/storage/box/emptysandbags, +/obj/item/storage/box/emptysandbags, +/obj/item/shovel, +/obj/item/shovel, +/obj/item/pickaxe, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Zi" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/bridge) +"Zp" = ( +/obj/effect/turf_decal/corner/opaque/brown/border{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/mono, +/area/ship/hallway/central) +"Zu" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/mining{ + dir = 4; + name = "Cargo Bay" + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"Zx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/grimy, +/area/ship/crew/ccommons) +"Zy" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_x = -7; + pixel_y = 4 + }, +/obj/item/paper_bin{ + pixel_x = 8; + pixel_y = 7 + }, +/obj/item/pen/fourcolor{ + pixel_x = 7; + pixel_y = 5 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/carpet/green, +/area/ship/crew/dorm) +"ZE" = ( +/obj/structure/closet/crate, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/effect/spawner/lootdrop/maintenance/three, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating, +/area/ship/engineering/engines/starboard) +"ZM" = ( +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/airlock/command{ + name = "Captain's Quarters"; + id_tag = "ra_capt2"; + req_access_txt = "20" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/dorm/captain) +"ZQ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/effect/turf_decal/corner_techfloor_gray{ + dir = 10 + }, +/obj/machinery/airalarm/directional/north, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/rack, +/obj/item/clothing/head/cone{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/clothing/head/cone{ + pixel_x = 6; + pixel_y = 3 + }, +/obj/item/clothing/head/cone{ + pixel_x = -5; + pixel_y = -8 + }, +/obj/item/clothing/head/cone{ + pixel_x = -5; + pixel_y = -8 + }, +/obj/item/clothing/head/cone{ + pixel_x = 6; + pixel_y = -8 + }, +/obj/item/clothing/head/cone{ + pixel_x = 6; + pixel_y = -8 + }, +/obj/item/clothing/head/cone{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/clothing/head/cone{ + pixel_x = -5; + pixel_y = 3 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ship/engineering/electrical) +"ZR" = ( +/obj/effect/turf_decal/corner/opaque/yellow/diagonal, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/canteen) + +(1,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(2,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(3,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(4,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(5,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(6,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(7,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +ci +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +yZ +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(8,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +XG +OV +ci +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +Cl +OV +Cl +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(9,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +XG +OV +ci +hN +WD +OV +OV +OV +OV +OV +mq +OV +OV +OV +OV +Ch +hN +Cl +OV +Cl +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(10,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +Wm +XG +XG +WD +WD +hN +XG +BH +OV +BH +BH +OV +BH +Cl +Dw +PS +WD +Cl +Cl +kl +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(11,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +Wm +XG +XG +XG +XG +XG +jE +BH +BH +BH +BH +jE +Cl +op +Cl +Cl +Cl +kl +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(12,1,1) = {" +OV +OV +OV +OV +FK +OV +OV +FK +OV +OV +OV +OV +XG +OQ +av +OQ +XG +XG +XG +oz +uy +LV +XG +Cl +iE +nV +KK +Cl +OV +OV +OV +OV +ej +OV +OV +ej +OV +OV +OV +OV +"} +(13,1,1) = {" +OV +OV +OV +OV +AD +AD +AD +AD +OV +OV +OV +OV +XG +Tm +VV +In +Em +rA +LR +DH +iD +af +XG +Wf +rY +nn +Il +Cl +OV +OV +OV +OV +Za +Za +Za +Za +OV +OV +OV +OV +"} +(14,1,1) = {" +OV +OV +FK +AD +AD +di +YC +AD +OV +OV +OV +OV +Wm +XG +IB +iq +sV +nT +Tp +UM +uU +AF +XG +Gm +SZ +tU +Cl +kl +OV +OV +OV +OV +Za +FO +rl +Za +Za +Za +OV +OV +"} +(15,1,1) = {" +OV +OV +WD +AD +Se +lv +gL +AD +OV +OV +OV +OV +OV +Wm +XG +DL +AC +Te +UL +vy +YD +zV +XG +Kh +YV +Cl +kl +OV +OV +OV +OV +OV +Za +yF +sS +Sj +Za +WD +OV +OV +"} +(16,1,1) = {" +OV +OV +WD +AD +Pa +Mq +TB +AD +FK +OV +OV +OV +OV +OV +XG +Sy +tZ +XG +DO +qy +Sb +Ae +XG +CY +UA +Cl +OV +OV +OV +OV +OV +ej +Za +tS +Xr +nP +Za +WD +OV +OV +"} +(17,1,1) = {" +OV +Rz +uW +uW +uW +nt +uW +uW +uW +Rz +OV +OV +OV +sa +XG +lF +Zu +XG +xD +jf +Zc +Un +XG +Cl +hz +Cl +cv +OV +OV +OV +cv +bP +bP +fN +bP +bP +bP +bP +bP +OV +"} +(18,1,1) = {" +OV +WD +uW +pf +uW +dD +mE +jB +PH +uW +KZ +KZ +KZ +WK +PV +hk +Zp +tk +XG +XG +XG +XG +XG +Ii +UV +EQ +Hu +rn +rn +rn +Hu +bP +WF +dB +bP +uS +hI +bP +WD +OV +"} +(19,1,1) = {" +OV +WD +uW +cO +Ml +nc +Uq +Hb +LD +uW +sH +sH +sH +WK +WK +Mi +qL +go +ZQ +yR +pk +at +go +He +sq +Hu +Hu +LU +LU +LU +Hu +YB +wc +Lr +bP +WU +By +bP +WD +OV +"} +(20,1,1) = {" +Rz +uW +uW +uW +uW +bG +ws +Wn +lb +uW +cC +sm +sm +kb +WK +iu +GO +go +sI +qn +TH +Eq +go +Pj +IT +Hu +Mx +jC +Of +md +Hu +Xg +JV +iw +bP +bP +UY +bP +bP +ic +"} +(21,1,1) = {" +OV +FE +jc +Me +mm +mV +th +th +lC +uW +ev +OX +se +lM +cu +gN +Oy +AM +Wv +XN +cG +pM +Mj +gJ +LY +Gy +AX +EE +Ve +NF +Hu +nX +EX +Eo +kO +bz +fM +sR +bP +OV +"} +(22,1,1) = {" +OV +FE +xx +cn +uW +Zy +bm +hb +ie +uW +MA +YQ +jv +WK +WK +YH +FM +go +fx +aB +je +oP +dn +Dd +Xc +Hu +Hu +LM +qP +ZE +Hu +eI +WI +jx +PM +xb +Ji +ql +bF +OV +"} +(23,1,1) = {" +OV +BF +FE +wX +uW +bA +my +xB +vr +uW +Gp +Gp +Gp +Gp +Gp +OO +eR +go +is +NC +lO +Gt +go +dL +SJ +Xy +Hu +Hu +Hu +Hu +Hu +aU +Oe +xk +SS +HS +Aw +bF +MG +OV +"} +(24,1,1) = {" +OV +OV +BF +uW +uW +uW +Gp +Gp +Vv +Gp +Gp +Gp +Fu +PW +Gp +Nx +mA +kI +go +CN +JO +go +go +Vd +ng +go +hl +HI +pS +VX +hl +Is +bP +bP +bP +bP +bP +MG +OV +OV +"} +(25,1,1) = {" +OV +OV +OV +Rz +WD +WD +Gp +Md +ZR +Oa +em +Gp +GI +Gp +Gp +WJ +mA +VR +kI +go +go +go +go +go +go +hl +hs +Yz +yT +NE +OL +kc +CO +hl +WD +WD +ic +OV +OV +OV +"} +(26,1,1) = {" +OV +OV +OV +OV +OV +OV +Gp +SL +PC +Dg +cb +jF +Ob +FA +hU +hU +AU +Xx +Rq +PN +aq +Ej +Nr +GD +mX +Zx +No +mh +mh +mh +Zx +rd +hr +hl +OV +OV +OV +OV +OV +OV +"} +(27,1,1) = {" +OV +OV +OV +OV +OV +OV +hU +Gp +YI +DR +DR +DR +DR +ef +Ih +XF +YZ +AQ +VR +yk +wb +Gq +gq +sf +hl +VP +kc +gC +jj +OL +ls +RB +hl +oJ +OV +OV +OV +OV +OV +OV +"} +(28,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +hU +Gp +hm +hw +uv +kJ +CG +JY +Gp +Gu +EZ +EZ +Aj +uw +jJ +jJ +jJ +hl +fE +ms +gC +RD +OL +JS +Rp +hl +OV +OV +OV +OV +OV +OV +OV +"} +(29,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +hU +vw +bo +AS +vw +aQ +Tk +Gp +Xu +tg +Xm +Aj +LJ +SQ +Ew +jt +hl +BE +Ap +wS +LO +Jj +Dy +Rp +oJ +OV +OV +OV +OV +OV +OV +OV +"} +(30,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +hU +Gp +Gp +Gp +hU +iY +GP +lN +lN +lN +lN +Aj +FH +iN +fo +PZ +Aj +hl +QU +oJ +hl +hl +hl +hl +oJ +OV +OV +OV +OV +OV +OV +OV +"} +(31,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +hU +WD +WD +Gp +Gp +Gp +lN +XY +JW +xy +ZM +HD +iN +be +pt +Aj +XJ +LB +hl +WD +WD +oJ +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(32,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +hU +OV +lN +lN +ig +Vy +iL +Aj +rV +GH +yj +ug +Aj +Aj +ec +oJ +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(33,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +KQ +SO +Fv +TR +FJ +Aj +pn +QZ +NW +NW +Rt +Zi +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(34,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +Fr +Fr +Fr +lN +Aj +Ws +Pt +PD +Rt +qT +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(35,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +lN +qT +qT +qT +qT +qT +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(36,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(37,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(38,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(39,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(40,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} +(41,1,1) = {" +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +OV +"} diff --git a/code/game/objects/structures/cabinet_types.dm b/code/game/objects/structures/cabinet_types.dm index 347e1954ded4..c64356ac4db1 100644 --- a/code/game/objects/structures/cabinet_types.dm +++ b/code/game/objects/structures/cabinet_types.dm @@ -3,8 +3,14 @@ desc = "There is a small label that reads \"For Emergency use only\" along with details for safe use of the axe. As if." icon = 'icons/obj/wallmounts.dmi' icon_state = "fireaxe" - anchored = TRUE - density = FALSE stored_sprite = "axe" allowed_type = /obj/item/melee/axe/fire req_one_access_txt = "24" + +/obj/structure/cabinet/oneshot + name = "\improper rocket launcher cabinet" + desc = "There is a small label that reads \"For Emergency use only\" along with a small drawing of how to operate the launcher." + icon_state = "rpg" + stored_sprite = "launcher" + allowed_type = /obj/item/gun/ballistic/rocketlauncher/oneshot + req_one_access_txt = "3" diff --git a/code/modules/clothing/outfits/factions/independent.dm b/code/modules/clothing/outfits/factions/independent.dm index 30017e9eb545..1fb5b15006ff 100644 --- a/code/modules/clothing/outfits/factions/independent.dm +++ b/code/modules/clothing/outfits/factions/independent.dm @@ -107,6 +107,22 @@ gloves = /obj/item/clothing/gloves/color/white //poverty gloves shoes = /obj/item/clothing/shoes/sneakers/brown +/datum/outfit/job/independent/captain/merc + name = "Independent - Captain (Mercenary)" + + uniform = /obj/item/clothing/under/syndicate + head = /obj/item/clothing/head/beret + gloves = /obj/item/clothing/gloves/combat + shoes = /obj/item/clothing/shoes/combat + suit = /obj/item/clothing/suit/armor/vest + + accessory = null + + backpack = /obj/item/storage/backpack/security + satchel = /obj/item/storage/backpack/satchel/sec + duffelbag = /obj/item/storage/backpack/duffelbag/sec + courierbag = /obj/item/storage/backpack/messenger/sec + /datum/outfit/job/independent/captain/western name = "Independent - Captain (Western)" head = /obj/item/clothing/head/caphat/cowboy @@ -231,6 +247,20 @@ chameleon_extras = list(/obj/item/gun/energy/e_gun/hos, /obj/item/stamp/hos) +/datum/outfit/job/independent/hos/merc + name = "Independent - Mercenary XO" + id_assignment = "Lieutenant" + + ears = /obj/item/radio/headset/headset_com + uniform = /obj/item/clothing/under/syndicate + shoes = /obj/item/clothing/shoes/combat + suit = /obj/item/clothing/suit/armor/vest + alt_suit = null + gloves = /obj/item/clothing/gloves/combat + head = /obj/item/clothing/head/beret + glasses = null + l_pocket = null + // Roboticist /datum/outfit/job/independent/roboticist @@ -282,6 +312,17 @@ shoes = /obj/item/clothing/shoes/jackboots head = /obj/item/clothing/head/cowboy/sec +/datum/outfit/job/independent/security/merc + name = "Independent - Security Officer (Mercenary)" + id_assignment = "Trooper" + + uniform = /obj/item/clothing/under/syndicate/camo + gloves = /obj/item/clothing/gloves/fingerless + head = null + suit = null + dcoat = null + + /datum/outfit/job/independent/security/pirate name = "Independent - Security Officer (Pirate)" diff --git a/icons/obj/wallmounts.dmi b/icons/obj/wallmounts.dmi index 96e0c28e715cdaf252239a34fc3c61bdb71c72c2..236d94fbfb52f0aa628ebcd1d68cbf0b3eda5014 100644 GIT binary patch literal 14767 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 literal 11992 zcma)ibx<6^x9%*u1Y00Lf?EOvcXta376=gBg1c*Ak>HX9cL)iP;O=fgf&_xw;=!H8 z?{Ht$yH&U9_v-zzJF{KeJw2zt@0{8quj{pF`ReUL{4ge7F76L#qz>B_1 zp#^wp^LhKuP1fAi%*EQt&Dzlc0K761N826+bHe(LW<+~(eSZW@vi7J`oDwsn@CcE` zf9am=I~dJ%W9mIxKKV$k-M;R#gJE?YD>jDdLL$gpz%yvbkcWZi-oqX9&FzMQHZr`O zHoHG>n$t3sff_E;RXG!dj_SnJ#@sC!2?-0bTO5}67$WX?`2(n)v3==xzKv#n;1(ldXQ*n7QD{vyMxHYs zWgL!1y9>Gt7nu%j0e~4#YP*91{34#eACW>lD5X8-0N<%15n5)Hb zs?dp3%E9&7@iW(rA@|bMg9h=biz~yahSvGJ+iNM9tTEx*&LbEaLImTg5#??u|C;+U z8;>mLpv>US?F^&DQjfI(X-&3?`&1*l?0sM!Eu6Qr*NB9O-g|iKmzA4`2MQo9Ej{|j zt@k{u!)~$|Vc*CRZ|VMo@@Y)GrUC(RJp47KeXX$mw$;vwQ1FZroupt$D8SxHW*Xc; zg1e!cQ7jxe_Ib>(;W@yYV#~$qmQaG%C9U9nIva8@b8o;*P3%f^-y?(V1t8ZFKl+^_ zNRbuK29bG=tZ(;dQFzgu2AEo#Mz|&qn`PY z9WzE?#W`O~K#g3WeZR(Ve(ax&v|7N~m#?mUjH+QFnex`j%{Wx+swy5@^sZ_sD=kC!t z&USCb<}9qi(Txg)!-Ciyd`q<~a|}y%c>hAbO=>vZ&Q3kgt7gw^-7C>hY(wZ$?f-je2Z=QhXlyF|4<(|oATC6v`8agW)R&|lgriIrh zo8!9p9lr;8c&>BQ3lm`XV814J+V2!e*OSn3e;g-%2W@4)Y#pijHlU)S(izgPh-_T* zZ90Hd%^=(-Tq?JjP~9tYjT|AFnxh`KwA`CFxBr)AhK2qe1@9%i0YQT)2W>+?{gge&BTI^-nb1BYi*}iCba?xddHfvzCU( z!-CBC!02?RiW;!0Nzo_hX9Pn zqkfN~Vev!P%CnoyI=PN{uQzWfzbYJ0H|ISDO=Ptx5 zzyMzbZQ4$3SE~}GiD}doT`E=U(j;>ID1ih-&GHRHOhZ6V(>yi5Xz%8HCOlJ&R6kZ` z8Vg<}e>$=H`eo-dp0iWakV z[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 From 147819bfb9c32079d294e85d78566fe19a9fe337 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Wed, 23 Oct 2024 20:01:02 -0400 Subject: [PATCH 103/344] Trade Post Remake troi (#3367) ## About The Pull Request Remasters the currently removed and unpersoned wasteplanet tradepost map. You have never seen this pr before. ![dreamseeker_aqYq8vThLj](https://github.com/user-attachments/assets/2b3ae689-252a-474a-abe2-bf5a8afbce15) ![StrongDMM-2024-10-17 17 39 28](https://github.com/user-attachments/assets/940321b0-c2b4-4f5c-af96-e093230e679f) ![StrongDMM-2024-10-17 17 40 03](https://github.com/user-attachments/assets/f52f8596-e3b0-4930-bce0-994147f0a1ca) ## Why It's Good For The Game A 'new' ruin of decent quality and some more mapgen options should enrich the experience. ## Changelog :cl: Erika Fox add: An abandoned tradepost has been located in the system. Investigate nearby waste worlds for more information. add: preburnt flares /:cl: --------- Signed-off-by: Erika Fox <94164348+Bjarl@users.noreply.github.com> Signed-off-by: Erika Fox <94164348+Erikafox@users.noreply.github.com> Co-authored-by: Erika Fox <94164348+Bjarl@users.noreply.github.com> --- .../WasteRuins/wasteplanet_tradepost.dmm | 8003 +++++++++++++++++ code/datums/ruins/wasteplanet.dm | 7 + code/game/area/areas/ruins/wasteplanet.dm | 14 + .../game/objects/effects/spawners/lootdrop.dm | 3 + code/game/objects/items/devices/flashlight.dm | 11 +- .../turfs/open/floor/plating/wasteplanet.dm | 72 +- .../mining/equipment/marker_beacons.dm | 6 + .../mob/living/simple_animal/corpse.dm | 32 + .../ruins/wasteplanet_ruin_code/tradepost.dm | 61 + shiptest.dme | 1 + 10 files changed, 8198 insertions(+), 12 deletions(-) create mode 100644 _maps/RandomRuins/WasteRuins/wasteplanet_tradepost.dmm create mode 100644 code/modules/ruins/wasteplanet_ruin_code/tradepost.dm diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_tradepost.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_tradepost.dmm new file mode 100644 index 000000000000..c865138fb568 --- /dev/null +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_tradepost.dmm @@ -0,0 +1,8003 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ag" = ( +/obj/structure/barricade/sandbags, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"aj" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 8; + id = "wtpw1" + }, +/obj/machinery/power/shieldwallgen/atmos{ + id = "tradehouse"; + dir = 1; + anchored = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/warehouse) +"as" = ( +/turf/closed/wall/yesdiag, +/area/ruin/wasteplanet/tradepost/center) +"aB" = ( +/obj/effect/turf_decal/industrial/caution, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"aF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 8 + }, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/center) +"aI" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"aM" = ( +/mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged/rapid, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"aQ" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, +/obj/structure/closet/crate/bin, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"aR" = ( +/obj/item/flashlight/flare/burnt, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"aS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 1 + }, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"ba" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/flora/ash/glowshroom, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"bj" = ( +/obj/item/stack/sheet/mineral/sandbags{ + amount = 3 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/mob/living/simple_animal/hostile/hivebot/wasteplanet/strong, +/obj/structure/foamedmetal/iron, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"bm" = ( +/turf/closed/wall/yesdiag, +/area/ruin/wasteplanet/tradepost/barracks) +"br" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/floodlight_frame, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"bz" = ( +/obj/effect/turf_decal/industrial/warning/full, +/obj/machinery/portable_atmospherics/scrubber/huge/movable, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"bH" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"bJ" = ( +/obj/item/reagent_containers/glass/concrete_bag, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"bM" = ( +/obj/item/stack/sheet/mineral/sandbags, +/obj/structure/door_assembly/door_assembly_com, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"bW" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"bY" = ( +/obj/structure/girder/displaced, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"bZ" = ( +/obj/machinery/firealarm/directional/north, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"ch" = ( +/obj/effect/turf_decal/industrial/warning/full, +/obj/structure/closet/crate, +/obj/item/stack/sheet/mineral/plasma/five, +/obj/item/stack/sheet/mineral/plasma/five, +/obj/item/stack/sheet/mineral/plasma/five, +/obj/machinery/button/door{ + dir = 4; + pixel_x = -24; + pixel_y = -8; + id = "wtpw1" + }, +/obj/machinery/button/shieldwallgen{ + id = "tradehouse"; + dir = 4; + pixel_y = 2; + pixel_x = -22 + }, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"cq" = ( +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/open/floor/plating, +/area/ruin/wasteplanet/tradepost) +"cs" = ( +/turf/closed/wall/rust/yesdiag, +/area/ruin/wasteplanet/tradepost) +"cC" = ( +/obj/effect/turf_decal/industrial/warning/full, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"cD" = ( +/obj/item/cigbutt{ + pixel_y = 6 + }, +/obj/item/cigbutt{ + pixel_y = 4; + pixel_x = -11 + }, +/obj/item/cigbutt{ + pixel_y = -7; + pixel_x = -7 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"cH" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"cJ" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 9 + }, +/obj/effect/turf_decal/industrial/warning/corner, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"cL" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"cW" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"cZ" = ( +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"dd" = ( +/obj/effect/turf_decal/industrial/warning/full, +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"do" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"dr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/intercom/directional/east, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/structure/foamedmetal/iron, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"ds" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"dw" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/foamedmetal/iron, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"dB" = ( +/obj/effect/turf_decal/industrial/traffic, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"dD" = ( +/obj/structure/flippedtable, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"dE" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/turf/closed/wall, +/area/ruin/wasteplanet/tradepost) +"dF" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"dN" = ( +/obj/structure/door_assembly/door_assembly_sec, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"dS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ed" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable, +/obj/structure/grille, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ef" = ( +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ei" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"em" = ( +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"en" = ( +/turf/closed/wall/rust, +/area/overmap_encounter/planetoid/cave/explored) +"ep" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"eq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"et" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/paper_bin, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged/rapid, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/item/trash/plate, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"ew" = ( +/mob/living/simple_animal/hostile/hivebot/wasteplanet/strong, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ez" = ( +/turf/closed/wall/rust, +/area/ruin/wasteplanet/tradepost/center) +"eF" = ( +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"eH" = ( +/obj/structure/bed/pod, +/obj/machinery/light/small/broken/directional/north, +/obj/structure/curtain/cloth/grey, +/obj/item/bedsheet/brown, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"eS" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 5 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"fd" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/item/ammo_casing/spent, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"fe" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"fr" = ( +/obj/structure/barricade/sandbags, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"fs" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ft" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"fU" = ( +/turf/closed/wall/rust/yesdiag, +/area/ruin/wasteplanet/tradepost/center) +"fY" = ( +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/center) +"gf" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"gh" = ( +/turf/closed/wall/rust/yesdiag, +/area/ruin/wasteplanet/tradepost/warehouse) +"gj" = ( +/obj/machinery/door/airlock/mining{ + name = "Warehouse" + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/warehouse) +"gl" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"gw" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"gy" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"gA" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"gC" = ( +/obj/structure/bookcase/random, +/turf/open/floor/wood, +/area/ruin/wasteplanet/tradepost/center) +"gI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/spawner/hivebot, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"gP" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 8 + }, +/obj/item/kirbyplants/random, +/obj/item/paper/crumpled, +/obj/item/trash/plate, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"gZ" = ( +/turf/closed/wall/yesdiag, +/area/ruin/wasteplanet/tradepost/warehouse) +"hg" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/stack/ore/salvage/scrapgold, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"hn" = ( +/obj/effect/turf_decal/industrial/warning/full, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"ho" = ( +/obj/machinery/atmospherics/components/unary/passive_vent, +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"ht" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/barricade/sandbags, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"hD" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/center) +"hE" = ( +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/blood/tracks, +/obj/item/paper_bin, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/mob/living/simple_animal/hostile/hivebot/wasteplanet/strong, +/obj/item/trash/plate, +/obj/item/ammo_casing/spent, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"hH" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_y = 4; + pixel_x = -2 + }, +/obj/item/reagent_containers/food/drinks/coffee{ + pixel_x = -10; + pixel_y = -7 + }, +/obj/item/paper/crumpled{ + pixel_x = 5; + pixel_y = -1 + }, +/obj/item/tape/random/preset/tradepost/one{ + pixel_y = 7; + pixel_x = -6 + }, +/turf/open/floor/wood, +/area/ruin/wasteplanet/tradepost/center) +"hJ" = ( +/obj/structure/chair{ + dir = 8 + }, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"hN" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/pen/fountain, +/obj/machinery/newscaster/directional/west, +/obj/item/paper/crumpled{ + pixel_x = -5; + pixel_y = -9 + }, +/obj/item/paper/crumpled{ + pixel_x = 7; + pixel_y = -16 + }, +/obj/item/spacecash/bundle/mediumrand{ + pixel_y = 8; + pixel_x = 4 + }, +/turf/open/floor/wood, +/area/ruin/wasteplanet/tradepost/center) +"hO" = ( +/turf/closed/wall, +/area/ruin/wasteplanet/tradepost/barracks) +"hU" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"hV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/item/stack/ore/salvage/scrapmetal/five, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"hW" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip4" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/effect/decal/cleanable/glass, +/obj/structure/foamedmetal/iron, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/center) +"hX" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/structure/catwalk, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"ib" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/flashlight/flare/burnt, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"ig" = ( +/obj/structure/table, +/obj/machinery/airalarm/directional/south, +/obj/item/reagent_containers/food/drinks/mug/tea{ + pixel_y = 6; + pixel_x = 2 + }, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/center) +"ip" = ( +/obj/item/bedsheet/hos{ + name = "vanguard's bedsheet" + }, +/obj/structure/bed/pod, +/obj/structure/curtain/cloth/grey, +/obj/machinery/light/small/broken/directional/north, +/turf/open/floor/carpet/orange, +/area/ruin/wasteplanet/tradepost/barracks) +"iq" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"ir" = ( +/obj/machinery/light/directional/east, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"it" = ( +/obj/item/cigbutt{ + pixel_x = 8; + pixel_y = 5 + }, +/obj/item/cigbutt{ + pixel_y = 6; + pixel_x = -8 + }, +/obj/item/cigbutt, +/obj/structure/sign/warning/nosmoking/burnt{ + pixel_y = 28 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"iy" = ( +/obj/machinery/computer/mech_bay_power_console/retro{ + dir = 8 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/tradepost/warehouse) +"iI" = ( +/obj/effect/decal/cleanable/molten_object{ + pixel_x = 4; + pixel_y = 5 + }, +/obj/effect/decal/cleanable/molten_object{ + pixel_x = 1; + pixel_y = -12 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip1" + }, +/obj/effect/mob_spawn/human/corpse/inteq/enforcer{ + head = null; + husk = 1 + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"iX" = ( +/obj/item/radio/intercom/directional/north, +/obj/structure/closet/crate, +/obj/effect/turf_decal/industrial/warning/full, +/obj/item/circuitboard/machine/space_heater, +/obj/item/circuitboard/machine/space_heater, +/obj/item/circuitboard/machine/space_heater, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"jb" = ( +/obj/structure/sign/poster/contraband/c20r{ + pixel_y = 28 + }, +/obj/structure/foamedmetal/iron, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"je" = ( +/obj/machinery/firealarm/directional/east, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/center) +"jk" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"jn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"jy" = ( +/obj/structure/foamedmetal/iron, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"jD" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak2" + }, +/mob/living/simple_animal/hostile/hivebot/wasteplanet/strong, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 4 + }, +/obj/item/ammo_casing/spent, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"jT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_y = 26 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer4{ + dir = 1 + }, +/obj/structure/sign/warning/gasmask{ + pixel_x = -28 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"kd" = ( +/turf/closed/wall, +/area/overmap_encounter/planetoid/cave/explored) +"kf" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"km" = ( +/obj/effect/gibspawner/robot, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"kr" = ( +/obj/effect/decal/cleanable/dirt/dust, +/mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ks" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 5 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost) +"kt" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"kx" = ( +/obj/structure/table_frame, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"kM" = ( +/obj/structure/floodlight_frame, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"kP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"kU" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"la" = ( +/obj/structure/filingcabinet/double, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/wood, +/area/ruin/wasteplanet/tradepost/center) +"lf" = ( +/obj/effect/decal/cleanable/blood/tracks, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent{ + pixel_y = -11; + pixel_x = -3 + }, +/obj/item/ammo_casing/spent{ + pixel_y = -4 + }, +/obj/item/paper/crumpled, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"lj" = ( +/obj/item/radio/intercom/wideband/directional/north, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"lp" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/light/small/broken/directional/south, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost) +"lq" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/gibspawner/robot, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"lv" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/structure/catwalk, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"lw" = ( +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"lx" = ( +/obj/machinery/stasis{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/barracks) +"ly" = ( +/obj/structure/table, +/obj/item/storage/fancy/cigarettes/cigpack_robust{ + pixel_y = 6; + pixel_x = -4 + }, +/obj/item/storage/fancy/cigarettes/cigpack_robust{ + pixel_x = 3; + pixel_y = -4 + }, +/obj/item/storage/fancy/cigarettes/cigpack_mindbreaker{ + pixel_y = 8; + pixel_x = 9 + }, +/obj/item/storage/fancy/cigarettes/cigpack_cannabis{ + pixel_x = -8; + pixel_y = -4 + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"lB" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"lE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"lF" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"lI" = ( +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"lM" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 5 + }, +/obj/machinery/light/small/broken/directional/east, +/obj/structure/foamedmetal/iron, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"lQ" = ( +/obj/effect/turf_decal/industrial/warning/full, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"lX" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/spawner/hivebot, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"lY" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor3-old" + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor2-old" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"mo" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"mr" = ( +/obj/structure/sign/warning/gasmask{ + pixel_x = -28 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"mt" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/industrial/warning/corner, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"mA" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 10 + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/tradepost) +"mC" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"mI" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/sign/poster/rilena/tali{ + pixel_x = 29 + }, +/obj/item/reagent_containers/food/drinks/rilenacup{ + pixel_x = 7; + pixel_y = -2 + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"mK" = ( +/obj/effect/mob_spawn/human/corpse/inteq/medic/tradepost, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/barracks) +"mN" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"nb" = ( +/turf/closed/wall/rust, +/area/ruin/wasteplanet/tradepost) +"nn" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/clipboard, +/obj/item/paper/crumpled, +/obj/item/paper/crumpled, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/structure/table_frame, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"nr" = ( +/obj/structure/rack, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 6 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"nt" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"nv" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak2" + }, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"nJ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/layer4{ + dir = 8 + }, +/obj/structure/table_frame, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/center) +"nL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"nN" = ( +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 4 + }, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"nO" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/computer/operating, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/barracks) +"nU" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/item/clothing/head/beret/sec/hos/inteq, +/obj/machinery/light/small/broken/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/layer4, +/obj/item/clipboard, +/obj/machinery/button/door{ + pixel_y = -9; + pixel_x = -22; + dir = 4; + name = "privacy lock" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"ox" = ( +/obj/machinery/light/directional/north, +/obj/machinery/atmospherics/components/unary/vent_pump/layer4, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"oz" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor2-old" + }, +/obj/item/gun/ballistic/automatic/pistol/commander/inteq/no_mag, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/center) +"oC" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/stack/sheet/mineral/sandbags, +/turf/open/floor/concrete/pavement/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"oQ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/layer4{ + dir = 1 + }, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"pb" = ( +/obj/structure/chair/plastic{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"pc" = ( +/obj/item/stack/sheet/mineral/sandbags{ + amount = 2 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"pe" = ( +/obj/structure/flippedtable, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"pj" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/catwalk, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"pk" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"pl" = ( +/turf/closed/wall, +/area/ruin/wasteplanet/tradepost/warehouse) +"pm" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 8; + id = "wtpw2" + }, +/obj/machinery/power/shieldwallgen/atmos{ + id = "tradehouse2"; + anchored = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/warehouse) +"pD" = ( +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"pL" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "tradepost_vanguard" + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/tradepost/barracks) +"pQ" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"pT" = ( +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/structure/closet/crate/bin, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/center) +"qb" = ( +/turf/closed/wall, +/area/ruin/wasteplanet/tradepost) +"qg" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"qi" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"qk" = ( +/obj/machinery/door/airlock/command/glass{ + name = "Holopad Access" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/center) +"qp" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 9 + }, +/obj/effect/turf_decal/industrial/warning/corner, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost) +"qr" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"qw" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/effect/decal/cleanable/glass, +/obj/machinery/door/airlock/command/glass{ + name = "Central Dome" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/center) +"qy" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"qJ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/brown, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"qM" = ( +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/structure/cable{ + icon_state = "1-6" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"qR" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"qV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/closet/secure_closet/engineering_welding{ + populate = 0 + }, +/obj/item/clothing/glasses/welding, +/obj/item/weldingtool/largetank, +/obj/item/weldingtool/largetank, +/obj/item/storage/toolbox/mechanical, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"ra" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"rb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/structure/bed/dogbed{ + name = "cat bed"; + desc = "A comfy-looking cat bed. You can even strap your pet in, in case the gravity turns off." + }, +/mob/living/simple_animal/pet/cat/kitten{ + name = "Biggles"; + desc = "That's Mr. Biggles to you." + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"rl" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/catwalk, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ro" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"ru" = ( +/obj/structure/flippedtable, +/obj/item/clothing/shoes/laceup{ + pixel_x = 1; + pixel_y = -5 + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"rB" = ( +/obj/machinery/door/airlock{ + dir = 4; + name = "Showers" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/center) +"rN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/holopad/secure, +/mob/living/simple_animal/hostile/hivebot/wasteplanet/strong, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/corner/opaque/yellow/full, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"rQ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/structure/catwalk, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"rY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/structure/table/wood, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"sb" = ( +/obj/structure/table, +/obj/machinery/fax/ruin{ + pixel_y = 7 + }, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"sf" = ( +/obj/effect/decal/cleanable/molten_object{ + pixel_x = -10; + pixel_y = 9 + }, +/obj/effect/decal/cleanable/molten_object{ + pixel_x = 9; + pixel_y = -4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"su" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"sv" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"sx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/door/airlock/engineering{ + dir = 4; + name = "Engineering" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost) +"sy" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip1" + }, +/obj/structure/foamedmetal/iron, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"sA" = ( +/obj/machinery/firealarm/directional/south, +/obj/structure/bookcase/random, +/turf/open/floor/wood, +/area/ruin/wasteplanet/tradepost/center) +"sH" = ( +/obj/effect/gibspawner/robot, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"sL" = ( +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"sN" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor3-old" + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor2-old" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/item/stack/ore/salvage/scrapmetal/five, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer4{ + dir = 1 + }, +/obj/machinery/light/small/broken/directional/west, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"sS" = ( +/obj/structure/filingcabinet/double, +/obj/item/radio/intercom/directional/east, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/wood, +/area/ruin/wasteplanet/tradepost/center) +"sT" = ( +/obj/effect/turf_decal/industrial/warning/full, +/obj/structure/ore_box, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"sZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ta" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"te" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak2" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"tf" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"tn" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"tp" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"ts" = ( +/obj/machinery/holopad/secure, +/obj/effect/turf_decal/box, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"ty" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"tz" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/wasteplanet/tradepost/center) +"tL" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/decal/cleanable/robot_debris, +/obj/effect/gibspawner/robot, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/structure/table_frame, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"tU" = ( +/obj/mecha/working/ripley/cargo{ + name = "\improper APLU \"Forklift Certified\"" + }, +/obj/effect/turf_decal/rechargefloor, +/obj/structure/sign/warning/nosmoking{ + pixel_x = 28 + }, +/obj/machinery/light/small/broken/directional/south, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/tradepost/warehouse) +"tV" = ( +/obj/item/stack/ore/salvage/scrapgold, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"ua" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ub" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible, +/turf/open/floor/plating, +/area/ruin/wasteplanet/tradepost) +"uf" = ( +/obj/effect/turf_decal/industrial/warning/full, +/obj/structure/closet/crate, +/obj/machinery/light/small/broken/directional/south, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/lootdrop/ration, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"ug" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/industrial/warning/cee{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"um" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/item/radio/intercom/table{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"uo" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"uw" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"uy" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 8 + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"uA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/flora/ash/glowshroom, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"uC" = ( +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"uG" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"uN" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"uS" = ( +/obj/machinery/light/small/directional/east, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/center) +"uU" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/grille, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"uV" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"uW" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/marker_beacon, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"vi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"vr" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"vu" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/layer4{ + dir = 8 + }, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"vy" = ( +/obj/structure/foamedmetal/iron, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"vz" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"vG" = ( +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"vK" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/obj/structure/table, +/obj/item/radio/intercom/table, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost) +"vL" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"vQ" = ( +/obj/effect/decal/cleanable/molten_object/large, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"vR" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip3" + }, +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall, +/area/ruin/wasteplanet/tradepost/barracks) +"vS" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 4 + }, +/obj/machinery/door/window/brigdoor/eastright{ + req_access_txt = "3" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/barracks) +"wi" = ( +/obj/item/storage/box/flares{ + pixel_x = 8; + pixel_y = -2 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"wl" = ( +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor, +/obj/structure/closet/wall{ + dir = 8; + pixel_x = 29 + }, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/item/clothing/mask/gas, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"wm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/light/small/broken/directional/east, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/advanced_airlock_controller{ + pixel_x = -26; + pixel_y = 0 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"wA" = ( +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak5" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"wB" = ( +/obj/machinery/modular_computer/console/preset/civilian{ + dir = 4 + }, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"wG" = ( +/obj/machinery/door/airlock/medical{ + name = "Medbay"; + welded = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/barracks) +"wL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/closed/wall, +/area/ruin/wasteplanet/tradepost/barracks) +"wM" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"wW" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/structure/foamedmetal/iron, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"xm" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/item/radio/intercom/directional/south, +/obj/structure/foamedmetal/iron, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"xu" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/flora/ash/glowshroom, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"xv" = ( +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak2" + }, +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak5" + }, +/obj/item/paper/crumpled, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"xw" = ( +/obj/item/paper/crumpled, +/obj/structure/filingcabinet/double, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"xx" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"xA" = ( +/obj/item/stack/ore/salvage/scraptitanium/five, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"xF" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip3" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall, +/area/ruin/wasteplanet/tradepost/barracks) +"xM" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/structure/flippedtable, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_box/magazine/m9mm_rattlesnake{ + start_empty = 1; + pixel_x = -9; + pixel_y = -3; + icon_state = "rattlesnake_mag_0" + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"xP" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"xQ" = ( +/obj/item/stack/sheet/mineral/sandbags{ + pixel_y = 7 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip3" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"xV" = ( +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/grille, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"xX" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/center) +"ya" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/item/bot_assembly/medbot, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/barracks) +"yb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"yd" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 10 + }, +/obj/machinery/meter, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 6 + }, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"yf" = ( +/obj/structure/grille, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"yt" = ( +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak2" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/item/stack/ore/salvage/scrapmetal/five, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"yF" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"yI" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"yJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/marker_beacon, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"yZ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ze" = ( +/obj/machinery/mech_bay_recharge_port, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/tradepost/warehouse) +"zn" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable, +/obj/structure/floodlight_frame, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"zo" = ( +/obj/effect/turf_decal/industrial/traffic, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"zq" = ( +/obj/effect/turf_decal/industrial/warning/full, +/obj/structure/closet/crate, +/obj/structure/sign/warning/gasmask{ + pixel_y = 30 + }, +/obj/machinery/light/small/directional/west, +/obj/item/circuitboard/machine/tesla_ground, +/obj/item/circuitboard/machine/tesla_ground, +/obj/item/circuitboard/machine/tesla_ground, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"zA" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/door/airlock/engineering{ + dir = 4; + name = "Engineering" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost) +"zD" = ( +/turf/closed/wall/rust, +/area/ruin/wasteplanet/tradepost/warehouse) +"zM" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak2" + }, +/mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged/rapid, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"zO" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, +/obj/structure/foamedmetal/iron, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"zS" = ( +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/trimline/opaque/yellow/line, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"zT" = ( +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/machinery/firealarm/directional/east, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/item/clothing/head/soft/inteq/corpsman, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/barracks) +"zY" = ( +/obj/item/stack/sheet/mineral/sandbags, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Aa" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ac" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/closed/wall/yesdiag, +/area/ruin/wasteplanet/tradepost/barracks) +"Ae" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ah" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ak" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/obj/effect/gibspawner/robot, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"AH" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"AI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/trimline/opaque/yellow/line, +/obj/item/radio/intercom/directional/south, +/obj/item/stack/ore/salvage/scrapmetal, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"AP" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip5" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"AQ" = ( +/obj/machinery/light/small/broken/directional/south, +/obj/machinery/holopad/secure, +/turf/open/floor/carpet/orange, +/area/ruin/wasteplanet/tradepost/barracks) +"AT" = ( +/obj/effect/gibspawner/robot, +/turf/open/floor/concrete/pavement/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"AV" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ba" = ( +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Bk" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Bu" = ( +/obj/structure/foamedmetal/iron, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"BK" = ( +/obj/machinery/shower{ + dir = 1 + }, +/obj/structure/curtain, +/obj/structure/window/reinforced/tinted{ + dir = 4 + }, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/center) +"BN" = ( +/mob/living/simple_animal/hostile/hivebot/wasteplanet/strong, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Cb" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/catwalk, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Cc" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"Cf" = ( +/obj/structure/bed, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/item/bedsheet/red, +/obj/structure/curtain/cloth/fancy, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"Cg" = ( +/obj/effect/turf_decal/techfloor/corner, +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"Cj" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/item/ammo_casing/spent, +/obj/item/gun/ballistic/automatic/pistol/rattlesnake/inteq{ + pixel_y = 5; + pixel_x = -4 + }, +/obj/effect/mob_spawn/human/corpse/inteq/vanguard/tradepost, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"Cq" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Cx" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip3" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"CA" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"CB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/techfloor/corner{ + dir = 1 + }, +/obj/item/stack/ore/salvage/scrapmetal/five, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"CC" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 8; + id = "wtpw1" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/warehouse) +"CD" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"CE" = ( +/obj/structure/rack, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10; + layer = 2.030 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 10 + }, +/obj/item/storage/box/flares{ + pixel_y = 3; + pixel_x = -3 + }, +/obj/item/storage/box/flares{ + pixel_x = 8; + pixel_y = -2 + }, +/obj/item/storage/box/flares{ + pixel_x = 12; + pixel_y = 11 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"CG" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 3 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"CI" = ( +/obj/structure/catwalk, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"CK" = ( +/obj/structure/spawner/hivebot, +/obj/structure/cable, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"CV" = ( +/obj/structure/cable{ + icon_state = "0-9" + }, +/obj/effect/turf_decal/industrial/warning/full, +/obj/machinery/power/rtg/geothermal, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Dk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak2" + }, +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak5" + }, +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak4" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Dl" = ( +/obj/machinery/door/airlock{ + dir = 4; + name = "Trader's Quarters" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/center) +"Du" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Dw" = ( +/obj/machinery/light/small/broken/directional/east, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"DB" = ( +/obj/machinery/door/airlock/security{ + name = "Armory" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/barracks) +"DE" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/item/stack/ore/salvage/scrapmetal, +/obj/item/stack/ore/salvage/scrapgold, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"DG" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 8; + id = "wtpw1" + }, +/obj/machinery/power/shieldwallgen/atmos{ + id = "tradehouse"; + anchored = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/warehouse) +"DI" = ( +/obj/item/ammo_casing/spent, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"DL" = ( +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/barracks) +"DQ" = ( +/obj/structure/girder/displaced, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"DR" = ( +/obj/structure/foamedmetal/iron, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"DS" = ( +/obj/structure/barricade/sandbags, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/item/paper/crumpled, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"Ea" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ei" = ( +/obj/structure/cable{ + icon_state = "0-5" + }, +/obj/effect/turf_decal/industrial/warning/full, +/obj/structure/frame/machine, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"El" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/foamedmetal/iron, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Eu" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"Ex" = ( +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall/rust, +/area/ruin/wasteplanet/tradepost/barracks) +"ED" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"EF" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/trimline/opaque/yellow/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"EJ" = ( +/obj/structure/marker_beacon, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"EM" = ( +/obj/item/reagent_containers/glass/concrete_bag{ + pixel_x = 5; + pixel_y = 4 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"EW" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/trimline/opaque/yellow/line, +/obj/machinery/light/small/directional/south, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/chair, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"Fb" = ( +/obj/machinery/door/airlock/command/glass{ + dir = 4; + name = "Holopad Access" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"Fc" = ( +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Fd" = ( +/obj/structure/chair, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"Fe" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/grille, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Fn" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/industrial/warning/cee, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ft" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip5" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Fx" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/structure/sign/warning/gasmask{ + pixel_x = -28 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip1" + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/item/paper/crumpled, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"Fy" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"FG" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/green/visible, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plating, +/area/ruin/wasteplanet/tradepost) +"FI" = ( +/obj/machinery/door/airlock/command{ + dir = 4; + name = "Vanguard's Quarters" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "tradepost_vanguard"; + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/barracks) +"FK" = ( +/mob/living/simple_animal/hostile/hivebot/wasteplanet/strong, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"FP" = ( +/obj/structure/flora/ash/glowshroom, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"FV" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/stack/sheet/cardboard, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"FZ" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ga" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"Gc" = ( +/obj/structure/rack, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/ammo_box/magazine/co9mm{ + pixel_x = 5 + }, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/effect/turf_decal/trimline/opaque/yellow/line, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"Gf" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/machinery/light/small/directional/north, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"Gl" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Gp" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"Gt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/flippedtable, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"GB" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip5" + }, +/obj/structure/catwalk, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"GF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"GQ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"GS" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip3" + }, +/obj/structure/foamedmetal/iron, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Hb" = ( +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak2" + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Hc" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Hn" = ( +/obj/machinery/light/directional/south, +/obj/structure/bookcase/random, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"Ho" = ( +/obj/structure/table, +/obj/machinery/light/small/broken/directional/east, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 4 + }, +/obj/item/paper_bin{ + pixel_y = 3; + pixel_x = 2 + }, +/obj/item/pen{ + pixel_y = 2; + pixel_x = 2 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"Hv" = ( +/obj/effect/decal/cleanable/dirt, +/turf/closed/wall/yesdiag, +/area/ruin/wasteplanet/tradepost/center) +"Hy" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"HE" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/grille, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"HH" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip3" + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"HK" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/center) +"HO" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/o2{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/tradepost) +"HV" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Ie" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"If" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ig" = ( +/obj/structure/rack, +/obj/machinery/door/window/southright, +/obj/structure/window/reinforced/tinted{ + dir = 8 + }, +/obj/item/towel, +/obj/item/towel{ + pixel_x = -1; + pixel_y = 10 + }, +/obj/item/towel{ + pixel_x = 6; + pixel_y = 5 + }, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/center) +"Ij" = ( +/obj/structure/closet/secure_closet/personal/cabinet, +/obj/item/pet_carrier, +/obj/item/clothing/suit/toggle/lawyer/navy, +/obj/item/clothing/under/misc/pj/red, +/obj/item/clothing/under/rank/civilian/lawyer/black, +/obj/item/clothing/mask/gas/atmos, +/obj/item/clothing/under/shorts/blue{ + name = "jorts"; + desc = "potentially the most horrific thing you've ever seen." + }, +/turf/open/floor/wood, +/area/ruin/wasteplanet/tradepost/center) +"Il" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"In" = ( +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"Iq" = ( +/obj/structure/sign/poster/contraband/inteq{ + pixel_y = 28 + }, +/obj/structure/foamedmetal/iron, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"IA" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"IF" = ( +/obj/structure/door_assembly/door_assembly_com, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/center) +"IH" = ( +/obj/structure/table, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 1 + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"IM" = ( +/mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged/rapid, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"IN" = ( +/obj/item/chair{ + pixel_y = -4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/item/gun/ballistic/automatic/pistol/commander/no_mag{ + pixel_y = 8; + pixel_x = 10 + }, +/obj/effect/mob_spawn/human/corpse/indie/manager, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"IY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/spent, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Jb" = ( +/obj/machinery/door/airlock/mining{ + name = "Warehouse" + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/warehouse) +"Jf" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/clothing/head/cone, +/obj/item/light/tube/broken, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Jh" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip3" + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ji" = ( +/obj/machinery/light/small/broken/directional/south, +/obj/machinery/shower{ + dir = 8 + }, +/obj/structure/toilet{ + dir = 4; + pixel_x = -6 + }, +/obj/machinery/button/door{ + dir = 4; + pixel_y = 11; + pixel_x = -22; + normaldoorcontrol = 1; + specialfunctions = 3; + id = "but" + }, +/obj/structure/sink{ + pixel_y = -2; + pixel_x = 14; + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/barracks) +"Jk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Jm" = ( +/obj/machinery/light/small/broken/directional/west, +/obj/machinery/portable_atmospherics/scrubber/huge/movable, +/obj/effect/turf_decal/industrial/warning/full, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"Jn" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor2-old" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Jp" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Jt" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/item/pen/fourcolor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"Ju" = ( +/obj/item/flashlight/flare/burnt, +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Jv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"JB" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, +/obj/machinery/firealarm/directional/north, +/obj/item/chair, +/obj/structure/closet/crate/bin, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"JG" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/flashlight/flare/burnt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"JL" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/center) +"JR" = ( +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Kf" = ( +/turf/template_noop, +/area/overmap_encounter/planetoid/cave/explored) +"Ki" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor7-old" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Kk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/chair/office/purple{ + dir = 1 + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"Kl" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/grille, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Ko" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 9 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip3" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak2" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Kp" = ( +/obj/structure/girder/displaced, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Kr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/kirbyplants/random, +/obj/item/paper/crumpled, +/obj/effect/mob_spawn/human/corpse/inteq/enforcer{ + head = null; + husk = 1 + }, +/obj/machinery/light/directional/south, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/center) +"Kt" = ( +/obj/item/stack/ore/salvage/scraptitanium/five, +/obj/item/clothing/head/cone, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Kw" = ( +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/wasteplanet/tradepost) +"Kx" = ( +/obj/item/kirbyplants/random, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"KA" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"KF" = ( +/obj/machinery/atmospherics/pipe/manifold4w/green/visible, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost) +"KG" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 8; + id = "wtpw2" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/machinery/power/shieldwallgen/atmos{ + id = "tradehouse2"; + dir = 1; + anchored = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/warehouse) +"KZ" = ( +/obj/machinery/button/door{ + dir = 8; + pixel_y = 8; + pixel_x = 24; + id = "wtpw2" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 8 + }, +/obj/machinery/button/shieldwallgen{ + id = "tradehouse2"; + dir = 8; + pixel_y = -2; + pixel_x = 22 + }, +/obj/item/circuitboard/machine/rad_collector, +/obj/item/circuitboard/machine/rad_collector, +/obj/structure/closet/crate, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"Le" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Lm" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/structure/sign/poster/clip/lunatown{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/center) +"LD" = ( +/obj/item/decal_painter{ + pixel_x = 7; + pixel_y = 3 + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"LK" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/cable, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"LM" = ( +/obj/structure/marker_beacon, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"LO" = ( +/obj/effect/decal/cleanable/oil, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"LR" = ( +/obj/item/clothing/head/cone, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"LV" = ( +/obj/structure/grille, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"LW" = ( +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"LY" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4, +/obj/machinery/light/small/broken/directional/south, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"Ma" = ( +/turf/template_noop, +/area/template_noop) +"Mb" = ( +/obj/structure/table, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/center) +"Ml" = ( +/turf/open/floor/plating/wasteplanet/rust/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Mm" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/visible, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost) +"Mr" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/layer4, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"Mt" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/streak, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 9 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"MA" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/layer4, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"MF" = ( +/obj/item/light/tube/broken, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ML" = ( +/obj/machinery/airalarm/directional/west, +/obj/item/ammo_casing/spent, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/splatter{ + icon_state = "floor2" + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_box/magazine/m9mm_rattlesnake{ + start_empty = 1; + pixel_x = -9; + pixel_y = -3; + icon_state = "rattlesnake_mag_0" + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"MQ" = ( +/obj/item/flashlight/flare/burnt, +/turf/open/floor/plating/asteroid/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"MS" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"MU" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plating, +/area/ruin/wasteplanet/tradepost/center) +"Nh" = ( +/obj/item/clothing/head/cone, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ni" = ( +/obj/item/ammo_casing/spent{ + pixel_y = -4; + pixel_x = -2 + }, +/obj/item/ammo_casing/spent{ + pixel_y = -7; + pixel_x = -9 + }, +/obj/item/ammo_casing/spent{ + pixel_y = -11; + pixel_x = -3 + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent{ + pixel_y = -8; + pixel_x = -7 + }, +/obj/item/ammo_casing/spent{ + pixel_y = -4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/center) +"Nl" = ( +/turf/closed/wall/rust/yesdiag, +/area/overmap_encounter/planetoid/cave/explored) +"No" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 3 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Np" = ( +/obj/machinery/button/door{ + dir = 4; + pixel_x = -24; + pixel_y = 8; + id = "wtpw1" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 4 + }, +/obj/machinery/button/shieldwallgen{ + id = "tradehouse"; + dir = 4; + pixel_y = -2; + pixel_x = -22 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"Nq" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"Nu" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 6 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip3" + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Nw" = ( +/obj/effect/turf_decal/industrial/caution, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ny" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip3" + }, +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"NC" = ( +/obj/effect/decal/cleanable/molten_object{ + pixel_x = 1; + pixel_y = -12 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ND" = ( +/obj/item/stack/sheet/mineral/sandbags{ + amount = 2 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/flippedtable{ + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"NK" = ( +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ + dir = 8 + }, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"NR" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"Of" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/trash/plate, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"Oi" = ( +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/grille, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Oy" = ( +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak2" + }, +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak4" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer4, +/obj/item/ammo_casing/spent, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"OB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/item/stack/ore/salvage/scrapmetal/five, +/obj/machinery/door/airlock/command/glass{ + name = "Central Dome" + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/center) +"OI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/closed/wall, +/area/ruin/wasteplanet/tradepost/center) +"OJ" = ( +/obj/item/stack/ore/salvage/scrapmetal/five, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/security{ + name = "Barracks" + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/barracks) +"OQ" = ( +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/brown, +/obj/item/radio/intercom/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"OV" = ( +/obj/item/stack/sheet/mineral/sandbags, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Pc" = ( +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Po" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/gibspawner/robot, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ps" = ( +/turf/closed/wall/rust/yesdiag, +/area/ruin/wasteplanet/tradepost/barracks) +"Pt" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"PI" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/layer4{ + dir = 8 + }, +/obj/structure/closet/crate, +/obj/item/circuitboard/machine/shieldwallgen/atmos/strong, +/obj/item/circuitboard/machine/shieldwallgen/atmos/strong, +/obj/item/circuitboard/machine/shieldwallgen/atmos/strong, +/obj/item/circuitboard/machine/shieldwallgen/atmos/strong, +/obj/item/circuitboard/machine/shieldwallgen/atmos/strong, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"PV" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/barracks) +"PY" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"PZ" = ( +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Qb" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/closet/secure_closet/engineering_electrical{ + populate = 0 + }, +/obj/item/storage/toolbox/electrical, +/obj/item/multitool, +/obj/item/stack/tape/industrial/electrical, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"Qe" = ( +/obj/effect/decal/cleanable/blood/tracks, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent{ + pixel_y = -8; + pixel_x = -7 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 10 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"Qn" = ( +/mob/living/simple_animal/hostile/hivebot/wasteplanet/strong, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"QB" = ( +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"QE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"QK" = ( +/obj/item/clipboard, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 6 + }, +/obj/item/radio/intercom/directional/west, +/obj/machinery/atmospherics/components/unary/vent_pump/layer4{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"QL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"QR" = ( +/obj/item/clothing/head/helmet/inteq{ + pixel_y = 4; + pixel_x = 3 + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"QT" = ( +/obj/structure/flora/ash/glowshroom, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"QZ" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ra" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Re" = ( +/obj/effect/gibspawner/robot, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer4{ + dir = 1 + }, +/obj/machinery/light/small/broken/directional/east, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/foamedmetal/iron, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"Rg" = ( +/obj/machinery/atmospherics/pipe/manifold/green/visible{ + dir = 8 + }, +/obj/structure/sign/poster/contraband/engis_unite{ + pixel_y = 28 + }, +/obj/machinery/light/small/broken/directional/west, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost) +"Ri" = ( +/obj/structure/filingcabinet/double, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"Rj" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Rk" = ( +/obj/structure/barricade/sandbags, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"Rr" = ( +/obj/structure/rack, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 8 + }, +/obj/machinery/light/small/directional/north, +/obj/item/storage/toolbox/ammo/c9mm{ + pixel_y = 2 + }, +/obj/item/storage/toolbox/ammo/c10mm{ + pixel_x = 2; + pixel_y = 7 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"Rt" = ( +/turf/closed/wall/rust, +/area/ruin/wasteplanet/tradepost/barracks) +"Ry" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"RA" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"RB" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/grille, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"RD" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/effect/turf_decal/corner/opaque/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"RI" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/corner, +/obj/effect/turf_decal/trimline/opaque/yellow/warning, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"RK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/pen/fourcolor, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_box/magazine/m9mm_rattlesnake{ + start_empty = 1; + pixel_x = -9; + pixel_y = -3; + icon_state = "rattlesnake_mag_0" + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"RR" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 9 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/atmospherics/components/unary/vent_pump/layer4{ + dir = 4 + }, +/obj/structure/table, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"RV" = ( +/obj/machinery/light/small/broken/directional/north, +/obj/item/radio/intercom/directional/west, +/obj/structure/closet/cabinet, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/head/beret/sec/inteq, +/obj/item/clothing/under/syndicate/inteq/skirt, +/obj/item/clothing/under/syndicate/inteq, +/obj/item/clothing/under/syndicate/inteq, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/shoes/combat, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"Sd" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"Se" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor6-old" + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor5-old" + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor2-old" + }, +/obj/effect/mob_spawn/human/corpse/inteq/enforcer{ + head = null; + husk = 1 + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/gun/ballistic/automatic/pistol/commander/inteq/no_mag{ + pixel_y = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Si" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/flashlight/flare/burnt, +/turf/open/floor/concrete/pavement/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Sw" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"SE" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"SF" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "floor4-old" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"SI" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"SP" = ( +/obj/machinery/light/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/modular_computer/console/preset/civilian{ + name = "high powered gaming PC"; + desc = "Looks pretty premium. Probably made by Cybersun though." + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"Tg" = ( +/obj/machinery/atmospherics/pipe/layer_manifold, +/turf/closed/wall, +/area/ruin/wasteplanet/tradepost) +"Th" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/stack/ore/salvage/scrapgold, +/obj/machinery/atmospherics/pipe/layer_manifold, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/security{ + name = "Barracks" + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/barracks) +"Tk" = ( +/obj/machinery/button/door{ + dir = 8; + pixel_y = -8; + pixel_x = 24; + id = "wtpw2" + }, +/obj/machinery/button/shieldwallgen{ + id = "tradehouse2"; + dir = 8; + pixel_y = 2; + pixel_x = 22 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"Tn" = ( +/obj/structure/spawner/hivebot, +/obj/structure/cable, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"To" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/flashlight/flare/burnt, +/turf/open/floor/plating/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Tt" = ( +/obj/effect/decal/cleanable/molten_object/large, +/obj/effect/decal/cleanable/blood/old, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/radio/weather_monitor, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ty" = ( +/obj/machinery/atmospherics/components/trinary/mixer/airmix, +/turf/open/floor/plating, +/area/ruin/wasteplanet/tradepost) +"Tz" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"TB" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"TC" = ( +/obj/structure/cable{ + icon_state = "1-10" + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"TD" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"TJ" = ( +/obj/structure/table/wood, +/obj/machinery/fax/ruin{ + pixel_y = 7 + }, +/turf/open/floor/wood, +/area/ruin/wasteplanet/tradepost/center) +"TS" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/closed/wall/rust, +/area/ruin/wasteplanet/tradepost/barracks) +"TT" = ( +/obj/effect/decal/cleanable/oil/streak{ + icon_state = "streak4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/obj/item/trash/plate, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/center) +"Ud" = ( +/turf/closed/mineral/random/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Um" = ( +/obj/item/radio/intercom/directional/north{ + freerange = 1; + freqlock = 1; + frequency = 1347; + name = "IRMG shortwave intercom" + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/ruin/wasteplanet/tradepost/barracks) +"Uo" = ( +/obj/structure/girder/displaced, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Uu" = ( +/obj/effect/turf_decal/industrial/warning/full, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"UE" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"UG" = ( +/obj/effect/turf_decal/industrial/traffic, +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"UQ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"US" = ( +/obj/machinery/shower{ + dir = 1 + }, +/obj/structure/curtain, +/obj/structure/window/reinforced/tinted{ + dir = 4 + }, +/obj/structure/window/reinforced/tinted{ + dir = 8 + }, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/center) +"Vh" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Vi" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 4 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"Vl" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/rack, +/obj/machinery/door/window/southleft, +/obj/structure/window/reinforced/tinted{ + dir = 4 + }, +/obj/item/soap, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/center) +"Vr" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/catwalk, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Vw" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/effect/gibspawner/robot, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Vy" = ( +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/siding/thinplating{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/yellow/line{ + dir = 10 + }, +/obj/structure/table, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"VS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"VT" = ( +/obj/item/stack/ore/salvage/scraptitanium/five, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"VY" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/stack/ore/salvage/scrapgold, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Wg" = ( +/turf/open/floor/concrete/pavement/wasteplanet/lit, +/area/overmap_encounter/planetoid/wasteplanet/explored) +"Wk" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/closed/wall, +/area/ruin/wasteplanet/tradepost/barracks) +"Wl" = ( +/obj/machinery/shower{ + dir = 1 + }, +/obj/structure/curtain, +/obj/structure/window/reinforced/tinted{ + dir = 8 + }, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/center) +"Wr" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Wx" = ( +/obj/machinery/meter/atmos/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost) +"Wy" = ( +/turf/closed/wall, +/area/ruin/wasteplanet/tradepost/center) +"WD" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"WE" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"WF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"WG" = ( +/obj/effect/turf_decal/industrial/caution{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mob_spawn/human/corpse/indie/engineer, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"WK" = ( +/obj/effect/decal/cleanable/molten_object{ + pixel_x = -10; + pixel_y = -1 + }, +/obj/effect/decal/cleanable/molten_object{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip4" + }, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"WL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/mob_spawn/human/corpse/indie/engineer, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"WO" = ( +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip1" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/advanced_airlock_controller{ + pixel_x = -26; + pixel_y = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/mob/living/simple_animal/hostile/hivebot/wasteplanet/ranged/rapid, +/obj/structure/door_assembly/door_assembly_com, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"WR" = ( +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"WU" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Xc" = ( +/obj/effect/turf_decal/industrial/warning/full, +/obj/structure/crate_shelf, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"Xd" = ( +/obj/structure/catwalk, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Xf" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/old{ + icon_state = "drip2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Xg" = ( +/obj/structure/sign/warning/gasmask{ + pixel_x = -28 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer2{ + dir = 8 + }, +/obj/machinery/advanced_airlock_controller{ + pixel_y = 26 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost) +"Xh" = ( +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Xo" = ( +/obj/machinery/door/airlock{ + name = "Bathroom"; + id_tag = "but" + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/barracks) +"Xq" = ( +/obj/item/radio/weather_monitor, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Xw" = ( +/obj/structure/barricade/sandbags, +/obj/effect/turf_decal/industrial/warning{ + dir = 10 + }, +/obj/effect/turf_decal/industrial/warning/corner{ + dir = 4 + }, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Xz" = ( +/obj/structure/barricade/sandbags, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"XB" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"XQ" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/thinplating, +/obj/effect/turf_decal/trimline/opaque/yellow/line, +/obj/structure/foamedmetal/iron, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/wasteplanet/tradepost/barracks) +"XS" = ( +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"XY" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/center) +"Ya" = ( +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 4 + }, +/turf/open/floor/carpet/blue, +/area/ruin/wasteplanet/tradepost/center) +"Yd" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/pipe_dispenser, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"Yf" = ( +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"Yj" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 + }, +/obj/structure/sign/poster/contraband/eoehoma{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/tech, +/area/ruin/wasteplanet/tradepost/barracks) +"Yl" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/walnut, +/area/ruin/wasteplanet/tradepost/center) +"Yt" = ( +/turf/open/floor/concrete/pavement/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Yw" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/barracks) +"YC" = ( +/obj/machinery/atmospherics/pipe/simple/green/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{ + dir = 4 + }, +/obj/structure/table, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/item/watertank/anti_rad{ + pixel_x = 5; + pixel_y = 7 + }, +/obj/item/clothing/mask/gas/atmos, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost) +"YO" = ( +/obj/structure/cable{ + icon_state = "0-5" + }, +/obj/effect/turf_decal/industrial/warning/full, +/obj/machinery/power/rtg/geothermal, +/turf/open/floor/plating/wasteplanet/rust, +/area/overmap_encounter/planetoid/cave/explored) +"YV" = ( +/obj/item/flashlight/flare/burnt, +/turf/open/floor/plating/asteroid/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Zb" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/yellow, +/obj/effect/turf_decal/corner/opaque/brown{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/wasteplanet/tradepost/barracks) +"Zc" = ( +/obj/effect/turf_decal/industrial/warning/full, +/obj/structure/reagent_dispensers/foamtank/antirad, +/turf/open/floor/pod/dark, +/area/ruin/wasteplanet/tradepost/warehouse) +"Zh" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/marker_beacon, +/turf/open/floor/plating/wasteplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Zj" = ( +/obj/machinery/atmospherics/components/binary/pump/layer2{ + dir = 1; + name = "Waste to Recycling" + }, +/obj/machinery/atmospherics/components/binary/pump/layer4{ + dir = 1; + name = "Distro to Filtration" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/light/small/broken/directional/west, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost) +"Zw" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 8 + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/warehouse) +"ZK" = ( +/obj/structure/bed/pod, +/obj/structure/curtain/cloth/grey, +/obj/item/radio/intercom/directional/east, +/obj/item/bedsheet/brown, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"ZN" = ( +/obj/structure/foamedmetal/iron, +/turf/open/floor/carpet/black, +/area/ruin/wasteplanet/tradepost/barracks) +"ZO" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/door/window/westleft, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/pod, +/area/ruin/wasteplanet/tradepost/center) +"ZT" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/closet/wall/white{ + dir = 8; + pixel_x = 28 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, +/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/item/storage/firstaid/radiation, +/obj/item/storage/firstaid/radiation, +/obj/item/reagent_containers/hypospray/medipen/anti_rad, +/obj/item/reagent_containers/hypospray/medipen/anti_rad, +/obj/item/reagent_containers/hypospray/medipen/anti_rad, +/obj/item/reagent_containers/hypospray/medipen/anti_rad, +/turf/open/floor/pod/light, +/area/ruin/wasteplanet/tradepost/barracks) + +(1,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Wg +Wg +Wg +em +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(2,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +em +Wg +Ju +Wg +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(3,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ml +Wg +Wg +em +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(4,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +en +Ud +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +em +Wg +Ml +Wg +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(5,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +en +Ud +Ud +Ma +Ma +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +em +HV +HV +iq +Ml +em +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(6,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +en +Ud +en +Ud +Ud +Ma +Ud +Ud +Ud +en +Ma +Ma +Ma +Ma +Ma +Ma +Ma +HV +JG +Fc +iq +HV +em +em +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(7,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ud +Ud +Ud +Ud +en +Ma +Ud +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +sH +em +em +Qn +Wg +kU +em +kU +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(8,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +en +Ud +Ud +Ud +Ud +Ud +en +Ud +Ud +Ud +Ud +Ud +Ud +Ma +Ma +Ma +Ma +HV +To +em +Ba +Wg +Ml +HV +HV +HV +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(9,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +en +Ud +Ud +Ud +en +en +en +Ud +Ud +Ud +Ud +Ud +en +Ud +Ud +Ud +Ma +Ma +em +em +gy +HV +em +Wg +Ml +iq +MQ +sH +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(10,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ud +en +kd +kd +Nl +QB +Nl +en +en +Ud +Ud +en +Ud +Ud +Ud +Ud +QB +QB +Ml +BN +sH +HV +iq +Wg +AT +HV +Fc +em +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(11,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +en +Ud +Ud +kd +QB +QB +sL +QB +QB +QB +en +en +en +en +en +en +en +en +TB +TB +Xw +QB +Ml +em +iq +Si +Wg +zY +em +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +Ma +"} +(12,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +en +Ud +Ud +Ud +Ud +kd +sL +QB +QB +QB +QB +FP +QB +QB +NC +QB +jy +jy +jy +Xq +WR +Se +cW +QB +QB +IM +OV +AV +oC +HV +Ud +Ud +Ud +Ud +Ud +en +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +"} +(13,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ud +Ud +Ud +en +Rt +Rt +Rt +Rt +Ps +QB +sL +QB +QB +QB +jy +jy +jy +wi +sf +FV +ug +QB +Yt +AV +AV +cJ +cL +Fn +kd +kd +en +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ma +Ma +Ma +Ma +"} +(14,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +en +Ud +Ud +en +Ud +hO +hO +hO +Rt +nO +mK +Rt +Rt +hO +Rt +hO +hO +bm +jy +jy +QR +QB +Ry +QZ +GF +AV +Il +pc +tn +sy +GS +jy +jy +Nl +en +en +Ud +Ud +en +Ud +Ud +Ud +Ma +Ma +Ma +"} +(15,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ud +Rt +hO +sb +wB +Rt +lx +ya +Rt +RR +Vy +hO +Rr +CE +hO +QB +QB +QB +FP +HH +AV +AV +Wr +QZ +QB +ug +Tt +iI +QT +jy +jy +jy +kd +Ud +Ud +Ud +Ud +Ud +Ud +Ma +Ma +Ma +"} +(16,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ud +en +Ud +Ud +Ud +Rt +RV +Yf +hJ +Rt +ZT +zT +wG +Ga +zS +hO +Yj +Gc +hO +QB +br +FZ +QB +qg +Po +ep +nv +ei +QB +QB +WD +WK +lI +QB +sL +QB +kd +Ud +Ud +Ud +Ud +Ud +en +Ud +Ma +Ma +"} +(17,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ud +Ud +Rt +bZ +nt +xm +hO +hO +hO +Rt +su +XQ +hO +vS +nr +hO +QB +QB +Le +Ko +Nu +QZ +uC +IY +uA +ei +Yt +uC +FK +DI +sL +QB +QB +Nl +en +en +en +Ud +Ud +Ud +Ud +Ud +Ma +"} +(18,1,1) = {" +Ma +Ma +Ma +Ma +Ud +Ud +Ud +en +en +en +hO +eH +ZN +wW +Xo +Ji +hO +JB +EF +RI +DB +Yw +DL +hO +QB +QB +Le +Xf +vQ +uC +Yt +QZ +QZ +Jk +Yt +te +Yt +QB +QB +QB +QB +QB +QB +QB +en +Ud +Ud +Ud +Ud +Ud +Ma +"} +(19,1,1) = {" +Ma +Ma +Ma +Ma +en +Ud +Ud +Ud +en +QB +hO +Iq +ZN +wW +Rt +Rt +hO +lB +xx +AI +Ex +vR +Rt +Rt +Yt +XS +vL +Jn +LW +Il +Il +GQ +Wr +Aa +sZ +Jk +Yt +QB +FP +PZ +QB +QB +sL +QB +Nl +en +Ud +Ud +Ud +Ud +Ma +"} +(20,1,1) = {" +Ma +Ma +Ma +Ud +Ud +Ud +en +en +Nl +QB +hO +eH +ZN +dN +RD +mr +PV +DE +rN +EW +wL +jT +Cg +OJ +Nw +ua +fd +Ea +Vh +Il +MS +MS +MS +QB +QB +QB +jy +QB +QB +QB +PZ +QB +sL +QB +QB +Nl +en +Ud +Ud +en +Ud +"} +(21,1,1) = {" +Ma +Ma +Ma +Ud +Ud +Ud +Ud +en +it +FP +Rt +jb +zO +tf +lF +Zb +Rt +lM +Mt +lE +Th +CB +wl +Rt +Um +Il +pk +Cx +Il +MS +UQ +Kp +El +vy +DR +Uo +jy +sL +QB +QB +FP +QB +QB +QB +QB +QB +Nl +en +Ud +Ud +Ud +"} +(22,1,1) = {" +Ma +Ma +Ma +en +Ud +Ud +en +Nl +cD +pb +Rt +ZK +NR +aI +Ho +um +Rt +hO +FI +hO +TS +xF +hO +Ps +QB +uC +pk +GQ +hg +xA +Jf +UQ +QB +QB +vy +jy +jy +QB +QB +QB +QB +QB +QB +QB +sL +QB +FP +Nl +en +Ud +Ud +"} +(23,1,1) = {" +Ma +Ma +Ud +en +Ud +Ud +en +QB +QB +ly +Ps +Rt +hO +hO +hO +Rt +Rt +nU +Nq +pL +Ny +Gl +Pc +QB +Yt +Yt +uV +Ra +xu +zn +VY +vG +Tn +QB +sL +jy +QB +uW +PZ +Zh +Hc +UQ +Zh +sL +uW +QB +QB +QB +en +Ud +Ud +"} +(24,1,1) = {" +Ma +Ma +Ud +Ud +en +en +Nl +QB +sL +QB +QB +QB +QB +QB +QB +QB +hO +qJ +OQ +Wk +yb +QB +Pc +Yt +Yt +uG +xP +Il +MF +tV +Kt +ei +ei +QB +LR +jy +FP +sv +yF +PZ +PZ +PZ +PZ +PZ +sL +QB +QB +Nl +en +Ud +Ud +"} +(25,1,1) = {" +Ma +Ma +Ud +Ud +Ud +kd +QB +QB +FP +QB +QB +QB +ba +UQ +MS +MS +Wk +ip +AQ +Wk +yb +Jh +QB +IM +uG +xP +Yt +VT +QB +LD +bY +WL +yF +PZ +DQ +jy +QB +yJ +sL +PZ +sL +PZ +PZ +sL +EJ +QB +QB +en +Ud +Ud +en +"} +(26,1,1) = {" +Ma +Ud +Ud +Ud +Ud +kd +QB +QB +PZ +QB +sL +QB +QB +QB +QB +QB +Ac +Wk +Wk +Ac +dS +gA +Yt +Yt +pk +Xd +pD +QB +QB +QB +QB +QB +QB +jy +jy +jy +jy +yF +PZ +PZ +sL +PZ +sL +PZ +PZ +PZ +sL +kd +en +Ud +Ud +"} +(27,1,1) = {" +Ma +Ud +en +Ud +ez +ez +ez +Wy +Wy +Wy +Wy +Wy +ez +fU +QB +sL +QB +MS +MS +MS +Ie +km +Yt +GQ +do +Xd +Yt +Yt +Yt +zo +Il +Yt +Hb +vy +Bu +Yt +QZ +QZ +PZ +PZ +sL +sL +sL +PZ +LM +sL +QB +kd +Ud +Ud +Ud +"} +(28,1,1) = {" +Ma +Ud +Ud +ez +fU +Ij +hN +hH +TJ +ez +lj +Vi +nN +ez +fU +QB +QB +QB +QB +Yt +gf +Dk +dF +ua +xP +Yt +Yt +QZ +QZ +dB +lq +AV +AV +wA +eF +LO +sv +Yt +PZ +sL +sL +PZ +sL +sL +PZ +QB +QB +kd +Ud +Ud +Ud +"} +(29,1,1) = {" +Ma +Ud +Ud +Wy +rY +Yl +VS +rb +gC +ez +Gf +ts +Ya +ig +Wy +QB +CG +PZ +Yt +mN +KA +ua +jk +Yt +uC +Yt +Yt +kr +Yt +UG +QZ +QZ +AV +Il +Il +sL +sv +Yt +PZ +sL +sL +PZ +PZ +sL +PZ +FP +QB +en +Ud +Ud +Ud +"} +(30,1,1) = {" +Ud +en +Ud +Wy +SP +Kk +Mr +Fy +Hn +Wy +NK +wM +aS +Mb +Wy +QB +QB +QB +Yt +GB +gw +Il +Yt +QB +QB +Yt +QB +Hc +QB +QB +CA +CA +CA +MS +ba +QB +QB +LM +PZ +PZ +sL +PZ +sL +PZ +EJ +sL +QB +en +Ud +en +Ud +"} +(31,1,1) = {" +Ud +Ud +Ud +Wy +vr +vi +vi +QL +sA +Wy +Wy +Wy +Fb +tz +Wy +as +PZ +QB +km +AP +ra +Il +QB +QB +FP +QB +QB +gh +zD +pl +DG +CC +aj +zD +zD +gh +QB +sL +sL +sL +PZ +sL +sL +PZ +sL +QB +QB +en +Ud +Ud +Ud +"} +(32,1,1) = {" +Ud +Ud +Ud +ez +Cf +mI +aQ +qy +fU +ez +Kx +Wy +Eu +oQ +Lm +Wy +QB +FP +Yt +Ft +Ae +Yt +Yt +Yt +gh +zD +zD +zD +zq +ch +pQ +fe +Gp +Np +uf +zD +QB +EJ +PZ +sL +PZ +sL +sL +sL +EJ +QB +QB +en +Ud +Ud +Ud +"} +(33,1,1) = {" +en +Ud +Ud +Wy +Wy +OI +Wy +Dl +ez +QK +xv +qk +ro +uo +xX +Wy +QB +QB +Yt +lY +bH +hX +lv +ef +Jb +wm +AH +gj +aB +Pt +Hy +Hy +uN +ED +Zc +pl +QB +sL +sL +PZ +PZ +sL +sL +PZ +sL +sL +sL +kd +Ud +Ud +Ud +"} +(34,1,1) = {" +Ud +Ud +Ud +Wy +Cj +ML +lf +Qe +hE +Oy +Rk +fU +ez +ez +Wy +Wy +Wy +Hv +Ki +QZ +hV +Yt +Yt +Yt +gZ +zD +pl +zD +hn +uw +lQ +dd +Uu +bW +tp +zD +QB +uW +sL +uW +SE +Hc +uW +sL +EJ +QB +QB +kd +Ud +Ud +Ud +"} +(35,1,1) = {" +Ud +Ud +Ud +ez +la +ta +pe +RK +kx +SF +fr +bM +tL +Fx +qw +sN +WO +hW +Ak +PY +jn +QB +QB +QB +QB +zD +Jm +bz +In +In +Xc +Xc +Xc +kf +iy +zD +QB +QB +QB +QB +QB +FP +QB +QB +QB +sL +QB +kd +Ud +en +Ud +"} +(36,1,1) = {" +Ud +Ud +Ud +ez +sS +IN +dD +gI +Gt +ds +DS +zM +xQ +bj +IF +Re +dr +OB +kP +nL +XB +QB +QB +FP +QB +zD +iX +In +MA +Jv +IA +qr +CD +TD +ze +pl +FP +QB +jy +DR +jy +jy +jy +QB +QB +QB +Nl +en +Ud +Ud +Ud +"} +(37,1,1) = {" +Ud +Ud +Ud +ez +ez +IH +ru +Of +xM +Jt +Xz +ND +ag +ht +Wy +Wy +Wy +as +kP +AV +Vw +CI +QB +QB +QB +zD +cC +sT +Tk +Zw +hU +KZ +PI +kt +tU +pl +QB +jy +bY +QB +QB +QB +sL +bY +QB +QB +en +Ud +Ud +Ud +Ud +"} +(38,1,1) = {" +Ma +Ud +Ud +Ud +ez +ox +QE +et +nn +jD +TT +XY +hD +oz +MU +If +If +If +eq +AV +yt +Yt +QB +QB +EM +gZ +zD +zD +pl +pm +KG +zD +zD +pl +zD +gh +QB +DR +sL +Ei +QB +YO +QB +jy +QB +Nl +en +Ud +Ud +Ud +Ma +"} +(39,1,1) = {" +Ma +Ud +Ud +Ud +Wy +Ri +xw +gP +mC +ir +pT +nJ +Ni +Kr +Wy +QB +sL +FP +aM +cH +gl +yZ +IM +CI +Xd +Xd +CI +CI +Yt +SI +WE +Ah +Vr +yI +yI +Tz +ft +Tz +qM +Tz +TC +sL +QB +jy +QB +kd +Ud +Ud +Ud +Ud +Ma +"} +(40,1,1) = {" +Ma +Ud +Ud +Ud +Wy +ez +Wy +Wy +rB +Wy +Wy +Wy +ZO +Wy +as +QB +QB +Nh +QB +Bk +Yt +vz +ua +ua +ua +Rj +ua +rl +Jp +Cq +WF +pj +CI +Xd +CI +QB +PZ +QB +QB +CV +sL +QB +QB +Nl +kd +en +Ud +en +Ud +Ud +Ma +"} +(41,1,1) = {" +Ma +Ud +Ud +Ud +Ud +Ud +ez +Vl +JL +HK +BK +Wy +ez +as +RB +xV +Oi +xV +ed +UE +QB +Yt +sL +UQ +Il +mo +Yt +Yt +rQ +Cb +Yt +pj +CI +CI +CI +QB +sL +QB +sL +sL +QB +FP +Nl +en +Ud +Ud +Ud +Ud +Ud +Ud +Ma +"} +(42,1,1) = {" +Ma +Ma +Ud +Ud +Ud +Ud +ez +Ig +aF +fY +US +ez +QB +jy +QB +ib +Yd +QB +Kl +No +LR +sL +QB +QB +ew +WG +Yt +Yt +qi +Yt +QB +Le +bJ +PZ +PZ +Uo +QB +bY +QB +QB +jy +jy +en +Ud +Ud +Ud +Ud +Ud +Ud +Ma +Ma +"} +(43,1,1) = {" +Ma +Ma +Ud +Ud +Ud +Ud +fU +ez +je +uS +Wl +ez +QB +vy +sL +dw +jy +jy +Kl +sL +PZ +sL +PZ +cs +qb +zA +nb +ew +yb +QB +QB +fs +sL +PZ +QB +sL +sL +QB +QB +jy +jy +Nl +en +Ud +en +Ud +Ud +Ud +Ud +Ma +Ma +"} +(44,1,1) = {" +Ma +Ma +Ma +Ud +Ud +Ud +Ud +ez +ez +ez +ez +fU +QB +PZ +UQ +DR +Uo +jy +Kl +vy +DR +sL +QB +Tg +Xg +lp +qb +QB +yb +sL +QB +Du +kM +QB +QB +QB +PZ +QB +QB +jy +Nl +en +Ud +Ud +Ud +Ud +en +Ud +Ud +Ma +Ma +"} +(45,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Nl +en +QB +QB +QB +YV +DQ +MS +QB +PZ +FP +Fe +en +qb +qb +qb +nb +sx +qb +qb +qb +yb +LD +bY +WU +QB +yf +LV +FP +sL +PZ +QB +Nl +en +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ma +Ma +Ma +"} +(46,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ud +en +Ud +en +Nl +QB +FP +QB +QB +sL +Xh +lw +vG +JR +ho +dE +Rg +Mm +Zj +ks +Wx +vK +FG +eS +QB +QB +qR +yf +yf +QB +QB +QB +Uo +Nl +en +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ma +Ma +Ma +"} +(47,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +en +QB +QB +YV +sL +FP +lX +PZ +QB +aR +ho +dE +KF +mt +Sw +RA +Fd +YC +qb +uy +QB +QB +HE +yf +QB +QB +QB +jy +Nl +en +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ma +Ma +Ma +Ma +"} +(48,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +en +Nl +QB +QB +QB +sL +QB +PZ +QB +sL +ho +dE +qp +yd +Kw +HO +ub +Sd +qb +QB +PZ +QB +uU +LK +ty +CK +QB +jy +en +Ud +Ud +Ud +Ud +Kf +Ud +en +Ud +Ud +Ma +Ma +Ma +Ma +"} +(49,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +kd +kd +QB +QB +Uo +FP +PZ +QB +sL +kd +qb +nb +qV +mA +Ty +cq +LY +qb +QB +QB +QB +QB +QB +sL +QB +jy +jy +en +Ud +en +Ud +Ud +Ma +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +"} +(50,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ud +kd +Nl +sL +QB +PZ +Uo +QB +QB +QB +QB +nb +Qb +Cc +Dw +cZ +vu +qb +bY +QB +FP +PZ +sL +jy +jy +jy +Nl +en +Ud +Ud +Ud +Ma +Ma +Ma +Ud +Ud +Ma +Ma +Ma +Ma +Ma +"} +(51,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ud +en +Nl +QB +QB +sL +YV +QB +QB +QB +cs +nb +nb +nb +qb +qb +cs +QB +QB +QB +jy +jy +jy +Nl +en +en +Ud +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(52,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +en +Ud +en +QB +Nl +en +en +en +en +en +en +Ud +Ud +Ud +Ud +Ud +kd +kd +kd +kd +kd +kd +kd +en +Ud +Ud +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(53,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +en +en +en +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +en +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +en +Ud +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(54,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ud +Ud +Ud +Ud +en +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +en +Ud +Ud +en +Ud +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(55,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ud +Ud +Ud +Ud +en +Ud +Ud +Ud +Ud +Ud +Ud +Ud +en +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(56,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +Ud +en +Ud +Ud +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} +(57,1,1) = {" +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ud +Ud +Ud +Ud +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +Ma +"} diff --git a/code/datums/ruins/wasteplanet.dm b/code/datums/ruins/wasteplanet.dm index a4a054a7f1a2..66bd3841ec6b 100644 --- a/code/datums/ruins/wasteplanet.dm +++ b/code/datums/ruins/wasteplanet.dm @@ -32,9 +32,16 @@ suffix = "wasteplanet_abandoned_mechbay.dmm" ruin_tags = list(RUIN_TAG_BOSS_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_SHELTER, RUIN_TAG_HAZARDOUS) +/datum/map_template/ruin/wasteplanet/tradepost + name = "Ruined Tradepost" + description = "Formerly a functioning, if not thriving tradepost. Now a graveyard of Inteq soldiers and hivebots." + id = "wasteplanet_tradepost" + suffix = "wasteplanet_tradepost.dmm" + /datum/map_template/ruin/wasteplanet/yard name = "Abandoned Miskilamo salvage yard" description = "An abandonded shipbreaking yard." id = "wasteplanet_yard" suffix = "wasteplanet_yard.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_SHELTER, RUIN_TAG_HAZARDOUS) diff --git a/code/game/area/areas/ruins/wasteplanet.dm b/code/game/area/areas/ruins/wasteplanet.dm index 5f069d3e055b..6744e36f20c7 100644 --- a/code/game/area/areas/ruins/wasteplanet.dm +++ b/code/game/area/areas/ruins/wasteplanet.dm @@ -44,6 +44,20 @@ name = "Abandoned Waste Containment Vault" icon_state = "disposal" +//Wasteplanet_Tradepost + +/area/ruin/wasteplanet/tradepost/barracks + name = "Abandoned Barracks" + icon_state = "red" + +/area/ruin/wasteplanet/tradepost/center + name = "Abandoned Dome" + icon_state = "bridge" + +/area/ruin/wasteplanet/tradepost/warehouse + name = "Abandoned Warehouse" + icon_state = "dk_yellow" + //Abandonded shipbreaking yard /area/ruin/wasteplanet/wasteplanet_shipbreaking diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index 161fc819b4a6..b0239c8f5fdd 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -124,6 +124,7 @@ /obj/effect/spawner/lootdrop/grille_or_trash name = "maint grille or trash spawner" loot = list(/obj/structure/grille = 5, + /obj/item/flashlight/flare/burnt = 1, /obj/item/cigbutt = 1, /obj/item/trash/cheesie = 1, /obj/item/trash/candy = 1, @@ -1016,6 +1017,7 @@ loot = list( /obj/structure/grille/broken = 5, /obj/structure/grille = 5, + /obj/item/flashlight/flare/burnt = 1, /obj/item/cigbutt = 1, /obj/item/trash/cheesie = 1, /obj/item/trash/candy = 1, @@ -1048,6 +1050,7 @@ /obj/effect/spawner/lootdrop/waste/trash //debatable if this is actually loot loot = list( + /obj/item/flashlight/flare/burnt = 30, /obj/effect/decal/cleanable/greenglow/filled = 30, /obj/effect/decal/cleanable/greenglow/ecto = 1, /obj/effect/decal/cleanable/glass = 30, diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index a9f28d88caed..26b23c509838 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -259,13 +259,13 @@ /obj/item/flashlight/flare name = "flare" - desc = "A red Nanotrasen issued flare. There are instructions on the side, it reads 'pull cord, make light'." + desc = "A generic red flare. There are instructions on the side, it reads 'pull cord, make light'." w_class = WEIGHT_CLASS_SMALL light_range = 7 // Pretty bright. icon_state = "flare" item_state = "flare" actions_types = list() - var/fuel = 0 + var/fuel = 900 var/on_damage = 7 var/produce_heat = 1500 heat = 1000 @@ -275,9 +275,14 @@ light_color = "#FA421A" //Cit lighting light_power = 0.8 //Cit lighting +/obj/item/flashlight/flare/burnt + desc = "A burnt out red flare." + icon_state = "flare-empty" + fuel = 0 + grind_results = list(/datum/reagent/sulfur = 2) + /obj/item/flashlight/flare/Initialize() . = ..() - fuel = rand(800, 1000) // Sorry for changing this so much but I keep under-estimating how long X number of ticks last in seconds. /obj/item/flashlight/flare/process() open_flame(heat) diff --git a/code/game/turfs/open/floor/plating/wasteplanet.dm b/code/game/turfs/open/floor/plating/wasteplanet.dm index 7d839b66932d..d47a1fbfc6cb 100644 --- a/code/game/turfs/open/floor/plating/wasteplanet.dm +++ b/code/game/turfs/open/floor/plating/wasteplanet.dm @@ -32,31 +32,56 @@ desc = "Corrupted steel." icon_state = "plating_rust" -/turf/open/floor/wood/waste - initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS - planetary_atmos = TRUE - /turf/open/indestructible/hierophant/waste initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS planetary_atmos = TRUE + light_color = LIGHT_COLOR_FLARE /turf/open/indestructible/hierophant/two/waste initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS planetary_atmos = TRUE light_color = LIGHT_COLOR_FLARE -/turf/open/water/waste +/turf/open/floor/wood/waste initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS planetary_atmos = TRUE -/turf/open/floor/plating/grass/wasteplanet - icon_state = "junglegrass" +///Cement Turfs + +/turf/open/floor/concrete/wasteplanet initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS planetary_atmos = TRUE + baseturfs = /turf/open/floor/plating/asteroid/wasteplanet -/turf/open/floor/plating/dirt/old/waste +/turf/open/floor/concrete/wasteplanet/Initialize() + . = ..() + icon_state = pick(list( + "conc_smooth", + "conc_slab_1", + "conc_slab_2", + "conc_slab_3", + "conc_slab_4", + "conc_tiles" + )) + +/turf/open/floor/concrete/wasteplanet/MakeSlippery(wet_setting, min_wet_time, wet_time_to_add, max_wet_time, permanent) + return + +/turf/open/floor/concrete/reinforced/wasteplanet initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS planetary_atmos = TRUE + baseturfs = /turf/open/floor/plating/asteroid/wasteplanet + +/turf/open/floor/concrete/reinforced/wasteplanet/MakeSlippery(wet_setting, min_wet_time, wet_time_to_add, max_wet_time, permanent) + return + +/turf/open/floor/concrete/pavement/wasteplanet + initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS + planetary_atmos = TRUE + baseturfs = /turf/open/floor/plating/asteroid/wasteplanet + +/turf/open/floor/concrete/pavement/wasteplanet/MakeSlippery(wet_setting, min_wet_time, wet_time_to_add, max_wet_time, permanent) + return /turf/open/floor/plasteel/wasteplanet initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS @@ -128,11 +153,33 @@ light_power = 0.2 light_color = LIGHT_COLOR_FLARE -/turf/open/water/waste/lit //do not drink +/turf/open/floor/concrete/wasteplanet/lit light_range = 2 light_power = 0.2 light_color = LIGHT_COLOR_FLARE +/turf/open/floor/concrete/reinforced/wasteplanet/lit + light_range = 2 + light_power = 0.2 + light_color = LIGHT_COLOR_FLARE + +/turf/open/floor/concrete/pavement/wasteplanet/lit + light_range = 2 + light_power = 0.2 + light_color = LIGHT_COLOR_FLARE + +///Biological Turfs + +/turf/open/floor/plating/grass/wasteplanet + icon_state = "junglegrass" + initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS + planetary_atmos = TRUE + +/turf/open/floor/plating/dirt/old/waste + initial_gas_mix = WASTEPLANET_DEFAULT_ATMOS + planetary_atmos = TRUE + baseturfs = /turf/open/floor/plating/asteroid/wasteplanet + /turf/open/floor/plating/dirt/old/waste/lit light_range = 2 light_power = 0.2 @@ -143,6 +190,13 @@ light_power = 0.2 light_color = LIGHT_COLOR_FLARE +/turf/open/water/waste/lit //do not drink + light_range = 2 + light_power = 0.2 + light_color = LIGHT_COLOR_FLARE + +//cement + /turf/open/floor/concrete/wasteplanet/lit light_range = 2 light_power = 0.2 diff --git a/code/modules/mining/equipment/marker_beacons.dm b/code/modules/mining/equipment/marker_beacons.dm index 74ed8ce30fbd..c4ea06ac3e03 100644 --- a/code/modules/mining/equipment/marker_beacons.dm +++ b/code/modules/mining/equipment/marker_beacons.dm @@ -32,6 +32,12 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list( /obj/item/stack/marker_beacon/thirty //and they're bought in stacks of 1, 10, or 30 amount = 30 +/obj/item/stack/marker_beacon/ten + amount = 10 + +/obj/item/stack/marker_beacon/thirty + amount = 30 + /obj/item/stack/marker_beacon/Initialize(mapload) . = ..() update_appearance() diff --git a/code/modules/mob/living/simple_animal/corpse.dm b/code/modules/mob/living/simple_animal/corpse.dm index c57db3fe3a85..7779c09e8bf9 100644 --- a/code/modules/mob/living/simple_animal/corpse.dm +++ b/code/modules/mob/living/simple_animal/corpse.dm @@ -270,6 +270,38 @@ outfit = /datum/outfit/job/solgov/sonnensoldner id_access_list = list(ACCESS_SOLGOV) +//inteq + +/obj/effect/mob_spawn/human/corpse/inteq + name = "Avery Inteq" + +/obj/effect/mob_spawn/human/corpse/inteq/recruit + name = "IRMG Recruit" + id_job = "Recruit" + outfit = /datum/outfit/job/inteq/assistant + +/obj/effect/mob_spawn/human/corpse/inteq/medic + name = "IRMG Corpsman" + id_job = "Corpsman" + outfit = /datum/outfit/job/inteq/paramedic + +/obj/effect/mob_spawn/human/corpse/inteq/enforcer + name = "IRMG Enforcer" + id_job = "Enforcer" + outfit = /datum/outfit/job/inteq/security + +/obj/effect/mob_spawn/human/corpse/inteq/vanguard + name = "IRMG Vanguard" + id_job = "Vanguard" + outfit = /datum/outfit/job/inteq/captain + +/obj/effect/mob_spawn/human/corpse/inteq/artificer + name = "IRMG Artificer" + id_job = "Artificer" + outfit = /datum/outfit/job/inteq/engineer + +/* SRM */ + /obj/effect/mob_spawn/human/corpse/srm/hunter name = "SRM Hunter" id_job = "Hunter" diff --git a/code/modules/ruins/wasteplanet_ruin_code/tradepost.dm b/code/modules/ruins/wasteplanet_ruin_code/tradepost.dm new file mode 100644 index 000000000000..5369d0e2f2d1 --- /dev/null +++ b/code/modules/ruins/wasteplanet_ruin_code/tradepost.dm @@ -0,0 +1,61 @@ +/obj/item/tape/random/preset/tradepost/one + ruined = 1 + used_capacity = 120 + +/obj/item/tape/random/preset/tradepost/one/Initialize() + . = ..() + storedinfo = list( + "\[00:00\] Recording started.", + "\[00:06\] [span_name("firm elzousa")] drawls \"Now I figure that... give or take a few months a' tradin out here, I'll 'ave enough money t' pay you boys forra 'nother year.\"", + "\[00:14\] [span_name("muffled rachnid woman")] declares \"Caelum. If you don't have payment rendered soon we this contract is called.\"", + "\[00:23\] [span_name("firm elzousa")] drawls \"I know. I know. I gotcha few more weeks of pay annif I don' make any trades, then 's done.\"", + "\[00:32\] [span_name("firm elzousa")] drawls \"Don'tcha wave those things at me.\"", + "\[00:37\] [span_name("muffled rachnid woman")] declares \"You have two weeks. My enforcers are reporting that the area is drawing the attention of scrapbots.\"", + "\[00:46\] [span_name("muffled rachnid woman")] declares \"If we don't have the money to buy more ammo, I don't need to tell you what'll happen.\"", + "\[00:50\] [span_name("firm elzousa")] lets out a sigh.", + "\[00:53\] [span_name("firm elzousa")] drawls \" Cour ma'am. Cour. \"", + ) + timestamp = list( + 0, + 6, + 14, + 23, + 32, + 37, + 46, + 50, + 53 + ) + +/obj/effect/mob_spawn/human/corpse/inteq/medic/tradepost + mob_name = "Jenny Amasatsu" + brute_damage = 140 + burn_damage = 78 + mob_gender = FEMALE + outfit = /datum/outfit/job/inteq/paramedic/tradepost + +/obj/effect/mob_spawn/human/corpse/inteq/vanguard/tradepost + outfit = /datum/outfit/job/inteq/captain/tradepost + mob_species = /datum/species/spider + gender = FEMALE + +/obj/effect/mob_spawn/human/corpse/indie/engineer + outfit = /datum/outfit/job/independent/engineer + +/obj/effect/mob_spawn/human/corpse/indie/manager + outfit = /datum/outfit/job/independent/captain/manager + mob_species = /datum/species/elzuose + backpack_contents = null + + +/datum/outfit/job/inteq/paramedic/tradepost + name = "Trade Post Corpsman" + belt = /obj/item/storage/belt/medical/webbing + +/datum/outfit/job/inteq/captain/tradepost + name = "Trade Post Vanguard" + + r_pocket = null + l_pocket = null + + backpack_contents = null diff --git a/shiptest.dme b/shiptest.dme index 43933e36585a..a30e676a88df 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -3265,6 +3265,7 @@ #include "code\modules\ruins\objects_and_mobs\sin_ruins.dm" #include "code\modules\ruins\spaceruin_code\bigderelict1.dm" #include "code\modules\ruins\spaceruin_code\TheDerelict.dm" +#include "code\modules\ruins\wasteplanet_ruin_code\tradepost.dm" #include "code\modules\screen_alerts\_screen_alerts.dm" #include "code\modules\security_levels\keycard_authentication.dm" #include "code\modules\security_levels\security_levels.dm" From b18fd468caeef068a8d0ca58fd37ce7492ee9dce Mon Sep 17 00:00:00 2001 From: Theos Date: Thu, 24 Oct 2024 06:15:06 -0400 Subject: [PATCH 104/344] Simple human armor now draws its values from real armor (#3592) Simple humans now pull armor values from armor, currently set as whatever they appear to be wearing The armor_base variable has a vv intercept to update armor values automatically for bus Intuitive that the guy wearing super heavy armor dies to AP rounds and not 3 shotgun shells :cl: balance: simple humans now have as much health as normal humans! This makes them weaker! balance: simple humans now also benefit from their armor as much as normal humans! This makes them stronger! /:cl: --------- Signed-off-by: Theos Signed-off-by: rye-rice <58402542+rye-rice@users.noreply.github.com> Co-authored-by: Mark Suckerberg Co-authored-by: rye-rice <58402542+rye-rice@users.noreply.github.com> --- .../hostile/human/frontiersman.dm | 13 ++++--- .../simple_animal/hostile/human/human.dm | 23 +++++++++++ .../simple_animal/hostile/human/nanotrasen.dm | 4 +- .../simple_animal/hostile/human/pirate.dm | 2 + .../simple_animal/hostile/human/survivors.dm | 1 + .../simple_animal/hostile/human/syndicate.dm | 38 +++++++------------ .../simple_animal/hostile/human/zombie.dm | 3 +- .../hostile/mining_mobs/mining_mobs.dm | 15 -------- .../mob/living/simple_animal/simple_animal.dm | 15 ++++++++ 9 files changed, 64 insertions(+), 50 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm b/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm index beb94ba52a63..d4b0134f9f31 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm @@ -66,6 +66,7 @@ casingtype = null ranged_message = "fires the syringe gun at" ranged_cooldown_time = 30 + armor_base = /obj/item/clothing/suit/frontiersmen /mob/living/simple_animal/hostile/human/frontier/ranged/surgeon/neuter loot = list(/obj/effect/mob_spawn/human/corpse/frontier/surgeon) @@ -115,12 +116,11 @@ /mob/living/simple_animal/hostile/human/frontier/ranged/trooper icon_state = "frontiersmanrangedelite" icon_living = "frontiersmanrangedelite" - maxHealth = 170 - health = 170 projectilesound = 'sound/weapons/gun/shotgun/shot.ogg' casingtype = /obj/item/ammo_casing/shotgun/buckshot loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, /obj/item/gun/ballistic/shotgun/brimstone) + armor_base = /obj/item/clothing/suit/armor/vest/bulletproof/frontier /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/internals icon_state = "frontiersmanrangedelite_mask" @@ -155,6 +155,7 @@ projectiletype = null projectilesound = 'sound/weapons/gun/flamethrower/flamethrower1.ogg' casingtype = null + armor_base = /obj/item/clothing/suit/armor/frontier/fireproof /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/flame/OpenFire() var/turf/T = get_ranged_target_turf_direct(src, target, 4) @@ -176,6 +177,7 @@ casingtype = /obj/item/ammo_casing/a762_40 loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper, /obj/item/gun/ballistic/automatic/assault/skm) + armor_base = /obj/item/clothing/suit/armor/vest/bulletproof/frontier /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/skm/internals icon_state = "frontiersmanrangedak47_mask" @@ -203,6 +205,7 @@ /obj/item/gun/ballistic/rifle/illestren) casingtype = /obj/item/ammo_casing/a8_50r projectilesound = 'sound/weapons/gun/rifle/mosin.ogg' + armor_base = /obj/item/clothing/suit/armor/vest/bulletproof/frontier /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/rifle/internals icon_state = "frontiersmanrangedmosin_mask" @@ -226,13 +229,12 @@ icon_state = "frontiersmanrangedminigun" icon_living = "frontiersmanrangedminigun" projectilesound = 'sound/weapons/laser4.ogg' - maxHealth = 260 - health = 260 rapid = 6 rapid_fire_delay = 1.5 casingtype = null projectiletype = /obj/projectile/beam/weak/penetrator loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper/heavy) + armor_base = /obj/item/clothing/suit/space/hardsuit/security/independent/frontier /mob/living/simple_animal/hostile/human/frontier/ranged/trooper/heavy/internals icon_state = "frontiersmanrangedminigun_mask" @@ -253,13 +255,12 @@ name = "Frontiersman Officer" icon_state = "frontiersmanofficer" icon_living = "frontiersmanofficer" - maxHealth = 65 - health = 65 rapid = 4 projectilesound = 'sound/weapons/gun/pistol/mauler.ogg' casingtype = /obj/item/ammo_casing/c9mm loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/officer, /obj/item/gun/ballistic/automatic/pistol/mauler) + armor_base = /obj/item/clothing/suit/armor/frontier /mob/living/simple_animal/hostile/human/frontier/ranged/officer/internals icon_state = "frontiersmanofficer_mask" diff --git a/code/modules/mob/living/simple_animal/hostile/human/human.dm b/code/modules/mob/living/simple_animal/hostile/human/human.dm index fe90db49e618..1efe7c02b261 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/human.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/human.dm @@ -38,3 +38,26 @@ footstep_type = FOOTSTEP_MOB_SHOE faction = list("hermit") + + ///Steals the armor datum from this type of armor + var/obj/item/clothing/armor_base + +/mob/living/simple_animal/hostile/human/Initialize() + . = ..() + if(ispath(armor_base, /obj/item/clothing)) + //sigh. if only we could get the initial() value of list vars + var/obj/item/clothing/instance = new armor_base() + armor = instance.armor + qdel(instance) + +/mob/living/simple_animal/hostile/human/vv_edit_var(var_name, var_value) + switch(var_name) + if (NAMEOF(src, armor_base)) + if(ispath(var_value, /obj/item/clothing)) + var/obj/item/clothing/temp = new var_value + armor = temp.armor + qdel(temp) + datum_flags |= DF_VAR_EDITED + return TRUE + return FALSE + . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/human/nanotrasen.dm b/code/modules/mob/living/simple_animal/hostile/human/nanotrasen.dm index 96b7c3f3a4e0..5898a9c75ea7 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/nanotrasen.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/nanotrasen.dm @@ -10,6 +10,7 @@ faction = list(ROLE_DEATHSQUAD) check_friendly_fire = TRUE dodging = TRUE + armor_base = /obj/item/clothing/suit/armor/vest /mob/living/simple_animal/hostile/human/nanotrasen/screaming icon_state = "nanotrasen" @@ -61,8 +62,6 @@ icon = 'icons/mob/simple_human.dmi' icon_state = "nanotrasen_ert" icon_living = "nanotrasen_ert" - maxHealth = 150 - health = 150 melee_damage_lower = 13 melee_damage_upper = 18 ranged = TRUE @@ -77,3 +76,4 @@ projectilesound = 'sound/weapons/laser.ogg' loot = list(/obj/effect/gibspawner/human) faction = list(ROLE_DEATHSQUAD) + armor_base = /obj/item/clothing/suit/space/hardsuit/ert/sec diff --git a/code/modules/mob/living/simple_animal/hostile/human/pirate.dm b/code/modules/mob/living/simple_animal/hostile/human/pirate.dm index b5cdd48e7788..1a30b46f263e 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/pirate.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/pirate.dm @@ -33,6 +33,7 @@ atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 speed = 1 + armor_base = /obj/item/clothing/suit/space /mob/living/simple_animal/hostile/human/pirate/melee/space/Initialize() . = ..() @@ -73,6 +74,7 @@ atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 speed = 1 + armor_base = /obj/item/clothing/suit/space /mob/living/simple_animal/hostile/human/pirate/ranged/space/Initialize() . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/human/survivors.dm b/code/modules/mob/living/simple_animal/hostile/human/survivors.dm index 0247d1be0f15..890278088078 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/survivors.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/survivors.dm @@ -7,6 +7,7 @@ loot = list( /obj/effect/mob_spawn/human/corpse/damaged/whitesands ) + armor_base = /obj/item/clothing/suit/hooded/survivor /mob/living/simple_animal/hostile/human/hermit/survivor/death(gibbed) move_force = MOVE_FORCE_DEFAULT diff --git a/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm index 3f81cd145dcd..8ef8d1ef510f 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm @@ -19,6 +19,7 @@ check_friendly_fire = TRUE dodging = TRUE rapid_melee = 2 + armor_base = /obj/item/clothing/suit/armor/vest ///////////////Melee//////////// @@ -26,12 +27,11 @@ icon_state = "syndicate_space" icon_living = "syndicate_space" name = "Ramzi Clique Commando" - maxHealth = 170 - health = 170 atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1000 speed = 1 + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi /mob/living/simple_animal/hostile/human/syndicate/space/Initialize() . = ..() @@ -42,8 +42,7 @@ icon_state = "syndicate_stormtrooper" icon_living = "syndicate_stormtrooper" name = "Ramzi Clique Assault Trooper" - maxHealth = 250 - health = 250 + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi/elite /mob/living/simple_animal/hostile/human/syndicate/melee //dude with a knife and no shields melee_damage_lower = 15 @@ -61,13 +60,11 @@ icon_state = "syndicate_space_knife" icon_living = "syndicate_space_knife" name = "Ramzi Clique Commando" - maxHealth = 170 - health = 170 - atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1000 speed = 1 projectile_deflect_chance = 50 + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi /mob/living/simple_animal/hostile/human/syndicate/melee/space/Initialize() . = ..() @@ -78,9 +75,8 @@ icon_state = "syndicate_stormtrooper_knife" icon_living = "syndicate_stormtrooper_knife" name = "Ramzi Clique Stormtrooper" - maxHealth = 250 - health = 250 projectile_deflect_chance = 50 + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi/elite /mob/living/simple_animal/hostile/human/syndicate/melee/sword melee_damage_lower = 30 @@ -114,13 +110,12 @@ icon_state = "syndicate_space_sword" icon_living = "syndicate_space_sword" name = "Ramzi Clique Commando" - maxHealth = 170 - health = 170 atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1000 speed = 1 projectile_deflect_chance = 50 + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi /mob/living/simple_animal/hostile/human/syndicate/melee/sword/space/Initialize() . = ..() @@ -136,9 +131,8 @@ icon_state = "syndicate_stormtrooper_sword" icon_living = "syndicate_stormtrooper_sword" name = "Ramzi Clique Stormtrooper" - maxHealth = 250 - health = 250 projectile_deflect_chance = 50 + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi/elite ///////////////Guns//////////// @@ -162,12 +156,11 @@ icon_state = "syndicate_space_pistol" icon_living = "syndicate_space_pistol" name = "Ramzi Clique Commando" - maxHealth = 170 - health = 170 atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1000 speed = 1 + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi /mob/living/simple_animal/hostile/human/syndicate/ranged/space/Initialize() . = ..() @@ -178,8 +171,7 @@ icon_state = "syndicate_stormtrooper_pistol" icon_living = "syndicate_stormtrooper_pistol" name = "Ramzi Clique Stormtrooper" - maxHealth = 250 - health = 250 + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi/elite /mob/living/simple_animal/hostile/human/syndicate/ranged/smg rapid = 2 @@ -192,12 +184,11 @@ icon_state = "syndicate_space_smg" icon_living = "syndicate_space_smg" name = "Ramzi Clique Commando" - maxHealth = 170 - health = 170 atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1000 speed = 1 + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi /mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space/Initialize() . = ..() @@ -208,8 +199,7 @@ icon_state = "syndicate_stormtrooper_smg" icon_living = "syndicate_stormtrooper_smg" name = "Ramzi Clique Stormtrooper" - maxHealth = 250 - health = 250 + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi/elite /mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun rapid = 2 @@ -223,12 +213,11 @@ icon_state = "syndicate_space_shotgun" icon_living = "syndicate_space_shotgun" name = "Ramzi Clique Commando" - maxHealth = 170 - health = 170 atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 maxbodytemp = 1000 speed = 1 + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi /mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun/space/Initialize() . = ..() @@ -239,8 +228,7 @@ icon_state = "syndicate_stormtrooper_shotgun" icon_living = "syndicate_stormtrooper_shotgun" name = "Ramzi Clique Stormtrooper" - maxHealth = 250 - health = 250 + armor_base = /obj/item/clothing/suit/space/hardsuit/syndi/elite ///////////////Misc//////////// diff --git a/code/modules/mob/living/simple_animal/hostile/human/zombie.dm b/code/modules/mob/living/simple_animal/hostile/human/zombie.dm index e13461a49568..c70b459fb7b2 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/zombie.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/zombie.dm @@ -7,8 +7,6 @@ mob_biotypes = MOB_ORGANIC|MOB_HUMANOID speak_chance = 0 stat_attack = HARD_CRIT //braains - maxHealth = 100 - health = 100 harm_intent_damage = 5 melee_damage_lower = 21 melee_damage_upper = 21 @@ -41,6 +39,7 @@ //They have claws now. O.r_hand = null O.l_hand = null + armor_base = O.suit var/icon/P = get_flat_human_icon("zombie_[zombiejob]", J , dummy_prefs, "zombie", outfit_override = O) icon = P diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm index 85cc0984adac..e1aec7e30d30 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm @@ -21,18 +21,8 @@ mob_size = MOB_SIZE_LARGE var/icon_aggro = null var/trophy_drop_mod = 25 - // [CELADON-REMOVE] - CELADONE_BALANCE - вынесено в родитель hostile и прописано в модуле - // var/datum/armor/armor //WS edit - Whitesands - // [/CELADON-REMOVE] /mob/living/simple_animal/hostile/asteroid/Initialize(mapload) - if (islist(armor)) //WS edit begin - Whitesands - armor = getArmor(arglist(armor)) - else if (!armor) - armor = getArmor() - else if (!istype(armor, /datum/armor)) - stack_trace("Invalid type [armor.type] found in .armor during [src.type] Initialize()") //WS edit begin - Whitesands - . = ..() apply_status_effect(STATUS_EFFECT_CRUSHERDAMAGETRACKING) @@ -47,11 +37,6 @@ return icon_state = icon_living -/mob/living/simple_animal/hostile/asteroid/getarmor(def_zone, type) //WS edit begin - Whitesands - if(armor) - return armor.getRating(type) - return 0 // If no armor //WS edit end - /mob/living/simple_animal/hostile/asteroid/bullet_act(obj/projectile/P)//Reduces damage from most projectiles to curb off-screen kills if(!stat) Aggro() diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 5ee1d8f102be..f6dff0f23bb8 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -141,8 +141,18 @@ ///What kind of footstep this mob should have. Null if it shouldn't have any. var/footstep_type + /// Base armor value on this mob for running armor checks + var/datum/armor/armor + + /mob/living/simple_animal/Initialize(mapload) . = ..() + if (islist(armor)) + armor = getArmor(arglist(armor)) + else if (!armor) + armor = getArmor() + else if (!istype(armor, /datum/armor)) + stack_trace("Invalid type [armor.type] found in .armor during [src.type] Initialize()") GLOB.simple_animals[AIStatus] += src if(gender == PLURAL) gender = pick(MALE,FEMALE) @@ -171,6 +181,11 @@ return ..() +/mob/living/simple_animal/getarmor(def_zone, type) + if(armor) + return armor.getRating(type) + return FALSE + /mob/living/simple_animal/attackby(obj/item/O, mob/user, params) if(!is_type_in_list(O, food_type)) ..() From a5d2482eb69ea3058dc5255f900ac310cdc4cb81 Mon Sep 17 00:00:00 2001 From: zimon9 <122945887+zimon9@users.noreply.github.com> Date: Thu, 24 Oct 2024 06:17:03 -0400 Subject: [PATCH 105/344] Fixes searching with the orbit menu (#3629) ## About The Pull Request This PR modifies the search algorithm for points of interests so that the real name of a character, e.g. "Kristina Dryden" is what gets passed to the search function, instead of a character's "full name", e.g. "calm human woman". ![vf7sJJ034D](https://github.com/user-attachments/assets/59b9381b-f49d-4564-a8b7-e33653706693) The sorting algorithm seems to take jobs as the sorting parameter, instead of real names. As of right now, the portion of code that causes this to occur still eludes me. ## Why It's Good For The Game This felt like a minor oversight to me. It feels clunky to search for a character's name and have the search return no results because the search function had been looking for a character's _attributes_ instead. ## Changelog :cl: fix: fixed the orbit menu search function so that names work again /:cl: --- tgui/packages/tgui/interfaces/Orbit/helpers.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tgui/packages/tgui/interfaces/Orbit/helpers.ts b/tgui/packages/tgui/interfaces/Orbit/helpers.ts index 7046f784cd6c..4a90b96eb2b6 100644 --- a/tgui/packages/tgui/interfaces/Orbit/helpers.ts +++ b/tgui/packages/tgui/interfaces/Orbit/helpers.ts @@ -81,10 +81,10 @@ export const isJobOrNameMatch = ( ): boolean => { if (!searchQuery) return true; - const { full_name, job } = observable; + const { name, job } = observable; return ( - full_name?.toLowerCase().includes(searchQuery?.toLowerCase()) || + name?.toLowerCase().includes(searchQuery?.toLowerCase()) || job?.toLowerCase().includes(searchQuery?.toLowerCase()) || false ); From f1abd78da7e5b86d562d87da6a8778d2e299ede7 Mon Sep 17 00:00:00 2001 From: MemeSnorfer <116136632+MemeSnorfer@users.noreply.github.com> Date: Thu, 24 Oct 2024 03:17:13 -0700 Subject: [PATCH 106/344] Balaclava Snout Sprites + Elzu Snouts (#3618) Adds sprites for snouted balaclava variations (all sprites by moffball). Also adds a short snout variant, for Elzuose (coded with the help of @rye-rice). Comes with balaclava sprites for Elzuose as well (sprites also by moffball). (Top to bottom: Combat Balaclava, Inteq Balaclava, NGR Balaclava, NGR Facemask, Balaclava) ![image](https://github.com/user-attachments/assets/f6b5cb36-c2d1-4c25-9b40-34c5cb2ea0f8) Sarathi and Elzuose would no longer have weird clipping while wearing these masks :) :cl: MemeSnorfer and Moffball imageadd: Snouted balaclava sprites for both Sarathi and Elzuose code: Elzuose snout type, for use with mask sprites /:cl: --- code/__DEFINES/inventory.dm | 9 +++++---- code/__DEFINES/mobs.dm | 13 +++++++------ code/modules/clothing/factions/ngr.dm | 1 + code/modules/clothing/masks/boxing.dm | 1 + code/modules/clothing/masks/hailer.dm | 1 + .../mob/living/carbon/human/update_icons.dm | 3 +++ .../species_parts/ethereal_bodyparts.dm | 2 +- icons/mob/clothing/faction/ngr/mask.dmi | Bin 472 -> 1992 bytes icons/mob/clothing/mask.dmi | Bin 55254 -> 52850 bytes 9 files changed, 19 insertions(+), 11 deletions(-) diff --git a/code/__DEFINES/inventory.dm b/code/__DEFINES/inventory.dm index fb98d1f98fbc..a0466cee0653 100644 --- a/code/__DEFINES/inventory.dm +++ b/code/__DEFINES/inventory.dm @@ -85,12 +85,13 @@ #define DIGITIGRADE_VARIATION_NO_NEW_ICON (1<<2) #define DIGITIGRADE_VARIATION_SAME_ICON_FILE (1<<3) //intended for use with factional icon files for organization purposes, otherwise use either above. Ex of naming: a state called "nameof_thing" can be named "nameof_thing_digi" #define SNOUTED_VARIATION (1<<4) //Ex of naming: a state called "nameof_thing" can be named "nameof_thing_snouted" -#define VOX_VARIATION (1<<5) -#define KEPORI_VARIATION (1<<6) +#define SNOUTED_SMALL_VARIATION (1<<5) //For Elzuose snouts +#define VOX_VARIATION (1<<6) +#define KEPORI_VARIATION (1<<7) // [CELADON-ADD] - TAJARA -#define TAJARA_VARIATION (1<<7) +#define TAJARA_VARIATION (1<<8) // [CELADON-ADD] - CELADON_RIOL -#define RIOL_VARIATION (1<<8) +#define RIOL_VARIATION (1<<9) // [/CELADON-ADD] #define NOT_DIGITIGRADE 0 diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 3845a2b42d2c..cf8e6b915c1c 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -135,14 +135,15 @@ #define BODYTYPE_ROBOTIC (1<<1) #define BODYTYPE_HUMANOID (1<<2) //Everything #define BODYTYPE_SNOUT (1<<3) //Snouts -#define BODYTYPE_BOXHEAD (1<<4) //TV Head -#define BODYTYPE_DIGITIGRADE (1<<5) //Lizard legs -#define BODYTYPE_KEPORI (1<<6) //Just Kepori -#define BODYTYPE_VOX (1<<7) //Big Vox +#define BODYTYPE_SNOUT_SMALL (1<<4) //Elzuose snouts +#define BODYTYPE_BOXHEAD (1<<5) //TV Head +#define BODYTYPE_DIGITIGRADE (1<<6) //Lizard legs +#define BODYTYPE_KEPORI (1<<7) //Just Kepori +#define BODYTYPE_VOX (1<<8) //Big Vox // [CELADON-ADD] - TAJARA -#define BODYTYPE_TAJARA (1<<8) //Fluffy Ass +#define BODYTYPE_TAJARA (1<<9) //Fluffy Ass // [CELADON-ADD] - RIOL -#define BODYTYPE_RIOL (1<<9) +#define BODYTYPE_RIOL (1<<10) // [/CELADON-ADD] // Health/damage defines diff --git a/code/modules/clothing/factions/ngr.dm b/code/modules/clothing/factions/ngr.dm index 9e3b1a24d9d9..f67e79a6f2e9 100644 --- a/code/modules/clothing/factions/ngr.dm +++ b/code/modules/clothing/factions/ngr.dm @@ -234,6 +234,7 @@ item_state = "ngr_facemask" icon = 'icons/obj/clothing/faction/ngr/mask.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/ngr/mask.dmi' + supports_variations = SNOUTED_VARIATION | SNOUTED_SMALL_VARIATION ////////// //Neck// diff --git a/code/modules/clothing/masks/boxing.dm b/code/modules/clothing/masks/boxing.dm index 6bb58bb2b4e5..2790359d0b7c 100644 --- a/code/modules/clothing/masks/boxing.dm +++ b/code/modules/clothing/masks/boxing.dm @@ -7,6 +7,7 @@ visor_flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR w_class = WEIGHT_CLASS_SMALL actions_types = list(/datum/action/item_action/adjust) + supports_variations = SNOUTED_VARIATION | SNOUTED_SMALL_VARIATION /obj/item/clothing/mask/balaclava/attack_self(mob/user) adjustmask(user) diff --git a/code/modules/clothing/masks/hailer.dm b/code/modules/clothing/masks/hailer.dm index 78bbc032e861..db12fff06885 100644 --- a/code/modules/clothing/masks/hailer.dm +++ b/code/modules/clothing/masks/hailer.dm @@ -75,6 +75,7 @@ strip_delay = 60 alternate_worn_layer = BODY_LAYER flags_inv = HIDEFACIALHAIR|HIDEFACE|HIDEEARS|HIDEHAIR + supports_variations = SNOUTED_VARIATION | SNOUTED_SMALL_VARIATION /obj/item/clothing/mask/gas/sechailer/balaclava/inteq desc = "A surprisingly advanced balaclava. while it doesn't muffle your voice it has a miniature rebreather for internals. Comfy to boot! This one is a variataion commonly used by the IRMG to protect it's members idenites." diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index b1ef46ea6030..d82699036c88 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -736,6 +736,9 @@ There are several things that need to be remembered: handled_by_bodytype = TRUE // [CELADON-EDIT] + if((head_bodypart.bodytype & BODYTYPE_SNOUT_SMALL) && (I.supports_variations & SNOUTED_SMALL_VARIATION)) + target_overlay = "[target_overlay]_snouted_small" + if(dna.species.bodytype & BODYTYPE_VOX) if(I.supports_variations & VOX_VARIATION) icon_file = VOX_MASK_PATH diff --git a/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm index 0794602de953..ebf294a3cccf 100644 --- a/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm +++ b/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm @@ -4,7 +4,7 @@ limb_id = SPECIES_ELZUOSE is_dimorphic = FALSE uses_mutcolor = TRUE - bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_SNOUT + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_SNOUT_SMALL /obj/item/bodypart/chest/ethereal icon = 'icons/mob/species/ethereal/bodyparts.dmi' diff --git a/icons/mob/clothing/faction/ngr/mask.dmi b/icons/mob/clothing/faction/ngr/mask.dmi index 0baead0a39b192dcd5716fb804cc289ee799b1ed..ef0c2bb56311c68fe5af75ee3e560efa047fa28b 100644 GIT binary patch literal 1992 zcmbW1c{CgN7RPBzQA%EoEtV8L#W0qLtt50ZcG^L#GsDz21fevxSjLRj9;MHIYOPX= zirq+tQY9*s#ArIAir6xFA(luYkLh{my+7U`^WN{Ad+)jD-19rUj= z!ptu_7kmxZq|i{B3x2L;X!_Zx$!MDy-b|m+r3uN@bzzP5XPcYD!(1Gv9Gs^ebe%L^ zAP&5G8 z`&*%m`0V?Dl=C-sMRc!2)2|SH#|w6V%Rpy%Mj_}b=$tqpo!PO2OC-kjBWs?uEWvPl zDQ}yoR=d3RmXo$;3{OGj?@{rhPl@Qkzi$z)BOVlAJf9&eDduJXvL8+dtu;v|2!>x0 zAvEmr^zX@~2j$P_CTl7C{=d+U)mn?IEmOM|dttd=X+su+eF?siL0sr1)8xcyFtwJ) z$h*|G+R{$w=Y8NZO}GbszjZBL>}uH|>O<4$M_3pibFjj}HH*ga{nXxDaF6Px+p+wU z@#^+BrB9e#&j$cx`QqhZDm4+v8bOkyhNO=so>n8cf?of$a+I}31qioSkB@vVio#^# z7XrNfg1-4VY6P$jPKtt8iW5(mhSjr{BETh9>h6-b4}2(s;WkJ8wMVhL?7m`3bBS)r zv0yU&TLKw!PAP_On9PXJI-az!4L^Y9;2_n^!&ZJ()cKJ&>7m2XZv(6gGlXpj%4fRt@C(jgy#MAsaLmprmnG$ zb-Tk{LL8dc01^8Bse{@CT%@PThYbu~E`*&HJ8W1%^a0M2pE0?HiaL})_BxqtOmw!y z+JWmhA-%(=bE^D@d>W#o612V-T!m?7Ld?MVH8bzMh)o#$cPZ3@4MCfr%XopLdV)Nj z6{3J}+Xkn?OoadRM9G7}WN*dGTj{7p>E&2l{_vg*Y1;qS3ZEAFceWm%AUJnY8S~ew zj5QlF9yR`O`KXjDt@<6Ibbd^$Q*^a~RiGlJ z6gmJ%Udcz(uVDq4#}DU_H&4XEjxt)O>HGGd*VI+?H)0=lObP4zT&+VE>k|Wx-I|QBR1=}V8@f-)eAre(GEF{?<@-YY zOYqEvW5SaH1SdThfR`%|v!+%E+m?|w`T;5~g^Qf8X+1IXh>c{a`-f>rm2VG)OV25# zBvmMqgGF(hCSME$>Uq&fMX8sV39!S~Zm)U&cU~K%eA;9Me_iq5G49{oMz6!!Nj`7d{jEX*YETYdmE6>i-vMB9+@a%GesvF z)P_Ccqq^CT(-vfvV|`>_$QsINsFHHl4Hycqi_0Am=q`0Y3q|1RhlJk32?z3SDzl7~ zM%tir%~h-0n*kw~S=$S{oRIAWEl7%{GQx>BbX2Kf%Wu@~n@T0B@_*TjWB{;K!UR3} zr|wKLxKmDzMMSI33S2a5KD!&kVyi5KLU=F@+L~M7j-uj&v&)R!13$9m7lLstG#318 z#R&=zUB;68DNpa>b7C zDx(3i-<-baK`3dWV8szRN-LaDLK&>64KPy=;?=*VyKmX;X@_UgQLWi_?sE~=_n=Ex zH^v__Wp+7vfspU#WOwrYiS)rbbG0@Et*0AoBHcjqtLdwXTo$E z-I**PeIp?6a%AO4#3~w>J3oAU^d*!A3~_zAhEn5hgc|$zqscy@rQUZuU$N!u7ptbS zdY+VZdK0J6TGUi+^>&0`idsiY?Q6Q9N$oi0jd4vRl9OjOU>9ahazwXYFar&b-FqD_3~i I&47%50>BBXN&o-= delta 380 zcmV-?0fYX?57+}uiBL{Q4GJ0x0000DNk~Le0001B0001B1Oos701&on3jhEB4^T{0 zMZmzoGc`INASO>wP{6>zS@+4(00001bW%=J06^y0W&i*HeUT++e?(QBl$ev4oRe6V zh)cDyf~%hk*ew9xuqw?Bg(7MI008buL_t(oh3%Ko3Bxc9L}g77ISa(<1gZAlttqs{ zcMdge|B4>uZ>Y^kQ-j#@e_oG;BuSE=nA#3eVt=a#*jrgMTHSlIRgdf7_iD5&d2tj_fBfT;BuOST@)@h=eNWT^jVx@N zELb5i)_t;~8J@}NWWf0ZYD0j~z|!9jI4@2H@P07l#Q@(ACO9t!_92~rgV6r_f#6zRQ}NDaM1 zs0k1Vy#`1EA(^1xH|x&KU9)EXyEkjG)@Glbv(Mh=-EVuIH=i}tm1wW9Tmb+8w8}4@ zy#@d%IL`hqQIdPaHu=l}fD1L=Z}eQBnY)-dTRXa1JJ>%O2L0|{yA!D3tbAkbX zbrcIiwnRzws{qS>!^6p46`|Mq16130AC;~Y=1@qaJp9q$mb$$~bDeTF3sm=`7~H5* zvfR3-v%da9`Q^D}@z)%TEGW*HR|ut1bi&66qw5c~ovygW^RNXAKIm)z3hcB7fuy~q z8IbmvpI?jXBRZLHaNJRr-+mh1Wye1On5mcV;uADc;tYrs`w=qM9yq&FbNEs9O7Z%w zG-mFlsq>-+Gv?Wax377b>pk*BsWV>WJ)(rJ|UbE$|Rv(%Z&eF2?1qo3%mdrQ3X6#<>)3yrkrN6nt7! zJZcjCZ|^!fDb)NWXnGHzDMhsNUIH7&*XWROOU) zF^U>i7rORZ(a0_D)0SyHif8;GldN9a%2c%3ZBKCec@u|`69sSNth7T~g}eVduf#Mw zPv>D`35tUP%`1MX0k5)+@@)=v0`KQS{#Uar|qOuNo*M<=svvR1v*F_qo_~&vdVp#s-Q#7HhKHYyS|Y(3^IK0iLNNs zW(9`ly3d!RRs39rx!FqToPL)dq&&JZF;$`GGOkNqdF|yx(PK?nO)Vd$ThNlI(z334 zpNnjpAI=vy9lt6_9C1iBu=UJ-{<*O%o~eclsu8L-`>n@NQ;990EksB~*~WGuh{9q# z|JS#Oq&K>LfNi~Az4-8mNhytHHcTIy$L$S#4b^}6*dtF-`2o+3t&h?V6&JM1JNeVH z)s@B`Yu76+9La(7T~_GFvp)(fSWK!sn+wT zTWhE8JvTIJoTBetHbQ?)xj??!rPNOzzaP!;JN0Nrpti(t4k+nv%Y%N~(JFjFRmSL% zIQ*m|*#iKWABd);Ibg2^t9)23y_Q5L&-DeEAOy36$)XNi8gtY9eH(D-+AW+4sGyEC zzAj*1Q{6y?eF@cJ`O;xw>o->*V_0QuyL_9}CyN0t6DrQ1r~MJKlNrX&6MfZ6c6`O?|2M-q9Y7}y|1la!c2f|59i)?RK*XSbH8nFaHN1$JXr z>sTzEMW*{+7n)Gp7 z{VGme3%{8Jv!jL{xou2z7dLDhpqyr2E>^gtOH)Gj)ckAwabBg;M;|**LHJiI>lW?y z6PWa1JanVDArM!8zGZTMSwawIn-=wBut-o9T`BEKXGfolN@IE1>Xn7Cu|mi1-TB$0VqNW;SA}b_F|4m# z_s4xSf;}9*m3UIM+_-tP}Pk)(6te+Ao~io zd8lBIo79J#`JJ)6Sl3+=EsN0mPafDg4@(n|C)}@k{p}-*%xaIOZJO>KH|Xc1yPn(r z9(sqW8}D5bpVK$2a*+8}r53?7ouKaS2&F^>VF+*N1&EU|3T zUg~aAuTgs{HbS6z(r34YN~_*(rn;!mq{*Of;ugH9UvO+<)o~cmtq1|s+l}YP6@s8L zlL+@2JDtwVNXqL9H9WHffYGCuEs@c(`qrnjSlfjkqvm@z8Hi*0)Q@6g3rdJdaeK2) zuvB@eeh=K(1;!O(m>@|zk;D_3M4}Yq`2L`|a#gtFS8uC;ZecBd@GmE~n}Kf|F8`$E zZ~^Jc)cW`5T-ru7H8dWt7mVbnLFQ}wTO}p^U!#!(=_i||Z6B6?+Q5r-I?GI3&O7uc zi~K0~itt)t^V%q?Ng>WX&KXQz-ty^rAU|9bQo5y0g_qL>P7Z`cFwruHUBh}VE(tLz zcQuGIi`xD&u*fd}^l|U-8CKtz=?}X*;=4Mr^i22e?!OW-EEpAFSOmP5TNr zH);ffH9iaCOY6?xPI0+uiBOY&FS7^NSVft{uyfDk%GHLyLOLa$C^KoK7@==(H`-+C z>*#RZym>Rp%mS*HKnipDp~ej1<)~b^?$K;xcL zc~Aj23WBHq=88kNqs2HA9pqj-ZB8O>36f}QMrkkIs38>^u0%F0GcXJK)^3(>6qk`g zK0zXU@A9n_h}!LYyKcl!382wIBfj5tK)^fcW&k%qxcnn{@FOgWO}kN;j$h|v;?4U` zqCmZKT8b-;3Wrs{79}n!>9*fEK}rMgpD8KalNs8T?+3@WD#~<;130c02IS>Us<)gA z_$7?9d2%l3X)PBco?`_N@Wd*%MHr~smZ=A!Q(*;=l?&IGk@3sbi7OL&EV1Yd0luAA zE|HCuDff-u2TuU>H(BWa7`ERM>Meg7fQjLN|Dp|%2p_og)iaEljaW7TL#xMO9QZ~V14;3EkV0LbwmX~AyD+7s& ztSeI-TQC2ZaeSP?v}m)3tg_J^o_VFjc5}9z^?Wrd-T!zkX;R{9!rpk-w>#1fY!Ry7-fkDC))8OnP`^$f7`xK1CWmi&Mgq*@a{%Mx>b?h|@ zBQFJtFnEsx&oNsl;_eqtqxt01V|LzPoaAG6Mx$o5Z3F|~{`#~BJy^&1#OX!u=z#OQ zkWQw}?v+oE)n#Em>uWGAg|Nsj)z;uW)N8b7Wn1r-(gjM3ci^hyms3Ss+byRfC2^Ey zWz2>kZ2q8*9iySNBk9Hl*(jXq6d80Ufc%*^H*~OvwGnZbSaQ!4+o^^O{_f;@a{(>~ zU+R6h&H_`r-g=}$G3q-6FRl|qJyN^G$jey?kU1Dqu-S}eldQhqu#>|)WDPw{=@`@F zvcKg8KmSCER8N9KiBl@L_`M3veM%ZUa;JpWHWzXai)rJzXs=MAA9 z4s)!E=;T0aM@J2U7=pt(|7?8`>YIMx2?}l zdOPql&_19x9B41|P`~_cZPVd|Varw(+@yjX>3O`CoBiX*?N2tHnP$#q|FjANB|Nqt zhOxQpm5!g@_2t<~?p8cG+FBkyx0PGp^|5nEkL7VxBLuB*MBrY~@`9`KyYdr7_kQQ` zJ7)+A$0vc|USj=WkDK=x>oy2^Ejri;r+dN8=uK?l zx#`~uo|$a8)HAg49h~l_fKu(r^NL_)w&witYgIC&DE8=aF0H%RO=X3rdXLw2WEi3|D4@rH_I?jqnj%WGvN_OB@ zgA1Ax=FvowObV=>OKT84PNt|^+M z(V&Jbn=mHT-se zm;IrTmwG-6C!JonpEjhbWh0?#hK1ka7QedeWkw=&eb}tz=T#X!|MBWA6Wx9Y*7^ul zy||HEeB2FwlE$#??b{M~Q3qvni|@&SE4A@n2JcmaYFlQhoc@6Fa-jk>dO!O}!5=@~ z3D`Zg+N`#lp)8sCq71VdopFHjmH)`UKq6pVo<(g{ZPl9B9}v(GhpYYw?D`O=3t@D9 zT!25m1?dJimiIlSn4a7>A7=$fTU1<{SeanrO3Q@x)fPAIs}w+~^3ioljwJj_I%8d- z(rT@-1QZSe`|V25t&ZG#;=VMj)O#md>YrKoI8!w((<9RcJgE6L?vU|T#T3oZpL^-c z{erm~Dcy1kKE#7+EUGGhHIs%Q$arb>N%z@mI?`b^$QHWAHtBrojv*mJb;iN#t_5bb zxK7C+JY9O=yTmw->g01%xy`|-WG89Q(ZNC}9q#aENl)qM)vrk}J-z|i=C~$37ADQ2 z)wCT_+k2Pc9>_K83bO`OX3Ata7QyC%HiQV(k9YQIgguia84S7mFOIS7l(;P`XqRo7 zS7TNN=C(-{*Fd0+zNE(*eMA?((t2<9M zqDz%Enlypna-k=O&m832+FGiB-x+F-KcA@a8E$7g1Xa$DpV!lU>bgEDs7Grm*(?gE z+`Y;;U0(vTV?qs^(bEnLqH z&uN;Wx*HO{H2fJ0wn)Nj=)(|J~ zKA4Sl!5((Y-IHsD#n9T8k(a}@8*B~9KQXYXnep=gZ$R-gJF?`sc!b&n;q0&#vP@QJ zPiudt6X%W7y2FIT%kD`cRb1>F1S@cbYe{h1;?q(mg5AjCv`P7%C|J_=MAnkGxw+NA z#PUO#YR$FgP%U-o!_5xo4;HeL!0Kc=mGp*(xK`1Ns!{O;8XEzI+vx;c#kvm7+ojeeKXSCt;T_^(glCI_ztJlBL)-g=*VHn*NjWQ9dzsTbZRX)GEW1;0YAglo+>F`|Zx zx?!?WQX}h3QU0fHgKh&Av@F71kmE5eA-8GaHDpQpfh>w9N!a@Juqe>ikSBptum zvasL8LkFam`ZcnW#VqX7MhQH>o*8H@ci;HhTMXn;pO|T_!QR&hhL+(T|T zu#X48=i7D`ph@-BsMqTGeG9H#KT99EK4|1WoyeZAKRAt&+`iv~r+W;yDs@r` z?q9M0wZHGYQ#q>M+eb<#5iE^a^bRl%#lxnk@0TEhbDFtCtTy6fQ*RLUqjhV*PQQBZ z0rE6|bp>hkv!(OFHPLidKtQNom31uqr(sQ>f3pbi2JIydI_vALv$^=v$gK#?&N<&l zm6zXckNQq_9x2{O*~>6Zlfy`B8C$cH+uwzO0DzU$zazSOE+@Lbk=zZLfA>lJ*KBB- z^6>ID)xrSpf1W!B0B8o>m-#&?=fwNqf%4wtfUL~3PL2@$!h6di<04VDFeVRQNF^ZB zhvs>)6r=NY>}_S)3jrS(u;k^+x%RPoBV0vQIT@ZRpD+*IvW$Lk*-OJ9?TU7>RIE=1 zZYTf{a9)0aIn{T-Tqa8Vau>w7YB{0tf}9h1nj4>d`4eLvrtc?b35tq3IIT!4*Y#P_ zrow7h*Z_dZ@n4kf|MqPP9sY@V6q+?336aKsow*yym+yOzb4R(yM#kC}(dF~jYE?>T z2LQNH{YE0yeuz~1VKk?&&igtnGM0hQ;FC4Lb$f2c=L14Y+_#OA*MZ|ql}Y|oqSKf1 zao;6O`%cz6{iIe%r>DO~F(36-=ZOkaMXR`fFd2oCO8|G9C$gUVO$s zYT3VkB)$AS1HVg7Y84g-JQ9@gM>C5bwqH+W$jMGf@R?iDJ=EC-8gZo#Hhpe=@_x@u z%=-eD4h0su79XRH&AHR9@p|7xVgLwp*^9oDcg3G*i9^-iBRbvHj>H4E2f@fsXjx7# z0b_JDihzTCdn1A-T>}%bpRI`3W3c7+9zG+)&y(c-1$;uBrE&*>^V<^l122u9!MCq( z9wSLv1j+AjE|PX+cSsv=%!nHME8zC171H}EHm>}Iojb}AzqLLsHh zT1PUQ9MG9R=ZgLsVr(bnDdGDgYuO8RS5EIPNn3mIyqWUi+WAC%HovPG$I6POr?>90Y0(eHwaP6ND(QMNUI8Xlf zMY6XDhYBptXD+><{>AobP;VBdPOL-cJHdNXZ%5;?B_)=Zhv$COQwCZ0pJJx(6dg&M zGJZ?Bca)yTq&p6vQb^_d&Kiw&j5ZcT8?s`ViBEZ>!ZWh=Vn6nKBe(f2W$j%I^fwUp z`(F|%1SSqfTM>bK7#VS5V}e`5Oze?HyG&G8z9319fZt&mCU7t9uwg(oEEwqi!@NY< zyUBQs7l>G)s4N~FUZZO#Gph%NB;~nEu#LN%9WVf3Y3%Oy-&R1Y(uK2C0RVdceH(J} zd4+`si|iK`I|k*1{$>cnjW`)>l)cp4BJXSqcCsOJVq#+6%$hxNUatG<0!py>YkfWi zdMTu5wcY{Vc*ps@GW}e?(@|o~S8UdDp5}6oOBp(ik}N`9J~z^ayH||RsKnTS#wl$> z|8B|fGm)1=^sWRx=-z)&qRe7uhGFnP#D4Gfofz`^;)6K%`yyE=ubg+7-RusV<+8SY zwaiP_^sh}Y%4V472xO(s}b{7yTrwu+Y}f`SpXm7rB3x9qO>-NmN#OTzb}0)4{&8!{oHx30(SC|DZ=^ z?P2SFpH!p+U->%1>P*%WqA;*Mdjjf3eqcI@nfQb~3QQJ0Gorx33e@2lCjDz;0zU@k zWPCP)1p_XSC7nDICSC6K(XVM}+QIq?9g!8OCy^w9RsAD$STOn8YyYdU`9mb)49??z zoO&+n$*n)a1#tWD&zb!rf8-YaoOW`n@V`;RWg_4gS;mYy{vMXSUqwWZiGcfL7hpK} zY*kl)J0~qvxtD`1S7q`4QSH6nO5hy~Njb^tI($6zFzO?DP{wYe z*nu*S)V}J*%Kl6?XIAoBVD=@e|AiMp_X45O-YyoQ(B2oo!$rWTWyWrVH>9Wa~4 zTm^IlP*McE*zN33^X;;W>15DuCQJ9-Ws!7YQHQ0bN5Zb`NgjaGXiAE&R56;DwqC?^ z>b$sU_0Qr86F@_heL!z=g@29@n zruFfhA-d5iVH#=KVNbxfb~a@LG2lY0z}t_?M&M=B3U@{DVUqJqZ9 z;E!3P@)z|-_5#LGzsN(eb_3jdn2?#X_9bhnxpgL0K~v|q4flsUx#CAW7xpH<6eWVu z>39JIo{FCB44KJbKUyD>m|Ta<8^P=zD~5WF+Ew$*hK$4W$w;<>fp4DT%{3109FDS< z8$gzq*0yXxQ61XEBrqBzNa_$L0e&cujZlF1kXREpaEb@RRXg6J5#)z?KASTwv-bD| z?F6a3G^D|Hc-^$=f!~&KPmf*L)m85FjhUUe?i%K>sBVirvqxuy15hJ|jzc0P@EqXx z)x_+9_3*dcmQl#Z#3@r7A7=OBW%!g?#i_CtIu^bzb)WC|cLvIy38BqR4Y_nbKfg$r z-AX#%l9)tVOa%jm7jJ(D05$`f>x>_rcx%Wyjf#=u!*qK$*(Y?f`w*m~(=}qH26ESC zvlv;;+!XE=$rWG6l-?a;FFXB?yZV8Q>ceH{HF5F_cueY$B(L%2+Lcd+0uKiXuWx}f zyYidYUigcDAGnVVm2R{n)rbA`LQqDVrN~BkpnyuR#}i2o#~9h$Kkyow2(Yw!Va+yZ z5GE6K_sSrtmC zT>s7vUCZv`r;Xd?Ze7rjxAQ-r{}K_0KNwxkP3t2anY|^y2W=Yiwi%plo1FA2WP2wb z`+a59CCJYYRT3gs)_D0Uqg>r2e_-D~yGCY?f^_7K9wadC5H5VWdghm{KR9`3*@5#r z;G#ln>A@Wcs4r)WUhqRhYthI@x#{=SFP>wGIy0pJz*uV`VA#fgwMzCt_|~b#)d~ln zo1t~|c~@YULAQiI_tTF)ntoML+zh@N^08#$>?;8V!4dv0v|p#$Yvdu+Q=kSGqW46W zFfec<=uLF5@J(Tmo1b<*K0bDrblso*2K(P2Qj^MfD}!-P7}=i5*g57WZEsjRMK6;! z_x%&3_@Ci%ruuhnONtn6!|S(Ccy$g*!zA7GpT#y&9MHe+Lx4fzc@Q*20ebb#+JrA} z*cN2~!_t)6Cr3<+FRyY+Wl~12=IVn7-dfX|kMQ{sMCQ@bMt}!q7S7`0OmMSls z1aH;Tm9c6mOrPF>M}Jt@+`sY3@l{%u4Oei9(%WEYj<$I;yfJ>WL|?nE*y|ew`gWGG z_|`q(8JKwX`T8cOcH-&OjnSOTZ`o_~?^}Xt^Y9E`HFVz?-+CNXa=X9Taj80vSvwl? zbZ$wx256UuzlA=CaOAh)-9$BNnja~?h^u?_i@ioV$B2(M%-J~8LZH5tXcVlIkY)3ay$ef4f8z54C` zmyn?RZAfUKxY~QAj z{&cB?K98E0N!=!-`B*Jptjkml+|1EE` zeSg)XFHZ#IlIM(uC?nCiXho&oCl~)1l7P^m=L!izF4smb?&sA&Qr!FRbBBOyTfX`k zs2Jtu1w-g_oZ-4ghTvefcwBA%)XCsy6(HJ)`H~Y z^JGjHk=C9;h1@{4>pcvMC}a@NT!SQ`3<$ahYLX{@T4l(r@0~ZM_*`s{)=>r9IJ3&b z<5!;h<>v&Qm%6qj?8s=Y+mS-ao?px98=hsUW)^G&q*1h?D&}T-5d&NJ1}^!6-x^!< zgwBL-mC17g;d$=f=$b3qGNZ9E1>{N2v9xwHA&^)Bpaa%YhS<_9LiBw@8?f2=RDmc9 zQM+W=AAdL63_ZyyUnp~DN4>iO>(%dlix;xeblZ9VULH%d_$P;L%bl4o>C#cLRD?Ha zO(b}d;A9jlmZ{!1H(_(6`VCRvc+!u4|XC?zmhLYGxorEaUo^OcHtI z@7&Iy{jB-8UDU3zv2+=yYJ1cFRANG#f%UdRZ*R>>subr|@ww|BzK0D9ZB1e(e%c1d zSl-ha|5V9d(yT{%tRP|MUV`UKMuGT$NJL7KdpkMt3Pw8js&@=DXg#XjJ?#&ExtsYAzNuE(K_FD|rmycL8>7OV@mGbyo_S=F;0Z6y=+lpRT{=SX}_GtKuwRYaAj zCnWBc<`LN8VBMz@Cz0l;HbuhRgiev@lMl*DYkN8s8S}D>DVQuQp0W2EBh6RF>Ra~r z?D@$=zz=7xfg&u+j5=E6gE`2jvti+&qG>ehnpfVU6n+CFaH*OMh#Wfceymtb*XED$ zbGatV)J6njwolUKP1aGm%W$#Nghs+XAPKV{;@nocy&pmC|6aQJ48ztk+hB5iD8a>M zsE{sD!a|>e*Q~2c5_UissTfoxkmEyBq~i6({DR{BZ5F?L+sRdB3POKceMtyXHHe;s-Ycni(-}TV1wi&3~ zf+D6@FoTk?Bo+`X6SeoS6Mpkz&eWbk?s5_eeG0CSj{as=lJYQ408XG6@&Q{0Yw!sU z=9LxKE@ZOokm92Hg+uezhd)i2GfH#7T#r?A{GDoiH_9E9PyA;7fcVF?YVrjB^ltlx zE_X3$drALCp^w4b4Mh-v3*c$PodnqlbV-sT+^Sog0QI8zAj_8A)fMcz8Z|@a&-EI%>>|NRTm9Q}Zjh+1YhpTl?znQN3ggo$kX4kX(RBeI+S9_f6`~WSMfp{3Mud z?0J5aCs7AHJJUs|(+2zFClp(%dw=G=AhN%QftTZS8_C$GJ$B{zVC@cDw#(9<%Vow> zc?FA_-X(6W;yCdOBJZblCO)+0H&zTOCA_8R);NR~bov-cK9-O9vE0&FMYAMp_bf-FBV!gXzo7efS5Z-n=yKt9;P=ku2qrI^=zQDLcc_%(k*q zbNf5R-5LF1X_n~^c%MenM3!|R)zhB567`i4^CXp^*{by!)Kc%HChHXWmpVyweG${? z`8BF&F;F5?>Sp+zkmmX2$eep`=7Ryido7T1Tq3%^A zYOAKrsp6_aoUidx0bOfyg4N)!^_7=k{Hn^=k1&t;-d-#m9YlDCBWuBN%N|;>F9$#L zuDy0^iYVGR5I_9OpJp+HY2MS878OIA=(ree3e$P3g!gOHAJ4Mf*-nXO!BbE9q1)%1 z?cJbyNufdAVbomlTNX;j#m&bbc3PLalzpun{6*Ec1m zhE)PBsNH%*}&6SGvx+aeJ zPT@XJTM*UL2wSbyWDQckPV@$qsog;$pBDsU&*FR7Y-At?K@iw)<3-8Typ8)bL#S z0}58|_A+~u6m+e82TR$FSY}inMK^Tci#3^Dt34*IyR5pbxvaa`&_s@BIeVc`p=U~^ z?}=SufTj!MC#j<*!==bDi_e7y%(iZz=$Ru^iBxa1%r1V`?0kxX=Cx*a@KB2z$AHAC zD*pYc{XQ6+#La5rqtOVrz}Ku~z3=s|E8R)k@2j+)c(-vj%NaK+N*?yZY@|%&4WcN3 zNoL!rZY_C~03^h}uJg~PS)Ef!_GS%2Rae$KtTEwCYrKYscw0=q2b^v|4r7 zI3pVi0beE-ee@jhsJ;a(`1}jguycY=KOE%ZG>%zySr^ccEOXn?nJOo0O*NX^44oS< zTTOJe6p7uQjdnGM=4b!-fGh(g&$DZxcnS6j$hC2RnJeB@kay+rc7raiwIQTtf$o4+?m^c zgI|hR8<4^4CQ*aXwE|aJ=~=`YS?+v-u9EpsbIU$D@5rJs(9d(@`b@_<)lcU($~vFT zj`D-CMqA*S(6yu0dd)F`Vjcw9ovhs}m$YY2NL*^kFP5jHvre33 zqaM2B>JVOd?CX)^jjCpnF8Y{GR7cM0BWaYJudS&{@A^827`R268`D_o$hKzz41({D zOpugvU7>ccc)lVD1k&9RnWRgr9NDmxj@ThK$|Z|>DS7i5@`DQJZj%rk<^DFGZ%vJw zU<}hwI!HA-22H2&n+qBq4HIhS1C4{r9$*u0(AJFhbDWvYs>=s?%eTLdR=M}J?3>>3 z*IB%Cyw=kKSBrT7B{p+YDd#Y0nVopaQx+x4Cf%ois9zt1!7iCBZF)N#pCw<&|or!{G;q~~8+^4D# zQMF?-wWV6)vm-NgSA4;xYGcop3$cvmcNnYFq5R%sbf z{|s;KTa2qJy9O=ZOO$fOAa8xpng=SeTf3Q@aR^E}O5X~B?Z?Fhl6@FUriM0X5;aaD zw~gbqQv>H$S!n85*qu7W`T-a_j%pOu)7;iz2pzw(X|YY|pojlmZ8*t+znAC_-qq`N z`dJ9|zYet<6k6Nuqp+@7Dc(0w7USM?)BebS^S;()vSQ593-W#=;eR4EHC_4P@MAL& z=sp{5K2q-{bV4F(c!M_#%RP@apGW4ASw(4H#q$1topV$NSs<{BIfSoA;M`v-QpnlsN6FXV>GD=#P8hok*Y@oidPFVTba9Z ziO-qJL~NvC$K5#e5IAhn{(Hk8RfrRD^7r1VLWI(?zDIRN3VH3n&vo!6Gk#`8GW%&s zC++JKMFuMQ*0J-WJLgD#9quTrK5M3F->x{g;Z8F*?#Ap)x%Nacl7mgf!@;K`P657Y zn-V%=5dc!XNl)W7+BN#T{uth zyDYCEu4hB^Lvb87aDzz3Lea}2z(UI27T;y_^dTz0;&759!3c)>gv|A3U7BBdX+)FB zqqFMoY0JMTCcElLk|sGkK7rQmznH2VLR<-cH2Plebf2jt2s(}qis%emC-&R#4>Vwc zN}6r|kyw7lN;iGOYNXL^h-2va$Kxh&L-jY{qp^!?0+>0@4@e2vMNx7f~cL z`h$>aDU*OoX1VW3|(<2)cd+J7CC zt}(fBva-+T@BZbuxXZC+`O2lS_sQ4DYp+G|oN8{-4N52Azmo!E)t!&dy-#U{YbQ1x z)dAo_hNQ8u~wOuwo^1@-u2{tz5@+V>$y{b9YW>8VSx8;C?6AO~nhh6E;h_X=bJz zpr7tghHD{2IldEb^Gtxw;1D^%%jpKHw1B1DM*F|%jR3;Xe}Y8Tw3RFvRXD0R7HdO- zD4o-8{>g+)K5#1z7(y#x?TsH}-5TbzXYf6Wf36I1RFUZc{b7nXt-l@lC?5+%5Prg` z`oo$eRQL3*{Y|K>+l1wsx<24d@adFgofRO-CzuxWQ`u<_{ef=)fWucCaK~gVeuE-{ z@Fe)?@GuER&WD4lPLD+Xg%te0I_^z-N&56DnF4mc^~qK;DCZz2lBy|*>kOSEug>^` zog6urE?+usBbPW%w?M5q;``?c;81(x0aHF%9CCRloUi;v{C_1#2t2js7qZro*&NSw zLwiDk3ZrTNjKA@T&7V5-UG`rb!|IDc$-mM>|Dhn_|A8t~-)JRA*iCu-n%IwVF!Vq> z!BI}al#x3fH_1#Kz>9n`c#q&_6!)i$$`FnNvd=(K;rfxR|;JLd!Maa%NLZ!h<@ zLt&y5uBMN!9H@n|+e3*&N+7OwF0O6(VVko5v44s~y{Nl&2J>GDVz9Y)@7~2j6QKts zdBslc(w()aneSQfxIcJTeHIyhXd-4jaJAueCf6L8;RcInL-@9)w|PK?CfxP3k72Gh z6_@B3i65|{4P6N~#5>V4kDLnN`9EX1o_#oV-f0BV4m6sWcP^EmTOiH8X8|rRFDqgh z$#dV0#Opg4QJ%#ceT z$#E&HqHLejh9-@H=u?H%LimyHBw>$cexM#~mDV)kHq8v1jE~BvgNM* zPr}%}t-fM4bp7p{@c-oWhrRmw-24dkg<0YHc>p~xqDv{v=sdtS5B`A3U^02p&>AC8 zy^w#Rt#)Zfv6R$kcq-UsMyGxyoM^jZBGvVLa%7ONjrcT7 zu({RmrKqU*3eDOT64)K(+hY^cIXT(bkxB;pgwjP^*->d80LM%OJfO?|>3f&G%Z)N% zJKcZ0Hb3WyDp0AmI5bx5wwazZp?rFP>50W2Ma}-k_>6w4iYpyoxP6SOgLP#NQXYy_ zdp9yc=*eX}c3;CZ=GukD;giCg)eHZ3l2Lezx^b}cP+VKqVm3+$+XlaLpR#`Xj^4#r z#yE$$dJ!uc!rte#Ja%bsTdxBR4W;@kPg!Lhpr=Rfyuem7C+m)1-0#U+GWFwa7Xb`5 zL7J1TGiBM8M)}>oAgp30SdcbjIB$5sB`x@=l~Rmw^-~_XSbACHvp9kMt7NfM3u2|8 zwz|alyXBBRU-p}TYkHyHO(WM4BMZ$aQwjQB2ZGku==}rz31|8xF_CuacXguJ$9){B{IIx z=~Y624dp-Y8onNWwBxDpEUqMrjBuj582i9ZX2b|q3}`lybexB+F=Y}XGw@pE(!ltB zQ&Izrja;b!rdGJsNdp}*EL)FALAGDBe}=33v>BL)KA$laN!9j65!kT6=;3^=hiNsB zel$ld*8lWaAIcxptM`@{C_V>iSfyT@$~H#ponX@Wr^N>qUEXg)j6_70l*zDs=ePI& z@fj9731UV;x^h-O<*DCc)M(IpnPR}PUxwQ~jn6SvKd16pDZZgwh1vQ-WZG2kv}>&mR?eUs!THKvVc{1+<)>;=bBn)d_I> zL&qbJ`LDt*_}`cV-HV0iUcG)D^W*YgFv7{1OcxO4H0u1T?7N2^o-uP+(A={4&tjE> z@b|5KgG)8g(;`f#{XdJ4lN~6jIcwB9*X+K40QTyW`GCIWja!6uU1(1uv7orV$BP(y zLpDmVoees8b2$n3c*p6aBE1sl^o4U92M8bip%~G~Z(N`CVTN4S6%X8LpFUy@jLj%hV!} zNOH-UbN9W3E3S+@d31aEnws#RgrK{vo!h3EH`BCX&&UH1lm8$H=jb@Ice!69G z3`i~_Z7+7Vn8||~ z@$wJjJV|@M#g-ySC-oIv0oF3VXnQRv4f#5aJK=DL#9JwD?cD0g^eks7%t*V{L?dC& z%AwO;LjmQ%0&D{KbOYqP(_p5EH5NIix!MDE1yX@-B z=&L6K{@$d>Y^bdE!&9qF$=tQObs00jz*FVZm9BZb?i1bswLQ{);6-O6cyWth0vQ|h zRREF7ki^Mua#=LFekU|4go^?&L#|L-jl3oPT4kmxw%PB5@;??SiBXUN)UFHYSW?wv z%Wg?3nXlf9t@rk)VgW@}C@GmM7zCGc&bhCwhR zQBHNgV#88thmEQc*M#r31mBlm!{B11es5cHf=W22b3!l}_C6NBWDKD*8}N}mthlgE zQ(ZCO-`mX-u!(M)aDjA1(}~~p>@&aq6qSq)L(74nXn7Y?NGJJ+1SWfy&dd2;IemFm z6|(?`h<1Z?{EeS$kj_f`BDmUJ9$T!2N6be?+xPcxZlGxW)ctM90yt#D=38^h?L5(z znswqMyT7gPu3XyW`@CenHUc+o>v=GT9>FRBDPVsnE>)Iy+UoNmk6^QHY z4knn7{iO1&=Xu-uAXg6p{*%`uZ<`Jmqg>g@qU>ebfV*E>a>QNGT|>qmallH_i>pQ$ ztf{2;P7^tYlR8%8pi*);@1QYORF~xE*O)n&q>?+z5Xu7W0n^a>)4z;L8~PRD^6XG5 zGVZ(65;a+s-kc_|8c=L}xWI>NNcDNCqH%eMQjVN0j-?h%#?|l3lk3n5$TfwiyUl6N z`>`|8G&;b<&`-|aE?|!1J{ubt@Iaf;Zr0eMvrM`6rHHFw!TW@0sr|08jS}eg8c#5K zw4n>Phbmej!LaG*Ij_#PmNnp8vIi7*t{Mf=W>TRB_Xq9e%AR(6U#+~HSs+c*f7(xS z138k&(OQMSpo-lSs|tBC>m8;lPgtFdn!uD4+&ZYIqUPldilgEtu9fzg!DR7Su{iH5 z?HPGZfqupzrpW?!?CU%V>0X`dOqG|*&_D7=Wn0xQN#8`rB^)ik`~E4C0qHwx`gT7@l0|TXDL} zOt!aIyohamxdemF(4B@TAX>6Q<72qCn(9lIr33($o|FuhwfV(o{I$h z+Xyd-WBvzs?-|zQ+O3PCIPD0EihvNYAr`Pvq$DU#5EW1n5GfH5P<X{a;>K|w@m z5kZj}I!KGsLXjdZKp+u94-k?-3TfxXIoI0XD(A=k*4pPS$>(?buvc$N+^W>9OTMJT>4EuZSnJyLGJXx5yLo*%BZ5IE@j)$ zH8bDhryP4dE7<>`3^5Das0^l4qA+Ivu`qsX_ObTjUtH^u_4wZn`!F#Bxvh{cu+ysIMS1^Y9+_zDLjV*1a~(N)>#o zj814@Gr?6Xg+`180k!|dLm^=9be{3E8r4=5xxk*C=gh4M=v?;1uQrN>ka4K4sSo>OYr-$<* zT*)#0jQ(z}pB~xxxm^ozwl=kikAbKz-PnbX-Mgz%`$x4z4)3*mKLYWOw|4*^X#MIx z8X8a6)pTmki(h5w6_pG21p?jLK|abrkOHjRyov9zV_}XP0z4bng&+**&kwf})}L3Q zulw-o&z~WiQO1y-se&CcSjs|WT!V#Pkw00C(Y6~J@ARYZNo zE5ZW-u0YvvXrNc~cG|aRJA%h*!?rb%U1E}vXn4Ibl2;|f_dJe@I->gO%I*(WUVM2` zQ5p5Ek|Hj4Bl4iT{tQ#=Zo;oH$FGrz=@OBEeQm3VxnQ`LPlXo$60ko}*KN9j&4}4* z+VBOuCu5NGWp@W({0ruiihleW^FHL#&Q|pUZ}x^-ho$dPb?h@t-Uc8ZZ#c5M`PuRD zDFeeZKOkLHSn^UuwsH(zWDH&})(YLr=utl?UnQ z2$7C$o0qH{8!()l5hi2XZKdXf*4U;vzbTyX-?`UnUJ|LIFP8e5`%%Xi&RXXG!(NWt z44hEY0eafw$ILena+Py3@6e9l-(Y)#;q{ed9y#7sSFwo77b^Bw(jlv($ z&&~dRuQC7OdOvV_|H_{H{~5<}|KCjU-_QW`)Qnv*Ha327^zy=Rx#u;n{adG#M*v6s zaui$e%k@A7&>Ry3-|lmHTStGcRhAsj75G@lv4=&UL4!?tF<;(|pW6cDI!2mP*_9NT zDBGZz6KtaTfgf4vzI)Ple*+F~F)}``&D`>LUZU~Ip0#-vFB|2#Gq0|R9kczL#u@Yf z8nQP%0jOk`Lo~fu69!)K=gYq^5<+W~Rj}O5qM$>xu=I3hOO3b>a8O9&wM$B+hm7TH zl=gfuj>LF>Y?BEBaw9j14&shD(TIG_I=ia&$?x*784SifNUABb`S8W!=_7EG|6V2r zv=u2-36%?9zZ(#5IYj`dtP<5^4=6jcDJ9>Xb z<6pes1_75Q4|FaZrhRJX`=)?IT5&nee8_m02)wfceTiW|u;67j4B5%kiaV|gbWHs2 zYl!0?K0-6*Ubvov;PargjhCIay>Gs9Yv&uak4c(S5Xhb${#q1uYguZ>{5^K zH?VmtH?lO2izA-A*@B1D zIP-RyH&%O6^#mOEQM{T)?3;ujRF3*6gQSL18m)rG1EFDH&oJbd=;U^VnJ)ZD4o~_d zUw3;yw?Oe*ii+Md&qS7;t^yuTt5wby&@CbonJ13tiF6U?ob8Cf`=gy-xTraN7s(d{qU7ebZfdZk9J%7p^DDACjmd%Iq%0sg?VT zZ#fA73DMzN5H-iFz9eel9xkh+Mcvcpk6UG;`?I^OANA~_Vj(+A5k%O4ZfuHBskNb2!mZ(-gAU2Buv zXxrC>8XUxEIMS16ea`sPt?!;*IXUP1_ec%AKUnb=Z<~)g{W2mg-SC@`M+2RA_UPT0 zhE6`~Y=fx9INiLIVUbDreD(s?>(UR5PS)J_H+4QD*AG_x?r9L8nERUBdZgtl)*s}E zN|NOEOi!m#Uc7jGd<3ys=%GElXG>W=;>K{K$_aPdhEL%0;SX0s@lsxw#Kff3^+w0* zM;Faz-8T94BK7Ldt?hpQmff7Y9&me${7=LSD0=)?tq>EK9xekI9@48@JP4s*qMD|jZB_Mp-;Zd?LwxaS z8LY^k%{ZY{oGhiGDz;Tj-!sd4eqQ~+iz%DafI-k~QVT&pCVDcu@C6A5owX*4m8`o# zk6L#Hd5KK@#d%=^m0kE*E48#&g6>K%B@@y0sEY;L7k+C0YU4IYijO7d*_4lgAtb$^ zaQW2sDQW+g2}yBVO>5una??*)!l#>EACH03SUdaST=Tj2Y;~4n%|n(|AMCY(ktn;Lb^*VEObpkj zC+^61C)a|x+qcP=(+PInd!(KTY;`|{aYU{((_a(EsQh)fcparzuf)a-Z#;c^@kq$} ztGn*J#{GIa9#$E->DM1oA=D?2wxrpfIKFl3i;v^MzqaP(t{0E2)L)AHvSH`NiH*{m zrFO-wvWdnL2`)!ludn9kyhkZQoC2&Q1$8U%YI6aK`c71-m6?Q?8b7?8-BqVjQ*e{r z?tNE-eKL3IOem+9aqjeZCNH}SsTwW(wJFggRK8pf5ln1|__*&<-u#M_=vKI7?a)0w zCogO7kr=c+d(+-G)pcUsI|N$~4De=ucvPF|l^iqIx99$)mg_d{GhxTf-LJgQ{gk=}kMO z#7^rwho75$Eko}m1;_}eD!K@T{QU3kbf3$apdbz za+c|WAKwN8%0ZoTxz0QnNTs1cmX@)*gLAnWL~nA9C@yToF^+JV<^D*^kV=`@U?S z8%$>HzK0oGZpu!h2-eopjPVW2i|wl0utR=bZOZA*BH1EE=j-|r^^MXW9V~!W)R6B^ zB}O1mQ!pic%!2*t>Y2@v@%4T1&rzPY6~LE$`9X%VD>wYYcdY}0_S{n|D;qZ^n(_$k z0~glLB=#z0?J%(`rebR;>%+<+z;CfQY5lc-TDKekeuqqK_}~24%Y7~A<(ytZM|o;7 z@(%i$%Gmc!i<0OX5qk_B%XPJ?)~P6FQ5KTPoTM~ow(y|?XU3j<;*%tXKO|rB(*E@4 zX?g&T9Y5vyUj2igLg23_L&4O1nYHnWugIur9kR+otqhS2FftqT*dx*m;#neOJn~TS zfV1WPVG*2OM(6gBO2Sf2T*L^DFz8uEgc zqzLelO5YA=GhKS))~>7_>m23JAX?m^^F}1d#SPA!SV@FBZ~i?kXTH|bnOC$hPATTy zgz-j4NA(uEQZDr3G!>dT;?G7yVnQMn?R1Ys+m=@P>YTm4oiaR>1#WsSAOfr;yt)h2lr0ZKT z!3IpGKi^1r;>5Y_*;N89uE%xlhG^My^}wW(R0zx4EaJ5A+l}si4n7wux~RMUAjzw) zy|OTn)N}gLc%ctrrJZ%@v-bLfim+E0$DK5@;YauV>OoD14(4dDD5Y(U!)%OWtAros zs>sEJei&WV?)mWJ(1CH!?YaYZ-Sd|?lvwulHuEx&cm#iUR3JnVDW%N+nsZdxWPXtW zZmOHeda(KMgNgw?+MmwXL#QJtS>%^00fNC@6}JZ|B4)l93WKQ;G|?}fZxDWQi}&@$ zl7fN)pYi9)N3j?4&>qU|#adjoS`wFo#|%bPl6>c1qFtjQ+m8r#9Qdd!^)7%te%iP9 zb$VW_zapy7_YsD0_&D|M?$pB|UKPQ=aM{mf;)#9%@a`G@7veO1-iaeBTb@YJJ}p7UpYhfXA7M#+pi0t(Na)PQ0LON4H$)uwH%7wjsdcT^>~Poz69`S!1LuquQ5iun%MwK zSVcpzt4jtgNfCqosAM$}BN3O9DVf{rFH8HW#q~t$zEapCzQ^ps17r#&=7tOCh3C|h zAKulP?e@A%n(^u`s7|O&nuTZ}I8$Tw8ECtt28uO1w^h=mJ-Kdm?ril99p6ip2(`fC z-kmStxZKBsCYoUlauvSF#Fa^t4)ZhG*2*s-+xLhA3%5;;b7vq7MD=fM$jO}dQ@lKJ zYm+2WMQ690C$?+{l-I(J!^B9NRR>LHkp`KSWh|Iv+wc+GFDGk2sKlL;xpBo^XEtlC z^qDvKVR$1xyoHJgfFW5BcSyW#N7!9r)RS+G&!rn=T~mHCb%245SBEhGzN{d4x~nr8 z4c|9`_Lq!ptZ(ArIW@QB;pC%bRhg2m3e2B0DZ)3d(i^k(ALGSROW>?j61=DY;F$0 zzcJ~UT1t!qeyF6uq&F*KR&(?|U*|sG;h3zC*hLrv@+|2Duj_*$_j2{zmH=JGA^XVl zz}jpY#^b*A5Pu$fbt`28&=}b>T=Gn4ATyb48!YzPtTY#V_K2j?4xRZzms7a7uJ=s=m|TwZ*$sNR6pWw^la zS;E5;L*pUzq8J4xX}^eWUhJtUN2P=lSu=Fi z8*RWz0d+cZq%3yoPmJHMYg%*1ezr`S1AiNs z5s?9J7L8F|D`0%;+PliidQ498rczfy_zN`edvqEd#Jlo<$|0mL7J=MFLHIO$76w&C zR|B?;Q*g7WXqwzNK*t)4IzgsV%FtaDsy8=;t~TggeGcA?9=@4a3Y_>B+udH!JfDVy z?h*#l;(Qp&U>E+j7!gNhs9avcn?&aHkV8k+M5N=?-u}_i)G8>TVEqWc-)yn}6CT(< zsW0GTA;UVW?@G*at0Zf)ZE(XwnDiR2h3+kaY@+u1XBfa&{89@Hh#eoy;dLiht>mT( zvV%wOD&s8JSr+c-oV2`(3|?p7(9O*ule# zsF`iN{!U?E{*>=Q#9V}^jDaf6`F)dB`SJ!4V(UXLrhCPIv>jbtJIZ-X9*sdg2mZ>_ZcA?#1Bo`XNcJy|{If@)1)DH@R>}wsA%baY8uz1>60qlf) zF8C2EmwlC9qTMYl9jKY>Lf>BD`B=;i08&$4(Y~;LeaLV-ZbQF=q?7mD<1cR2ZWa+q zc<^rJTd?61R&UThW1%CtD9~s%HFojMRed$4(ly#AOcjZH^!wANVATVc?8=x` z5^g&(4~B@jVZEja5_=6M4?b?vE3Vs&y{p4&CS*@F>8)C@olie7s_ok!a@$t?=|v@! zY)(VagJ;Hhgrt<%J6TEi+S9Pv_Io?23A9?dNbP=I(@=_{o^*P@G<7$%?DKR8a2nX$ zwb4lm?lW+b-ImnNk^i!vdTK=fg4G3$g1O!d8su;_g6MgiW~89-ufQ#ugOKC~xb+0$ zElkbS%>-Di^mqo!fB8%^E+C(R98@T^x;H% zc(-7XxfV`9`FAbhU&E;5{wMCueTte%4@R+5*7t7D7daM$Ts-()ZVwNeV-PsM$R0n=5OoA zNm6sPgjkfw#G&gHk;%ng8wItv+{aufUq$s<`0^o-hfN%w6|kbwc60WLYzI4ul`gbh zxdAL;jt5BzRy|rQoqu|v>v3kzZ&{MT z3$F|DeHT2l&Ftn-O$z6Vv1I-aCkpQ4I0sa0uo><(l(wcD$@}Muoltj>kU2m#Svb{D ziK=09OjTd4Dy^YPZVn@=@`#vo`{FI4GW1Fd!dKa%s^yFVZ3n(G?QHEdJPHuXg0Nc*)1~ftz zQF~&m=0fQ>uc>n;gVGlOgey_%iTNj7$X%Q9#8tA_v;uD;8Zd(~3dC)cBu>d-- zs!Dto(-*k>wPR+D>|l)?=ws?R!AxBjN5(_buferh^ucpjNBDe>1ZZKjfUuS&n@KPS zGW!2SM(lsg9{9J}KFyC19Aa|h;n2jdlyNqW=VWeg{;efBtPgsufC2 zwAkG&gm7(-tYMK8AM;JY5 zk)zXXO6*8^KgoumFYaZHFn&i$34U45M*B6s0()e1)N{=?jK|0hz4k_bp3PakX_eiK zQ-z@qB){%RviJ-3t?UxQ0N6h#gk{6+ND+XIg@|B7JNkhQ(*A zp_m<-6>GNQg^tU8knXRdw%@B?G$J{$QSJHRfI`E@&*DX zG;!eu;2JH6{tAh+Rsm0G5B~39xl|7@*?{#1jF9O*(FNB9GLy4v1HQ-K=0CLfBaM#n z?>q84Le}$&h=DKY06y`W;pqdV;_ecE+wsiQHPrI?9~fr-1Bf2VSzKE{IY0KHgWr;I z!Qao=r4FFHkt(?$=L&rHvs@a9&m_e@&>Hhk?gi4i%3J_*oUx<`s}v)5QFF)~)4>Ynhb30nIuQajCy+ zQNE6mO*jw26FFL{YS*Y~qMXIo#`dE8vs8tq=Zo$3te&OMnzh-o+Sijxy;{)Y zluBJN#_d*Gg)DJ)fm^9dyY_+wrp0`~cpP?8rEGxm(Hnh&%Tp`=*_jjo3kaylas{sExm%gDi5zs1 zDGalzsdWwVweB}M^yZYLUfY+8-YaS)B<{`4zU%oUb`6$#Z5nZ=-5cmO5H7VG5^Z-y z3+H2GMRjwpi#z-Yw!ejR3%pJ>T=FX-NO_}FzPhoj{scQWC&0HSmD;$ZM6l7j6()7& zaSN>?cS^Xnyl!0cEhfHO)-V(2v~|5*J_$i!$HwZ-VD_9>Q5U~$RsXs=d|tu?ml+gK zNS;?__O&l<%sfNYQ|F?A^Z zM(U&4BS5I}cZjm7Sat}dmRAQ_v*jSsSX|*nEBG21V%vFzfNMLAQzfRa`DfV>?f+%N zK!Bs|(P{m+_34eNI{a^74~Pi;=m#TxciAFr-_{j~7Zp?fpV=JQvW z!B$0e`O=G~;8i6nm(4#HgLT&CNPVdtpA}0Do-nv+AKO=UEH~AHJ8l%)VqZ79cPz1D zM3%&E?UVq$U?kPdd~k~IqXfvLzAdXJ{auGchf4$c`){ql{a3LvuRNfJqF^m7(Qc2p z%LDS%AegmL+5#jNQo4L5`=d$7p%~qRHbazj5-K-`0BZA@y@|D(<#}0jVY9Kw8Iu!8 zfrTFC(j2V7oT$=_)?e4iBeCl|oMX*%s|1!7rO-)j3|h#w<6hPxHRDtJP~L5GM!uuD z-Gs)9ye+={3+#c#YXO1A%<^dP#KMH%n3b3he7##`DY%gpwNM6Dwb`>^_0uI~xo+NBO~P-w)6QZ2 ze&t5rAX|UdbZ@PUmBvt)@}vrpmJi8axl${nm*)kuC!M^>G;55=T$SVdP!PEwLv%;l zmOJX*VrTp)zdOo(yg5VDR>wofzj3RPyhj=7-DyWorO&h-v%a(uIfxkj>A)Y{la=2- z4B9(I5?vl2z~omX)iBRJ6xww{aX*4(KJ62&!#ph_?saO=@lPGDIb}n=jLUm2YHQT? z2<&KWH7^`A+@s#5AY`$fc{Pq#IZZ?Ip`QM2NfmToTYF1hzBCQcF$>OQ;$kGAx`9_q z6tkN&9Bqm^avEFxQ#MaS=)Ujo8ieOuiWo^nSF7{6bwLi}l{d%6ON4qu$p`BEJr0%c zA)f4|scN6n2_(Po*y5ccW@hi|G5F}&7A0WCtt}Lx{RnqbRe=RJnb>zpq>F}t|3+g<^ zdm~p!-BPJXmNj-peYf!uZ%rWkcc^S&Ejx+4O7eFiiTaSSVGeffM^nwSqPGR;)f93^ z_{|d~d3ua$KJNutq34^gfqLsX^QLkcTcO85pIhpM(z>|}I z3pTut1(X(-4f+7|&iOd?6%mK-(^QnGAXVm#&^5rSU`(+9YrE8BkH4UbJs5gy;P5b? zE~!j45Dq){S8F!4`U9mDRw&2BNZ^X4kO_=8<2z-}AfBtY?4ecIxa$-x6q`11CQk)~ z<4C?nf%nIrPEjI2$g{dtJ~x>fFWM>j+B)M)Z~B+)X}dgI~0nR`*tpmfwkDvj1?XpOQ}Q%3`%iLIlOSV!$5# zHYT@@SCjs1f+4xgqvyTZX&OP+xQ&Atl=EJCw`e*aa{RiirtWpErJ4dR`NH|AigaIj zIpDcrT5{fo~t!WglbVw4JJY=zui2Dn7%0tDwwkx z>L~FJ9Prb*PX5Y8xIwjec_+Qq60vam*rId2rK2{rPI}{%nxizxK@+J&vvQ}wSJeRz zb@%%ZQFLEjfyrG)jHa?sysLN!7_)jlT1(he6q{w&2*WK)ZfmGh+aI4Zv}eL|G7GVr zES}vAQM4=Ue`^zdn)i0|e$9@XEe6%5*IK9S*2I|2&`$-}&2l1|nM(Bgx>y)= zC9*7%ZC;v6_*wz1)nVXEisEb8%vNvR4Z5bBx}~p_5;l5iqCnbI7u=39lig4%v;nfz zN6ib+-pH1QkicVzJfpVq46FG{lNNVHqSvV6CwtK`kchuK1i?4gS?btSu*?Ku%lyvW?IUps(rZ+Ta~ATwX% zp+_MJUmo?|zgJgyJJ4gSL5YN8kHIf(SH2ZxWIy3)n7>jf_#$3n(6wqB=c|RK57W!b zrs$g^D~0Z{@Ao^Nj{mrDY;mm4yS2E&K4r5J6B8I5Hf^3ecUKZwhVxTXH_k32=p6j=RAMVDl+hW&}?ec(bm$fs%iK0Mh(V_O9(%TFzIud?urSmZ_h zV?{fPSZqkqVgBUzKR>0R7;X7!+aV%q@vE`emozRlT4Apu^3hQ1jPKd~7&8^}Hw~}& z@{+Up(lzh`j@w(p#Nwv63O7n&AIq79SVnN7b^Jgpi@#~{fvR_^R93MzHJDY*K05Yo1436EdJ|85vOLzDThQ@hCDQ09pVc+XdWsLmak$bL3ufSk%f*JY zGv#4|I(~-*ypNHv8+pcgMttKVXh9BjRC}GOJEJy-dLpw%c*%SG^IjEe7R#XfQSX?oo2qr!li~jjyVjwBx`v4bv*a^Xs$F)Etp%~;cWlv zOgZyob0)gy9bGT$@`Sqar#rMk7Y`j)`h2h1N39{0&<{Yhx6T$>T5pghp;~nGFX5)7 zh{oxaNJ#bs7DRmE*<9WZUO8MY+hpvMvKvnvXP8PGgydFZXR{65ic$yd_ly~w_s##= zfx+7O*t|muo^=or)^54lO&@g<3)9s!Yg$rNus)C%lO-E1p&F^RYHbZyXiXK zY)S;-3q$~3KOP0;JNjWoLd=CjKZ4th$8x+efOxxqzMM?e%hJQ)NsbY z*gJBa!9?v2_nnPIska(Oo1Ge{*B;=oRQ_s43o0IoWvR(D~F&i)KEhx^&lbrveVf&EZrY90@6`C3&D|4 zlG`KSkLSLFxn#|^cWIVQQF>t4p3JmKXOnOyi+Wxdgz@qk5zWHTJB$=+n8!uQ>b?VE zn&-`UUk)N79h393{i5Hfw*Q`TFrPNq;#=ULUUI zhB6SQecG`SLj`oe3mRlB$K`!R91zIfC>u{>_kx!P=DTYHJWRuN=q(YJO-Y%LW=J+x z_B5^5F46q`%}x!@1QHGrbm2)$o9ZQNLmslsF3G6cJn=8=z$OTN# zm-dVBn#0!en-=I#+v+21`3!k1>{Wy$ofVcGePZF7uY%g8!MpLv)0q#mUIbShFNX`9 zvoy^#1L1!zU^^LScRzc5C%$<2>QLt#hl%kz<=G{=x6?gt4wjn-t698M)9p~xc`1dT zHh9M}WqYEpAnXga_jHbyUIsR4gkN!f!Qv*(vZMAFzD^@bx^qi1wwFne{G4jpN#fMS zJo+*|6JhIaa_c$4_E_FdwW#@P)VCWl29b%2 zOL0qRP0?pYD`YZCdXbN+Ip&yv%#Nx#nmzY=b;SWTNx*%XyArJp%-tAYjtmU_v%f4x zM&}1s^M>xI5?LCGs54(%|3*hk>re?RF$8d=^qAJHD(`kk74VVc``?x5PJA(_C8`V8 z0=^GqM#j3FMWd`6-r-MCc5A(m2VTUFRT|aJp&oBtaXIF*;V)k1p#wlv_`grS{I7<7 zz(w^R0d(g&R=TFMI|H#bQE_FshnSbMU{RJ>1!=|&m%kL1z@34h8JHSIh+Z`VTieU;dS8F1?QBcb?gs^c73yas z2wp4|)6iR{;S55oXOo5#(Rt3(j$)Q43hhvS+XJFNy=tQvuu=H%L?L(LOoy+0NBpnpFjQl!b)(KVHI>Xf?E=!cI$S zc(tPaKA|(wxOMnNeBK)TE!CS0Y&BCK&U2Iuq*gTx8@K%8S5GAjU`#--1TpNDifs2yZeyioTH{jn1MZdAA;no)sI&B?vi7Nl(Up4 zVVlcmob4!zLl4^}pQ|zD#4NId`8HI$CJru`*E+@^Lq>Gv4z)c?G*uKin%KYovQR@R z$~VFURxQ&v0Yv2jviaKt zcamW$Sa=h#dTj-oV%@TG(&bP*24L))8u+F@h*k2HEvvM8B$#BkYi-c+KDR=eA~pIm z8#*W}oA;{T-K8p6FzC=Lwph;Eao0WWs={0wK13l8MWbD9M(MFnTINokIG(%cyQ`-7`O>}p z!0nk=bNG_rSyzuE@BN31w|sAe_ecO9WRQ);Lpwqa&wNv=hVYEXbLp|E*ZZ2$VZeoe z8Kv@=+wh=`C3oU?LoWezgSEm>cpC@bdc#}#BS64F=3m=t;LPV~-@SJ_27SBvr{vEY zKrsoZ30em5ZNy&-L&43s+N!GR>fA+fu@h%@Yl5>&ODru0Y6E8&z+DyZsP$66-HeM7 z?AvZ>nF|OF31yYl0J*_ykd5LPQKt)kljOP$`VviQO<8HdZh`bD``sHU%~?5H9`waX z_$z3vDyIcHYTUu&uGYRBovQ&+_pa^}J)v`H9)ONyMc;um@(lxDieLZYsKbEzxrWMo z|E(h5CGayhiZqYR$!@ZLMiwpxi~-{=Z6?RQ!L}l!MM)18MEwib?CO?fMe0ucTxUKZ znhrhJjJunA4zLR$axdh&E61YcF%lXnk8SGsuWJ3@-*v`qjPJ4!v}QFzy|;725f<`| z+MdfVMM>v`sU4gEjo-Sdm3R(m*mAn>q#3Ei$y7^NUZDWH zt$ccX7w+*QoiaJ%gAb|JgwUy*61lt3%0jQYpIy+b7ccARAT0`1 zfQtd%;G2P5H3kubVUnMs;fgUA#@-CPL^-Q#3I)K^I{_nhIqX%}%R0|O5qDzzt4`grbBEe#`ZfJ( z-WBcNdIS~%zyt#A|C=lD-&s*Kygdq38a|L*Jhc3RpQLIB1kD|bNI~YjQG%!V!Zc9l&?b#HMX~3oUjYOV=KZMK-go29rY{-w8!EBW@rz+t z3*NTRm@_&*cJyX}_PTU|HLrW~)uJ&-mpgkml-7d6$~E0f1yAgU!P*wY8=BKdKDn4L zOvi9stP&Qm#-O!5L+nuk0Q}4oxD~ayxp5)aV%hmac)j+U{L{X;+{7%+SdkTb3qpb5 z09(H^eG9BYE}o{fuI?x})p31I(t;5oGbx0<>~K-*kj81`s+F7wquF1XI?9nfrxd!A z8SCW=2_8lU*ULJL@dtf8kld19`3}Xp`JbHb0e`D0qAQ}*bv^5C2E=-GL!l{YR}KsovMR?M?q~Gl_nz9q z?f`m$Rx+knswHDWLMG*)p=Mro1Dy2;#2%!zxxqubwp;HiWt4rA@srP-*F*8JJE{7a zN7GyF+KB?cx(`3G(`wMVpjM>pm*KpIob|8Y{z~s6@4R$Fz5^f`r?m!bU-#Ceu0fW& zp>mwn>t1?JFMM4EA76|o)~cKrf8uhwd!{}A`ILyLr=}~ddw%4RFGZxfqZhM9@9Iuv z9CjoC2jrqYM|h(rqo*immA@6$!j775_rAcN@!_2+Iq^_LCc!;8^a|WvW6+Bg91D%= zF3HPdQ8plYTPY1QhVIvlPHx*kS}pQ^)8p?!<;v$v8@@znN6Xe8K8ZLUx`LNDkuTY? zto@ z#cAAi7`L=m8_v+678mPhx;V7jHEro)828+RgZf+)ES06QogQ2w=9wP2mE66-aJqW?`T7nK>{if%S?tAz{D=xwa7N~o)3;*YR%xM)D)>;ilwO&Z zo=JoEV8Elm8R5`aj(nEdHc*;^cBTYcu8z&6l#H@QbZP<#R^ixGf5e~%^HhC2)$E}v zn(|s%86(#0Up^e1eA<8h-4f6Nx0R;LnpkR#H%k~mrObF&2%_p?5Rvg6wSs_jN#{_p zqL-)2N6!8b_Lp^FY;7$Kc_*%aBWxXuqk?w8YXeJetq;-qPJYCw8Vj;9-7Kl61&N-! z+cWqeyl~QQV29Hp+D(6*KAMQpc6NMMDjatB2?1?!GTb5QB$qE(n&LIc+Y3{C@C^dA z$-2u?=^8h?2w7ftdFr?4IDx*|FmhyT=|Y%>Bv5%^UoJX%Mc7=RSnBg z@Rs1&T_D~!`qT&{xea4GSjpxu&G7N{gIdxmKl|A*%utm_Gv|G)cqG3sJTNtE&&h4; zJFnP9;X%;BynytMJ?kU-vh2?*i_D=?8Y6+dE}TNP5}tLPW&gH#?5ShR(#K}A4A4*> z(q6_9*S1+HIQiE!a`17~bf!lY(2Zp5P(e@}rfM&~ty~!2z~@=>XYw)|m9v5y^^`}ZgY|9ai6jtFF$UC|Zv#hv!}8Sjv>(j5Mkt#)PTajzlu<&JG2 z^x^Glhc{u#&Xm(ZJ%gv+?u$g9!^9lFYOPZ>eL)d?2dflN4&$);nTFrHZmfO;zZp34 zwXy=qC2=}z60Q0^p>k)n*A~{p2e;nUu!k29=tz7pr50+ZcYfG`nmOFtpoY_cb7wbB zhY$J5SCnA4w3|v?(G=N%zs5kiwt|wn)Mgg9&Q61x>dx;GF&gK;x~pOTluN|;cQC5h zq{P0es_-z+^5nh3=}qJv)eH2tr4sMdgoTxXjH@`|CDn2Wl3;b7S27LeMd)}{m-T@8 zIC0Xh0`B*(LyMdCzs)=vWRr;CzVQ$Rp!4FYrlpq%i@KjKz!mEbhu*xF=C)B>{KEPV zkns&78e4DoXA?WMlb)sAKngQW0m%!Y7>P>NRi)Y42bLf*Rc26BJk%C`O% zn>&cTmX(|DM`%~vjIwTbdwnwUeO(^ODm8g##cEN)C}l9g4234W+fF;nv>1!?gS=lr z4;o#=Y{&bv5i9Nu*lLkxqp%UxBup5NFif^FL82-b+c4~9CFj#p4QYeTX*|Un#+-Pw zZvi8yc%Lcubf_loF{O|mZWf+($;vNiPV9jF1btIht#UQDi&_6U-Z1n}IzK8aJOT$^ zy%QKXHq*?UKAdkv5}rc8m(h5ytF2r1!1zI4aG;<-KH`s9y`PoU$D;RvNMyhNCIWwl6jmu2tT9nheH}Nr!irt(1?cXj z$8Vh-Sjz>?3tPJa7?==`?4}Q%PR`>Sco9(T3-Bgf&GC^l?6*GOzSDLY$%=&KEPod>wNHCHG+fM}D{4n~EAupMi3&m#eqqdr z%)ff<9FXpUH?i7xfEZv~vH<7MX@c9@acGz7Dndo+iU*|*PTOK*I;who)Sp*KpR)Pv z_2`cdv3ui@g+30OuND6svrxOE7Ofy(f0X+2Dv8C#Xq_f{R9lbz+|t`H^RuC$WvpTR z!afI1vzi2PzR;D)ok)E!=sbW652Ds+Max|{u3O||e5W|@;XXZ=d-$`zvpr>gO%i`r z$1Ux~UUG}^2AV38V;wM6B_t**it9XTVH)}Rt&h_vA7_G6davyje*8TbuN;UVv zIn$*8(gJL(2(Kv7C9kf-r-0huLcR)@3t7X|Q27F$Lm(cHi_bJ;VgtQdZO8ygGI%;^ zX|Nf)Sz7t}e2^E3ALPJ)MhJgKDuZ)covp%E;3>&@s`Qx%j`9`F5r4J|$dO2A0Rz{z zRL`?JQ58g%*g?1HjTx%)n5t!`)2IKz=XaHVK>_7^9NhnYdqekQQ9^{X`^$H`ypnl7 zo0B0rVt06H?hQ7i5;%wZi4eL4j>=vTnF{7p4wam0hA4zfY;zDkl`=F<+P_!LTFx+L z-(C&56`x4-{;3OU@AejOa5nWM8uwBhTG>fL5&7WO;Dd(O9e5@vNK1F=#%2n^TKTaa z{lOh{NjD8<2Fxt2OmETLPxt>IAEWJoFa_FM=bO}mZ+@u)J$nui?f+HO#2a#=gX_c} zeM@w_(ovlCeLo<9oEu!uJ~uHpwf-Kc$%8@-eJU2 zCrqRjh-uS&D%i=xRjHeO=UBCKu(A}KOEkI+2;$BN-CYV}A^NJOHLi8{A93)hk`Z+2 zqY;Hb{bB>+5r^1IjDSzsOYc>)mt$QRk7^a=SMj&ex(s7xwo;n!kI}>IK9v!VWAWZX z#+5;z$9t!AUxg8nAJ8)6*X8stV``U*=bz(9`xp}39F0q`;TgQdgAt!*ltQyr6)0p>GY&{G!hlE>2nJ={D3ba-iEAtMzRz|xy~K~;Nc~tQ zXPnk7Ix4JaBIL9!{UK>uJ1ats&Uby5_q;)saOj7EA2s9TnsI_?v`ALuwok-5ClqMD zX$FO`uK7zuBCr=ne6TwH6CoNeM2JW95e4XK@zlnXs4WiyK*sogiN;-jhvwpiXIs@S zZ2@wrujYUAB18Ty@%F!|&3*bJ!$#aurPPnI7>*&%mWXZJ0d0qYj z>4*|;lpAvG8l2X|g6hKVa~4LLlyIj?1e;K0N`vuVdQ{9(`L;3z~kEKX56iH&V$XXInmKl*` zDQl&~gd*8eb~8pH8e0+C7|CAtHOx$QC5EyO#u{OavCIs!y?5X5@Aqu)d%VYUJje4s z$MMcT<}lZF-`72J-`90spU?R@&+v^T%;uI_<<1bc19C2&jo|!F=h-1j+Mazsk|v!9 z_Dnh`yI&hBl%!vN3^CttRKb_T4E>=!$wVQ7YgQlUHv=jkq1PKRYTV{<`0vo6keEBJ zS_j4(F-7d*i;d)uY}RKxfHstV>jrr+m#v0a#p;vs+(&R_HUw8hgw3%joyQYpDw``R zwykf`?@graZt1{12=_=Ko&AkDiwGX}-#QkIm?1`^U7PZsMgNvmREkZZ@MnV9~%1mv>MK9RlnGc5UQUPdA`XA zH-Xj1=a|<6}Zg0t%bIRrg&~t|q8gC9in3 z?mNwuv5Lb6E`}WP6!o;e2wMvv5LIb~@uElmMOq+X_x_DB0^hU#wP(n83zB>h4U#AB z%ko%1bB+yuM7v3*V=;{x z1=Zju0yc3eq~O-`zFl3K+$r~82Semu+=P}V?PI%u%2uB-|5hxx;tAmgZwvuK3Bkln zhp0y!cb~IsSKmgTIvtf8SKr*)tq`pah7JlVPWUwsB{z!A@M~YG!r($`Ptm+lf&vuO zgSyq^-A0JU&DTTnq}>?EmX$Cho5A?XluUalZlI2con{~4Z$0=@jJH*5Ewq;QA)dCr z>ikW|^Nd0hkkxj&C@4w{Y1^#@4${|zdEq9a0QL~T8TzAQB9lj}!U*tCwE}=IORYxA z*A?!90rqa&Is|lEPRl;g zOJ&NAKotag8$A76l8N)00iZuubmH8jnX(tsX`%WnyGgipU7wLu_U=Y!5eN zbwadNr_6zi!f$i%_Kv9QY3*6dtokD=*P zcd^f$d&Xj#$CE_BzU+k%Q*{5(tgf;v@2vpl$3-LY$XGk%J^k(Mg7{5>0x3Uyt@qbV zi8oke1d<+Y*@4_>oZUCs$SyblYW*5y*UsNq3O%$nRl6~k6abjp5J!^$12?yj;tvGW zHc_A6b&Cr`kFa09UcI^{OWJeTGWm+!uk*aS*7iSPJUMmb&UB2f$il1DSl*+G$_sK? zBB6cGi1_ad0joPs>xuK*SsCo@c<~YQ`P8#WSA!k9b_$A`2Fp*S`Wx2ov#_b7N!>h`2UMprI za~QhdqHx~O^}IbRJDz|unQZb(eX@x?f139V&uj)kozBw4y zF=+!+A1L)rxqGg&mN$NgbtLT4X46swl=WVT6HED7+rB8hFx*nc$7XYlTBn%6_72?Z zV_ONkLFIN|gQ^+x2-d7uA@sBFukw@R;Fb*TjS3Eq^|p2+6rU<28u1!+lL!A{!Paz2zTtm!l~y%ciGPA(mC~1*UIkT zVOfG!hc>SSrP=6=StmA`ZMGII(?+UB;$^vcHhy_8>=vHE@%_|$N!dolZTa;ln_h)< zc3KI&ZNX^!?8=aai+JZYO_i7o9^0~gm&QLIa(qHv0u(6wgQ+_FYXx^HWM5~Upx+NM z2j4krukX-j`r~bGR&D(EOj0O4Z*5z=P2j^ZmI@{e_3EsTzdd#N&4VeJW4b1_Taw2{ zVPXI+s_-tdwhvXWB=!K z!m^Ezf_)a8oo73(r=Gu7P>_l}yDLrnS&%AMK{2-z7P*zT%c0_K5!8z7xy4K^6?d`m zg+&bBHIB`8gK6$=P&G6bq)bOziy5{Fyazo#VlS3mFaqvwJ{e~v*4)6jZ5L%lJ+Ekx zC3r1L@jlI{vaIWfUDWDH=mCktc8KS*I|R47ElZUyzbZ4a|5<)K-UpI#;yRS^akYQ9 zn*8e>fFhu`F#&q-xRRQHDf0I&E7QJ8@Eg-_UFU7!p}clB8_SVy$!iavUu-Y>4C?di zAf;x8osRmkYVABTtR1cH$yKSM)P&I{(5Wbq{0u+)y8I<9%L>4zKq{hQv36s{$Rl0! zDcDI`%fAFXLwmD-iUxnb2@;q4>rI5N&>vwc zpms!N2SBUbNcK z@g{1bmV}hRM@+7~w7sH~Afv0L$7QWIrD>1*+g4!o+eofS`pp^yy?tJms~Kq)3H;;BsqHk`fg+!|Yc_)0ycas8c>@#9xQ{A^S7`q#kBWXfv|HA1EX z&zI5H*`W9K>eWDgQ|H!9=A)i-x%ZJ1B+i8Ob#Ab;#~9=N)W}uoCnpG@gpE7+Fmcq# z2b7R4JNK@sXdM=Nuk zJdxOhf-|`3mD3Nc_Fp&0UJ-*w3+PvMZ^a1lrV8zo^|tzC=3Pb$spTo|N=C^nF9YQ) zBQ~Yg(5oyZ+q@{ppz$+tA9J1ZV@uT>fo>@ZmOZkeCI8Y{HBP#=Wpp0+0gKN+qou>b zE}bj9o?JQ~y70XL2`)VF95q3@W6woZ6Eb0_aN=A#d?IlA+55}h5g1REmW-<`AbRHf>-+2TU7SOY1`%LE zdHfqcD-WdEM@aD9(F`F`rD0({6~k90SEVbYM3q|o*1T`;rt$E$?c`*~HEitjc9%WQ^F|b29+lJ0`!0*-D3{i3Aht*L3tD zr~U02wDKUgQf;3FAru!kQ^_A3GF0|M;RmXs*lqZQBG91P12Y~?8(dQ+vWZ9p~ZKPZiksDZecg`q*Y2R z=h{k|Zb)mcPXUDRZXr3~dLl!DCa&2u!+i*g10%w*;;KE37_LcY?PDp?)jU^{bIa4{ zGoFKYN~`-li%aJjmA`l|RGaUy>5dSUfOzeX*h{H9Fm-;10MSPU>Te7`tF(_>N0}KB z(c&}oE;rXyyp+{faQp%FBcI@SXc*ZPUQ#m-G~0#048HQ3(Sd|q z&-C6IHR_Un&+0j-7oK(-hJ(Ho(GRpeyGb^AN@26K=Poe#Iv`R$jWb~9kfHV;CnIC- zm{M14lYBdc1?30Q{8hrM33k>7ZQ!<~IC-Z}mR=!?L~z&ku^nwTCeG2J&t!QqH$NQ1iwYm9U@w_`_)(nGI=fhKyh?ye{@9+_9j9IVXHX}9B6P0^ zoiQ+7Y#hB$CozV8lNL8eFgJt4O*O3bn3t$Qvh|M!=-R%+%bCF#HXH0y`vWz=Eb;R& zdQtxNMRM^=?Qk#J?9brptC)|>a0E3Dz6|u|vgXa}Rog3*#PL|{_FQ05Ygkerpp^Ln zfQi?gLUR8g%o8x+dHHeJHh-te>1B3W?MqoM*|&0D8Orh-saTz0(}Utrq~7p26d#>z2=?M;+$yEUgt0)Vb9JO$2+^OGte1qbAFD4vJt)96)-qB4K@H(N_icHR4 zb!K~~Bm7mjE}so;k6+#zt@adXr4(H3ToHJ&+MdKGUrxXOQR23U-UF9Xx@>sx65NHl z{DI(va5YUIAD)8-?z0Qa9N#yaZR^;fNP244h_*$Jla990FyY(3<-7fdx!8{t&5;sv zRft)WnabB<+G7ulJjLafAM!cm#m-56=+h&5MGMY21{Yl174j`g7d~vwvSyM;XGnI+ zJ(|fv`qZWBBwYW$!pZ(H@(ulRJy*>)?r)1lof~(92NVy}E$RTPc9}MaeyD#EYCW|S z(N?W5=@je?_*M?xZbwc!D!v64sa)FElor2~!9X{i9_Ce1lf++!PJ$vmN~b>~08bAZFvh214Cd5oH$|7G5iD9f=C!G1R!M zcQ3#sz{?j)+srh6M~cV66NqhT>6;n10mW0H+oga2A zhy$Q%^~juP`87bPhjYnq*To`xgEM94LNsd(cCh^44sMWwXks#N#6beR6Dx-jc1wJ z3*pzr49z7DP0w#4_Wu*b`Q&Fy{{dtmkQ4j=73lkK!j69(M);JGNliN12dD%!C{{EO zmIKTcN071)d?;*A{Vxb}2zUTR);eO}jY7=*T=AoWEXGRk{Vbwi`k6qon;v%H!4YqmX+;r#CtI!Fc8*-}&-tRTnO5 zBgOJ19i?xH<*MY7xrH-)a9#55++ZLqe#)vJA#(j|d(^Id74rnWb&DEcQMdFv-j4>$ z$jImqI*2thEpj9vgP(4sU~2;H#hNv6J#}jE&nM$U$*+3*1~i!DV3*4k8fzw*DDNb1 zR+ptCiAI8R4Gs%5`(X-1D?BRU8g>Y&sz(mPg<(tDfgP$YJELfoe^A8R(u4bZbQ)9~ z76XddmVPJSaO@8t>^fZtzkOPa;~?hsT$L$IZLoa^>F1+jqFNuvm%1sFrIiy8E?8L2 zd)CsD&D<|=Vso2JM{kWs=$Ww_rEZpxDm-tFkVO<^)U1q^dd9`O+&pDyAdRqM;cNxhP`7 zz8W&Ot73D00(Kg)m|p6ah2S>*g9KxBR;}V>j@#yZOO-+xfEilsqzh6w16u#H(>(RD9`v;C}DV%j1o@T%G6+ zDPY_#wSBkas%o2Evzplj5#2|gYd=Q{xhGeJA+$HudcveY7CpwZBc1qOE99pXJ@u{m z4c<>jqR`-nvrzKLYwk;WgrXUgGez7!cJf4UgB_-YAE+Q=DQAKq--7^zb>3%JvH@}0DapXdX}DlG-ZWr zu*{G^DcA41+=f<{%%Da8hzi0NHgc-YQAVdIIdzk(EpJiRZu*m^mvw#TEK!h?;X|{l zjH1mcx{8kUs1FEq^YUe-k0Km6PyrMJIQijOH~p(FgL^0% zYe@NFCG@^6#t1xnVS;v)F10Vbaw9c6KBjJRy?N$i%fssVWKC_HIN8@MH1z@gck0Yi z*+$S|2bljolTGgD^VAtOYUxvCVl$oVFm!02TeL$nApJFSlfTbh<>EqOz|xzbzz&@5 zZw?sP{`7o7t*)w%EMYs61RtU3F8Ag}z^VN<{=+W_j8RJz0jmW9MK3``y2BwS?8|N& za3@NY94h$@1lZKaHNd_N9qHRX>OC;9zk@$%?PN0Hm^v!t^55@$pDr7I10N|wMMl2H;;$`Xf* zis^31A0sj$H&=eWN^rxJh8b9x_L4%jw|)?|^1}-&$%N<|0zr4(r>_dW(g`pu?Ml|0 z)}G^#uwb0`*3^3}GGQrKZrf{|^2=LWc4B;JcQS<=Q6Q+!eNyTsAcqQmc(g6XyI*o> ztWqcVmh5{%qhiq3ZmVPRhxzn*JTwVVk33Fz^|7pkUju60{iMPDuc63LkE!P9=-NUj z@AY{?>2Fl;nI4_qKVqR>()#W_?~+BDZErC@+0(}M9&X@9_QWbHJtGb-3{zh_#mOkh zI+Z8%Feo_sE3ZK#3k|uK@nP+0ZYl<`+ZRx&(NxrntNn7XQ&rTGkdo4)x1Br#<( zD3grJc8QXZu_2?n8@V6PW&xts+=2PP&&Fa*lm`2VmsTdy2(OJ7r@JX`bHFLbFDs(} z>c+-Tmg+@4=F@N!jVZeI-D10l;W|H8T79mNXm{&gOz?JP5U3p}7OwKi|@Z z)NC*bzFK~mg{QA%)i=_i=oMc!Yvgs1YpE^w(Ej49bQGxAqrbp9x7u@P4f#_b2?_{q zYwqqw^gfi6gxoQZl)K=5r`iHJzm+|GFk_Rz;h)R1>U_;`yMvs*dZ_G(Ngvz05;Sdi z;p6e9;(G3%m65M6Ld^hF+{rl-9n78klRpLBi{eMsi5Yyb{wr#9s(0DW|4&O`75xbL zCt&z5g?;`z5x}3}{7VqZ$Exp-d>!9UK)Ba2w7b=BD!CLJV~NYaNKgCApD(H+k5n7vE>VXF4-eLbthQrhYD_xI~fDBNJe-#%rM+D0<5FS4C%y7zdH=#x%}hLymut|B9`7xU0+A-E8*03 zg;py?TV}4mSUZbguc@R+>i4jSws0jJd$N6&>dmYsQ`fJDEhD7Su_xkDkoi>R zAEVC86I|mCj9=T18>}q|Hm7?urAWr_6GGQUsh%5`NGhPtAAbq5;*-aj)fso46{F=% zx6}tLRn*aX0npHt%nfE5FDZ9_UqwSYYSb@@aRszV2iyqZmY-K|o8r^_{Jum&;ndU( zhvwp#(GQzSt;COY%Fx*9{Cklu01QTZBgJaF-zI1FeF)qmu%dD9o|M7|r34?y)eFP% zd!go_Vn_*RyKRM?bzqQ=_9m|;O1rWg!dR(ZCv@&TC^LB{oR>3fY&~5VQ{$L~%p+&2 z*0|ibQEt#rK;Y(sMRljWny6bw4N*(!3`UM8TYtPnUvd6Kj z)Kkdi$dPz{U$ozsfb^#)DBL^y8*Vlr#bDrx1n}m6U;GmiSkE z!LaiVQS7xJFvcF(uAs4v>Idz=A2s*1T&!n9``uOAu_-HH=2(dN=gF)Z`-VoBIC+c- zjuI6TCkYcDJcP2Z>0c5zy{AWZng9$amXJ48EsN=AESz28)EhKs&-2qkY122+F` zG0de97;}SI;XUxM*FEWN{^o?~JAAWV*ee#9gE%%)9ed>uk-Y zn47T@+zz*v>bF(Ou61S4GFv{1iV;>Xjm(!9@1g_D;xk;8L&)VbQyT8KBykLQZOn-F z*t=ta)yKk!+p}$}FeIhEY@^}>zq&qW{%ynHnb~=R=ooLz+qMIJ z;}moE%tIWzn-C}FW4iW{3zuJl?)ubwUOPKi5HdH^qd7N`_u2CG+2aoMuD2)EPQc6S zS-4uWpUd9Np$TU1Cyi3Q>e+y6PP=GVVkj~fvD7Rlqz_qVDMj)#MDi3zzj~ArbJer5 zZRup)qru4Z@BV7_2QoZ3Khkk8z2{r0GnD}(?Dpah^wp2wC}GUOAe?=LJ=4pfHl%y| zA%YNgemEDb>mBD_)iWBviGdLqy7z&+R24`axxKNLZu?33|q|^`+;RE zOKRbGQvHZ4bfnf?uF;oQs$(cVhJ}RKj7R-&J7|v}hEuc(%HES}Uv1HHL>0!&&?FT5 zYV`3IW1GI21*z+){(RpmYr4M-BQCh2Mbsru%Q~#xrm=>Cxa!i}kGj|0(!XdHb(SC1 zoI`HseVxi&x!~EKELl-m3JwCE6eg09=j`miI~mx)LMegk)mNUT=lrpUdwiTbq73gIH2|ceV*ew_&B4* zh*|gk#@?bz(oIs|Z{6Jnwksx=i8ktAuek&-@ToPlOU7aC+==-e?!WDc zRokOh*M7Y*H+>vt{k0@B&IN<=c+zZinqKIbPNrUIY ze8uMOtQr1bAg&kV;PY92gl^DBy~=O(9U;9j+8}6i$IF^mFK8vHazwEH(B!tXj|gp) zxfjIVWp+Y^UD$=2SkK{D!M?vix?BnZ|#jk=}GFfS})8p@8wjo`jPNHns)^!)z>;c5hJ$D49=52glRuxa1#vOLTE! zH{-gGc{mG8%z9-UkMCJlo)NgjxwZXew?j(r%H0n{mvYsMhcwy(H8`onA0(>pJs!hPf_)1|9uLhAqPuvC)>Xe- zZSeF8`6UR%G7-w3CiEP4&Ni5XDpxjptq~Y|oB;rPK1M^;>f93$jsjePY5~ zt~|!d9Kn7qPbpwzZgh(Hz9^4=LZiJ{#HdOX;wF9)g; zY7jTD;Ygs}swq6Bo(o7wQ91LxUd?RNEYiocAX!%aJXOj!Y~1Xtdu9-%l}({;v7Zqb z_-)|c;a`HNas0pbM4*0Wm)4AoOkOjCuG_qeR-3lKKkLBTG#ucLc0B!)0Xq}R9W_!R zgaas~K;oYu>HmYMN+j9`6ft-Ph%9Hn1!c(rkXo&N7f7g?g31a||J#HWROh;re`k)y z1nSz?OgL(Mz`J-qH)`aO*-@fNIy~RUsFA&-GZ;nuHSw+y+*_Y#F^*@g*CIxaenrvH ziFo2GKS1Q6-#fMz&g8~@#GF`W0v;fPOb)kmWIi=B_~DIVPeS3;w~r?QP=fX)#Koe< z{7|+(Y9t2){J5SWOft8Jf;#qSk|!n&#gTQYP~0M9P7~LUOoJiNq7DwGeh<)WWaM*A z2_v98;w+`{Iu7A}%kR8tQYbVZcBPSll@H5F1n3YnqdsIwB&NJnN_trgB3y0AVoX-X zYPAy8?#GS3RK_J^w6Sw)-;&Ns-H&Eu^K1H;eAAkpDLPT;;=l^#s<^P?;vtd{^gZB$ zvuko#Qi|Km+66{2hg~`wMlemOoClIkMZ?*%x``0Uqc&yJM%KvZ6jZhRU4%T`EMod@ z(QvmYenCqd%SKCbS-FX&-ib3EZL#8?7*=+WSti`OP&?dlN9-R!BXM}+6}QiPbfaMY z(PA!tFeBEvN!D1Q)wtrw_Zi6BOw~LWiL0!_z^s%-P=VBRhdVA4wX)^)dQq-l1UfUE zyeL<7Gdo3@M_C8gR)KjO%(6Z9J`K@cZhJh-n2yqDEv?~7p5Y`fx@Sq@PypcjM&hO+ z%o{CILD%C_lyPVo-;8j(t?JFk*z_aexx@Eu(G0&e2{l{!+r}NGgF8)M2s*@PGvU)f zda?SGujVGInhl#{%)5TPyxCg1wO3d|Mz-is1sFYu_@UHta6f8Sc^Cu&0hKaA}fP|^u_*6%+MbTBh4n1B; zv4jmQ=@$<%Gt+rzHItFy?tjdc?h@ zVbQ>Izq?g_O>8$jtE}yQddWJfY`W!n5=EPy@Lpq#dEr%YYXdVtkc9BB2|A7Fv4mRJ zvs!)a*eo)Zbjgo;p8ev8n}zyNApP^`^CCfK0ZgjM+M4@Qy&2EfFlNfyZ9Ry}+$P@d z6C?gQ`obl5IJ0g-ui?;_^_#(QaBmiN=6Xt!hkLX1KpJCxnqYza9liOeno2)uNbcld zvIWxsrZVUIRcWp`6Gq}Xw3XYCP=^yG=pkroZRD~UU6(PB+P?plDK}OU)B|~tZ^1h~ zoEDqg$Td1-z9aptR8{z@%dV{Cu@#eHnw~=--Sn$2Pu0@I#{@i}OSd0}2{wb~Wjyn- zbC@Q?!ED(XmKXF#I9I({wd1>+&Twcn6oIi{1<%a~4wy?#B3}FW=46xAd*{CMkuAT@ zELFzz)%zmnxX{_^3dUO3EyjbA2px_SUI76~G;jJT`tn;Pwnqw^Y zd?=sWOlcUnb!qbrm1Kr|Pt&Y85!kLxq8KOOpQ)X@&8l5%6h6uwDeQo^5$=Dj84Qzj z+1#QE$1~n2TcrnZTde1l{qWrW=NT4}j4g0?n)Ta#a$ zhHok6jauQBZ9JB&$c{YOB#OOqhOfD2`{QI8*8wb;#0oV{11&uSNr3bStqv@+%0rsW zCf)GdnoBrX<7n2aEok~nVsYh3ongXH&3vXQd=$rrm6ugIiH}v|D<3B2Vbar`$YtiYr|qdU z^Wt((HruyS)Jqu`zWk!U-?AgNj**pXdKGahjlXMDatOdU3Ewiqjsvz*sngvx0GZ`iQ}|Sy*D}UBqB@EMst|H9SYL8DJENwFwk%f-X!SJ9T$WvSaA9EceK? zgLJ(6;jGwK$m(b+Ng24xnzrd{MDEfva~|GmG*>9ituf?a# z;Y}8Yz}?l%VM%=nwX2`H{er5JVEln-d*M57G?@gD-|wz?7uvC62lmzek`jHh^J>xPC}ooZlnfA)Z$q~|bGr_q z(U^LO@+P)WAy8jHE>P`h-5#aV$WqO2Yyrbq0<;_=Mn7_!rILg~hZpqI^D>8le3VM} zlUQ(gz^Qj@P{Gubj}(=|7yt1gFy`7DqCjNANdWHgCd`^@+XFqdb)i3Jk*^)U#>iiY zF+=(;K6A9?F|^?h#F@FVTfXL+`o04qFj-xoOdP%N6b0k!@s;<&_m#e^?D!60!BRqr z$-Ah03(i~l@E7EJcfN;;7#zFOjIN`)_EF=!OfkceVwn)NXos5MvKzkO}D7%sqOG+g9Qk|H)SJ02N*jSsR9w4 z89J=DesNplU3Wyb(cR1)yy!m~%7BgPz=r$TziCg4=l|!4Q2&{TnCCy@S60uZG~C3; z`9V9T=rBONG(qYgTr9`&9kEI8kWRnrW;l5{caKWjnIpo)fz1TA02=G+`C5l#LO56I zzh+3H_sn(=<28Tjf&_ndVhGfC!X-QVfXJlLP=Z%5GAxKtrrqC z3#Px*JQr4Scah)TH0Tg4fX9H?FqCQguP8@mb@|L@*7E1HLU4qCuSAC>5>!Bz(G5@f z2fQ(rf?*K3S0d1faDQp^M0i^qieu9;q}4&Sl>}8`x7e^v#yp+-lDft5B~wr!(Duh) zyixL`y#Vg`GBBNkE_LZ}$cJ1F_eS2P^t%Rzyf_&A;kah1djih!C< zXB-&ka+87-eFYF7uIvAtX9CfvG)vX6f{vyv?KYe5b$bc{NK%+P=96M+@Yb0nZ_HZ+ zlsM1{7s{GC}D9a$guFatLd~wu$rGL5E40Te7ISpqNJ{oP7B|Hmnw!pqDGoZ zWdjFqEQ3_r&fh*n6lqr3j7dM6CQ?_tXHd&BZBoA~*xG@9)GI9WL<93!gZSjCEslSL+TGpQ%8 zg>&hg*Kt=5a_hV&#AnhRe96^VrDU$#7KZ>+TVs+&4G!~yPCf6}8w3tk!@b^t@7R3$a@(t|Aop@YPP0+&bPH|5Q(T@z zliByr^Pzfx1hJZ*7cdt@JkCkL^CjMF)dt1=HaOMBla=97S?OH!Qd}UC`WhNnJUc(p zKv7h~jyk7*X)T{7r{8oXyi)&=r!}m~-!}AW$-Qax#k56PcXNRzC$my*jXI+>+tHeq za6id$+e+youm@+#;dt&?z;?%@TsyEf%NLV?H4-oxzYk2pm5h^ogd_L}wj#;waAPi(OSSXHRl(KXpARd)oY)=W~@di*W(JwH8K#(5_D(4E91s5YtzYm zeSZ*Vi?u0~?}?(V)F1EmYqP*q#R61^(V>9W}T5mVZ#w zw(-HPdt$*yFKi%x8C)D>6Tx1mws#q(=HEpA_G246RT;#`?31ufy?1Foh`T4^l8vD! zTeM_0DC>jfbjzOQ6*jc30UfF_2qv{(*LGL+OtyzQvj>N2KSLbNv@Z7LjjQo=*`v0} ziuOnSay|pzFKConGyS@}tzJE-u=P^1A^vCy?cWn2EDfG%s4w%$gVtB$P3#NZdQg>M z&)T};x{nsszam2y*i?AGznITnj}ELGJaY0|c_BC=d9z^Q8m?i2rs-G$(|&jvmYfSO zKQbgc=6i34(&nG+KKLG?x98j{}k)m-^jL^t0O3Nk|s|URrG}La!byP2x?PyLk<8`-Y7m5H|>-^gzcWVSN(jp)*uZ z-s#~xdvYOH#OLWrrHcY7=PZjW?qMUZ?7aV!TJgCz&EseGZ+a#U-sh{qpJz`+Rp=?* za?1Dd_?hZKIDYTisZk<|| z26)`dkiq8#vh)BRuk=@!^5m#3b)WNlXx<(vpz+>6iouR$`k;x{u7_8^fItTV)j4nc z?lT{zy_e`X$FFR9($i&?Is`W1MpW~slPKzmH!5fV?%)Fb)VRILN76$juIv!4mb0v0 zKs~+IJ9fuP+Ew-64WW?TRC1^M9=PX--$$YT!^5i)QBfJOF`|iETG^qpQSao@wng07k-|#h;iNk=*fq+;_NyC`d zH(<241f}Yqf4E2PM9M6orm|iRRuIvF&>8>SpTjP-*5|-HR*SsqOBQe68f>AG7v;sh zpL^&odS_*i=Jh*${#?GD+j#^WyQy1+NKVP87Kw_J^c=wpD=V30&KBC^)ujeWNnFHF zveC;T;^s~M^hKp8{~EHTdV*wecdPs$amSpn2EAdXu)927U+c!aF({I3KbXxM@6x%% zo>za#M%y-#7c5k;Qw1$9@^RmoGF}@g2t1gZD%y~xufwg)TK0?-8D$kt){aQ>#ZMf8 z%in14`yQDxZ}>6q$y>K&e&|8gAxLZG)UVe^i_L%dP>Bh7l$4Z+x~)Io8#N0xPB^C~8O&#(@@Z!;3dWnkdc`etuUcw=JBTUb!t z2t}$f45s5xwk2t6r4Fjc=MTxJRgLy#s)zNMZDp@~<;_TxRzZ@7hiQeY;qGJWjNuOcCr4bIfILJcbI68SU|EQbq>^fwwdCu{RE=XMr_4r^Uj zQr$Mj1*E0XGDq_feMQn0{5yKs;?mMm^;)+Lm!(AaxC_7sf9?zm9{0(6yC&{cX<0fI zl`b2GX61k5p#^jA(=e8Dsj?cY2{uWV7^!xfw{%{4y7f>J$7Eh@jPd8Cs#yNuDxwXob6 zFPFj&YNsKEOdDQ^H_-@`fY|T8`Gm)9nHF?sB_ph_+HUVP5Oj2Ei0N}rQ--hxCH&nKQxng5R^ULU8kynTS!t zNH@u&H*@|;wGTc>UqS!$P4*lMRKmf3eY&{V%xvnS9K`aB);eYPRwh*TpepPd(XEJ@+tYayd3#a*{ZXi7+)g~K7z0__$dVo`IO?}o+hx*?!YYhoT41i(l#Yv_gdW}!wR)^HU z$m3$ea%*0Q9`ls$8sRNzGTB!Sj@MaL3FVT_4>IeD6EhzvG-kW=(x>5YmbTz|apOR; z>_{UHBatXnrQj>=Hi(XwFv7U@GTheGl&B!gJPO7KHAOA&@PxqpiH(?~Bq2x=P9{wHCC^Yb_2N64 zI^&bPd87Ks5pY7FlHdtqW8kS`@RiBpxtF9{cgQN@N!QPDr?=C-LI>I%stqNAwRRiW z71sqs?Bs1XeLiheM~*hs(q6+cktx)5sh(Fh%r^PNjBaofr$3<@+!FEFQbk<^7bA z|4FY%D_8tB_>)4eCD58cKg_c#pkhNDhSS+S66u(_V@Jxu)!Ztqvf z&Ek*rV7t1}Q?r{2kT-`v=)QiUP`?{Z(W9trZHEddI(lCo24dqoafYLK>tIt1@%#+I zkD2&w3FM>nlIF?VHn($hpkHeBn2(GO#SDd=frwsbkixajMClR7CK?Hc$HUtXKA!|N zH#eUYSi71%Y02Ql0#B@jV1|;?Ko%6%ZgGfg}IA&!02s|9CfAjItn(*!6YW zIRt4wLQ|?u4+-Fo@8BR%xM6vP<&rTN1QNBgAZ@fSI|uh5rLu;XSp5k&HbbJ)kd>tw z6&stIf~dmS*w|v(fX0C5QexJChID}z%a`+53a-8Oms7Z8y_VNYdxpm>l8pr!z8fQ# zdsF(xWxe*d%Nlt69$uY8co>Wn)vf!2z2rQ$U(O+Tylx|=--3^O_g+q?_gp6rzL5y7lNui!B-ah->+*+2@6R|?nUJReg`#V1Z&7NlMKegFF-;rnFfq5o z^-{f%^S+cJg_oDxPAZ2-IzIf!m5BEl5(#3L@4IX#oUdmTZeD+906&rpP-UEieIX!7 z^3>zS$E%&QK7amPW{;86bi4M(!Xo})0}VX*Tm)O{PHgY#!KF8_%Uxz-f`kJsP!M80 zkQpp@G|#vueQ{#@RY$a7-&F0~^HTF*e(9@#GS}AL{&~uz+9@ORNo;uJN-g_omz4>F zkzlS32tDbJbLQB0s|X(6^etZ+`a*HCJ&Ne2)s6aF>0T0iID%`!doH-|NK*;pKPflH zfzEZ^KbSIpgzuP(2zMe)-kFZO7rh*AgV{@`*|Q*acAAjPAiHH-jCOVXW$K|a*p;E` zxBG|8@osA2ZkMIKwhdrKjWyUU@8cnBF|KOjIkQ>>bPiy&RnsBz9$JI~s}WXVFBA0p zgZRLye7F38Mp_&1pfpe2h6=oxtT~)ySJygskoK~NOLI}a^bzg#v6Z8luOen2Sw$_M z?jNK+3Ut})l7JmJ$Hc_o5S4b5q`V5Wi8J-Pmv@#S^mT<+5(geK-#Z>-|Zra>*ttA)=khz4=H2^OL^a9^ROpNn!{(tt3{_%dV7n*0HVW(hDY!{XO|dil>&H06$ddBI2O zJoh5wNpHy*yr?hu>dGD>SaXdFxgOb5T32YvYl*dFEnJXTsJa zdSDe}@7;Aqn46nF#BYA2*ImNU|63iB)Li6|$^Ogj>7R>5_cQ{!Q6q5oCVw?egtq3f zQ-hG~kvb=^XpJUOn&}iu;7^RsFf%G2Hi9zu?4{B)*(KXfS=V|@6&Dz;r4N+IY!O0U zt4M$5gqOL6@~otl!%|yq^8~%Wq)UU5Lyk=#;pT%mV37>KKa2(n@0lFP42Rg`tXnH# zybxK!fp$*=e5lkOWsMulH$~6l_maCEZAXf%WQvJrPM#QEl4m%>A`CMb3SzzY+J_J3!0k`7N>MyyvV0C!Ye%ZsR!wE{B`j2iu+I5y^ldhjEDvp37}rFnWfsLp1P}M z4a|Wvin0wOSr6X4eJda@Z%SL#p0IU!EEyJ~t&{Jk|F*jaAY;)F4$KopQ#On8F0NC@ z1xA&tDS3N~D6gW}t>)LGntNLZz_3iKH7nyyD~f*P_1{G6f1AicKU%`%F*IHP$6;%s zQ| z)tNr=$>qpS(Jlj-r(m+QX(_2ejdFIrLO&=FYgNJtN{~Jl7c{OJl)=u=4ar3d8C!RA zBI1Yey46Gn*j;R}tDa^63n0y7@hvr$C@5~ic)eA~1s8H0&(r1@#IrP=%+zW|-t23* zWU5V646qMlC9rTpa=0Fhv#w`qM@67|Xb1i+dBx`LF(}4ZOmNa|x`gtHVvw z;|_pZ-fJf%!XqOh<_vy*HB3U()5{;eOvKW;qQGk-glmz2eYZ+6<~oL<`}n%*?(*v@ z?7}8T?$ueIRbsVnTZPdD=;g`OE-(Es?l;jH|HB$h`_Wlv|*?RjG^8OqK)a_EE;pWoG6)$_>Cxhwy;Z2B>}nkU#|hH7fzK z=c$)h4Ug4pb8~+M?r(tjGh5U70-PAnoD>z2sBEG>b;@X9U?45aq{^&>^L_q{YOV1r zkZBBT>)uKNf~i$-4KTD3d+`_+$ZBt)@&4hkZ>=d{dfCFyYs&0=2uttm>|8D`Nem+& z-@A8@>6~9s!N4^NOYiIq8g_nbZm!(wx>itWNR(xWU789{$4$XBYf{`h9cwA}TkTc@ z`mq+yZjuLLLEQESNRfOSvI?*otVj^Y{gUzHC42Nu-01XA-(aBI)AU@ne+;vUW4U|x zw6Cj#h*~6hW@3*pwRw-b=n!(SqfplgPo`EV`fw|X&5fYytcq{2-XrTe?)f5ZvH`hP zwdHsnQk?azYJ#C<*y^ILCOn{EEo7~kU|&g+na&Xb+Z;DfmU|3{)ExL1><@kog~mkk zBszEB@BS$-o1-6*mE=8O8%U7Gki#dDZ=3 z%&^QdY@xkh`1A!Qo*eW~3{eQ@HZ*6_-qyDBM*ra*mVMFnPvuB5LiTvtcd_s+BL^_Y zD3k$tB@3_dk$Kg+>@i=qyggBp3+dPN&ZviEKP#q1$SyKnYpz+uqQ??1hW z087ir%F;Kq%*x8TB`=S`&!Rb-T7ubmA-DAMpK>$w{+gYo1GrjWccOGb(zy~STD;sI zV?rrW%2AwNFO32u5@0VtC#w1)ijcp*Ty2j-k-`DHZ#B-QFl;j!4$;$#uAyU1JwsZw*(@YvWKK%Y?yKX>k&Ozo9lU#=>;G~3@?L@h0Z9f4}(zQcoPAW=X$~P3QWK$@|f(ds{>0 z+!|7XYJSP;;2L-RFs}s8!8rO&@M;p>_Z`fEVs?Z^N57&3U4b~+T}Hac;~BuOK80+Num;99cqluOWfg;iQ}eEPdYRN$2T z07ZLrHQt(jifaY*MdVDNCQBt)>yf5y&bYlmzcc!0C%)r~GHS8Yx2R?_8UHD6a!iu| z_EhR>(I>+yR+G~VQ5qKYSH^Fcww+=&b~*AgzFcoy4z6gVfwW(cUp<+C$gD_0(}C?8 zj?7yp7w%a0a$}_lwvaFz1rIpq8PwU+zUTa#h852UTMsTaBycQ|5;#g_WGByWjy?+? zoSBd40<1+FGKp9t%-_0tT#MyjnD>5)Z6G*1g=8b@g&(fy7uVjgJ$21wP%`r3b!8U! z6m*7KjOFr|q@>NZQw)=M=OsOFBH){nFc}J+e7$n|>ZZ`A0~*Dzqs7g&6|fq=bjuBZ zb?8C$fmI)Q;T-IRUCjuUCp|APe3bOAD@hg|@yG!xecpCcCfnw=fq}v5K$d0(VszOL zjWe!wvjUt>_}M_=ve(V$dW1nz9^2D~OPIiaX;R*WtZSV;sLwpY?XGdT5#9{Ut$#C2 z=zZq5rYBI3bqr4zOa35haB`%g>BnNXZ%vC+zmg(%jhDhpKL?UD z*~#_&d$iAz!ecYtpmC2vq3CK;Q>I7{C#v7$4^Im>`j5BF9n1x)*V@!8KdO^)A~0p@ zFGVLE$V9`aekH*P*5tt)YjK44ew2r>P~+FJRKJ`Y4QOjUOQ=p?C@R@CdPwAW8%(}q zf~(7ox2tLEL=s)QOus9{07zC7s@Lg}*?ZFekv{y%lRGbK=}m@n`~ID2zZUd5R9Kl& zC793W%e9eL-;Xp{Hl<&Bl+UH`QC8udft?l=utF?a3rBw*E7C{g*a<0P{Q6wtV^-fp;9VwaHpaez5zs;;xyIsIAi|0QTU91 zO*qBRc<;?`2ByoGZvdi(_R8&EvryUS$USgJy|Qnx_BC5MH~1;v2hKaq%qmOdV2P=x zk{lZNBln`dmvfP4;zNy1nTa^)VkGGSpv`0lF>3bfCx0y84jqUAZZLAn zRSDs@(5e3{I18Aql3xF`uxt1Nxc=JDmd9tf|6KilVt)U-(e(a~jEwxM6iSu-nc@QY zcJcKNRRc}9k)dH+6ApCzky5A->|DGUQJzRl- zzEHZg)KOJcJ+HaCRwQz8TTrlTXJEFei1w*GHd`bwr)Qt*v0M&iR=DLR_;+Peq`fXw z$6RpiL?~d^a|=-WoS<-8s*}BsMdwdNB#Wgt;H`pG(3MKKNzHoO->cH00ZHzF$71AJ z;`^O#UwS@obON|#n%TCtJnQQIu%;1oZb(>ue^L_;eH>C@zhCc|y(M#Zi{eVa(s7@o z=eV=kN+J?&odOvXa1wwoxIpkqbXHb;A(5a0CeP4-MG3gAB2hl0a^iOesmt=Rjy6wd zpSGFSL(j|(3FCnv21t|(=;>~pxa&kH!O1BB5NS4^UNtKYyKTzhr`^|YuwVTJ_?GWg znW;du{3A5QDGq1gm9C~5A&k+ z$7bTQ7q)MIE`MaOx1Y+lpYl>;CXOIIYwmPaiCB6SguJ;WJi+mF%Qjme%V_vZv(% z_5d8SLCrLWT#xOntgPrT)I)##ZQL_#bBwMiZ*|w;>wRWVT;TEj{rw3_p+9wjrmtbf zSn>7k0i2I%IuJhtj$l8+ha~<)>;Mb%Lj-~AhJb*GZtJ{%1ED}OSa(Qnz@6tD#YN}% zqwyYs%}JOjx`;mz34`ObF>Gn$cr^@_M=&snv)`@?e?88>iXGB4lNoQ|t=U4X@`6C0 zz$eadYg{6Js28z0Q;!`O1(5uokqG(>cQ5zhtE(rMB1_e`|zQ8l0_msMk+$^GZnV4k9z;o9f1q**O+ScQy9NOW*pO1GfGJp}JNi3#s;vi&;mwwjRzs(@NDn zQ-@e5eT!BL61?9X71UJ3Mm#3W;{d?^!jJ)C3mGx{>)0I3hNMzLn83j%|Nl4K{%f!7 zACCJZwbkd>EbK?}9{~ICjIc1K%J z0ttW&^J7)g{_^TqR9=>d)n{gU+Q|{+xIcUv^rO!y`8WR>V~vOP?|R!$W(U-GbA2c= zW9zXpK(Icii~b|(-YV*0JfG~>QTs3hqY*tP<5>EKJ(~sUqmFys<+0^g?~gb1;aXA} z_I}qP?Vvruo9_N7#Y@i1Dv;e~A$JKvhnhLJibKEC>ehbT~ zdTwK9C!`r-cJjo#&x?{FPE9ja`>n$8qJ1o{0|(-5o;+d&))M^S9zwHuqt@he56<0e zXM5=9vWzKD4AaEUl^si0|v$Oms8pcvu92WjqP}nmLeJm3xwVxHbM_7nCze6An9Ee z`WJLhv;Iqc;LGnu%YWtq0NDJ0;+p@jIpFv1Qc!Ao`Y#V%+CL=3qYPa`_MG@sRwnAt zKnWpO9(zpDQxpiGTvPMsV>LDBx_k<~iJlC0{GYUlh~!~}7`9pjHzjP1=bC1t#4kPt zhKFBjiooM-f@IZzrq6x2;*z}vzYYyrcqOy^MWyB8f37}ka{-)kI$P|2p+5Y9+w6OO zy93b=Q+O-eoz)mHelx2i3q%AJh)+=|0s5$A zX+Rb72DtnM5N!(n6%{2D>rgZ895+{k6ia>h#$aAX2 zPR)66Tecu$|DsFY_+|pjUv$}>kK2L$16_jYjTV2zaII+rJu$bh2c<~@@8&6!$>hav ztVsRY)*1b%Me?hh?`8>$7=AeYzIXrmO+w6v(59l-OXQ8WO_8-y(tlI{;x2qyKbW|L z5hl|&M=;X)Gs;pj#DJuY-(rycKUW}yx&Qldp8p1z{trc+gv9!&0oC=Yr`h;q3-NeX zn#<|Z{b(h0xm#vfx?WbuK{~z3NZ#2!(|1P}q>TAEBuFKc6M!4XM=`a`Sc%L@=zC_j zfv-DDw>(}+)QfD`m72GSIxi#P`_{P&A#H(pJ6ZSho3Fp=_i**~K*xb@SB6Se_V;q< zii3e3W6AT0NYIWV5IOttYPq-2Fa0;;W?Tq*v0;2wZpMwgzpFb+w_#}6m37Js7$M)W zc@mF+u!JrA;;fL|u2WNZ`gXi$*r~CsQ%Trlpg-P4d4nae!ZCva2;{)hXur5}TpFj6 zd{RPqGO~72_H;DnwK{}kfF?ow$TN5+X~aO!411!-|53$NCsWJ5W-#Q$0hD|ZbSMCn4{JP zRUCR#ey<1UzD=48nhgX5jZf2b5_z)jWnRsx_w5}QR7}J6oY-B~^WXsuESMt;vCxB5 zBkpW+u+`>-^5bm{06D3;v*6}c!My9i9hFEJmF!_}AjF|+?5vSX*; z&o7J4ndVl(N7QyaC%i)E-hE>wzx@ZDxa2sz2Ixcuj!Pht&Go}C9X8!?ZVk&w zRvM-NYZTpybm~IgIw;V*&vY{TANoqRUoABcfFc03+C@pS`^~Fjedr4JS5?f{qHg*N z6*JRd%~)nnEBl{Yqr+{bI8H+)DPri`mEu4Ij*Yu~(!QzLU1nYfjvgAVw7{wzQpP+N z(s6;w3%mXdihFt+XRPs>tiC??ZRe^Fg=6?geZX`MP!_C#({k^9ffPA^@f<4FqTbDR zlmS*}eIv}0bG*DaPLp=OrK~m>9aA^qP;gagsPg#*RBRT7!iK#KpUz?BdL=2S2KcDp z#3>T6&{=lxzVYN3akIen>CjX^fDUr~7>Z|n357fXWi}g62380AG`1V<&Y6s=YwzRwEjD`dmbWH4?0|>nVOjOp0 z=_lhz!b;rP;*m6m<_7gV9eCa5h!z&Am+{-EKsBJc*V1?*@C$ySEau~lKimZ95aq-? z0xY&N^MKu%nJIhclowd&<4Jd_u^K@q$4;d>CaWP@6}|P&PZL{0gOhTuv?sC2CGDXz zNr;Q+j`1r80d-H`4h4QuWnw9mXapZjuS_@ zF+I<-iEY7y)HKt46KxCAzl?X9A=f10hh~-nPe0JEYZwY!t#fz-t8t9a~0 z)qlNuIXm$0gnXOl#91x_J;wD|B=Grx;-Gk5U|)F4S{+vpa0Vzg9NsI zIa>+f%alW=mxm%IC`T~(e<$yOlCVHI6uN2}+``5tUsoD#S_$BKurY!zCjj48bz-t( z9gD9~UPZBo$Z1hJz}nE*X8{^mm#wwm3+5@0+w&~Ybf90_;!ua`tA`>bku*QT49KhS zzT~1p{fVu|Va-*w(*-M}79Esz@SaxmEw>$0$s6k{Tk%1U9x$@Yct3Sh-j_2nm1j#n zT}^!rNXE=<1tRpbV-j${quQeMaauBD3Cp|k4l`wMSZ-Sg`2F4l;joG+UmQ7dCeId> z+u-EX>z3p+*ZiAimT?MqSmv3zK%x(e0}00ZNmf$zN9yIMy)M7Rn?$0=DUhzOAO2W6 z{_2N<@6A1P&t-VgkNbc0MubcqML;&-A*%XAHK0>ar;~x77uYb5AKZ7 zaoO&^wo>=?&aaBXBI7r5Hwcij3Z0|19)Q7%Q-?YJd|8fZ3;kG6`|^^pX*fyp)%&C4 zxzH$~93`!#LSrnMw9l{EvR(Tutuqt57R8tIyg!!u^fC(Uz5U5rq6$QrEsVTZJzZpa zw$(u9O#y*thSoWSVCK6fw;TDNe0`aOJXYqEoX)l?H3uH*0uPlZ-6}noQ~YI)PJ3)u z-d}WQ^zV4A3W45iwMrGiX^7vC;Pcdyx7dBNH=&4%7FoD?OO{)u{}8kI^(=1QLrb26 zF8<}6Y#_=vG4TQ?e)S|s^ja~M!pszBczQB&J5#F_lW{pJ?}@sO6!sO-d5bALJ;)5L zOg64#Znh)pxlSw%SLRrA4-mV`!_(i(!eox*?@*E#AZtQ0<^5lQplvtUGjJ+497;L! z2$bXQ_n|i*jt1gKe=PHhtW5RbgY}90GIJ|R4XM;$-;=QP91dlK zf{Uv~^ig+RqOo{ETp19Lt51Q?|KRl ztV!6-ocdk5kn-M#lRwVd$0jEb-V1SY2P2nNH>ToKqg$h`RwtcZwt73d{K3IGn+LS{ z#Pd~HVOl*@Par=0vgAsU`TWA(ysc3|)+YHK0x&QlQ?&$5tF=>1jcqnPJ)?*4DB@7L zdAn@AtMYKDPNoi#=!;y{M3J8(@kohSW|Bp=lLV>G1j|17=*HxBO1h{nkUOJmxc3CG zjdOrI6mlQW=C1r}09rX|p7gu=aWf$}PTVFl(!BMSprAU9s@DFm`9Lwd3CTPxuYgOB zEPx5&2%d~gv4}a*K1T4SR?&l|%Q9a(7v|^Ff7KQezW#jKyU!;2MAN%UEo49`$Eu45 zf{OQueTbVdBd!4{7XUzf=bqhR$uGNpZS3R;D#r7tgPCO|N0C50_|oteldp1o2&c5N zyxw`X#4=~p>t4&bgQmPVyPk;Zt!)heOMRzE^yCWTJpYMrI<1eLB3D@oxSV_uhm{*c zq{3kQH7?4z5;QI95fABhhP}$Qu%v^ zjm4{9z_?t8LdS_-NO`;?>9>(ijdc!Ie|i#ccgPLFdcI$rOTo;s1%`31vkzWsR&YaAy zxEv2;`g*KQNK9MZXgfz0miJLIxpHDaD>1%&)CH;r_8{xZFy35vf3a5NH}zoQ)TH zm*(0eRx0|f!>tRmla6p{3XL4giK3iEk*yJIy>Dyns?7E3)bxrl&{{*TG;1(*%~+8z zMB+Rl&2ZDWps#XYe|z`d;PC{Nwby2-t5z0YJNg*BhTRheW-|AC z(pR}Ij*$voD;b+9cMQCha=pShkQM8i*JwR_+ql56Tq`F|)hRMOTF6W_Dkdlk+iVkA! zj+a=2H4%so#l2>Wxa1T+L-C27x=S=y4QCeikzSS19#%|dcl3h`+)_)4_r5e$wYCc-<_o=(PJeWmVO<@d{|c7G0zjfB^G4ltyd1_%qedlg&i{ z6Uw|>0d}dex`_mH{(c-Q=vEnp@89(tri(kVUpMW@99FPpK_JL7@65MN9 z(GMQQ86D^XTy9)+Qxl&eG)T(P94bD!@Vii&Y2@m-ajw~Uij|whYOo|oKrKQm$otgYqTRv(v%Xaty|cRjtPF;*ZJI{CsWe zWaWi$jT(p4cDnVaNAG0A)1UQtXKyp9=(!Kx1Fr^}1`h`Ov>8mdqRkM6=IxeTy8jmQ z+v?JoA7a|arL%ZL*X?B`kCl7iWSRaIX6jffEF9N<0VBILhSfGFL`rcT5dj> zJNh_`W3g&fVL1F0+Zd`^s}rH_@v;y*zOu4Xvs8?-+3m8(POpnPxMHhsZC#_KjT6`( zZMBXYR+0!#+%D)6xx6JD6%k&zTSBd>9!AIUrM;u#X2#e~4S91-$FM|EJwDQEUCban zT>#Z4k^);pLO%vD@@Ikv>Q)-0m6f=%tRn74MXwJK-A%K0cb%d((7F93P8q8{?HzQ# zArSo?Qk7j@HXqA*sTqe+KrFMG%}a(%1it&&G?U)Il7SBW-fa3FknN5f{9aVUO04jK z#}-=4m5U=|D3>Px^h9^ac%5hIbx4l2b-kXomA1v+V%P8*U`&BcyjFOZR`ZI)fsB8# z4-EZ7`le9Z(|3#El{<(2PTRQJHt8)HY-AZZ?AG8Dttro?M_WCx!FGYszSbVwzQ#e9 z0>92Hft=RXi z*rdUzYqa*bAyRI#O>AOs4j%yQn{E=y)?3c$b;08$W+`4dB-(dP#cx|5CXODYT7u?= z4_@PZ^U|xHYih8js3WWId#(SP7E2n!)UJZ9-K@b;k(K>`lr4vm?V`AT>#wlEs2YA`cbG?B4Mp+Ct02V7;co}4~G276KRXL^p~q#a-e~i;T5Y!#GT;!@yQ&2 zzNu*AEs{jG_8p4#WP9sIIf`81Of%4QVp>6MI0>ICp-Zpl( zTUs+OMlg_TFBbt1K|jSljIjfilEbch=ah0yu-SEux4dZrjK1z!-@s!=w2972PjiPH zZk~;ym^m)U*aNlKsGWpjd}K@P*Hs&`>FnW*H)8>G$Q7~0C5@pP6Nt2Xcqy-pkx^sm z&`#D!?wlqvCq$l80QY>n+D*7|Q;tL`zcpC$Hey+fdt&>iIgw&byH$=B0Os#n>3v}} zr!t_mdiz0cS^f(G3SAg3OYS>#MivCaaI57gk}f-LQ#O}5y>aF{BjNd653yYJ;8=xH z5uj%=0d$_=%vd-FTzqL^*~oX?TO!0fd zD#@@A87&ou>!TC&HcL$M2ji*dk zu)O4~1>P_b&a?a+bgk}@TxWoNJ&R2v0=uVq)Wz_H7#K-B(tXM^OF&3y7)S)bPB`~? zHk|Ro2dEfDMa3|cTP6wdX9RGx_WdSvX+t?udc#oCkD=rPKY2N5kjUM)3*)6l&jr-A z3`473Ckn6UP=O?!bQNRsiW#)g$T$b074g`u*IK*;S0SwIX;; z4A@6OemdufiF#N9{xGQ15m1|m{R5lm-I z#>t1OVh~7RQphvJ%g~nAb;GK?8}6rMF6~7}Xv=$l3XWq5Se$R4kgPYM9@SikYP^z1D1-(0G z$1;Q63{)D5x+WY{f4o_X-$#=5iOBuy#8qb0_VKCTN}u2s0hBM%;M5)@wd(8PrPW^- z`new*jd?lG7^w`!u-i9G9lu@tu)MKb60V9{5{^x?7mvw7uFGd@`mwJQv78qCG}OWm_Wei1CB}Z zct+ip^Yb)Ae_x^r#l7@x=8WG>x5<*zAhyiYoIpRo;qx)&K|Sr?@Qvlye~YO2pXYWf zNVEceZM7VKD_+;L02Nalrg;{j%S+*9fJe9S?+kj_V&J@B@Ta}Qb2`s+fFE%Cei=b=-e{cSUpkbN`ZmMmMN&0kB&D-ziVPfY6_s z3UDC*;IBW=L6q)DJmF6%NQDw?pdA0L{YyX`@yAS+^EF$fPOepoYM4Du^YG@jxmMaM84fz6WA$q|5W_dxBM0-e-O~)k1$Kyz;YnWc^!f{ zj9XoWrV^5t@olM@a{M-1^sp4f(6(AIA(s#~flN1vCDepP?k?!Zmz7T&L7c`b+hXi7yDip|L`e!j7)}fgno%-BWUV`aWUi6}(swt7s-h~j&kd_`7Q^Qu z{ZS)Rw{u=!^uBZQ6YO3Q8^Vea^0tMg96I@siT&a=w@rLEeuY8*0&1`f3eT5%!&M|a zLR87qD~uFTX5G*j^xvv8vB|41R2XyorkCmFM1?_kB#@{(pt+J?a0+9s(r41+ zrtqQZ)jg~J^yLk}Y`n#Co^OGk0rUfWyl-uxs3J@Ss^B;fVA-670hPOA#T4aPUHo`f znjRIcw%gc8!;-rmZBrJ`*}UtE$WT+`E#-+fCU9s27W6Rpj1fm`*qkJO&A)?(6<%d& zS8X*lrFsUShw%MU=bmhrWcG8O7Zs{zeCH$qPb&GzBEvOc+exb?er=8O}$rp$crV*wj|@t?i;t z_@qb|T3RYov78<~<9qom*K1Ap!`B0u|E>+hkJe`DEs z&^r7AkT;Z5bfK;9Ahe*CUT;iBfb>6SlqwYJrva>l&>SbZI6yVQ>Ol57Wiqbr9WHOs#kSh0^i5UK zwHH;`-WmkxLd(B%uDpC2y*!HqkbJjgIk!V7d`?m?>2}SGqHPy|3gtqTXO8bQ^4|aa zcF%M74dipe>A5#5n*NYQ?K?aIci%MuDN9G`Tf9iH zg(^u-Xy(CV#fv~m#ukEAMe*k`zr><^wFtQ__()zR2Yb{(S)ZdW*-CauyXA<8S6yc1 z2iu_WWQPPm9s^_iyovv0d}u$Wmkj`Q{e{?Z|E`BI!$3VKn_XO|U?qfC{Bnr^U?%i@ zY%&iQis+08Pq&Eo4*RR6F@E)qHTeGW-N&!|851vRPjyA$3GYv_0o$gtMtnxYVzS

    )} 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 From cfb30289ce0c5fd27c07bc2ae96ff0ac222c3e30 Mon Sep 17 00:00:00 2001 From: MrCat15352 Date: Fri, 27 Dec 2024 16:08:51 +0500 Subject: [PATCH 107/344] =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=83=D1=84=D0=B8?= =?UTF-8?q?=D0=BA=D1=81=20=D1=80=D0=B0=D0=BD=D1=82=D0=B0=D0=B9=D0=BC=D0=BE?= =?UTF-8?q?=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/game/objects/items/circuitboards/machine_circuitboards.dm | 1 - code/modules/mob/living/simple_animal/simple_animal.dm | 3 --- .../projectiles/guns/manufacturer/scarborough/ballistics.dm | 2 +- 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index 23c885e26e60..ca4c646ff6f6 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -587,7 +587,6 @@ /obj/machinery/smartfridge/food = "food", /obj/machinery/smartfridge/organ = "organs", /obj/machinery/smartfridge = "plant produce", - /obj/machinery/smartfridge/extract = "slimes", /obj/machinery/smartfridge/chemistry/virology = "viruses") // [/CELADON-EDIT] needs_anchored = FALSE diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index f6dff0f23bb8..45a157ee845a 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -141,9 +141,6 @@ ///What kind of footstep this mob should have. Null if it shouldn't have any. var/footstep_type - /// Base armor value on this mob for running armor checks - var/datum/armor/armor - /mob/living/simple_animal/Initialize(mapload) . = ..() diff --git a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm index 8375939636f7..eb3e991e84f9 100644 --- a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm @@ -837,7 +837,7 @@ EMPTY_GUN_HELPER(automatic/assault/hydra/dmr) . = ..() // [CELADON-EDIT] -- CELADON_FIXES -- фиксим неподходящий магазин (вагабага дырдырдыр) // magazine = new /obj/item/ammo_box/magazine/m556_42_hydra/small(src) - magazine = new mag_type(src) + // magazine = new mag_type(src) // [/CELADON-EDIT] chamber_round() From 37bc86654a77d49a0bf850b54443b8e85ea1457b Mon Sep 17 00:00:00 2001 From: thgvr <81882910+thgvr@users.noreply.github.com> Date: Thu, 24 Oct 2024 03:17:58 -0700 Subject: [PATCH 108/344] Un-nerfs Kepori (#3482) ## About The Pull Request Gonna try this out to see if it improves how Kepori actually feel. I don't really think straight up taking more damage is an interesting downside, considering their only upside was being a little faster. This also greatly lowers the movespeed modifier. Personally I don't really think it's a good idea to have a straight numbers modifier as a nerf like this, considering we balance things without even thinking about this. Projectiles and mob attacks do a high amount of damage, and it's all but guaranteed to break or completely disable a limb in one hit. With limb armor being fairly rare to come by, and the area a projectile/melee targets having RNG on where they actually hit, it's not actually that interesting. ## Changelog :cl: balance: Removed Kepori damage modifiers. balance: Decreased Kepori move speed modifier. (They are still a bit faster than average) /:cl: --- .../modules/mob/living/carbon/human/species_types/kepori.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species_types/kepori.dm b/code/modules/mob/living/carbon/human/species_types/kepori.dm index e4677fbc19f5..1191d41968d1 100644 --- a/code/modules/mob/living/carbon/human/species_types/kepori.dm +++ b/code/modules/mob/living/carbon/human/species_types/kepori.dm @@ -18,9 +18,9 @@ species_eye_path = 'icons/mob/species/kepori/kepori_eyes.dmi' heatmod = 0.67 coldmod = 1.5 - brutemod = 1.5 - burnmod = 1.5 - speedmod = -0.25 + // brutemod = 1.5 + // burnmod = 1.5 + speedmod = -0.10 bodytemp_normal = HUMAN_BODYTEMP_NORMAL + 30 bodytemp_heat_damage_limit = HUMAN_BODYTEMP_HEAT_DAMAGE_LIMIT + 30 bodytemp_cold_damage_limit = HUMAN_BODYTEMP_COLD_DAMAGE_LIMIT + 30 From 70c77916c6a32061545567e0b6e7499fdd03aa7f Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Thu, 24 Oct 2024 06:19:23 -0400 Subject: [PATCH 109/344] Minor Newscaster Fix (#3613) ## About The Pull Request Newscasters can now check your ID through a wallet. Newscasters no longer display your job. ## Why It's Good For The Game functionality ## Changelog :cl: fix: Newscasters can now read IDs through a wallet. /:cl: --------- Co-authored-by: Bjarl <94164348+Bjarl@users.noreply.github.com> --- code/game/machinery/newscaster.dm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index ef1f083dc79c..be4494ce26fb 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -815,12 +815,17 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/newscaster/security_unit, 30) if(istype(human_user.wear_id, /obj/item/pda)) var/obj/item/pda/P = human_user.wear_id if(P.id) - scanned_user = "[P.id.registered_name] ([P.id.assignment])" + scanned_user = "[P.id.registered_name])" else scanned_user = "Unknown" else if(istype(human_user.wear_id, /obj/item/card/id)) var/obj/item/card/id/ID = human_user.wear_id - scanned_user ="[ID.registered_name] ([ID.assignment])" + scanned_user ="[ID.registered_name])" + else if(istype(human_user.wear_id, /obj/item/storage/wallet)) + var/obj/item/storage/wallet/our_wallet = human_user.wear_id + if(our_wallet.front_id) + var/obj/item/card/id/ID = our_wallet.GetID() + scanned_user = "[ID.registered_name]" else scanned_user ="Unknown" else From 704c360145be6aaa5b7c5a8348a0bfd2550ca2fb Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Thu, 24 Oct 2024 03:19:31 -0700 Subject: [PATCH 110/344] Changes the vote sound to announce_dig (#3615) ## About The Pull Request Changes the vote sound to announce_dig.ogg ## Why It's Good For The Game The current vote sound is easy to miss, and I think this one might be better as it's a longer and louder tone. ## Changelog :cl: add: Vote sound changed to announce_dig.ogg /:cl: --- code/datums/votes/_vote_datum.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/votes/_vote_datum.dm b/code/datums/votes/_vote_datum.dm index c34d4600d2b0..8c7b7234b516 100644 --- a/code/datums/votes/_vote_datum.dm +++ b/code/datums/votes/_vote_datum.dm @@ -10,7 +10,7 @@ /// If supplied, an override question will be displayed instead of the name of the vote. var/override_question /// The sound effect played to everyone when this vote is initiated. - var/vote_sound = 'sound/misc/compiler-stage2.ogg' + var/vote_sound = 'sound/misc/announce_dig.ogg' /// A list of default choices we have for this vote. var/list/default_choices /// What message do we want to pass to the player-side vote panel as a tooltip? From 93dc52bcddc8a8f65ccd955f3c117f652acf9a7b Mon Sep 17 00:00:00 2001 From: Sadhorizon <108196626+Sadhorizon@users.noreply.github.com> Date: Thu, 24 Oct 2024 12:20:03 +0200 Subject: [PATCH 111/344] Medical stacks can now heal corpses. (#3608) ## About The Pull Request Title. ## Why It's Good For The Game A magical power is stopping you from bandaging that moth because they already died. Kinda goofy I'd say? ## Changelog :cl: tweak: Medical stacks now work on corpses. /:cl: --- code/game/objects/items/stacks/medical.dm | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 10eb8c1e2cf8..bac0935782e7 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -117,9 +117,6 @@ grind_results = list(/datum/reagent/medicine/styptic_powder = 10) /obj/item/stack/medical/bruise_pack/heal(mob/living/target, mob/user) - if(target.stat == DEAD) - to_chat(user, "[target] is dead! You can not help [target.p_them()].") - return if(isanimal(target)) var/mob/living/simple_animal/critter = target if (!(critter.healable)) @@ -204,9 +201,6 @@ grind_results = list(/datum/reagent/medicine/silver_sulfadiazine = 10) /obj/item/stack/medical/ointment/heal(mob/living/target, mob/user) - if(target.stat == DEAD) - to_chat(user, "[target] is dead! You can not help [target.p_them()].") - return if(iscarbon(target)) return heal_carbon(target, user, 0, heal_burn) to_chat(user, "You can't heal [target] with the \the [src]!") @@ -234,9 +228,6 @@ /obj/item/stack/medical/suture/heal(mob/living/target, mob/user) . = ..() - if(target.stat == DEAD) - to_chat(user, "[target] is dead! You can not help [target.p_them()].") - return if(iscarbon(target)) return heal_carbon(target, user, heal_brute, 0) if(isanimal(target)) @@ -281,9 +272,6 @@ /obj/item/stack/medical/mesh/heal(mob/living/target, mob/user) . = ..() - if(target.stat == DEAD) - to_chat(user, "[target] is dead! You can not help [target.p_them()].") - return if(iscarbon(target)) return heal_carbon(target, user, 0, heal_burn) to_chat(user, "You can't heal [target] with the \the [src]!") @@ -347,9 +335,6 @@ /obj/item/stack/medical/aloe/heal(mob/living/target, mob/user) . = ..() - if(target.stat == DEAD) - to_chat(user, "[target] is dead! You can not help [target.p_them()].") - return FALSE if(iscarbon(target)) return heal_carbon(target, user, heal, heal) if(isanimal(target)) From 2f765ed65c2a751a3ba7ce9f28e9be5daadaf8ea Mon Sep 17 00:00:00 2001 From: zimon9 <122945887+zimon9@users.noreply.github.com> Date: Thu, 24 Oct 2024 06:20:57 -0400 Subject: [PATCH 112/344] Adds plastitanium shards, and slightly modifies plasma shards (#3600) ## About The Pull Request Credit: Naksu, octareenroon91, and vuonojenmustaturska for the original plasma shard sprites. Original PR is here: [https://github.com/tgstation/tgstation/pull/40327](https://github.com/tgstation/tgstation/pull/40327) This change adds plastitanium shards and lightly modifies plasma shards. **Plastitanium shards** | plastitaniumlarge | plastitaniummedium | plastitaniumsmall | plastitaniumtiny | |-------------------|--------------------|-------------------|------------------| |![image](https://github.com/user-attachments/assets/2196d5be-b8f5-4879-bc00-20b92a25de5c)|![image](https://github.com/user-attachments/assets/341a3a00-1213-4d7e-9792-5ac47ba70539)|![image](https://github.com/user-attachments/assets/91ac24fb-b9bd-415d-804c-07bbb3a54546)|![image](https://github.com/user-attachments/assets/9424b468-fbd9-4507-8db3-94becfe45272)| **Plasma shards** | before |![image](https://github.com/user-attachments/assets/553d1c11-9ecc-401e-869c-0cd9701ca015)| |--------|---| | after |![image](https://github.com/user-attachments/assets/e4f02d01-628d-443c-8765-4e457ab1a13c)| ## Why It's Good For The Game Plasma shards were modified because it seemed to me like there were a few artifacts that remained in the sprite. These have been cleaned up. As for the plastitanium shards, they have been added in order to make things a little more consistent. Currently, if a plastitanium window is broken, plasma shards are dropped. This change should fix that and make it so that if a plastitanium window is broken, a _plastitanium_ shard is dropped. ![image](https://github.com/user-attachments/assets/512dc9a9-9b17-4a49-bece-dd583bacd977) All of the glass shard sprites will likely need to be touched up in the near future, but this may serve as an okayish backbone for future work. My spritework here may not be the best, so please critique it if it can be improved. ## Changelog :cl: add: Added plastitanium shards fix: fixed some artifacts in the plasma glass shard sprites /:cl: --- .../objects/effects/decals/cleanable/misc.dm | 3 +++ .../game/objects/items/stacks/sheets/glass.dm | 10 ++++++++++ code/game/objects/structures/window.dm | 9 +++++++++ icons/obj/shards.dmi | Bin 5412 -> 6523 bytes 4 files changed, 22 insertions(+) diff --git a/code/game/objects/effects/decals/cleanable/misc.dm b/code/game/objects/effects/decals/cleanable/misc.dm index 5610e6a19efa..b04e83d6f5f6 100644 --- a/code/game/objects/effects/decals/cleanable/misc.dm +++ b/code/game/objects/effects/decals/cleanable/misc.dm @@ -49,6 +49,9 @@ /obj/effect/decal/cleanable/glass/plasma icon_state = "plasmatiny" +/obj/effect/decal/cleanable/glass/plastitanium + icon_state = "plastitaniumtiny" + /obj/effect/decal/cleanable/glass/strange icon_state = "strangetiny" diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index 08dd06b690d5..40de06d6f9cb 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -379,3 +379,13 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( custom_materials = list(/datum/material/plasma=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass=MINERAL_MATERIAL_AMOUNT) icon_prefix = "plasma" weld_material = /obj/item/stack/sheet/plasmaglass + +/obj/item/shard/plastitanium + name = "beige shard" + desc = "A nasty looking shard of plastitanium glass." + force = 6 + throwforce = 11 + icon_state = "plastitaniumlarge" + custom_materials = list(/datum/material/titanium=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/plasma=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass=MINERAL_MATERIAL_AMOUNT) + icon_prefix = "plastitanium" + weld_material = /obj/item/stack/sheet/plastitaniumglass diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 5064883c5de9..3873a48423d2 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -764,6 +764,15 @@ anchored = FALSE state = WINDOW_OUT_OF_FRAME +/obj/structure/window/plasma/reinforced/plastitanium/spawnDebris(location) + . = list() + . += new /obj/item/shard/plastitanium(location) + . += new /obj/effect/decal/cleanable/glass/plastitanium(location) + if (reinf) + . += new /obj/item/stack/rods(location, (fulltile ? 2 : 1)) + if (fulltile) + . += new /obj/item/shard/plastitanium(location) + /obj/structure/window/paperframe name = "paper frame" desc = "A fragile separator made of thin wood and paper." diff --git a/icons/obj/shards.dmi b/icons/obj/shards.dmi index bdf8bc6e883979d3948ecc890c4ad6f448539df5..1632e2a0836864d11f416b73935cc9f90877e6ce 100644 GIT binary patch literal 6523 zcmX|mWn5Hm(Du?L(jC%`ARtKB0=r0;gp{y!2?EQ4l!!|=NO!YzcS)CYhpb8?N(lUc z=lH(A=lO8u{9<`b)iNtx4QA_ zf($g>2_^)dQ1naoP*T~#`nX|CmrVE&616Ee<0M>+(lAj}?N_lNMyMVOi$k%iL9a>7 zVo31khRPJx$y08aK}_Mwm#hTW4%KHHNel=~jJNb(pyyoVK38dJ_uX=hvvm6sa64K1 z>0dwo3SD}gni9v%$$^c0VtzkXfYc9s{cCR=E&oO!GAQxOG9iVM1uQ-VCkUkbah#qI zm9YZ?(KEBpJ+hR-YIP1A1J!+3aO~VB_ zNSDa9#50TQVHhE=|E7G?s9RyAb|cvNlpH2STuSp8r$IHMwLXpS5rN8cRpD@A92%Ge zJ|6qT9a+z0X3oj}RlDWYL~lSviAZ|j-R5Cn?)`nhX;W!i8y$4L)7WsStV$qfXL^c= zC)*Wu?*OYQDdER@niXXlUhDe6J@y~(bqP!#E}aq9Fao?&=im!Fdn6A6vu`cTzk?Z? z7xG>kEj+JS>Q$Cwf%dj4+M8A8GAV%m{?MDD(#uE)>iy_-fBc-PHsVmuX+OZ^|-j&F;vh9^cet_V)R6^OOJt8f!ZvZ${mE9Gk zEtFSPwuz)#U@+`o0B{1l8k;v8rvy_B+e0}m0m3-9R##ERW*t=b&(aUBfY2A}$7sy0 zgXA4$*%p3H0SN@i%Zt-+Pg1K#z5#O6PClb$)`{MA{E!)JY2I1lAiD}!{d~3zj&JGc zDp6|RP{W!^bn(~3iB#uLNZ(Pm3)jBOtt~*XxBE{Olr@t3UOy;01vLU(B>yn~U1nmk zi7HcX!ORhF#b5S6tDl|!&5PN#3j&#Mbn(E2g9~QW#k#jbR|PwCJ76uQ_c_rCdQW3h zo~meT4+EhCDJUoZdo8JL?Y;5_pz{sj*vP;=x{TcheJs*WPW8}zD7#cot$^;0rTum> z?vSgNG0vy_y%qnj`W*)7PTRll1BS-?a|{jMk>SgXNa3}bvPO|;q=-V|@z+nMYIfly zmE+XAD=VUBM@Q+#XTP8Hk6itiRoc%{y!bRFS1`?35FW^BB92ABF^Q?As{|9E8Xh>M&*H5Cw&C1* zFz+tN$&_*t2DJ@c0nPIL9`8y2??jx68*Zoui87F_1Ww{?Pmkq$RE0Bo%xVNzQmq6# zp!gnSlqQG^s(NY`9i8CI@^Jq;YyU{6fe~Pk_WiW+e)iFcWYl*~A_LyPtJM+%u?@{z z4Gs3;&>k%RgEo6xWH2)b#j$CjpMQC=c;4|wyyFYLYF#g|ph&K$0IA*^o8wLeasWE& zUrK-y9zIJd+o)%7KV7X#?eLn|+HHt?*h7x7I}8X^u`AW7B|`p`qHl?EvpDZc>fh^h z?-8;G=sFf7vhFrqY5j6kId(apOk*`wR6k?8nkKib*(k#faNfc@@cr#E9L4LE zG@Qq8f0k+4vyB|g?>mxuugaN`8ZiEndix^W7xZgdnc_?HU2d6#r{8F3?fut>e;q!Y zgtdq*+7R*_FB)=RDX9(qOl*h!(^CnkCs{!`uSw>$L2eSFfsPn1p4nPV*64vN4A3d5MoRPi){9P{v3NW1}1lx8mA+|JhefSa5SonG6pq{mE1UOrZ{=5JhOQ?%;nH_D zUGNiv@=pGZBqT9>@!e;^^hTl#DehTSPxD{In5Zru5oeQBlw)xYdJ3Nav%#v?XIlkx z2RLH>9DaXWsHlx&#`-ofm;jTX!`j-1xw6}@Bq>31D3kM3yvL~m#M z$zg*o`rh-LYZ2XclpvVovOL6~y{FGeJ$zS5`ZOjjG&Nr>F1mdg`$p&HGcL~MjSkmY z5IQ65ngg*!hov4+fZ51iBUnts5mCMiHF#|5ek=7zn~$50BjtRcUhT)JaD$&22j12f zHRTqi{%(FNA~N0XT1xTp&YDQ1zExVliXR3H_AJca`&Y78|K%LHP(~vK>ywvKH)a;i z8Yqd<3eb1h`24P|jo#W25$`vmb#k4T{orK1`ey**K`9y_cu;jxIA=l`n!SEMA)V9m zcJ>3{9G^Xp!H0`K|G4o>cI2G8f~k?cPmaZ3WjhFm(GHd1b#Pz-6{0l%{k~$OkZjq# z5FwkJmSIRm_rCsVjmNKP8S{lWwe7lxn$ zhTUH;h!8ytlFBm2^vBdfkx-^KR`E_u1;eQGY|eZQ_hfG{av320PHR|tK-SH#+jQ>3 z4F>X4Og~57-jvo+C8%*2UKEofR_GGW{EbyYLyx4j`uE-sXIWioSDp7&HUo)qh68Tu zvRe~>SQBrK@LKO#v<^my&(sGfQ?bR4&1$TCELh&GQbR?K`HLHCF2xcZ5Mc*E3lCTN zYHCZ66#`&xvYS>G4Qd)Rlu%<9`dv?zIFkyo2DwmbB{EDjA6YImf)~1?` z244Bp^BLA;Wr{ji0|HJ<^Ya33h)F0JE0WQc{i`iI`Is5jG=bpzdAQU)qS8pgg&Y=h1H~|T)Na| z;myAK;&?1o`Bn;LdO97C>>^Aqb+ee6s#SpE883g?aN?m@erhKyvX5*yt0uE>RQ zb35!JMI>Iq3k<^UL#Vy<5@Q;6v|6p#f9Km_=TQ>1B>7c%Q_aK<&pUekEo3x`@$wM4 zRUZ^u=|Yn2KNy<;N3 zX3oLbp>mRtXZqeoo()FL8Q(`eKQGh)g71Xr&HCnvI6>f`3ax78?_F#AaE|qmcbHtO z^qU-Si1ypIIj$2)6+NRiX>D%$Iaxtv6HXG@(yx}6`eoPPms3o!$BOK;B%)>5S@Q}0 z`V0p$*dCbvmK)m`!IAos;TGQ3mMK{rxU^2XkBqW_ZhTBQu+*w*S1{ zz`EaSZ|7U(tFf|4z;e!j{-MTUB$3by0>97Q9#9^7vdLJiJM0*)1X%wJF4}NZ^*gzF z@t+FYLQl8K^ZxEs9c#-d-ZpqqQEGr4-)d}$a3jX}cxntRNR%zPnX%6`B`2F^q#!Qk zPg9trOw-dN33esNak6!z{R>A5Sv&Cpo{4#ZkfqJ}57mUR)Z>}+36%jac6fZtRLs)m z%uYA6y>e-S>#asBf=o?hc9T=22yaav5eMpC6rr2}(pbANGJ!DnLVTkNrP#GtS1+W9 z&8e!?@ z%l#13Ruwr}M<$}*3F5*rSmbA5nlJIDfdN~Lam@L!RU}YR?tpYN={dW&17ynH!HJ4` zBsWi?o5k}Y9OCoMR}y;_s)A(jQ8iY&22TWR-Qy|T)e=GavCE2|kJf`rIWe2&7bfk+ zhVLtRc(sdWExOHKrvoM-A{y}bnj+2`zGt@YYO328{F-;SB#n?ZlURh53!_Qv!=u_v z=1~`ZX`yX%-LALuxsRIybW9p}@j*>yJ~sbka+=`Kf_o2j^_-T%BEITWNOm)Pl=~1t z|6}Tp0~3#lw^<|>^XF#%!3x`!t^KowFU}^81G8FqxA(7B{P!TF|5WEtkeImj#GWoF z7?@^;sYje`9JSPuaNIbK#VG0e9+NQ~=i@#y<<7vCdaf=SA^Yb|0SKvhX{~<-YAZWv za7b`<3``@2uFL>PErn<-wqr$E0&5(Z%cLriRZmJaw4^pRqFMCT%m6d;1)&?X_tgQ( zwq;NQgqIKXh+2lWcV6vDZ*pjWOHH`~FljiMvGv(@kb402{@N$|pNXpSUjK~(3};NU zAizZUYq+(cDYNuV-Bo!I<6C2m&hNF762d(k1z^ioye7mZg?#L1j}b=E_L>|ys>P4pzKAKvfN=`ZP1k5k@h`Sti% zQxa+T`}t^m^Dvz+)jTiik}=z36rV4W9V(o%KV2tF)KXwSU38=UvHUfz%l&9Q3kNiy zr~k~OS0P}z*3acQbp!6dWC!Yv`WQEy6`<-gg0uz3F5Rd(nx_$;F=1eAr?ixzBLSMO z%cfySqN9H5YPpT-d-u=M(*wsinS#pmh@two#~nR>TR{)KDbc#V--b!#L#@lp?~c2# zwm`uHvb@|t27M;3h5x+svr7kmfVfPT37VWK79!w>H2a@y=IX#$i*~K@9yKkOSBEvA z-d|77lTHET1fai{-*7rNbVxw7xwjq@3v?{v_-=Tqy98u>pScw#^i^NVNtd@M3!eHp z2ldERqL+lMhqUdjHvgk}=6)XqxA|$;S?47hPOSN5+K%R%=P&6>&9d5zAG1m?%N+RT zqXT>f*xj^N zZUkFlzpOL@(AvWp@9Y`#>=|61Vi7#owC308~bEa7J5Wb49;ip z{@W!Z7Gq)mB%)r{CSjV#KfacZ{yG?3cdBX4y31>vk_<%CiDH0iZPxg!E4DICT*tsl z8lzjy4-`Vdy1+nmyWjHLFD@DM5 zF^EreK;k3jjI&R`yEl`uaa!x|uZ#tFo(`dh1H<`{_3YoK#!yZ*5a6eX1AqwN|4-&-|+Apo9F(2?wW~55FQ0dMCbLS2pIg}8-c^&g|?8Hb#dUP z3t?YuN&Js62bw3NkHN#zjYR(7PFs_x(5iWx)V}fwClaO{Q|?ZV5Sn%D&K2J-PsI1n zdljwl9PIJS$*SD-Br@FBFMj^iZBT`re>_MoYq6u3SDo7oREA5Ygnr*)H7un*MA28x4r4?*#PMj=47E8 zGBxXS%M(xk5h=t7^_!hDS|AnY`g!xz{B66rGJ|l=#(x}cjC<+|(rD4d=(D_j|HrOG z7mTaae*!r$;fD3PlAC|L2}WMZq3BTn40AWh0<%=Z9k;vcEbqmWp~xE*;Mwu^7GhfZPmfh!fHG~)nX1CAK-=j%xrJcXp zM*nyAUszkJ@%DI)5MQA?Lj^-=*VU?7K0B|r=a#&yIa6+~0oS@$%guvAAq8+c-;}O) zN+qE5Hvc4-3<)pznGRK#VrIqQZ&+0}_19c9)!|;$b%>zRT#bm2<7B$qXefuG zBs#1(E?u1T;*wk)Rc41o8_~OleFi`NAyg{emTzEDS4a8KF80-3hGdD+Hd3F(6`#7~q>fc!w-R)Yo1u4cN_w1|F zTLQ~b+uk}p&~UQw-|Yp2Uec2CUVv8{Fq`A%X(W!dP^NNAzWeHk)p$jtgZgYDYCq|? zjb?nX92+jQO*S*bpnPdDP(#oi=3#v6HeJGXp*)NX5RgS`&b5cg}2cU3@inoyX06VN5Rz-a8?F2IzxgwD9Y(P3Fc3f($;>h+_ytum? z#ki)_fPC+BP>zx~cbQr2k0l6eQQlX#vw}UzM!~`GSHbt0+TfWA<@8OSLnLY4 zAI~9nA$u9F?#B6D>g)3(t#-R~@qCAok2F<{(JU+|j2UGabU5??W66+tBfunwC!y_+ zRh+t*;I;Adqmp@NpeWhOrvrlzN!Vb4>jxAhBMi9x#l_V$j5W^`5bY7PK-}e9CYi2_ z1;8*|X1LNotr@E`il)LkNsLqY|1$#1G*di3v7a>>$^bJe(uR0DH8_LF6s=ON!1!## zK!pe|bv*o2XC`#K% zWlJoEn;l_iUrgC7&`X!qc?#qI-)Qif%k4q2VyEfh)t^nbuHfg|UE$dCZXFeq@q2xv z@sBnF59t;YB6)H#I)&9STZgSjRXV==X9b7he{`WV)%_3 zcPkgW&Qz+zIIBp=!omDgQOsGEK`h-Y5YE;`k(WUA^~A?KPy32H-vN$^dJUi0T;{C! zz%$%S)=pjK7y8^B%q6o}I$hd}iY)7o(CoEKr{~Wb>ZD8a)D?_kGBh*4WgC4*Yd9t1 zN>E(8fy>C_IdgTn!g{4q>ZdRskpzz1*R^%s4sYetg(t$6HxMZw^?5rvuF;_}7b;P= z`}wE}R$J=ZIif9yw-UI8_T{&s5OIM4X)n{1U>TFg4P%$x?R|x6axE<#no4pLjO2y9 zS9brtWvIQN8uhi}$p6$_5kAwIrj%OZNCzDZi@@R{^GDjrN6+{_gMX2jm&S*GtLhJJ07`W=xE^i{`gf2LiSEr+e?4^UewNz9_(6C+~T+n?%Y5 z1${!77-@H3DLa2hnfVh7_Z&$tLz<2Pqeh7XX0%fjV44-{;egInqsEIr~=2 z4dDE)HmFS0HKR5_4@$zgQ;XOAn($?g?#*MI5%uYTz0j;(sY3NFFeD_fz{+IxT!dn4 zOcl9V9Tl^>8(bvA)?+jYy(G+FiRPQS*M&@m8ZPm3koF}e><#JPvGJpYrd^4@3tH{| z#d_)s$6LG8Ij%^g*BMLqQb#1J>wRpT^*iu;-IcrN$=21G3_Ef`W)b{SJ;i}#Z;?%+*}dsZlMYby#yzVS7c{%)sb$pQr=8b`{aE_o z!DHige6gQ}j)<_TRZ^d)G4ymI>uKcx>}aTY|A+ZH2We5OSthgFnsuGTl8OsB&U%eE zDMHvj-UNq6b5EzXyx*up<8)B_9$MV@o{{Muj~ z8BkpV0_M19eFB!f0V{_VU#vy7xER1h7sI1@t=Bs&urJUz69|0frvywhne(fuHbUKN zIToI|-$`=i7Y}psmq5ak1R%pPk@^K*#5y zo{c)hpQv?aDJKY*-Zn12ZG0V;*YZ}HSnd`-I0J0sd#mSwG$wQi8KV`KS?SkcLe>5t z1beP#90pGF>|d?n1D7O+?~#;JHar2|842lT8w?hTS5f`0 zec7Ay8Qm{=8Hys?B9SnI4wlk9iPPd_bIFjibVV z!r$6y00y~DU+sU^x>HkV2Nw^#?d^UvE#t!I;)QJ&z4EqS1E|qwrSFExmGDT->%UeK zFoP(UXBu+;t0@~+?YstZn3st-8)}O1a5T%H{Y|tc6o#*F8&8uFvL2WEz@_*Ig$mT; zBM}k1(?EJS5_1-h$Rb@hx#4ZSU9lPu8>#I3`Nab-;=y9_skT#*IXUpp>D~0YJhxyf z#^K{4la`xc>J~4fmgD$4{x?M8h82eD$mX50!eM*Nt$ybiuYBH7>W;C29&Z2;EnijO zEtp+w9P^DoB|i}3Xy@$k>~o&WAHyk9(D`$ zjI9osyp+a(p?S%JQP+pM^@L7os?s6wE9!4<2I_frhX<`m+H&(Gt4_#|ZA1!kT^-NoD5Hw5x$*}m&Ck8*GJvX&KY!($!f)f!7QKxKAvAnrMC z@DfD&o`tKQK;FTkI`P5BS8Qs{QSBn2++{zYn3>p;@1m^`{omWhE_b}?<$$*A8Eu#? z%zi|Xmwfs@``{!@@%n4AyKB>3B|%&voOiEM2{?IjeFS}dRnVat8kX*v=`Ac|p7W#_ zjF=PB%7V_&a>{sAVWicuqL=mGwA17EMUc%1D+VLLj>?SOdqA;ax$zF$^G%jIO#WdF zj66Wnle0+RQ`M}*3rg-5K#MfAipO*(|J}P-ER9so;zXQgay5I44$Q~ z^k@Ac3BVWJ&GC6m{0Xkhbg=z4HEBPt4u9ZW<%#+LLQQamL+awTekH^H5 z_SnC-|MS{O?z@+>gmL$KK;#>UF=k6v1w-wia-LA12$|x}o;#zJ(73k^Hs2;}Vh`dd z5*^-SAOCBYnPyTHlT>Ur`w@?DJ?n1sQwl_GUEs#NbYlAbRZIRNrRopMMDZPwR370J z`6RS)oA_N}Lt67yDNhGOWUY8W(qm0B3A=>Mlu}fD(D1>Bv=E;rSO(p?=b$03j3|0n zWv^kku3rM*T(LwaRMg4K-_=rknQI#zgwo*H=71HTA8(#bbuk_+HL)82`gE3z z7pDBsd!de=A04e3%$fg9*|wW)ib-qB_!e6LpD{fs+BlL4EukDJ;DMy6`DxpFBtylqjiAC_Pe{?BZ8> zT_lwyZrQ?;`JmH%ypu?n>nXuUz{zD}u}Y_^uX6PP<;%lFyP$WKa5@#j=!CqxvisF6 zg=8SXubl+CJ6<&`BDV!xUMXnNY*M(4^}p}>7JG@MnXG@3QOh$5BSaFrO~xC_v2lmh zjYY+C0{7zG0i}m{P+Z_Q<@V2MzspV-tof%%Agx9iW=1&$sj~x-^ zX>2ZHHcv>Xz=hgtDycOZOBI)aZ^8Mj1BNm-6DCZ$Td~#I54CbH5lKw{{IBd1KU-xL zIMY}@{7&cEwbl9eA!{TRN6V`eIlAz;f?YU_(9&@^)=~+^a2%o|V-0lG3hM4n4jC1G zcTRslZh}rUT1>5)7@Qg;uWD2J&tH6kpo>TKbV2R#DN83st$ws~5XLw^QdT~8GoORnhvC~_&s4*7BF(!iMt_mViG)EeM z#UHrjX*w%tHx#m*D34r7U&19^*MK*A1sAN!_~%;P&nL^~5zlsZB~q(0ljWJgQZ*-tpOb2y3xuB1DUm$x+F45o!}{3yq>F5+KxY8AOK6;GK*CB-%S+NjOVjpeNectkt( zfH{5$0XFgMjzwakp$bZIk;$+c0&R}+umRj7{$NLXlT;3kJcO3S^KN)Dyz$&w$+kXtKZRQAS5Sv z*k$4%VrZ;3YLt__`HEdqFJLx)WdbMg>d)rHu+MNhf^b?ED>Ho+DgAzT^lumS<=y+o ze9tehpENUOMa=xvP)@L=31H9XW0$I&3trM}$mw6VvIzb|mixh?YpBO9%y)P47%%3^ zAJs5R`N(>D(gm17wSx$rpfvil=qrC6Nxchu(X3Pf?ZF8)=_Al}{Y#{5K5i4)l&JHY z6RP}kTpr1UmunkXfYygp;}SjD*qzqE6)E+k${NzcQt>;L6M{cwpM-ZgQZi6`2)Z7+ z?Ak%g%gvrBRBm8jSst@2;6zjuBqZDHHJ^b61VY!uE= z$DP`(p<-{nIZ7{Z60qK694!W>JrQ%y+24;gw{tBEP%iovz04MlL`z;{i8rm=-+WZ(^n zM(zV9A=8!aL=uMlFNM@)Pbt5)^y~7{z@eOO&bhk}6P4^WsiBdtwg)NB9W==yA;w1H`kW)kT^S?vYnKY!Rl(QBZ_8n(V&C!xx_NP*KrG=kgtr zm!qzuzWeg1BvEpm@^d-%vcg~O>3>#kFBu2h?fsr|1ZB%wi#+G6(Ui_3H2vC7;Y0ga z=8Z84lqOhm)@x+ux}KhM?oHjQasB3#(ibPJ3v*}!oY%n{;Wk`8=D?>TP zO)O!c!Fo6lERILN2kEi7GMmFb4@9r$e;xcv2g`5#Agzhv`p1KF7oLnq1I8Ddby1HU z$}+SW=xOiJykYmlyu$}}&Cc1X>uQ#B0$)Tf^W1P>4=md}No!)&)s%)PNoJML#F)S2 zyd9jr-I{B-szYxXE+FGyT*ZDG6>%H-ANH(LCZZQ0X)fd}OONknNK?sSzab$|AJ0?rfD`M#^8 zz5Ti1PoGTAQ*)e@dlS3EyWsESVf^j8Guav|1Z~BM?MFbpX5U%kT(vV!bPo z+nR>9?p=;g;t7;E2nfxk z1>OC9yV-vSu#=R3DG^r0x*7Aa%!JW?*pyXbfU}(txH2qV0Y&qlZpV+DMJw(t^yQUD z#XW*}agTNTJR{0oy7ni*L?xr6B1T~~wu0Ud{p`EXXF`tpR7+ky%8 zD6`q=L3ewJWw8%YwLZP6Co(vyJuCS!#lI-7oSKIFo@_=bx($L^f^Dge2 zDvh;vE~%8Ix3Y4i^-fRElG%7ev;M@>Q1WxFAj#G$exgDP!z`LXx~kTIbY3a4VcS+_ z4elsT;^B865vyhh=Ncn|>9B2}1~la=IyzIv?}t=tCc!EW?Q4buRc!b&p|+{zCzs{Q zb{!WNccfXZ@m=UFzXZ}6gmQgvwlJ$YBtV?>#Pybi*e!HIIbhb*dao|LWMEx-60uBl zmg0kbA&|$}APFw{(fxs;0(%p(`%|Ta9)1N6z0h9Wq;2i*N<2wESuj#VR>vWNUsFTr zyl79_#RLdDoZ6#^=CKh+M{H1Zj;EU4Ea8{QS}(9wf616~yOQ{ImYZ4o7`4)zh#QwP zvKD019d#yG!jMJ!A1Ek`jCo3XcH>97vp^cg5iw3IU0aQWpQ#GZt=fmG_T&==?S`3~ zwUgN)Lu}2#sGALlCtM*>9QqjYedz!i?Aa*e8BUY5w(6eT#N=V(JbsAf5^vNo8e_kXSSFB>oL?H_ Date: Thu, 24 Oct 2024 05:21:37 -0500 Subject: [PATCH 113/344] Fix Design Disks (#3622) ## About The Pull Request Design disks work again ## Why It's Good For The Game This is probably going to die before Christmas but we should have features that work ## Changelog :cl: fix: Design disks work again /:cl: --- code/modules/research/rdconsole.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 77f307868674..8caeb2763e5d 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -639,10 +639,10 @@ Nothing else in the console has ID requirements. RDSCREEN_UI_DDISK_CHECK var/list/l = list() l += "Disk Operations: Clear DiskUpload AllEject Disk" - for(var/i in 1 to d_disk.max_blueprints) + for(var/i in d_disk.blueprints) l += "

    " - if(d_disk.blueprints[i]) - var/datum/design/D = d_disk.blueprints[i] + if(istype(i, /datum/design)) + var/datum/design/D = i l += "[D.icon_html(usr)] [D.name]" l += "Operations: Upload to database Clear Slot" else From be18249408423116203b7259bbf81cb269910d95 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Thu, 24 Oct 2024 15:15:09 -0500 Subject: [PATCH 114/344] Refactors lootdroppers (#3526) Refactors lootdroppers, giving them a fresh coat of paint from https://github.com/tgstation/tgstation/pull/60522 Ports docking port sprites from https://github.com/tgstation/tgstation/pull/82729 I also tweaked some of the mapping helper's icons. :cl: refactor: refactored some mapping stuff including random spawners! /:cl: --- .../BeachRuins/beach_ancient_ruin.dmm | 2 +- .../BeachRuins/beach_float_resort.dmm | 2 +- .../BeachRuins/beach_ocean_town.dmm | 56 +- .../BeachRuins/beach_pirate_crash.dmm | 10 +- .../BeachRuins/beach_treasure_cove.dmm | 6 +- .../IceRuins/icemoon_crashed_holemaker.dmm | 12 +- .../IceRuins/icemoon_ice_lodge.dmm | 22 +- .../icemoon_underground_abandoned_village.dmm | 8 +- .../icemoon_underground_brazillianlab.dmm | 8 +- .../JungleRuins/jungle_bombed_starport.dmm | 10 +- .../JungleRuins/jungle_cavecrew.dmm | 12 +- .../JungleRuins/jungle_medtech_outbreak.dmm | 2 +- .../JungleRuins/jungle_paradise.dmm | 28 +- .../JungleRuins/jungle_syndicate.dmm | 2 +- .../lavaland_abandonedlisteningpost.dmm | 10 +- .../LavaRuins/lavaland_crashed_starwalker.dmm | 4 +- .../lavaland_surface_wrecked_factory.dmm | 50 +- .../RockRuins/rockplanet_budgetcuts.dmm | 10 +- .../RockRuins/rockplanet_distillery.dmm | 36 +- .../RockRuins/rockplanet_nomadcrash.dmm | 6 +- .../RockRuins/rockplanet_shippingdock.dmm | 22 +- .../whitesands_surface_camp_combination.dmm | 16 +- .../whitesands_surface_camp_saloon.dmm | 18 +- .../whitesands_surface_medipen_plant.dmm | 8 +- .../whitesands_surface_pubbyslopcrash.dmm | 28 +- _maps/RandomRuins/SpaceRuins/astraeus.dmm | 24 +- .../SpaceRuins/corporate_mining.dmm | 12 +- _maps/RandomRuins/SpaceRuins/power_puzzle.dmm | 36 +- _maps/RandomRuins/SpaceRuins/spacemall.dmm | 108 +- .../wasteplanet_abandoned_mechbay.dmm | 30 +- .../WasteRuins/wasteplanet_lab.dmm | 2 +- .../WasteRuins/wasteplanet_tradepost.dmm | 8 +- .../WasteRuins/wasteplanet_yard.dmm | 22 +- _maps/outpost/hangar/nt_asteroid_40x20.dmm | 6 +- _maps/outpost/hangar/nt_asteroid_40x40.dmm | 7 +- _maps/outpost/hangar/nt_asteroid_56x20.dmm | 11 +- _maps/outpost/hangar/nt_asteroid_56x40.dmm | 11 +- _maps/outpost/indie_space.dmm | 122 +- _maps/outpost/nanotrasen_asteroid.dmm | 48 +- _maps/outpost/nanotrasen_ice.dmm | 26 +- .../independent/independent_beluga.dmm | 12 +- .../shuttles/independent/independent_box.dmm | 18 +- .../independent/independent_bubble.dmm | 6 +- .../independent/independent_dwayne.dmm | 65 +- .../independent/independent_junker.dmm | 28 +- .../shuttles/independent/independent_kilo.dmm | 12 +- .../independent/independent_lagoon.dmm | 4 +- .../independent/independent_mudskipper.dmm | 14 +- .../independent/independent_raleigh.dmm | 22 +- .../independent/independent_rigger.dmm | 40 +- .../independent/independent_schmiedeberg.dmm | 26 +- .../independent/independent_shetland.dmm | 18 +- .../independent/independent_sunskipper.dmm | 4 +- .../independent/independent_tranquility.dmm | 16 +- _maps/shuttles/inteq/inteq_colossus.dmm | 32 +- _maps/shuttles/inteq/inteq_hound.dmm | 14 +- _maps/shuttles/inteq/inteq_talos.dmm | 70 +- _maps/shuttles/inteq/inteq_valor.dmm | 18 +- _maps/shuttles/inteq/inteq_vaquero.dmm | 26 +- _maps/shuttles/minutemen/minutemen_atlas.dmm | 10 +- .../shuttles/nanotrasen/nanotrasen_delta.dmm | 16 +- .../shuttles/nanotrasen/nanotrasen_gecko.dmm | 146 +- .../nanotrasen/nanotrasen_harrier.dmm | 14 +- .../shuttles/nanotrasen/nanotrasen_heron.dmm | 41 +- _maps/shuttles/nanotrasen/nanotrasen_meta.dmm | 30 +- .../shuttles/nanotrasen/nanotrasen_mimir.dmm | 56 +- .../shuttles/nanotrasen/nanotrasen_ranger.dmm | 10 +- _maps/shuttles/pgf/pgf_crying_sun.dmm | 12 +- _maps/shuttles/pirate/pirate_libertatia.dmm | 20 +- _maps/shuttles/pirate/pirate_tortuga.dmm | 54 +- _maps/shuttles/solgov/solgov_inkwell.dmm | 16 +- .../subshuttles/independent_sugarcube.dmm | 8 +- .../syndicate/syndicate_cybersun_kansatsu.dmm | 6 +- .../syndicate/syndicate_gorlex_hyena.dmm | 16 +- .../syndicate/syndicate_gorlex_komodo.dmm | 48 +- .../syndicate/syndicate_litieguai.dmm | 8 +- .../shuttles/syndicate/syndicate_panacea.dmm | 6 +- .../syndicate/syndicate_twinkleshine.dmm | 22 +- _maps/templates/shelter_2.dmm | 2 +- _maps/templates/shelter_3.dmm | 2 +- code/__HELPERS/_lists.dm | 102 +- code/__HELPERS/_string_lists.dm | 2 +- code/_globalvars/lists/maintenance_loot.dm | 6 +- .../configuration/entries/game_options.dm | 10 + code/controllers/subsystem/overmap.dm | 2 +- code/controllers/subsystem/ticker.dm | 2 +- code/datums/ai_laws.dm | 4 +- code/datums/components/fantasy/_fantasy.dm | 2 +- code/datums/components/fantasy/suffixes.dm | 2 +- code/datums/components/squeak.dm | 4 +- code/datums/looping_sounds/_looping_sound.dm | 2 +- .../mapgen/planetary/JungleGenerator.dm | 6 +- code/datums/mapgen/planetary/LavaGenerator.dm | 6 +- code/datums/mapgen/planetary/RockGenerator.dm | 6 +- code/datums/mapgen/planetary/SandGenerator.dm | 6 +- code/datums/mapgen/planetary/SnowGenerator.dm | 10 +- .../datums/mapgen/planetary/WasteGenerator.dm | 248 ++-- .../mapgen/single_biome/WasteplanetCaves.dm | 2 +- code/datums/votes/_vote_datum.dm | 2 +- code/datums/weather/weather_controller.dm | 2 +- .../MapData/shuttles/nanotrasen_ranger.dm | 12 +- code/game/gamemodes/dynamic/dynamic.dm | 14 +- code/game/gamemodes/game_mode.dm | 4 +- code/game/gamemodes/meteor/meteors.dm | 2 +- code/game/machinery/computer/arcade.dm | 12 +- code/game/objects/effects/landmarks.dm | 10 +- code/game/objects/effects/misc.dm | 20 - code/game/objects/effects/spawners/bundle.dm | 104 +- .../game/objects/effects/spawners/lootdrop.dm | 1314 ----------------- .../objects/effects/spawners/mobspawner.dm | 32 +- .../effects/spawners/random.dm/ai_module.dm | 41 + .../effects/spawners/random.dm/anomaly.dm | 222 +++ .../effects/spawners/random.dm/bedsheet.dm | 33 + .../effects/spawners/random.dm/boards.dm | 245 +++ .../effects/spawners/random.dm/bureaucracy.dm | 68 + .../effects/spawners/random.dm/clothing.dm | 67 + .../effects/spawners/random.dm/decoration.dm | 118 ++ .../effects/spawners/random.dm/engineering.dm | 138 ++ .../spawners/random.dm/entertainment.dm | 282 ++++ .../effects/spawners/random.dm/exotic.dm | 69 + .../spawners/random.dm/food_or_drink.dm | 284 ++++ .../effects/spawners/random.dm/maintenance.dm | 57 + .../effects/spawners/random.dm/medical.dm | 145 ++ .../effects/spawners/random.dm/random.dm | 175 +++ .../effects/spawners/random.dm/readme.md | 425 ++++++ .../effects/spawners/random.dm/salvaging.dm | 207 +++ .../effects/spawners/random.dm/structure.dm | 91 ++ .../effects/spawners/random.dm/trash.dm | 282 ++++ .../effects/spawners/random.dm/vending.dm | 17 + .../spawners/random.dm/waste_planet.dm | 101 ++ code/game/objects/effects/spawners/spawner.dm | 23 + code/game/objects/effects/spawners/traps.dm | 9 - .../objects/effects/spawners/vaultspawner.dm | 28 - .../effects/spawners/xeno_egg_delivery.dm | 18 - code/game/objects/items/chromosome.dm | 2 +- code/game/objects/items/devices/flashlight.dm | 9 - code/game/objects/items/devices/mines.dm | 8 +- .../game/objects/items/grenades/ghettobomb.dm | 2 +- code/game/objects/items/plushes.dm | 40 - .../game/objects/items/storage/uplink_kits.dm | 6 +- code/game/objects/items/toys.dm | 2 +- code/game/objects/structures/bedsheet_bin.dm | 4 +- .../crates_lockers/closets/gimmick.dm | 1 - .../crates_lockers/closets/utility_closets.dm | 2 +- code/game/objects/structures/geyser.dm | 2 +- code/game/objects/structures/salvaging.dm | 316 +--- code/game/turfs/closed/minerals.dm | 2 +- code/modules/admin/verbs/randomverbs.dm | 2 +- .../changeling/powers/pheromone_receptors.dm | 2 +- code/modules/awaymissions/away_props.dm | 6 +- code/modules/awaymissions/corpse.dm | 12 +- .../awaymissions/mission_code/snowdin.dm | 77 - .../blackmarket_items/consumables.dm | 4 +- code/modules/cargo/packs/costumes_toys.dm | 4 +- code/modules/cargo/packs/food.dm | 12 +- code/modules/clothing/gloves/color.dm | 18 - .../clothing/outfits/ert/frontiersmen_ert.dm | 12 +- code/modules/events/brain_trauma.dm | 2 +- code/modules/events/heart_attack.dm | 2 +- code/modules/events/holiday/xmas.dm | 2 +- code/modules/fishing/fish/_fish.dm | 2 +- code/modules/fishing/sources/_fish_source.dm | 2 +- code/modules/flufftext/Hallucination.dm | 2 +- code/modules/food_and_drinks/pizzabox.dm | 4 +- code/modules/mapping/mapping_helpers.dm | 8 +- code/modules/mining/lavaland/ash_flora.dm | 121 +- code/modules/mining/ore_veins.dm | 2 +- .../hostile/abandoned_minebot.dm | 4 +- .../living/simple_animal/hostile/hivebot.dm | 2 +- .../simple_animal/hostile/human/survivors.dm | 32 +- .../hostile/mining_mobs/hivelord.dm | 4 +- .../hostile/mining_mobs/hivelord_outfits.dm | 56 +- .../mob/living/simple_animal/simple_animal.dm | 2 +- code/modules/mob/mob_helpers.dm | 2 +- code/modules/mob_spawner/hivebot.dm | 2 +- code/modules/mob_spawner/spawner_componet.dm | 2 +- code/modules/overmap/objects/dynamic_datum.dm | 4 +- code/modules/overmap/objects/event_datum.dm | 2 +- .../chemistry/reagents/other_reagents.dm | 4 +- .../research/designs/biogenerator_designs.dm | 2 +- code/modules/research/experimentor.dm | 4 +- code/modules/shuttle/shuttle.dm | 8 +- code/modules/vending/cola.dm | 11 - code/modules/vending/snack.dm | 11 - config/game_options.txt | 5 + html/changelogs/archive/2019-03.yml | 2 +- icons/effects/landmarks_static.dmi | Bin 19814 -> 0 bytes icons/effects/mapping/docking_ports.dmi | Bin 0 -> 697 bytes icons/effects/mapping/landmarks_static.dmi | Bin 0 -> 19106 bytes icons/effects/mapping/mapping_helpers.dmi | Bin 0 -> 12739 bytes icons/effects/mapping/random_spawners.dmi | Bin 0 -> 97084 bytes icons/effects/mapping_helpers.dmi | Bin 16864 -> 0 bytes icons/obj/clothing/gloves.dmi | Bin 24290 -> 21845 bytes icons/obj/lighting.dmi | Bin 80208 -> 76435 bytes shiptest.dme | 24 +- .../Scripts/17256_NEWFOOD_cakebreadnoodle.txt | 22 - ...spawners.txt => 3526_replace_spawners.txt} | 128 +- .../Scripts/55614_replacemonkeys.txt | 5 - .../Scripts/55658_apc_pixel_offsets.txt | 4 - .../UpdatePaths/Scripts/55658_cornersfix.txt | 30 - .../Scripts/56644_turfs2decals.txt | 467 ------ .../Scripts/59820_replaceplasteelturf.txt | 50 - .../Scripts/60619_toxins_to_plasma.txt | 38 - .../Scripts/61694_reinforcedwindows.txt | 35 - .../Scripts/62601_wallitems_f2w.txt | 94 -- .../Scripts/62789_camera_diag_f2w.txt | 5 - .../Scripts/65236_clothingunderrepath.txt | 196 --- .../Scripts/65326_lib_computers.txt | 1 - .../Scripts/65504_floor_repathing.txt | 53 - .../Scripts/65656_windoor_replacement.txt | 39 - .../Scripts/65755_pdas_to_tabs.txt | 56 - .../65906_replace_wayfinding_beacons.txt | 1 - .../66210_replace_tiered_canisters.txt | 9 - .../Scripts/66406_turf_updates.txt | 344 ----- .../Scripts/66411_thermomachines.txt | 6 - .../Scripts/66505_tablet_cartridges.txt | 24 - .../Scripts/66754_replace_sign_names.txt | 17 - .../Scripts/66860_replace_masks.txt | 16 - .../Scripts/67083_action_granters.txt | 1 - .../Scripts/67107_turf_updates_2.txt | 118 -- .../Scripts/67324_misc_space_fix.txt | 4 - .../67512_mail_sorting_to_shipping.txt | 2 - .../67761_floorvaredits_to_mappinghelpers.txt | 66 - ...aredited_signs_to_subtype_directionals.txt | 452 ------ 224 files changed, 4584 insertions(+), 5518 deletions(-) delete mode 100644 code/game/objects/effects/spawners/lootdrop.dm create mode 100644 code/game/objects/effects/spawners/random.dm/ai_module.dm create mode 100644 code/game/objects/effects/spawners/random.dm/anomaly.dm create mode 100644 code/game/objects/effects/spawners/random.dm/bedsheet.dm create mode 100644 code/game/objects/effects/spawners/random.dm/boards.dm create mode 100644 code/game/objects/effects/spawners/random.dm/bureaucracy.dm create mode 100644 code/game/objects/effects/spawners/random.dm/clothing.dm create mode 100644 code/game/objects/effects/spawners/random.dm/decoration.dm create mode 100644 code/game/objects/effects/spawners/random.dm/engineering.dm create mode 100644 code/game/objects/effects/spawners/random.dm/entertainment.dm create mode 100644 code/game/objects/effects/spawners/random.dm/exotic.dm create mode 100644 code/game/objects/effects/spawners/random.dm/food_or_drink.dm create mode 100644 code/game/objects/effects/spawners/random.dm/maintenance.dm create mode 100644 code/game/objects/effects/spawners/random.dm/medical.dm create mode 100644 code/game/objects/effects/spawners/random.dm/random.dm create mode 100644 code/game/objects/effects/spawners/random.dm/readme.md create mode 100644 code/game/objects/effects/spawners/random.dm/salvaging.dm create mode 100644 code/game/objects/effects/spawners/random.dm/structure.dm create mode 100644 code/game/objects/effects/spawners/random.dm/trash.dm create mode 100644 code/game/objects/effects/spawners/random.dm/vending.dm create mode 100644 code/game/objects/effects/spawners/random.dm/waste_planet.dm create mode 100644 code/game/objects/effects/spawners/spawner.dm delete mode 100644 code/game/objects/effects/spawners/traps.dm delete mode 100644 code/game/objects/effects/spawners/vaultspawner.dm delete mode 100644 code/game/objects/effects/spawners/xeno_egg_delivery.dm delete mode 100644 icons/effects/landmarks_static.dmi create mode 100644 icons/effects/mapping/docking_ports.dmi create mode 100644 icons/effects/mapping/landmarks_static.dmi create mode 100644 icons/effects/mapping/mapping_helpers.dmi create mode 100644 icons/effects/mapping/random_spawners.dmi delete mode 100644 icons/effects/mapping_helpers.dmi delete mode 100644 tools/UpdatePaths/Scripts/17256_NEWFOOD_cakebreadnoodle.txt rename tools/UpdatePaths/Scripts/{60522_replace_spawners.txt => 3526_replace_spawners.txt} (62%) delete mode 100644 tools/UpdatePaths/Scripts/55614_replacemonkeys.txt delete mode 100644 tools/UpdatePaths/Scripts/55658_apc_pixel_offsets.txt delete mode 100644 tools/UpdatePaths/Scripts/55658_cornersfix.txt delete mode 100644 tools/UpdatePaths/Scripts/56644_turfs2decals.txt delete mode 100644 tools/UpdatePaths/Scripts/59820_replaceplasteelturf.txt delete mode 100644 tools/UpdatePaths/Scripts/60619_toxins_to_plasma.txt delete mode 100644 tools/UpdatePaths/Scripts/61694_reinforcedwindows.txt delete mode 100644 tools/UpdatePaths/Scripts/62601_wallitems_f2w.txt delete mode 100644 tools/UpdatePaths/Scripts/62789_camera_diag_f2w.txt delete mode 100644 tools/UpdatePaths/Scripts/65236_clothingunderrepath.txt delete mode 100644 tools/UpdatePaths/Scripts/65326_lib_computers.txt delete mode 100644 tools/UpdatePaths/Scripts/65504_floor_repathing.txt delete mode 100644 tools/UpdatePaths/Scripts/65656_windoor_replacement.txt delete mode 100644 tools/UpdatePaths/Scripts/65755_pdas_to_tabs.txt delete mode 100644 tools/UpdatePaths/Scripts/65906_replace_wayfinding_beacons.txt delete mode 100644 tools/UpdatePaths/Scripts/66210_replace_tiered_canisters.txt delete mode 100644 tools/UpdatePaths/Scripts/66406_turf_updates.txt delete mode 100644 tools/UpdatePaths/Scripts/66411_thermomachines.txt delete mode 100644 tools/UpdatePaths/Scripts/66505_tablet_cartridges.txt delete mode 100644 tools/UpdatePaths/Scripts/66754_replace_sign_names.txt delete mode 100644 tools/UpdatePaths/Scripts/66860_replace_masks.txt delete mode 100644 tools/UpdatePaths/Scripts/67083_action_granters.txt delete mode 100644 tools/UpdatePaths/Scripts/67107_turf_updates_2.txt delete mode 100644 tools/UpdatePaths/Scripts/67324_misc_space_fix.txt delete mode 100644 tools/UpdatePaths/Scripts/67512_mail_sorting_to_shipping.txt delete mode 100644 tools/UpdatePaths/Scripts/67761_floorvaredits_to_mappinghelpers.txt delete mode 100644 tools/UpdatePaths/Scripts/68004_varedited_signs_to_subtype_directionals.txt diff --git a/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm b/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm index bda6fb742d53..dad43ef34082 100644 --- a/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_ancient_ruin.dmm @@ -1144,7 +1144,7 @@ /turf/open/floor/concrete/slab_1, /area/ruin/beach/complex/wall) "sa" = ( -/obj/effect/spawner/lootdrop/garden/seaweed, +/obj/effect/spawner/random/food_or_drink/garden/seaweed, /turf/open/water/beach, /area/overmap_encounter/planetoid/beachplanet/explored) "so" = ( diff --git a/_maps/RandomRuins/BeachRuins/beach_float_resort.dmm b/_maps/RandomRuins/BeachRuins/beach_float_resort.dmm index b2c39404d641..8c8097e2c794 100644 --- a/_maps/RandomRuins/BeachRuins/beach_float_resort.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_float_resort.dmm @@ -825,7 +825,7 @@ dir = 1 }, /obj/item/candle, -/obj/effect/spawner/lootdrop/donut, +/obj/effect/spawner/random/food_or_drink/donut, /turf/open/floor/wood{ light_range = 2 }, diff --git a/_maps/RandomRuins/BeachRuins/beach_ocean_town.dmm b/_maps/RandomRuins/BeachRuins/beach_ocean_town.dmm index 312e11abe0f4..39bebb15982e 100644 --- a/_maps/RandomRuins/BeachRuins/beach_ocean_town.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_ocean_town.dmm @@ -113,7 +113,7 @@ }, /area/overmap_encounter/planetoid/beachplanet/explored) "bs" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /turf/open/floor/plasteel/patterned/grid, /area/ruin/beach/oceantown/shop) "bu" = ( @@ -412,9 +412,9 @@ /area/ruin/beach/oceantown) "fn" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/donut/slimejelly, -/obj/effect/spawner/lootdrop/donut, -/obj/effect/spawner/lootdrop/donut, +/obj/effect/spawner/random/food_or_drink/donut/slimejelly, +/obj/effect/spawner/random/food_or_drink/donut, +/obj/effect/spawner/random/food_or_drink/donut, /turf/open/floor/plasteel/patterned/grid, /area/ruin/beach/oceantown/shop) "fp" = ( @@ -711,8 +711,8 @@ /area/overmap_encounter/planetoid/beachplanet/explored) "ix" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/donut/slimejelly, -/obj/effect/spawner/lootdrop/donut, +/obj/effect/spawner/random/food_or_drink/donut/slimejelly, +/obj/effect/spawner/random/food_or_drink/donut, /turf/open/floor/plasteel/patterned/grid, /area/ruin/beach/oceantown/shop) "iz" = ( @@ -1560,11 +1560,11 @@ /area/ruin/beach/oceantown/bar) "un" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/donut, -/obj/effect/spawner/lootdrop/donut, -/obj/effect/spawner/lootdrop/donut, -/obj/effect/spawner/lootdrop/donut, -/obj/effect/spawner/lootdrop/donut/slimejelly, +/obj/effect/spawner/random/food_or_drink/donut, +/obj/effect/spawner/random/food_or_drink/donut, +/obj/effect/spawner/random/food_or_drink/donut, +/obj/effect/spawner/random/food_or_drink/donut, +/obj/effect/spawner/random/food_or_drink/donut/slimejelly, /turf/open/floor/plasteel/patterned/grid, /area/ruin/beach/oceantown/shop) "ur" = ( @@ -3367,8 +3367,8 @@ /area/overmap_encounter/planetoid/beachplanet/explored) "NX" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/donut/jelly, -/obj/effect/spawner/lootdrop/donut/jelly, +/obj/effect/spawner/random/food_or_drink/donut/jelly, +/obj/effect/spawner/random/food_or_drink/donut/jelly, /turf/open/floor/plasteel/patterned/grid, /area/ruin/beach/oceantown/shop) "Oe" = ( @@ -3541,7 +3541,7 @@ /area/ruin/beach/oceantown) "PF" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/donut/slimejelly, +/obj/effect/spawner/random/food_or_drink/donut/slimejelly, /turf/open/floor/plasteel/patterned/grid, /area/ruin/beach/oceantown/shop) "PH" = ( @@ -3569,7 +3569,7 @@ /turf/open/water/beach, /area/overmap_encounter/planetoid/beachplanet/explored) "Qf" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /turf/open/floor/plasteel/patterned/grid, /area/ruin/beach/oceantown/shop) "Qm" = ( @@ -3733,10 +3733,10 @@ /area/overmap_encounter/planetoid/beachplanet/explored) "SS" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/donut, -/obj/effect/spawner/lootdrop/donut, -/obj/effect/spawner/lootdrop/donut/slimejelly, -/obj/effect/spawner/lootdrop/donut/jelly, +/obj/effect/spawner/random/food_or_drink/donut, +/obj/effect/spawner/random/food_or_drink/donut, +/obj/effect/spawner/random/food_or_drink/donut/slimejelly, +/obj/effect/spawner/random/food_or_drink/donut/jelly, /turf/open/floor/plasteel/patterned/grid, /area/ruin/beach/oceantown/shop) "SY" = ( @@ -3906,7 +3906,7 @@ /area/ruin/beach/oceantown/bar) "Vr" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/carpet, /area/ruin/beach/oceantown) "VI" = ( @@ -3945,9 +3945,9 @@ /area/ruin/beach/oceantown/shop) "VQ" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/donut/jelly, -/obj/effect/spawner/lootdrop/donut/jelly, -/obj/effect/spawner/lootdrop/donut/jelly, +/obj/effect/spawner/random/food_or_drink/donut/jelly, +/obj/effect/spawner/random/food_or_drink/donut/jelly, +/obj/effect/spawner/random/food_or_drink/donut/jelly, /turf/open/floor/plasteel/patterned/grid, /area/ruin/beach/oceantown/shop) "VS" = ( @@ -4112,11 +4112,11 @@ /area/overmap_encounter/planetoid/beachplanet/explored) "XQ" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/donut/jelly, -/obj/effect/spawner/lootdrop/donut/jelly, -/obj/effect/spawner/lootdrop/donut/jelly, -/obj/effect/spawner/lootdrop/donut/slimejelly, -/obj/effect/spawner/lootdrop/donut/jelly, +/obj/effect/spawner/random/food_or_drink/donut/jelly, +/obj/effect/spawner/random/food_or_drink/donut/jelly, +/obj/effect/spawner/random/food_or_drink/donut/jelly, +/obj/effect/spawner/random/food_or_drink/donut/slimejelly, +/obj/effect/spawner/random/food_or_drink/donut/jelly, /turf/open/floor/plasteel/patterned/grid, /area/ruin/beach/oceantown/shop) "XS" = ( diff --git a/_maps/RandomRuins/BeachRuins/beach_pirate_crash.dmm b/_maps/RandomRuins/BeachRuins/beach_pirate_crash.dmm index 67ac69292603..fddfa5bdc00f 100644 --- a/_maps/RandomRuins/BeachRuins/beach_pirate_crash.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_pirate_crash.dmm @@ -1111,7 +1111,7 @@ /obj/structure/closet/crate, /obj/effect/turf_decal/box, /obj/item/stack/cable_coil/red, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ruin/beach/piratecrash/shuttle) @@ -1350,7 +1350,7 @@ "Pf" = ( /obj/effect/turf_decal/box, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/item/stack/sheet/mineral/gold/five, /obj/item/stack/sheet/mineral/silver/five, /obj/item/stack/sheet/mineral/silver/five, @@ -1433,9 +1433,9 @@ "QG" = ( /obj/effect/turf_decal/box, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/random_machine_circuit_rare, -/obj/effect/spawner/lootdrop/maintenance/four, -/obj/effect/spawner/lootdrop/random_machine_circuit_common, +/obj/effect/spawner/random/circuit/machine/rare, +/obj/effect/spawner/random/maintenance/four, +/obj/effect/spawner/random/circuit/machine/common, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/rust, diff --git a/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm b/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm index 839e87815f93..fbf9bf8ed4eb 100644 --- a/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm +++ b/_maps/RandomRuins/BeachRuins/beach_treasure_cove.dmm @@ -35,7 +35,7 @@ "bI" = ( /obj/effect/turf_decal/industrial/hatch/yellow, /obj/machinery/light/small/directional/north, -/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/random/decoration/glowstick, /turf/open/floor/concrete/slab_1, /area/ruin/beach/treasure_cove) "bN" = ( @@ -53,7 +53,7 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/random/decoration/glowstick, /turf/open/floor/plating/dirt/jungle, /area/ruin/unpowered) "cJ" = ( @@ -543,7 +543,7 @@ pixel_x = -10; pixel_y = 4 }, -/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/random/decoration/glowstick, /turf/open/floor/wood, /area/ruin/beach/treasure_cove) "rA" = ( diff --git a/_maps/RandomRuins/IceRuins/icemoon_crashed_holemaker.dmm b/_maps/RandomRuins/IceRuins/icemoon_crashed_holemaker.dmm index 707be4573d13..294dd1056431 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_crashed_holemaker.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_crashed_holemaker.dmm @@ -473,9 +473,7 @@ /obj/structure/bed/double{ dir = 1 }, -/obj/item/bedsheet/dorms/double{ - dir = 1 - }, +/obj/effect/spawner/random/bedsheet/double, /turf/open/floor/plasteel/dark, /area/ruin/unpowered/crashed_holemaker) "iN" = ( @@ -674,7 +672,7 @@ /area/ruin/unpowered/crashed_holemaker) "lt" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/crate_spawner, +/obj/effect/spawner/random/structure/crate_abandoned, /turf/open/floor/plating, /area/ruin/unpowered/crashed_holemaker) "lu" = ( @@ -743,7 +741,7 @@ }, /obj/item/radio/intercom/directional/north, /obj/structure/closet/cabinet, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, /area/ruin/unpowered/crashed_holemaker) @@ -1441,7 +1439,7 @@ /turf/open/floor/carpet, /area/ruin/unpowered/crashed_holemaker) "ze" = ( -/obj/effect/spawner/lootdrop/crate_spawner, +/obj/effect/spawner/random/structure/crate_abandoned, /turf/open/floor/plating, /area/ruin/unpowered/crashed_holemaker) "zh" = ( @@ -2389,7 +2387,7 @@ /turf/open/floor/plasteel/icemoon, /area/ruin/unpowered/crashed_holemaker) "RL" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/effect/turf_decal/spline/fancy/transparent/neutral/corner{ dir = 4 }, diff --git a/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm b/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm index 92b840e05aa0..a698cf49ea18 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm @@ -337,7 +337,7 @@ /turf/open/floor/concrete/slab_3/icemoon, /area/overmap_encounter/planetoid/cave/explored) "fe" = ( -/obj/item/bedsheet/random, +/obj/effect/spawner/random/bedsheet, /obj/effect/turf_decal/siding/wood, /obj/structure/bed{ icon_state = "dirty_mattress" @@ -1256,10 +1256,10 @@ /obj/item/clothing/head/frontier, /obj/item/clothing/gloves/color/latex, /obj/item/clothing/mask/surgical, -/obj/effect/spawner/lootdrop/chem_jug, -/obj/effect/spawner/lootdrop/chem_jug, -/obj/effect/spawner/lootdrop/chem_jug, -/obj/effect/spawner/lootdrop/chem_jug, +/obj/effect/spawner/random/medical/chem_jug, +/obj/effect/spawner/random/medical/chem_jug, +/obj/effect/spawner/random/medical/chem_jug, +/obj/effect/spawner/random/medical/chem_jug, /obj/effect/turf_decal/corner/opaque/blue, /obj/effect/turf_decal/corner/opaque/neutral{ dir = 4 @@ -1659,7 +1659,7 @@ /area/ruin/powered/icemoon/lodge/mainhall) "wD" = ( /obj/structure/bed, -/obj/item/bedsheet/random, +/obj/effect/spawner/random/bedsheet, /obj/effect/turf_decal/siding/wood{ dir = 10 }, @@ -1771,7 +1771,7 @@ /turf/open/floor/wood/maple, /area/ruin/powered/icemoon/lodge/mainhall) "yi" = ( -/obj/item/bedsheet/random, +/obj/effect/spawner/random/bedsheet, /obj/effect/turf_decal/siding/wood{ dir = 6 }, @@ -1968,9 +1968,9 @@ /obj/effect/turf_decal/spline/fancy/wood{ dir = 8 }, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /turf/open/floor/wood/mahogany{ icon_state = "wood-broken6" }, @@ -2677,7 +2677,7 @@ /turf/closed/wall/mineral/wood, /area/ruin/powered/icemoon/lodge/residential) "Nq" = ( -/obj/item/bedsheet/random, +/obj/effect/spawner/random/bedsheet, /obj/effect/turf_decal/siding/wood, /obj/effect/decal/cleanable/dirt, /obj/structure/bed{ diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm index 42aa6b288469..f4db9fa9d9f7 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_underground_abandoned_village.dmm @@ -40,7 +40,7 @@ "fD" = ( /obj/structure/bed, /obj/effect/decal/cleanable/blood/bubblegum, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/wood, /area/ruin/powered) "fQ" = ( @@ -459,7 +459,7 @@ /area/overmap_encounter/planetoid/cave/explored) "LZ" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/wood, /area/ruin/powered) "Nq" = ( @@ -477,7 +477,7 @@ /turf/open/floor/carpet, /area/ruin/powered) "Pp" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /turf/open/floor/holofloor/wood, /area/ruin/powered) "PQ" = ( @@ -554,7 +554,7 @@ "WH" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/wood, /area/ruin/powered) "Ze" = ( diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_brazillianlab.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_brazillianlab.dmm index d560e98b2f20..1a52405a3ec0 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_underground_brazillianlab.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_underground_brazillianlab.dmm @@ -478,7 +478,7 @@ /area/overmap_encounter/planetoid/cave/explored) "xN" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/ruin/unpowered) "xQ" = ( @@ -1028,7 +1028,7 @@ /obj/structure/rack, /obj/item/hatchet, /obj/item/hatchet, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/ruin/unpowered) "Ul" = ( @@ -1086,7 +1086,7 @@ /obj/item/ammo_casing/shotgun/improvised, /obj/item/ammo_casing/shotgun/improvised, /obj/item/ammo_casing/shotgun/improvised, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating/snowed/smoothed/icemoon, /area/ruin/unpowered) "WH" = ( @@ -1181,7 +1181,7 @@ "Yx" = ( /obj/effect/decal/cleanable/dirt, /obj/item/rack_parts, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/wood{ icon_state = "wood-broken3"; initial_gas_mix = "ICEMOON_ATMOS" diff --git a/_maps/RandomRuins/JungleRuins/jungle_bombed_starport.dmm b/_maps/RandomRuins/JungleRuins/jungle_bombed_starport.dmm index 77c280d07e90..1afed51826aa 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_bombed_starport.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_bombed_starport.dmm @@ -811,10 +811,10 @@ /area/overmap_encounter/planetoid/jungle/explored) "fJ" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /turf/open/floor/plasteel/dark, /area/overmap_encounter/planetoid/jungle/explored) "fL" = ( @@ -2699,7 +2699,7 @@ /area/overmap_encounter/planetoid/jungle/explored) "sK" = ( /obj/structure/table, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /turf/open/floor/plasteel/grimy, /area/ruin/jungle/starport) "sN" = ( diff --git a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm index 923e58b4cb05..1159123d30f1 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm @@ -167,7 +167,7 @@ /area/overmap_encounter/planetoid/cave/explored) "bH" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/cloth/grey, /obj/effect/decal/cleanable/shreds, /turf/open/floor/carpet/nanoweave/beige, @@ -1028,10 +1028,10 @@ pixel_y = 32 }, /obj/structure/closet/secure_closet/freezer/wall/directional/west, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/reagent_containers/condiment/enzyme{ pixel_x = -8; pixel_y = 5 @@ -2221,7 +2221,7 @@ /area/ruin/jungle/cavecrew/bridge) "Be" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/cloth/grey, /turf/open/floor/carpet/red_gold, /area/ruin/jungle/cavecrew/dormitories) diff --git a/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm b/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm index 75b7e390c540..467dd8e8abd7 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm @@ -2108,7 +2108,7 @@ /obj/effect/turf_decal/corner/opaque/mauve{ dir = 1 }, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /turf/open/floor/plasteel/dark, /area/ship/crew/office) "Ie" = ( diff --git a/_maps/RandomRuins/JungleRuins/jungle_paradise.dmm b/_maps/RandomRuins/JungleRuins/jungle_paradise.dmm index 47455933ec16..4429e0b8779a 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_paradise.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_paradise.dmm @@ -685,7 +685,7 @@ /turf/open/floor/plating/grass/jungle, /area/overmap_encounter/planetoid/cave/explored) "ei" = ( -/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/random/decoration/glowstick, /turf/open/floor/plating/dirt/jungle/dark, /area/overmap_encounter/planetoid/cave/explored) "el" = ( @@ -989,7 +989,7 @@ /obj/structure/bed{ icon_state = "dirty_mattress" }, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/effect/decal/cleanable/dirt, /obj/structure/railing{ color = "#A47449"; @@ -1446,7 +1446,7 @@ dir = 4; layer = 3.9 }, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/cable/yellow{ icon_state = "1-9" }, @@ -3204,7 +3204,7 @@ /obj/structure/bed{ icon_state = "dirty_mattress" }, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/cable/yellow{ icon_state = "0-5" }, @@ -4344,11 +4344,11 @@ /obj/effect/turf_decal/techfloor/corner{ dir = 1 }, -/obj/effect/spawner/lootdrop/three_course_meal, -/obj/effect/spawner/lootdrop/three_course_meal, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/three_course_meal, +/obj/effect/spawner/random/food_or_drink/three_course_meal, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /turf/open/floor/plasteel/tech/grid, /area/ruin/jungle/paradise/cargo) "AT" = ( @@ -5764,9 +5764,9 @@ /obj/structure/cable/yellow{ icon_state = "1-6" }, -/obj/effect/spawner/lootdrop/three_course_meal, -/obj/effect/spawner/lootdrop/three_course_meal, -/obj/effect/spawner/lootdrop/three_course_meal, +/obj/effect/spawner/random/food_or_drink/three_course_meal, +/obj/effect/spawner/random/food_or_drink/three_course_meal, +/obj/effect/spawner/random/food_or_drink/three_course_meal, /obj/item/reagent_containers/food/snacks/meat/slab, /obj/item/reagent_containers/food/snacks/meat/slab, /obj/item/reagent_containers/food/snacks/meat/slab, @@ -7185,7 +7185,7 @@ /obj/structure/bed{ icon_state = "dirty_mattress" }, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/wood/walnut, /area/ruin/jungle/paradise/dorms) "UC" = ( @@ -7411,7 +7411,7 @@ }, /area/overmap_encounter/planetoid/cave/explored) "VV" = ( -/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/random/decoration/glowstick, /turf/open/floor/plating/dirt/jungle, /area/overmap_encounter/planetoid/cave/explored) "VW" = ( diff --git a/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm b/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm index 2eba13537777..60d24171ad0f 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_syndicate.dmm @@ -662,7 +662,7 @@ /obj/item/storage/box/donkpockets/donkpocketteriyaki, /obj/item/storage/box/donkpockets, /obj/item/storage/box/donkpockets/donkpocketberry, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /turf/open/floor/plating, /area/ruin/jungle/syndifort) "ve" = ( diff --git a/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm b/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm index 24fea81ce05c..dd98807a4958 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm @@ -77,7 +77,7 @@ /obj/effect/turf_decal/spline/fancy/opaque/syndiered/corner{ dir = 4 }, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /turf/open/floor/plasteel/white, /area/ruin/unpowered/listening_post) "cm" = ( @@ -2039,7 +2039,7 @@ /area/ruin/unpowered/listening_post/engineering) "MZ" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/structure/sign/poster/official/high_class_martini{ pixel_y = 32 }, @@ -2124,8 +2124,8 @@ /area/ruin/unpowered/listening_post/commons) "Om" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /turf/open/floor/plasteel/dark, /area/ruin/unpowered/listening_post/canteen) "On" = ( @@ -2246,7 +2246,7 @@ icon_state = "trimline"; dir = 8 }, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 10 }, diff --git a/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm b/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm index 336588e2d807..e0a98de791fc 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_crashed_starwalker.dmm @@ -2415,7 +2415,7 @@ pixel_x = -26 }, /obj/structure/spider/stickyweb, -/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/random/decoration/glowstick, /turf/open/floor/pod/light, /area/ruin/unpowered/crashed_starwalker) "MO" = ( @@ -2447,7 +2447,7 @@ /turf/open/floor/plating/asteroid/basalt/lava_land_surface/lit, /area/ruin/unpowered/crashed_starwalker) "MX" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/structure/railing{ dir = 4 }, diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm index 768c6275cf56..3a6b545859b7 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_wrecked_factory.dmm @@ -164,8 +164,8 @@ /area/ruin/lavaland/factory/manager_office) "bE" = ( /obj/structure/closet/crate/trashcart, -/obj/effect/spawner/lootdrop/waste/trash, -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, +/obj/effect/spawner/random/trash/decal, /obj/item/storage/bag/trash, /obj/item/reagent_containers/glass/bucket, /obj/item/mop, @@ -216,7 +216,7 @@ "cm" = ( /obj/structure/table/wood, /obj/machinery/light/directional/east, -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /turf/open/floor/wood, /area/ruin/lavaland/factory/adminstrative) "co" = ( @@ -341,7 +341,7 @@ /area/ruin/lavaland/factory/warehouse) "dc" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/cloth, /obj/effect/turf_decal/corner/opaque/ntblue, /obj/effect/turf_decal/corner/opaque/ntblue{ @@ -641,7 +641,7 @@ }, /obj/item/modular_computer/laptop, /obj/item/stack/arcadeticket, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/white, /area/ruin/lavaland/factory/dorms) "go" = ( @@ -1506,7 +1506,7 @@ }, /obj/item/storage/wallet/random, /obj/item/instrument/guitar, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/white, /area/ruin/lavaland/factory/dorms) "oh" = ( @@ -1887,7 +1887,7 @@ /obj/item/poster/random_contraband, /obj/item/toy/eightball, /obj/item/toy/cards/deck/tarot, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/white, /area/ruin/lavaland/factory/dorms) "rh" = ( @@ -2287,7 +2287,7 @@ /obj/item/storage/fancy/cigarettes/cigpack_cannabis, /obj/item/lighter/greyscale, /obj/item/reagent_containers/food/drinks/bottle/whiskey, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/white, /area/ruin/lavaland/factory/dorms) "ve" = ( @@ -2985,7 +2985,7 @@ /obj/machinery/light/directional/west, /obj/item/melee/knife/hunting, /obj/item/clothing/suit/hooded/cloak/goliath, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/white, /area/ruin/lavaland/factory/dorms) "CW" = ( @@ -3149,18 +3149,18 @@ /obj/effect/turf_decal/corner/opaque/ntblue{ dir = 1 }, -/obj/effect/spawner/lootdrop/waste/trash, -/obj/effect/spawner/lootdrop/waste/trash, -/obj/effect/spawner/lootdrop/waste/trash, -/obj/effect/spawner/lootdrop/waste/trash, -/obj/effect/spawner/lootdrop/waste/trash, -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, +/obj/effect/spawner/random/trash/decal, +/obj/effect/spawner/random/trash/decal, +/obj/effect/spawner/random/trash/decal, +/obj/effect/spawner/random/trash/decal, +/obj/effect/spawner/random/trash/decal, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/white, /area/ruin/lavaland/factory/dorms) "EP" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/cloth, /obj/effect/turf_decal/corner/opaque/ntblue, /obj/effect/turf_decal/corner/opaque/ntblue{ @@ -4062,11 +4062,11 @@ /area/overmap_encounter/planetoid/cave/explored) "Or" = ( /obj/structure/closet/crate/freezer, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, @@ -4945,9 +4945,9 @@ /obj/effect/turf_decal/corner/opaque/bar, /obj/structure/closet/crate/bin, /obj/machinery/light/directional/west, -/obj/effect/spawner/lootdrop/waste/trash, -/obj/effect/spawner/lootdrop/waste/trash, -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, +/obj/effect/spawner/random/trash/decal, +/obj/effect/spawner/random/trash/decal, /turf/open/floor/plasteel, /area/ruin/lavaland/factory/dorms) "Xn" = ( @@ -5078,7 +5078,7 @@ /area/overmap_encounter/planetoid/lava/explored) "YJ" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/cloth, /obj/effect/turf_decal/corner/opaque/ntblue, /obj/effect/turf_decal/corner/opaque/ntblue{ diff --git a/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm b/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm index 3b2b995fd979..c9c7ea2501f3 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm @@ -109,7 +109,7 @@ /turf/open/floor/wood, /area/ruin/rockplanet/nanotrasen) "by" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/effect/turf_decal/industrial/warning, /obj/machinery/light/dim/directional/north, /turf/open/floor/plasteel, @@ -214,7 +214,7 @@ /area/ruin/rockplanet/nanotrasen) "db" = ( /obj/structure/bed/pod, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/ruin/rockplanet/nanotrasen) @@ -1551,7 +1551,7 @@ /obj/structure/railing{ dir = 4 }, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/wood, /area/ruin/rockplanet/nanotrasen) "Ap" = ( @@ -1699,7 +1699,7 @@ /area/overmap_encounter/planetoid/rockplanet/explored) "Cx" = ( /obj/structure/bed/pod, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/machinery/light/dim/directional/east, /turf/open/floor/wood, /area/ruin/rockplanet/nanotrasen) @@ -2493,7 +2493,7 @@ /area/ruin/rockplanet/nanotrasen) "Rm" = ( /obj/structure/bed/pod, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/machinery/light/dim/directional/east, /turf/open/floor/carpet/black, /area/ruin/rockplanet/nanotrasen) diff --git a/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm b/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm index 3926cffbbf81..6d6f81ffd5a0 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm @@ -401,7 +401,7 @@ /turf/open/floor/plating/asteroid/rockplanet/lit, /area/overmap_encounter/planetoid/rockplanet/explored) "dZ" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/effect/turf_decal/spline/fancy/opaque/white, /turf/open/floor/plasteel/patterned/brushed, /area/ruin/rockplanet/distillery/crew) @@ -859,7 +859,7 @@ dir = 8; icon_state = "dirty_mattress" }, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/wood, /area/ruin/rockplanet/distillery/crew) "kn" = ( @@ -1613,12 +1613,12 @@ "sQ" = ( /obj/effect/turf_decal/industrial/outline/red, /obj/structure/closet/crate/freezer, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /turf/open/floor/plasteel/patterned/brushed/rockplanet, /area/ruin/rockplanet/distillery/crew) "tc" = ( @@ -2187,7 +2187,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/pod, /area/ruin/rockplanet/distillery/office) "yO" = ( @@ -3032,10 +3032,10 @@ "Iz" = ( /obj/structure/closet/crate, /obj/effect/turf_decal/industrial/outline/red, -/obj/effect/spawner/lootdrop/random_computer_circuit_common, -/obj/effect/spawner/lootdrop/maintenance/four, -/obj/effect/spawner/lootdrop/random_machine_circuit_common, -/obj/effect/spawner/lootdrop/random_machine_circuit_common, +/obj/effect/spawner/random/circuit/computer/common, +/obj/effect/spawner/random/maintenance/four, +/obj/effect/spawner/random/circuit/machine/common, +/obj/effect/spawner/random/circuit/machine/common, /turf/open/floor/plasteel/patterned/brushed/rockplanet, /area/ruin/rockplanet/distillery/crew) "IA" = ( @@ -3419,7 +3419,7 @@ icon_state = "1-5" }, /obj/machinery/light/small/directional/west, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /turf/open/floor/wood/rockplanet{ icon_state = "wood-broken6" }, @@ -3582,9 +3582,7 @@ }, /area/overmap_encounter/planetoid/rockplanet/explored) "Os" = ( -/obj/machinery/vending/snack/random{ - tilted = 1 - }, +/obj/effect/spawner/random/vending/snack, /obj/effect/turf_decal/spline/fancy/opaque/white, /turf/open/floor/plasteel/patterned/brushed, /area/ruin/rockplanet/distillery/crew) @@ -4185,7 +4183,7 @@ /obj/structure/fluff/glowshroom, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/closet/crate/bin, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/wood, /area/ruin/rockplanet/distillery/crew) "Vg" = ( @@ -4199,7 +4197,7 @@ widenet = 1 }, /obj/machinery/light/small/broken/directional/east, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel/patterned/brushed, /area/ruin/rockplanet/distillery/crew) "Vj" = ( diff --git a/_maps/RandomRuins/RockRuins/rockplanet_nomadcrash.dmm b/_maps/RandomRuins/RockRuins/rockplanet_nomadcrash.dmm index ff58248ffc4e..6db4bf5240a2 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_nomadcrash.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_nomadcrash.dmm @@ -408,7 +408,7 @@ icon_state = "1-8" }, /obj/structure/frame/machine, -/obj/effect/spawner/lootdrop/salvage_matter_bin, +/obj/effect/spawner/random/salvage_matter_bin, /turf/open/floor/plasteel/rockplanet, /area/ruin/rockplanet/nomad) "oz" = ( @@ -558,7 +558,7 @@ }, /obj/structure/frame/machine, /obj/machinery/light/small/directional/north, -/obj/effect/spawner/lootdrop/salvage_matter_bin, +/obj/effect/spawner/random/salvage_matter_bin, /turf/open/floor/plating, /area/ruin/rockplanet/nomad) "sn" = ( @@ -1272,7 +1272,7 @@ icon_state = "spline_plain_cee" }, /obj/structure/frame/machine, -/obj/effect/spawner/lootdrop/salvage_matter_bin, +/obj/effect/spawner/random/salvage_matter_bin, /turf/open/floor/plasteel/tech/grid, /area/ruin/rockplanet/nomad) "Lk" = ( diff --git a/_maps/RandomRuins/RockRuins/rockplanet_shippingdock.dmm b/_maps/RandomRuins/RockRuins/rockplanet_shippingdock.dmm index f18742a8aadb..1c518cceabca 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_shippingdock.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_shippingdock.dmm @@ -288,7 +288,7 @@ /turf/open/floor/wood, /area/ruin/rockplanet/shippingdockoffice) "cz" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ruin/rockplanet/shippingdock) @@ -2068,7 +2068,7 @@ "sa" = ( /obj/effect/turf_decal/rechargefloor, /obj/effect/turf_decal/industrial/warning/dust, -/obj/effect/spawner/lootdrop/ripley, +/obj/effect/spawner/random/exotic/ripley, /turf/open/floor/plasteel/mono/dark, /area/ruin/rockplanet/shippingdockwarehouse) "sc" = ( @@ -2132,7 +2132,7 @@ /area/overmap_encounter/planetoid/rockplanet/explored) "su" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/concrete/pavement{ light_power = 0.6; light_range = 2 @@ -2426,7 +2426,7 @@ /area/ruin/rockplanet/shippingdockoffice) "uo" = ( /obj/structure/closet/crate/trashcart, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/item/trash/can, /obj/item/trash/can/food/peaches, /obj/item/trash/tray, @@ -4044,7 +4044,7 @@ }, /area/overmap_encounter/planetoid/rockplanet/explored) "HL" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/concrete/pavement{ light_power = 0.6; light_range = 2 @@ -4208,7 +4208,7 @@ /turf/open/floor/concrete/pavement, /area/ruin/rockplanet/shippingdockwarehouse) "Ju" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/ruin/rockplanet/shippingdock) "Jz" = ( @@ -5282,9 +5282,9 @@ "SJ" = ( /obj/structure/rack, /obj/structure/window/reinforced, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /turf/open/floor/plasteel/mono/white, /area/ruin/rockplanet/shippingdockwarehouse) "SM" = ( @@ -5968,7 +5968,7 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/effect/spawner/lootdrop/maintenance/eight, +/obj/effect/spawner/random/maintenance/eight, /turf/open/floor/plasteel/mono/white, /area/ruin/rockplanet/shippingdockwarehouse) "XU" = ( @@ -6020,7 +6020,7 @@ "Yf" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/concrete/pavement{ light_power = 0.6; light_range = 2 diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm index c7b060634951..c19dd9de68a1 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm @@ -115,7 +115,7 @@ /area/ruin) "fb" = ( /obj/structure/flora/ash/cap_shroom, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/asteroid/whitesands{ light_range = 2 }, @@ -269,7 +269,7 @@ /area/overmap_encounter/planetoid/sand/explored) "ko" = ( /obj/structure/closet/crate/bin, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/item/chair/stool/bar, /turf/open/floor/wood, /area/ruin) @@ -290,7 +290,7 @@ }, /area/overmap_encounter/planetoid/sand/explored) "kO" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/asteroid/whitesands{ light_range = 2 }, @@ -699,7 +699,7 @@ /area/ruin) "AI" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/wood, /area/ruin) "AR" = ( @@ -915,7 +915,7 @@ /turf/open/floor/wood, /area/ruin) "HX" = ( -/obj/effect/spawner/lootdrop/armory_contraband/metastation, +/obj/effect/spawner/random/exotic/armory, /turf/open/floor/plating/asteroid/whitesands/dried{ light_range = 2 }, @@ -964,7 +964,7 @@ }, /area/overmap_encounter/planetoid/sand/explored) "JE" = ( -/obj/effect/spawner/lootdrop/tool_engie_sydnie, +/obj/effect/spawner/random/engineering/tool/sydnie, /turf/open/floor/plating/asteroid/whitesands{ light_range = 2 }, @@ -1164,7 +1164,7 @@ }, /area/overmap_encounter/planetoid/sand/explored) "SV" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/asteroid/whitesands/dried{ light_range = 2 }, @@ -1273,7 +1273,7 @@ /area/ruin) "Xa" = ( /obj/structure/closet/crate/bin, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/wood, /area/ruin) "Xb" = ( diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm index 219fc7a6b6b6..17a16c3fffc6 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm @@ -133,7 +133,7 @@ /area/ruin/whitesands/saloon) "eq" = ( /obj/structure/closet/crate/bin, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/directional/west, /turf/open/floor/wood, @@ -220,7 +220,7 @@ /area/ruin/whitesands/saloon) "ge" = ( /obj/structure/closet/cabinet, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood{ icon_state = "wood-broken5" @@ -426,7 +426,7 @@ /area/ruin/whitesands/saloon) "lg" = ( /obj/structure/closet/crate/bin, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/wood, /area/ruin/whitesands/saloon) "lB" = ( @@ -444,7 +444,7 @@ /area/ruin/whitesands/saloon) "lI" = ( /obj/structure/table/wood/poker, -/obj/effect/spawner/lootdrop/gambling, +/obj/effect/spawner/random/entertainment/gambling, /turf/open/floor/carpet, /area/ruin/whitesands/saloon) "lV" = ( @@ -645,7 +645,7 @@ /area/ruin/whitesands/saloon) "sj" = ( /obj/structure/closet/crate/bin, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/item/chair/stool/bar, /turf/open/floor/wood, /area/ruin/whitesands/saloon) @@ -848,7 +848,7 @@ /area/ruin/whitesands/saloon) "zv" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/wood{ icon_state = "wood-broken5" }, @@ -1025,7 +1025,7 @@ /area/ruin/whitesands/saloon) "EV" = ( /obj/structure/closet/cabinet, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/dirt, /obj/item/gun/energy/plasmacutter{ icon_state = "pulse_carbine"; @@ -1355,7 +1355,7 @@ /area/ruin/whitesands/saloon) "Pi" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/wood, /area/ruin/whitesands/saloon) "Px" = ( @@ -1590,7 +1590,7 @@ /area/ruin/whitesands/saloon) "Wl" = ( /obj/structure/closet/cabinet, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /turf/open/floor/wood, /area/ruin/whitesands/saloon) "WP" = ( diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_medipen_plant.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_medipen_plant.dmm index 7ae333dcd541..60dfc9186132 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_medipen_plant.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_medipen_plant.dmm @@ -751,7 +751,7 @@ /turf/open/floor/plasteel/dark, /area/ruin/powered) "uu" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/effect/turf_decal/corner/transparent/neutral{ dir = 1 }, @@ -760,7 +760,7 @@ /turf/open/floor/plasteel/dark, /area/ruin/powered) "uz" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/effect/turf_decal/corner/transparent/neutral{ dir = 1 }, @@ -848,7 +848,7 @@ }, /obj/effect/turf_decal/corner/transparent/neutral, /obj/effect/decal/cleanable/dirt, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /turf/open/floor/plasteel/dark, /area/ruin/powered) "xd" = ( @@ -1210,7 +1210,7 @@ /area/ruin/powered) "KU" = ( /obj/structure/table, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /obj/effect/turf_decal/corner/transparent/neutral{ dir = 1 }, diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm index 6906e1dd2bed..5cfb5e8eb771 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_pubbyslopcrash.dmm @@ -225,8 +225,8 @@ /obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/effect/spawner/lootdrop/maintenance/five, -/obj/effect/spawner/lootdrop/maintenance/five, +/obj/effect/spawner/random/maintenance/five, +/obj/effect/spawner/random/maintenance/five, /turf/open/floor/plasteel, /area/ruin/whitesands/pubbycrash) "fO" = ( @@ -405,7 +405,7 @@ dir = 8; name = "engine fuel pump" }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel/tech, /area/ruin/whitesands/pubbycrash/engine_room) "jt" = ( @@ -502,7 +502,7 @@ "ln" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/closet/emcloset/wall/directional/south, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel/tech/grid, /area/ruin/whitesands/pubbycrash/engine_room) "ly" = ( @@ -530,7 +530,7 @@ name = "engine fuel pump" }, /obj/machinery/light/small/directional/north, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/item/stack/sheet/mineral/wood/fifty, /obj/structure/closet/crate, /turf/open/floor/plasteel/tech, @@ -622,7 +622,7 @@ /area/ruin/whitesands/pubbycrash) "nP" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/engine, /area/ruin/whitesands/pubbycrash) "nQ" = ( @@ -780,7 +780,7 @@ /obj/structure/cable{ icon_state = "0-4" }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel/tech, /area/ruin/whitesands/pubbycrash/engine_room) "rT" = ( @@ -931,7 +931,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/engine, /area/ruin/whitesands/pubbycrash) "vL" = ( @@ -972,7 +972,7 @@ /obj/structure/sign/poster/official/random{ pixel_x = 32 }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/dark, /area/ruin/whitesands/pubbycrash) @@ -1063,7 +1063,7 @@ /obj/structure/table, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/industrial/warning/corner, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel/tech, /area/ruin/whitesands/pubbycrash/engine_room) "xX" = ( @@ -1792,7 +1792,7 @@ /obj/structure/sign/poster/retro/nanotrasen_logo_70s{ pixel_x = -32 }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/ruin/whitesands/pubbycrash/engine_room) "KT" = ( @@ -2003,7 +2003,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/cable/yellow, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel/tech, /area/ruin/whitesands/pubbycrash/engine_room) "PA" = ( @@ -2118,7 +2118,7 @@ /turf/open/floor/plasteel/tech/techmaint, /area/ruin/whitesands/pubbycrash/engine_room) "RC" = ( -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/item/stack/ore/salvage/scraptitanium, /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine, @@ -2292,7 +2292,7 @@ /obj/structure/sign/number/two, /obj/item/stack/ore/salvage/scrapmetal, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/engine, /area/ruin/whitesands/pubbycrash) "Wo" = ( diff --git a/_maps/RandomRuins/SpaceRuins/astraeus.dmm b/_maps/RandomRuins/SpaceRuins/astraeus.dmm index 2c62420cef30..e790766a2a94 100644 --- a/_maps/RandomRuins/SpaceRuins/astraeus.dmm +++ b/_maps/RandomRuins/SpaceRuins/astraeus.dmm @@ -101,7 +101,7 @@ /turf/open/space, /area/space/nearstation) "dx" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/airless, /area/ruin/space/has_grav/astraeus/hallway) "dA" = ( @@ -326,7 +326,7 @@ /turf/open/space, /area/space/nearstation) "jd" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/airless, /area/ruin/space/has_grav/astraeus/disposals) "je" = ( @@ -349,7 +349,7 @@ /obj/machinery/conveyor{ dir = 6 }, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/airless, /area/ruin/space/has_grav/astraeus/disposals) "jT" = ( @@ -556,7 +556,7 @@ /area/ruin/space/has_grav/astraeus/bridge) "pT" = ( /obj/item/stack/conveyor, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/airless, /area/ruin/space/has_grav/astraeus/disposals) "pU" = ( @@ -621,7 +621,7 @@ dir = 5 }, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/dark/airless, /area/ruin/space/has_grav/astraeus/bridge) "rk" = ( @@ -675,7 +675,7 @@ /turf/open/floor/plasteel/airless, /area/ruin/space/has_grav/astraeus/hallway) "sL" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/airless, /area/ruin/space/has_grav/astraeus/dorms_med) "sR" = ( @@ -731,8 +731,8 @@ "uH" = ( /obj/effect/turf_decal/industrial/hatch/yellow, /obj/structure/closet, -/obj/effect/spawner/lootdrop/maintenance{ - lootcount = 2; +/obj/effect/spawner/random/maintenance{ + spawn_loot_count = 2; name = "2maintenance loot spawner" }, /turf/open/floor/plasteel/airless, @@ -800,7 +800,7 @@ /obj/machinery/conveyor{ dir = 4 }, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/airless, /area/ruin/space/has_grav/astraeus/munitions) "wl" = ( @@ -1374,7 +1374,7 @@ /obj/machinery/conveyor/inverted{ dir = 9 }, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/airless, /area/ruin/space/has_grav/astraeus/disposals) "KD" = ( @@ -1560,7 +1560,7 @@ /obj/machinery/power/apc/auto_name/directional/east{ start_charge = 0 }, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/airless, /area/ruin/space/has_grav/astraeus/munitions) "Pd" = ( @@ -1734,7 +1734,7 @@ /turf/open/floor/plating/asteroid/airless, /area/ruin/unpowered) "UK" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/airless, /area/ruin/space/has_grav/astraeus/hallway) "UU" = ( diff --git a/_maps/RandomRuins/SpaceRuins/corporate_mining.dmm b/_maps/RandomRuins/SpaceRuins/corporate_mining.dmm index a2cb21cd1c1c..956466fc4be0 100644 --- a/_maps/RandomRuins/SpaceRuins/corporate_mining.dmm +++ b/_maps/RandomRuins/SpaceRuins/corporate_mining.dmm @@ -462,7 +462,7 @@ /area/ruin/space/has_grav/corporatemine/bridge) "kZ" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 4 }, @@ -812,7 +812,7 @@ /obj/effect/decal/cleanable/oil/slippery, /obj/structure/closet/crate, /obj/effect/turf_decal/industrial/outline, -/obj/effect/spawner/lootdrop/materials, +/obj/effect/spawner/random/materials, /turf/open/floor/plasteel/tech/grid, /area/ruin/space/has_grav/corporatemine/hall) "sb" = ( @@ -1590,8 +1590,8 @@ "IF" = ( /obj/structure/closet/crate, /obj/effect/turf_decal/industrial/outline, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /turf/open/floor/plasteel/tech/grid, /area/ruin/space/has_grav/corporatemine/hall) "IS" = ( @@ -1774,7 +1774,7 @@ "NH" = ( /obj/structure/closet/crate, /obj/effect/turf_decal/industrial/outline, -/obj/effect/spawner/lootdrop/materials, +/obj/effect/spawner/random/materials, /turf/open/floor/plasteel/tech/grid, /area/ruin/space/has_grav/corporatemine/hall) "NO" = ( @@ -2293,7 +2293,7 @@ /area/ruin/space/has_grav/corporatemine/crewquarters) "ZU" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 8 }, diff --git a/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm b/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm index e02a7e328b28..c052a6f0cd04 100644 --- a/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm +++ b/_maps/RandomRuins/SpaceRuins/power_puzzle.dmm @@ -3,7 +3,7 @@ /obj/structure/bed, /obj/structure/curtain/cloth/grey, /obj/effect/turf_decal/corner/transparent/grey/diagonal, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/powerpuzzle) "ae" = ( @@ -365,9 +365,9 @@ /area/ruin/space/has_grav/powerpuzzle) "br" = ( /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/cobweb, -/obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears, +/obj/effect/spawner/random/clothing/kittyears_or_rabbitears, /obj/effect/turf_decal/corner/transparent/grey/diagonal, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/powerpuzzle) @@ -695,14 +695,14 @@ /turf/open/floor/plasteel, /area/ruin/space/has_grav/powerpuzzle) "cB" = ( -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/generic, /obj/effect/turf_decal/corner/transparent/grey/diagonal, /obj/structure/closet/crate/secure, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/powerpuzzle) "cD" = ( -/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/random/decoration/glowstick, /obj/effect/decal/cleanable/glass, /obj/effect/turf_decal/industrial/warning{ dir = 8 @@ -797,7 +797,7 @@ /obj/effect/decal/cleanable/greenglow, /obj/item/stack/ore/salvage/scrapuranium, /obj/item/bodypart/l_arm/robot, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/item/assembly/prox_sensor, /obj/item/stack/ore/salvage/scrapuranium{ pixel_x = -4; @@ -1116,7 +1116,7 @@ /area/ruin/space/has_grav/powerpuzzle) "gM" = ( /obj/effect/turf_decal/corner/transparent/grey/diagonal, -/obj/effect/spawner/lootdrop/maintenance/six, +/obj/effect/spawner/random/maintenance/six, /obj/structure/closet/crate/secure, /obj/machinery/light/dim/directional/north, /turf/open/floor/plasteel/dark, @@ -1478,7 +1478,7 @@ pixel_x = 2; pixel_y = 4 }, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/machinery/light/broken/directional/south, /obj/item/poster/random_official, /obj/item/poster/random_official, @@ -1677,7 +1677,7 @@ /obj/structure/railing/corner{ dir = 1 }, -/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/random/decoration/glowstick, /turf/open/floor/plasteel, /area/ruin/space/has_grav/powerpuzzle) "rI" = ( @@ -1838,7 +1838,7 @@ /obj/structure/railing, /obj/effect/turf_decal/corner/transparent/grey/diagonal, /obj/item/stack/ore/salvage/scrapuranium/five, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/structure/closet/crate/engineering, /obj/effect/turf_decal/box, /turf/open/floor/plasteel/dark, @@ -1850,8 +1850,8 @@ /obj/item/reagent_containers/food/drinks/waterbottle/empty, /obj/item/reagent_containers/food/drinks/waterbottle/empty, /obj/item/reagent_containers/food/drinks/waterbottle, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/reagent_containers/food/snacks/sosjerky, /obj/item/reagent_containers/food/snacks/sosjerky, /obj/item/stack/medical/gauze/improvised, @@ -2446,7 +2446,7 @@ /obj/structure/bed, /obj/structure/curtain/cloth/grey, /obj/effect/turf_decal/corner/transparent/grey/diagonal, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/machinery/light/small/broken/directional/north, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/powerpuzzle) @@ -3273,7 +3273,7 @@ /obj/structure/bed, /obj/structure/curtain/cloth/grey, /obj/effect/turf_decal/corner/transparent/grey/diagonal, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/machinery/light/small/broken/directional/south, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/powerpuzzle) @@ -3546,7 +3546,7 @@ dir = 4 }, /obj/structure/closet/crate/secure, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/powerpuzzle) "VV" = ( @@ -3589,7 +3589,7 @@ dir = 6 }, /obj/structure/table, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /obj/structure/noticeboard{ pixel_x = -15; pixel_y = 32 @@ -3647,7 +3647,7 @@ /obj/structure/railing{ dir = 6 }, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/powerpuzzle/engineering) "Xj" = ( @@ -3692,7 +3692,7 @@ dir = 5 }, /obj/structure/closet/crate/secure, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /turf/open/floor/plasteel/dark, /area/ruin/space/has_grav/powerpuzzle) "Yr" = ( diff --git a/_maps/RandomRuins/SpaceRuins/spacemall.dmm b/_maps/RandomRuins/SpaceRuins/spacemall.dmm index 6b75031ae8ba..c5acb2629e09 100644 --- a/_maps/RandomRuins/SpaceRuins/spacemall.dmm +++ b/_maps/RandomRuins/SpaceRuins/spacemall.dmm @@ -708,7 +708,7 @@ /area/ruin/space/has_grav/spacemall/dorms) "cO" = ( /obj/effect/turf_decal/box, -/obj/effect/spawner/lootdrop/salvage_machine, +/obj/effect/spawner/random/salvage_machine, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shuttle) "cP" = ( @@ -1296,9 +1296,9 @@ "eS" = ( /obj/structure/rack, /obj/effect/turf_decal/corner/transparent/black/diagonal, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shop) "eU" = ( @@ -1306,7 +1306,7 @@ pixel_y = -30 }, /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/wood, /area/ruin/space/has_grav/spacemall/dorms) "eV" = ( @@ -1323,7 +1323,7 @@ /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shop) "eX" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/effect/turf_decal/corner/transparent/green/diagonal, /obj/effect/turf_decal/siding/wideplating/dark{ dir = 8 @@ -1391,7 +1391,7 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/decal/cleanable/dirt/dust, /obj/item/stack/cable_coil/random/five, -/obj/effect/spawner/lootdrop/techstorage/engineering, +/obj/effect/spawner/random/techstorage/engineering, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/maint) "fi" = ( @@ -1399,8 +1399,8 @@ dir = 2 }, /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/ruin/space/has_grav/spacemall/maint) "fl" = ( @@ -1655,7 +1655,7 @@ /area/ruin/space/has_grav/spacemall/dorms) "gu" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /obj/effect/turf_decal/corner/transparent/black/diagonal, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shop) @@ -2516,9 +2516,9 @@ "jD" = ( /obj/effect/turf_decal/box, /obj/structure/closet/crate/secure, -/obj/effect/spawner/lootdrop/costume, -/obj/effect/spawner/lootdrop/costume, -/obj/effect/spawner/lootdrop/costume, +/obj/effect/spawner/random/clothing/costume, +/obj/effect/spawner/random/clothing/costume, +/obj/effect/spawner/random/clothing/costume, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shuttle) "jE" = ( @@ -3111,7 +3111,7 @@ /obj/effect/decal/cleanable/cobweb, /obj/effect/turf_decal/box, /obj/structure/closet/crate/wooden, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/maint) "lR" = ( @@ -3255,7 +3255,7 @@ "mJ" = ( /obj/structure/rack, /obj/machinery/light/small/directional/north, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/ruin/space/has_grav/spacemall/maint) "mK" = ( @@ -3638,7 +3638,7 @@ /area/ruin/space/has_grav/spacemall/dorms) "ob" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating, /area/ruin/space/has_grav/spacemall/maint) "od" = ( @@ -4048,7 +4048,7 @@ /area/ruin/space/has_grav/spacemall) "pB" = ( /obj/effect/decal/cleanable/ash, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4, /obj/structure/closet/crate, /obj/structure/railing, @@ -5749,7 +5749,7 @@ "vp" = ( /obj/structure/rack, /obj/effect/turf_decal/corner/transparent/black/diagonal, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shop) "vs" = ( @@ -5866,7 +5866,7 @@ /area/ruin/space/has_grav/spacemall/shop2) "vS" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/beaker_loot_spawner, +/obj/effect/spawner/random/medical/beaker, /obj/effect/turf_decal/corner/opaque/blue/diagonal, /turf/open/floor/plasteel/white, /area/ruin/space/has_grav/spacemall/shop2) @@ -6451,8 +6451,8 @@ /obj/structure/closet/crate/secure, /obj/effect/turf_decal/box, /obj/structure/railing, -/obj/effect/spawner/lootdrop/prison_contraband, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/exotic/prison_contraband, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/maint) "yk" = ( @@ -6524,7 +6524,7 @@ /obj/structure/closet/crate/trashcart, /obj/item/trash/popcorn, /obj/item/trash/candy, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shuttle) "yF" = ( @@ -6666,7 +6666,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shuttle) "yZ" = ( @@ -6964,9 +6964,9 @@ "Ag" = ( /obj/structure/rack, /obj/effect/turf_decal/corner/transparent/black/diagonal, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/random_computer_circuit_common, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/circuit/computer/common, /obj/item/research_notes/loot, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shop) @@ -7269,9 +7269,9 @@ "Bq" = ( /obj/effect/turf_decal/box, /obj/structure/closet/crate/secure, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shuttle) "Bu" = ( @@ -7469,7 +7469,7 @@ dir = 10 }, /obj/structure/spider/stickyweb, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/maint) "Cv" = ( @@ -7631,7 +7631,7 @@ /area/ruin/space/has_grav/spacemall) "CR" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/effect/decal/cleanable/blood, /obj/item/reagent_containers/food/snacks/spiderling{ pixel_y = 5; @@ -8230,9 +8230,9 @@ /turf/open/floor/eighties, /area/ruin/space/has_grav/spacemall/shop2) "EI" = ( -/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/random/decoration/glowstick, /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/ruin/space/has_grav/spacemall/maint) "EJ" = ( @@ -9438,7 +9438,7 @@ /area/ruin/space/has_grav/spacemall) "JE" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/wood, /area/ruin/space/has_grav/spacemall/dorms) "JF" = ( @@ -9569,7 +9569,7 @@ "Kl" = ( /obj/effect/decal/cleanable/robot_debris/old, /obj/structure/closet/crate/wooden, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/maint) "Kn" = ( @@ -9999,9 +9999,9 @@ "LS" = ( /obj/structure/rack, /obj/effect/turf_decal/corner/transparent/black/diagonal, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/random_computer_circuit_common, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/circuit/computer/common, /obj/machinery/firealarm/directional/north, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shop) @@ -10056,9 +10056,9 @@ /area/ruin/space/has_grav/spacemall/dorms) "Mb" = ( /obj/effect/decal/cleanable/greenglow, -/obj/effect/spawner/lootdrop/random_prosthetic, -/obj/effect/spawner/lootdrop/memeorgans, -/obj/effect/spawner/lootdrop/memeorgans, +/obj/effect/spawner/random/medical/prosthetic, +/obj/effect/spawner/random/medical/memeorgans, +/obj/effect/spawner/random/medical/memeorgans, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 4 }, @@ -11266,7 +11266,7 @@ /area/ruin/space/has_grav/spacemall) "Qf" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/tool_engie_common, +/obj/effect/spawner/random/engineering/tool/common, /obj/effect/turf_decal/corner/transparent/black/diagonal, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shop) @@ -11297,7 +11297,7 @@ /turf/open/floor/plating, /area/ruin/space/has_grav/spacemall/maint) "Qn" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/effect/turf_decal/corner/transparent/green/diagonal, /obj/effect/turf_decal/siding/wideplating/dark{ dir = 8 @@ -11311,7 +11311,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/maint) "Qu" = ( @@ -11865,7 +11865,7 @@ /area/ruin/space/has_grav/spacemall/maint) "SD" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/item/toy/plush/slimeplushie{ pixel_y = -4; pixel_x = 4 @@ -12218,7 +12218,7 @@ /obj/structure/rack, /obj/effect/turf_decal/corner/transparent/black/diagonal, /obj/machinery/light/directional/east, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shop) "TZ" = ( @@ -12290,10 +12290,10 @@ "Ul" = ( /obj/effect/turf_decal/box, /obj/structure/closet/crate/engineering/electrical, -/obj/effect/spawner/lootdrop/techstorage, -/obj/effect/spawner/lootdrop/techstorage, -/obj/effect/spawner/lootdrop/stockparts, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/techstorage, +/obj/effect/spawner/random/techstorage, +/obj/effect/spawner/random/stockparts, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel, /area/ruin/space/has_grav/spacemall/shuttle) "Um" = ( @@ -12606,7 +12606,7 @@ }, /obj/structure/closet/crate, /obj/structure/catwalk/over/plated_catwalk, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/ruin/space/has_grav/spacemall/maint) "Vr" = ( @@ -12655,8 +12655,8 @@ "VA" = ( /obj/structure/rack, /obj/structure/window/reinforced/spawner, -/obj/effect/spawner/lootdrop/beaker_loot_spawner, -/obj/effect/spawner/lootdrop/beaker_loot_spawner, +/obj/effect/spawner/random/medical/beaker, +/obj/effect/spawner/random/medical/beaker, /obj/effect/turf_decal/corner/opaque/blue/diagonal, /obj/item/clothing/neck/stethoscope, /turf/open/floor/plasteel/white, @@ -13459,7 +13459,7 @@ dir = 2 }, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/turf_decal/box, /turf/open/floor/plating, /area/ruin/space/has_grav/spacemall/maint) diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm index e1a64004decb..50d9986ea756 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_abandoned_mechbay.dmm @@ -612,7 +612,7 @@ /area/ruin/wasteplanet/abandoned_mechbay/mainhall) "fX" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /obj/machinery/light/dim/directional/south, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/bay2) @@ -1084,8 +1084,8 @@ /obj/effect/turf_decal/industrial/outline/yellow, /obj/item/mop, /obj/item/reagent_containers/glass/bucket, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/spawner/lootdrop/costume, +/obj/effect/spawner/random/maintenance/two, +/obj/effect/spawner/random/clothing/costume, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/tech/grid, /area/ruin/wasteplanet/abandoned_mechbay/crewquarters) @@ -1445,7 +1445,7 @@ "qH" = ( /obj/structure/rack, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance/six, +/obj/effect/spawner/random/maintenance/six, /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/bay2) @@ -2278,7 +2278,7 @@ /area/ruin/wasteplanet/abandoned_mechbay/mainhall) "Bg" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /obj/effect/turf_decal/box/white, /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plasteel/tech/grid, @@ -2360,13 +2360,13 @@ /area/ruin/wasteplanet/abandoned_mechbay/bay2) "BF" = ( /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /obj/effect/turf_decal/industrial/outline/yellow, /obj/machinery/light/small/directional/north, /obj/effect/decal/cleanable/food/salt, @@ -2411,7 +2411,7 @@ "Cp" = ( /obj/structure/table, /obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/spawner/lootdrop/materials, +/obj/effect/spawner/random/materials, /obj/item/stack/sheet/metal/fifty, /obj/item/stack/sheet/glass/twenty, /turf/open/floor/plasteel/tech/grid, @@ -3424,7 +3424,7 @@ /area/overmap_encounter/planetoid/cave/explored) "Oj" = ( /obj/structure/table, -/obj/effect/spawner/lootdrop/minor/pirate_or_bandana, +/obj/effect/spawner/random/clothing/pirate_or_bandana, /turf/open/floor/plasteel, /area/ruin/wasteplanet/abandoned_mechbay/crewquarters) "Om" = ( @@ -3933,7 +3933,7 @@ "Vx" = ( /obj/structure/rack, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill, /turf/open/floor/plasteel/dark, /area/ruin/wasteplanet/abandoned_mechbay/bay2) diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm index dba9f5e3c3c9..bdfc9c75a4a1 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm @@ -699,7 +699,7 @@ /turf/open/floor/plating/rust, /area/ruin/powered) "HW" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /turf/open/floor/plating, /area/ruin/powered) "Ie" = ( diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_tradepost.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_tradepost.dmm index c865138fb568..83c587268b34 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_tradepost.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_tradepost.dmm @@ -1806,10 +1806,10 @@ /obj/effect/turf_decal/industrial/warning/full, /obj/structure/closet/crate, /obj/machinery/light/small/broken/directional/south, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /turf/open/floor/pod/dark, /area/ruin/wasteplanet/tradepost/warehouse) "ug" = ( diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_yard.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_yard.dmm index a53934c91013..e3e0c20ef75f 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_yard.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_yard.dmm @@ -152,10 +152,10 @@ /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /turf/open/floor/plasteel/wasteplanet, /area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) "bB" = ( @@ -1542,10 +1542,10 @@ /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/machinery/light/small/broken/directional/south, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /turf/open/floor/plasteel/wasteplanet, /area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) "rd" = ( @@ -1965,8 +1965,8 @@ /area/ruin/wasteplanet/wasteplanet_shipbreaking/canteen) "wc" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/machinery/light/small/directional/west, /obj/effect/turf_decal/corner/transparent/neutral/mono, /obj/effect/turf_decal/corner/transparent/blue/border{ @@ -4045,7 +4045,7 @@ /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/effect/turf_decal/industrial/hatch/yellow, /obj/machinery/light/small/broken/directional/west, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, /turf/open/floor/plasteel/wasteplanet, /area/ruin/wasteplanet/wasteplanet_shipbreaking/ship) "Zy" = ( diff --git a/_maps/outpost/hangar/nt_asteroid_40x20.dmm b/_maps/outpost/hangar/nt_asteroid_40x20.dmm index 312e0443aeea..ab49a101ee1e 100644 --- a/_maps/outpost/hangar/nt_asteroid_40x20.dmm +++ b/_maps/outpost/hangar/nt_asteroid_40x20.dmm @@ -383,7 +383,7 @@ }, /area/hangar) "kU" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/item/stack/sheet/mineral/wood{ pixel_x = -6 }, @@ -392,7 +392,7 @@ pixel_y = 7 }, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/item/stack/sheet/mineral/wood{ pixel_x = -6 }, @@ -861,7 +861,7 @@ }, /area/hangar) "vh" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating{ planetary_atmos = 1 diff --git a/_maps/outpost/hangar/nt_asteroid_40x40.dmm b/_maps/outpost/hangar/nt_asteroid_40x40.dmm index 005b657e38ee..eab944babc1c 100644 --- a/_maps/outpost/hangar/nt_asteroid_40x40.dmm +++ b/_maps/outpost/hangar/nt_asteroid_40x40.dmm @@ -1070,10 +1070,7 @@ /area/hangar) "NE" = ( /obj/structure/catwalk/over/plated_catwalk, -/obj/effect/spawner/lootdrop/glowstick{ - pixel_x = 5; - pixel_y = 9 - }, +/obj/effect/spawner/random/decoration/glowstick, /turf/open/floor/plating{ planetary_atmos = 1 }, @@ -1333,7 +1330,7 @@ /obj/structure/catwalk/over/plated_catwalk, /obj/item/stack/cable_coil/cut/yellow, /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating{ icon_state = "panelscorched"; planetary_atmos = 1 diff --git a/_maps/outpost/hangar/nt_asteroid_56x20.dmm b/_maps/outpost/hangar/nt_asteroid_56x20.dmm index 11ba5baac070..070f2a949044 100644 --- a/_maps/outpost/hangar/nt_asteroid_56x20.dmm +++ b/_maps/outpost/hangar/nt_asteroid_56x20.dmm @@ -106,7 +106,7 @@ /area/hangar) "cz" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating{ planetary_atmos = 1 }, @@ -1024,8 +1024,8 @@ /area/hangar) "MI" = ( /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, /obj/machinery/light/directional/east, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/dark{ @@ -1254,10 +1254,7 @@ /area/hangar) "Wp" = ( /obj/structure/catwalk/over/plated_catwalk, -/obj/effect/spawner/lootdrop/glowstick{ - pixel_x = 5; - pixel_y = 9 - }, +/obj/effect/spawner/random/decoration/glowstick, /turf/open/floor/plating{ icon_state = "panelscorched"; planetary_atmos = 1 diff --git a/_maps/outpost/hangar/nt_asteroid_56x40.dmm b/_maps/outpost/hangar/nt_asteroid_56x40.dmm index 5d66d8966d0b..020ab48b8d9f 100644 --- a/_maps/outpost/hangar/nt_asteroid_56x40.dmm +++ b/_maps/outpost/hangar/nt_asteroid_56x40.dmm @@ -277,8 +277,8 @@ /area/hangar) "lZ" = ( /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/maintenance, /obj/machinery/light/directional/east, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/dark{ @@ -806,7 +806,7 @@ /area/hangar) "Hs" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating{ planetary_atmos = 1 }, @@ -963,10 +963,7 @@ /area/hangar) "KT" = ( /obj/structure/catwalk/over/plated_catwalk, -/obj/effect/spawner/lootdrop/glowstick{ - pixel_x = 5; - pixel_y = 9 - }, +/obj/effect/spawner/random/decoration/glowstick, /turf/open/floor/plating{ icon_state = "panelscorched"; planetary_atmos = 1 diff --git a/_maps/outpost/indie_space.dmm b/_maps/outpost/indie_space.dmm index 86a2a8d102b1..b10b86822c8c 100644 --- a/_maps/outpost/indie_space.dmm +++ b/_maps/outpost/indie_space.dmm @@ -113,7 +113,7 @@ /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 8 }, -/obj/effect/spawner/lootdrop/plushie{ +/obj/effect/spawner/random/entertainment/plushie{ pixel_x = 16; pixel_y = 4 }, @@ -270,7 +270,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 10 }, -/obj/effect/spawner/lootdrop/salvage/metal, +/obj/effect/spawner/random/salvage/metal, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/central) "bL" = ( @@ -287,7 +287,7 @@ /turf/open/floor/plasteel, /area/outpost/hallway/port) "bS" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/turf_decal/corner_techfloor_grid{ dir = 8 }, @@ -346,7 +346,7 @@ /turf/open/floor/plasteel, /area/outpost/hallway/central) "ci" = ( -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, @@ -481,7 +481,7 @@ /turf/open/floor/plasteel, /area/outpost/vacant_rooms) "dl" = ( -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /obj/effect/turf_decal/steeldecal/steel_decals7{ dir = 9 }, @@ -958,7 +958,7 @@ /turf/open/floor/plasteel/mono, /area/outpost/vacant_rooms) "gz" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/item/radio/intercom/directional/east, /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 1 @@ -1001,7 +1001,7 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "gS" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/outpost/maintenance/fore) "gT" = ( @@ -1078,7 +1078,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/outpost/maintenance/central) "hz" = ( @@ -1126,8 +1126,8 @@ /area/outpost/hallway/port) "hK" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/salvage_laser, -/obj/effect/spawner/lootdrop/salvage_capacitor, +/obj/effect/spawner/random/salvage_laser, +/obj/effect/spawner/random/salvage_capacitor, /turf/open/floor/plating, /area/outpost/maintenance/fore) "hM" = ( @@ -1188,7 +1188,7 @@ /area/outpost/maintenance/central) "hZ" = ( /obj/structure/table/wood, -/obj/effect/spawner/lootdrop/donut, +/obj/effect/spawner/random/food_or_drink/donut, /turf/open/floor/wood, /area/outpost/crew/bar) "ib" = ( @@ -1269,7 +1269,7 @@ /turf/open/floor/wood, /area/outpost/crew/library) "iD" = ( -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /turf/open/floor/plating, /area/outpost/maintenance/fore) "iG" = ( @@ -1350,7 +1350,7 @@ /area/outpost/crew/bar) "jn" = ( /obj/structure/table, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/central) @@ -1430,7 +1430,7 @@ /turf/open/floor/plasteel/tech, /area/outpost/hallway/central) "jM" = ( -/obj/effect/spawner/lootdrop/chicken, +/obj/effect/spawner/random/chicken, /turf/open/floor/ship/dirt, /area/outpost/hallway/port) "jO" = ( @@ -1703,7 +1703,7 @@ /area/outpost/maintenance/central) "lA" = ( /obj/structure/flora/grass/jungle, -/obj/effect/spawner/lootdrop/chicken, +/obj/effect/spawner/random/chicken, /turf/open/floor/grass/ship/jungle, /area/outpost/hallway/central) "lB" = ( @@ -1858,7 +1858,7 @@ /area/outpost/hallway/central) "mv" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears, +/obj/effect/spawner/random/clothing/kittyears_or_rabbitears, /obj/effect/decal/cleanable/wrapping, /turf/open/floor/plasteel/mono, /area/outpost/vacant_rooms) @@ -2597,8 +2597,8 @@ /area/outpost/maintenance/fore) "rp" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/maintenance/seven, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/maintenance/seven, /turf/open/floor/plasteel/mono, /area/outpost/vacant_rooms) "rr" = ( @@ -2670,7 +2670,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, @@ -2782,7 +2782,7 @@ /obj/structure/cable/yellow{ icon_state = "1-4" }, -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 5 }, @@ -2988,9 +2988,9 @@ /area/outpost/crew/library) "ta" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/minor/twentyfive_percent_cyborg_mask, +/obj/effect/spawner/random/clothing/twentyfive_percent_cyborg_mask, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/gloves, +/obj/effect/spawner/random/clothing/gloves, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/mono, /area/outpost/storage) @@ -3160,7 +3160,7 @@ /area/outpost/cargo) "tS" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /turf/open/floor/plating, /area/outpost/maintenance/fore) "tT" = ( @@ -3324,7 +3324,7 @@ /turf/open/floor/ship/dirt, /area/outpost/hallway/central) "uE" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/outpost/maintenance/fore) @@ -3791,7 +3791,7 @@ /turf/open/floor/plasteel, /area/outpost/hallway/port) "xu" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/outpost/maintenance/fore) @@ -3884,7 +3884,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /turf/open/floor/plating, /area/outpost/maintenance/fore) "xZ" = ( @@ -3968,7 +3968,7 @@ /area/outpost/crew/bar) "yN" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /turf/open/floor/plasteel/mono, /area/outpost/vacant_rooms) "yQ" = ( @@ -4155,7 +4155,7 @@ /turf/open/floor/plating/asteroid, /area/outpost/external) "zS" = ( -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /turf/open/floor/plating, /area/outpost/maintenance/central) "zY" = ( @@ -4208,7 +4208,7 @@ /turf/open/floor/plasteel/tech, /area/outpost/maintenance/fore) "Am" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 8 }, @@ -4858,8 +4858,8 @@ /area/outpost/hallway/port) "DH" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/minor/bowler_or_that, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/clothing/bowler_or_that, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel/mono, /area/outpost/storage) "DI" = ( @@ -4912,7 +4912,7 @@ /obj/effect/turf_decal/corner_techfloor_gray{ dir = 9 }, -/obj/effect/spawner/lootdrop/salvage/metal, +/obj/effect/spawner/random/salvage/metal, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) @@ -4984,7 +4984,7 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "ER" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/outpost/maintenance/central) "EV" = ( @@ -4995,7 +4995,7 @@ /area/outpost/crew/bar) "EX" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/outpost/maintenance/fore) "Fa" = ( @@ -5189,7 +5189,7 @@ /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms/office) "Gj" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/structure/cable/yellow{ icon_state = "4-8" }, @@ -5222,7 +5222,7 @@ /area/outpost/external) "Gn" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/minor/bowler_or_that, +/obj/effect/spawner/random/clothing/bowler_or_that, /turf/open/floor/plating, /area/outpost/maintenance/fore) "Gu" = ( @@ -5394,7 +5394,7 @@ /area/outpost/hallway/central) "Hk" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/minor/beret_or_rabbitears, +/obj/effect/spawner/random/clothing/beret_or_rabbitears, /obj/machinery/light/dim/directional/west, /turf/open/floor/plasteel/mono, /area/outpost/storage) @@ -5853,7 +5853,7 @@ /area/outpost/cargo/office) "JV" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/minor/pirate_or_bandana, +/obj/effect/spawner/random/clothing/pirate_or_bandana, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/mono, @@ -6213,8 +6213,8 @@ /turf/open/floor/wood, /area/outpost/crew/library) "LR" = ( -/obj/effect/spawner/lootdrop/tool_engie_common, -/obj/effect/spawner/lootdrop/tool_engie_common, +/obj/effect/spawner/random/engineering/tool/common, +/obj/effect/spawner/random/engineering/tool/common, /obj/structure/rack, /turf/open/floor/plating, /area/outpost/maintenance/fore) @@ -6454,7 +6454,7 @@ /area/outpost/cargo/office) "No" = ( /obj/structure/table, -/obj/effect/spawner/lootdrop/donut/jelly, +/obj/effect/spawner/random/food_or_drink/donut/jelly, /obj/effect/turf_decal/floordetail/tiled, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/security) @@ -6531,7 +6531,7 @@ /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, /obj/item/reagent_containers/food/snacks/grown/citrus/orange, -/obj/effect/spawner/lootdrop/salvage_capacitor, +/obj/effect/spawner/random/salvage_capacitor, /turf/open/floor/plating, /area/outpost/maintenance/fore) "NV" = ( @@ -6718,7 +6718,7 @@ /area/outpost/crew/cryo) "Pw" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms/office) "Px" = ( @@ -6914,8 +6914,8 @@ /area/outpost/maintenance/fore) "Qx" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/minor/bowler_or_that, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/clothing/bowler_or_that, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel/mono, /area/outpost/storage) "QA" = ( @@ -7079,7 +7079,7 @@ /obj/structure/cable/yellow{ icon_state = "4-6" }, -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /obj/effect/turf_decal/corner_techfloor_gray{ dir = 10 }, @@ -7166,7 +7166,7 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/segment, -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /turf/open/floor/plating, /area/outpost/maintenance/fore) "RJ" = ( @@ -7390,8 +7390,8 @@ /area/outpost/hallway/port) "SW" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel/mono, /area/outpost/vacant_rooms) "SY" = ( @@ -7400,7 +7400,7 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "Ta" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/oil, /obj/effect/turf_decal/steeldecal/steel_decals9, /turf/open/floor/plating, @@ -7556,7 +7556,7 @@ /obj/effect/turf_decal/corner_techfloor_gray{ dir = 9 }, -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/maintenance/fore) @@ -7608,7 +7608,7 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "Uq" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /turf/open/floor/plasteel/tech/techmaint, /area/outpost/hallway/port) "Us" = ( @@ -7618,7 +7618,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -7789,7 +7789,7 @@ }, /obj/item/bedsheet/double/captain, /obj/effect/decal/cleanable/greenglow, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt, /obj/item/clothing/head/papersack/smiley{ pixel_x = 7 @@ -7897,7 +7897,7 @@ /turf/open/floor/carpet/green, /area/outpost/crew/bar) "Wa" = ( -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /obj/effect/decal/cleanable/dirt, /mob/living/simple_animal/mouse/brown, /turf/open/floor/plating, @@ -8004,7 +8004,7 @@ /turf/open/floor/plasteel, /area/outpost/hallway/central) "WO" = ( -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/outpost/maintenance/fore) "WR" = ( @@ -8029,7 +8029,7 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "WV" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 1 }, @@ -8161,7 +8161,7 @@ /area/outpost/hallway/port) "XA" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/five, +/obj/effect/spawner/random/maintenance/five, /turf/open/floor/plasteel/mono, /area/outpost/vacant_rooms) "XD" = ( @@ -8332,7 +8332,7 @@ /turf/open/floor/plasteel/patterned, /area/outpost/cargo) "YC" = ( -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /obj/structure/rack, /obj/effect/turf_decal/steeldecal/steel_decals_central2{ dir = 4 @@ -8528,8 +8528,8 @@ /area/outpost/hallway/central) "ZP" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/tool_surgery_common, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/medical/surgery_tool/common, +/obj/effect/spawner/random/maintenance/four, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms/office) "ZU" = ( diff --git a/_maps/outpost/nanotrasen_asteroid.dmm b/_maps/outpost/nanotrasen_asteroid.dmm index d5af45bfef2d..179aa234e780 100644 --- a/_maps/outpost/nanotrasen_asteroid.dmm +++ b/_maps/outpost/nanotrasen_asteroid.dmm @@ -63,7 +63,7 @@ /area/outpost/hallway/starboard) "aw" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /obj/machinery/light/small/broken/directional/south, /turf/open/floor/plating/rust, /area/outpost/maintenance/aft) @@ -951,7 +951,7 @@ dir = 8 }, /obj/effect/turf_decal/box/corners, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/concrete/slab_1, /area/outpost/hallway/central) "dF" = ( @@ -1678,7 +1678,7 @@ dir = 8 }, /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/item/paper/crumpled, /turf/open/floor/concrete/slab_1, /area/outpost/hallway/central) @@ -1911,7 +1911,7 @@ /turf/closed/mineral/random/snow, /area/outpost/crew/cryo) "hd" = ( -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating, /area/outpost/maintenance/aft) "he" = ( @@ -2178,7 +2178,7 @@ /area/outpost/crew/bar) "im" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/structure/grille/broken, /turf/open/floor/plating{ icon_state = "foam_plating" @@ -2337,7 +2337,7 @@ /area/outpost/vacant_rooms) "iW" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/structure/sign/poster/contraband/random{ pixel_x = 32; pixel_y = -32 @@ -5481,7 +5481,7 @@ /turf/open/floor/plasteel/dark, /area/outpost/operations) "tD" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating{ icon_state = "panelscorched" @@ -6814,7 +6814,7 @@ "xV" = ( /obj/machinery/light/dim/directional/south, /obj/structure/closet/cardboard, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/outpost/maintenance/fore) "xW" = ( @@ -6990,7 +6990,7 @@ }, /area/outpost/maintenance/fore) "yE" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating{ icon_state = "platingdmg1" }, @@ -7386,7 +7386,7 @@ /area/outpost/engineering/atmospherics) "zY" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/rust, /area/outpost/maintenance/aft) "zZ" = ( @@ -7614,7 +7614,7 @@ icon_state = "box_corners"; dir = 8 }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/machinery/airalarm/directional/west, /turf/open/floor/concrete/slab_1, /area/outpost/hallway/central) @@ -7899,7 +7899,7 @@ "BI" = ( /obj/machinery/door/window/brigdoor/southright, /obj/structure/rack, -/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/random/decoration/glowstick, /turf/open/floor/concrete/tiles, /area/outpost/hallway/central) "BJ" = ( @@ -10357,7 +10357,7 @@ /obj/effect/turf_decal/box/corners{ dir = 4 }, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/concrete/slab_1, /area/outpost/hallway/central) "Kj" = ( @@ -10560,7 +10560,7 @@ /area/outpost/hallway/starboard) "KW" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/outpost/maintenance/aft) "KX" = ( @@ -11767,7 +11767,7 @@ "Pb" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/item/stack/sheet/mineral/wood{ pixel_x = -6 }, @@ -12080,7 +12080,7 @@ /obj/effect/turf_decal/box/corners{ dir = 4 }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/item/paperplane, /obj/item/radio/intercom/directional/south, /obj/machinery/firealarm/directional/south, @@ -12344,7 +12344,7 @@ "Ra" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/outpost/maintenance/fore) "Rc" = ( @@ -12447,7 +12447,7 @@ /area/outpost/maintenance/aft) "Ru" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating{ icon_state = "panelscorched" }, @@ -12633,7 +12633,7 @@ "RZ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/item/stack/rods/ten{ pixel_x = 9 }, @@ -12648,7 +12648,7 @@ /area/outpost/crew/canteen) "Sd" = ( /obj/structure/grille/broken, -/obj/effect/spawner/lootdrop/minor/pirate_or_bandana, +/obj/effect/spawner/random/clothing/pirate_or_bandana, /turf/open/floor/plating, /area/outpost/maintenance/fore) "Se" = ( @@ -12868,8 +12868,8 @@ "Tc" = ( /obj/structure/closet/crate/trashcart/laundry, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears, +/obj/effect/spawner/random/maintenance/two, +/obj/effect/spawner/random/clothing/kittyears_or_rabbitears, /obj/structure/grille/broken, /obj/effect/turf_decal/box/white, /turf/open/floor/plating{ @@ -13743,7 +13743,7 @@ /area/outpost/hallway/central) "Wj" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/concrete/slab_1, /area/outpost/hallway/central) "Wn" = ( @@ -14038,7 +14038,7 @@ /obj/structure/railing{ layer = 3.1 }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/item/trash/can{ pixel_x = -8; pixel_y = -6 diff --git a/_maps/outpost/nanotrasen_ice.dmm b/_maps/outpost/nanotrasen_ice.dmm index 71f305ef1c20..f4e25d3a2cc2 100644 --- a/_maps/outpost/nanotrasen_ice.dmm +++ b/_maps/outpost/nanotrasen_ice.dmm @@ -943,7 +943,7 @@ "gO" = ( /obj/effect/turf_decal/industrial/outline/yellow, /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /obj/structure/sign/poster/retro/random{ pixel_x = -32 }, @@ -1168,7 +1168,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/structure/rack, /obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /turf/open/floor/plasteel/tech, /area/outpost/vacant_rooms/shop) "iH" = ( @@ -1816,7 +1816,7 @@ "mV" = ( /obj/structure/rack, /obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel/tech, /area/outpost/vacant_rooms/shop) "na" = ( @@ -2184,7 +2184,7 @@ /obj/effect/decal/cleanable/dirt, /obj/structure/rack, /obj/structure/grille/broken, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating, /area/outpost/maintenance/starboard) "oF" = ( @@ -3274,7 +3274,7 @@ /area/outpost/maintenance/fore) "vn" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/small/directional/south, /turf/open/floor/plating{ @@ -3483,7 +3483,7 @@ /area/outpost/engineering/atmospherics) "wD" = ( /obj/structure/grille/broken, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/structure/spider/stickyweb, /obj/machinery/light/small/directional/east, /turf/open/floor/plating/rust, @@ -4009,7 +4009,7 @@ /obj/structure/flora/grass/both{ layer = 3.1 }, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/asteroid/snow/temperatre{ light_color = "#1B1D2E"; light_range = 2 @@ -4403,7 +4403,7 @@ }, /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate/bin, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/item/trash/sosjerky, /obj/item/trash/can, /turf/open/floor/plasteel/patterned/brushed{ @@ -4559,7 +4559,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate/trashcart, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{ dir = 8 }, @@ -4847,7 +4847,7 @@ dir = 5 }, /obj/item/trash/chips, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/item/trash/candy, /turf/open/floor/wood/walnut, /area/outpost/crew/bar) @@ -6069,7 +6069,7 @@ "PN" = ( /obj/structure/rack, /obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/tech, /area/outpost/vacant_rooms/shop) "PT" = ( @@ -7558,7 +7558,7 @@ /obj/structure/flora/grass/green{ layer = 3.1 }, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/asteroid/snow/temperatre{ light_color = "#1B1D2E"; light_range = 2 @@ -7695,7 +7695,7 @@ layer = 3.1 }, /obj/item/shard, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/asteroid/snow/temperatre{ light_color = "#1B1D2E"; light_range = 2 diff --git a/_maps/shuttles/independent/independent_beluga.dmm b/_maps/shuttles/independent/independent_beluga.dmm index c283c0d21584..ddbcfba512b3 100644 --- a/_maps/shuttles/independent/independent_beluga.dmm +++ b/_maps/shuttles/independent/independent_beluga.dmm @@ -1090,7 +1090,7 @@ pixel_y = -32 }, /obj/item/storage/bag/tray, -/obj/effect/spawner/lootdrop/ration{ +/obj/effect/spawner/random/food_or_drink/ration{ pixel_x = 6; pixel_y = 6 }, @@ -2631,7 +2631,7 @@ "zh" = ( /obj/structure/bed, /obj/structure/curtain/cloth/grey, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/machinery/light/directional/south, /turf/open/floor/wood, /area/ship/crew/dorm) @@ -3425,7 +3425,7 @@ /area/ship/crew/canteen) "Hq" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/bounty, /obj/structure/sign/poster/official/ian{ pixel_x = 32 @@ -3803,7 +3803,7 @@ "Kc" = ( /obj/structure/bed, /obj/structure/curtain/cloth/grey, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/machinery/light_switch{ pixel_x = -8; pixel_y = -20; @@ -3827,7 +3827,7 @@ /area/ship/crew) "Ko" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/bounty, /turf/open/floor/carpet/red, /area/ship/crew) @@ -4118,7 +4118,7 @@ "Nv" = ( /obj/structure/bed, /obj/structure/curtain/cloth/grey, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/wood, /area/ship/crew/dorm) "Nw" = ( diff --git a/_maps/shuttles/independent/independent_box.dmm b/_maps/shuttles/independent/independent_box.dmm index 31891a371d8c..f64c84ca5b33 100644 --- a/_maps/shuttles/independent/independent_box.dmm +++ b/_maps/shuttles/independent/independent_box.dmm @@ -711,7 +711,7 @@ /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/crew/toilet) "cG" = ( -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /obj/structure/closet/emcloset/anchored, /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 4 @@ -968,7 +968,7 @@ dir = 8 }, /obj/structure/bed/pod, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/carpet/blue, /area/ship/crew) "dr" = ( @@ -1162,7 +1162,7 @@ /obj/structure/sign/poster/official/help_others{ pixel_x = -32 }, -/obj/effect/spawner/lootdrop/tool_surgery_adv, +/obj/effect/spawner/random/medical/surgery_tool/adv, /obj/item/megaphone/command, /obj/effect/turf_decal/spline/fancy/opaque/black{ dir = 4 @@ -1421,7 +1421,7 @@ /turf/open/floor/plasteel/tech, /area/ship/medical) "mx" = ( -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/bounty, /obj/effect/turf_decal/siding/wood/corner{ dir = 4 @@ -1460,10 +1460,10 @@ /area/ship/medical) "nA" = ( /obj/structure/table, -/obj/effect/spawner/lootdrop/ration{ +/obj/effect/spawner/random/food_or_drink/ration{ pixel_y = 3 }, -/obj/effect/spawner/lootdrop/ration{ +/obj/effect/spawner/random/food_or_drink/ration{ pixel_x = -5; pixel_y = 3 }, @@ -2022,7 +2022,7 @@ /obj/item/circuitboard/machine/chem_master, /obj/item/reagent_containers/glass/beaker/large, /obj/item/stack/sheet/glass/two, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/item/trash/can/food/beans, /turf/open/floor/plasteel/white, /area/ship/medical) @@ -2165,7 +2165,7 @@ /obj/item/vending_refill/medical, /obj/item/screwdriver, /obj/machinery/airalarm/directional/south, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel/white, /area/ship/cargo) "Cn" = ( @@ -2808,7 +2808,7 @@ /obj/structure/cable/yellow{ icon_state = "0-10" }, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /obj/structure/rack, /obj/item/areaeditor/shuttle, /obj/item/flashlight{ diff --git a/_maps/shuttles/independent/independent_bubble.dmm b/_maps/shuttles/independent/independent_bubble.dmm index 08fd116f2536..298a919bbaa7 100644 --- a/_maps/shuttles/independent/independent_bubble.dmm +++ b/_maps/shuttles/independent/independent_bubble.dmm @@ -248,7 +248,7 @@ /turf/open/floor/plasteel/mono, /area/ship/hallway/central) "jr" = ( -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/bed, /obj/structure/curtain/bounty, /obj/effect/turf_decal/siding/wood{ @@ -905,7 +905,7 @@ /turf/open/floor/plating, /area/ship/engineering) "LK" = ( -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/bed, /obj/structure/curtain/bounty, /obj/effect/turf_decal/siding/wood{ @@ -1228,7 +1228,7 @@ /turf/open/floor/plasteel, /area/ship/engineering) "Yi" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/structure/closet/firecloset/full, /turf/open/floor/plating, /area/ship/maintenance/port) diff --git a/_maps/shuttles/independent/independent_dwayne.dmm b/_maps/shuttles/independent/independent_dwayne.dmm index 7f8e7b569c68..9d36cb61c748 100644 --- a/_maps/shuttles/independent/independent_dwayne.dmm +++ b/_maps/shuttles/independent/independent_dwayne.dmm @@ -257,7 +257,7 @@ /obj/structure/closet/crate, /obj/machinery/firealarm/directional/north, /obj/item/circuitboard/machine/pipedispenser, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "dh" = ( @@ -1442,7 +1442,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "vj" = ( @@ -1584,7 +1584,7 @@ }, /obj/machinery/light/directional/west, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "yu" = ( @@ -1889,7 +1889,7 @@ }, /obj/effect/decal/cleanable/dirt, /obj/structure/closet/crate/large, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel/patterned/grid, /area/ship/cargo) "Ds" = ( @@ -2083,7 +2083,7 @@ /area/ship/external/dark) "Gl" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/machinery/airalarm/directional/east, /obj/item/radio/intercom/directional/south, /turf/open/floor/carpet, @@ -2213,7 +2213,7 @@ "Is" = ( /obj/structure/closet/crate/science, /obj/item/paicard, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/ship/cargo) "IF" = ( @@ -2301,7 +2301,7 @@ /area/ship/storage/eva) "JH" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/cable/yellow{ icon_state = "4-10" }, @@ -2433,10 +2433,10 @@ /obj/structure/closet/secure_closet/freezer/wall/directional/south{ name = "kitchen cabinet" }, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/storage/cans/sixbeer, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, @@ -2617,28 +2617,13 @@ /area/ship/storage/eva) "NT" = ( /obj/structure/closet/cardboard, -/obj/effect/spawner/lootdrop/glowstick, -/obj/effect/spawner/lootdrop/glowstick{ - pixel_y = 2 - }, -/obj/effect/spawner/lootdrop/glowstick{ - pixel_y = -3; - pixel_x = 7 - }, -/obj/effect/spawner/lootdrop/glowstick{ - pixel_x = -6 - }, -/obj/effect/spawner/lootdrop/glowstick{ - pixel_y = -3 - }, -/obj/effect/spawner/lootdrop/glowstick{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/effect/spawner/lootdrop/glowstick{ - pixel_x = -4; - pixel_y = -4 - }, +/obj/effect/spawner/random/decoration/glowstick, +/obj/effect/spawner/random/decoration/glowstick, +/obj/effect/spawner/random/decoration/glowstick, +/obj/effect/spawner/random/decoration/glowstick, +/obj/effect/spawner/random/decoration/glowstick, +/obj/effect/spawner/random/decoration/glowstick, +/obj/effect/spawner/random/decoration/glowstick, /turf/open/floor/plating, /area/ship/storage/eva) "NW" = ( @@ -2751,11 +2736,11 @@ /obj/effect/turf_decal/corner/opaque/yellow/half, /obj/structure/closet/crate/large, /obj/effect/turf_decal/industrial/warning, -/obj/effect/spawner/lootdrop/plushie, -/obj/effect/spawner/lootdrop/plushie, -/obj/effect/spawner/lootdrop/plushie, -/obj/effect/spawner/lootdrop/plushie, -/obj/effect/spawner/lootdrop/plushie, +/obj/effect/spawner/random/entertainment/plushie, +/obj/effect/spawner/random/entertainment/plushie, +/obj/effect/spawner/random/entertainment/plushie, +/obj/effect/spawner/random/entertainment/plushie, +/obj/effect/spawner/random/entertainment/plushie, /obj/structure/cable/cyan{ icon_state = "1-2" }, @@ -3405,7 +3390,7 @@ /obj/item/trash/candy, /obj/item/trash/sosjerky, /obj/item/trash/can/food/beans, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/structure/cable/cyan{ icon_state = "2-5" }, @@ -3473,7 +3458,7 @@ /area/ship/engineering) "ZQ" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/carpet, /area/ship/crew/dorm) "ZR" = ( diff --git a/_maps/shuttles/independent/independent_junker.dmm b/_maps/shuttles/independent/independent_junker.dmm index 0ae98ef37fe2..c7b7eb4ae673 100644 --- a/_maps/shuttles/independent/independent_junker.dmm +++ b/_maps/shuttles/independent/independent_junker.dmm @@ -48,7 +48,7 @@ /area/ship/maintenance/port) "aq" = ( /obj/item/trash/sosjerky, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/item/areaeditor/shuttle{ pixel_y = 7 }, @@ -67,7 +67,7 @@ /obj/item/storage/backpack/explorer, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/item/pickaxe/rusted, /turf/open/floor/plating, /area/ship/engineering/electrical) @@ -75,7 +75,7 @@ /obj/structure/rack, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/broken/directional/north, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /obj/item/flashlight/pen, /turf/open/floor/wood/walnut{ icon_state = "wood-broken" @@ -399,7 +399,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/ship/engineering/electrical) "hb" = ( @@ -857,7 +857,7 @@ "qm" = ( /obj/structure/rack, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /obj/item/reagent_containers/food/snacks/canned/peaches/maint, /turf/open/floor/plating, /area/ship/construction) @@ -1232,7 +1232,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/spawner/lootdrop/maintenance/eight, +/obj/effect/spawner/random/maintenance/eight, /obj/structure/safe/floor{ number_of_tumblers = 5 }, @@ -1610,7 +1610,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 6 }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/ship/maintenance/port) "Df" = ( @@ -1735,7 +1735,7 @@ /obj/item/reagent_containers/glass/bottle/welding_fuel, /obj/machinery/power/apc/auto_name/directional/west, /obj/effect/decal/cleanable/cobweb, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/ship/storage/eva) "Fz" = ( @@ -1808,7 +1808,7 @@ /area/ship/storage/eva) "Hj" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/item/decal_painter, /obj/item/storage/box/mousetraps, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -2034,7 +2034,7 @@ "JZ" = ( /obj/structure/rack, /obj/machinery/light/small/broken/directional/west, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /obj/item/toner, /obj/item/clothing/neck/stethoscope, /turf/open/floor/plating, @@ -2085,7 +2085,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/machinery/light/small/directional/north, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/wood/walnut{ icon_state = "wood-broken3" }, @@ -2231,7 +2231,7 @@ dir = 1 }, /mob/living/simple_animal/hostile/cockroach/glockroach, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/machinery/light_switch{ dir = 8; pixel_x = 20; @@ -2487,7 +2487,7 @@ }, /obj/effect/decal/cleanable/sprayweb, /obj/effect/decal/cleanable/cobweb, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /turf/open/floor/pod/light, /area/ship/maintenance/aft) "Wv" = ( @@ -2730,7 +2730,7 @@ /obj/structure/cable{ icon_state = "0-2" }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/machinery/door/firedoor, /turf/open/floor/plating, /area/ship/maintenance/port) diff --git a/_maps/shuttles/independent/independent_kilo.dmm b/_maps/shuttles/independent/independent_kilo.dmm index 43941169b66a..7783dff02df5 100644 --- a/_maps/shuttles/independent/independent_kilo.dmm +++ b/_maps/shuttles/independent/independent_kilo.dmm @@ -123,7 +123,7 @@ /turf/open/floor/plating, /area/ship/hallway/port) "bm" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/ship/maintenance/fore) "bn" = ( @@ -905,7 +905,7 @@ /area/ship/cargo) "mz" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/machinery/light_switch{ pixel_x = 7; pixel_y = 20 @@ -1212,9 +1212,9 @@ /obj/item/reagent_containers/food/drinks/soda_cans/cola, /obj/item/reagent_containers/food/drinks/soda_cans/cola, /obj/item/reagent_containers/food/drinks/soda_cans/cola, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/reagent_containers/food/snacks/icecreamsandwich, /obj/item/reagent_containers/food/snacks/icecreamsandwich, /obj/effect/turf_decal/corner/transparent/beige/full, @@ -1789,7 +1789,7 @@ /obj/structure/cable/pink{ icon_state = "1-6" }, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/machinery/light/directional/west, /turf/open/floor/carpet, /area/ship/crew/dorm) diff --git a/_maps/shuttles/independent/independent_lagoon.dmm b/_maps/shuttles/independent/independent_lagoon.dmm index 5130aed76be3..2855c6e0d686 100644 --- a/_maps/shuttles/independent/independent_lagoon.dmm +++ b/_maps/shuttles/independent/independent_lagoon.dmm @@ -4873,7 +4873,7 @@ /area/ship/hallway/aft) "GN" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/effect/turf_decal/siding/wood{ dir = 4 }, @@ -6155,7 +6155,7 @@ /area/ship/hallway/port) "QI" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/effect/turf_decal/siding/wood{ dir = 6 }, diff --git a/_maps/shuttles/independent/independent_mudskipper.dmm b/_maps/shuttles/independent/independent_mudskipper.dmm index 11d98b3c1475..676301c8271e 100644 --- a/_maps/shuttles/independent/independent_mudskipper.dmm +++ b/_maps/shuttles/independent/independent_mudskipper.dmm @@ -1412,7 +1412,7 @@ /area/ship/hallway/aft) "Ft" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/bounty, /obj/machinery/light_switch{ dir = 1; @@ -1727,10 +1727,10 @@ /obj/structure/closet/crate{ name = "ration crate" }, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/reagent_containers/food/snacks/canned/beans, /obj/item/reagent_containers/food/snacks/canned/beans, /obj/item/reagent_containers/food/snacks/canned/beans, @@ -1990,7 +1990,7 @@ /area/ship/crew/toilet) "ST" = ( /obj/item/storage/cans/sixbeer, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /obj/structure/closet/secure_closet/freezer{ anchored = 1; name = "fridge" @@ -2140,7 +2140,7 @@ /area/ship/engineering/engine) "Vy" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/bounty, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/dim/directional/north, diff --git a/_maps/shuttles/independent/independent_raleigh.dmm b/_maps/shuttles/independent/independent_raleigh.dmm index a6bff35f8dc7..906af974bfe5 100644 --- a/_maps/shuttles/independent/independent_raleigh.dmm +++ b/_maps/shuttles/independent/independent_raleigh.dmm @@ -714,16 +714,12 @@ /obj/structure/table, /obj/effect/turf_decal/corner/opaque/yellow/mono, /obj/structure/closet/wall/white/directional/east, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration{ - pixel_y = 1 - }, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/storage/cans/sixbeer, /obj/item/storage/cans/sixbeer, /obj/effect/decal/cleanable/food/flour, -/obj/effect/spawner/lootdrop/ration{ - pixel_y = 1 - }, +/obj/effect/spawner/random/food_or_drink/ration, /turf/open/floor/plasteel/mono/white, /area/ship/crew/canteen) "jc" = ( @@ -1036,7 +1032,7 @@ /area/ship/crew/ccommons) "my" = ( /obj/structure/bed, -/obj/item/bedsheet/random, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/bounty, /obj/item/toy/plush/flushed, /turf/open/floor/carpet/green, @@ -1055,7 +1051,7 @@ /area/ship/hallway/central) "mE" = ( /obj/structure/bed, -/obj/item/bedsheet/random, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/bounty, /obj/item/toy/plush/carpplushie, /turf/open/floor/carpet/green, @@ -1625,7 +1621,7 @@ /turf/open/floor/plasteel/mono, /area/ship/cargo) "tg" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/effect/turf_decal/corner_steel_grid{ dir = 9 }, @@ -1851,7 +1847,7 @@ "ws" = ( /obj/structure/curtain/bounty, /obj/structure/bed, -/obj/item/bedsheet/random, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/carpet/green, /area/ship/crew/dorm) "wS" = ( @@ -4082,7 +4078,7 @@ dir = 8 }, /obj/structure/extinguisher_cabinet/directional/west, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/ship/engineering/atmospherics) "Wm" = ( @@ -4531,7 +4527,7 @@ "ZE" = ( /obj/structure/closet/crate, /obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/ship/engineering/engines/starboard) diff --git a/_maps/shuttles/independent/independent_rigger.dmm b/_maps/shuttles/independent/independent_rigger.dmm index d87ae083832b..78053b7e5e8c 100644 --- a/_maps/shuttles/independent/independent_rigger.dmm +++ b/_maps/shuttles/independent/independent_rigger.dmm @@ -62,7 +62,7 @@ "bc" = ( /obj/structure/closet/cardboard, /obj/item/paicard, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating, /area/ship/maintenance/fore) "bi" = ( @@ -239,8 +239,8 @@ populate = 0 }, /obj/item/storage/cans/sixbeer, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/reagent_containers/condiment/flour, /obj/item/reagent_containers/condiment/sugar, /obj/item/radio/intercom/directional/north, @@ -283,7 +283,7 @@ "eu" = ( /obj/structure/closet/crate, /obj/machinery/airalarm/directional/north, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating, /area/ship/maintenance/fore) "eF" = ( @@ -430,7 +430,7 @@ dir = 1 }, /obj/structure/bed, -/obj/item/bedsheet/random, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/bounty, /turf/open/floor/plasteel/grimy, /area/ship/crew/dorm) @@ -1102,7 +1102,7 @@ "nU" = ( /obj/machinery/light/directional/west, /obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /turf/open/floor/plasteel/white, /area/ship/crew/canteen) "od" = ( @@ -1160,7 +1160,7 @@ /turf/open/floor/plasteel/white, /area/ship/crew/canteen) "oX" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/ship/maintenance/fore) "ph" = ( @@ -2463,7 +2463,7 @@ /obj/structure/cable{ icon_state = "0-4" }, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "DG" = ( @@ -2616,7 +2616,7 @@ }, /obj/structure/closet/crate, /obj/machinery/firealarm/directional/west, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating, /area/ship/maintenance/port) "Fu" = ( @@ -3240,7 +3240,7 @@ /area/ship/medical) "Ne" = ( /obj/structure/bed, -/obj/item/bedsheet/random, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/bounty, /turf/open/floor/plasteel/grimy, /area/ship/crew/dorm) @@ -3552,7 +3552,7 @@ /area/ship/maintenance/central) "Qv" = ( /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel, /area/ship/construction) "QB" = ( @@ -3680,7 +3680,7 @@ }, /obj/structure/bed, /obj/structure/curtain/bounty, -/obj/item/bedsheet/random, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/plasteel/grimy, /area/ship/crew/dorm) "Sj" = ( @@ -3791,13 +3791,13 @@ dir = 1 }, /obj/structure/crate_shelf, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/reagent_containers/food/drinks/waterbottle/large{ pixel_x = 1; pixel_y = -3 @@ -3903,7 +3903,7 @@ /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, /obj/structure/closet/crate/bin, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel/grimy, /area/ship/crew) "Ug" = ( diff --git a/_maps/shuttles/independent/independent_schmiedeberg.dmm b/_maps/shuttles/independent/independent_schmiedeberg.dmm index 3ae3915db4d3..bf97b9b1a44b 100644 --- a/_maps/shuttles/independent/independent_schmiedeberg.dmm +++ b/_maps/shuttles/independent/independent_schmiedeberg.dmm @@ -167,7 +167,7 @@ /obj/machinery/door/window/brigdoor/northright{ dir = 2 }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/turf_decal/siding/wood{ dir = 10 }, @@ -440,7 +440,7 @@ /area/ship/cargo) "fq" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/greenglow/filled, /obj/effect/turf_decal/siding/wood{ color = "#543C30"; @@ -462,7 +462,7 @@ /area/ship/engineering) "fM" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/effect/turf_decal/siding/wood/corner{ dir = 4 }, @@ -1176,8 +1176,8 @@ /obj/machinery/door/poddoor/shutters/preopen{ id = "pharmlobby" }, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/two, +/obj/effect/spawner/random/maintenance/four, /turf/open/floor/mineral/titanium, /area/ship/cargo) "qj" = ( @@ -1222,7 +1222,7 @@ /area/ship/medical) "qU" = ( /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/turf_decal/siding/wood{ color = "#543C30"; dir = 9 @@ -2360,7 +2360,7 @@ /obj/structure/rack, /obj/structure/window/reinforced/spawner/east, /obj/structure/window/reinforced/spawner/north, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /obj/machinery/door/window/brigdoor/northright{ dir = 8 }, @@ -2728,14 +2728,14 @@ /obj/structure/rack, /obj/structure/window/reinforced/spawner/east, /obj/structure/window/reinforced/spawner/north, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /obj/machinery/door/window/brigdoor/northright{ dir = 8 }, /obj/machinery/door/poddoor/shutters/preopen{ id = "pharmlobby" }, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /turf/open/floor/wood/walnut, /area/ship/cargo) "OO" = ( @@ -2977,7 +2977,7 @@ pixel_y = -32 }, /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/bounty, /obj/effect/turf_decal/siding/wood/corner{ dir = 1 @@ -3050,7 +3050,7 @@ /obj/item/flashlight/glowstick/blue, /obj/item/flashlight/glowstick/cyan, /obj/item/storage/pill_bottle/floorpill, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/turf_decal/siding/wood{ color = "#543C30"; dir = 1 @@ -3097,7 +3097,7 @@ dir = 8 }, /obj/item/storage/pill_bottle/zoom, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/machinery/door/poddoor/shutters/preopen{ id = "pharmlobby" }, @@ -3205,7 +3205,7 @@ /obj/machinery/door/window/brigdoor/northright{ dir = 2 }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/turf_decal/siding/wood{ dir = 6 }, diff --git a/_maps/shuttles/independent/independent_shetland.dmm b/_maps/shuttles/independent/independent_shetland.dmm index 75784c301eda..8cdb3dfae61a 100644 --- a/_maps/shuttles/independent/independent_shetland.dmm +++ b/_maps/shuttles/independent/independent_shetland.dmm @@ -735,7 +735,7 @@ /turf/open/floor/plasteel/patterned, /area/ship/crew/janitor) "gd" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/effect/turf_decal/corner/opaque/neutral/half{ dir = 4 }, @@ -3100,7 +3100,7 @@ /turf/open/floor/plating, /area/ship/hallway/port) "zr" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/effect/turf_decal/corner/opaque/neutral/three_quarters{ dir = 8 }, @@ -4361,7 +4361,7 @@ "Li" = ( /obj/structure/bed, /obj/structure/curtain/bounty, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/random{ pixel_x = -32; @@ -4647,7 +4647,7 @@ "MS" = ( /obj/structure/bed, /obj/structure/curtain/bounty, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/plasteel/grimy, /area/ship/crew/dorm) "MT" = ( @@ -4676,7 +4676,7 @@ "Ni" = ( /obj/structure/bed, /obj/structure/curtain/bounty, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/random{ pixel_y = 32 @@ -4768,7 +4768,7 @@ "Ok" = ( /obj/structure/bed, /obj/structure/curtain/bounty, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 4 }, @@ -5423,9 +5423,9 @@ pixel_x = -5; pixel_y = 3 }, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/storage/cans/sixbeer, /obj/item/reagent_containers/food/drinks/waterbottle/large{ pixel_x = 1; diff --git a/_maps/shuttles/independent/independent_sunskipper.dmm b/_maps/shuttles/independent/independent_sunskipper.dmm index 3edffc72acbc..12f34a8991ac 100644 --- a/_maps/shuttles/independent/independent_sunskipper.dmm +++ b/_maps/shuttles/independent/independent_sunskipper.dmm @@ -1182,9 +1182,7 @@ /obj/structure/bed{ dir = 1 }, -/obj/item/bedsheet/dorms{ - dir = 1 - }, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/cloth/grey, /obj/structure/cable/green{ icon_state = "1-2" diff --git a/_maps/shuttles/independent/independent_tranquility.dmm b/_maps/shuttles/independent/independent_tranquility.dmm index 35b3044df741..0ecbfbe09e90 100644 --- a/_maps/shuttles/independent/independent_tranquility.dmm +++ b/_maps/shuttles/independent/independent_tranquility.dmm @@ -1721,7 +1721,7 @@ /area/ship/hallway/starboard) "nr" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/cloth/grey, /obj/machinery/light/dim/directional/east, /obj/structure/sign/poster/contraband/gec{ @@ -4731,7 +4731,7 @@ "LT" = ( /obj/structure/bed, /obj/structure/curtain/cloth/grey, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/effect/turf_decal/siding/wood{ dir = 4 }, @@ -5755,7 +5755,7 @@ /area/ship/crew/hydroponics) "Tl" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/cloth/grey, /obj/machinery/light/dim/directional/east, /obj/structure/sign/poster/contraband/hacking_guide{ @@ -5891,7 +5891,7 @@ /obj/structure/bed, /obj/structure/curtain/cloth/grey, /obj/machinery/light/dim/directional/north, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/carpet/black, /area/ship/crew/dorm/dormthree) "Up" = ( @@ -6197,10 +6197,10 @@ "WS" = ( /obj/machinery/light/dim/directional/north, /obj/structure/closet/crate/hydroponics, -/obj/effect/spawner/lootdrop/seeded, -/obj/effect/spawner/lootdrop/seeded, -/obj/effect/spawner/lootdrop/seeded, -/obj/effect/spawner/lootdrop/seeded, +/obj/effect/spawner/random/food_or_drink/seed, +/obj/effect/spawner/random/food_or_drink/seed, +/obj/effect/spawner/random/food_or_drink/seed, +/obj/effect/spawner/random/food_or_drink/seed, /obj/item/seeds/random, /turf/open/floor/grass, /area/ship/crew/hydroponics) diff --git a/_maps/shuttles/inteq/inteq_colossus.dmm b/_maps/shuttles/inteq/inteq_colossus.dmm index 936aae8fed08..eb1f5ad774fa 100644 --- a/_maps/shuttles/inteq/inteq_colossus.dmm +++ b/_maps/shuttles/inteq/inteq_colossus.dmm @@ -228,8 +228,8 @@ locked = 0; name = "fridge" }, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/storage/cans/sixbeer, /obj/effect/turf_decal/corner/opaque/yellow{ dir = 1 @@ -856,7 +856,7 @@ /turf/open/floor/plating, /area/ship/maintenance/port) "iT" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/effect/turf_decal/trimline/opaque/yellow/line, /obj/effect/turf_decal/siding/thinplating, /obj/structure/cable, @@ -1632,16 +1632,16 @@ dir = 1 }, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, @@ -2537,7 +2537,7 @@ }, /obj/structure/closet/cardboard, /obj/item/radio/intercom/directional/south, -/obj/effect/spawner/lootdrop/maintenance/seven, +/obj/effect/spawner/random/maintenance/seven, /obj/effect/turf_decal/corner_techfloor_gray{ dir = 4 }, @@ -3652,7 +3652,7 @@ /obj/structure/closet/crate/trashcart, /obj/machinery/airalarm/directional/east, /obj/machinery/firealarm/directional/south, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/turf_decal/corner_techfloor_gray{ dir = 4 }, @@ -4494,7 +4494,7 @@ /turf/open/floor/carpet/black, /area/ship/crew) "XS" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/effect/turf_decal/trimline/opaque/yellow/line, /obj/effect/turf_decal/siding/thinplating, /obj/machinery/airalarm/directional/south, diff --git a/_maps/shuttles/inteq/inteq_hound.dmm b/_maps/shuttles/inteq/inteq_hound.dmm index c6f9e34a653d..b0c1bdfb8171 100644 --- a/_maps/shuttles/inteq/inteq_hound.dmm +++ b/_maps/shuttles/inteq/inteq_hound.dmm @@ -27,8 +27,8 @@ locked = 0; name = "fridge" }, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/storage/cans/sixbeer, /obj/item/reagent_containers/food/snacks/icecreamsandwich, /obj/machinery/light/directional/south, @@ -2043,11 +2043,11 @@ dir = 4 }, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, /turf/open/floor/plasteel/patterned/cargo_one, diff --git a/_maps/shuttles/inteq/inteq_talos.dmm b/_maps/shuttles/inteq/inteq_talos.dmm index 5df5060f6f06..b322c45ea99b 100644 --- a/_maps/shuttles/inteq/inteq_talos.dmm +++ b/_maps/shuttles/inteq/inteq_talos.dmm @@ -888,12 +888,12 @@ /area/ship/maintenance/starboard) "fN" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/airless, /area/ship/maintenance/port) "fU" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/airless, /area/ship/storage/port) "fX" = ( @@ -948,7 +948,7 @@ "gm" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/airless, /area/ship/storage/starboard) "go" = ( @@ -1262,7 +1262,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/item/cigbutt, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/airless, /area/ship/storage/starboard) "im" = ( @@ -1640,7 +1640,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, /area/ship/maintenance/starboard) "kD" = ( @@ -2132,7 +2132,7 @@ /area/ship/storage) "nF" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, /area/ship/storage/port) "nH" = ( @@ -2345,7 +2345,7 @@ /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/structure/closet/cardboard, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating/airless, /area/ship/maintenance/starboard) "oR" = ( @@ -2484,8 +2484,8 @@ name = "fridge" }, /obj/item/storage/cans/sixbeer, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/reagent_containers/food/snacks/popsicle/creamsicle_orange, /obj/item/reagent_containers/food/snacks/popsicle/creamsicle_orange, /obj/item/radio/intercom/directional/north, @@ -2636,7 +2636,7 @@ "qp" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/cobweb, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, /area/ship/maintenance/port) "qr" = ( @@ -2879,7 +2879,7 @@ /area/ship/security) "rN" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, /area/ship/maintenance/starboard) "rP" = ( @@ -3028,7 +3028,7 @@ /area/ship/maintenance/port) "sD" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/turf_decal/industrial/warning{ dir = 4 }, @@ -3041,7 +3041,7 @@ /obj/effect/turf_decal/corner/opaque/brown{ dir = 4 }, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/machinery/camera/autoname, /obj/machinery/status_display/shuttle{ pixel_y = 32 @@ -4081,7 +4081,7 @@ /area/ship/maintenance/port) "zg" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, /area/ship/maintenance/port) "zh" = ( @@ -4159,7 +4159,7 @@ "zB" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/closet/crate/trashcart, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/airless, /area/ship/storage/port) "zE" = ( @@ -4237,7 +4237,7 @@ "Aa" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, /area/ship/storage/port) "Ag" = ( @@ -4499,7 +4499,7 @@ /area/ship/crew/canteen) "BN" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, /area/ship/storage/starboard) "BP" = ( @@ -4545,7 +4545,7 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "Cp" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/structure/sign/poster/contraband/inteq{ pixel_x = 32 }, @@ -5212,7 +5212,7 @@ icon_state = "1-8" }, /obj/effect/decal/cleanable/blood/old, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, /area/ship/maintenance/starboard) "GR" = ( @@ -5286,7 +5286,7 @@ "Ho" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, /area/ship/storage/starboard) "Hp" = ( @@ -5522,7 +5522,7 @@ /turf/open/floor/engine/vacuum, /area/ship/engineering/engine) "Jk" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/airless, /area/ship/maintenance/starboard) "Jo" = ( @@ -6161,7 +6161,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating/airless, /area/ship/storage/port) "NK" = ( @@ -6308,7 +6308,7 @@ "OP" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, /area/ship/maintenance/port) "Pf" = ( @@ -6360,7 +6360,7 @@ /obj/machinery/light/small/directional/west, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /obj/structure/closet/crate, /turf/open/floor/plating/airless, /area/ship/storage/starboard) @@ -6635,7 +6635,7 @@ /area/ship/hallway/central) "Ri" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, /area/ship/maintenance/port) "Rp" = ( @@ -6717,7 +6717,7 @@ /obj/machinery/light/small/directional/north, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/plasma, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/ship/maintenance/port) "RY" = ( @@ -6888,7 +6888,7 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "SS" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/machinery/airalarm/directional/east, /turf/open/floor/plasteel/grimy, /area/ship/crew) @@ -7105,11 +7105,11 @@ /obj/structure/closet/crate{ name = "food crate" }, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, @@ -7146,7 +7146,7 @@ /area/ship/storage/starboard) "Uy" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, /area/ship/storage/port) "UD" = ( @@ -7684,7 +7684,7 @@ /area/ship/maintenance/starboard) "YZ" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, /area/ship/maintenance/starboard) "Zb" = ( @@ -7883,7 +7883,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/closet/cardboard, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plating/airless, /area/ship/storage/port) "ZY" = ( diff --git a/_maps/shuttles/inteq/inteq_valor.dmm b/_maps/shuttles/inteq/inteq_valor.dmm index 00b25f936eab..994041639613 100644 --- a/_maps/shuttles/inteq/inteq_valor.dmm +++ b/_maps/shuttles/inteq/inteq_valor.dmm @@ -92,7 +92,7 @@ }, /obj/effect/turf_decal/box/corners, /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/five, +/obj/effect/spawner/random/maintenance/five, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "bv" = ( @@ -586,9 +586,9 @@ /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/storage/ration/crayons, /obj/effect/turf_decal/box/corners{ dir = 8 @@ -1491,7 +1491,7 @@ /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 5 }, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) @@ -2691,8 +2691,8 @@ dir = 1 }, /obj/item/reagent_containers/food/snacks/hotdog, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "yu" = ( @@ -4647,7 +4647,7 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/donut, +/obj/effect/spawner/random/food_or_drink/donut, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "Qn" = ( @@ -5393,7 +5393,7 @@ /obj/effect/turf_decal/trimline/opaque/yellow/line{ dir = 4 }, -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/directional/east, /turf/open/floor/plasteel/patterned/grid, diff --git a/_maps/shuttles/inteq/inteq_vaquero.dmm b/_maps/shuttles/inteq/inteq_vaquero.dmm index 9ea8b60d9b89..cd79d41cc9cc 100644 --- a/_maps/shuttles/inteq/inteq_vaquero.dmm +++ b/_maps/shuttles/inteq/inteq_vaquero.dmm @@ -1520,16 +1520,16 @@ dir = 1 }, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, @@ -3217,7 +3217,7 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/central) "XG" = ( @@ -3252,8 +3252,8 @@ name = "fridge" }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /obj/item/storage/cans/sixbeer, /obj/item/reagent_containers/food/snacks/carneburrito, /obj/effect/turf_decal/corner/opaque/yellow{ diff --git a/_maps/shuttles/minutemen/minutemen_atlas.dmm b/_maps/shuttles/minutemen/minutemen_atlas.dmm index 325069e91a6e..1b9d5dc2dffb 100644 --- a/_maps/shuttles/minutemen/minutemen_atlas.dmm +++ b/_maps/shuttles/minutemen/minutemen_atlas.dmm @@ -3749,11 +3749,11 @@ /obj/structure/closet/secure_closet/freezer/fridge/open{ populate = 0 }, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, /obj/item/reagent_containers/food/drinks/waterbottle/large, diff --git a/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm b/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm index 0d57e0ca165a..f4643679b3d0 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm @@ -252,11 +252,11 @@ }, /obj/structure/closet/crate, /obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo) "bd" = ( @@ -497,7 +497,7 @@ /turf/open/floor/plating, /area/ship/engineering) "cm" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/machinery/light/small/directional/east, /turf/open/floor/plasteel/dark, /area/ship/hallway/central) @@ -1089,8 +1089,8 @@ dir = 1; pixel_y = -32 }, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/storage/cans/sixbeer, /turf/open/floor/plasteel, /area/ship/crew) diff --git a/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm b/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm index 2cb4e641cd53..1e65ca7f3773 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm @@ -130,7 +130,7 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/aft) "bh" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/ship/maintenance/fore) @@ -246,7 +246,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/ship/maintenance/fore) "cj" = ( @@ -319,7 +319,7 @@ /turf/open/floor/plating, /area/ship/maintenance/fore) "cP" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, @@ -357,7 +357,7 @@ /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/maintenance/fore) "dp" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ship/maintenance/starboard) @@ -435,7 +435,7 @@ /turf/open/floor/plasteel, /area/ship/cargo/starboard) "ej" = ( -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/borderfloor, /obj/structure/extinguisher_cabinet/directional/west, @@ -559,7 +559,7 @@ /turf/open/floor/engine/hull, /area/ship/external) "eQ" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/cobweb/cobweb2, @@ -658,7 +658,7 @@ /area/ship/engineering/atmospherics) "ga" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/bounty, /obj/structure/window/reinforced{ dir = 4 @@ -676,7 +676,7 @@ /turf/open/floor/plating, /area/ship/engineering/engine) "gf" = ( -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, @@ -696,7 +696,7 @@ /turf/open/floor/plasteel/patterned, /area/ship/cargo/port) "gh" = ( -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/structure/cable{ icon_state = "1-2" }, @@ -712,7 +712,7 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 1 @@ -776,7 +776,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/turf_decal/industrial/warning, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, @@ -815,7 +815,7 @@ /area/ship/crew) "hA" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /turf/open/floor/plasteel/patterned, /area/ship/cargo/port) "hL" = ( @@ -907,7 +907,7 @@ /turf/open/floor/engine/airless, /area/ship/engineering/engine) "iJ" = ( -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /turf/open/floor/plasteel/patterned, /area/ship/cargo/starboard) "iK" = ( @@ -931,7 +931,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ship/maintenance/port) @@ -944,9 +944,9 @@ /area/ship/bridge) "jc" = ( /obj/structure/table/reinforced, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/radio/intercom/directional/east, /turf/open/floor/plasteel/grimy, /area/ship/crew) @@ -1144,13 +1144,13 @@ /area/ship/engineering/engine) "lb" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/bounty, /turf/open/floor/plasteel/grimy, /area/ship/crew) "lE" = ( /obj/effect/turf_decal/box/corners, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo/starboard) "lM" = ( @@ -1176,7 +1176,7 @@ /area/ship/hallway/central) "lT" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/structure/cable{ icon_state = "1-2" }, @@ -1219,7 +1219,7 @@ /area/ship/cargo/port) "mb" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo/starboard) "mm" = ( @@ -1402,7 +1402,7 @@ /obj/structure/cable{ icon_state = "1-8" }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, @@ -1418,10 +1418,10 @@ /obj/item/reagent_containers/food/snacks/canned/beans, /obj/item/reagent_containers/food/snacks/canned/beans, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /turf/open/floor/plasteel/patterned, /area/ship/storage) "oR" = ( @@ -1579,7 +1579,7 @@ /area/ship/storage) "qn" = ( /obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt, /obj/structure/cable{ icon_state = "0-4" @@ -1604,7 +1604,7 @@ /turf/open/floor/plating, /area/ship/maintenance/port) "qu" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ship/maintenance/fore) @@ -1684,12 +1684,12 @@ /obj/effect/turf_decal/box/corners{ dir = 1 }, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo/port) "qY" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 6 @@ -1955,7 +1955,7 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 10 }, @@ -2078,7 +2078,7 @@ icon_state = "1-8" }, /obj/machinery/light/small/directional/south, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ship/maintenance/starboard) @@ -2113,7 +2113,7 @@ /turf/open/floor/plasteel/patterned, /area/ship/storage) "vi" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/ship/maintenance/fore) "vl" = ( @@ -2158,7 +2158,7 @@ /turf/open/floor/plastic, /area/ship/crew/toilet) "vG" = ( -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/effect/turf_decal/borderfloor{ dir = 1 }, @@ -2267,7 +2267,7 @@ /turf/open/floor/plasteel/tech, /area/ship/engineering/communications) "wP" = ( -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/effect/turf_decal/industrial/outline/yellow, /turf/open/floor/plasteel, /area/ship/cargo/port) @@ -2294,7 +2294,7 @@ /turf/open/floor/plating, /area/ship/engineering/engine) "xd" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plating, @@ -2336,7 +2336,7 @@ /area/ship/cargo/port) "xG" = ( /obj/item/radio/intercom/directional/north, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/effect/turf_decal/industrial/outline/yellow, /turf/open/floor/plasteel, /area/ship/cargo/port) @@ -2397,7 +2397,7 @@ icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plasteel/stairs{ dir = 1 }, @@ -2453,7 +2453,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plasteel/stairs, /area/ship/maintenance/port) "yG" = ( @@ -2524,7 +2524,7 @@ /turf/open/floor/plasteel/telecomms_floor, /area/ship/engineering/communications) "zv" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/ntspaceworks_big/six{ dir = 4 @@ -2637,7 +2637,7 @@ /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering/engine) "AD" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plating, /area/ship/maintenance/starboard) @@ -2684,7 +2684,7 @@ "AN" = ( /obj/item/radio/intercom/directional/south, /obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /turf/open/floor/plasteel, /area/ship/cargo/starboard) "AW" = ( @@ -2729,7 +2729,7 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/crew) "BM" = ( -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/effect/turf_decal/trimline/transparent/white/filled/warning{ dir = 4 }, @@ -2752,7 +2752,7 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/structure/cable{ icon_state = "4-8" }, @@ -2761,7 +2761,7 @@ "Cc" = ( /obj/machinery/light/directional/west, /obj/effect/turf_decal/industrial/warning, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, @@ -3080,7 +3080,7 @@ /obj/effect/turf_decal/box/corners{ dir = 8 }, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo/starboard) @@ -3345,14 +3345,14 @@ /area/ship/bridge) "HK" = ( /obj/machinery/light/directional/north, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/effect/turf_decal/borderfloor{ dir = 1 }, /turf/open/floor/plasteel, /area/ship/hallway/aft) "HN" = ( -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo/port) "HT" = ( @@ -3437,7 +3437,7 @@ }, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/ship/maintenance/starboard) "Is" = ( @@ -3543,7 +3543,7 @@ "Jk" = ( /obj/effect/turf_decal/industrial/outline/yellow, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /turf/open/floor/plasteel, /area/ship/cargo/starboard) "Jn" = ( @@ -3568,7 +3568,7 @@ /obj/structure/cable{ icon_state = "1-8" }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/ship/maintenance/fore) "JL" = ( @@ -3739,7 +3739,7 @@ /obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ dir = 9 }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/ship/engineering/engine) "LK" = ( @@ -3771,7 +3771,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/sign/warning/electricshock{ pixel_y = 32 @@ -3875,7 +3875,7 @@ /area/ship/hallway/aft) "Nz" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo/port) "NC" = ( @@ -3944,7 +3944,7 @@ /obj/effect/turf_decal/arrows{ dir = 1 }, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/structure/cable{ icon_state = "4-8" }, @@ -3970,7 +3970,7 @@ /area/ship/external) "OZ" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/ship/engineering/engine) "Pc" = ( @@ -4080,7 +4080,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ship/maintenance/fore) @@ -4160,7 +4160,7 @@ /obj/effect/turf_decal/box/corners{ dir = 4 }, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo/starboard) "Qz" = ( @@ -4243,7 +4243,7 @@ /obj/effect/turf_decal/box/corners{ dir = 8 }, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo/starboard) @@ -4318,7 +4318,7 @@ "Sa" = ( /obj/machinery/light/directional/east, /obj/effect/turf_decal/industrial/warning, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/structure/cable{ icon_state = "2-8" }, @@ -4340,7 +4340,7 @@ /obj/effect/turf_decal/borderfloor{ dir = 1 }, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /turf/open/floor/plasteel, /area/ship/hallway/aft) "Sl" = ( @@ -4382,7 +4382,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ship/maintenance/starboard) @@ -4401,7 +4401,7 @@ /area/ship/cargo/port) "SK" = ( /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/machinery/airalarm/directional/south, /obj/effect/turf_decal/trimline/transparent/white/filled/warning{ dir = 4 @@ -4416,7 +4416,7 @@ /turf/open/floor/plating, /area/ship/maintenance/fore) "SQ" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/ship/engineering/engine) "SV" = ( @@ -4482,7 +4482,7 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 1 }, @@ -4527,7 +4527,7 @@ /obj/effect/turf_decal/box/corners{ dir = 1 }, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo/port) @@ -4571,7 +4571,7 @@ /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/hallway/central) "UC" = ( -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 8 }, @@ -4642,7 +4642,7 @@ /obj/structure/cable{ icon_state = "2-4" }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, /area/ship/maintenance/port) @@ -4704,7 +4704,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /turf/open/floor/plasteel/patterned/cargo_one, /area/ship/cargo/port) "Vz" = ( @@ -4845,7 +4845,7 @@ /area/ship/cargo/port) "Wo" = ( /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/ship/maintenance/port) "Wq" = ( @@ -5106,7 +5106,7 @@ /obj/structure/cable{ icon_state = "4-8" }, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/sign/warning/electricshock{ pixel_y = -32 @@ -5248,7 +5248,7 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/hallway/fore) "ZS" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/turf_decal/industrial/outline/yellow, /obj/machinery/button/ignition/incinerator/atmos{ dir = 4; @@ -5265,7 +5265,7 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/crew) "ZY" = ( -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/machinery/firealarm/directional/north, /turf/open/floor/plasteel/patterned, /area/ship/cargo/starboard) diff --git a/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm b/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm index 72bd430d743b..3ddabcf1253c 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm @@ -1370,11 +1370,11 @@ /obj/structure/closet/crate{ name = "food crate" }, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/storage/cans/sixbeer, /obj/machinery/light/directional/west, /turf/open/floor/plasteel/patterned, @@ -5012,7 +5012,7 @@ /turf/open/floor/plasteel/white, /area/ship/medical) "BO" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/effect/turf_decal/trimline/opaque/ntblue/filled/line, /turf/open/floor/plasteel, /area/ship/hallway/central) @@ -7448,7 +7448,7 @@ /turf/open/floor/plasteel/mono, /area/ship/hallway/central) "OD" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/machinery/light/directional/south, /obj/effect/turf_decal/trimline/opaque/ntblue/filled/line, /turf/open/floor/plasteel, diff --git a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm index a02ec78fc9e6..1a07763671e5 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm @@ -1,6 +1,6 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 8 }, @@ -807,7 +807,7 @@ /area/ship/science/robotics) "dq" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/effect/turf_decal/siding/wood{ dir = 10 }, @@ -1740,10 +1740,7 @@ /turf/open/floor/plasteel/dark, /area/ship/bridge) "hn" = ( -/obj/effect/spawner/lootdrop/glowstick{ - pixel_x = 5; - pixel_y = 9 - }, +/obj/effect/spawner/random/decoration/glowstick, /obj/effect/decal/cleanable/plastic, /obj/machinery/atmospherics/pipe/simple/purple/hidden, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ @@ -1889,7 +1886,7 @@ /area/ship/crew/dorm/dormtwo) "hM" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/effect/turf_decal/siding/wood{ dir = 6 }, @@ -2452,7 +2449,7 @@ /obj/effect/turf_decal/trimline/opaque/blue/line{ dir = 9 }, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/machinery/light/directional/west, /obj/machinery/light_switch{ pixel_y = 22; @@ -4835,7 +4832,7 @@ /area/ship/medical) "sr" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/effect/turf_decal/siding/wood{ dir = 9 }, @@ -6163,14 +6160,14 @@ /area/ship/bridge) "wq" = ( /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/turf_decal/corner_techfloor_gray/diagonal{ dir = 8 }, /obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/obj/effect/spawner/lootdrop/maintenance/five, +/obj/effect/spawner/random/maintenance/five, /obj/item/radio/intercom/directional/east, /turf/open/floor/plasteel/dark, /area/ship/storage) @@ -6916,9 +6913,9 @@ dir = 10 }, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/spawner/lootdrop/gloves, -/obj/effect/spawner/lootdrop/minor/beret_or_rabbitears, +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/clothing/gloves, +/obj/effect/spawner/random/clothing/beret_or_rabbitears, /obj/effect/decal/cleanable/vomit/old, /turf/open/floor/plasteel/dark, /area/ship/storage) @@ -7722,7 +7719,7 @@ /area/ship/crew/canteen) "CP" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/effect/turf_decal/siding/wood{ dir = 4 }, @@ -8993,7 +8990,7 @@ /obj/effect/turf_decal/trimline/opaque/beige/filled/line{ dir = 10 }, -/obj/effect/spawner/lootdrop/salvage_50, +/obj/effect/spawner/random/salvage/half, /obj/structure/cable{ icon_state = "1-2" }, @@ -10464,7 +10461,7 @@ /obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/machinery/light/small/directional/west, /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/official/get_your_legs{ @@ -10963,7 +10960,7 @@ /area/ship/engineering/atmospherics) "OR" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/effect/turf_decal/siding/wood{ dir = 8 }, @@ -11575,8 +11572,8 @@ dir = 9 }, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/dark, /area/ship/storage) @@ -11813,7 +11810,7 @@ /area/ship/hangar) "Sz" = ( /obj/structure/bed, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/effect/turf_decal/siding/wood{ dir = 5 }, @@ -11889,7 +11886,7 @@ dir = 5 }, /obj/item/toy/plush/beeplushie, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable{ icon_state = "0-8" diff --git a/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm b/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm index 95b61c204b54..2f1d3b060077 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm @@ -240,9 +240,9 @@ icon_state = "crateopen"; opened = 1 }, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/gloves, +/obj/effect/spawner/random/clothing/gloves, /turf/open/floor/plasteel/dark, /area/ship/cargo) "aF" = ( @@ -576,9 +576,9 @@ dir = 4 }, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/random/decoration/glowstick, /turf/open/floor/plasteel/dark, /area/ship/cargo) "bX" = ( @@ -2000,7 +2000,7 @@ /turf/open/floor/plasteel, /area/ship/crew/canteen/kitchen) "pF" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/effect/turf_decal/corner/transparent/bar/diagonal, /obj/machinery/light/directional/east, /obj/effect/decal/cleanable/dirt/dust, @@ -2172,8 +2172,8 @@ /obj/effect/turf_decal/ntspaceworks_big/two, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/tool_surgery_common, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/medical/surgery_tool/common, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel/dark, /area/ship/cargo) "uk" = ( @@ -2520,8 +2520,8 @@ /obj/effect/decal/cleanable/oil, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/two, -/obj/effect/spawner/lootdrop/random_prosthetic, +/obj/effect/spawner/random/maintenance/two, +/obj/effect/spawner/random/medical/prosthetic, /turf/open/floor/plasteel/dark, /area/ship/cargo) "Ai" = ( @@ -2683,7 +2683,7 @@ /obj/structure/rack, /obj/effect/decal/cleanable/dirt/dust, /obj/item/radio/intercom/directional/east, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/item/extinguisher/mini, /turf/open/floor/plasteel/dark, /area/ship/cargo) @@ -2846,7 +2846,7 @@ dir = 8 }, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /obj/effect/decal/cleanable/dirt/dust, /obj/item/spacecash/bundle/pocketchange, /turf/open/floor/plasteel/dark, @@ -3064,7 +3064,7 @@ /turf/open/floor/plasteel/dark, /area/ship/cargo) "La" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/effect/turf_decal/corner/transparent/bar/diagonal, /obj/machinery/light/broken/directional/east, /obj/effect/decal/cleanable/dirt/dust, @@ -3701,11 +3701,11 @@ "Zf" = ( /obj/effect/turf_decal/corner/transparent/bar/diagonal, /obj/structure/table, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration{ +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration{ pixel_x = 7 }, -/obj/effect/spawner/lootdrop/ration{ +/obj/effect/spawner/random/food_or_drink/ration{ pixel_x = -8 }, /obj/machinery/button/door{ diff --git a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm index f749f60f7e52..25b3bb0a0c83 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm @@ -50,7 +50,7 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/techfloor/orange, /turf/open/floor/plasteel/tech/grid, @@ -876,7 +876,7 @@ /area/ship/engineering) "fd" = ( /obj/structure/table/wood/reinforced, -/obj/effect/spawner/lootdrop/ration{ +/obj/effect/spawner/random/food_or_drink/ration{ pixel_x = 5; pixel_y = 5 }, @@ -908,7 +908,7 @@ pixel_x = -5; pixel_y = -7 }, -/obj/effect/spawner/lootdrop/ration{ +/obj/effect/spawner/random/food_or_drink/ration{ pixel_x = 6; pixel_y = 11 }, @@ -1035,7 +1035,7 @@ /obj/structure/railing{ dir = 8 }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ship/maintenance/port) @@ -1412,7 +1412,7 @@ /turf/open/floor/plasteel/white, /area/ship/medical) "hZ" = ( -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plating, @@ -1441,7 +1441,7 @@ /obj/structure/railing/corner{ dir = 1 }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ship/maintenance/starboard) @@ -2092,7 +2092,7 @@ dir = 6 }, /obj/structure/railing, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, @@ -2117,7 +2117,7 @@ /turf/open/floor/plating, /area/ship/engineering/atmospherics) "lW" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ship/maintenance/port) @@ -2330,7 +2330,7 @@ /area/ship/security/prison) "nk" = ( /obj/structure/railing, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/plating, @@ -2745,12 +2745,12 @@ /area/ship/engineering/electrical) "pV" = ( /obj/structure/railing, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ship/maintenance/port) "pY" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/effect/turf_decal/siding/red{ dir = 4 }, @@ -2956,7 +2956,7 @@ /obj/structure/railing{ dir = 9 }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ship/maintenance/starboard) @@ -3258,7 +3258,7 @@ /obj/structure/railing{ dir = 1 }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/tech/grid, /area/ship/maintenance/starboard) @@ -3321,7 +3321,7 @@ icon_state = "5-8" }, /obj/structure/rack, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/techfloor/orange, @@ -4610,7 +4610,7 @@ /obj/structure/railing/corner{ dir = 4 }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/techfloor/orange{ @@ -4726,7 +4726,7 @@ /obj/structure/window/reinforced/tinted/frosted{ dir = 8 }, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/curtain/cloth/grey, /obj/machinery/light_switch{ dir = 8; @@ -4851,7 +4851,7 @@ /area/ship/crew/canteen) "Dh" = ( /obj/structure/table/wood, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, /turf/open/floor/plasteel, /area/ship/security/prison) "Dj" = ( @@ -5222,7 +5222,7 @@ /obj/item/canvas/twentythreeXtwentythree, /obj/structure/closet/crate/trashcart, /obj/item/paint/anycolor, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/sprayweb, /turf/open/floor/plating, @@ -5644,7 +5644,7 @@ /turf/open/floor/mineral/plastitanium/red/brig, /area/ship/hallway/central) "GZ" = ( -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /turf/open/floor/plating, /area/ship/maintenance/fore) "Ha" = ( @@ -5657,7 +5657,7 @@ /obj/structure/railing{ dir = 1 }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ship/engineering) @@ -5752,7 +5752,7 @@ /obj/structure/railing{ dir = 1 }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ship/maintenance/starboard) @@ -6434,7 +6434,7 @@ dir = 4 }, /obj/structure/curtain/cloth/grey, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/wood, /area/ship/crew/dorm) "Lt" = ( @@ -6870,7 +6870,7 @@ /obj/structure/railing{ dir = 1 }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ship/maintenance/starboard) @@ -7102,7 +7102,7 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/maintenance/starboard) "PC" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/effect/turf_decal/siding/red{ dir = 4 }, @@ -7467,7 +7467,7 @@ /obj/structure/railing{ dir = 6 }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ship/maintenance/port) @@ -7713,7 +7713,7 @@ /turf/open/floor/plasteel/patterned/grid, /area/ship/crew/dorm/dormthree) "Ti" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/railing{ dir = 9 @@ -7737,7 +7737,7 @@ /obj/structure/railing{ dir = 4 }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ship/maintenance/port) @@ -8532,7 +8532,7 @@ /area/ship/engineering/atmospherics) "XY" = ( /obj/structure/table/wood, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/effect/turf_decal/spline/plain/opaque/blue, /turf/open/floor/plasteel, /area/ship/security/prison) diff --git a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm index f50061aaa28f..5d181bcf584c 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm @@ -1137,7 +1137,7 @@ }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /obj/machinery/firealarm/directional/east, -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /obj/effect/decal/cleanable/plasma, /turf/open/floor/plating, /area/ship/maintenance/port) @@ -3923,7 +3923,7 @@ /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "EP" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "Ff" = ( @@ -4272,7 +4272,7 @@ id = "Ranger_Port_maint_shut"; req_ship_access = 1 }, -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /turf/open/floor/plating, /area/ship/maintenance/port) "Ih" = ( @@ -5558,11 +5558,11 @@ /obj/effect/turf_decal/techfloor{ dir = 5 }, -/obj/effect/spawner/lootdrop/lpaid{ +/obj/effect/spawner/random/lpaid{ pixel_x = 2; pixel_y = -2 }, -/obj/effect/spawner/lootdrop/lpretrieval{ +/obj/effect/spawner/random/lpretrieval{ pixel_x = -10; pixel_y = 10 }, diff --git a/_maps/shuttles/pgf/pgf_crying_sun.dmm b/_maps/shuttles/pgf/pgf_crying_sun.dmm index 933d8f7fbfe0..ca6e86f10345 100644 --- a/_maps/shuttles/pgf/pgf_crying_sun.dmm +++ b/_maps/shuttles/pgf/pgf_crying_sun.dmm @@ -2667,7 +2667,7 @@ /obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/corner{ dir = 8 }, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/machinery/light/directional/east, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) @@ -2935,7 +2935,7 @@ /obj/effect/turf_decal/trimline/opaque/bottlegreen/filled/line{ dir = 1 }, -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "zc" = ( @@ -6330,10 +6330,10 @@ /obj/item/storage/ration/vegan_chili, /obj/item/storage/ration/beef_strips, /obj/item/storage/ration/beef_strips, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/storage/cans/sixbeer, /turf/open/floor/plasteel/white, /area/ship/crew/canteen) diff --git a/_maps/shuttles/pirate/pirate_libertatia.dmm b/_maps/shuttles/pirate/pirate_libertatia.dmm index 46d00806edd7..2890fa5ba815 100644 --- a/_maps/shuttles/pirate/pirate_libertatia.dmm +++ b/_maps/shuttles/pirate/pirate_libertatia.dmm @@ -842,8 +842,8 @@ /area/ship/crew) "AL" = ( /obj/structure/table, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/item/radio/intercom/directional/north, /obj/item/lighter{ @@ -876,8 +876,8 @@ /turf/open/floor/plasteel/grimy, /area/ship/crew) "Bw" = ( -/obj/effect/spawner/lootdrop/minor/pirate_or_bandana, -/obj/effect/spawner/lootdrop/minor/pirate_or_bandana, +/obj/effect/spawner/random/clothing/pirate_or_bandana, +/obj/effect/spawner/random/clothing/pirate_or_bandana, /obj/effect/decal/cleanable/dirt/dust, /obj/item/clothing/shoes/jackboots, /obj/item/clothing/shoes/jackboots, @@ -1569,12 +1569,12 @@ name = "food crate" }, /obj/item/storage/cans/sixbeer, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, diff --git a/_maps/shuttles/pirate/pirate_tortuga.dmm b/_maps/shuttles/pirate/pirate_tortuga.dmm index 3e48d25a962c..35387ea53cd5 100644 --- a/_maps/shuttles/pirate/pirate_tortuga.dmm +++ b/_maps/shuttles/pirate/pirate_tortuga.dmm @@ -158,7 +158,7 @@ /turf/open/floor/plating, /area/ship/maintenance/starboard) "bR" = ( -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /turf/open/floor/plating/airless, /area/ship/maintenance) "cb" = ( @@ -555,7 +555,7 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/security/armory) "gG" = ( -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /obj/effect/decal/cleanable/glass, /turf/open/floor/plating/airless, /area/ship/maintenance) @@ -918,7 +918,7 @@ /turf/open/floor/mineral/plastitanium, /area/ship/security/armory) "kp" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/structure/cable/yellow{ icon_state = "4-8" }, @@ -928,7 +928,7 @@ }, /area/ship/maintenance) "kv" = ( -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, /area/ship/maintenance) @@ -942,7 +942,7 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, /area/ship/maintenance) "la" = ( @@ -977,7 +977,7 @@ /turf/open/floor/plasteel/tech/techmaint, /area/ship/cargo) "li" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, /area/ship/maintenance) @@ -1022,7 +1022,7 @@ /turf/open/floor/mineral/plastitanium, /area/ship/security/armory) "mf" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/structure/cable/yellow{ icon_state = "5-9" }, @@ -1297,8 +1297,8 @@ /turf/open/floor/plasteel, /area/ship/crew/canteen) "oK" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/trash/grille_or_waste, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, /area/ship/maintenance) @@ -1391,7 +1391,7 @@ /turf/closed/wall, /area/ship/crew/canteen) "qi" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/crayon{ icon_state = "med" @@ -1448,7 +1448,7 @@ /obj/structure/cable/yellow{ icon_state = "0-2" }, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless{ icon_state = "plating_rust" @@ -1546,7 +1546,7 @@ /turf/open/floor/plasteel, /area/ship/crew/canteen) "ti" = ( -/obj/effect/spawner/lootdrop/donut, +/obj/effect/spawner/random/food_or_drink/donut, /turf/open/floor/plating/airless{ icon_state = "plating_rust" }, @@ -1577,7 +1577,7 @@ dir = 1 }, /obj/structure/curtain/cloth, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/carpet, /area/ship/crew) @@ -1936,7 +1936,7 @@ /turf/open/floor/plasteel, /area/ship/crew/canteen) "yc" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless, /area/ship/maintenance) @@ -2051,7 +2051,7 @@ "Ar" = ( /obj/structure/bed, /obj/structure/curtain/cloth, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /turf/open/floor/carpet, /area/ship/crew) "Av" = ( @@ -2072,7 +2072,7 @@ /turf/open/floor/plasteel, /area/ship/crew) "AG" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless, /area/ship/maintenance) "AQ" = ( @@ -2199,7 +2199,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless{ icon_state = "plating_rust" @@ -2233,7 +2233,7 @@ dir = 1 }, /obj/structure/curtain/cloth, -/obj/item/bedsheet/dorms, +/obj/effect/spawner/random/bedsheet, /obj/machinery/airalarm/directional/north, /turf/open/floor/carpet, /area/ship/crew) @@ -2255,7 +2255,7 @@ /turf/open/floor/plating/airless, /area/ship/maintenance) "Eb" = ( -/obj/effect/spawner/lootdrop/waste/trash, +/obj/effect/spawner/random/trash/decal, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless{ icon_state = "plating_rust" @@ -2820,9 +2820,9 @@ /area/ship/crew/canteen) "Lb" = ( /obj/structure/table, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/effect/turf_decal/siding/wideplating{ dir = 5 }, @@ -2998,7 +2998,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless{ icon_state = "plating_rust" @@ -3216,7 +3216,7 @@ /turf/open/floor/plasteel/white, /area/ship/crew/canteen) "Pb" = ( -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless{ icon_state = "platingdmg1" }, @@ -3309,7 +3309,7 @@ /turf/open/floor/plasteel/mono, /area/ship/cargo) "QM" = ( -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /obj/structure/closet/cardboard, /turf/open/floor/plating/airless, /area/ship/maintenance) @@ -3358,7 +3358,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/effect/spawner/lootdrop/grille_or_trash, +/obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating/airless{ icon_state = "plating_rust" }, @@ -4044,7 +4044,7 @@ /turf/open/floor/plating, /area/ship/cargo) "YU" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating/airless{ icon_state = "plating_rust" diff --git a/_maps/shuttles/solgov/solgov_inkwell.dmm b/_maps/shuttles/solgov/solgov_inkwell.dmm index 0a63ed263799..8ed63dcfac50 100644 --- a/_maps/shuttles/solgov/solgov_inkwell.dmm +++ b/_maps/shuttles/solgov/solgov_inkwell.dmm @@ -2536,7 +2536,7 @@ /obj/effect/turf_decal/industrial/stand_clear{ dir = 1 }, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel/mono, /area/ship/cargo) "qw" = ( @@ -2645,7 +2645,7 @@ /turf/open/floor/plasteel/mono, /area/ship/cargo) "rm" = ( -/obj/effect/spawner/lootdrop/crate_spawner, +/obj/effect/spawner/random/structure/crate_abandoned, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 1 }, @@ -2862,7 +2862,7 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel/mono, /area/ship/cargo) "sn" = ( @@ -5208,7 +5208,7 @@ /obj/structure/closet/crate, /obj/effect/turf_decal/techfloor, /obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel/tech/grid, /area/ship/storage) "GN" = ( @@ -5450,7 +5450,7 @@ /turf/open/floor/plasteel/mono, /area/ship/cargo) "IC" = ( -/obj/effect/spawner/lootdrop/crate_spawner, +/obj/effect/spawner/random/structure/crate_abandoned, /obj/machinery/light/small/directional/east, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/tech/grid, @@ -5613,7 +5613,7 @@ dir = 1 }, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel/mono, /area/ship/cargo) "JN" = ( @@ -6128,7 +6128,7 @@ /area/ship/crew/canteen/kitchen) "Nj" = ( /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel/mono, /area/ship/cargo) "Np" = ( @@ -6776,7 +6776,7 @@ /area/ship/bridge) "RS" = ( /obj/structure/closet/cardboard, -/obj/effect/spawner/lootdrop/maintenance/three, +/obj/effect/spawner/random/maintenance/three, /turf/open/floor/plasteel/mono, /area/ship/cargo) "RX" = ( diff --git a/_maps/shuttles/subshuttles/independent_sugarcube.dmm b/_maps/shuttles/subshuttles/independent_sugarcube.dmm index 0504142f55b3..ad9ef66d3d5d 100644 --- a/_maps/shuttles/subshuttles/independent_sugarcube.dmm +++ b/_maps/shuttles/subshuttles/independent_sugarcube.dmm @@ -56,8 +56,8 @@ /turf/open/floor/plating, /area/ship/engineering) "h" = ( -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/trash/cheesie, /obj/item/trash/cheesie, /obj/item/trash/candy, @@ -259,8 +259,8 @@ /obj/item/circuitboard/machine/autolathe, /obj/item/pickaxe/improvised, /obj/item/pickaxe/improvised, -/obj/effect/spawner/lootdrop/glowstick, -/obj/effect/spawner/lootdrop/glowstick, +/obj/effect/spawner/random/decoration/glowstick, +/obj/effect/spawner/random/decoration/glowstick, /obj/machinery/power/terminal{ dir = 8 }, diff --git a/_maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm b/_maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm index 253a82277fdf..71019ff4131e 100644 --- a/_maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm +++ b/_maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm @@ -849,9 +849,9 @@ /obj/structure/railing{ dir = 4 }, -/obj/effect/spawner/lootdrop/maintenance/five, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/maintenance/five, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /obj/item/stack/marker_beacon/thirty, /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm index 4aafbcf9dc72..711a9f2033ae 100644 --- a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm @@ -222,12 +222,12 @@ name = "food crate" }, /obj/item/storage/cans/sixbeer, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/effect/turf_decal/industrial/outline, /turf/open/floor/plasteel/mono/dark, /area/ship/cargo) @@ -1284,8 +1284,8 @@ /area/ship/security/armory) "wO" = ( /obj/structure/table, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /obj/effect/turf_decal/corner/transparent/bar{ dir = 1 }, diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm index fedc993738bd..6b63e3626a88 100644 --- a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm @@ -998,7 +998,7 @@ /turf/open/floor/plasteel/tech/grid, /area/ship/cargo) "jD" = ( -/obj/effect/spawner/lootdrop/salvage_capacitor, +/obj/effect/spawner/random/salvage_capacitor, /obj/effect/decal/cleanable/shreds, /obj/structure/cable{ icon_state = "4-8" @@ -1461,7 +1461,7 @@ dir = 9 }, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/effect/turf_decal/box, /obj/machinery/camera/autoname{ dir = 10 @@ -2009,7 +2009,7 @@ dir = 4 }, /obj/machinery/light/dim/directional/north, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/plasteel/tech, /area/ship/maintenance/starboard) "sV" = ( @@ -2058,9 +2058,9 @@ dir = 10 }, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/costume, +/obj/effect/spawner/random/clothing/costume, /obj/item/storage/box/emptysandbags, -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /obj/machinery/button/door{ dir = 4; id = "syndie_mechbay"; @@ -3151,22 +3151,14 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, -/obj/effect/spawner/lootdrop/ration{ - pixel_x = -6 - }, -/obj/effect/spawner/lootdrop/ration{ - pixel_x = -6 - }, -/obj/effect/spawner/lootdrop/ration{ - pixel_x = -6 - }, -/obj/effect/spawner/lootdrop/ration{ - pixel_x = -6 - }, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/machinery/airalarm/directional/south, /turf/open/floor/mineral/plastitanium, /area/ship/hallway/aft) @@ -3257,7 +3249,7 @@ /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "FV" = ( -/obj/effect/spawner/lootdrop/salvage_scanning, +/obj/effect/spawner/random/salvage_scanning, /obj/effect/decal/cleanable/shreds{ pixel_y = 14 }, @@ -3884,10 +3876,10 @@ /obj/structure/table/reinforced, /obj/item/hemostat, /obj/machinery/light/directional/west, -/obj/effect/spawner/lootdrop/random_prosthetic{ +/obj/effect/spawner/random/medical/prosthetic{ pixel_x = 6 }, -/obj/effect/spawner/lootdrop/random_prosthetic{ +/obj/effect/spawner/random/medical/prosthetic{ pixel_x = -6 }, /turf/open/floor/pod/dark, @@ -4460,7 +4452,7 @@ /obj/structure/railing{ dir = 8 }, -/obj/effect/spawner/lootdrop/salvage_manipulator, +/obj/effect/spawner/random/salvage_manipulator, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/industrial/warning{ dir = 1 @@ -5348,7 +5340,7 @@ /turf/open/floor/plasteel/tech, /area/ship/engineering) "YT" = ( -/obj/effect/spawner/lootdrop/salvage_manipulator, +/obj/effect/spawner/random/salvage_manipulator, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/cable{ icon_state = "4-8" @@ -5431,7 +5423,7 @@ }, /area/ship/cargo) "Zf" = ( -/obj/effect/spawner/lootdrop/salvage_matter_bin, +/obj/effect/spawner/random/salvage_matter_bin, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/industrial/warning{ @@ -5447,7 +5439,7 @@ /obj/effect/turf_decal/techfloor{ dir = 8 }, -/obj/effect/spawner/lootdrop/maintenance/two, +/obj/effect/spawner/random/maintenance/two, /obj/machinery/button/door{ dir = 1; id = "Artillery2shutter"; diff --git a/_maps/shuttles/syndicate/syndicate_litieguai.dmm b/_maps/shuttles/syndicate/syndicate_litieguai.dmm index 2b12f177f57e..750f3016b14e 100644 --- a/_maps/shuttles/syndicate/syndicate_litieguai.dmm +++ b/_maps/shuttles/syndicate/syndicate_litieguai.dmm @@ -266,7 +266,7 @@ /turf/open/floor/plasteel/patterned/brushed, /area/ship/medical) "fX" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/effect/turf_decal/trimline/opaque/red/filled/line{ dir = 8 }, @@ -397,8 +397,8 @@ /area/ship/crew) "jh" = ( /obj/structure/table, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /obj/item/radio/intercom/directional/west, /turf/open/floor/wood/ebony, /area/ship/crew) @@ -538,7 +538,7 @@ /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/maintenance/port) "na" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/effect/turf_decal/trimline/opaque/red/filled/line{ dir = 8 }, diff --git a/_maps/shuttles/syndicate/syndicate_panacea.dmm b/_maps/shuttles/syndicate/syndicate_panacea.dmm index 3d26ff6512b5..875d5806131c 100644 --- a/_maps/shuttles/syndicate/syndicate_panacea.dmm +++ b/_maps/shuttles/syndicate/syndicate_panacea.dmm @@ -47,7 +47,7 @@ /turf/open/floor/plasteel/sepia, /area/ship/crew/ccommons) "az" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /turf/open/floor/suns/diagonal{ color = "#543C30" }, @@ -7126,7 +7126,7 @@ /turf/open/floor/carpet/red, /area/ship/crew/dorm/dormtwo) "Qi" = ( -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /turf/open/floor/suns/diagonal{ color = "#543C30" }, @@ -8163,7 +8163,7 @@ /area/ship/engineering) "Wr" = ( /obj/machinery/light/directional/north, -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /turf/open/floor/suns/dark/plain, /area/ship/crew/ccommons) "Wu" = ( diff --git a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm index 9b789add9c3e..f52d41d021c3 100644 --- a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm +++ b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm @@ -272,7 +272,7 @@ "bR" = ( /obj/effect/turf_decal/corner/opaque/syndiered/three_quarters, /obj/machinery/light/directional/south, -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /obj/effect/turf_decal/borderfloorblack{ dir = 1 }, @@ -358,7 +358,7 @@ /area/ship/medical) "cp" = ( /obj/structure/closet/emcloset, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /obj/item/trash/syndi_cakes, /turf/open/floor/plating, /area/ship/engineering/atmospherics) @@ -815,7 +815,7 @@ /turf/open/floor/plasteel/dark, /area/ship/security) "eQ" = ( -/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/spawner/random/maintenance, /turf/open/floor/pod/dark, /area/ship/engineering/atmospherics) "eR" = ( @@ -3005,8 +3005,8 @@ /obj/item/storage/box/ingredients/vegetarian, /obj/item/reagent_containers/condiment/milk, /obj/item/reagent_containers/condiment/milk, -/obj/effect/spawner/lootdrop/donkpockets, -/obj/effect/spawner/lootdrop/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/obj/effect/spawner/random/food_or_drink/donkpockets, /turf/open/floor/carpet/red, /area/ship/crew/canteen) "qQ" = ( @@ -5820,7 +5820,7 @@ dir = 8 }, /obj/structure/closet/crate, -/obj/effect/spawner/lootdrop/maintenance/eight, +/obj/effect/spawner/random/maintenance/eight, /obj/item/circuitboard/machine/autolathe, /obj/item/stock_parts/manipulator, /obj/item/stock_parts/matter_bin, @@ -6329,7 +6329,7 @@ dir = 8 }, /obj/machinery/light/directional/north, -/obj/machinery/vending/cola/random, +/obj/effect/spawner/random/vending/cola, /obj/effect/turf_decal/borderfloorblack/corner{ dir = 8 }, @@ -7487,7 +7487,7 @@ icon_state = "2-8" }, /obj/structure/closet/emcloset, -/obj/effect/spawner/lootdrop/maintenance/four, +/obj/effect/spawner/random/maintenance/four, /obj/item/reagent_containers/food/snacks/burger/red{ name = "suspicious red burger"; desc = "A suspicious looking burger."; @@ -8597,9 +8597,9 @@ "Xf" = ( /obj/structure/table/wood, /obj/machinery/door/firedoor/border_only, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, -/obj/effect/spawner/lootdrop/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, /turf/open/floor/carpet/red, /area/ship/crew/canteen) "Xg" = ( diff --git a/_maps/templates/shelter_2.dmm b/_maps/templates/shelter_2.dmm index c12d8dd837da..6a076e34555b 100644 --- a/_maps/templates/shelter_2.dmm +++ b/_maps/templates/shelter_2.dmm @@ -161,7 +161,7 @@ pixel_x = 7; pixel_y = 2 }, -/obj/effect/spawner/lootdrop/three_course_meal, +/obj/effect/spawner/random/food_or_drink/three_course_meal, /turf/open/floor/carpet/black, /area/survivalpod) "y" = ( diff --git a/_maps/templates/shelter_3.dmm b/_maps/templates/shelter_3.dmm index 570483a06a1d..56743e38b0f7 100644 --- a/_maps/templates/shelter_3.dmm +++ b/_maps/templates/shelter_3.dmm @@ -225,7 +225,7 @@ /turf/open/floor/carpet/black, /area/survivalpod) "L" = ( -/obj/machinery/vending/snack/random, +/obj/effect/spawner/random/vending/snack, /turf/open/floor/carpet/black, /area/survivalpod) "M" = ( diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm index b231b4e944c9..776014c4dfb5 100644 --- a/code/__HELPERS/_lists.dm +++ b/code/__HELPERS/_lists.dm @@ -261,43 +261,99 @@ result = first ^ second return result -//Picks a random element from a list based on a weighting system: -//1. Adds up the total of weights for each element -//2. Gets a number between 1 and that total -//3. For each element in the list, subtracts its weighting from that number -//4. If that makes the number 0 or less, return that element. -/proc/pickweight(list/L) +/** + * Picks a random element from a list based on a weighting system: + * 1. Adds up the total of weights for each element + * 2. Gets a number between 1 and that total + * 3. For each element in the list, subtracts its weighting from that number + * 4. If that makes the number 0 or less, return that element. + * Will output null sometimes if you use decimals (e.g. 0.1 instead of 10) as rand() uses integers, not floats +**/ +/proc/pick_weight(list/list_to_pick) var/total = 0 var/item - for (item in L) - if (!L[item]) - L[item] = 1 - total += L[item] + for(item in list_to_pick) + if(!list_to_pick[item]) + list_to_pick[item] = 1 + total += list_to_pick[item] total = rand(1, total) - for (item in L) - total -=L [item] - if (total <= 0) + for(item in list_to_pick) + total -= list_to_pick[item] + if(total <= 0) return item return null -/proc/pickweightAllowZero(list/L) //The original pickweight proc will sometimes pick entries with zero weight. I'm not sure if changing the original will break anything, so I left it be. +/** + * Picks a random element from a list based on a weighting system. + * For example, given the following list: + * A = 6, B = 3, C = 1, D = 0 + * A would have a 60% chance of being picked, + * B would have a 30% chance of being picked, + * C would have a 10% chance of being picked, + * and D would have a 0% chance of being picked. + * You should only pass integers in. + */ +/proc/pick_weight_allow_zero(list/list_to_pick) //The original pick_weight proc will sometimes pick entries with zero weight. I'm not sure if changing the original will break anything, so I left it be. + if(length(list_to_pick) == 0) + return null + var/total = 0 - var/item - for (item in L) - if (!L[item]) - L[item] = 0 - total += L[item] + for(var/item in list_to_pick) + if(!list_to_pick[item]) + list_to_pick[item] = 0 + total += list_to_pick[item] - total = rand(0, total) - for (item in L) - total -=L [item] - if (total <= 0 && L[item]) + total = rand(1, total) + for(var/item in list_to_pick) + var/item_weight = list_to_pick[item] + if(item_weight == 0) + continue + + total -= item_weight + if(total <= 0) return item return null +/** + * Like pick_weight, but allowing for nested lists. + * + * For example, given the following list: + * list(A = 1, list(B = 1, C = 1)) + * A would have a 50% chance of being picked, + * and list(B, C) would have a 50% chance of being picked. + * If list(B, C) was picked, B and C would then each have a 50% chance of being picked. + * So the final probabilities would be 50% for A, 25% for B, and 25% for C. + * + * Weights should be integers. Entries without weights are assigned weight 1 (so unweighted lists can be used as well) + */ +/proc/pick_weight_recursive(list/list_to_pick) + var/result = pick_weight(fill_with_ones(list_to_pick)) + while(islist(result)) + result = pick_weight(fill_with_ones(result)) + return result + +/** + * Given a list, return a copy where values without defined weights are given weight 1. + * For example, fill_with_ones(list(A, B=2, C)) = list(A=1, B=2, C=1) + * Useful for weighted random choices (loot tables, syllables in languages, etc.) + */ +/proc/fill_with_ones(list/list_to_pad) + if (!islist(list_to_pad)) + return list_to_pad + + var/list/final_list = list() + + for (var/key in list_to_pad) + if (list_to_pad[key]) + final_list[key] = list_to_pad[key] + else + final_list[key] = 1 + + return final_list + /// Takes a weighted list (see above) and expands it into raw entries /// This eats more memory, but saves time when actually picking from it /proc/expand_weights(list/list_to_pick) diff --git a/code/__HELPERS/_string_lists.dm b/code/__HELPERS/_string_lists.dm index cdbee26f9ba7..5dab48761ecc 100644 --- a/code/__HELPERS/_string_lists.dm +++ b/code/__HELPERS/_string_lists.dm @@ -1,5 +1,5 @@ #define pick_list(FILE, KEY) (pick(strings(FILE, KEY))) -#define pick_list_weighted(FILE, KEY) (pickweight(strings(FILE, KEY))) +#define pick_list_weighted(FILE, KEY) (pick_weight(strings(FILE, KEY))) #define pick_list_replacements(FILE, KEY) (strings_replacement(FILE, KEY)) #define json_load(FILE) (json_decode(file2text(FILE))) diff --git a/code/_globalvars/lists/maintenance_loot.dm b/code/_globalvars/lists/maintenance_loot.dm index 15fbf39c6e24..505734d6cd5d 100644 --- a/code/_globalvars/lists/maintenance_loot.dm +++ b/code/_globalvars/lists/maintenance_loot.dm @@ -92,7 +92,7 @@ GLOBAL_LIST_INIT(common_loot, list( //common: basic items /obj/item/clothing/suit/toggle/labcoat = 1, /obj/item/clothing/under/color/grey = 1, /obj/item/clothing/gloves/color/fyellow = 1, - /obj/effect/spawner/lootdrop/gloves = 1, + /obj/effect/spawner/random/clothing/gloves = 1, /obj/item/storage/wallet/random = 1, /obj/item/clothing/glasses/science = 1, /obj/item/clothing/glasses/meson = 1, @@ -148,7 +148,7 @@ GLOBAL_LIST_INIT(common_loot, list( //common: basic items //light sources /obj/item/flashlight = 1, - /obj/effect/spawner/lootdrop/glowstick = 1, + /obj/effect/spawner/random/decoration/glowstick = 1, /obj/item/clothing/head/hardhat/red = 1, /obj/item/flashlight/flare = 1, ) = 1, @@ -233,7 +233,7 @@ GLOBAL_LIST_INIT(uncommon_loot, list(//uncommon: useful items /obj/item/storage/box/donkpockets/donkpockethonk = 1, ) = 1, /obj/item/reagent_containers/food/snacks/monkeycube = 1, - /obj/effect/spawner/lootdrop/ration = 1, + /obj/effect/spawner/random/food_or_drink/ration = 1, ) = 8, list(//fakeout items, keep this list at low relative weight diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index c4d818781d26..9ec8d83c8b23 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -431,3 +431,13 @@ max_val = 255 config_entry_value = 191 min_val = 191 + +/** + * A config that skews with the random spawners weights + * If the value is lower than 1, it'll tend to even out the odds + * If higher than 1, it'll lean toward common spawns even more. + */ +/datum/config_entry/number/random_loot_weight_modifier + integer = FALSE + default = 1 + min_val = 0.05 diff --git a/code/controllers/subsystem/overmap.dm b/code/controllers/subsystem/overmap.dm index 9c7c5eabf69a..d65cccab920b 100644 --- a/code/controllers/subsystem/overmap.dm +++ b/code/controllers/subsystem/overmap.dm @@ -154,7 +154,7 @@ SUBSYSTEM_DEF(overmap) return if(!length(orbits)) break // Can't fit any more in - var/event_type = pickweight(GLOB.overmap_event_pick_list) + var/event_type = pick_weight(GLOB.overmap_event_pick_list) var/selected_orbit = pick(orbits) var/list/T = get_unused_overmap_square_in_radius(selected_orbit) diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index f12de2427f75..d3f664fad391 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -225,7 +225,7 @@ SUBSYSTEM_DEF(ticker) if(!runnable_modes.len) to_chat(world, "Unable to choose playable game mode. Reverting to pre-game lobby.") return 0 - mode = pickweight(runnable_modes) + mode = pick_weight(runnable_modes) if(!mode) //too few roundtypes all run too recently mode = pick(runnable_modes) diff --git a/code/datums/ai_laws.dm b/code/datums/ai_laws.dm index 3f07eb3b15be..82cd555d1070 100644 --- a/code/datums/ai_laws.dm +++ b/code/datums/ai_laws.dm @@ -391,7 +391,7 @@ var/datum/ai_laws/lawtype var/list/law_weights = CONFIG_GET(keyed_list/law_weight) while(!lawtype && law_weights.len) - var/possible_id = pickweightAllowZero(law_weights) + var/possible_id = pick_weight_allow_zero(law_weights) lawtype = lawid_to_type(possible_id) if(!lawtype) law_weights -= possible_id @@ -458,7 +458,7 @@ replaceable_groups[LAW_INHERENT] = inherent.len if(supplied.len && (LAW_SUPPLIED in groups)) replaceable_groups[LAW_SUPPLIED] = supplied.len - var/picked_group = pickweight(replaceable_groups) + var/picked_group = pick_weight(replaceable_groups) switch(picked_group) if(LAW_ZEROTH) . = zeroth diff --git a/code/datums/components/fantasy/_fantasy.dm b/code/datums/components/fantasy/_fantasy.dm index 92bd0868a746..6941f6c169b4 100644 --- a/code/datums/components/fantasy/_fantasy.dm +++ b/code/datums/components/fantasy/_fantasy.dm @@ -75,7 +75,7 @@ var/usedSlots = NONE for(var/i in 1 to max(1, abs(quality))) // We want at least 1 affix applied - var/datum/fantasy_affix/affix = pickweight(affixListing) + var/datum/fantasy_affix/affix = pick_weight(affixListing) if(affix.placement & usedSlots) continue if(!(affix.alignment & alignment)) diff --git a/code/datums/components/fantasy/suffixes.dm b/code/datums/components/fantasy/suffixes.dm index 8cabee42d21c..7035c143ae4f 100644 --- a/code/datums/components/fantasy/suffixes.dm +++ b/code/datums/components/fantasy/suffixes.dm @@ -138,7 +138,7 @@ /obj/projectile/beam/disabler = 15 ) - var/obj/projectile/picked_projectiletype = pickweight(weighted_projectile_types) + var/obj/projectile/picked_projectiletype = pick_weight(weighted_projectile_types) var/obj/item/master = comp.parent comp.appliedComponents += master.AddComponent(/datum/component/mirv, picked_projectiletype) diff --git a/code/datums/components/squeak.dm b/code/datums/components/squeak.dm index 1307d5d0ec8e..7f4b8b50229e 100644 --- a/code/datums/components/squeak.dm +++ b/code/datums/components/squeak.dm @@ -67,9 +67,9 @@ if(prob(squeak_chance)) if(!override_squeak_sounds) - playsound(parent, pickweight(default_squeak_sounds), volume, TRUE, sound_extra_range, sound_falloff_exponent, falloff_distance = sound_falloff_distance) + playsound(parent, pick_weight(default_squeak_sounds), volume, TRUE, sound_extra_range, sound_falloff_exponent, falloff_distance = sound_falloff_distance) else - playsound(parent, pickweight(override_squeak_sounds), volume, TRUE, sound_extra_range, sound_falloff_exponent, falloff_distance = sound_falloff_distance) + playsound(parent, pick_weight(override_squeak_sounds), volume, TRUE, sound_extra_range, sound_falloff_exponent, falloff_distance = sound_falloff_distance) /datum/component/squeak/proc/step_squeak() SIGNAL_HANDLER diff --git a/code/datums/looping_sounds/_looping_sound.dm b/code/datums/looping_sounds/_looping_sound.dm index bb7a33846a34..f88e594e3fc7 100644 --- a/code/datums/looping_sounds/_looping_sound.dm +++ b/code/datums/looping_sounds/_looping_sound.dm @@ -100,7 +100,7 @@ /datum/looping_sound/proc/get_sound(starttime, _mid_sounds) . = _mid_sounds || mid_sounds while(!isfile(.) && !isnull(.)) - . = pickweight(.) + . = pick_weight(.) /datum/looping_sound/proc/on_start() var/start_wait = 0 diff --git a/code/datums/mapgen/planetary/JungleGenerator.dm b/code/datums/mapgen/planetary/JungleGenerator.dm index 077065c8e44e..f64e47504957 100644 --- a/code/datums/mapgen/planetary/JungleGenerator.dm +++ b/code/datums/mapgen/planetary/JungleGenerator.dm @@ -100,7 +100,7 @@ mob_spawn_list = list( /mob/living/carbon/monkey = 10, /mob/living/simple_animal/hostile/retaliate/chicken = 10, - /obj/effect/spawner/lootdrop/chicken/jungle/flock = 1 + /obj/effect/spawner/random/chicken/jungle/flock = 1 ) /datum/biome/jungle/dense @@ -123,7 +123,7 @@ /mob/living/simple_animal/hostile/gorilla = 1, /mob/living/carbon/monkey = 6, /mob/living/simple_animal/hostile/retaliate/chicken = 4, - /obj/effect/spawner/lootdrop/chicken/jungle/flock = 1 + /obj/effect/spawner/random/chicken/jungle/flock = 1 ) /datum/biome/jungle/plains @@ -181,7 +181,7 @@ feature_spawn_list = list( /obj/item/pickaxe/rusted = 1, /obj/structure/spawner/burrow/jungle_planet = 1, - /obj/effect/spawner/lootdrop/anomaly/jungle = 1 + /obj/effect/spawner/random/anomaly/jungle = 1 ) /datum/biome/cave/jungle/dirt diff --git a/code/datums/mapgen/planetary/LavaGenerator.dm b/code/datums/mapgen/planetary/LavaGenerator.dm index bca54d019397..846d4145a66c 100644 --- a/code/datums/mapgen/planetary/LavaGenerator.dm +++ b/code/datums/mapgen/planetary/LavaGenerator.dm @@ -100,7 +100,7 @@ /obj/structure/flora/rock/hell = 20, /obj/structure/elite_tumor = 4, /obj/structure/geyser/random = 4, - /obj/effect/spawner/lootdrop/anomaly/lava = 2, + /obj/effect/spawner/random/anomaly/lava = 2, /obj/structure/flora/rock/hell = 14, /obj/structure/vein = 5, /obj/structure/vein/classtwo = 2, @@ -108,7 +108,7 @@ /obj/structure/geyser/random = 2, /obj/structure/vein/classthree = 1, /obj/effect/spawner/minefield = 1, - /obj/effect/spawner/lootdrop/anomaly/lava = 1, + /obj/effect/spawner/random/anomaly/lava = 1, ) mob_spawn_chance = 4 mob_spawn_list = list( @@ -167,7 +167,7 @@ feature_spawn_list = list( /obj/structure/flora/tree/dead/barren = 50, /obj/structure/flora/tree/dead/tall/grey = 45, - /obj/effect/spawner/lootdrop/anomaly/lava = 10, + /obj/effect/spawner/random/anomaly/lava = 10, /obj/structure/vein = 5, /obj/structure/vein/classtwo = 2, /obj/structure/vein/classthree = 1, diff --git a/code/datums/mapgen/planetary/RockGenerator.dm b/code/datums/mapgen/planetary/RockGenerator.dm index 30349a2ea53b..b7ab59f5d843 100644 --- a/code/datums/mapgen/planetary/RockGenerator.dm +++ b/code/datums/mapgen/planetary/RockGenerator.dm @@ -89,10 +89,10 @@ /obj/structure/vein = 60, /obj/structure/elite_tumor = 40, /obj/structure/vein/classtwo = 40, - /obj/effect/spawner/lootdrop/anomaly/rock = 10, + /obj/effect/spawner/random/anomaly/rock = 10, /obj/structure/vein/classthree = 10, /obj/effect/spawner/minefield = 2, - /obj/effect/spawner/lootdrop/anomaly/big = 1 //get out of here stalker + /obj/effect/spawner/random/anomaly/big = 1 //get out of here stalker ) flora_spawn_chance = 5 @@ -162,7 +162,7 @@ /obj/structure/vein/classthree = 1, /obj/structure/spawner/burrow/rock_plant = 4, /obj/effect/spawner/minefield = 1, - /obj/effect/spawner/lootdrop/anomaly/rock/cave = 1, + /obj/effect/spawner/random/anomaly/rock/cave = 1, ) mob_spawn_chance = 6 mob_spawn_list = list( diff --git a/code/datums/mapgen/planetary/SandGenerator.dm b/code/datums/mapgen/planetary/SandGenerator.dm index e285f5b1ac6c..37615a6b961e 100644 --- a/code/datums/mapgen/planetary/SandGenerator.dm +++ b/code/datums/mapgen/planetary/SandGenerator.dm @@ -96,7 +96,7 @@ /obj/structure/vein/classtwo = 4, /obj/structure/elite_tumor = 4, /obj/structure/vein/classthree = 2, - /obj/effect/spawner/lootdrop/anomaly/sand = 1, + /obj/effect/spawner/random/anomaly/sand = 1, ) mob_spawn_chance = 4 mob_spawn_list = list( @@ -120,7 +120,7 @@ /obj/structure/flora/ash/cap_shroom = 4, /obj/structure/flora/ash/stem_shroom = 4, /obj/effect/decal/remains/human = 4, - /obj/effect/spawner/lootdrop/maintenance = 40, + /obj/effect/spawner/random/maintenance = 40, ) /datum/biome/sand/grass @@ -199,7 +199,7 @@ /obj/structure/geyser/random = 4, /obj/structure/vein/classtwo = 4, /obj/structure/elite_tumor = 4, - /obj/effect/spawner/lootdrop/anomaly/sand/cave = 1 + /obj/effect/spawner/random/anomaly/sand/cave = 1 ) mob_spawn_chance = 4 mob_spawn_list = list( diff --git a/code/datums/mapgen/planetary/SnowGenerator.dm b/code/datums/mapgen/planetary/SnowGenerator.dm index 7fddcd176c66..4297f8a50f2c 100644 --- a/code/datums/mapgen/planetary/SnowGenerator.dm +++ b/code/datums/mapgen/planetary/SnowGenerator.dm @@ -112,8 +112,8 @@ ) feature_spawn_chance = 0.1 feature_spawn_list = list( - /obj/effect/spawner/lootdrop/anomaly/ice = 12, - /obj/effect/spawner/lootdrop/anomaly/big = 1, + /obj/effect/spawner/random/anomaly/ice = 12, + /obj/effect/spawner/random/anomaly/big = 1, /obj/structure/spawner/burrow/ice_planet = 80, /obj/structure/vein/ice = 25, /obj/effect/spawner/minefield = 2, @@ -212,8 +212,8 @@ ) feature_spawn_chance = 0.3 feature_spawn_list = list( - /obj/effect/spawner/lootdrop/anomaly/ice = 100, - /obj/effect/spawner/lootdrop/anomaly/big = 1, + /obj/effect/spawner/random/anomaly/ice = 100, + /obj/effect/spawner/random/anomaly/big = 1, /obj/structure/spawner/burrow/ice_planet/hard = 600, /obj/structure/vein/ice = 300, /obj/structure/vein/ice/classtwo = 500, @@ -268,7 +268,7 @@ feature_spawn_list = list( /obj/structure/spawner/burrow/ice_planet = 60, /obj/structure/spawner/burrow/ice_planet = 40, - /obj/effect/spawner/lootdrop/anomaly/ice/cave = 10, + /obj/effect/spawner/random/anomaly/ice/cave = 10, /obj/structure/vein/ice = 30, /obj/structure/vein/ice/classtwo = 50, /obj/structure/vein/ice/classthree = 6, diff --git a/code/datums/mapgen/planetary/WasteGenerator.dm b/code/datums/mapgen/planetary/WasteGenerator.dm index 621d5e3b9c4d..3f87e6879c1b 100644 --- a/code/datums/mapgen/planetary/WasteGenerator.dm +++ b/code/datums/mapgen/planetary/WasteGenerator.dm @@ -96,27 +96,27 @@ flora_spawn_list = list( //mech spawners - /obj/effect/spawner/lootdrop/waste/mechwreck = 100, - /obj/effect/spawner/lootdrop/waste/mechwreck/rare = 20, + /obj/effect/spawner/random/waste/mechwreck = 100, + /obj/effect/spawner/random/waste/mechwreck/rare = 20, //decals and fluff structures - /obj/effect/spawner/lootdrop/waste/trash = 1800, - /obj/effect/spawner/lootdrop/waste/radiation = 80, - /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 10, + /obj/effect/spawner/random/trash/decal = 1800, + /obj/effect/spawner/random/waste/radiation = 80, + /obj/effect/spawner/random/waste/radiation/more_rads = 10, //stuff you can actually use - /obj/effect/spawner/lootdrop/waste/girder = 600, + /obj/effect/spawner/random/waste/girder = 600, /obj/structure/reagent_dispensers/watertank = 200, /obj/item/stack/cable_coil/cut = 500, /obj/structure/closet/crate/secure/loot = 30, - /obj/effect/spawner/lootdrop/waste/atmos_can = 50, - /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 1, - /obj/effect/spawner/lootdrop/waste/salvageable = 300, - /obj/effect/spawner/lootdrop/waste/grille_or_trash = 200, - /obj/effect/spawner/lootdrop/maintenance = 200, - /obj/effect/spawner/lootdrop/maintenance/two = 100, - /obj/effect/spawner/lootdrop/maintenance/three = 50, - /obj/effect/spawner/lootdrop/maintenance/four = 20, + /obj/effect/spawner/random/waste/atmos_can = 50, + /obj/effect/spawner/random/waste/atmos_can/rare = 1, + /obj/effect/spawner/random/waste/salvageable = 300, + /obj/effect/spawner/random/waste/grille_or_trash = 200, + /obj/effect/spawner/random/maintenance = 200, + /obj/effect/spawner/random/maintenance/two = 100, + /obj/effect/spawner/random/maintenance/three = 50, + /obj/effect/spawner/random/maintenance/four = 20, //plants /obj/structure/flora/ash/garden/waste = 70, @@ -125,7 +125,7 @@ //the illusive shrapnel plant /obj/item/mine/pressure/explosive/shrapnel/live = 30, - /obj/effect/spawner/lootdrop/mine = 8, + /obj/effect/spawner/random/mine = 8, /obj/effect/spawner/minefield = 2 ) @@ -133,7 +133,7 @@ /obj/effect/radiation/waste = 30, /obj/effect/radiation/waste/intense = 10, /obj/structure/geyser/random = 1, - /obj/effect/spawner/lootdrop/anomaly/waste = 1 + /obj/effect/spawner/random/anomaly/waste = 1 ) mob_spawn_list = list( @@ -159,23 +159,23 @@ ) flora_spawn_list = list( - /obj/effect/spawner/lootdrop/waste/trash = 180, - /obj/effect/spawner/lootdrop/waste/radiation = 16, - /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 2, - /obj/effect/spawner/lootdrop/waste/atmos_can = 36, - /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 1, - /obj/effect/spawner/lootdrop/waste/salvageable = 60, + /obj/effect/spawner/random/trash/decal = 180, + /obj/effect/spawner/random/waste/radiation = 16, + /obj/effect/spawner/random/waste/radiation/more_rads = 2, + /obj/effect/spawner/random/waste/atmos_can = 36, + /obj/effect/spawner/random/waste/atmos_can/rare = 1, + /obj/effect/spawner/random/waste/salvageable = 60, ) mob_spawn_chance = 1 /datum/biome/waste/crater/rad flora_spawn_list = list( /obj/structure/flora/ash/glowshroom = 180, - /obj/effect/spawner/lootdrop/waste/trash = 90, - /obj/effect/spawner/lootdrop/waste/radiation = 25, - /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 7, - /obj/effect/spawner/lootdrop/waste/atmos_can = 7, - /obj/effect/spawner/lootdrop/waste/salvageable = 15 + /obj/effect/spawner/random/trash/decal = 90, + /obj/effect/spawner/random/waste/radiation = 25, + /obj/effect/spawner/random/waste/radiation/more_rads = 7, + /obj/effect/spawner/random/waste/atmos_can = 7, + /obj/effect/spawner/random/waste/salvageable = 15 ) /datum/biome/waste/clearing @@ -184,26 +184,26 @@ /datum/biome/waste/clearing/mushroom flora_spawn_list = list( - /obj/effect/spawner/lootdrop/waste/mechwreck = 100, - /obj/effect/spawner/lootdrop/waste/trash = 900, - /obj/effect/spawner/lootdrop/waste/radiation = 300, - /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 120, - /obj/effect/spawner/lootdrop/waste/girder = 600, + /obj/effect/spawner/random/waste/mechwreck = 100, + /obj/effect/spawner/random/trash/decal = 900, + /obj/effect/spawner/random/waste/radiation = 300, + /obj/effect/spawner/random/waste/radiation/more_rads = 120, + /obj/effect/spawner/random/waste/girder = 600, /obj/structure/reagent_dispensers/watertank = 200, /obj/item/stack/cable_coil/cut = 500, /obj/structure/closet/crate/secure/loot = 30, - /obj/effect/spawner/lootdrop/waste/atmos_can = 50, - /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 1, - /obj/effect/spawner/lootdrop/waste/salvageable = 300, - /obj/effect/spawner/lootdrop/waste/grille_or_trash = 200, - /obj/effect/spawner/lootdrop/maintenance = 200, - /obj/effect/spawner/lootdrop/maintenance/two = 100, - /obj/effect/spawner/lootdrop/maintenance/three = 50, - /obj/effect/spawner/lootdrop/maintenance/four = 20, + /obj/effect/spawner/random/waste/atmos_can = 50, + /obj/effect/spawner/random/waste/atmos_can/rare = 1, + /obj/effect/spawner/random/waste/salvageable = 300, + /obj/effect/spawner/random/waste/grille_or_trash = 200, + /obj/effect/spawner/random/maintenance = 200, + /obj/effect/spawner/random/maintenance/two = 100, + /obj/effect/spawner/random/maintenance/three = 50, + /obj/effect/spawner/random/maintenance/four = 20, /obj/structure/flora/ash/garden/waste = 300, /obj/structure/flora/ash/glowshroom = 1800, /obj/item/mine/pressure/explosive/shrapnel/live = 30, - /obj/effect/spawner/lootdrop/mine = 8, + /obj/effect/spawner/random/mine = 8, /obj/effect/spawner/minefield = 2 ) @@ -227,29 +227,29 @@ ) flora_spawn_list = list( //there are no plants here - /obj/effect/spawner/lootdrop/waste/mechwreck = 200, - /obj/effect/spawner/lootdrop/waste/mechwreck/rare = 50, - /obj/effect/spawner/lootdrop/waste/trash = 900, - /obj/effect/spawner/lootdrop/waste/radiation = 80, - /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 20, - /obj/effect/spawner/lootdrop/waste/girder = 600, + /obj/effect/spawner/random/waste/mechwreck = 200, + /obj/effect/spawner/random/waste/mechwreck/rare = 50, + /obj/effect/spawner/random/trash/decal = 900, + /obj/effect/spawner/random/waste/radiation = 80, + /obj/effect/spawner/random/waste/radiation/more_rads = 20, + /obj/effect/spawner/random/waste/girder = 600, /obj/structure/reagent_dispensers/watertank = 200, /obj/item/stack/cable_coil/cut = 500, /obj/structure/closet/crate/secure/loot = 30, - /obj/effect/spawner/lootdrop/waste/atmos_can = 50, - /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 1, - /obj/effect/spawner/lootdrop/waste/salvageable = 300, - /obj/effect/spawner/lootdrop/waste/grille_or_trash = 200, - /obj/effect/spawner/lootdrop/maintenance = 200, - /obj/effect/spawner/lootdrop/maintenance/two = 100, - /obj/effect/spawner/lootdrop/maintenance/three = 50, - /obj/effect/spawner/lootdrop/maintenance/four = 20, + /obj/effect/spawner/random/waste/atmos_can = 50, + /obj/effect/spawner/random/waste/atmos_can/rare = 1, + /obj/effect/spawner/random/waste/salvageable = 300, + /obj/effect/spawner/random/waste/grille_or_trash = 200, + /obj/effect/spawner/random/maintenance = 200, + /obj/effect/spawner/random/maintenance/two = 100, + /obj/effect/spawner/random/maintenance/three = 50, + /obj/effect/spawner/random/maintenance/four = 20, /obj/structure/closet/crate/secure/loot = 30, - /obj/effect/spawner/lootdrop/waste/atmos_can = 180, - /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 1, - /obj/effect/spawner/lootdrop/waste/salvageable = 300, + /obj/effect/spawner/random/waste/atmos_can = 180, + /obj/effect/spawner/random/waste/atmos_can/rare = 1, + /obj/effect/spawner/random/waste/salvageable = 300, /obj/item/mine/pressure/explosive/rad/live = 30, - /obj/effect/spawner/lootdrop/mine = 8, + /obj/effect/spawner/random/mine = 8, /obj/effect/spawner/minefield = 2 ) mob_spawn_list = list( //nor organics, more biased towards hivebots though @@ -288,28 +288,28 @@ ) flora_spawn_list = list( - /obj/effect/spawner/lootdrop/waste/mechwreck = 100, - /obj/effect/spawner/lootdrop/waste/mechwreck/rare = 20, - /obj/effect/spawner/lootdrop/waste/trash = 1800, - /obj/effect/spawner/lootdrop/waste/radiation = 80, - /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 10, - /obj/effect/spawner/lootdrop/waste/girder = 600, + /obj/effect/spawner/random/waste/mechwreck = 100, + /obj/effect/spawner/random/waste/mechwreck/rare = 20, + /obj/effect/spawner/random/trash/decal = 1800, + /obj/effect/spawner/random/waste/radiation = 80, + /obj/effect/spawner/random/waste/radiation/more_rads = 10, + /obj/effect/spawner/random/waste/girder = 600, /obj/structure/reagent_dispensers/watertank = 200, /obj/item/stack/cable_coil/cut = 500, /obj/structure/closet/crate/secure/loot = 30, - /obj/effect/spawner/lootdrop/waste/atmos_can = 50, - /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 5, - /obj/effect/spawner/lootdrop/waste/salvageable = 300, - /obj/effect/spawner/lootdrop/waste/grille_or_trash = 200, - /obj/effect/spawner/lootdrop/maintenance = 20, - /obj/effect/spawner/lootdrop/maintenance/two = 50, - /obj/effect/spawner/lootdrop/maintenance/three = 100, - /obj/effect/spawner/lootdrop/maintenance/four = 200, - /obj/effect/spawner/lootdrop/waste/salvageable = 400, + /obj/effect/spawner/random/waste/atmos_can = 50, + /obj/effect/spawner/random/waste/atmos_can/rare = 5, + /obj/effect/spawner/random/waste/salvageable = 300, + /obj/effect/spawner/random/waste/grille_or_trash = 200, + /obj/effect/spawner/random/maintenance = 20, + /obj/effect/spawner/random/maintenance/two = 50, + /obj/effect/spawner/random/maintenance/three = 100, + /obj/effect/spawner/random/maintenance/four = 200, + /obj/effect/spawner/random/waste/salvageable = 400, /obj/structure/flora/ash/garden/waste = 70, /obj/structure/flora/ash/glowshroom = 400, //more common in caves /obj/item/mine/pressure/explosive/rad/live = 10, - /obj/effect/spawner/lootdrop/mine = 8, + /obj/effect/spawner/random/mine = 8, /obj/effect/spawner/minefield = 2 ) @@ -317,7 +317,7 @@ /obj/effect/radiation/waste = 30, /obj/effect/radiation/waste/intense = 10, /obj/structure/geyser/random = 1, - /obj/effect/spawner/lootdrop/anomaly/waste/cave = 1 + /obj/effect/spawner/random/anomaly/waste/cave = 1 ) mob_spawn_list = list( /mob/living/simple_animal/hostile/hivebot/strong/rockplanet = 70, @@ -348,24 +348,24 @@ /datum/biome/cave/waste/rad flora_spawn_list = list( - /obj/effect/spawner/lootdrop/waste/trash = 900, - /obj/effect/spawner/lootdrop/waste/radiation = 250, - /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 70, - /obj/effect/spawner/lootdrop/waste/atmos_can = 50, - /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 5, - /obj/effect/spawner/lootdrop/waste/salvageable = 150, - /obj/effect/spawner/lootdrop/waste/girder = 200, + /obj/effect/spawner/random/trash/decal = 900, + /obj/effect/spawner/random/waste/radiation = 250, + /obj/effect/spawner/random/waste/radiation/more_rads = 70, + /obj/effect/spawner/random/waste/atmos_can = 50, + /obj/effect/spawner/random/waste/atmos_can/rare = 5, + /obj/effect/spawner/random/waste/salvageable = 150, + /obj/effect/spawner/random/waste/girder = 200, /obj/structure/reagent_dispensers/watertank = 10, /obj/item/stack/cable_coil/cut = 500, /obj/structure/closet/crate/secure/loot = 30, - /obj/effect/spawner/lootdrop/waste/grille_or_trash = 200, - /obj/effect/spawner/lootdrop/maintenance = 20, - /obj/effect/spawner/lootdrop/maintenance/two = 50, - /obj/effect/spawner/lootdrop/maintenance/three = 100, - /obj/effect/spawner/lootdrop/maintenance/four = 200, + /obj/effect/spawner/random/waste/grille_or_trash = 200, + /obj/effect/spawner/random/maintenance = 20, + /obj/effect/spawner/random/maintenance/two = 50, + /obj/effect/spawner/random/maintenance/three = 100, + /obj/effect/spawner/random/maintenance/four = 200, /obj/structure/flora/ash/glowshroom = 1800, /obj/item/mine/pressure/explosive/rad/live = 30, - /obj/effect/spawner/lootdrop/mine = 8, + /obj/effect/spawner/random/mine = 8, /obj/effect/spawner/minefield = 2 ) feature_spawn_chance = 12 @@ -382,26 +382,26 @@ /turf/closed/wall/rust/wasteplanet = 10 ) flora_spawn_list = list( - /obj/effect/spawner/lootdrop/waste/mechwreck = 40, - /obj/effect/spawner/lootdrop/waste/mechwreck/rare = 10, - /obj/effect/spawner/lootdrop/waste/trash = 180, - /obj/effect/spawner/lootdrop/waste/radiation = 32, - /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 4, - /obj/effect/spawner/lootdrop/waste/girder = 120, + /obj/effect/spawner/random/waste/mechwreck = 40, + /obj/effect/spawner/random/waste/mechwreck/rare = 10, + /obj/effect/spawner/random/trash/decal = 180, + /obj/effect/spawner/random/waste/radiation = 32, + /obj/effect/spawner/random/waste/radiation/more_rads = 4, + /obj/effect/spawner/random/waste/girder = 120, /obj/structure/reagent_dispensers/watertank = 40, /obj/item/stack/cable_coil/cut = 100, /obj/structure/closet/crate/secure/loot = 6, - /obj/effect/spawner/lootdrop/waste/atmos_can = 10, - /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 1, - /obj/effect/spawner/lootdrop/waste/salvageable = 60, - /obj/effect/spawner/lootdrop/waste/grille_or_trash = 40, - /obj/effect/spawner/lootdrop/maintenance = 4, - /obj/effect/spawner/lootdrop/maintenance/two = 10, - /obj/effect/spawner/lootdrop/maintenance/three = 20, - /obj/effect/spawner/lootdrop/maintenance/four = 40, - /obj/effect/spawner/lootdrop/waste/salvageable = 80, + /obj/effect/spawner/random/waste/atmos_can = 10, + /obj/effect/spawner/random/waste/atmos_can/rare = 1, + /obj/effect/spawner/random/waste/salvageable = 60, + /obj/effect/spawner/random/waste/grille_or_trash = 40, + /obj/effect/spawner/random/maintenance = 4, + /obj/effect/spawner/random/maintenance/two = 10, + /obj/effect/spawner/random/maintenance/three = 20, + /obj/effect/spawner/random/maintenance/four = 40, + /obj/effect/spawner/random/waste/salvageable = 80, /obj/item/mine/proximity/spawner/manhack/live = 40, - /obj/effect/spawner/lootdrop/mine = 8, + /obj/effect/spawner/random/mine = 8, /obj/effect/spawner/minefield/manhack = 2 ) mob_spawn_list = list( //nor organics, more biased towards hivebots though @@ -417,18 +417,18 @@ /datum/biome/cave/waste/metal/hivebot flora_spawn_list = list( - /obj/effect/spawner/lootdrop/waste/trash = 90, - /obj/effect/spawner/lootdrop/waste/radiation = 16, - /obj/effect/spawner/lootdrop/waste/radiation/more_rads = 2, - /obj/effect/spawner/lootdrop/waste/girder = 60, + /obj/effect/spawner/random/trash/decal = 90, + /obj/effect/spawner/random/waste/radiation = 16, + /obj/effect/spawner/random/waste/radiation/more_rads = 2, + /obj/effect/spawner/random/waste/girder = 60, /obj/structure/reagent_dispensers/watertank = 20, /obj/item/stack/cable_coil/cut = 50, /obj/structure/closet/crate/secure/loot = 3, - /obj/effect/spawner/lootdrop/maintenance = 2, - /obj/effect/spawner/lootdrop/maintenance/two = 5, - /obj/effect/spawner/lootdrop/maintenance/three = 10, - /obj/effect/spawner/lootdrop/maintenance/four = 20, - /obj/effect/spawner/lootdrop/waste/salvageable = 40, + /obj/effect/spawner/random/maintenance = 2, + /obj/effect/spawner/random/maintenance/two = 5, + /obj/effect/spawner/random/maintenance/three = 10, + /obj/effect/spawner/random/maintenance/four = 20, + /obj/effect/spawner/random/waste/salvageable = 40, /obj/structure/foamedmetal = 100, /obj/item/mine/proximity/spawner/manhack/live = 20 ) @@ -456,19 +456,19 @@ ) flora_spawn_list = list( - /obj/effect/spawner/lootdrop/waste/mechwreck = 20, - /obj/effect/spawner/lootdrop/waste/trash = 90, - /obj/effect/spawner/lootdrop/waste/radiation = 16, + /obj/effect/spawner/random/waste/mechwreck = 20, + /obj/effect/spawner/random/trash/decal = 90, + /obj/effect/spawner/random/waste/radiation = 16, /obj/structure/reagent_dispensers/watertank = 20, /obj/item/stack/cable_coil/cut = 50, /obj/structure/closet/crate/secure/loot = 3, - /obj/effect/spawner/lootdrop/waste/atmos_can = 5, - /obj/effect/spawner/lootdrop/waste/atmos_can/rare = 1, - /obj/effect/spawner/lootdrop/waste/salvageable = 30, - /obj/effect/spawner/lootdrop/maintenance = 2, - /obj/effect/spawner/lootdrop/maintenance/two = 5, - /obj/effect/spawner/lootdrop/maintenance/three = 10, - /obj/effect/spawner/lootdrop/waste/salvageable = 40, + /obj/effect/spawner/random/waste/atmos_can = 5, + /obj/effect/spawner/random/waste/atmos_can/rare = 1, + /obj/effect/spawner/random/waste/salvageable = 30, + /obj/effect/spawner/random/maintenance = 2, + /obj/effect/spawner/random/maintenance/two = 5, + /obj/effect/spawner/random/maintenance/three = 10, + /obj/effect/spawner/random/waste/salvageable = 40, ) mob_spawn_list = list( /mob/living/simple_animal/hostile/hivebot/wasteplanet/strong = 80, diff --git a/code/datums/mapgen/single_biome/WasteplanetCaves.dm b/code/datums/mapgen/single_biome/WasteplanetCaves.dm index 08f63ba3149a..3caf1c9429ad 100644 --- a/code/datums/mapgen/single_biome/WasteplanetCaves.dm +++ b/code/datums/mapgen/single_biome/WasteplanetCaves.dm @@ -40,7 +40,7 @@ /obj/structure/salvageable/destructive_analyzer = 8, /obj/structure/salvageable/server = 8, /obj/item/mine/pressure/explosive/rusty/live = 30, - /obj/effect/spawner/lootdrop/mine = 8 + /obj/effect/spawner/random/mine = 8 ) feature_spawn_list = list( /obj/structure/geyser/random = 1, diff --git a/code/datums/votes/_vote_datum.dm b/code/datums/votes/_vote_datum.dm index 8c7b7234b516..7118695bf1bb 100644 --- a/code/datums/votes/_vote_datum.dm +++ b/code/datums/votes/_vote_datum.dm @@ -156,7 +156,7 @@ /// Gets the winner of the vote, selecting a random choice from all choices based on their vote count. /datum/vote/proc/get_random_winner() - var/winner = pickweight(choices) + var/winner = pick_weight(choices) return winner ? list(winner) : list() /** diff --git a/code/datums/weather/weather_controller.dm b/code/datums/weather/weather_controller.dm index ad4d5005c049..30be3ebb23c5 100644 --- a/code/datums/weather/weather_controller.dm +++ b/code/datums/weather/weather_controller.dm @@ -60,7 +60,7 @@ if(!possible_weathers) return next_weather = world.time + rand(wait_interval_low, wait_interval_high) - next_weather_type = pickweight(possible_weathers) + next_weather_type = pick_weight(possible_weathers) /datum/weather_controller/proc/run_weather(datum/weather/weather_datum_type, telegraph = TRUE) if(!ispath(weather_datum_type, /datum/weather)) diff --git a/code/game/MapData/shuttles/nanotrasen_ranger.dm b/code/game/MapData/shuttles/nanotrasen_ranger.dm index 08f1a7c670d2..06d988760722 100644 --- a/code/game/MapData/shuttles/nanotrasen_ranger.dm +++ b/code/game/MapData/shuttles/nanotrasen_ranger.dm @@ -283,9 +283,9 @@ //lootdrop -/obj/effect/spawner/lootdrop/lpretrieval +/obj/effect/spawner/random/lpretrieval name = "LP Retrieval Missions" - lootdoubles = FALSE + spawn_loot_double = FALSE loot = list( /obj/item/disk/holodisk/lp/retrieval/phazon = 1, @@ -294,11 +294,11 @@ /obj/item/disk/holodisk/lp/retrieval/materials = 1 ) - lootcount = 2 + spawn_loot_count = 2 -/obj/effect/spawner/lootdrop/lpaid +/obj/effect/spawner/random/lpaid name = "LP Aid Missions" - lootdoubles = FALSE + spawn_loot_double = FALSE loot = list( /obj/item/disk/holodisk/lp/aid/repairs = 1, @@ -306,5 +306,5 @@ /obj/item/disk/holodisk/lp/aid/guard = 1, ) - lootcount = 4 + spawn_loot_count = 4 diff --git a/code/game/gamemodes/dynamic/dynamic.dm b/code/game/gamemodes/dynamic/dynamic.dm index b8dcd669d385..f8d681199094 100644 --- a/code/game/gamemodes/dynamic/dynamic.dm +++ b/code/game/gamemodes/dynamic/dynamic.dm @@ -435,7 +435,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1) /// Picks a random roundstart rule from the list given as an argument and executes it. /datum/game_mode/dynamic/proc/picking_roundstart_rule(list/drafted_rules = list(), forced = FALSE) - var/datum/dynamic_ruleset/roundstart/starting_rule = pickweight(drafted_rules) + var/datum/dynamic_ruleset/roundstart/starting_rule = pick_weight(drafted_rules) if(!starting_rule) log_game("DYNAMIC: Couldn't pick a starting ruleset. No rulesets available") return FALSE @@ -450,7 +450,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1) if(drafted_rules.len <= 0) log_game("DYNAMIC: Picking [starting_rule.name] failed due to blocking_rules and no more rulesets available. Report this.") return FALSE - starting_rule = pickweight(drafted_rules) + starting_rule = pick_weight(drafted_rules) // Check if the ruleset is highlander and if a highlander ruleset has been executed else if(starting_rule.flags & HIGHLANDER_RULESET) // Should already be filtered out, but making sure. Check filtering at end of proc if reported. if(threat_level > GLOB.dynamic_stacking_limit && GLOB.dynamic_no_stacking) @@ -459,14 +459,14 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1) if(drafted_rules.len <= 0) log_game("DYNAMIC: Picking [starting_rule.name] failed due to no highlander stacking and no more rulesets available. Report this.") return FALSE - starting_rule = pickweight(drafted_rules) + starting_rule = pick_weight(drafted_rules) // With low pop and high threat there might be rulesets that get executed with no valid candidates. else if(!starting_rule.ready()) // Should already be filtered out, but making sure. Check filtering at end of proc if reported. drafted_rules -= starting_rule if(drafted_rules.len <= 0) log_game("DYNAMIC: Picking [starting_rule.name] failed because there were not enough candidates and no more rulesets available. Report this.") return FALSE - starting_rule = pickweight(drafted_rules) + starting_rule = pick_weight(drafted_rules) log_game("DYNAMIC: Picked a ruleset: [starting_rule.name]") @@ -512,7 +512,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1) /// Picks a random midround OR latejoin rule from the list given as an argument and executes it. /// Also this could be named better. /datum/game_mode/dynamic/proc/picking_midround_latejoin_rule(list/drafted_rules = list(), forced = FALSE) - var/datum/dynamic_ruleset/rule = pickweight(drafted_rules) + var/datum/dynamic_ruleset/rule = pick_weight(drafted_rules) if(!rule) return FALSE @@ -524,7 +524,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1) drafted_rules -= rule if(drafted_rules.len <= 0) return FALSE - rule = pickweight(drafted_rules) + rule = pick_weight(drafted_rules) // Check if the ruleset is highlander and if a highlander ruleset has been executed else if(rule.flags & HIGHLANDER_RULESET) if(threat_level > GLOB.dynamic_stacking_limit && GLOB.dynamic_no_stacking) @@ -532,7 +532,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1) drafted_rules -= rule if(drafted_rules.len <= 0) return FALSE - rule = pickweight(drafted_rules) + rule = pick_weight(drafted_rules) if(!rule.repeatable) if(rule.ruletype == "Latejoin") diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 00bc1bc95e13..eca77ba4df5a 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -149,7 +149,7 @@ message_admins("Convert_roundtype failed due to no valid modes to convert to. Please report this error to the Coders.") return null - replacementmode = pickweight(usable_modes) + replacementmode = pick_weight(usable_modes) var/matc = CONFIG_GET(number/midround_antag_time_check) if(world.time >= (matc * 600)) @@ -272,7 +272,7 @@ reports += config.mode_reports[report_type] Count++ for(var/i in Count to rand(3,5)) //Between three and five wrong entries on the list. - var/false_report_type = pickweightAllowZero(report_weights) + var/false_report_type = pick_weight_allow_zero(report_weights) report_weights[false_report_type] = 0 //Make it so the same false report won't be selected twice reports += config.mode_reports[false_report_type] diff --git a/code/game/gamemodes/meteor/meteors.dm b/code/game/gamemodes/meteor/meteors.dm index 743914682348..609ef32492c5 100644 --- a/code/game/gamemodes/meteor/meteors.dm +++ b/code/game/gamemodes/meteor/meteors.dm @@ -65,7 +65,7 @@ GLOBAL_LIST_INIT(meteorsC, list(/obj/effect/meteor/dust)) //for space dust event max_i-- if(max_i<=0) return - var/Me = pickweight(meteortypes) + var/Me = pick_weight(meteortypes) var/obj/effect/meteor/M = new Me(pickedstart, pickedgoal) M.dest = pickedgoal diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index 4219a0710e50..9bb72586a1e7 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -75,7 +75,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( var/list/gameodds = list(/obj/item/circuitboard/computer/arcade/battle = 49, /obj/item/circuitboard/computer/arcade/orion_trail = 49, /obj/item/circuitboard/computer/arcade/amputation = 2) - var/thegame = pickweight(gameodds) + var/thegame = pick_weight(gameodds) var/obj/item/circuitboard/CB = new thegame() new CB.build_path(loc, CB) return INITIALIZE_HINT_QDEL @@ -96,9 +96,9 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( return var/prizeselect if(prize_override) - prizeselect = pickweight(prize_override) + prizeselect = pick_weight(prize_override) else - prizeselect = pickweight(GLOB.arcade_prize_pool) + prizeselect = pick_weight(GLOB.arcade_prize_pool) var/atom/movable/the_prize = new prizeselect(get_turf(src)) playsound(src, 'sound/machines/machine_vend.ogg', 50, TRUE, extrarange = -3) visible_message("[src] dispenses [the_prize]!", "You hear a chime and a clunk.") @@ -121,9 +121,9 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( num_of_prizes = rand(0,2) for(var/i = num_of_prizes; i > 0; i--) if(override) - empprize = pickweight(prize_override) + empprize = pick_weight(prize_override) else - empprize = pickweight(GLOB.arcade_prize_pool) + empprize = pick_weight(GLOB.arcade_prize_pool) new empprize(loc) explosion(loc, -1, 0, 1+num_of_prizes, flame_range = 1+num_of_prizes) @@ -638,7 +638,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( event = ORION_TRAIL_COLLISION event() else if(prob(75-gamerSkill)) - event = pickweight(events) + event = pick_weight(events) if(lings_aboard) if(event == ORION_TRAIL_LING || prob(55-gamerSkill)) event = ORION_TRAIL_LING_ATTACK diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index ccc3e4f0286a..495b4c9ab666 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -1,6 +1,6 @@ /obj/effect/landmark name = "landmark" - icon = 'icons/effects/landmarks_static.dmi' + icon = 'icons/effects/mapping/landmarks_static.dmi' icon_state = "x2" anchored = TRUE layer = MID_LANDMARK_LAYER @@ -210,7 +210,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark) return ..() /obj/effect/landmark/start/ai/secondary - icon = 'icons/effects/landmarks_static.dmi' + icon = 'icons/effects/mapping/landmarks_static.dmi' icon_state = "ai_spawn" primary_ai = FALSE latejoin_active = FALSE @@ -249,7 +249,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark) /obj/effect/landmark/start/wizard name = "wizard" - icon = 'icons/effects/landmarks_static.dmi' + icon = 'icons/effects/mapping/landmarks_static.dmi' icon_state = "wiznerd_spawn" /obj/effect/landmark/start/wizard/Initialize() @@ -259,7 +259,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark) /obj/effect/landmark/start/nukeop name = "nukeop" - icon = 'icons/effects/landmarks_static.dmi' + icon = 'icons/effects/mapping/landmarks_static.dmi' icon_state = "snukeop_spawn" /obj/effect/landmark/start/nukeop/Initialize() @@ -269,7 +269,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark) /obj/effect/landmark/start/nukeop_leader name = "nukeop leader" - icon = 'icons/effects/landmarks_static.dmi' + icon = 'icons/effects/mapping/landmarks_static.dmi' icon_state = "snukeop_leader_spawn" /obj/effect/landmark/start/nukeop_leader/Initialize() diff --git a/code/game/objects/effects/misc.dm b/code/game/objects/effects/misc.dm index 73b96c29768c..986ad10eb187 100644 --- a/code/game/objects/effects/misc.dm +++ b/code/game/objects/effects/misc.dm @@ -9,26 +9,6 @@ /obj/effect/beam/singularity_pull() return -/obj/effect/spawner - name = "object spawner" - -// Brief explanation: -// Rather then setting up and then deleting spawners, we block all atomlike setup -// and do the absolute bare minimum -// This is with the intent of optimizing mapload -/obj/effect/spawner/Initialize(mapload) - SHOULD_CALL_PARENT(FALSE) - if(flags_1 & INITIALIZED_1) - stack_trace("Warning: [src]([type]) initialized multiple times!") - flags_1 |= INITIALIZED_1 - - return INITIALIZE_HINT_QDEL - -/obj/effect/spawner/Destroy(force) - SHOULD_CALL_PARENT(FALSE) - moveToNullspace() - return QDEL_HINT_QUEUE - /obj/effect/list_container name = "list container" diff --git a/code/game/objects/effects/spawners/bundle.dm b/code/game/objects/effects/spawners/bundle.dm index f9f465bf47ab..8ccaf334feae 100644 --- a/code/game/objects/effects/spawners/bundle.dm +++ b/code/game/objects/effects/spawners/bundle.dm @@ -1,134 +1,150 @@ -/obj/effect/spawner/bundle - name = "bundle spawner" +/obj/effect/spawner/costume + name = "costume spawner" icon = 'icons/hud/screen_gen.dmi' icon_state = "x2" - color = "#00FF00" + color = COLOR_VIBRANT_LIME var/list/items -/obj/effect/spawner/bundle/Initialize(mapload) +/obj/effect/spawner/costume/Initialize(mapload) . = ..() - if(items && items.len) + if(items?.len) for(var/path in items) new path(loc) -/obj/effect/spawner/bundle/costume/gladiator +/obj/effect/spawner/costume/gladiator name = "gladiator costume spawner" items = list( /obj/item/clothing/under/costume/gladiator, - /obj/item/clothing/head/helmet/gladiator) + /obj/item/clothing/head/helmet/gladiator + ) -/obj/effect/spawner/bundle/costume/madscientist +/obj/effect/spawner/costume/madscientist name = "mad scientist costume spawner" items = list( /obj/item/clothing/under/rank/command/captain/suit, /obj/item/clothing/head/flatcap, - /obj/item/clothing/suit/toggle/labcoat/mad) + /obj/item/clothing/suit/toggle/labcoat/mad + ) -/obj/effect/spawner/bundle/costume/elpresidente +/obj/effect/spawner/costume/elpresidente name = "el presidente costume spawner" items = list( /obj/item/clothing/under/rank/command/captain/suit, /obj/item/clothing/head/flatcap, /obj/item/clothing/mask/cigarette/cigar/havana, - /obj/item/clothing/shoes/jackboots) + /obj/item/clothing/shoes/jackboots + ) -/obj/effect/spawner/bundle/costume/nyangirl +/obj/effect/spawner/costume/nyangirl name = "nyangirl costume spawner" items = list( /obj/item/clothing/under/costume/schoolgirl, /obj/item/clothing/head/kitty, - /obj/item/clothing/glasses/blindfold) + /obj/item/clothing/glasses/blindfold + ) -/obj/effect/spawner/bundle/costume/maid +/obj/effect/spawner/costume/maid name = "maid costume spawner" items = list( /obj/item/clothing/under/dress/skirt/color, - /obj/effect/spawner/lootdrop/minor/beret_or_rabbitears, - /obj/item/clothing/glasses/blindfold) + /obj/effect/spawner/random/clothing/beret_or_rabbitears, + /obj/item/clothing/glasses/blindfold + ) - -/obj/effect/spawner/bundle/costume/butler +/obj/effect/spawner/costume/butler name = "butler costume spawner" items = list( /obj/item/clothing/accessory/waistcoat, /obj/item/clothing/under/suit/black, - /obj/item/clothing/head/that) + /obj/item/clothing/head/that + ) -/obj/effect/spawner/bundle/costume/highlander +/obj/effect/spawner/costume/highlander name = "highlander costume spawner" items = list( /obj/item/clothing/under/costume/kilt, - /obj/item/clothing/head/beret) + /obj/item/clothing/head/beret + ) -/obj/effect/spawner/bundle/costume/prig +/obj/effect/spawner/costume/prig name = "prig costume spawner" items = list( /obj/item/clothing/accessory/waistcoat, - /obj/effect/spawner/lootdrop/minor/bowler_or_that, + /obj/effect/spawner/random/clothing/bowler_or_that, /obj/item/clothing/shoes/sneakers/black, /obj/item/cane, /obj/item/clothing/under/suit/sl, - /obj/item/clothing/mask/fakemoustache) + /obj/item/clothing/mask/fakemoustache + ) -/obj/effect/spawner/bundle/costume/plaguedoctor +/obj/effect/spawner/costume/plaguedoctor name = "plague doctor costume spawner" items = list( /obj/item/clothing/suit/bio_suit/plaguedoctorsuit, - /obj/item/clothing/mask/gas/plaguedoctor) + /obj/item/clothing/mask/gas/plaguedoctor + ) -/obj/effect/spawner/bundle/costume/nightowl +/obj/effect/spawner/costume/nightowl name = "night owl costume spawner" items = list( /obj/item/clothing/suit/toggle/owlwings, /obj/item/clothing/under/costume/owl, - /obj/item/clothing/mask/gas/owl_mask) + /obj/item/clothing/mask/gas/owl_mask + ) -/obj/effect/spawner/bundle/costume/waiter +/obj/effect/spawner/costume/waiter name = "waiter costume spawner" items = list( /obj/item/clothing/under/suit/waiter, - /obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears, - /obj/item/clothing/suit/apron) + /obj/effect/spawner/random/clothing/kittyears_or_rabbitears, + /obj/item/clothing/suit/apron + ) -/obj/effect/spawner/bundle/costume/pirate +/obj/effect/spawner/costume/pirate name = "pirate costume spawner" items = list( /obj/item/clothing/under/costume/pirate, /obj/item/clothing/suit/pirate, - /obj/effect/spawner/lootdrop/minor/pirate_or_bandana, - /obj/item/clothing/glasses/eyepatch) + /obj/effect/spawner/random/clothing/pirate_or_bandana, + /obj/item/clothing/glasses/eyepatch + ) -/obj/effect/spawner/bundle/costume/cutewitch +/obj/effect/spawner/costume/cutewitch name = "cute witch costume spawner" items = list( /obj/item/clothing/under/dress/sundress, - /obj/item/staff/broom) + /obj/item/staff/broom + ) -/obj/effect/spawner/bundle/costume/mafia +/obj/effect/spawner/costume/mafia name = "black mafia outfit spawner" items = list( /obj/item/clothing/head/fedora, /obj/item/clothing/under/suit/blacktwopiece, - /obj/item/clothing/shoes/laceup) + /obj/item/clothing/shoes/laceup + ) -/obj/effect/spawner/bundle/costume/mafia/white +/obj/effect/spawner/costume/mafia/white name = "white mafia outfit spawner" items = list( /obj/item/clothing/head/fedora/white, /obj/item/clothing/under/suit/white, - /obj/item/clothing/shoes/laceup) + /obj/item/clothing/shoes/laceup + ) -/obj/effect/spawner/bundle/costume/mafia/checkered +/obj/effect/spawner/costume/mafia/checkered name = "checkered mafia outfit spawner" items = list( /obj/item/clothing/head/fedora, /obj/item/clothing/under/suit/checkered, - /obj/item/clothing/shoes/laceup) + /obj/item/clothing/shoes/laceup + ) -/obj/effect/spawner/bundle/costume/mafia/beige +/obj/effect/spawner/costume/mafia/beige name = "beige mafia outfit spawner" items = list( /obj/item/clothing/head/fedora/beige, /obj/item/clothing/under/suit/beige, - /obj/item/clothing/shoes/laceup) + /obj/item/clothing/shoes/laceup + ) diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm deleted file mode 100644 index b0239c8f5fdd..000000000000 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ /dev/null @@ -1,1314 +0,0 @@ -/obj/effect/spawner/lootdrop - icon = 'icons/effects/landmarks_static.dmi' - icon_state = "random_loot" - layer = OBJ_LAYER - var/lootcount = 1 //how many items will be spawned - var/lootdoubles = TRUE //if the same item can be spawned twice - var/list/loot //a list of possible items to spawn e.g. list(/obj/item, /obj/structure, /obj/effect) - var/fan_out_items = FALSE //Whether the items should be distributed to offsets 0,1,-1,2,-2,3,-3.. This overrides pixel_x/y on the spawner itself - -/obj/effect/spawner/lootdrop/Initialize(mapload) - . = ..() - if(loot && loot.len) - var/loot_spawned = 0 - while((lootcount-loot_spawned) && loot.len) - var/lootspawn = pickweight_float(loot) // WS edit - Fix various startup runtimes - while(islist(lootspawn)) - lootspawn = pickweight_float(lootspawn) // WS edit - Fix various startup runtimes - if(!lootdoubles) - loot.Remove(lootspawn) - - if(lootspawn) - var/atom/movable/spawned_loot = new lootspawn(loc) - if (!fan_out_items) - if (pixel_x != 0) - spawned_loot.pixel_x = pixel_x - if (pixel_y != 0) - spawned_loot.pixel_y = pixel_y - else - if (loot_spawned) - spawned_loot.pixel_x = spawned_loot.pixel_y = ((!(loot_spawned%2)*loot_spawned/2)*-1)+((loot_spawned%2)*(loot_spawned+1)/2*1) - else - break // WS edit - Support spawn weights of 0 in loot tables and ruins - loot_spawned++ - -/obj/effect/spawner/lootdrop/donkpockets - name = "donk pocket box spawner" - lootdoubles = FALSE - - loot = list( - /obj/item/storage/box/donkpockets/donkpocketspicy = 1, - /obj/item/storage/box/donkpockets/donkpocketteriyaki = 1, - /obj/item/storage/box/donkpockets/donkpocketpizza = 1, - /obj/item/storage/box/donkpockets/donkpocketberry = 1, - /obj/item/storage/box/donkpockets/donkpockethonk = 1, - ) - - -/obj/effect/spawner/lootdrop/armory_contraband - name = "armory contraband gun spawner" - lootdoubles = FALSE - - loot = list( - /obj/item/gun/ballistic/automatic/pistol/ringneck = 8, - /obj/item/gun/ballistic/shotgun/automatic/combat = 5, - /obj/item/gun/ballistic/automatic/pistol/deagle, - /obj/item/gun/ballistic/revolver/mateba - ) - -/obj/effect/spawner/lootdrop/armory_contraband/metastation - loot = list(/obj/item/gun/ballistic/automatic/pistol/ringneck = 5, - /obj/item/gun/ballistic/shotgun/automatic/combat = 5, - /obj/item/gun/ballistic/automatic/pistol/deagle, - /obj/item/storage/box/syndie_kit/throwing_weapons = 3, - /obj/item/gun/ballistic/revolver/mateba) - -/obj/effect/spawner/lootdrop/armory_contraband/donutstation - loot = list(/obj/item/grenade/clusterbuster/teargas = 5, - /obj/item/gun/ballistic/shotgun/automatic/combat = 5, - /obj/item/bikehorn/golden, - /obj/item/grenade/clusterbuster, - /obj/item/storage/box/syndie_kit/throwing_weapons = 3, - /obj/item/gun/ballistic/revolver/mateba) - -/obj/effect/spawner/lootdrop/prison_contraband - name = "prison contraband loot spawner" - loot = list(/obj/item/clothing/mask/cigarette/space_cigarette = 4, - /obj/item/clothing/mask/cigarette/robust = 2, - /obj/item/clothing/mask/cigarette/carp = 3, - /obj/item/clothing/mask/cigarette/uplift = 2, - /obj/item/clothing/mask/cigarette/dromedary = 3, - /obj/item/clothing/mask/cigarette/robustgold = 1, - /obj/item/storage/fancy/cigarettes/cigpack_uplift = 3, - /obj/item/storage/fancy/cigarettes = 3, - /obj/item/clothing/mask/cigarette/rollie/cannabis = 4, - /obj/item/toy/crayon/spraycan = 2, - /obj/item/crowbar = 1, - /obj/item/assembly/flash/handheld = 1, - /obj/item/restraints/handcuffs/cable/zipties = 1, - /obj/item/restraints/handcuffs = 1, - /obj/item/radio = 1, - /obj/item/lighter = 3, - /obj/item/storage/box/matches = 3, - /obj/item/reagent_containers/syringe/contraband/space_drugs = 1, - /obj/item/reagent_containers/syringe/contraband/krokodil = 1, - /obj/item/reagent_containers/syringe/contraband/crank = 1, - /obj/item/reagent_containers/syringe/contraband/methamphetamine = 1, - /obj/item/reagent_containers/syringe/contraband/bath_salts = 1, - /obj/item/reagent_containers/syringe/contraband/fentanyl = 1, - /obj/item/reagent_containers/syringe/contraband/morphine = 1, - /obj/item/storage/pill_bottle/happy = 1, - /obj/item/storage/pill_bottle/lsd = 1, - /obj/item/storage/pill_bottle/psicodine = 1, - /obj/item/reagent_containers/food/drinks/beer = 4, - /obj/item/reagent_containers/food/drinks/bottle/whiskey = 1, - /obj/item/paper/fluff/jobs/prisoner/letter = 1, - /obj/item/grenade/smokebomb = 1, - /obj/item/flashlight/seclite = 1, - /obj/item/melee/knife/shiv = 4, - /obj/item/melee/knife/shiv/carrot = 1, - /obj/item/melee/knife/kitchen = 1, - /obj/item/storage/wallet/random = 1, - /obj/item/pda = 1 - ) - -/obj/effect/spawner/lootdrop/gambling - name = "gambling valuables spawner" - loot = list( - /obj/item/clothing/head/trapper = 3, - /obj/item/storage/box/syndie_kit/throwing_weapons, - /obj/item/coin/gold, - /obj/item/reagent_containers/food/drinks/bottle/vodka/badminka, - ) - -/obj/effect/spawner/lootdrop/grille_or_trash - name = "maint grille or trash spawner" - loot = list(/obj/structure/grille = 5, - /obj/item/flashlight/flare/burnt = 1, - /obj/item/cigbutt = 1, - /obj/item/trash/cheesie = 1, - /obj/item/trash/candy = 1, - /obj/item/trash/chips = 1, - /obj/item/reagent_containers/food/snacks/deadmouse = 1, - /obj/item/trash/pistachios = 1, - /obj/item/trash/plate = 1, - /obj/item/trash/popcorn = 1, - /obj/item/trash/raisins = 1, - /obj/item/trash/sosjerky = 1, - /obj/item/trash/syndi_cakes = 1) - -/obj/effect/spawner/lootdrop/three_course_meal - name = "three course meal spawner" - lootcount = 3 - lootdoubles = FALSE - var/soups = list( - /obj/item/reagent_containers/food/snacks/soup/beet, - /obj/item/reagent_containers/food/snacks/soup/sweetpotato, - /obj/item/reagent_containers/food/snacks/soup/stew, - /obj/item/reagent_containers/food/snacks/soup/hotchili, - /obj/item/reagent_containers/food/snacks/soup/nettle, - /obj/item/reagent_containers/food/snacks/soup/meatball) - var/salads = list( - /obj/item/reagent_containers/food/snacks/salad/herbsalad, - /obj/item/reagent_containers/food/snacks/salad/validsalad, - /obj/item/reagent_containers/food/snacks/salad/fruit, - /obj/item/reagent_containers/food/snacks/salad/jungle, - /obj/item/reagent_containers/food/snacks/salad/aesirsalad) - var/mains = list( - /obj/item/reagent_containers/food/snacks/bearsteak, - /obj/item/reagent_containers/food/snacks/enchiladas, - /obj/item/reagent_containers/food/snacks/stewedsoymeat, - /obj/item/reagent_containers/food/snacks/burger/bigbite, - /obj/item/reagent_containers/food/snacks/burger/superbite, - /obj/item/reagent_containers/food/snacks/burger/fivealarm) - -/obj/effect/spawner/lootdrop/three_course_meal/Initialize(mapload) - loot = list(pick(soups) = 1,pick(salads) = 1,pick(mains) = 1) - . = ..() - -/obj/effect/spawner/lootdrop/maintenance - name = "maintenance loot spawner" - // see code/_globalvars/lists/maintenance_loot.dm for loot table - -/obj/effect/spawner/lootdrop/maintenance/Initialize(mapload) - loot = GLOB.maintenance_loot - . = ..() - -/obj/effect/spawner/lootdrop/maintenance/two - name = "2 x maintenance loot spawner" - lootcount = 2 - -/obj/effect/spawner/lootdrop/maintenance/three - name = "3 x maintenance loot spawner" - lootcount = 3 - -/obj/effect/spawner/lootdrop/maintenance/four - name = "4 x maintenance loot spawner" - lootcount = 4 - -/obj/effect/spawner/lootdrop/maintenance/five - name = "5 x maintenance loot spawner" - lootcount = 5 - -/obj/effect/spawner/lootdrop/maintenance/six - name = "6 x maintenance loot spawner" - lootcount = 6 - -/obj/effect/spawner/lootdrop/maintenance/seven - name = "7 x maintenance loot spawner" - lootcount = 7 - -/obj/effect/spawner/lootdrop/maintenance/eight - name = "8 x maintenance loot spawner" - lootcount = 8 - -/obj/effect/spawner/lootdrop/crate_spawner - name = "lootcrate spawner" //USE PROMO CODE "SELLOUT" FOR 20% OFF! - lootdoubles = FALSE - - loot = list( - /obj/structure/closet/crate/secure/loot = 20, - "" = 80 - ) - -/obj/effect/spawner/lootdrop/organ_spawner - name = "ayylien organ spawner" - loot = list( - /obj/item/organ/heart/gland/electric = 3, - /obj/item/organ/heart/gland/trauma = 4, - /obj/item/organ/heart/gland/egg = 7, - /obj/item/organ/heart/gland/chem = 5, - /obj/item/organ/heart/gland/mindshock = 5, - /obj/item/organ/heart/gland/plasma = 7, - /obj/item/organ/heart/gland/transform = 5, - /obj/item/organ/heart/gland/slime = 4, - /obj/item/organ/heart/gland/spiderman = 5, - /obj/item/organ/heart/gland/ventcrawling = 1, - /obj/item/organ/body_egg/alien_embryo = 1, - /obj/item/organ/regenerative_core = 2) - lootcount = 3 - -/obj/effect/spawner/lootdrop/memeorgans - name = "meme organ spawner" - loot = list( - /obj/item/organ/ears/penguin, - /obj/item/organ/ears/cat, - /obj/item/organ/eyes/compound, - /obj/item/organ/eyes/snail, - /obj/item/organ/tongue/bone, - /obj/item/organ/tongue/fly, - /obj/item/organ/tongue/snail, - /obj/item/organ/tongue/lizard, - /obj/item/organ/tongue/alien, - /obj/item/organ/tongue/ethereal, - /obj/item/organ/tongue/robot, - /obj/item/organ/tongue/zombie, - /obj/item/organ/appendix, - /obj/item/organ/liver/fly, - /obj/item/organ/lungs/plasmaman, - /obj/item/organ/tail/cat, - /obj/item/organ/tail/lizard) - lootcount = 5 - -/obj/effect/spawner/lootdrop/rnd - name = "random RND spawner" - loot = list( - /obj/item/storage/box/rndmining, - /obj/item/storage/box/rndengi, - /obj/item/storage/box/rndsec, - /obj/item/storage/box/rndciv, - /obj/item/storage/box/rndmed) - lootcount = 1 - -/obj/effect/spawner/lootdrop/two_percent_xeno_egg_spawner - name = "2% chance xeno egg spawner" - loot = list( - /obj/effect/decal/remains/xeno = 49, - /obj/effect/spawner/xeno_egg_delivery = 1) - -/obj/effect/spawner/lootdrop/costume - name = "random costume spawner" - -/obj/effect/spawner/lootdrop/costume/Initialize() - loot = list() - for(var/path in subtypesof(/obj/effect/spawner/bundle/costume)) - loot[path] = TRUE - . = ..() - -// Minor lootdrops follow - -/obj/effect/spawner/lootdrop/minor/beret_or_rabbitears - name = "beret or rabbit ears spawner" - loot = list( - /obj/item/clothing/head/beret = 1) - -/obj/effect/spawner/lootdrop/minor/bowler_or_that - name = "bowler or top hat spawner" - loot = list( - /obj/item/clothing/head/that = 1) - -/obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears - name = "kitty ears or rabbit ears spawner" - loot = list( - /obj/item/clothing/head/kitty = 1) - -/obj/effect/spawner/lootdrop/minor/pirate_or_bandana - name = "pirate hat or bandana spawner" - loot = list( - /obj/item/clothing/head/pirate = 1, - /obj/item/clothing/head/bandana = 1) - -/obj/effect/spawner/lootdrop/minor/twentyfive_percent_cyborg_mask - name = "25% cyborg mask spawner" - loot = list( - /obj/item/clothing/mask/gas/cyborg = 25, - "" = 75) - -/obj/effect/spawner/lootdrop/aimodule_harmless // These shouldn't allow the AI to start butchering people - name = "harmless AI module spawner" - loot = list( - /obj/item/aiModule/core/full/asimov, - /obj/item/aiModule/core/full/asimovpp, - /obj/item/aiModule/core/full/hippocratic, - /obj/item/aiModule/core/full/paladin_devotion, - /obj/item/aiModule/core/full/paladin - ) - -/obj/effect/spawner/lootdrop/aimodule_neutral // These shouldn't allow the AI to start butchering people without reason - name = "neutral AI module spawner" - loot = list( - /obj/item/aiModule/core/full/corp, - /obj/item/aiModule/core/full/maintain, - /obj/item/aiModule/core/full/drone, - /obj/item/aiModule/core/full/peacekeeper, - /obj/item/aiModule/core/full/reporter, - /obj/item/aiModule/core/full/robocop, - /obj/item/aiModule/core/full/liveandletlive, - /obj/item/aiModule/core/full/hulkamania - ) - -/obj/effect/spawner/lootdrop/aimodule_harmful // These will get the shuttle called - name = "harmful AI module spawner" - loot = list( - /obj/item/aiModule/core/full/antimov, - /obj/item/aiModule/core/full/balance, - /obj/item/aiModule/core/full/tyrant, - /obj/item/aiModule/core/full/thermurderdynamic, - /obj/item/aiModule/core/full/damaged, - /obj/item/aiModule/reset/purge - ) - -// Tech storage circuit board spawners - -/obj/effect/spawner/lootdrop/techstorage - name = "generic circuit board spawner" - lootdoubles = FALSE - fan_out_items = TRUE - lootcount = INFINITY - -/obj/effect/spawner/lootdrop/techstorage/service - name = "service circuit board spawner" - loot = list( - /obj/item/circuitboard/computer/arcade/battle, - /obj/item/circuitboard/computer/arcade/orion_trail, - /obj/item/circuitboard/machine/autolathe, - /obj/item/circuitboard/computer/mining, - /obj/item/circuitboard/machine/ore_redemption, - /obj/item/circuitboard/machine/vending/mining_equipment, - /obj/item/circuitboard/machine/microwave, - /obj/item/circuitboard/machine/chem_dispenser/drinks, - /obj/item/circuitboard/machine/chem_dispenser/drinks/beer, - /obj/item/circuitboard/computer/slot_machine - ) - -/obj/effect/spawner/lootdrop/techstorage/rnd - name = "RnD circuit board spawner" - loot = list( - /obj/item/circuitboard/computer/aifixer, - /obj/item/circuitboard/machine/rdserver, - /obj/item/circuitboard/machine/mechfab, - /obj/item/circuitboard/machine/circuit_imprinter/department, - /obj/item/circuitboard/computer/teleporter, - /obj/item/circuitboard/machine/destructive_analyzer, - /obj/item/circuitboard/computer/rdconsole, - /obj/item/circuitboard/computer/nanite_chamber_control, - /obj/item/circuitboard/computer/nanite_cloud_controller, - /obj/item/circuitboard/machine/nanite_chamber, - /obj/item/circuitboard/machine/nanite_programmer, - /obj/item/circuitboard/machine/nanite_program_hub - ) - -/obj/effect/spawner/lootdrop/techstorage/security - name = "security circuit board spawner" - loot = list( - /obj/item/circuitboard/computer/secure_data, - /obj/item/circuitboard/computer/security, - /obj/item/circuitboard/computer/prisoner - ) - -/obj/effect/spawner/lootdrop/techstorage/engineering - name = "engineering circuit board spawner" - loot = list( - /obj/item/circuitboard/computer/atmos_alert, - /obj/item/circuitboard/computer/stationalert, - /obj/item/circuitboard/computer/powermonitor - ) - -/obj/effect/spawner/lootdrop/techstorage/tcomms - name = "tcomms circuit board spawner" - loot = list( - /obj/item/circuitboard/computer/message_monitor, - /obj/item/circuitboard/machine/telecomms/broadcaster, - /obj/item/circuitboard/machine/telecomms/bus, - /obj/item/circuitboard/machine/telecomms/server, - /obj/item/circuitboard/machine/telecomms/receiver, - /obj/item/circuitboard/machine/telecomms/processor, - /obj/item/circuitboard/machine/announcement_system, - /obj/item/circuitboard/computer/comm_server, - /obj/item/circuitboard/computer/comm_monitor - ) - -/obj/effect/spawner/lootdrop/techstorage/medical - name = "medical circuit board spawner" - loot = list( - /obj/item/circuitboard/machine/chem_dispenser, - /obj/item/circuitboard/computer/scan_consolenew, - /obj/item/circuitboard/computer/med_data, - /obj/item/circuitboard/machine/smoke_machine, - /obj/item/circuitboard/machine/chem_master, - /obj/item/circuitboard/machine/dnascanner, - /obj/item/circuitboard/computer/pandemic - ) - -/obj/effect/spawner/lootdrop/techstorage/AI - name = "secure AI circuit board spawner" - loot = list( - /obj/item/circuitboard/computer/aiupload, - /obj/item/circuitboard/computer/borgupload, - /obj/item/circuitboard/aicore - ) - -/obj/effect/spawner/lootdrop/techstorage/command - name = "secure command circuit board spawner" - loot = list( - /obj/item/circuitboard/computer/crew, - /obj/item/circuitboard/computer/communications, - /obj/item/circuitboard/computer/card - ) - -/obj/effect/spawner/lootdrop/techstorage/RnD_secure - name = "secure RnD circuit board spawner" - loot = list( - /obj/item/circuitboard/computer/mecha_control, - /obj/item/circuitboard/computer/apc_control, - /obj/item/circuitboard/computer/robotics - ) - -/obj/effect/spawner/lootdrop/mafia_outfit - name = "mafia outfit spawner" - loot = list( - /obj/effect/spawner/bundle/costume/mafia = 20, - /obj/effect/spawner/bundle/costume/mafia/white = 5, - /obj/effect/spawner/bundle/costume/mafia/checkered = 2, - /obj/effect/spawner/bundle/costume/mafia/beige = 5 - ) - -/obj/effect/spawner/lootdrop/salvage_machine - name = "salvageable machine spawner" - loot = list( - /obj/structure/salvageable/protolathe, - /obj/structure/salvageable/circuit_imprinter, - /obj/structure/salvageable/server, - /obj/structure/salvageable/machine, - /obj/structure/salvageable/autolathe, - /obj/structure/salvageable/computer, - /obj/structure/salvageable/destructive_analyzer - ) - -/obj/effect/spawner/lootdrop/ripley - name = "25% exosuit 75% wreckage ripley spawner" - loot = list(/obj/mecha/working/ripley/mining = 1, - /obj/structure/mecha_wreckage/ripley = 5) - lootdoubles = FALSE - -/obj/effect/spawner/lootdrop/salvage_50 - name = "50% salvage spawner" - loot = list( - /obj/effect/spawner/lootdrop/maintenance = 13, - /obj/effect/spawner/lootdrop/salvage_machine = 12, - /obj/effect/spawner/lootdrop/ripley = 12, - /obj/structure/closet/crate/secure/loot = 13, - "" = 50 - ) - -//finds the probabilities of items spawning from a loot spawner's loot pool -/obj/item/loot_table_maker - icon = 'icons/effects/landmarks_static.dmi' - icon_state = "random_loot" - var/spawner_to_test = /obj/effect/spawner/lootdrop/maintenance //what lootdrop spawner to use the loot pool of - var/loot_count = 180 //180 is about how much maint loot spawns per map as of 11/14/2019 - //result outputs - var/list/spawned_table //list of all items "spawned" and how many - var/list/stat_table //list of all items "spawned" and their occurrance probability - -/obj/item/loot_table_maker/Initialize() - . = ..() - make_table() - -/obj/item/loot_table_maker/attack_self(mob/user) - to_chat(user, "Loot pool re-rolled.") - make_table() - -/obj/item/loot_table_maker/proc/make_table() - spawned_table = list() - stat_table = list() - var/obj/effect/spawner/lootdrop/spawner_to_table = new spawner_to_test - var/lootpool = spawner_to_table.loot - qdel(spawner_to_table) - for(var/i in 1 to loot_count) - var/loot_spawn = pick_loot(lootpool) - if(!loot_spawn) // WS edit - Support spawn weights of 0 in loot tables and ruins - continue - if(!(loot_spawn in spawned_table)) - spawned_table[loot_spawn] = 1 - else - spawned_table[loot_spawn] += 1 - stat_table += spawned_table - for(var/item in stat_table) - stat_table[item] /= loot_count - -/obj/item/loot_table_maker/proc/pick_loot(lootpool) //selects path from loot table and returns it - var/lootspawn = pickweight_float(lootpool) // WS edit - Fix various startup runtimes - while(islist(lootspawn)) - lootspawn = pickweight_float(lootspawn) // WS edit - Fix various startup runtimes - return lootspawn - -/obj/effect/spawner/lootdrop/stockparts - name = "random good stock parts" - lootcount = 6 - loot = list( - /obj/item/stock_parts/capacitor/adv, - /obj/item/stock_parts/capacitor/quadratic, - /obj/item/stock_parts/capacitor/super, - /obj/item/stock_parts/cell/hyper, - /obj/item/stock_parts/cell/super, - /obj/item/stock_parts/cell/bluespace, - /obj/item/stock_parts/matter_bin/bluespace, - /obj/item/stock_parts/matter_bin/super, - /obj/item/stock_parts/matter_bin/adv, - /obj/item/stock_parts/micro_laser/ultra, - /obj/item/stock_parts/micro_laser/quadultra, - /obj/item/stock_parts/micro_laser/high, - /obj/item/stock_parts/scanning_module/triphasic, - /obj/item/stock_parts/scanning_module/phasic, - /obj/item/stock_parts/scanning_module/adv, - /obj/item/reagent_containers/glass/beaker/bluespace, - /obj/item/reagent_containers/glass/beaker/plastic, - /obj/item/reagent_containers/glass/beaker/large, - /obj/item/stock_parts/manipulator/nano, - /obj/item/stock_parts/manipulator/pico, - /obj/item/stock_parts/manipulator/femto - ) - -/obj/effect/spawner/lootdrop/materials - name = "random bulk materials" - lootcount = 2 - loot = list( - /obj/item/stack/sheet/plastic/fifty, - /obj/item/stack/sheet/bluespace_crystal/twenty, - /obj/item/stack/sheet/cardboard/fifty, - /obj/item/stack/sheet/glass/fifty, - /obj/item/stack/sheet/metal/fifty, - /obj/item/stack/sheet/plasteel/twenty, - /obj/item/stack/sheet/mineral/plasma/fifty, - /obj/item/stack/sheet/mineral/silver/fifty, - /obj/item/stack/sheet/mineral/titanium/fifty, - /obj/item/stack/sheet/mineral/uranium/fifty, - /obj/item/stack/sheet/mineral/wood/fifty, - /obj/item/stack/sheet/mineral/diamond/twenty, - /obj/item/stack/sheet/mineral/gold/fifty, - - /obj/item/stack/cable_coil/red, - /obj/item/stack/rods/fifty - ) - -/obj/effect/spawner/lootdrop/singularitygen - name = "Tesla or Singulo spawner" - lootdoubles = FALSE - - loot = list( - /obj/machinery/the_singularitygen/tesla = 1, - /obj/machinery/the_singularitygen = 1, - ) - -/obj/effect/spawner/lootdrop/stockparts - name = "random good stock parts" - lootcount = 5 - loot = list( - /obj/item/stock_parts/capacitor/adv, - /obj/item/stock_parts/capacitor/quadratic, - /obj/item/stock_parts/capacitor/super, - /obj/item/stock_parts/cell/hyper, - /obj/item/stock_parts/cell/super, - /obj/item/stock_parts/cell/bluespace, - /obj/item/stock_parts/matter_bin/bluespace, - /obj/item/stock_parts/matter_bin/super, - /obj/item/stock_parts/matter_bin/adv, - /obj/item/stock_parts/micro_laser/ultra, - /obj/item/stock_parts/micro_laser/quadultra, - /obj/item/stock_parts/micro_laser/high, - /obj/item/stock_parts/scanning_module/triphasic, - /obj/item/stock_parts/scanning_module/phasic, - /obj/item/stock_parts/scanning_module/adv, - /obj/item/reagent_containers/glass/beaker/bluespace, - /obj/item/reagent_containers/glass/beaker/plastic, - /obj/item/reagent_containers/glass/beaker/large, - /obj/item/stock_parts/manipulator/nano, - /obj/item/stock_parts/manipulator/pico, - /obj/item/stock_parts/manipulator/femto - ) - -/obj/effect/spawner/lootdrop/materials - name = "random materials" - lootcount = 3 - loot = list( - /obj/item/stack/sheet/plastic/fifty, - /obj/item/stack/sheet/plastic/five, - /obj/item/stack/sheet/bluespace_crystal/twenty, - /obj/item/stack/sheet/bluespace_crystal/five, - /obj/item/stack/sheet/cardboard/fifty, - /obj/item/stack/sheet/glass/fifty, - /obj/item/stack/sheet/metal/fifty, - /obj/item/stack/sheet/metal/twenty, - /obj/item/stack/sheet/plasteel/twenty, - /obj/item/stack/sheet/mineral/plasma/fifty, - /obj/item/stack/sheet/mineral/plasma/twenty, - /obj/item/stack/sheet/mineral/silver/fifty, - /obj/item/stack/sheet/mineral/titanium/twenty, - /obj/item/stack/sheet/mineral/uranium/twenty, - /obj/item/stack/sheet/mineral/wood/fifty, - /obj/item/stack/sheet/mineral/diamond/twenty, - /obj/item/stack/sheet/mineral/gold/fifty, - /obj/item/stack/cable_coil/red, - /obj/item/stack/rods/fifty - ) - -/obj/effect/spawner/lootdrop/donut - name = "random donut" //donut :) - lootcount = 1 - loot = list( - /obj/item/reagent_containers/food/snacks/donut/apple = 1, - /obj/item/reagent_containers/food/snacks/donut/berry = 1, - /obj/item/reagent_containers/food/snacks/donut/caramel = 1, - /obj/item/reagent_containers/food/snacks/donut/choco = 1, - /obj/item/reagent_containers/food/snacks/donut/laugh = 1, - /obj/item/reagent_containers/food/snacks/donut/matcha = 1, - /obj/item/reagent_containers/food/snacks/donut/meat = 1, - /obj/item/reagent_containers/food/snacks/donut/plain = 1, - /obj/item/reagent_containers/food/snacks/donut/trumpet = 1, - /obj/item/reagent_containers/food/snacks/donut/blumpkin = 1, - /obj/item/reagent_containers/food/snacks/donut/bungo = 1, - /obj/item/reagent_containers/food/snacks/donut/chaos = 1, - ) - -/obj/effect/spawner/lootdrop/donut/jelly - name = "random jelly donut" - lootcount = 1 - loot = list( - /obj/item/reagent_containers/food/snacks/donut/jelly/berry = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/apple = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/blumpkin = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/bungo = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/caramel = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/choco = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/laugh = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/matcha = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/trumpet = 1, - ) - -/obj/effect/spawner/lootdrop/donut/slimejelly - name = "random slimejelly donut" - lootcount = 1 - loot = list( - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/apple = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/berry = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/blumpkin = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/bungo = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/caramel = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/choco = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/laugh = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/matcha = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1, - /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/trumpet = 1, - ) - -/obj/effect/spawner/lootdrop/seeded - name = "GO FORTH AND CULTIVATE" - icon = 'icons/obj/hydroponics/seeds.dmi' - icon_state = "seed"//sneed - loot = list( - /obj/item/seeds/aloe, - /obj/item/seeds/ambrosia, - /obj/item/seeds/apple, - /obj/item/seeds/cotton, - /obj/item/seeds/banana, - /obj/item/seeds/berry, - /obj/item/seeds/cabbage, - /obj/item/seeds/carrot, - /obj/item/seeds/cherry, - /obj/item/seeds/chanter, - /obj/item/seeds/chili, - /obj/item/seeds/cocoapod, - /obj/item/seeds/coffee, - /obj/item/seeds/corn, - /obj/item/seeds/eggplant, - /obj/item/seeds/garlic, - /obj/item/seeds/grape, - /obj/item/seeds/grass, - /obj/item/seeds/lemon, - /obj/item/seeds/lime, - /obj/item/seeds/onion, - /obj/item/seeds/orange, - /obj/item/seeds/peas, - /obj/item/seeds/pineapple, - /obj/item/seeds/potato, - /obj/item/seeds/poppy, - /obj/item/seeds/pumpkin, - /obj/item/seeds/wheat/rice, - /obj/item/seeds/soya, - /obj/item/seeds/sugarcane, - /obj/item/seeds/sunflower, - /obj/item/seeds/tea, - /obj/item/seeds/tobacco, - /obj/item/seeds/tomato, - /obj/item/seeds/tower, - /obj/item/seeds/watermelon, - /obj/item/seeds/wheat, - /obj/item/seeds/whitebeet, - /obj/item/seeds/amanita, - /obj/item/seeds/glowshroom, - /obj/item/seeds/liberty, - /obj/item/seeds/nettle, - /obj/item/seeds/plump, - /obj/item/seeds/reishi, - /obj/item/seeds/cannabis, - /obj/item/seeds/starthistle, - /obj/item/seeds/cherry/bomb, - /obj/item/seeds/berry/glow, - /obj/item/seeds/sunflower/moonflower - ) - -/obj/effect/spawner/lootdrop/flora - name = "random flora spawner" - loot = list( - /obj/structure/flora/tree/chapel, - /obj/structure/flora/tree/pine, - /obj/structure/flora/tree/jungle/small, - /obj/structure/flora/tree/jungle, - /obj/structure/flora/ash/puce, - /obj/structure/flora/ash/fireblossom, - /obj/structure/flora/ash/fern, - /obj/structure/flora/ash/tall_shroom, - /obj/structure/flora/ash/stem_shroom, - /obj/structure/flora/ash/space/voidmelon, - /obj/structure/flora/ash/leaf_shroom, - /obj/structure/flora/junglebush/large, - /obj/structure/flora/junglebush/b, - /obj/structure/flora/junglebush/c, - /obj/structure/flora/ausbushes/fernybush, - /obj/structure/flora/ausbushes/genericbush, - /obj/structure/flora/ausbushes/grassybush, - /obj/structure/flora/ausbushes/leafybush, - /obj/structure/flora/ausbushes/palebush, - /obj/structure/flora/ausbushes/pointybush, - /obj/structure/flora/ausbushes/reedbush, - /obj/structure/flora/ausbushes/stalkybush, - /obj/structure/flora/ausbushes/sunnybush, - /obj/structure/flora/bush, - /obj/structure/flora/grass/jungle, - /obj/structure/flora/junglebush, - /obj/structure/flora/junglebush/b, - /obj/structure/flora/junglebush/c, - /obj/structure/flora/ash, - /obj/structure/flora/ash/cacti, - /obj/structure/flora/ash/cap_shroom, - /obj/structure/flora/ash/chilly, - /obj/structure/flora/tree/palm - ) - lootcount = 1 - -/obj/effect/spawner/lootdrop/flower - name = "random flower spawner" - loot = list( - /obj/structure/flora/ausbushes/brflowers, - /obj/structure/flora/ausbushes/ywflowers, - /obj/structure/flora/ausbushes/ppflowers, - /obj/structure/flora/ausbushes/fullgrass, - /obj/structure/flora/ausbushes/sparsegrass - ) - lootcount = 1 - -/obj/effect/spawner/lootdrop/anomaly - name = "random anomaly spawner" - loot = list( - /obj/effect/anomaly/bluespace/planetary, - /obj/effect/anomaly/flux/planetary, - /obj/effect/anomaly/grav/planetary, - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/pyro/planetary, - /obj/effect/anomaly/vortex/planetary, - /obj/effect/anomaly/grav/high/planetary, - /obj/effect/anomaly/heartbeat/planetary, - /obj/effect/anomaly/sparkler/planetary, - /obj/effect/anomaly/tvstatic/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/plasmasoul/planetary, - /obj/effect/anomaly/phantom/planetary, - /obj/effect/anomaly/melter/planetary, - /obj/effect/anomaly/transfusion/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/safe - name = "relatively safe anomaly spawner" - loot = list( - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/pyro/planetary, - /obj/effect/anomaly/sparkler/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/phantom/planetary, - /obj/effect/anomaly/transfusion/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/dangerous - name = "relatively dangerous anomaly spawner" - loot = list( - /obj/effect/anomaly/bluespace/planetary, - /obj/effect/anomaly/flux/planetary, - /obj/effect/anomaly/grav/planetary, - /obj/effect/anomaly/vortex/planetary, - /obj/effect/anomaly/grav/high/planetary, - /obj/effect/anomaly/heartbeat/planetary, - /obj/effect/anomaly/tvstatic/planetary, - /obj/effect/anomaly/plasmasoul/planetary, - /obj/effect/anomaly/melter/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/big - name = "random big anomaly spawner" - loot = list( - /obj/effect/anomaly/bluespace/big/planetary, - /obj/effect/anomaly/flux/big/planetary, - /obj/effect/anomaly/grav/high/big/planetary, - /obj/effect/anomaly/pyro/big/planetary - - ) - -//handpicked lists relevant to the planets they're on -// /cave lists are made for spawning in cave biomes. Not every anomaly goes well there. We don't have enough anomalies to really populate them all though - -/obj/effect/spawner/lootdrop/anomaly/jungle - name = "Jungle Anomaly Spawner" - loot = list( - /obj/effect/anomaly/flux/planetary, - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/heartbeat/planetary, - /obj/effect/anomaly/tvstatic/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/phantom/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/jungle/cave - loot = list( - /obj/effect/anomaly/flux/planetary, - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/heartbeat/planetary, - /obj/effect/anomaly/tvstatic/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/phantom/planetary, - ) - -//beaches don't currently have anomalies, but I don't see a reason why they couldn't have *some* - -/obj/effect/spawner/lootdrop/anomaly/beach - name = "Beach anomaly spawner" - loot = list( - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/sparkler/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/phantom/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/beach/cave - loot = list( - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/sparkler/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/phantom/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/sand - name = "Sand anomaly spawner" - loot = list( - /obj/effect/anomaly/bluespace/planetary, - /obj/effect/anomaly/flux/planetary, - /obj/effect/anomaly/sparkler/planetary, - /obj/effect/anomaly/tvstatic/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/phantom/planetary, - /obj/effect/anomaly/melter/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/sand/cave - loot = list( - /obj/effect/anomaly/flux/planetary, - /obj/effect/anomaly/pyro/planetary, - /obj/effect/anomaly/sparkler/planetary, - /obj/effect/anomaly/tvstatic/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/phantom/planetary, - /obj/effect/anomaly/melter/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/rock - name = "Rock anomaly spawner" - loot = list( - /obj/effect/anomaly/bluespace/planetary, - /obj/effect/anomaly/flux/planetary, - /obj/effect/anomaly/grav/planetary, - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/pyro/planetary, - /obj/effect/anomaly/vortex/planetary, - /obj/effect/anomaly/grav/high/planetary, - /obj/effect/anomaly/heartbeat/planetary, - /obj/effect/anomaly/sparkler/planetary, - /obj/effect/anomaly/tvstatic/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/plasmasoul/planetary, - /obj/effect/anomaly/phantom/planetary, - /obj/effect/anomaly/melter/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/rock/cave - loot = list( - /obj/effect/anomaly/flux/planetary, - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/pyro/planetary, - /obj/effect/anomaly/heartbeat/planetary, - /obj/effect/anomaly/sparkler/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/plasmasoul/planetary, - /obj/effect/anomaly/phantom/planetary, - /obj/effect/anomaly/melter/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/lava - name = "Lava anomaly spawner" - loot = list( - /obj/effect/anomaly/bluespace/planetary, - /obj/effect/anomaly/flux/planetary, - /obj/effect/anomaly/grav/planetary, - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/pyro/planetary, - /obj/effect/anomaly/vortex/planetary, - /obj/effect/anomaly/plasmasoul/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/lava/cave - loot = list( - /obj/effect/anomaly/flux/planetary, - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/pyro/planetary, - /obj/effect/anomaly/plasmasoul/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/ice - name = "Ice anomaly spawner" - loot = list( - /obj/effect/anomaly/bluespace/planetary, - /obj/effect/anomaly/grav/planetary, - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/vortex/planetary, - /obj/effect/anomaly/grav/high/planetary, - /obj/effect/anomaly/plasmasoul/planetary, - /obj/effect/anomaly/phantom/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/ice/cave - loot = list( - /obj/effect/anomaly/hallucination/planetary, - /obj/effect/anomaly/grav/high/planetary, - /obj/effect/anomaly/plasmasoul/planetary, - /obj/effect/anomaly/phantom/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/waste - name = "Waste anomaly spawner" - loot = list( - /obj/effect/anomaly/vortex/planetary, - /obj/effect/anomaly/heartbeat/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/plasmasoul/planetary, - /obj/effect/anomaly/melter/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/waste/cave - loot = list( - /obj/effect/anomaly/heartbeat/planetary, - /obj/effect/anomaly/veins/planetary, - /obj/effect/anomaly/plasmasoul/planetary, - /obj/effect/anomaly/melter/planetary, - ) - -/obj/effect/spawner/lootdrop/anomaly/storm - loot = list( - /obj/effect/anomaly/flux/storm, - /obj/effect/anomaly/pyro/storm, - /obj/effect/anomaly/sparkler, - /obj/effect/anomaly/veins, - /obj/effect/anomaly/phantom, - /obj/effect/anomaly/melter, - ) - -//wasteplanet things - -/obj/effect/spawner/lootdrop/waste/grille_or_trash - name = "wasteplanet loot spawner" - loot = list( - /obj/structure/grille/broken = 5, - /obj/structure/grille = 5, - /obj/item/flashlight/flare/burnt = 1, - /obj/item/cigbutt = 1, - /obj/item/trash/cheesie = 1, - /obj/item/trash/candy = 1, - /obj/item/trash/chips = 1, - /obj/item/reagent_containers/food/snacks/deadmouse = 1, - /obj/item/trash/pistachios = 1, - /obj/item/trash/plate = 1, - /obj/item/trash/popcorn = 1, - /obj/item/trash/raisins = 1, - /obj/item/trash/sosjerky = 1, - /obj/item/trash/syndi_cakes = 1 - ) - -/obj/effect/spawner/lootdrop/waste/mechwreck - name = "wasteplanet exosuit wreckage" - loot = list( - /obj/structure/mecha_wreckage/ripley = 15, - /obj/structure/mecha_wreckage/ripley/firefighter = 9, - /obj/structure/mecha_wreckage/ripley/mkii = 9, - /obj/structure/mecha_wreckage/ripley/clip = 9 - ) - -/obj/effect/spawner/lootdrop/waste/mechwreck/rare - loot = list( - /obj/structure/mecha_wreckage/durand = 12.5, - /obj/structure/mecha_wreckage/durand/clip = 12.5, - /obj/structure/mecha_wreckage/odysseus = 25, - /obj/structure/mecha_wreckage/gygax = 25 - ) - -/obj/effect/spawner/lootdrop/waste/trash //debatable if this is actually loot - loot = list( - /obj/item/flashlight/flare/burnt = 30, - /obj/effect/decal/cleanable/greenglow/filled = 30, - /obj/effect/decal/cleanable/greenglow/ecto = 1, - /obj/effect/decal/cleanable/glass = 30, - /obj/effect/decal/cleanable/glass/plasma = 30, - /obj/effect/decal/cleanable/glass/strange = 30, - /obj/effect/decal/cleanable/molten_object = 30, - /obj/effect/decal/cleanable/molten_object/large = 30, - /obj/effect/decal/cleanable/oil = 30, - /obj/effect/decal/cleanable/oil/slippery = 1, // :) - /obj/effect/decal/cleanable/plastic = 30, - /obj/effect/decal/cleanable/ash = 30, - /obj/effect/decal/cleanable/ash/large = 30, - ) - -/obj/effect/spawner/lootdrop/waste/radiation - loot = list( - /obj/structure/radioactive = 6, - /obj/structure/radioactive/stack = 6, - /obj/structure/radioactive/waste = 6 - ) - -/obj/effect/spawner/lootdrop/waste/radiation/more_rads - loot = list( - /obj/structure/radioactive = 3, - /obj/structure/radioactive/stack = 12, - /obj/structure/radioactive/waste = 12 - ) - -/obj/effect/spawner/lootdrop/waste/atmos_can - loot = list( - /obj/machinery/portable_atmospherics/canister/toxins = 3, - /obj/machinery/portable_atmospherics/canister/carbon_dioxide = 3, - /obj/machinery/portable_atmospherics/canister/nitrogen = 3, - /obj/machinery/portable_atmospherics/canister/oxygen = 3, - /obj/machinery/portable_atmospherics/canister/nitrous_oxide = 1, - /obj/machinery/portable_atmospherics/canister/water_vapor = 1 - ) - -/obj/effect/spawner/lootdrop/waste/atmos_can/rare - loot = list( - /obj/machinery/portable_atmospherics/canister/tritium = 3, - /obj/machinery/portable_atmospherics/canister/pluoxium = 3 - ) - -/obj/effect/spawner/lootdrop/waste/salvageable - loot = list( - /obj/structure/salvageable/machine = 20, - /obj/structure/salvageable/autolathe = 15, - /obj/structure/salvageable/computer = 10, - /obj/structure/salvageable/protolathe = 10, - /obj/structure/salvageable/circuit_imprinter = 8, - /obj/structure/salvageable/destructive_analyzer = 8, - /obj/structure/salvageable/server = 8 - ) - -/obj/effect/spawner/lootdrop/waste/girder - loot = list( - /obj/structure/girder, - /obj/structure/girder/displaced, - /obj/structure/girder/reinforced - ) -/obj/effect/spawner/lootdrop/waste/hivebot - loot = list( - /obj/effect/spawner/lootdrop/salvage/metal, - /obj/effect/spawner/lootdrop/salvage/metal, - /obj/effect/spawner/lootdrop/salvage/metal, - /obj/effect/spawner/lootdrop/salvage/gold, - /obj/effect/spawner/lootdrop/salvage/plasma, - /obj/effect/spawner/lootdrop/salvage/silver, - /obj/effect/spawner/lootdrop/salvage/titanium, - /obj/item/stack/ore/salvage/scrapbluespace, - /obj/item/stack/ore/salvage/scrapbluespace, - /obj/item/stack/ore/salvage/scrapuranium - ) - lootcount = 2 - -/obj/effect/spawner/lootdrop/waste/hivebot/beacon - lootcount = 6 - -/obj/effect/spawner/lootdrop/salvage - name = "salvage mats spawner" - loot = list( - /obj/item/stack/ore/salvage/scrapmetal, - /obj/item/stack/ore/salvage/scrapgold, - /obj/item/stack/ore/salvage/scrapplasma, - /obj/item/stack/ore/salvage/scrapsilver, - /obj/item/stack/ore/salvage/scraptitanium, - /obj/item/stack/ore/salvage/scrapbluespace, - /obj/item/stack/ore/salvage/scrapuranium - ) - -/obj/effect/spawner/lootdrop/salvage/metal - loot = list( - /obj/item/stack/ore/salvage/scrapmetal - ) - -/obj/effect/spawner/lootdrop/salvage/metal/Initialize() - lootcount = pick(list( - 1, - 2, - 3, - 4 - )) - return ..() - -/obj/effect/spawner/lootdrop/salvage/gold - loot = list( - /obj/item/stack/ore/salvage/scrapgold - ) - -/obj/effect/spawner/lootdrop/salvage/gold/Initialize() - lootcount = pick(list( - 1, - 2, - 3, - 4 - )) - return ..() - -/obj/effect/spawner/lootdrop/salvage/plasma - loot = list( - /obj/item/stack/ore/salvage/scrapplasma - ) -/obj/effect/spawner/lootdrop/salvage/plasma/Initialize() - lootcount = pick(list( - 1, - 2, - 3, - 4 - )) - return ..() - - -/obj/effect/spawner/lootdrop/salvage/silver - loot = list( - /obj/item/stack/ore/salvage/scrapsilver - ) -/obj/effect/spawner/lootdrop/salvage/silver/Initialize() - lootcount = pick(list( - 1, - 2, - 3, - 4 - )) - return ..() - - -/obj/effect/spawner/lootdrop/salvage/titanium - loot = list( - /obj/item/stack/ore/salvage/scraptitanium - ) -/obj/effect/spawner/lootdrop/salvage/titanium/Initialize() - lootcount = pick(list( - 1, - 2, - 3, - 4 - )) - return ..() - -/obj/effect/spawner/lootdrop/salvage/bluespace - loot = list( - /obj/item/stack/ore/salvage/scrapbluespace - ) -/obj/effect/spawner/lootdrop/salvage/bluespace/Initialize() - lootcount = pick(list( - 1, - 2, - 3, - 4 - )) - return ..() - -/obj/effect/spawner/lootdrop/salvage/uranium - loot = list( - /obj/item/stack/ore/salvage/scrapuranium - ) -/obj/effect/spawner/lootdrop/salvage/uranium/Initialize() - lootcount = pick(list( - 1, - 2, - 3, - 4 - )) - return ..() - - -//random RND imprinter/protolathe board spawners. Do not use on maps without a good reason -/obj/effect/spawner/lootdrop/randomprotolathe - name = "random departmental protolathe" - loot = list( - /obj/item/circuitboard/machine/protolathe/department/cargo, - /obj/item/circuitboard/machine/protolathe/department/engineering, - /obj/item/circuitboard/machine/protolathe/department/service, - /obj/item/circuitboard/machine/protolathe/department/medical, - /obj/item/circuitboard/machine/protolathe/department/science, - /obj/item/circuitboard/machine/protolathe/department/security - ) - -/obj/effect/spawner/lootdrop/randomimprinter - name = "random departmental circuit imprinter" - loot = list( - /obj/item/circuitboard/machine/circuit_imprinter/department/cargo, - /obj/item/circuitboard/machine/circuit_imprinter/department/engi, - /obj/item/circuitboard/machine/circuit_imprinter/department/civ, - /obj/item/circuitboard/machine/circuit_imprinter/department/med, - /obj/item/circuitboard/machine/circuit_imprinter/department/science, - /obj/item/circuitboard/machine/circuit_imprinter/department/sec - ) - -/obj/effect/spawner/lootdrop/randomtechfab - name = "random departmental techfab" - loot = list( - /obj/item/circuitboard/machine/techfab/department/service, - /obj/item/circuitboard/machine/techfab/department/cargo, - /obj/item/circuitboard/machine/techfab/department/engineering, - /obj/item/circuitboard/machine/techfab/department/service, - /obj/item/circuitboard/machine/techfab/department/medical, - /obj/item/circuitboard/machine/techfab/department/science, - /obj/item/circuitboard/machine/techfab/department/security - ) - -/obj/effect/spawner/lootdrop/ration - loot = list ( - /obj/item/storage/ration/vegan_chili = 5, - /obj/item/storage/ration/shredded_beef = 5, - /obj/item/storage/ration/pork_spaghetti = 5, - /obj/item/storage/ration/fried_fish = 5, - /obj/item/storage/ration/beef_strips = 5, - /obj/item/storage/ration/chili_macaroni = 5, - /obj/item/storage/ration/chicken_wings_hot_sauce = 5, - /obj/item/storage/ration/fish_stew = 5, - /obj/item/storage/ration/lemon_pepper_chicken = 5, - /obj/item/storage/ration/sausage_peppers_onions = 5, - /obj/item/storage/ration/pork_dumplings_chili_sauce = 5, - /obj/item/storage/ration/battered_fish_sticks = 5, - /obj/item/storage/ration/assorted_salted_offal = 5, - /obj/item/storage/ration/maple_pork_sausage_patty = 5, - /obj/item/storage/ration/pepper_jack_beef_patty = 5, - /obj/item/storage/ration/beef_goulash = 5, - /obj/item/storage/ration/pepperoni_pizza_slice = 5, - /obj/item/storage/ration/blackened_calamari = 5, - /obj/item/storage/ration/elbow_macaroni = 5, - /obj/item/storage/ration/cheese_pizza_slice = 5, - /obj/item/storage/ration/crayons = 2 // :) - ) - -/obj/effect/spawner/lootdrop/chem_jug - loot = list( - /obj/item/reagent_containers/glass/chem_jug/carbon, - /obj/item/reagent_containers/glass/chem_jug/oxygen, - /obj/item/reagent_containers/glass/chem_jug/nitrogen, - /obj/item/reagent_containers/glass/chem_jug/hydrogen, - /obj/item/reagent_containers/glass/chem_jug/radium, - /obj/item/reagent_containers/glass/chem_jug/aluminium, - /obj/item/reagent_containers/glass/chem_jug/chlorine, - /obj/item/reagent_containers/glass/chem_jug/copper, - /obj/item/reagent_containers/glass/chem_jug/bromine, - /obj/item/reagent_containers/glass/chem_jug/iodine, - /obj/item/reagent_containers/glass/chem_jug/potassium, - /obj/item/reagent_containers/glass/chem_jug/sulfur) diff --git a/code/game/objects/effects/spawners/mobspawner.dm b/code/game/objects/effects/spawners/mobspawner.dm index 187b7c155fe0..2161ebd06bb5 100644 --- a/code/game/objects/effects/spawners/mobspawner.dm +++ b/code/game/objects/effects/spawners/mobspawner.dm @@ -1,11 +1,11 @@ -/obj/effect/spawner/lootdrop/randomthreat +/obj/effect/spawner/random/randomthreat var/static/mob_category = rand(1, 3) -/obj/effect/spawner/lootdrop/randomthreat/Initialize(mapload) +/obj/effect/spawner/random/randomthreat/Initialize(mapload) switch(mob_category) if(1) loot = list( - /obj/effect/spawner/lootdrop/hivebotspawner + /obj/effect/spawner/random/hivebotspawner ) if(2) loot = list( @@ -13,28 +13,28 @@ ) if(3) loot = list( - /obj/effect/spawner/lootdrop/spiderspawner + /obj/effect/spawner/random/spiderspawner ) return ..() -/obj/effect/spawner/lootdrop/xenospawner +/obj/effect/spawner/random/xenospawner name = "Xenomorph spawner" loot = list( /mob/living/simple_animal/hostile/alien = 0.3, /mob/living/simple_animal/hostile/alien/drone = 0.2, /mob/living/simple_animal/hostile/alien/sentinel = 0.3, - /obj/effect/spawner/lootdrop/xenoqueenspawner = 0.1 + /obj/effect/spawner/random/xenoqueenspawner = 0.1 ) -/obj/effect/spawner/lootdrop/xenoqueenspawner +/obj/effect/spawner/random/xenoqueenspawner name = "xenomorph queen spawner" loot = list( /mob/living/simple_animal/hostile/alien/queen = 0.2, //regular queen mob isn't actually that strong /mob/living/simple_animal/hostile/alien/queen/large = 0.8 ) -/obj/effect/spawner/lootdrop/hivebotspawner +/obj/effect/spawner/random/hivebotspawner name = "Hivebot spawner" loot = list( @@ -42,7 +42,7 @@ /mob/living/simple_animal/hostile/hivebot, ) -/obj/effect/spawner/lootdrop/spiderspawner +/obj/effect/spawner/random/spiderspawner name = "Spider spawner" loot = list( @@ -51,29 +51,29 @@ /mob/living/simple_animal/hostile/poison/giant_spider/hunter/viper, ) -/obj/effect/spawner/lootdrop/thirtyfive_percent_borerspawner +/obj/effect/spawner/random/thirtyfive_percent_borerspawner name = "35 percent neutered borer spawner" loot = list( /mob/living/simple_animal/borer/sterile = 0.35, - /obj/effect/spawner/lootdrop/maintenance = 0.65, + /obj/effect/spawner/random/maintenance = 0.65, ) -/obj/effect/spawner/lootdrop/chicken +/obj/effect/spawner/random/chicken name = "chicken spawner" loot = list( /mob/living/simple_animal/chicken ) -/obj/effect/spawner/lootdrop/chicken/jungle +/obj/effect/spawner/random/chicken/jungle name = "jungle chicken spawner" loot = list( /mob/living/simple_animal/hostile/retaliate/chicken ) -/obj/effect/spawner/lootdrop/chicken/jungle/flock +/obj/effect/spawner/random/chicken/jungle/flock loot = list( /mob/living/simple_animal/hostile/retaliate/chicken ) - lootcount = 7 - lootdoubles = TRUE + spawn_loot_count = 7 + spawn_loot_double = TRUE diff --git a/code/game/objects/effects/spawners/random.dm/ai_module.dm b/code/game/objects/effects/spawners/random.dm/ai_module.dm new file mode 100644 index 000000000000..7f5eed59e4a0 --- /dev/null +++ b/code/game/objects/effects/spawners/random.dm/ai_module.dm @@ -0,0 +1,41 @@ +/obj/effect/spawner/random/aimodule + name = "AI module spawner" + desc = "State laws human." + icon_state = "circuit" + spawn_loot_double = FALSE + spawn_loot_count = 3 + spawn_loot_split = TRUE + +/obj/effect/spawner/random/aimodule_harmless // These shouldn't allow the AI to start butchering people + name = "harmless AI module spawner" + loot = list( + /obj/item/aiModule/core/full/asimov, + /obj/item/aiModule/core/full/asimovpp, + /obj/item/aiModule/core/full/hippocratic, + /obj/item/aiModule/core/full/paladin_devotion, + /obj/item/aiModule/core/full/paladin + ) + +/obj/effect/spawner/random/aimodule_neutral // These shouldn't allow the AI to start butchering people without reason + name = "neutral AI module spawner" + loot = list( + /obj/item/aiModule/core/full/corp, + /obj/item/aiModule/core/full/maintain, + /obj/item/aiModule/core/full/drone, + /obj/item/aiModule/core/full/peacekeeper, + /obj/item/aiModule/core/full/reporter, + /obj/item/aiModule/core/full/robocop, + /obj/item/aiModule/core/full/liveandletlive, + /obj/item/aiModule/core/full/hulkamania + ) + +/obj/effect/spawner/random/aimodule_harmful // These will get the shuttle called + name = "harmful AI module spawner" + loot = list( + /obj/item/aiModule/core/full/antimov, + /obj/item/aiModule/core/full/balance, + /obj/item/aiModule/core/full/tyrant, + /obj/item/aiModule/core/full/thermurderdynamic, + /obj/item/aiModule/core/full/damaged, + /obj/item/aiModule/reset/purge + ) diff --git a/code/game/objects/effects/spawners/random.dm/anomaly.dm b/code/game/objects/effects/spawners/random.dm/anomaly.dm new file mode 100644 index 000000000000..aa8fa472de2c --- /dev/null +++ b/code/game/objects/effects/spawners/random.dm/anomaly.dm @@ -0,0 +1,222 @@ +/obj/effect/spawner/random/anomaly + name = "random anomaly spawner" + icon_state = "anomaly" + loot = list( + /obj/effect/anomaly/bluespace/planetary, + /obj/effect/anomaly/flux/planetary, + /obj/effect/anomaly/grav/planetary, + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/pyro/planetary, + /obj/effect/anomaly/vortex/planetary, + /obj/effect/anomaly/grav/high/planetary, + /obj/effect/anomaly/heartbeat/planetary, + /obj/effect/anomaly/sparkler/planetary, + /obj/effect/anomaly/tvstatic/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/plasmasoul/planetary, + /obj/effect/anomaly/phantom/planetary, + /obj/effect/anomaly/melter/planetary, + /obj/effect/anomaly/transfusion/planetary, + ) + +/obj/effect/spawner/random/anomaly/safe + name = "relatively safe anomaly spawner" + loot = list( + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/pyro/planetary, + /obj/effect/anomaly/sparkler/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/phantom/planetary, + /obj/effect/anomaly/transfusion/planetary, + ) + +/obj/effect/spawner/random/anomaly/dangerous + name = "relatively dangerous anomaly spawner" + loot = list( + /obj/effect/anomaly/bluespace/planetary, + /obj/effect/anomaly/flux/planetary, + /obj/effect/anomaly/grav/planetary, + /obj/effect/anomaly/vortex/planetary, + /obj/effect/anomaly/grav/high/planetary, + /obj/effect/anomaly/heartbeat/planetary, + /obj/effect/anomaly/tvstatic/planetary, + /obj/effect/anomaly/plasmasoul/planetary, + /obj/effect/anomaly/melter/planetary, + ) + +/obj/effect/spawner/random/anomaly/big + name = "random big anomaly spawner" + icon_state = "big_anomaly" + loot = list( + /obj/effect/anomaly/bluespace/big/planetary, + /obj/effect/anomaly/flux/big/planetary, + /obj/effect/anomaly/grav/high/big/planetary, + /obj/effect/anomaly/pyro/big/planetary + + ) + +//handpicked lists relevant to the planets they're on +// /cave lists are made for spawning in cave biomes. Not every anomaly goes well there. We don't have enough anomalies to really populate them all though + +/obj/effect/spawner/random/anomaly/jungle + name = "Jungle Anomaly Spawner" + loot = list( + /obj/effect/anomaly/flux/planetary, + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/heartbeat/planetary, + /obj/effect/anomaly/tvstatic/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/phantom/planetary, + ) + +/obj/effect/spawner/random/anomaly/jungle/cave + loot = list( + /obj/effect/anomaly/flux/planetary, + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/heartbeat/planetary, + /obj/effect/anomaly/tvstatic/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/phantom/planetary, + ) + +//beaches don't currently have anomalies, but I don't see a reason why they couldn't have *some* + +/obj/effect/spawner/random/anomaly/beach + name = "Beach anomaly spawner" + loot = list( + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/sparkler/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/phantom/planetary, + ) + +/obj/effect/spawner/random/anomaly/beach/cave + loot = list( + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/sparkler/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/phantom/planetary, + ) + +/obj/effect/spawner/random/anomaly/sand + name = "Sand anomaly spawner" + loot = list( + /obj/effect/anomaly/bluespace/planetary, + /obj/effect/anomaly/flux/planetary, + /obj/effect/anomaly/sparkler/planetary, + /obj/effect/anomaly/tvstatic/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/phantom/planetary, + /obj/effect/anomaly/melter/planetary, + ) + +/obj/effect/spawner/random/anomaly/sand/cave + loot = list( + /obj/effect/anomaly/flux/planetary, + /obj/effect/anomaly/pyro/planetary, + /obj/effect/anomaly/sparkler/planetary, + /obj/effect/anomaly/tvstatic/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/phantom/planetary, + /obj/effect/anomaly/melter/planetary, + ) + +/obj/effect/spawner/random/anomaly/rock + name = "Rock anomaly spawner" + loot = list( + /obj/effect/anomaly/bluespace/planetary, + /obj/effect/anomaly/flux/planetary, + /obj/effect/anomaly/grav/planetary, + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/pyro/planetary, + /obj/effect/anomaly/vortex/planetary, + /obj/effect/anomaly/grav/high/planetary, + /obj/effect/anomaly/heartbeat/planetary, + /obj/effect/anomaly/sparkler/planetary, + /obj/effect/anomaly/tvstatic/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/plasmasoul/planetary, + /obj/effect/anomaly/phantom/planetary, + /obj/effect/anomaly/melter/planetary, + ) + +/obj/effect/spawner/random/anomaly/rock/cave + loot = list( + /obj/effect/anomaly/flux/planetary, + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/pyro/planetary, + /obj/effect/anomaly/heartbeat/planetary, + /obj/effect/anomaly/sparkler/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/plasmasoul/planetary, + /obj/effect/anomaly/phantom/planetary, + /obj/effect/anomaly/melter/planetary, + ) + +/obj/effect/spawner/random/anomaly/lava + name = "Lava anomaly spawner" + loot = list( + /obj/effect/anomaly/bluespace/planetary, + /obj/effect/anomaly/flux/planetary, + /obj/effect/anomaly/grav/planetary, + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/pyro/planetary, + /obj/effect/anomaly/vortex/planetary, + /obj/effect/anomaly/plasmasoul/planetary, + ) + +/obj/effect/spawner/random/anomaly/lava/cave + loot = list( + /obj/effect/anomaly/flux/planetary, + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/pyro/planetary, + /obj/effect/anomaly/plasmasoul/planetary, + ) + +/obj/effect/spawner/random/anomaly/ice + name = "Ice anomaly spawner" + loot = list( + /obj/effect/anomaly/bluespace/planetary, + /obj/effect/anomaly/grav/planetary, + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/vortex/planetary, + /obj/effect/anomaly/grav/high/planetary, + /obj/effect/anomaly/plasmasoul/planetary, + /obj/effect/anomaly/phantom/planetary, + ) + +/obj/effect/spawner/random/anomaly/ice/cave + loot = list( + /obj/effect/anomaly/hallucination/planetary, + /obj/effect/anomaly/grav/high/planetary, + /obj/effect/anomaly/plasmasoul/planetary, + /obj/effect/anomaly/phantom/planetary, + ) + +/obj/effect/spawner/random/anomaly/waste + name = "Waste anomaly spawner" + loot = list( + /obj/effect/anomaly/vortex/planetary, + /obj/effect/anomaly/heartbeat/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/plasmasoul/planetary, + /obj/effect/anomaly/melter/planetary, + ) + +/obj/effect/spawner/random/anomaly/waste/cave + loot = list( + /obj/effect/anomaly/heartbeat/planetary, + /obj/effect/anomaly/veins/planetary, + /obj/effect/anomaly/plasmasoul/planetary, + /obj/effect/anomaly/melter/planetary, + ) + +/obj/effect/spawner/random/anomaly/storm + loot = list( + /obj/effect/anomaly/flux/storm, + /obj/effect/anomaly/pyro/storm, + /obj/effect/anomaly/sparkler, + /obj/effect/anomaly/veins, + /obj/effect/anomaly/phantom, + /obj/effect/anomaly/melter, + ) diff --git a/code/game/objects/effects/spawners/random.dm/bedsheet.dm b/code/game/objects/effects/spawners/random.dm/bedsheet.dm new file mode 100644 index 000000000000..f8a53fffd2c9 --- /dev/null +++ b/code/game/objects/effects/spawners/random.dm/bedsheet.dm @@ -0,0 +1,33 @@ +/obj/effect/spawner/random/bedsheet + name = "random dorm bedsheet" + icon_state = "random_bedsheet" + loot = list( + /obj/item/bedsheet, + /obj/item/bedsheet/blue, + /obj/item/bedsheet/green, + /obj/item/bedsheet/grey, + /obj/item/bedsheet/orange, + /obj/item/bedsheet/purple, + /obj/item/bedsheet/red, + /obj/item/bedsheet/yellow, + /obj/item/bedsheet/brown, + /obj/item/bedsheet/black, + /obj/item/bedsheet/rainbow + ) + +/obj/effect/spawner/random/bedsheet/double + name = "random dorm double bedsheet" + icon_state = "random_doublesheet" + loot = list( + /obj/item/bedsheet/double, + /obj/item/bedsheet/double/blue, + /obj/item/bedsheet/double/green, + /obj/item/bedsheet/double/grey, + /obj/item/bedsheet/double/orange, + /obj/item/bedsheet/double/purple, + /obj/item/bedsheet/double/red, + /obj/item/bedsheet/double/yellow, + /obj/item/bedsheet/double/brown, + /obj/item/bedsheet/double/black, + /obj/item/bedsheet/double/rainbow + ) diff --git a/code/game/objects/effects/spawners/random.dm/boards.dm b/code/game/objects/effects/spawners/random.dm/boards.dm new file mode 100644 index 000000000000..0104d17326d7 --- /dev/null +++ b/code/game/objects/effects/spawners/random.dm/boards.dm @@ -0,0 +1,245 @@ +// Tech storage circuit board spawners + +/obj/effect/spawner/random/techstorage + name = "generic circuit board spawner" + icon_state = "circuit" + spawn_loot_split = TRUE + spawn_all_loot = TRUE + +/obj/effect/spawner/random/techstorage/service + name = "service circuit board spawner" + loot = list( + /obj/item/circuitboard/computer/arcade/battle, + /obj/item/circuitboard/computer/arcade/orion_trail, + /obj/item/circuitboard/machine/autolathe, + /obj/item/circuitboard/computer/mining, + /obj/item/circuitboard/machine/ore_redemption, + /obj/item/circuitboard/machine/vending/mining_equipment, + /obj/item/circuitboard/machine/microwave, + /obj/item/circuitboard/machine/chem_dispenser/drinks, + /obj/item/circuitboard/machine/chem_dispenser/drinks/beer, + /obj/item/circuitboard/computer/slot_machine + ) + +/obj/effect/spawner/random/techstorage/rnd + name = "RnD circuit board spawner" + loot = list( + /obj/item/circuitboard/computer/aifixer, + /obj/item/circuitboard/machine/rdserver, + /obj/item/circuitboard/machine/mechfab, + /obj/item/circuitboard/machine/circuit_imprinter/department, + /obj/item/circuitboard/computer/teleporter, + /obj/item/circuitboard/machine/destructive_analyzer, + /obj/item/circuitboard/computer/rdconsole, + /obj/item/circuitboard/computer/nanite_chamber_control, + /obj/item/circuitboard/computer/nanite_cloud_controller, + /obj/item/circuitboard/machine/nanite_chamber, + /obj/item/circuitboard/machine/nanite_programmer, + /obj/item/circuitboard/machine/nanite_program_hub + ) + +/obj/effect/spawner/random/techstorage/security + name = "security circuit board spawner" + loot = list( + /obj/item/circuitboard/computer/secure_data, + /obj/item/circuitboard/computer/security, + /obj/item/circuitboard/computer/prisoner + ) + +/obj/effect/spawner/random/techstorage/engineering + name = "engineering circuit board spawner" + loot = list( + /obj/item/circuitboard/computer/atmos_alert, + /obj/item/circuitboard/computer/stationalert, + /obj/item/circuitboard/computer/powermonitor + ) + +/obj/effect/spawner/random/techstorage/tcomms + name = "tcomms circuit board spawner" + loot = list( + /obj/item/circuitboard/computer/message_monitor, + /obj/item/circuitboard/machine/telecomms/broadcaster, + /obj/item/circuitboard/machine/telecomms/bus, + /obj/item/circuitboard/machine/telecomms/server, + /obj/item/circuitboard/machine/telecomms/receiver, + /obj/item/circuitboard/machine/telecomms/processor, + /obj/item/circuitboard/machine/announcement_system, + /obj/item/circuitboard/computer/comm_server, + /obj/item/circuitboard/computer/comm_monitor + ) + +/obj/effect/spawner/random/techstorage/medical + name = "medical circuit board spawner" + loot = list( + /obj/item/circuitboard/machine/chem_dispenser, + /obj/item/circuitboard/computer/scan_consolenew, + /obj/item/circuitboard/computer/med_data, + /obj/item/circuitboard/machine/smoke_machine, + /obj/item/circuitboard/machine/chem_master, + /obj/item/circuitboard/machine/dnascanner, + /obj/item/circuitboard/computer/pandemic + ) + +/obj/effect/spawner/random/techstorage/ai_all + name = "secure AI circuit board spawner" + loot = list( + /obj/item/circuitboard/computer/aiupload, + /obj/item/circuitboard/computer/borgupload, + /obj/item/circuitboard/aicore + ) + +/obj/effect/spawner/random/techstorage/command + name = "secure command circuit board spawner" + loot = list( + /obj/item/circuitboard/computer/crew, + /obj/item/circuitboard/computer/communications, + /obj/item/circuitboard/computer/card + ) + +/obj/effect/spawner/random/techstorage/rnd_secure + name = "secure RnD circuit board spawner" + loot = list( + /obj/item/circuitboard/computer/mecha_control, + /obj/item/circuitboard/computer/apc_control, + /obj/item/circuitboard/computer/robotics + ) + +//random RND imprinter/protolathe board spawners. Do not use on maps without a good reason +/obj/effect/spawner/random/circuit/protolathe + name = "random departmental protolathe" + icon_state = "circuit" + loot = list( + /obj/item/circuitboard/machine/protolathe/department/cargo, + /obj/item/circuitboard/machine/protolathe/department/engineering, + /obj/item/circuitboard/machine/protolathe/department/service, + /obj/item/circuitboard/machine/protolathe/department/medical, + /obj/item/circuitboard/machine/protolathe/department/science, + /obj/item/circuitboard/machine/protolathe/department/security + ) + +/obj/effect/spawner/random/circuit/imprinter + name = "random departmental circuit imprinter" + icon_state = "circuit" + loot = list( + /obj/item/circuitboard/machine/circuit_imprinter/department/cargo, + /obj/item/circuitboard/machine/circuit_imprinter/department/engi, + /obj/item/circuitboard/machine/circuit_imprinter/department/civ, + /obj/item/circuitboard/machine/circuit_imprinter/department/med, + /obj/item/circuitboard/machine/circuit_imprinter/department/science, + /obj/item/circuitboard/machine/circuit_imprinter/department/sec + ) + +/obj/effect/spawner/random/circuit/techfab + name = "random departmental techfab" + icon_state = "circuit" + loot = list( + /obj/item/circuitboard/machine/techfab/department/service, + /obj/item/circuitboard/machine/techfab/department/cargo, + /obj/item/circuitboard/machine/techfab/department/engineering, + /obj/item/circuitboard/machine/techfab/department/service, + /obj/item/circuitboard/machine/techfab/department/medical, + /obj/item/circuitboard/machine/techfab/department/science, + /obj/item/circuitboard/machine/techfab/department/security + ) + +/obj/effect/spawner/random/rnd + name = "random RND spawner" + icon_state = "circuit" + loot = list( + /obj/item/storage/box/rndmining, + /obj/item/storage/box/rndengi, + /obj/item/storage/box/rndsec, + /obj/item/storage/box/rndciv, + /obj/item/storage/box/rndmed + ) + +/obj/effect/spawner/random/circuit/machine/common + loot = list( + /obj/item/circuitboard/machine/autolathe = 5, + /obj/item/circuitboard/machine/biogenerator = 5, + /obj/item/circuitboard/machine/cell_charger = 5, + /obj/item/circuitboard/machine/chem_heater = 5, + /obj/item/circuitboard/machine/chem_master = 5, + /obj/item/circuitboard/machine/clonescanner = 5, + /obj/item/circuitboard/machine/cryo_tube = 5, + /obj/item/circuitboard/machine/cyborgrecharger = 5, + /obj/item/circuitboard/machine/deep_fryer = 5, + /obj/item/circuitboard/machine/experimentor = 5, + /obj/item/circuitboard/machine/holopad = 5, + /obj/item/circuitboard/machine/hydroponics = 5, + /obj/item/circuitboard/machine/limbgrower = 5, + /obj/item/circuitboard/machine/ltsrbt = 5, + /obj/item/circuitboard/machine/mech_recharger = 5, + /obj/item/circuitboard/machine/mechfab = 5, + /obj/item/circuitboard/machine/medical_kiosk = 5, + /obj/item/circuitboard/machine/medipen_refiller = 5, + /obj/item/circuitboard/machine/microwave = 5, + /obj/item/circuitboard/machine/ore_redemption = 5, + /obj/item/circuitboard/machine/ore_silo = 5, + /obj/item/circuitboard/machine/reagentgrinder = 5, + /obj/item/circuitboard/machine/recharger = 5, + /obj/item/circuitboard/machine/seed_extractor = 5, + /obj/item/circuitboard/machine/selling_pad = 5, + /obj/item/circuitboard/machine/emitter = 5, + ) + +/obj/effect/spawner/random/circuit + icon_state = "circuit" + +/obj/effect/spawner/random/circuit/machine/rare + loot = list( + /obj/item/circuitboard/aicore = 5, + /obj/item/circuitboard/machine/chem_dispenser = 5, + /obj/item/circuitboard/machine/circuit_imprinter = 5, + /obj/item/circuitboard/machine/protolathe = 5, + /obj/item/circuitboard/machine/clonepod/experimental = 5, + /obj/item/circuitboard/machine/rad_collector = 5, + /obj/item/circuitboard/machine/launchpad = 5, + ) + +/obj/effect/spawner/random/circuit/machine/mech + loot = list( + /obj/item/circuitboard/mecha/ripley/main = 100, + /obj/item/circuitboard/mecha/ripley/peripherals = 100, + /obj/item/circuitboard/mecha/honker/main = 5, + /obj/item/circuitboard/mecha/honker/peripherals = 5, + /obj/item/circuitboard/mecha/odysseus/main = 5, + /obj/item/circuitboard/mecha/odysseus/peripherals = 5, + /obj/item/circuitboard/mecha/gygax/main = 1, + /obj/item/circuitboard/mecha/gygax/peripherals = 1, + /obj/item/circuitboard/mecha/gygax/targeting = 1, + /obj/item/circuitboard/mecha/durand/main = 1, + /obj/item/circuitboard/mecha/durand/peripherals = 1, + /obj/item/circuitboard/mecha/durand/targeting = 1, + ) + +//COMPUTER +/obj/effect/spawner/random/circuit/computer/common + loot = list( + /obj/item/circuitboard/computer/aifixer = 5, + /obj/item/circuitboard/computer/arcade/amputation = 5, + /obj/item/circuitboard/computer/arcade/battle = 5, + /obj/item/circuitboard/computer/arcade/orion_trail = 5, + /obj/item/circuitboard/computer/atmos_alert = 5, + /obj/item/circuitboard/computer/card = 5, + /obj/item/circuitboard/computer/cloning = 5, + /obj/item/circuitboard/computer/communications = 5, + /obj/item/circuitboard/computer/launchpad_console = 5, + /obj/item/circuitboard/computer/mech_bay_power_console = 5, + /obj/item/circuitboard/computer/pandemic = 5, + /obj/item/circuitboard/computer/powermonitor/secret = 5, + /obj/item/circuitboard/computer/prototype_cloning = 5, + /obj/item/circuitboard/computer/stationalert = 5, + /obj/item/circuitboard/computer/teleporter = 5, + /obj/item/circuitboard/computer/operating = 5, + /obj/item/circuitboard/computer/crew = 5, + /obj/item/circuitboard/computer/scan_consolenew = 5, + ) + +/obj/effect/spawner/random/circuit/computer/rare + loot = list( + /obj/item/circuitboard/computer/cargo = 5, + /obj/item/circuitboard/computer/communications = 5, + /obj/item/circuitboard/computer/shuttle/helm = 5, + /obj/item/circuitboard/computer/med_data = 5, + ) diff --git a/code/game/objects/effects/spawners/random.dm/bureaucracy.dm b/code/game/objects/effects/spawners/random.dm/bureaucracy.dm new file mode 100644 index 000000000000..b55c9dc7b364 --- /dev/null +++ b/code/game/objects/effects/spawners/random.dm/bureaucracy.dm @@ -0,0 +1,68 @@ +/obj/effect/spawner/random/bureaucracy + name = "bureaucracy loot spawner" + desc = "For the exotic art of paper shuffling." + +/obj/effect/spawner/random/bureaucracy/pen + name = "pen spawner" + icon_state = "pen" + loot = list( + /obj/item/pen = 30, + /obj/item/pen/blue = 5, + /obj/item/pen/red = 5, + /obj/item/flashlight/pen = 5, + /obj/item/pen/fourcolor = 2, + /obj/item/pen/fountain = 1, + ) + +/obj/effect/spawner/random/bureaucracy/stamp + name = "stamp spawner" + icon_state = "stamp" + loot = list( + /obj/item/stamp = 3, + /obj/item/stamp/denied = 1, + ) + +/obj/effect/spawner/random/bureaucracy/crayon + name = "crayon spawner" + icon_state = "crayon" + loot = list( + /obj/item/toy/crayon/red, + /obj/item/toy/crayon/orange, + /obj/item/toy/crayon/yellow, + /obj/item/toy/crayon/green, + /obj/item/toy/crayon/blue, + /obj/item/toy/crayon/purple, + /obj/item/toy/crayon/black, + /obj/item/toy/crayon/white, + ) + +/obj/effect/spawner/random/bureaucracy/paper + name = "paper spawner" + icon_state = "paper" + loot = list( + /obj/item/paper = 20, + /obj/item/paper/crumpled = 2, + /obj/item/paper/crumpled/bloody = 2, + /obj/item/paper/crumpled/muddy = 2, + /obj/item/paper/construction = 1, + /obj/item/paper/carbon = 1, + ) + +/obj/effect/spawner/random/bureaucracy/briefcase + name = "briefcase spawner" + icon_state = "briefcase" + loot = list( + /obj/item/storage/briefcase = 3, + /obj/item/storage/briefcase/lawyer = 1, + ) + +/obj/effect/spawner/random/bureaucracy/folder + name = "folder spawner" + icon_state = "folder" + loot = list( + /obj/item/folder/blue, + /obj/item/folder/red, + /obj/item/folder/yellow, + /obj/item/folder/white, + /obj/item/folder, + ) diff --git a/code/game/objects/effects/spawners/random.dm/clothing.dm b/code/game/objects/effects/spawners/random.dm/clothing.dm new file mode 100644 index 000000000000..e5137f9e5078 --- /dev/null +++ b/code/game/objects/effects/spawners/random.dm/clothing.dm @@ -0,0 +1,67 @@ +/obj/effect/spawner/random/clothing + name = "clothing loot spawner" + desc = "Time to look pretty." + icon_state = "suit" + +/obj/effect/spawner/random/clothing/gloves + name = "random gloves" + desc = "These gloves are supposed to be a random color..." + icon_state = "gloves" + loot = list( + /obj/item/clothing/gloves/color/orange, + /obj/item/clothing/gloves/color/red, + /obj/item/clothing/gloves/color/blue, + /obj/item/clothing/gloves/color/purple, + /obj/item/clothing/gloves/color/green, + /obj/item/clothing/gloves/color/grey, + /obj/item/clothing/gloves/color/light_brown, + /obj/item/clothing/gloves/color/brown, + /obj/item/clothing/gloves/color/white, + /obj/item/clothing/gloves/color/rainbow + ) + +/obj/effect/spawner/random/clothing/costume + name = "random costume spawner" + icon_state = "costume" + loot_subtype_path = /obj/effect/spawner/costume + loot = list() + +/obj/effect/spawner/random/clothing/beret_or_rabbitears + name = "beret or rabbit ears spawner" + loot = list( + /obj/item/clothing/head/beret + ) + +/obj/effect/spawner/random/clothing/bowler_or_that + name = "bowler or top hat spawner" + loot = list( + /obj/item/clothing/head/that + ) + +/obj/effect/spawner/random/clothing/kittyears_or_rabbitears + name = "kitty ears or rabbit ears spawner" + loot = list( + /obj/item/clothing/head/kitty + ) + +/obj/effect/spawner/random/clothing/pirate_or_bandana + name = "pirate hat or bandana spawner" + loot = list( + /obj/item/clothing/head/pirate, + /obj/item/clothing/head/bandana + ) + +/obj/effect/spawner/random/clothing/twentyfive_percent_cyborg_mask + name = "25% cyborg mask spawner" + spawn_loot_chance = 25 + loot = list(/obj/item/clothing/mask/gas/cyborg) + +/obj/effect/spawner/random/clothing/mafia_outfit + name = "mafia outfit spawner" + icon_state = "costume" + loot = list( + /obj/effect/spawner/costume/mafia = 20, + /obj/effect/spawner/costume/mafia/white = 5, + /obj/effect/spawner/costume/mafia/checkered = 2, + /obj/effect/spawner/costume/mafia/beige = 5 + ) diff --git a/code/game/objects/effects/spawners/random.dm/decoration.dm b/code/game/objects/effects/spawners/random.dm/decoration.dm new file mode 100644 index 000000000000..7af7af7fe85b --- /dev/null +++ b/code/game/objects/effects/spawners/random.dm/decoration.dm @@ -0,0 +1,118 @@ +/obj/effect/spawner/random/decoration + name = "decoration loot spawner" + desc = "Time for some bling bling." + icon_state = "lamp" + +/obj/effect/spawner/random/decoration/material + name = "decoration material spawner" + icon_state = "tile" + loot = list( + /obj/item/stack/sheet/sandblock{amount = 30} = 25, + /obj/item/stack/sheet/mineral/wood{amount = 30} = 25, + /obj/item/stack/tile/noslip{amount = 20} = 10, + /obj/item/stack/sheet/plastic{amount = 30} = 10, + /obj/item/stack/tile/pod{amount = 20} = 4, + /obj/item/stack/tile/pod/light{amount = 20} = 3, + /obj/item/stack/tile/pod/dark{amount = 20} = 3, + ) + +/obj/effect/spawner/random/decoration/carpet + name = "carpet spawner" + icon_state = "carpet" + loot = list( + /obj/item/stack/tile/carpet{amount = 30} = 35, + /obj/item/stack/tile/carpet/black{amount = 30} = 20, + ) + +/obj/effect/spawner/random/decoration/ornament + name = "ornament spawner" + icon_state = "lamp" + loot = list( + /obj/item/flashlight/lamp = 35, + /obj/item/flashlight/lamp/green = 35, + /obj/item/flashlight/lantern = 10, + /obj/item/flashlight/lamp/bananalamp = 5, + ) +/obj/effect/spawner/random/decoration/glowstick + name = "random colored glowstick" + icon_state = "glowstick" + loot_type_path = /obj/item/flashlight/glowstick + loot = list() + +/obj/effect/spawner/random/decoration/glowstick/on + name = "random colored glowstick (on)" + icon_state = "glowstick" + +/obj/effect/spawner/random/decoration/glowstick/on/make_item(spawn_loc, type_path_to_make) + . = ..() + + var/obj/item/flashlight/glowstick = . + + glowstick.set_light_on(TRUE) + +/obj/effect/spawner/random/decoration/paint + name = "paint spawner" + icon_state = "paint" + loot_subtype_path = /obj/item/paint + loot = list() + +/obj/effect/spawner/random/decoration/flower + name = "random grown flower spawner" + icon_state = "flower" + loot = list( + /obj/item/reagent_containers/food/snacks/grown/poppy, + /obj/item/reagent_containers/food/snacks/grown/harebell, + /obj/item/reagent_containers/food/snacks/grown/trumpet, + ) + +/obj/effect/spawner/random/flora + name = "random flora spawner" + loot = list( + /obj/structure/flora/tree/chapel, + /obj/structure/flora/tree/pine, + /obj/structure/flora/tree/jungle/small, + /obj/structure/flora/tree/jungle, + /obj/structure/flora/ash/puce, + /obj/structure/flora/ash/fireblossom, + /obj/structure/flora/ash/fern, + /obj/structure/flora/ash/tall_shroom, + /obj/structure/flora/ash/stem_shroom, + /obj/structure/flora/ash/space/voidmelon, + /obj/structure/flora/ash/leaf_shroom, + /obj/structure/flora/junglebush/large, + /obj/structure/flora/junglebush/b, + /obj/structure/flora/junglebush/c, + /obj/structure/flora/ausbushes/fernybush, + /obj/structure/flora/ausbushes/genericbush, + /obj/structure/flora/ausbushes/grassybush, + /obj/structure/flora/ausbushes/leafybush, + /obj/structure/flora/ausbushes/palebush, + /obj/structure/flora/ausbushes/pointybush, + /obj/structure/flora/ausbushes/reedbush, + /obj/structure/flora/ausbushes/stalkybush, + /obj/structure/flora/ausbushes/sunnybush, + /obj/structure/flora/bush, + /obj/structure/flora/grass/jungle, + /obj/structure/flora/junglebush, + /obj/structure/flora/junglebush/b, + /obj/structure/flora/junglebush/c, + /obj/structure/flora/ash, + /obj/structure/flora/ash/cacti, + /obj/structure/flora/ash/cap_shroom, + /obj/structure/flora/ash/chilly, + /obj/structure/flora/tree/palm + ) + spawn_loot_count = 1 + +/obj/effect/spawner/random/flower + name = "random flower spawner" + icon_state = "flower" + loot = list( + /obj/structure/flora/ausbushes/brflowers, + /obj/structure/flora/ausbushes/ywflowers, + /obj/structure/flora/ausbushes/ppflowers, + /obj/structure/flora/ausbushes/fullgrass, + /obj/structure/flora/ausbushes/sparsegrass + ) + spawn_loot_count = 1 + diff --git a/code/game/objects/effects/spawners/random.dm/engineering.dm b/code/game/objects/effects/spawners/random.dm/engineering.dm new file mode 100644 index 000000000000..81f264039feb --- /dev/null +++ b/code/game/objects/effects/spawners/random.dm/engineering.dm @@ -0,0 +1,138 @@ +/obj/effect/spawner/random/engineering + name = "engineering loot spawner" + desc = "All engineering related spawners go here" + icon_state = "toolbox" + +/obj/effect/spawner/random/engineering/tool + loot = list( + /obj/effect/spawner/random/engineering/tool/common = 120, + /obj/effect/spawner/random/engineering/tool/sydnie = 20, + /obj/effect/spawner/random/engineering/tool/adv = 5, + ) + +/obj/effect/spawner/random/engineering/tool/common + loot = list( + /obj/item/wrench/crescent = 1, + /obj/item/screwdriver = 1, + /obj/item/weldingtool = 1, + /obj/item/crowbar = 1, + /obj/item/wirecutters = 1, + /obj/item/multitool = 1, + ) + +/obj/effect/spawner/random/engineering/tool/sydnie + loot = list( + /obj/item/wrench/syndie = 1, + /obj/item/screwdriver/nuke = 1, + /obj/item/weldingtool/largetank = 1, + /obj/item/crowbar/syndie = 1, + /obj/item/wirecutters/syndie = 1, + /obj/item/multitool/syndie = 1, + ) + +/obj/effect/spawner/random/engineering/tool/adv + loot = list( + /obj/item/screwdriver/power = 1, + /obj/item/weldingtool/experimental = 1, + /obj/item/crowbar/power = 1, + ) + +/obj/effect/spawner/random/stockparts + name = "random good stock parts" + spawn_loot_count = 6 + loot = list( + /obj/item/stock_parts/capacitor/adv, + /obj/item/stock_parts/capacitor/quadratic, + /obj/item/stock_parts/capacitor/super, + /obj/item/stock_parts/cell/hyper, + /obj/item/stock_parts/cell/super, + /obj/item/stock_parts/cell/bluespace, + /obj/item/stock_parts/matter_bin/bluespace, + /obj/item/stock_parts/matter_bin/super, + /obj/item/stock_parts/matter_bin/adv, + /obj/item/stock_parts/micro_laser/ultra, + /obj/item/stock_parts/micro_laser/quadultra, + /obj/item/stock_parts/micro_laser/high, + /obj/item/stock_parts/scanning_module/triphasic, + /obj/item/stock_parts/scanning_module/phasic, + /obj/item/stock_parts/scanning_module/adv, + /obj/item/reagent_containers/glass/beaker/bluespace, + /obj/item/reagent_containers/glass/beaker/plastic, + /obj/item/reagent_containers/glass/beaker/large, + /obj/item/stock_parts/manipulator/nano, + /obj/item/stock_parts/manipulator/pico, + /obj/item/stock_parts/manipulator/femto + ) + +/obj/effect/spawner/random/materials + name = "random bulk materials" + spawn_loot_count = 2 + loot = list( + /obj/item/stack/sheet/plastic/fifty, + /obj/item/stack/sheet/bluespace_crystal/twenty, + /obj/item/stack/sheet/cardboard/fifty, + /obj/item/stack/sheet/glass/fifty, + /obj/item/stack/sheet/metal/fifty, + /obj/item/stack/sheet/plasteel/twenty, + /obj/item/stack/sheet/mineral/plasma/fifty, + /obj/item/stack/sheet/mineral/silver/fifty, + /obj/item/stack/sheet/mineral/titanium/fifty, + /obj/item/stack/sheet/mineral/uranium/fifty, + /obj/item/stack/sheet/mineral/wood/fifty, + /obj/item/stack/sheet/mineral/diamond/twenty, + /obj/item/stack/sheet/mineral/gold/fifty, + /obj/item/stack/cable_coil/red, + /obj/item/stack/rods/fifty + ) + +/obj/effect/spawner/random/stockparts + name = "random good stock parts" + spawn_loot_count = 5 + loot = list( + /obj/item/stock_parts/capacitor/adv, + /obj/item/stock_parts/capacitor/quadratic, + /obj/item/stock_parts/capacitor/super, + /obj/item/stock_parts/cell/hyper, + /obj/item/stock_parts/cell/super, + /obj/item/stock_parts/cell/bluespace, + /obj/item/stock_parts/matter_bin/bluespace, + /obj/item/stock_parts/matter_bin/super, + /obj/item/stock_parts/matter_bin/adv, + /obj/item/stock_parts/micro_laser/ultra, + /obj/item/stock_parts/micro_laser/quadultra, + /obj/item/stock_parts/micro_laser/high, + /obj/item/stock_parts/scanning_module/triphasic, + /obj/item/stock_parts/scanning_module/phasic, + /obj/item/stock_parts/scanning_module/adv, + /obj/item/reagent_containers/glass/beaker/bluespace, + /obj/item/reagent_containers/glass/beaker/plastic, + /obj/item/reagent_containers/glass/beaker/large, + /obj/item/stock_parts/manipulator/nano, + /obj/item/stock_parts/manipulator/pico, + /obj/item/stock_parts/manipulator/femto + ) + +/obj/effect/spawner/random/materials + name = "random materials" + spawn_loot_count = 3 + loot = list( + /obj/item/stack/sheet/plastic/fifty, + /obj/item/stack/sheet/plastic/five, + /obj/item/stack/sheet/bluespace_crystal/twenty, + /obj/item/stack/sheet/bluespace_crystal/five, + /obj/item/stack/sheet/cardboard/fifty, + /obj/item/stack/sheet/glass/fifty, + /obj/item/stack/sheet/metal/fifty, + /obj/item/stack/sheet/metal/twenty, + /obj/item/stack/sheet/plasteel/twenty, + /obj/item/stack/sheet/mineral/plasma/fifty, + /obj/item/stack/sheet/mineral/plasma/twenty, + /obj/item/stack/sheet/mineral/silver/fifty, + /obj/item/stack/sheet/mineral/titanium/twenty, + /obj/item/stack/sheet/mineral/uranium/twenty, + /obj/item/stack/sheet/mineral/wood/fifty, + /obj/item/stack/sheet/mineral/diamond/twenty, + /obj/item/stack/sheet/mineral/gold/fifty, + /obj/item/stack/cable_coil/red, + /obj/item/stack/rods/fifty + ) diff --git a/code/game/objects/effects/spawners/random.dm/entertainment.dm b/code/game/objects/effects/spawners/random.dm/entertainment.dm new file mode 100644 index 000000000000..8e51ddf384c0 --- /dev/null +++ b/code/game/objects/effects/spawners/random.dm/entertainment.dm @@ -0,0 +1,282 @@ +/obj/effect/spawner/random/entertainment + name = "entertainment loot spawner" + desc = "It's time to paaaaaarty!" + +/obj/effect/spawner/random/entertainment/arcade + name = "spawn random arcade machine" + desc = "Automagically transforms into a random arcade machine. If you see this while in a shift, please create a bug report." + icon_state = "arcade" + loot = list( + /obj/machinery/computer/arcade/orion_trail = 49, + /obj/machinery/computer/arcade/battle = 49, + /obj/machinery/computer/arcade/amputation = 2, + ) + +/obj/effect/spawner/random/entertainment/musical_instrument + name = "musical instrument spawner" + icon_state = "eguitar" + loot = list( + /obj/item/instrument/violin = 5, + /obj/item/instrument/banjo = 5, + /obj/item/instrument/guitar = 5, + /obj/item/instrument/eguitar = 5, + /obj/item/instrument/glockenspiel = 5, + /obj/item/instrument/accordion = 5, + /obj/item/instrument/trumpet = 5, + /obj/item/instrument/saxophone = 5, + /obj/item/instrument/trombone = 5, + /obj/item/instrument/recorder = 5, + /obj/item/instrument/harmonica = 5, + /obj/item/instrument/bikehorn = 2, + /obj/item/instrument/violin/golden = 2, + ) + +/obj/effect/spawner/random/entertainment/gambling + name = "gambling valuables spawner" + icon_state = "dice" + loot = list( + /obj/item/clothing/head/trapper = 3, + /obj/effect/spawner/random/entertainment/coin = 3, + /obj/effect/spawner/random/entertainment/money = 3, + /obj/item/dice/d6 = 3, + /obj/item/storage/box/syndie_kit/throwing_weapons = 1, + /obj/item/reagent_containers/food/drinks/bottle/vodka/badminka, + ) + +/obj/effect/spawner/random/entertainment/coin + name = "coin spawner" + icon_state = "coin" + loot = list( + /obj/item/coin/iron = 5, + /obj/item/coin/plastic = 5, + /obj/item/coin/silver = 4, + /obj/item/coin/plasma = 4, + /obj/item/coin/uranium = 3, + /obj/item/coin/titanium = 3, + /obj/item/coin/diamond = 2, + /obj/item/coin/twoheaded = 1, + /obj/item/coin/antagtoken = 1, + ) + +/obj/effect/spawner/random/entertainment/money_small + name = "small money spawner" + icon_state = "cash" + spawn_loot_count = 3 + spawn_loot_split = TRUE + loot = list( + /obj/item/spacecash/bundle/c1 = 5, + /obj/item/spacecash/bundle/c10 = 3, + /obj/item/spacecash/bundle/c20 = 2, + ) + +/obj/effect/spawner/random/entertainment/money + name = "money spawner" + icon_state = "cash" + spawn_loot_count = 3 + spawn_loot_split = TRUE + loot = list( + /obj/item/spacecash/bundle/c1 = 10, + /obj/item/spacecash/bundle/c10 = 5, + /obj/item/spacecash/bundle/c20 = 3, + /obj/item/spacecash/bundle/c50 = 2, + /obj/item/spacecash/bundle/c100 = 1, + ) + +/obj/effect/spawner/random/entertainment/money_medium + name = "money spawner" + icon_state = "cash" + loot = list( + /obj/item/spacecash/bundle/c100 = 25, + /obj/item/spacecash/bundle/c200 = 15, + /obj/item/spacecash/bundle/c50 = 10, + /obj/item/spacecash/bundle/c500 = 5, + /obj/item/spacecash/bundle/c1000 = 1, + ) + +/obj/effect/spawner/random/entertainment/money_large + name = "large money spawner" + icon_state = "cash" + spawn_loot_count = 5 + spawn_loot_split = TRUE + loot = list( + /obj/item/spacecash/bundle/c1 = 100, + /obj/item/spacecash/bundle/c10 = 80, + /obj/item/spacecash/bundle/c20 = 60, + /obj/item/spacecash/bundle/c50 = 40, + /obj/item/spacecash/bundle/c100 = 30, + /obj/item/spacecash/bundle/c200 = 20, + /obj/item/spacecash/bundle/c500 = 10, + /obj/item/spacecash/bundle/c1000 = 5, + /obj/item/spacecash/bundle/c10000 = 1, + ) + +/obj/effect/spawner/random/entertainment/drugs + name = "recreational drugs spawner" + icon_state = "pill" + loot = list( + /obj/item/reagent_containers/food/drinks/bottle/hooch = 50, + /obj/item/clothing/mask/cigarette/rollie/cannabis = 15, + /obj/item/reagent_containers/syringe = 15, + /obj/item/cigbutt/roach = 15, + /obj/item/clothing/mask/cigarette/rollie/mindbreaker = 5, + ) + +/obj/effect/spawner/random/entertainment/dice + name = "dice spawner" + icon_state = "dice_bag" + loot = list( + /obj/item/dice/d4, + /obj/item/dice/d6, + /obj/item/dice/d8, + /obj/item/dice/d10, + /obj/item/dice/d12, + /obj/item/dice/d20, + ) + +/obj/effect/spawner/random/entertainment/cigarette_pack + name = "cigarette pack spawner" + icon_state = "cigarettes" + loot = list( + /obj/item/storage/fancy/cigarettes = 3, + /obj/item/storage/fancy/cigarettes/dromedaryco = 3, + /obj/item/storage/fancy/cigarettes/cigpack_uplift = 3, + /obj/item/storage/fancy/cigarettes/cigpack_robust = 3, + /obj/item/storage/fancy/cigarettes/cigpack_carp = 3, + /obj/item/storage/fancy/cigarettes/cigpack_robustgold = 1, + /obj/item/storage/fancy/cigarettes/cigpack_midori = 1, + /obj/item/storage/fancy/cigarettes/cigpack_candy = 1, + ) + +/obj/effect/spawner/random/entertainment/cigarette + name = "cigarette spawner" + icon_state = "cigarettes" + loot = list( + /obj/item/clothing/mask/cigarette/space_cigarette = 3, + /obj/item/clothing/mask/cigarette/rollie/cannabis = 3, + /obj/item/clothing/mask/cigarette/rollie/nicotine = 3, + /obj/item/clothing/mask/cigarette/dromedary = 2, + /obj/item/clothing/mask/cigarette/uplift = 2, + /obj/item/clothing/mask/cigarette/robust = 2, + /obj/item/clothing/mask/cigarette/carp = 1, + /obj/item/clothing/mask/cigarette/robustgold = 1, + ) + +/obj/effect/spawner/random/entertainment/cigar + name = "cigar spawner" + icon_state = "cigarettes" + loot = list( + /obj/item/clothing/mask/cigarette/cigar = 3, + /obj/item/clothing/mask/cigarette/cigar/havana = 2, + /obj/item/clothing/mask/cigarette/cigar/cohiba = 1, + ) + +/obj/effect/spawner/random/entertainment/wallet_lighter + name = "lighter wallet spawner" + icon_state = "lighter" + loot = list( // these fit inside a wallet + /obj/item/match = 10, + /obj/item/lighter/greyscale = 10, + /obj/item/lighter = 1, + ) + +/obj/effect/spawner/random/entertainment/lighter + name = "lighter spawner" + icon_state = "lighter" + loot = list( + /obj/item/storage/box/matches = 10, + /obj/item/lighter/greyscale = 10, + /obj/item/lighter = 1, + ) + +/obj/effect/spawner/random/entertainment/wallet_storage + name = "wallet contents spawner" + icon_state = "wallet" + spawn_loot_count = 1 + loot = list( // random photos would go here. IF I HAD ONE. :'( + /obj/item/lipstick/random, + /obj/effect/spawner/random/food_or_drink/seed, + /obj/effect/spawner/random/medical/minor_healing, + /obj/effect/spawner/random/entertainment/coin, + /obj/effect/spawner/random/entertainment/dice, + /obj/effect/spawner/random/entertainment/cigarette, + /obj/effect/spawner/random/entertainment/wallet_lighter, + /obj/effect/spawner/random/bureaucracy/paper, + /obj/effect/spawner/random/bureaucracy/crayon, + /obj/effect/spawner/random/bureaucracy/pen, + /obj/effect/spawner/random/bureaucracy/stamp, + ) + +/obj/effect/spawner/random/entertainment/deck + name = "deck spawner" + icon_state = "deck" + loot = list( + /obj/item/toy/cards/deck = 5, + /obj/item/toy/cards/deck/kotahi = 2, + /obj/item/toy/cards/deck/tarot = 1, + ) + +/obj/effect/spawner/random/entertainment/toy_figure + name = "toy figure spawner" + icon_state = "toy" + loot_subtype_path = /obj/item/toy/figure + loot = list() + +/obj/effect/spawner/random/entertainment/toy + name = "toy spawner" + icon_state = "toy" + loot = list() + +/obj/effect/spawner/random/entertainment/toy/Initialize(mapload) + loot += GLOB.arcade_prize_pool + return ..() + +/obj/effect/spawner/random/entertainment/plushie + name = "plushie spawner" + icon_state = "plushie" + loot = list ( + /obj/item/toy/plush/beeplushie, + /obj/item/toy/plush/blahaj, + /obj/item/toy/plush/carpplushie, + /obj/item/toy/plush/flushed, + /obj/item/toy/plush/kari, + /obj/item/toy/plush/lizardplushie, + /obj/item/toy/plush/mora, + /obj/item/toy/plush/realgoat, + /obj/item/toy/plush/rilena, + /obj/item/toy/plush/sharai, + /obj/item/toy/plush/slimeplushie, + /obj/item/toy/plush/snakeplushie, + /obj/item/toy/plush/spider, + /obj/item/toy/plush/tali, + /obj/item/toy/plush/xader, + /obj/effect/spawner/random/entertainment/plushie/moth // fair chances + ) + +/obj/effect/spawner/random/entertainment/plushie/moth + loot = list ( + /obj/item/toy/plush/moth, + /obj/item/toy/plush/moth/monarch, + /obj/item/toy/plush/moth/luna, + /obj/item/toy/plush/moth/atlas, + /obj/item/toy/plush/moth/redish, + /obj/item/toy/plush/moth/royal, + /obj/item/toy/plush/moth/gothic, + /obj/item/toy/plush/moth/lovers, + /obj/item/toy/plush/moth/whitefly, + /obj/item/toy/plush/moth/punished, + /obj/item/toy/plush/moth/firewatch, + /obj/item/toy/plush/moth/deadhead, + /obj/item/toy/plush/moth/poison, + /obj/item/toy/plush/moth/ragged, + /obj/item/toy/plush/moth/snow, + /obj/item/toy/plush/moth/moonfly + ) + +/obj/effect/spawner/random/entertainment/colorful_grenades + name = "colorful/glitter grenades spawner" + loot = list( + /obj/item/grenade/chem_grenade/glitter/pink, + /obj/item/grenade/chem_grenade/glitter/blue, + /obj/item/grenade/chem_grenade/glitter/white, + /obj/item/grenade/chem_grenade/colorful + ) diff --git a/code/game/objects/effects/spawners/random.dm/exotic.dm b/code/game/objects/effects/spawners/random.dm/exotic.dm new file mode 100644 index 000000000000..9d55fa9b69ff --- /dev/null +++ b/code/game/objects/effects/spawners/random.dm/exotic.dm @@ -0,0 +1,69 @@ +/obj/effect/spawner/random/exotic + name = "exotic spawner" + desc = "Super duper rare stuff." + icon_state = "showcase" + +/obj/effect/spawner/random/exotic/ripley + name = "25% exosuit 75% wreckage ripley spawner" + icon_state = "ripley" + loot = list( + /obj/mecha/working/ripley/mining = 1, + /obj/structure/mecha_wreckage/ripley = 5 + ) + +/obj/effect/spawner/random/exotic/prison_contraband + name = "prison contraband loot spawner" + icon_state = "prisoner" + loot = list( + /obj/item/clothing/mask/cigarette/space_cigarette = 4, + /obj/item/clothing/mask/cigarette/robust = 2, + /obj/item/clothing/mask/cigarette/carp = 3, + /obj/item/clothing/mask/cigarette/uplift = 2, + /obj/item/clothing/mask/cigarette/dromedary = 3, + /obj/item/clothing/mask/cigarette/robustgold = 1, + /obj/item/storage/fancy/cigarettes/cigpack_uplift = 3, + /obj/item/storage/fancy/cigarettes = 3, + /obj/item/clothing/mask/cigarette/rollie/cannabis = 4, + /obj/item/toy/crayon/spraycan = 2, + /obj/item/crowbar = 1, + /obj/item/assembly/flash/handheld = 1, + /obj/item/restraints/handcuffs/cable/zipties = 1, + /obj/item/restraints/handcuffs = 1, + /obj/item/radio = 1, + /obj/item/lighter = 3, + /obj/item/storage/box/matches = 3, + /obj/item/reagent_containers/syringe/contraband/space_drugs = 1, + /obj/item/reagent_containers/syringe/contraband/krokodil = 1, + /obj/item/reagent_containers/syringe/contraband/crank = 1, + /obj/item/reagent_containers/syringe/contraband/methamphetamine = 1, + /obj/item/reagent_containers/syringe/contraband/bath_salts = 1, + /obj/item/reagent_containers/syringe/contraband/fentanyl = 1, + /obj/item/reagent_containers/syringe/contraband/morphine = 1, + /obj/item/storage/pill_bottle/happy = 1, + /obj/item/storage/pill_bottle/lsd = 1, + /obj/item/storage/pill_bottle/psicodine = 1, + /obj/item/reagent_containers/food/drinks/beer = 4, + /obj/item/reagent_containers/food/drinks/bottle/whiskey = 1, + /obj/item/paper/fluff/jobs/prisoner/letter = 1, + /obj/item/grenade/smokebomb = 1, + /obj/item/flashlight/seclite = 1, + /obj/item/melee/knife/shiv = 4, + /obj/item/melee/knife/shiv/carrot = 1, + /obj/item/melee/knife/kitchen = 1, + /obj/item/storage/wallet/random = 1, + /obj/item/pda = 1 + ) + +/obj/effect/spawner/random/exotic/armory + name = "generic armory spawner" + spawn_loot_split = TRUE + spawn_loot_count = 3 + spawn_loot_split_pixel_offsets = 4 + + loot = list( + /obj/item/gun/ballistic/automatic/pistol/ringneck = 8, + /obj/item/gun/ballistic/shotgun/automatic/combat = 5, + /obj/item/gun/ballistic/automatic/pistol/deagle, + /obj/item/gun/ballistic/revolver/mateba + ) + diff --git a/code/game/objects/effects/spawners/random.dm/food_or_drink.dm b/code/game/objects/effects/spawners/random.dm/food_or_drink.dm new file mode 100644 index 000000000000..300f94260ee1 --- /dev/null +++ b/code/game/objects/effects/spawners/random.dm/food_or_drink.dm @@ -0,0 +1,284 @@ +/obj/effect/spawner/random/food_or_drink + name = "food or drink loot spawner" + desc = "Nom nom nom" + icon_state = "soup" + +/obj/effect/spawner/random/food_or_drink/donkpockets + name = "donk pocket box spawner" + icon_state = "donkpocket" + loot = list( + /obj/item/storage/box/donkpockets/donkpocketspicy = 1, + /obj/item/storage/box/donkpockets/donkpocketteriyaki = 1, + /obj/item/storage/box/donkpockets/donkpocketpizza = 1, + /obj/item/storage/box/donkpockets/donkpocketberry = 1, + /obj/item/storage/box/donkpockets/donkpockethonk = 1, + ) + +/obj/effect/spawner/random/food_or_drink/ration + name = "ration spawner" + icon_state = "pizzabox" + loot = list ( + /obj/item/storage/ration/vegan_chili = 5, + /obj/item/storage/ration/shredded_beef = 5, + /obj/item/storage/ration/pork_spaghetti = 5, + /obj/item/storage/ration/fried_fish = 5, + /obj/item/storage/ration/beef_strips = 5, + /obj/item/storage/ration/chili_macaroni = 5, + /obj/item/storage/ration/chicken_wings_hot_sauce = 5, + /obj/item/storage/ration/fish_stew = 5, + /obj/item/storage/ration/lemon_pepper_chicken = 5, + /obj/item/storage/ration/sausage_peppers_onions = 5, + /obj/item/storage/ration/pork_dumplings_chili_sauce = 5, + /obj/item/storage/ration/battered_fish_sticks = 5, + /obj/item/storage/ration/assorted_salted_offal = 5, + /obj/item/storage/ration/maple_pork_sausage_patty = 5, + /obj/item/storage/ration/pepper_jack_beef_patty = 5, + /obj/item/storage/ration/beef_goulash = 5, + /obj/item/storage/ration/pepperoni_pizza_slice = 5, + /obj/item/storage/ration/blackened_calamari = 5, + /obj/item/storage/ration/elbow_macaroni = 5, + /obj/item/storage/ration/cheese_pizza_slice = 5, + /obj/item/storage/ration/crayons = 2 // :) + ) + +/obj/effect/spawner/random/food_or_drink/donut + name = "random donut" //donut :) + icon_state = "pizzabox" + loot = list( + /obj/item/reagent_containers/food/snacks/donut/apple = 1, + /obj/item/reagent_containers/food/snacks/donut/berry = 1, + /obj/item/reagent_containers/food/snacks/donut/caramel = 1, + /obj/item/reagent_containers/food/snacks/donut/choco = 1, + /obj/item/reagent_containers/food/snacks/donut/laugh = 1, + /obj/item/reagent_containers/food/snacks/donut/matcha = 1, + /obj/item/reagent_containers/food/snacks/donut/meat = 1, + /obj/item/reagent_containers/food/snacks/donut/plain = 1, + /obj/item/reagent_containers/food/snacks/donut/trumpet = 1, + /obj/item/reagent_containers/food/snacks/donut/blumpkin = 1, + /obj/item/reagent_containers/food/snacks/donut/bungo = 1, + /obj/item/reagent_containers/food/snacks/donut/chaos = 1, + ) + +/obj/effect/spawner/random/food_or_drink/donut/jelly + name = "random jelly donut" + loot = list( + /obj/item/reagent_containers/food/snacks/donut/jelly/berry = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/apple = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/blumpkin = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/bungo = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/caramel = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/choco = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/laugh = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/matcha = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/plain = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/trumpet = 1, + ) + +/obj/effect/spawner/random/food_or_drink/donut/slimejelly + name = "random slimejelly donut" + loot = list( + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/apple = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/berry = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/blumpkin = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/bungo = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/caramel = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/choco = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/laugh = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/matcha = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/plain = 1, + /obj/item/reagent_containers/food/snacks/donut/jelly/slimejelly/trumpet = 1, + ) + +/obj/effect/spawner/random/food_or_drink/three_course_meal + name = "three course meal spawner" + spawn_loot_count = 3 + spawn_loot_double = FALSE + var/soups = list( + /obj/item/reagent_containers/food/snacks/soup/beet, + /obj/item/reagent_containers/food/snacks/soup/sweetpotato, + /obj/item/reagent_containers/food/snacks/soup/stew, + /obj/item/reagent_containers/food/snacks/soup/hotchili, + /obj/item/reagent_containers/food/snacks/soup/nettle, + /obj/item/reagent_containers/food/snacks/soup/meatball) + var/salads = list( + /obj/item/reagent_containers/food/snacks/salad/herbsalad, + /obj/item/reagent_containers/food/snacks/salad/validsalad, + /obj/item/reagent_containers/food/snacks/salad/fruit, + /obj/item/reagent_containers/food/snacks/salad/jungle, + /obj/item/reagent_containers/food/snacks/salad/aesirsalad) + var/mains = list( + /obj/item/reagent_containers/food/snacks/bearsteak, + /obj/item/reagent_containers/food/snacks/enchiladas, + /obj/item/reagent_containers/food/snacks/stewedsoymeat, + /obj/item/reagent_containers/food/snacks/burger/bigbite, + /obj/item/reagent_containers/food/snacks/burger/superbite, + /obj/item/reagent_containers/food/snacks/burger/fivealarm) + +/obj/effect/spawner/random/food_or_drink/three_course_meal/Initialize(mapload) + loot = list(pick(soups) = 1,pick(salads) = 1,pick(mains) = 1) + . = ..() + +/obj/effect/spawner/random/food_or_drink/garden + name = "lush garden seeder" + spawn_loot_count = 3 + loot = list( + /obj/item/reagent_containers/food/snacks/grown/ambrosia/deus = 1, + /obj/item/reagent_containers/food/snacks/grown/berries/death/stealth = 2, + /obj/item/reagent_containers/food/snacks/grown/citrus/orange_3d = 1, + /obj/item/reagent_containers/food/snacks/grown/trumpet = 1, + /obj/item/reagent_containers/food/snacks/grown/bungofruit = 1, + /obj/item/seeds/random = 1, + /obj/item/grown/log/bamboo = 2, + /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 2, + /obj/item/reagent_containers/food/snacks/grown/berries/poison/stealth = 5, + /obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 2, + /obj/item/reagent_containers/food/snacks/grown/citrus/lime = 2, + /obj/item/reagent_containers/food/snacks/grown/vanillapod = 2, + /obj/item/reagent_containers/food/snacks/grown/moonflower = 2, + /obj/item/reagent_containers/food/snacks/grown/cocoapod = 2, + /obj/item/reagent_containers/food/snacks/grown/pineapple = 2, + /obj/item/reagent_containers/food/snacks/grown/poppy/lily = 2, + /obj/item/reagent_containers/food/snacks/grown/poppy/geranium = 2, + /obj/item/reagent_containers/food/snacks/grown/sugarcane = 2, + /obj/item/reagent_containers/food/snacks/grown/tea = 2, + /obj/item/reagent_containers/food/snacks/grown/tobacco = 2, + /obj/item/reagent_containers/food/snacks/grown/watermelon = 4, + /obj/item/grown/sunflower = 4, + /obj/item/reagent_containers/food/snacks/grown/banana = 4, + /obj/item/reagent_containers/food/snacks/grown/apple = 4, + /obj/item/reagent_containers/food/snacks/grown/berries = 5, + /obj/item/reagent_containers/food/snacks/grown/cherries = 4, + /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 4, + /obj/item/reagent_containers/food/snacks/grown/garlic = 4, + /obj/item/reagent_containers/food/snacks/grown/grapes = 4, + /obj/item/reagent_containers/food/snacks/grown/grass = 5, + /obj/item/reagent_containers/food/snacks/grown/pumpkin = 4, + /obj/item/reagent_containers/food/snacks/grown/rainbow_flower = 4, + /obj/item/reagent_containers/food/snacks/grown/wheat = 4, + /obj/item/reagent_containers/food/snacks/grown/parsnip = 4, + /obj/item/reagent_containers/food/snacks/grown/peas = 4, + /obj/item/reagent_containers/food/snacks/grown/rice = 4, + /obj/item/reagent_containers/food/snacks/grown/soybeans = 4, + /obj/item/reagent_containers/food/snacks/grown/tomato = 4, + /obj/item/reagent_containers/food/snacks/grown/cabbage = 4, + /obj/item/reagent_containers/food/snacks/grown/onion = 4, + /obj/item/reagent_containers/food/snacks/grown/carrot = 4) + +/obj/effect/spawner/random/food_or_drink/garden/arid + name = "arid garden seeder" + loot = list( + /obj/item/reagent_containers/food/snacks/grown/ghost_chili = 1, + /obj/item/reagent_containers/food/snacks/grown/nettle = 1, + /obj/item/grown/cotton/durathread = 1, + /obj/item/seeds/random = 1, + /obj/item/reagent_containers/food/snacks/grown/redbeet = 1, + /obj/item/reagent_containers/food/snacks/grown/aloe = 2, + /obj/item/grown/cotton = 2, + /obj/item/reagent_containers/food/snacks/grown/mushroom/angel = 2, + /obj/item/reagent_containers/food/snacks/grown/chili = 2, + /obj/item/reagent_containers/food/snacks/grown/whitebeet = 5, + /obj/item/reagent_containers/food/snacks/grown/potato = 4, + /obj/item/reagent_containers/food/snacks/grown/potato/sweet = 4, + /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 4, + /obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet = 4, + /obj/item/reagent_containers/food/snacks/grown/corn = 4 + ) + +/obj/effect/spawner/random/food_or_drink/garden/cold + name = "frigid garden seeder" + loot = list( + /obj/item/reagent_containers/food/snacks/grown/bluecherries = 1, + /obj/item/reagent_containers/food/snacks/grown/galaxythistle = 1, + /obj/item/reagent_containers/food/snacks/grown/berries/death/stealth = 1, + /obj/item/seeds/random = 1, + /obj/item/reagent_containers/food/snacks/grown/poppy = 2, + /obj/item/reagent_containers/food/snacks/grown/tomato/blue = 2, + /obj/item/reagent_containers/food/snacks/grown/berries/poison/stealth = 2, + /obj/item/reagent_containers/food/snacks/grown/berries = 4, + /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 4, + /obj/item/reagent_containers/food/snacks/grown/oat = 4, + /obj/item/reagent_containers/food/snacks/grown/grapes/green = 4, + /obj/item/reagent_containers/food/snacks/grown/grass = 4, + /obj/item/reagent_containers/food/snacks/grown/harebell = 5, + /obj/item/seeds/starthistle = 5 + ) + +/obj/effect/spawner/random/food_or_drink/garden/sick + name = "sickly garden seeder" + loot = list( + /obj/item/reagent_containers/food/snacks/grown/cannabis/rainbow = 1, + /obj/item/reagent_containers/food/snacks/grown/cannabis/death = 1, + /obj/item/seeds/replicapod = 1, + /obj/item/reagent_containers/food/snacks/grown/mushroom/angel = 1, + /obj/item/reagent_containers/food/snacks/grown/mushroom/libertycap = 2, + /obj/item/seeds/tower/steel = 2, + /obj/item/reagent_containers/food/snacks/grown/cannabis = 2, + /obj/item/seeds/random = 2, + /obj/item/reagent_containers/food/snacks/grown/mushroom/jupitercup = 2, + /obj/item/reagent_containers/food/snacks/grown/cherrybulbs = 4, + /obj/item/reagent_containers/food/snacks/grown/mushroom/amanita = 4, + /obj/item/reagent_containers/food/snacks/grown/mushroom/libertycap = 4, + /obj/item/reagent_containers/food/snacks/grown/mushroom/reishi = 4, + /obj/item/reagent_containers/food/snacks/grown/berries/glow = 4 + ) + +/obj/effect/spawner/random/food_or_drink/garden/seaweed + name = "seaweed patch seeder" + loot = list( + /obj/item/reagent_containers/food/snacks/grown/seaweed + ) + +/obj/effect/spawner/random/food_or_drink/seed + name = "GO FORTH AND CULTIVATE" + icon_state = "seed"//sneed + loot = list( + /obj/item/seeds/aloe, + /obj/item/seeds/ambrosia, + /obj/item/seeds/apple, + /obj/item/seeds/cotton, + /obj/item/seeds/banana, + /obj/item/seeds/berry, + /obj/item/seeds/cabbage, + /obj/item/seeds/carrot, + /obj/item/seeds/cherry, + /obj/item/seeds/chanter, + /obj/item/seeds/chili, + /obj/item/seeds/cocoapod, + /obj/item/seeds/coffee, + /obj/item/seeds/corn, + /obj/item/seeds/eggplant, + /obj/item/seeds/garlic, + /obj/item/seeds/grape, + /obj/item/seeds/grass, + /obj/item/seeds/lemon, + /obj/item/seeds/lime, + /obj/item/seeds/onion, + /obj/item/seeds/orange, + /obj/item/seeds/peas, + /obj/item/seeds/pineapple, + /obj/item/seeds/potato, + /obj/item/seeds/poppy, + /obj/item/seeds/pumpkin, + /obj/item/seeds/wheat/rice, + /obj/item/seeds/soya, + /obj/item/seeds/sugarcane, + /obj/item/seeds/sunflower, + /obj/item/seeds/tea, + /obj/item/seeds/tobacco, + /obj/item/seeds/tomato, + /obj/item/seeds/tower, + /obj/item/seeds/watermelon, + /obj/item/seeds/wheat, + /obj/item/seeds/whitebeet, + /obj/item/seeds/amanita, + /obj/item/seeds/glowshroom, + /obj/item/seeds/liberty, + /obj/item/seeds/nettle, + /obj/item/seeds/plump, + /obj/item/seeds/reishi, + /obj/item/seeds/cannabis, + /obj/item/seeds/starthistle, + /obj/item/seeds/cherry/bomb, + /obj/item/seeds/berry/glow, + /obj/item/seeds/sunflower/moonflower + ) diff --git a/code/game/objects/effects/spawners/random.dm/maintenance.dm b/code/game/objects/effects/spawners/random.dm/maintenance.dm new file mode 100644 index 000000000000..53a61e0f877d --- /dev/null +++ b/code/game/objects/effects/spawners/random.dm/maintenance.dm @@ -0,0 +1,57 @@ +/obj/effect/spawner/random/maintenance + name = "maintenance loot spawner" + desc = "Come on Lady Luck, spawn me a pair of sunglasses." + icon_state = "loot" + // see code/_globalvars/lists/maintenance_loot.dm for loot table + +/obj/effect/spawner/random/maintenance/Initialize(mapload) + loot = GLOB.maintenance_loot + . = ..() + +/obj/effect/spawner/random/maintenance/skew_loot_weights(list/loot_list, exponent) + ///We only need to skew the weights once, since it's a global list used by all maint spawners. + var/static/already_done = FALSE + if(loot_list == GLOB.maintenance_loot && already_done) + return + already_done = TRUE + return ..() + +/obj/effect/spawner/random/maintenance/spawn_loot(lootcount_override) + if(isnull(lootcount_override)) + lootcount_override = spawn_loot_count + . = ..() + + /* Fucks everything. Investigate further + // In addition, closets that are closed will have the maintenance loot inserted inside. + for(var/obj/structure/closet/closet in get_turf(src)) + if(!closet.opened) + closet.take_contents() + */ + +/obj/effect/spawner/random/maintenance/two + name = "2 x maintenance loot spawner" + spawn_loot_count = 2 + +/obj/effect/spawner/random/maintenance/three + name = "3 x maintenance loot spawner" + spawn_loot_count = 3 + +/obj/effect/spawner/random/maintenance/four + name = "4 x maintenance loot spawner" + spawn_loot_count = 4 + +/obj/effect/spawner/random/maintenance/five + name = "5 x maintenance loot spawner" + spawn_loot_count = 5 + +/obj/effect/spawner/random/maintenance/six + name = "6 x maintenance loot spawner" + spawn_loot_count = 6 + +/obj/effect/spawner/random/maintenance/seven + name = "7 x maintenance loot spawner" + spawn_loot_count = 7 + +/obj/effect/spawner/random/maintenance/eight + name = "8 x maintenance loot spawner" + spawn_loot_count = 8 diff --git a/code/game/objects/effects/spawners/random.dm/medical.dm b/code/game/objects/effects/spawners/random.dm/medical.dm new file mode 100644 index 000000000000..a0d5a6db53b9 --- /dev/null +++ b/code/game/objects/effects/spawners/random.dm/medical.dm @@ -0,0 +1,145 @@ +/obj/effect/spawner/random/medical + name = "medical loot spawner" + desc = "Doc, gimmie something good." + +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + icon_state = "gauze" + loot = list( + /obj/item/stack/medical/suture, + /obj/item/stack/medical/mesh, + /obj/item/stack/medical/gauze, + ) + +/obj/effect/spawner/random/medical/organs + name = "ayylien organ spawner" + loot = list( + /obj/item/organ/heart/gland/electric = 3, + /obj/item/organ/heart/gland/trauma = 4, + /obj/item/organ/heart/gland/egg = 7, + /obj/item/organ/heart/gland/chem = 5, + /obj/item/organ/heart/gland/mindshock = 5, + /obj/item/organ/heart/gland/plasma = 7, + /obj/item/organ/heart/gland/transform = 5, + /obj/item/organ/heart/gland/slime = 4, + /obj/item/organ/heart/gland/spiderman = 5, + /obj/item/organ/heart/gland/ventcrawling = 1, + /obj/item/organ/body_egg/alien_embryo = 1, + /obj/item/organ/regenerative_core = 2) + spawn_loot_count = 3 + +/obj/effect/spawner/random/medical/memeorgans + name = "meme organ spawner" + loot = list( + /obj/item/organ/ears/penguin, + /obj/item/organ/ears/cat, + /obj/item/organ/eyes/compound, + /obj/item/organ/eyes/snail, + /obj/item/organ/tongue/bone, + /obj/item/organ/tongue/fly, + /obj/item/organ/tongue/snail, + /obj/item/organ/tongue/lizard, + /obj/item/organ/tongue/alien, + /obj/item/organ/tongue/ethereal, + /obj/item/organ/tongue/robot, + /obj/item/organ/tongue/zombie, + /obj/item/organ/appendix, + /obj/item/organ/liver/fly, + /obj/item/organ/lungs/plasmaman, + /obj/item/organ/tail/cat, + /obj/item/organ/tail/lizard + ) + spawn_loot_count = 5 + +/obj/effect/spawner/random/medical/surgery_tool/common + name = "Surgery tool spawner" + icon_state = "scapel" + loot = list( + /obj/item/scalpel, + /obj/item/hemostat, + /obj/item/retractor, + /obj/item/circular_saw, + /obj/item/surgicaldrill, + /obj/item/cautery, + ) + +/obj/effect/spawner/random/medical/surgery_tool/adv + loot = list( + /obj/item/scalpel/advanced, + /obj/item/retractor/advanced, + /obj/item/surgicaldrill/advanced, + ) + +/obj/effect/spawner/random/medical/surgery_tool + loot = list( + /obj/effect/spawner/random/medical/surgery_tool/common = 120, + /obj/effect/spawner/random/medical/surgery_tool/adv = 10, + ) + +/obj/effect/spawner/random/medical/medkit + name = "medkit spawner" + icon_state = "medkit" + loot = list( + /obj/item/storage/firstaid/regular = 10, + /obj/item/storage/firstaid/o2 = 10, + /obj/item/storage/firstaid/fire = 10, + /obj/item/storage/firstaid/brute = 10, + /obj/item/storage/firstaid/toxin = 10, + /obj/item/storage/firstaid/advanced = 1, + ) + +/obj/effect/spawner/random/medical/patient_stretcher + name = "patient stretcher spawner" + icon_state = "rollerbed" + loot = list( + /obj/structure/bed/roller, + /obj/vehicle/ridden/wheelchair, + ) + +/obj/effect/spawner/random/medical/supplies + name = "medical supplies spawner" + icon_state = "box_small" + loot = list( + /obj/item/storage/box/hug, + /obj/item/storage/box/pillbottles, + /obj/item/storage/box/bodybags, + /obj/item/storage/box/rxglasses, + /obj/item/storage/box/beakers, + /obj/item/storage/box/gloves, + /obj/item/storage/box/masks, + /obj/item/storage/box/syringes, + ) + +/obj/effect/spawner/random/medical/beaker + loot = list( + /obj/item/reagent_containers/glass/beaker = 300, + /obj/item/reagent_containers/glass/beaker/large = 200, + /obj/item/reagent_containers/glass/beaker/plastic = 50, + /obj/item/reagent_containers/glass/beaker/meta = 10, + /obj/item/reagent_containers/glass/beaker/noreact = 5, + /obj/item/reagent_containers/glass/beaker/bluespace = 1, + ) + +/obj/effect/spawner/random/medical/prosthetic + loot = list( + /obj/item/bodypart/l_arm/robot/surplus = 1, + /obj/item/bodypart/r_arm/robot/surplus = 1, + /obj/item/bodypart/leg/left/robot/surplus = 1, + /obj/item/bodypart/leg/right/robot/surplus = 1, + ) + +/obj/effect/spawner/random/medical/chem_jug + loot = list( + /obj/item/reagent_containers/glass/chem_jug/carbon, + /obj/item/reagent_containers/glass/chem_jug/oxygen, + /obj/item/reagent_containers/glass/chem_jug/nitrogen, + /obj/item/reagent_containers/glass/chem_jug/hydrogen, + /obj/item/reagent_containers/glass/chem_jug/radium, + /obj/item/reagent_containers/glass/chem_jug/aluminium, + /obj/item/reagent_containers/glass/chem_jug/chlorine, + /obj/item/reagent_containers/glass/chem_jug/copper, + /obj/item/reagent_containers/glass/chem_jug/bromine, + /obj/item/reagent_containers/glass/chem_jug/iodine, + /obj/item/reagent_containers/glass/chem_jug/potassium, + /obj/item/reagent_containers/glass/chem_jug/sulfur + ) diff --git a/code/game/objects/effects/spawners/random.dm/random.dm b/code/game/objects/effects/spawners/random.dm/random.dm new file mode 100644 index 000000000000..0e6606f3b9ee --- /dev/null +++ b/code/game/objects/effects/spawners/random.dm/random.dm @@ -0,0 +1,175 @@ +/** + * Base class for all random spawners. + */ +/obj/effect/spawner/random + icon = 'icons/effects/mapping/random_spawners.dmi' + icon_state = "loot" + layer = OBJ_LAYER + /// Stops persistent lootdrop spawns from being shoved into lockers + anchored = TRUE + /// A list of possible items to spawn e.g. list(/obj/item, /obj/structure, /obj/effect) + var/list/loot + /// The subtypes AND type to combine with the loot list + var/loot_type_path + /// The subtypes (this excludes the provided path) to combine with the loot list + var/loot_subtype_path + /// How many items will be spawned + var/spawn_loot_count = 1 + /// If the same item can be spawned twice + var/spawn_loot_double = TRUE + /// Whether the items should be distributed to offsets 0,1,-1,2,-2,3,-3.. This overrides pixel_x/y on the spawner itself + var/spawn_loot_split = FALSE + /// The pixel x/y divider offsets for spawn_loot_split (spaced 1 pixel apart by default) + var/spawn_loot_split_pixel_offsets = 2 + /// Whether the spawner should spawn all the loot in the list + var/spawn_all_loot = FALSE + /// The chance for the spawner to create loot (ignores spawn_loot_count) + var/spawn_loot_chance = 100 + /// Determines how big of a range (in tiles) we should scatter things in. + var/spawn_scatter_radius = 0 + /// Whether the items should have a random pixel_x/y offset (maxium offset distance is ±16 pixels for x/y) + var/spawn_random_offset = FALSE + /// Whether items that cannot be spawned will be removed from the loot list. Keep it TRUE unless you've a good reason. + var/remove_if_cant_spawn = TRUE + +/obj/effect/spawner/random/Initialize(mapload) + . = ..() + spawn_loot() + +///If the spawner has any loot defined, randomly picks some and spawns it. Does not cleanup the spawner. +/obj/effect/spawner/random/proc/spawn_loot(lootcount_override) + if(!prob(spawn_loot_chance)) + return + + var/list/spawn_locations = get_spawn_locations(spawn_scatter_radius) + var/spawn_loot_count = isnull(lootcount_override) ? src.spawn_loot_count : lootcount_override + + if(spawn_all_loot) + spawn_loot_count = INFINITY + spawn_loot_double = FALSE + + if(loot_type_path) + loot += typesof(loot_type_path) + + if(loot_subtype_path) + loot += subtypesof(loot_subtype_path) + + if(CONFIG_GET(number/random_loot_weight_modifier) != 1) + skew_loot_weights(loot, CONFIG_GET(number/random_loot_weight_modifier)) + + if(loot?.len) + var/loot_spawned = 0 + var/pixel_divider = FLOOR(16 / spawn_loot_split_pixel_offsets, 1) // 16 pixels offsets is max that should be allowed in any direction + while((spawn_loot_count-loot_spawned) && loot.len) + var/lootspawn = pick_weight_recursive(loot) + if(!can_spawn(lootspawn)) + if(remove_if_cant_spawn) + loot.Remove(lootspawn) + continue + if(!spawn_loot_double) + loot.Remove(lootspawn) + if(lootspawn && (spawn_scatter_radius == 0 || spawn_locations.len)) + var/turf/spawn_loc = loc + if(spawn_scatter_radius > 0) + spawn_loc = pick_n_take(spawn_locations) + + var/atom/movable/spawned_loot = make_item(spawn_loc, lootspawn) + spawned_loot.setDir(dir) + + if (!spawn_loot_split && !spawn_random_offset) + if (pixel_x != 0) + spawned_loot.pixel_x = pixel_x + if (pixel_y != 0) + spawned_loot.pixel_y = pixel_y + else if (spawn_random_offset) + spawned_loot.pixel_x = rand(-16, 16) + spawned_loot.pixel_y = rand(-16, 16) + else if (spawn_loot_split) + if (loot_spawned) + var/column = FLOOR(loot_spawned / pixel_divider, 1) + spawned_loot.pixel_x = spawn_loot_split_pixel_offsets * (loot_spawned % pixel_divider) + (column * spawn_loot_split_pixel_offsets) + spawned_loot.pixel_y = spawn_loot_split_pixel_offsets * (loot_spawned % pixel_divider) + loot_spawned++ + +///Levels out the weights of loot if lower than 1, or makes rarer spawns even more rare. +/obj/effect/spawner/random/proc/skew_loot_weights(list/loot_list, exponent) + ///This helps keeping the modified weights more or less correct, since pick_weight doesn't appreciate decimals. + var/precision = 1 + if(exponent < 1) + precision = round((1 - exponent) * 10) + 1 + for(var/loot_type in loot_list) + if(islist(loot_type)) + skew_loot_weights(loot_type, exponent) + var/loot_weight = loot_list[loot_type] + if(loot_weight <= 1) + if(exponent < 1) + loot_list[loot_type] = precision + continue + loot_list[loot_type] = round(loot_weight ** exponent * precision, 1) + +/** + * Makes the actual item related to our spawner. + * + * spawn_loc - where are we spawning it? + * type_path_to_make - what are we spawning? + **/ +/obj/effect/spawner/random/proc/make_item(spawn_loc, type_path_to_make) + return new type_path_to_make(spawn_loc) + +///If the spawner has a spawn_scatter_radius set, this creates a list of nearby turfs available that are in view and have an unblocked line to them. +/obj/effect/spawner/random/proc/get_spawn_locations(radius) + var/list/scatter_locations = list() + + if(!radius) + return scatter_locations + + for(var/turf/turf_in_view in view(radius, get_turf(src))) + if(isclosedturf(turf_in_view)) + continue + if(!has_unblocked_line(turf_in_view)) + continue + + scatter_locations += turf_in_view + + return scatter_locations + +/obj/effect/spawner/random/proc/has_unblocked_line(destination) + for(var/turf/potential_blockage as anything in get_line(get_turf(src), destination)) + if(!potential_blockage.is_blocked_turf(exclude_mobs = TRUE)) + continue + return FALSE + return TRUE + +//finds the probabilities of items spawning from a loot spawner's loot pool +/obj/item/loot_table_maker + icon = 'icons/effects/mapping/landmarks_static.dmi' + icon_state = "random_loot" + var/spawner_to_test = /obj/effect/spawner/random/maintenance //what lootdrop spawner to use the loot pool of + var/loot_count = 180 //180 is about how much maint loot spawns per map as of 11/14/2019 + //result outputs + var/list/spawned_table //list of all items "spawned" and how many + var/list/stat_table //list of all items "spawned" and their occurrance probability + +/obj/item/loot_table_maker/Initialize(mapload) + . = ..() + make_table() + +/obj/item/loot_table_maker/attack_self(mob/user) + to_chat(user, "Loot pool re-rolled.") + make_table() + +/obj/item/loot_table_maker/proc/make_table() + spawned_table = list() + stat_table = list() + var/obj/effect/spawner/random/spawner_to_table = new spawner_to_test + var/lootpool = spawner_to_table.loot + qdel(spawner_to_table) + for(var/i in 1 to loot_count) + var/loot_spawn = pick_weight_recursive(lootpool) + if(!(loot_spawn in spawned_table)) + spawned_table[loot_spawn] = 1 + else + spawned_table[loot_spawn] += 1 + stat_table += spawned_table + for(var/item in stat_table) + stat_table[item] /= loot_count diff --git a/code/game/objects/effects/spawners/random.dm/readme.md b/code/game/objects/effects/spawners/random.dm/readme.md new file mode 100644 index 000000000000..97db867f2de6 --- /dev/null +++ b/code/game/objects/effects/spawners/random.dm/readme.md @@ -0,0 +1,425 @@ +# Random Spawners + +## About + +Random spawners are an organized tool primarily for mapping to enhance replayability. The spawners can create objects, effects, and structures with different tweakable settings to get the desired outcome. You can make a spawner determine direction, rarity, number of items to spawn, pixel spacing between items, and even spread it over a large tile radius. This lets you control the atmosphere of a location. You could for instance spawn different piles of trash in maint or spawn decoration items for a room to give it more randomized flavor. The choice is yours! + +*(note the audience of this README is directed towards mappers who lack knowledge of coding)* + +## Variables + +The following variables are defined in `code/game/objects/effects/spawners/random/random.dm` that control how a spawner works. + +- `loot` - a list of possible items to spawn e.g. list(/obj/item, /obj/structure, /obj/effect) +- `loot_type_path` - this combines the subtypes AND type list with the loot list +- `loot_subtype_path` - this combines ONLY the subtypes (excludes the `loot_subtype_path`) with the loot list +- `spawn_loot_count` - how many items will be spawned +- `spawn_loot_double` - if the same item can be spawned twice from the loot list +- `spawn_loot_split` - whether the items should be distributed to offsets 0,1,-1,2,-2,3,-3.. This overrides pixel_x/y on the spawner itself +- `spawn_all_loot` - whether the spawner should spawn all the loot in the list (ignores `spawn_loot_count`) +- `spawn_loot_chance` - the chance for the spawner to create loot (ignores `spawn_loot_count`) +- `spawn_scatter_radius` - determines how big of a range (in tiles) we should scatter things in + +These variables are set to the following default values for the base `random.dm` object that all objects inherit from: + +```dm + /// these three loot values are all empty + var/list/loot + var/loot_type_path + var/loot_subtype_path + + var/spawn_loot_count = 1 // by default one item will be selected from the loot list + var/spawn_loot_double = TRUE // by default duplicate items CAN be spawned from the loot list + var/spawn_loot_split = FALSE // by default items will NOT spread out on the same tile + var/spawn_all_loot = FALSE // by default the spawner will only spawn the number of items set in spawn_loot_count + var/spawn_loot_chance = 100 // by default the spawner has a 100% chance to spawn the item(s) + var/spawn_scatter_radius = 0 // by default the spawner will spawn the items ONLY on the tile it is on +``` + +However there are some categories that overwrite these default values so pay attention to the folder or category you group your spawner in. For instance the `obj/effect/spawner/random/techstorage` category overwrites the `spawn_all_loot` and the `spawn_loot_split` variables. + +```dm +// Tech storage circuit board spawners +/obj/effect/spawner/random/techstorage + name = "generic circuit board spawner" + spawn_loot_split = TRUE + spawn_all_loot = TRUE +``` + +This means any spawner you create under the techstorage will also have those variables set to that by default. This can be overridden quite easily just be resetting the variables back to the normal state like so: + +```dm +/obj/effect/spawner/random/techstorage/data_disk + name = "data disk spawner" + spawn_all_loot = FALSE // now our loot won't all be spawned + loot = list( + /obj/item/disk/data = 49, + /obj/item/disk/nuclear/fake/obvious = 1, + ) +``` + +## Template + +All the random spawners follow the same template format to keep things consistent and unison. + +```dm +/obj/effect/spawner/random/INSERT_SPAWNER_GROUP/INSERT_SPAWNER_NAME + name = "INSERT_SPAWNER_NAME spawner" + loot = list( + /obj/item/PATH/INSERT_OBJ_1, + /obj/item/PATH/INSERT_OBJ_2, + /obj/item/PATH/INSERT_OBJ_3, + ) +``` + +All the capitalized code is the parts where you are supposed to swap out with your objects like so: + +```dm +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + loot = list( + /obj/item/stack/medical/suture, + /obj/item/stack/medical/mesh, + /obj/item/stack/medical/gauze, + ) +``` + +Find the path to different objects and add them to the list but try to be consistent with the types of the object and the spawner. For example a medical spawner shouldn't have a emag in the loot list. (use an antag spawner for that instead!) + +## Probability + +Be aware that the `loot` list uses a *weighted chance* formula to determine probability. So if there are no numbers set in the `loot` list then each object defaults to 1 and has the same probability to be selected. For our above example for the `minor_healing` spawner each medical item has a 1/3 chance to be spawned. But if we rearranged the values to this: + +```dm +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + loot = list( + /obj/item/stack/medical/suture = 2, + /obj/item/stack/medical/mesh = 1, + /obj/item/stack/medical/gauze = 1, + ) +``` + +Then now `suture` has a 50% chance of being spawned (2/4), `mesh` has a 25% chance of being spawned (1/4), and `gauze` also has a 25% chance of being spawned (1/4). If we add another item into the mix then we get the following: + +```dm +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + loot = list( + /obj/item/stack/medical/suture = 2, + /obj/item/stack/medical/mesh = 1, + /obj/item/stack/medical/gauze = 1, + /obj/item/reagent_containers/syringe = 1, + ) +``` + +Suture is 40% (2/5), Mesh is 20% (1/5), Gauze is 20% (1/5), and Syringe is 20% (1/5). A weighted list has the advantage of not needing to update every item in the list when adding a new item. If the list was based on a straight percent values, then each new item would require to manually go and edit ALL the items in the list. For big lists that would become very tedious. This is why we use weighted lists to determine probability! + +## Style + +Here are some simple guidelines that you should stick to when making a new spawner: + +### If ALL the items have the same chance, we should not set a weighted value to the item + +Do not put `/obj/item/ = 1` unless other items have different spawn chances + +Good: + +```dm +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + loot = list( + /obj/item/stack/medical/suture = 2, + /obj/item/stack/medical/mesh = 1, + /obj/item/stack/medical/gauze = 1, + /obj/item/reagent_containers/syringe = 1, + ) +``` + +Also Good: + +```dm +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + loot = list( + /obj/item/stack/medical/suture, + /obj/item/stack/medical/mesh, + /obj/item/stack/medical/gauze, + /obj/item/reagent_containers/syringe, + ) +``` + +Bad: + +```dm +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + loot = list( + /obj/item/stack/medical/suture = 1, + /obj/item/stack/medical/mesh = 1, + /obj/item/stack/medical/gauze = 1, + /obj/item/reagent_containers/syringe = 1, + ) +``` + + +### Sort the list from highest probability to lowest + +Sort from top to bottom. The rarest items for your spawner should be at the bottom of the list. + +Good: + +```dm +/obj/effect/spawner/random/exotic/armory + name = "armory loot spawner" + loot = list( + /obj/item/gun/ballistic/automatic/pistol = 8, + /obj/item/gun/ballistic/shotgun/automatic/combat = 5, + /obj/item/storage/box/syndie_kit/throwing_weapons = 3, + /obj/item/grenade/clusterbuster/teargas = 2, + /obj/item/grenade/clusterbuster = 2, + /obj/item/gun/ballistic/automatic/pistol/deagle = 1, + /obj/item/gun/ballistic/revolver/mateba = 1, + ) +``` + +Bad: + +```dm +/obj/effect/spawner/random/exotic/armory + name = "armory loot spawner" + loot = list( + /obj/item/storage/box/syndie_kit/throwing_weapons = 3, + /obj/item/gun/ballistic/automatic/pistol = 8, + /obj/item/gun/ballistic/revolver/mateba = 1, + /obj/item/grenade/clusterbuster/teargas = 2, + /obj/item/gun/ballistic/automatic/pistol/deagle = 1, + /obj/item/grenade/clusterbuster = 2, + /obj/item/gun/ballistic/shotgun/automatic/combat = 5, + ) +``` + +### Always put the `loot` list at the bottom of your spawner + +This is just to keep things organized. + +Good: + +```dm +/obj/effect/spawner/random/food_or_drink/donkpockets + name = "donk pocket box spawner" + spawn_loot_double = FALSE + loot = list( + /obj/item/storage/box/donkpockets/donkpocketspicy, + /obj/item/storage/box/donkpockets/donkpocketteriyaki, + /obj/item/storage/box/donkpockets/donkpocketpizza, + /obj/item/storage/box/donkpockets/donkpocketberry, + /obj/item/storage/box/donkpockets/donkpockethonk, + ) +``` + +Bad: + +```dm +/obj/effect/spawner/random/food_or_drink/donkpockets + name = "donk pocket box spawner" + loot = list( + /obj/item/storage/box/donkpockets/donkpocketspicy, + /obj/item/storage/box/donkpockets/donkpocketteriyaki, + /obj/item/storage/box/donkpockets/donkpocketpizza, + /obj/item/storage/box/donkpockets/donkpocketberry, + /obj/item/storage/box/donkpockets/donkpockethonk, + ) + spawn_loot_double = FALSE +``` + +### Always put a comma at the last item in the `loot` list + +This will make it easier for people to add items to your spawner later without getting frustrating code errors. + +Good: + +```dm +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + loot = list( + /obj/item/stack/medical/suture, + /obj/item/stack/medical/mesh, + /obj/item/stack/medical/gauze, + ) +``` + +Bad: + +```dm +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + loot = list( + /obj/item/stack/medical/suture, + /obj/item/stack/medical/mesh, + /obj/item/stack/medical/gauze // if someone adds an item to the list later it will cause an error + ) +``` + +### Keep the same tab formatting for the `loot` list (unless there is only one item) + +Again, this is just good code organization. If there is only one item, then encase that item in `loot = list(item)` + +Good: + +```dm +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + loot = list( + /obj/item/stack/medical/suture, + /obj/item/stack/medical/mesh, + /obj/item/stack/medical/gauze, + ) +``` + +Also Good: + +```dm +/obj/effect/spawner/random/structure/crate_abandoned + icon = 'icons/effects/landmarks_static.dmi' + icon_state = "loot_site" + spawn_loot_chance = 20 + loot = list(/obj/structure/closet/crate/secure/loot) +``` + +Bad: + +```dm +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + loot = list( + /obj/item/stack/medical/suture, + /obj/item/stack/medical/mesh, + /obj/item/stack/medical/gauze, + ) +``` + +Also Bad: + +```dm +/obj/effect/spawner/random/medical/minor_healing + name = "minor healing spawner" + loot = list(/obj/item/stack/medical/suture, + /obj/item/stack/medical/mesh, + /obj/item/stack/medical/gauze,) +``` + +### Try to keep the total combined weight of your `loot` list to sane values (Aim for 5, 10, 20, 50, or 100) + +This makes the math probability easier for people to calculate. (this is recommended, but not always possible) + +Good: + +```dm +/obj/effect/spawner/random/trash/cigbutt + name = "cigarette butt spawner" + loot = list( + /obj/item/cigbutt = 65, + /obj/item/cigbutt/roach = 20, + /obj/item/cigbutt/cigarbutt = 15, + ) +``` + +Also Good: + +```dm +/obj/effect/spawner/random/trash/botanical_waste + name = "botanical waste spawner" + loot = list( + /obj/item/grown/bananapeel = 6, + /obj/item/grown/corncob = 3, + /obj/item/food/grown/bungopit = 1, + ) +``` + +Bad: + +```dm +/obj/effect/spawner/random/entertainment/money_large + name = "large money spawner" + loot = list( + /obj/item/stack/spacecash/c1 = 521, + /obj/item/stack/spacecash/c10 = 378, + /obj/item/stack/spacecash/c20 = 212, + /obj/item/stack/spacecash/c50 = 205, + /obj/item/stack/spacecash/c100 = 71, + /obj/item/stack/spacecash/c200 = 60, + /obj/item/stack/spacecash/c500 = 57, + /obj/item/stack/spacecash/c1000 = 41, + /obj/item/stack/spacecash/c10000 = 12, + ) +``` + +### Do not put empty items in the loot list + +Instead use the `spawn_loot_chance` var to control the chance for the spawner to spawn nothing. + +Good: + +```dm +/obj/effect/spawner/random/structure/crate_abandoned + name = "locked crate spawner" + spawn_loot_chance = 20 + loot = list(/obj/structure/closet/crate/secure/loot) +``` + + +Bad: + +```dm +/obj/effect/spawner/lootdrop/crate_spawner + name = "lootcrate spawner" + loot = list( + "" = 80 + /obj/structure/closet/crate/secure/loot = 20, + ) +``` + +### Avoid making a spawner that is a duplicate + +We don't want copy-cat spawners that are almost identical. Instead merge spawners together if possible. + +Good: + +```dm +/obj/effect/spawner/random/exotic/armory + name = "armory loot spawner" + icon_state = "pistol" + loot = list( + /obj/item/gun/ballistic/automatic/pistol = 8, + /obj/item/gun/ballistic/shotgun/automatic/combat = 5, + /obj/item/storage/box/syndie_kit/throwing_weapons = 3, + /obj/item/grenade/clusterbuster/teargas = 2, + /obj/item/grenade/clusterbuster = 2, + /obj/item/gun/ballistic/automatic/pistol/deagle, + /obj/item/gun/ballistic/revolver/mateba, + ) +``` + + +Bad: + +```dm +/obj/effect/spawner/lootdrop/armory_contraband + loot = list( + /obj/item/gun/ballistic/automatic/pistol = 8, + /obj/item/gun/ballistic/shotgun/automatic/combat = 5, + /obj/item/gun/ballistic/automatic/pistol/deagle, + /obj/item/gun/ballistic/revolver/mateba + ) + +/obj/effect/spawner/lootdrop/armory_contraband/metastation + loot = list( + /obj/item/gun/ballistic/automatic/pistol = 8, + /obj/item/gun/ballistic/shotgun/automatic/combat = 5, + /obj/item/storage/box/syndie_kit/throwing_weapons = 3, + /obj/item/gun/ballistic/automatic/pistol/deagle, + /obj/item/gun/ballistic/revolver/mateba + ) + +``` diff --git a/code/game/objects/effects/spawners/random.dm/salvaging.dm b/code/game/objects/effects/spawners/random.dm/salvaging.dm new file mode 100644 index 000000000000..66543e3ef47a --- /dev/null +++ b/code/game/objects/effects/spawners/random.dm/salvaging.dm @@ -0,0 +1,207 @@ +//GENERIC +/obj/effect/spawner/random/salvage_capacitor + icon_state = "matter_bin" + loot = list( + /obj/item/stock_parts/capacitor = 120, + /obj/item/stock_parts/capacitor/adv = 20, + /obj/item/stock_parts/capacitor/super = 5, + ) + +/obj/effect/spawner/random/salvage_scanning + icon_state = "matter_bin" + loot = list( + /obj/item/stock_parts/scanning_module = 120, + /obj/item/stock_parts/scanning_module/adv = 20, + /obj/item/stock_parts/scanning_module/phasic = 5, + ) + +/obj/effect/spawner/random/salvage_manipulator + icon_state = "matter_bin" + loot = list( + /obj/item/stock_parts/manipulator = 120, + /obj/item/stock_parts/manipulator/nano = 20, + /obj/item/stock_parts/manipulator/pico = 5, + ) + +/obj/effect/spawner/random/salvage_matter_bin + icon_state = "matter_bin" + loot = list( + /obj/item/stock_parts/matter_bin = 120, + /obj/item/stock_parts/matter_bin/adv = 20, + /obj/item/stock_parts/matter_bin/super = 5, + ) + +/obj/effect/spawner/random/salvage_laser + icon_state = "matter_bin" + loot = list( + /obj/item/stock_parts/micro_laser = 120, + /obj/item/stock_parts/micro_laser/high = 20, + /obj/item/stock_parts/micro_laser/ultra = 5, + ) + +//PROTOLATHE + +/obj/effect/spawner/random/random_gun_protolathe_lootdrop + icon_state = "laser_gun" + loot = list( + /obj/item/gun/energy/lasercannon = 1, + /obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq/proto = 1, + /obj/item/gun/energy/temperature/security = 1, + ) + +/obj/effect/spawner/random/random_ammo_protolathe_lootdrop + icon_state = "rubbershot" + loot = list( + /obj/item/stock_parts/cell/gun/upgraded = 5, + /obj/item/ammo_box/magazine/smgm9mm = 7, + ) + +//DESTRUCTIVE ANAL //i'm killing you +/obj/effect/spawner/random/destructive_anal_loot //what do people usually put in these things anayways + loot = list( + /obj/item/storage/toolbox/syndicate/empty = 650, + /obj/item/gun/ballistic/automatic/pistol/ringneck = 500, + /obj/item/camera_bug = 500, + /obj/item/clothing/gloves/combat = 200, + /obj/item/clothing/head/chameleon = 200, + /obj/item/pen/sleepy = 200, + /obj/item/reagent_containers/hypospray/medipen/stimpack/traitor = 100, + /obj/item/grenade/c4 = 100, + + /obj/item/wrench/syndie = 30, + /obj/item/screwdriver/nuke = 30, + /obj/item/crowbar/syndie = 30, + /obj/item/wirecutters/syndie = 30, + /obj/item/multitool/syndie = 30, + ) + +/obj/effect/spawner/random/salvage_machine + name = "salvageable machine spawner" + icon_state = "arcade" + loot = list( + /obj/structure/salvageable/protolathe, + /obj/structure/salvageable/circuit_imprinter, + /obj/structure/salvageable/server, + /obj/structure/salvageable/machine, + /obj/structure/salvageable/autolathe, + /obj/structure/salvageable/computer, + /obj/structure/salvageable/destructive_analyzer + ) + +/obj/effect/spawner/random/salvage + name = "salvage mats spawner" + icon_state = "rods" + loot = list( + /obj/item/stack/ore/salvage/scrapmetal, + /obj/item/stack/ore/salvage/scrapgold, + /obj/item/stack/ore/salvage/scrapplasma, + /obj/item/stack/ore/salvage/scrapsilver, + /obj/item/stack/ore/salvage/scraptitanium, + /obj/item/stack/ore/salvage/scrapbluespace, + /obj/item/stack/ore/salvage/scrapuranium + ) + +/obj/effect/spawner/random/salvage/half + name = "50% salvage spawner" + spawn_loot_chance = 50 + loot = list( + /obj/effect/spawner/random/maintenance, + /obj/effect/spawner/random/salvage_machine, + /obj/effect/spawner/random/exotic/ripley, + /obj/structure/closet/crate/secure/loot, + ) + +/obj/effect/spawner/random/salvage/metal + loot = list( + /obj/item/stack/ore/salvage/scrapmetal + ) + +/obj/effect/spawner/random/salvage/metal/Initialize() + spawn_loot_count = pick(list( + 1, + 2, + 3, + 4 + )) + return ..() + +/obj/effect/spawner/random/salvage/gold + loot = list( + /obj/item/stack/ore/salvage/scrapgold + ) + +/obj/effect/spawner/random/salvage/gold/Initialize() + spawn_loot_count = pick(list( + 1, + 2, + 3, + 4 + )) + return ..() + +/obj/effect/spawner/random/salvage/plasma + loot = list( + /obj/item/stack/ore/salvage/scrapplasma + ) +/obj/effect/spawner/random/salvage/plasma/Initialize() + spawn_loot_count = pick(list( + 1, + 2, + 3, + 4 + )) + return ..() + + +/obj/effect/spawner/random/salvage/silver + loot = list( + /obj/item/stack/ore/salvage/scrapsilver + ) +/obj/effect/spawner/random/salvage/silver/Initialize() + spawn_loot_count = pick(list( + 1, + 2, + 3, + 4 + )) + return ..() + + +/obj/effect/spawner/random/salvage/titanium + loot = list( + /obj/item/stack/ore/salvage/scraptitanium + ) +/obj/effect/spawner/random/salvage/titanium/Initialize() + spawn_loot_count = pick(list( + 1, + 2, + 3, + 4 + )) + return ..() + +/obj/effect/spawner/random/salvage/bluespace + loot = list( + /obj/item/stack/ore/salvage/scrapbluespace + ) +/obj/effect/spawner/random/salvage/bluespace/Initialize() + spawn_loot_count = pick(list( + 1, + 2, + 3, + 4 + )) + return ..() + +/obj/effect/spawner/random/salvage/uranium + loot = list( + /obj/item/stack/ore/salvage/scrapuranium + ) +/obj/effect/spawner/random/salvage/uranium/Initialize() + spawn_loot_count = pick(list( + 1, + 2, + 3, + 4 + )) + return ..() diff --git a/code/game/objects/effects/spawners/random.dm/structure.dm b/code/game/objects/effects/spawners/random.dm/structure.dm new file mode 100644 index 000000000000..0264b3d76a9e --- /dev/null +++ b/code/game/objects/effects/spawners/random.dm/structure.dm @@ -0,0 +1,91 @@ + +/obj/effect/spawner/random/structure + name = "structure spawner" + desc = "Now you see me, now you don't..." + icon_state = "girder" + +/obj/effect/spawner/random/structure/crate_abandoned + name = "locked crate spawner" + icon_state = "crate_secure" + spawn_loot_chance = 20 + loot = list(/obj/structure/closet/crate/secure/loot) + +/obj/effect/spawner/random/structure/girder + name = "girder spawner" + icon_state = "girder" + spawn_loot_chance = 90 + loot = list( // 80% chance normal girder, 10% chance of displaced, 10% chance of nothing + /obj/structure/girder = 8, + /obj/structure/girder/displaced = 1, + ) + +/obj/effect/spawner/random/structure/grille + name = "grille spawner" + icon_state = "grille" + spawn_loot_chance = 90 + loot = list( // 80% chance normal grille, 10% chance of broken, 10% chance of nothing + /obj/structure/grille = 8, + /obj/structure/grille/broken = 1, + ) + +/obj/effect/spawner/random/structure/furniture_parts + name = "furniture parts spawner" + icon_state = "table_parts" + loot = list( + /obj/structure/table_frame, + /obj/structure/table_frame/wood, + /obj/item/rack_parts, + ) + +/obj/effect/spawner/random/structure/table_or_rack + name = "table or rack spawner" + icon_state = "rack_parts" + loot = list( + /obj/effect/spawner/random/structure/table, + /obj/structure/rack, + ) + +/obj/effect/spawner/random/structure/table + name = "table spawner" + icon_state = "table" + loot = list( + /obj/structure/table = 40, + /obj/structure/table/wood = 30, + /obj/structure/table/glass = 20, + /obj/structure/table/reinforced = 5, + /obj/structure/table/wood/poker = 5, + ) + +/obj/effect/spawner/random/structure/closet_empty + name = "empty closet spawner" + icon_state = "locker" + loot = list( + /obj/structure/closet = 850, + /obj/structure/closet/cabinet = 150, + /obj/structure/closet/acloset = 1, + ) + +/obj/effect/spawner/random/structure/closet_empty/crate + name = "empty crate spawner" + icon_state = "crate" + loot = list( + /obj/structure/closet/crate = 20, + /obj/structure/closet/crate/wooden = 1, + /obj/structure/closet/crate/internals = 1, + /obj/structure/closet/crate/medical = 1, + /obj/structure/closet/crate/freezer = 1, + /obj/structure/closet/crate/radiation = 1, + /obj/structure/closet/crate/hydroponics = 1, + /obj/structure/closet/crate/engineering = 1, + /obj/structure/closet/crate/engineering/electrical = 1, + /obj/structure/closet/crate/science = 1, + ) + +/obj/effect/spawner/random/structure/barricade + name = "barricade spawner" + icon_state = "barricade" + spawn_loot_chance = 80 + loot = list( + /obj/structure/barricade/wooden, + /obj/structure/barricade/wooden/crude, + ) diff --git a/code/game/objects/effects/spawners/random.dm/trash.dm b/code/game/objects/effects/spawners/random.dm/trash.dm new file mode 100644 index 000000000000..3c15e77106a3 --- /dev/null +++ b/code/game/objects/effects/spawners/random.dm/trash.dm @@ -0,0 +1,282 @@ +/obj/effect/spawner/random/trash + name = "trash spawner" + desc = "Ewwwwwww gross." + icon_state = "trash" + +/obj/effect/spawner/random/trash/garbage + name = "garbage spawner" + loot = list( + /obj/effect/spawner/random/trash/food_packaging = 20, + /obj/item/trash/can = 15, + /obj/item/shard = 10, + /obj/effect/spawner/random/trash/cigbutt = 10, + /obj/effect/spawner/random/trash/botanical_waste = 5, + /obj/item/broken_bottle = 5, + /obj/item/light/tube/broken = 5, + /obj/item/light/bulb/broken = 5, + /obj/item/assembly/mousetrap/armed = 5, + /obj/item/stack/cable_coil = 5, + /obj/item/trash/candle = 1, + /obj/item/reagent_containers/glass/rag = 1, + /obj/item/popsicle_stick = 1, + /obj/item/reagent_containers/syringe = 1, + /obj/item/shard/plasma = 1, + ) + +/obj/effect/spawner/random/trash/deluxe_garbage + name = "fancy deluxe garbage spawner" + loot = list( + /obj/effect/spawner/random/trash/garbage = 25, + /obj/effect/spawner/random/trash/food_packaging = 10, + /obj/effect/spawner/random/entertainment/money = 10, + /obj/effect/spawner/random/trash/crushed_can = 10, + /obj/item/shard/plasma = 5, + /obj/item/reagent_containers/pill/floorpill = 5, + /obj/effect/spawner/random/trash/soap = 3, + /obj/item/broken_bottle = 3, + /obj/effect/spawner/random/engineering/tool/common = 1, + /mob/living/simple_animal/mouse = 1, + /obj/item/reagent_containers/glass/rag = 1, + /obj/effect/spawner/random/entertainment/drugs= 1, + /obj/item/reagent_containers/syringe = 1, + /obj/effect/spawner/random/entertainment/cigar = 1, + /obj/item/stack/ore/gold = 1, + ) + +/obj/effect/spawner/random/trash/cigbutt + name = "cigarette butt spawner" + loot = list( + /obj/item/cigbutt = 25, + /obj/item/cigbutt/roach = 25, + /obj/effect/decal/cleanable/ash = 25, + /obj/item/cigbutt/cigarbutt = 15, + ) + +/obj/effect/spawner/random/trash/food_packaging + name = "empty food packaging spawner" + icon_state = "chips" + loot = list( + /obj/item/trash/raisins = 2, + /obj/item/trash/cheesie = 2, + /obj/item/trash/candy = 2, + /obj/item/trash/chips = 2, + /obj/item/trash/sosjerky = 2, + /obj/item/trash/pistachios = 2, + /obj/item/trash/boritos = 1, + /obj/item/trash/can/food/beans = 1, + /obj/item/trash/can/food/peaches = 1, + /obj/item/trash/popcorn = 1, + /obj/item/trash/energybar = 1, + /obj/item/trash/can/food/peaches/maint = 1, + /obj/item/trash/semki = 1, + /obj/item/trash/syndi_cakes = 1, + /obj/item/trash/tray = 1, + ) + +/obj/effect/spawner/random/trash/botanical_waste + name = "botanical waste spawner" + icon_state = "peel" + loot = list( + /obj/item/grown/bananapeel = 6, + /obj/item/grown/corncob = 3, + ) + +/obj/effect/spawner/random/trash/grille_or_waste + name = "grille or waste spawner" + icon_state = "grille" + loot = list( + /obj/structure/grille = 5, + /obj/effect/spawner/random/trash/food_packaging = 3, + /obj/effect/spawner/random/trash/cigbutt = 1, + /obj/item/reagent_containers/food/snacks/deadmouse = 1, + ) + +/obj/effect/spawner/random/trash/decal + icon_state = "vomit" + loot = list( + /obj/effect/decal/cleanable/greenglow/filled = 30, + /obj/effect/decal/cleanable/greenglow/ecto = 1, + /obj/effect/decal/cleanable/glass = 30, + /obj/effect/decal/cleanable/glass/plasma = 30, + /obj/effect/decal/cleanable/glass/strange = 30, + /obj/effect/decal/cleanable/molten_object = 30, + /obj/effect/decal/cleanable/molten_object/large = 30, + /obj/effect/decal/cleanable/oil = 30, + /obj/effect/decal/cleanable/oil/slippery = 1, // :) + /obj/effect/decal/cleanable/plastic = 30, + /obj/effect/decal/cleanable/ash = 30, + /obj/effect/decal/cleanable/ash/large = 30, + ) + +/obj/effect/spawner/random/trash/mess + name = "gross decal spawner" + icon_state = "vomit" + loot = list( + /obj/effect/decal/cleanable/dirt = 6, + /obj/effect/decal/cleanable/garbage = 3, + /obj/effect/decal/cleanable/vomit/old = 3, + /obj/effect/decal/cleanable/blood/gibs/old = 3, + /obj/effect/decal/cleanable/insectguts = 1, + /obj/effect/decal/cleanable/greenglow/ecto = 1, + /obj/effect/decal/cleanable/wrapping = 1, + /obj/effect/decal/cleanable/plastic = 1, + /obj/effect/decal/cleanable/glass = 1, + ) + +/obj/effect/spawner/random/trash/grime + name = "trash and grime spawner" + spawn_loot_count = 5 + spawn_scatter_radius = 2 + loot = list( // This spawner will scatter garbage around a dirty site. + /obj/effect/spawner/random/trash/garbage = 6, + /mob/living/simple_animal/hostile/cockroach = 5, + /obj/effect/decal/cleanable/garbage = 4, + /obj/effect/decal/cleanable/vomit/old = 3, + /obj/effect/spawner/random/trash/cigbutt = 2, + ) + +/obj/effect/spawner/random/trash/moisture + name = "water hazard spawner" + icon_state = "caution" + spawn_loot_count = 2 + spawn_scatter_radius = 1 + loot = list( // This spawner will scatter water related items around a moist site. + /obj/item/clothing/head/cone = 7, + /obj/item/clothing/suit/caution = 3, + /mob/living/simple_animal/hostile/retaliate/frog = 2, + /obj/item/reagent_containers/glass/rag = 2, + /obj/item/reagent_containers/glass/bucket = 2, + /obj/effect/decal/cleanable/blood/old = 2, + ) + +/obj/effect/spawner/random/trash/graffiti + name = "random graffiti spawner" + icon_state = "rune" + loot = list(/obj/effect/decal/cleanable/crayon) + var/graffiti_icons = list( + "rune1", "rune2", "rune3", "rune4", "rune5", "rune6", + "amyjon", "face", "matt", "revolution", "engie", "guy", + "end", "dwarf", "uboa", "body", "cyka", "star", + "prolizard", "antilizard", "danger", "firedanger", "electricdanger", + "biohazard", "radiation", "safe", "evac", "space", "med", "trade", "shop", + "food", "peace", "like", "skull", "nay", "heart", "credit", + "smallbrush", "brush", "largebrush", "splatter", "snake", "stickman", + "carp", "ghost", "clown", "taser", "disk", "fireaxe", "toolbox", + "corgi", "cat", "toilet", "blueprint", "beepsky", "scroll", "bottle", + "shotgun", "arrow", "line", "thinline", "shortline", "body", "chevron", + "footprint", "clawprint", "pawprint", + ) + // This sets the color of the graffiti (used for mapedits) + color = COLOR_WHITE + /// Whether the graffiti will spawn with a random color (used for mapedits) + var/random_color = TRUE + /// Whether the graffiti will spawn with this spawner's icon_state instead of a random one (used for mapedits) + var/random_icon = TRUE + +/obj/effect/spawner/random/trash/graffiti/make_item(spawn_loc, type_path_to_make) + var/obj/effect/decal/cleanable/crayon/graffiti_decal = ..() + if(istype(graffiti_decal)) + color = random_color && "#[random_short_color()]" || color + icon_state = random_icon && pick(graffiti_icons) || icon_state + + graffiti_decal.add_atom_colour(color, FIXED_COLOUR_PRIORITY) + graffiti_decal.icon_state = icon_state + + return graffiti_decal + +/obj/effect/spawner/random/trash/mopbucket + name = "mop bucket spawner" + icon_state = "mopbucket" + spawn_loot_count = 2 + spawn_loot_double = FALSE + loot = list( + /obj/item/mop = 5, + /obj/item/clothing/suit/caution = 3, + /obj/item/reagent_containers/glass/bucket = 1, + /obj/item/reagent_containers/glass/bucket/wooden = 1, + ) + +/obj/effect/spawner/random/trash/caution_sign + name = "caution sign spawner" + icon_state = "caution" + loot = list( + /obj/item/clothing/suit/caution = 40, + /obj/structure/holosign/wetsign = 5, + /obj/structure/holosign/barrier = 3, + /obj/structure/holosign/barrier/wetsign = 2, + ) + +/obj/effect/spawner/random/trash/bucket + name = "bucket spawner" + icon_state = "caution" + loot = list( + /obj/item/reagent_containers/glass/bucket, + /obj/item/reagent_containers/glass/bucket/wooden, + ) + +/obj/effect/spawner/random/trash/soap + name = "soap spawner" + icon_state = "soap" + loot = list( + /obj/item/soap = 25, + /obj/item/bikehorn/rubberducky = 20, + /obj/item/soap/homemade = 20, + /obj/item/soap/deluxe = 15, + /obj/item/soap/nanotrasen = 10, + ) + +/obj/effect/spawner/random/trash/box + name = "box spawner" + icon_state = "box" + loot = list( + /obj/structure/closet/cardboard = 9, + /obj/structure/closet/cardboard/metal = 1, + ) + +/obj/effect/spawner/random/trash/bin + name = "trashbin spawner" + icon_state = "trash_bin" + loot = list( + /obj/structure/closet/crate/bin = 10, + /obj/structure/closet/crate/trashcart = 3, + /obj/effect/spawner/random/trash/box = 3, + /obj/structure/closet/crate/trashcart/laundry = 1, + ) + + +/obj/effect/spawner/random/trash/janitor_supplies + name = "janitor supplies spawner" + icon_state = "box_small" + loot = list( + /obj/item/storage/box/mousetraps, + /obj/item/storage/box/lights/tubes, + /obj/item/storage/box/lights/mixed, + /obj/item/storage/box/lights/bulbs, + ) + +/obj/effect/spawner/random/trash/crushed_can + name = "crushed can spawner" + icon_state = "crushed_can" + loot = list(/obj/item/trash/can) + /// Whether the can will spawn with this spawner's icon_state instead of a random one (used for mapedits) + var/soda_icons = list( + "energy_drink", "monkey_energy", "thirteen_loko", "space_mountain_wind", "dr_gibb", "starkist", + "sodawater", "tonic", "cola", "purple_can", "ice_tea_can", + "sol_dry", "wellcheers", "space beer", "ebisu", "shimauma", "moonlabor", + "space_up", "lemon_lime", "shamblers", "shamblerseldritch", "air", "laughter", + "volt_energy", "melon_soda", + ) + +/obj/effect/spawner/random/trash/crushed_can/make_item(spawn_loc, type_path_to_make) + var/obj/item/trash/can/crushed_can = .. () + if(istype(crushed_can)) + crushed_can.icon_state = pick(soda_icons) + return crushed_can + +/obj/effect/spawner/random/trash/ghetto_containers + name = "ghetto container spawner" + loot = list( + /obj/item/reagent_containers/glass/bucket = 5, + /obj/item/reagent_containers/glass/bottle = 5, + /obj/item/reagent_containers/glass/mortar = 2, + ) diff --git a/code/game/objects/effects/spawners/random.dm/vending.dm b/code/game/objects/effects/spawners/random.dm/vending.dm new file mode 100644 index 000000000000..595746e14e19 --- /dev/null +++ b/code/game/objects/effects/spawners/random.dm/vending.dm @@ -0,0 +1,17 @@ +/obj/effect/spawner/random/vending + name = "machinery spawner" + desc = "Randomized electronics for extra fun." + +/obj/effect/spawner/random/vending/snack + name = "spawn random snack vending machine" + desc = "Automagically transforms into a random snack vendor. If you see this while in a shift, please create a bug report." + icon_state = "snack" + loot_type_path = /obj/machinery/vending/snack + loot = list() + +/obj/effect/spawner/random/vending/cola + name = "spawn random cola vending machine" + desc = "Automagically transforms into a random cola vendor. If you see this while in a shift, please create a bug report." + icon_state = "cola" + loot_type_path = /obj/machinery/vending/cola + loot = list() diff --git a/code/game/objects/effects/spawners/random.dm/waste_planet.dm b/code/game/objects/effects/spawners/random.dm/waste_planet.dm new file mode 100644 index 000000000000..46ad61a754a6 --- /dev/null +++ b/code/game/objects/effects/spawners/random.dm/waste_planet.dm @@ -0,0 +1,101 @@ +/obj/effect/spawner/random/waste/grille_or_trash + icon_state = "grille" + name = "wasteplanet loot spawner" + loot = list( + /obj/structure/grille/broken = 5, + /obj/structure/grille = 5, + /obj/item/cigbutt = 1, + /obj/item/trash/cheesie = 1, + /obj/item/trash/candy = 1, + /obj/item/trash/chips = 1, + /obj/item/reagent_containers/food/snacks/deadmouse = 1, + /obj/item/trash/pistachios = 1, + /obj/item/trash/plate = 1, + /obj/item/trash/popcorn = 1, + /obj/item/trash/raisins = 1, + /obj/item/trash/sosjerky = 1, + /obj/item/trash/syndi_cakes = 1 + ) + +/obj/effect/spawner/random/waste/mechwreck + icon_state = "ripley" + name = "wasteplanet exosuit wreckage" + loot = list( + /obj/structure/mecha_wreckage/ripley = 15, + /obj/structure/mecha_wreckage/ripley/firefighter = 9, + /obj/structure/mecha_wreckage/ripley/mkii = 9, + /obj/structure/mecha_wreckage/ripley/clip = 9 + ) + +/obj/effect/spawner/random/waste/mechwreck/rare + loot = list( + /obj/structure/mecha_wreckage/durand = 12.5, + /obj/structure/mecha_wreckage/durand/clip = 12.5, + /obj/structure/mecha_wreckage/odysseus = 25, + /obj/structure/mecha_wreckage/gygax = 25 + ) + +/obj/effect/spawner/random/waste/radiation + loot = list( + /obj/structure/radioactive = 6, + /obj/structure/radioactive/stack = 6, + /obj/structure/radioactive/waste = 6 + ) + +/obj/effect/spawner/random/waste/radiation/more_rads + loot = list( + /obj/structure/radioactive = 3, + /obj/structure/radioactive/stack = 12, + /obj/structure/radioactive/waste = 12 + ) + +/obj/effect/spawner/random/waste/atmos_can + loot = list( + /obj/machinery/portable_atmospherics/canister/toxins = 3, + /obj/machinery/portable_atmospherics/canister/carbon_dioxide = 3, + /obj/machinery/portable_atmospherics/canister/nitrogen = 3, + /obj/machinery/portable_atmospherics/canister/oxygen = 3, + /obj/machinery/portable_atmospherics/canister/nitrous_oxide = 1, + /obj/machinery/portable_atmospherics/canister/water_vapor = 1 + ) + +/obj/effect/spawner/random/waste/atmos_can/rare + loot = list( + /obj/machinery/portable_atmospherics/canister/tritium = 3, + /obj/machinery/portable_atmospherics/canister/pluoxium = 3 + ) + +/obj/effect/spawner/random/waste/salvageable + loot = list( + /obj/structure/salvageable/machine = 20, + /obj/structure/salvageable/autolathe = 15, + /obj/structure/salvageable/computer = 10, + /obj/structure/salvageable/protolathe = 10, + /obj/structure/salvageable/circuit_imprinter = 8, + /obj/structure/salvageable/destructive_analyzer = 8, + /obj/structure/salvageable/server = 8 + ) + +/obj/effect/spawner/random/waste/girder + loot = list( + /obj/structure/girder, + /obj/structure/girder/displaced, + /obj/structure/girder/reinforced + ) +/obj/effect/spawner/random/waste/hivebot + loot = list( + /obj/effect/spawner/random/salvage/metal, + /obj/effect/spawner/random/salvage/metal, + /obj/effect/spawner/random/salvage/metal, + /obj/effect/spawner/random/salvage/gold, + /obj/effect/spawner/random/salvage/plasma, + /obj/effect/spawner/random/salvage/silver, + /obj/effect/spawner/random/salvage/titanium, + /obj/item/stack/ore/salvage/scrapbluespace, + /obj/item/stack/ore/salvage/scrapbluespace, + /obj/item/stack/ore/salvage/scrapuranium + ) + spawn_loot_count = 2 + +/obj/effect/spawner/random/waste/hivebot/beacon + spawn_loot_count = 6 diff --git a/code/game/objects/effects/spawners/spawner.dm b/code/game/objects/effects/spawners/spawner.dm new file mode 100644 index 000000000000..d8091c6cfc65 --- /dev/null +++ b/code/game/objects/effects/spawners/spawner.dm @@ -0,0 +1,23 @@ +/obj/effect/spawner + name = "object spawner" + +// Brief explanation: +// Rather then setting up and then deleting spawners, we block all atomlike setup +// and do the absolute bare minimum +// This is with the intent of optimizing mapload +/obj/effect/spawner/Initialize(mapload) + SHOULD_CALL_PARENT(FALSE) + if(flags_1 & INITIALIZED_1) + stack_trace("Warning: [src]([type]) initialized multiple times!") + flags_1 |= INITIALIZED_1 + + return INITIALIZE_HINT_QDEL + +/obj/effect/spawner/Destroy(force) + SHOULD_CALL_PARENT(FALSE) + moveToNullspace() + return QDEL_HINT_QUEUE + +/// Override to define loot blacklist behavior +/obj/effect/spawner/proc/can_spawn(atom/loot) + return TRUE diff --git a/code/game/objects/effects/spawners/traps.dm b/code/game/objects/effects/spawners/traps.dm deleted file mode 100644 index 0409d9944b9b..000000000000 --- a/code/game/objects/effects/spawners/traps.dm +++ /dev/null @@ -1,9 +0,0 @@ -/obj/effect/spawner/trap - name = "random trap" - icon = 'icons/obj/hand_of_god_structures.dmi' - icon_state = "trap_rand" - -/obj/effect/spawner/trap/Initialize(mapload) - . = ..() - var/new_type = pick(subtypesof(/obj/structure/trap) - typesof(/obj/structure/trap/ctf)) - new new_type(get_turf(src)) diff --git a/code/game/objects/effects/spawners/vaultspawner.dm b/code/game/objects/effects/spawners/vaultspawner.dm deleted file mode 100644 index 9bdf0a673ed9..000000000000 --- a/code/game/objects/effects/spawners/vaultspawner.dm +++ /dev/null @@ -1,28 +0,0 @@ -/obj/effect/vaultspawner - var/maxX = 6 - var/maxY = 6 - var/minX = 2 - var/minY = 2 - -/obj/effect/vaultspawner/New(turf/location,lX = minX,uX = maxX,lY = minY,uY = maxY,type = null) - if(!type) - type = pick("sandstone","rock","alien") - - var/lowBoundX = location.x - var/lowBoundY = location.y - - var/hiBoundX = location.x + rand(lX,uX) - var/hiBoundY = location.y + rand(lY,uY) - - var/z = location.z - - for(var/i = lowBoundX,i<=hiBoundX,i++) - for(var/j = lowBoundY,j<=hiBoundY,j++) - var/turf/T = locate(i,j,z) - if(i == lowBoundX || i == hiBoundX || j == lowBoundY || j == hiBoundY) - T.PlaceOnTop(/turf/closed/wall/vault) - else - T.PlaceOnTop(/turf/open/floor/vault) - T.icon_state = "[type]vault" - - qdel(src) diff --git a/code/game/objects/effects/spawners/xeno_egg_delivery.dm b/code/game/objects/effects/spawners/xeno_egg_delivery.dm deleted file mode 100644 index 1eb4fd0dda94..000000000000 --- a/code/game/objects/effects/spawners/xeno_egg_delivery.dm +++ /dev/null @@ -1,18 +0,0 @@ -/obj/effect/spawner/xeno_egg_delivery - name = "xeno egg delivery" - icon = 'icons/mob/alien.dmi' - icon_state = "egg_growing" - var/announcement_time = 1200 - -/obj/effect/spawner/xeno_egg_delivery/Initialize(mapload) - . = ..() - var/turf/T = get_turf(src) - - new /obj/structure/alien/egg(T) - new /obj/effect/temp_visual/gravpush(T) - playsound(T, 'sound/items/party_horn.ogg', 50, TRUE, -1) - - message_admins("An alien egg has been delivered to [ADMIN_VERBOSEJMP(T)].") - log_game("An alien egg has been delivered to [AREACOORD(T)]") - var/message = "Attention [station_name()], we have entrusted you with a research specimen in [get_area_name(T, TRUE)]. Remember to follow all safety precautions when dealing with the specimen." - SSticker.OnRoundstart(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(_addtimer), CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(print_command_report), message), announcement_time)) diff --git a/code/game/objects/items/chromosome.dm b/code/game/objects/items/chromosome.dm index 3acf3cfe5cb3..c6ee7f174aab 100644 --- a/code/game/objects/items/chromosome.dm +++ b/code/game/objects/items/chromosome.dm @@ -48,7 +48,7 @@ if(!initial(CM.weight)) break chromosomes[A] = initial(CM.weight) - return pickweight(chromosomes) + return pick_weight(chromosomes) /obj/item/chromosome/stabilizer diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 26b23c509838..0606e999b1ce 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -564,15 +564,6 @@ name = "pink glowstick" color = LIGHT_COLOR_PINK -/obj/effect/spawner/lootdrop/glowstick - name = "random colored glowstick" - icon = 'icons/obj/lighting.dmi' - icon_state = "random_glowstick" - -/obj/effect/spawner/lootdrop/glowstick/Initialize() - loot = typesof(/obj/item/flashlight/glowstick) - . = ..() - /obj/item/flashlight/spotlight //invisible lighting source name = "disco light" desc = "Groovy..." diff --git a/code/game/objects/items/devices/mines.dm b/code/game/objects/items/devices/mines.dm index 9f0896f946bf..6319cc1a638d 100644 --- a/code/game/objects/items/devices/mines.dm +++ b/code/game/objects/items/devices/mines.dm @@ -841,10 +841,10 @@ LIVE_MINE_HELPER(pressure/sound) // spawners (random mines, minefields, non-guaranteed mine) // -/obj/effect/spawner/lootdrop/mine +/obj/effect/spawner/random/mine name = "live mine spawner (random)" - lootcount = 1 - fan_out_items = TRUE + spawn_loot_count = 1 + spawn_loot_split = TRUE loot = list( /obj/item/mine/pressure/explosive/live = 10, /obj/item/mine/pressure/explosive/shrapnel/live = 3, @@ -864,7 +864,7 @@ LIVE_MINE_HELPER(pressure/sound) /obj/effect/spawner/minefield/random name = "random minefield spawner" - minetype = /obj/effect/spawner/lootdrop/mine + minetype = /obj/effect/spawner/random/mine /obj/effect/spawner/minefield/manhack name = "manhack field spawner" diff --git a/code/game/objects/items/grenades/ghettobomb.dm b/code/game/objects/items/grenades/ghettobomb.dm index 915011b81b11..247ca439c8bd 100644 --- a/code/game/objects/items/grenades/ghettobomb.dm +++ b/code/game/objects/items/grenades/ghettobomb.dm @@ -25,7 +25,7 @@ add_overlay("improvised_grenade_filled") add_overlay("improvised_grenade_wired") times = list("5" = 10, "-1" = 20, "[rand(30,80)]" = 50, "[rand(65,180)]" = 20)// "Premature, Dud, Short Fuse, Long Fuse"=[weighting value] - det_time = text2num(pickweight(times)) + det_time = text2num(pick_weight(times)) if(det_time < 0) //checking for 'duds' range = 1 det_time = rand(30,80) diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm index 4b16ee60942d..dd00d3abd1fd 100644 --- a/code/game/objects/items/plushes.dm +++ b/code/game/objects/items/plushes.dm @@ -863,43 +863,3 @@ var/mutable_appearance/base_overlay_among = mutable_appearance(icon, "plushie_among_visor") base_overlay_among.appearance_flags = RESET_COLOR add_overlay(base_overlay_among) - -/obj/effect/spawner/lootdrop/plushie - loot = list ( - /obj/item/toy/plush/beeplushie, - /obj/item/toy/plush/blahaj, - /obj/item/toy/plush/carpplushie, - /obj/item/toy/plush/flushed, - /obj/item/toy/plush/kari, - /obj/item/toy/plush/lizardplushie, - /obj/item/toy/plush/mora, - /obj/item/toy/plush/realgoat, - /obj/item/toy/plush/rilena, - /obj/item/toy/plush/sharai, - /obj/item/toy/plush/slimeplushie, - /obj/item/toy/plush/snakeplushie, - /obj/item/toy/plush/spider, - /obj/item/toy/plush/tali, - /obj/item/toy/plush/xader, - /obj/effect/spawner/lootdrop/plushie/moth // fair chances - ) - -/obj/effect/spawner/lootdrop/plushie/moth - loot = list ( - /obj/item/toy/plush/moth, - /obj/item/toy/plush/moth/monarch, - /obj/item/toy/plush/moth/luna, - /obj/item/toy/plush/moth/atlas, - /obj/item/toy/plush/moth/redish, - /obj/item/toy/plush/moth/royal, - /obj/item/toy/plush/moth/gothic, - /obj/item/toy/plush/moth/lovers, - /obj/item/toy/plush/moth/whitefly, - /obj/item/toy/plush/moth/punished, - /obj/item/toy/plush/moth/firewatch, - /obj/item/toy/plush/moth/deadhead, - /obj/item/toy/plush/moth/poison, - /obj/item/toy/plush/moth/ragged, - /obj/item/toy/plush/moth/snow, - /obj/item/toy/plush/moth/moonfly - ) diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm index e8b619b0d712..5a1bdaabe340 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -2,7 +2,7 @@ /obj/item/storage/box/syndicate /obj/item/storage/box/syndicate/bundle_A/PopulateContents() - switch (pickweight(list("recon" = 2, "bloodyspai" = 3, "stealth" = 2, "screwed" = 2, "sabotage" = 3, "guns" = 2, "murder" = 2, "implant" = 1, "hacker" = 3, "sniper" = 1, "metaops" = 1))) + switch (pick_weight(list("recon" = 2, "bloodyspai" = 3, "stealth" = 2, "screwed" = 2, "sabotage" = 3, "guns" = 2, "murder" = 2, "implant" = 1, "hacker" = 3, "sniper" = 1, "metaops" = 1))) if("recon") new /obj/item/clothing/glasses/thermal/xray(src) // ~8 tc? new /obj/item/storage/briefcase/launchpad(src) //6 tc @@ -117,7 +117,7 @@ new /obj/item/card/emag(src) // 6 tc /obj/item/storage/box/syndicate/bundle_B/PopulateContents() - switch (pickweight(list( "bond" = 2, "ninja" = 1, "darklord" = 1, "white_whale_holy_grail" = 2, "mad_scientist" = 2, "mr_freeze" = 2, "made_man"= 1))) + switch (pick_weight(list( "bond" = 2, "ninja" = 1, "darklord" = 1, "white_whale_holy_grail" = 2, "mad_scientist" = 2, "mr_freeze" = 2, "made_man"= 1))) if("bond") new /obj/item/gun/ballistic/automatic/pistol/ringneck(src) new /obj/item/attachment/silencer(src) @@ -181,7 +181,7 @@ new /obj/item/melee/transforming/energy/sword/saber/blue(src) //see see it fits the theme bc its blue and ice is blue if("made_man") - new /obj/effect/spawner/lootdrop/mafia_outfit(src) // 0 TC, just an outfit for the new 'don of this family + new /obj/effect/spawner/random/clothing/mafia_outfit(src) // 0 TC, just an outfit for the new 'don of this family new /obj/item/gun/ballistic/automatic/smg/firestorm/pan(src) // 20 TC, a gun with 50 .45 bullets on a three round burst is kinda outstanding new /obj/item/melee/knife/switchblade(src) // 3 TC? It's nice, but it's really a stealth/oh fuck I'm out of ammo weapon new /obj/item/reagent_containers/food/drinks/bottle/vodka (src) // 5 TC, free molotov assemblies diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 81e6ea9d54ec..220e0e605828 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -1392,7 +1392,7 @@ pixel_x = rand(-5, 5) pixel_y = rand(-5, 5) icon_state = "shell[rand(1,3)]" - color = pickweight(possible_colors) + color = pick_weight(possible_colors) setDir(pick(GLOB.cardinals)) /obj/item/toy/brokenradio diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index 8ee8d8214f80..5b140a5b2428 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -383,7 +383,7 @@ LINEN BINS /obj/item/bedsheet/dorms/Initialize() ..() - var/type = pickweight(list("Colors" = 80, "Special" = 20)) + var/type = pick_weight(list("Colors" = 80, "Special" = 20)) switch(type) if("Colors") type = pick(list(/obj/item/bedsheet, @@ -408,7 +408,7 @@ LINEN BINS /obj/item/bedsheet/dorms/double/Initialize() ..() - var/type = pickweight(list("Colors" = 80, "Special" = 20)) + var/type = pick_weight(list("Colors" = 80, "Special" = 20)) switch(type) if("Colors") type = pick(list(/obj/item/bedsheet/double, diff --git a/code/game/objects/structures/crates_lockers/closets/gimmick.dm b/code/game/objects/structures/crates_lockers/closets/gimmick.dm index cfea37148e55..a69a279bad77 100644 --- a/code/game/objects/structures/crates_lockers/closets/gimmick.dm +++ b/code/game/objects/structures/crates_lockers/closets/gimmick.dm @@ -14,7 +14,6 @@ desc = "It looks alien!" icon_state = "alien" - /obj/structure/closet/gimmick name = "administrative supply closet" desc = "It's a storage unit for things that have no right being here." diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm index fdc061e9769d..089b6f8f792c 100644 --- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm @@ -29,7 +29,7 @@ if (prob(40)) new /obj/item/storage/toolbox/emergency(src) - switch (pickweight(list("small" = 40, "aid" = 25, "tank" = 20, "both" = 10, "nothing" = 4, "delete" = 1))) + switch (pick_weight(list("small" = 40, "aid" = 25, "tank" = 20, "both" = 10, "nothing" = 4, "delete" = 1))) if ("small") new /obj/item/tank/internals/emergency_oxygen(src) new /obj/item/tank/internals/emergency_oxygen(src) diff --git a/code/game/objects/structures/geyser.dm b/code/game/objects/structures/geyser.dm index af536d2e8c1c..d5c7dbeef362 100644 --- a/code/game/objects/structures/geyser.dm +++ b/code/game/objects/structures/geyser.dm @@ -45,7 +45,7 @@ /obj/structure/geyser/random/Initialize() . = ..() - reagent_id = pickweight(options) + reagent_id = pick_weight(options) /obj/item/plunger name = "plunger" diff --git a/code/game/objects/structures/salvaging.dm b/code/game/objects/structures/salvaging.dm index a3b3b2b5763f..ccb76bd81c4a 100644 --- a/code/game/objects/structures/salvaging.dm +++ b/code/game/objects/structures/salvaging.dm @@ -56,16 +56,16 @@ /obj/item/stack/ore/salvage/scrapgold/five = 60, /obj/item/stack/ore/salvage/scrapmetal/five = 60, - /obj/effect/spawner/lootdrop/salvage_capacitor = 50, - /obj/effect/spawner/lootdrop/salvage_capacitor = 50, - /obj/effect/spawner/lootdrop/salvage_scanning = 50, - /obj/effect/spawner/lootdrop/salvage_scanning = 50, - /obj/effect/spawner/lootdrop/salvage_matter_bin = 40, - /obj/effect/spawner/lootdrop/salvage_matter_bin = 40, - /obj/effect/spawner/lootdrop/salvage_manipulator = 40, - /obj/effect/spawner/lootdrop/salvage_manipulator = 40, - /obj/effect/spawner/lootdrop/salvage_laser = 40, - /obj/effect/spawner/lootdrop/salvage_laser = 40, + /obj/effect/spawner/random/salvage_capacitor = 50, + /obj/effect/spawner/random/salvage_capacitor = 50, + /obj/effect/spawner/random/salvage_scanning = 50, + /obj/effect/spawner/random/salvage_scanning = 50, + /obj/effect/spawner/random/salvage_matter_bin = 40, + /obj/effect/spawner/random/salvage_matter_bin = 40, + /obj/effect/spawner/random/salvage_manipulator = 40, + /obj/effect/spawner/random/salvage_manipulator = 40, + /obj/effect/spawner/random/salvage_laser = 40, + /obj/effect/spawner/random/salvage_laser = 40, ) /obj/structure/salvageable/computer @@ -79,7 +79,7 @@ /obj/item/stack/ore/salvage/scrapgold/five = 60, /obj/item/stack/ore/salvage/scrapmetal/five = 60, - /obj/effect/spawner/lootdrop/salvage_capacitor = 60, + /obj/effect/spawner/random/salvage_capacitor = 60, /obj/item/computer_hardware/battery = 40, /obj/item/computer_hardware/battery = 40, @@ -91,8 +91,8 @@ /obj/item/computer_hardware/card_slot = 40, /obj/item/computer_hardware/network_card/advanced = 20, - /obj/effect/spawner/lootdrop/random_computer_circuit_common = 50, - /obj/effect/spawner/lootdrop/random_computer_circuit_rare = 5, + /obj/effect/spawner/random/circuit/computer/common = 50, + /obj/effect/spawner/random/circuit/computer/rare = 5, /obj/item/research_notes/loot/tiny = 10, ) @@ -106,11 +106,10 @@ /obj/item/stack/ore/salvage/scraptitanium/five = 60, /obj/item/stack/ore/salvage/scrapmetal/five = 60, - - /obj/effect/spawner/lootdrop/salvage_matter_bin = 40, - /obj/effect/spawner/lootdrop/salvage_matter_bin = 40, - /obj/effect/spawner/lootdrop/salvage_matter_bin = 40, - /obj/effect/spawner/lootdrop/salvage_manipulator = 30, + /obj/effect/spawner/random/salvage_matter_bin = 40, + /obj/effect/spawner/random/salvage_matter_bin = 40, + /obj/effect/spawner/random/salvage_matter_bin = 40, + /obj/effect/spawner/random/salvage_manipulator = 30, /obj/item/circuitboard/machine/autolathe = 35, @@ -134,17 +133,17 @@ /obj/item/stack/ore/salvage/scrapplasma/five = 60, /obj/item/stack/ore/salvage/scrapmetal/five = 60, - /obj/effect/spawner/lootdrop/salvage_matter_bin = 40, - /obj/effect/spawner/lootdrop/salvage_matter_bin = 40, - /obj/effect/spawner/lootdrop/salvage_manipulator = 30, - /obj/effect/spawner/lootdrop/salvage_manipulator = 30, + /obj/effect/spawner/random/salvage_matter_bin = 40, + /obj/effect/spawner/random/salvage_matter_bin = 40, + /obj/effect/spawner/random/salvage_manipulator = 30, + /obj/effect/spawner/random/salvage_manipulator = 30, - /obj/effect/spawner/lootdrop/tool_engie_proto = 45, - /obj/effect/spawner/lootdrop/tool_surgery_proto = 55, - /obj/effect/spawner/lootdrop/beaker_loot_spawner = 45, - /obj/effect/spawner/lootdrop/random_prosthetic = 25, - /obj/effect/spawner/lootdrop/random_gun_protolathe_lootdrop = 5, //:flushed: - /obj/effect/spawner/lootdrop/random_ammo_protolathe_lootdrop = 5, + /obj/effect/spawner/random/engineering/tool = 45, + /obj/effect/spawner/random/medical/surgery_tool = 55, + /obj/effect/spawner/random/medical/beaker = 45, + /obj/effect/spawner/random/medical/prosthetic = 25, + /obj/effect/spawner/random/random_gun_protolathe_lootdrop = 5, //:flushed: + /obj/effect/spawner/random/random_ammo_protolathe_lootdrop = 5, /obj/item/storage/part_replacer = 20, /obj/item/storage/part_replacer/bluespace = 1, @@ -172,13 +171,13 @@ /obj/item/stack/ore/salvage/scrapmetal/five = 60, /obj/item/stack/ore/salvage/scrapbluespace = 60, - /obj/effect/spawner/lootdrop/salvage_matter_bin = 40, - /obj/effect/spawner/lootdrop/salvage_manipulator = 30, + /obj/effect/spawner/random/salvage_matter_bin = 40, + /obj/effect/spawner/random/salvage_manipulator = 30, /obj/item/stack/circuit_stack = 50, //this might be the only way in the game to get a poly circuit, and the only way for many ships to get essensial electronics. huh. - /obj/effect/spawner/lootdrop/random_machine_circuit_mech = 45, //with all the wonderful broken mechs lying around, this might be a chance to get something stupidly overpowered. - /obj/effect/spawner/lootdrop/random_machine_circuit_common = 50, //well.... "common" - /obj/effect/spawner/lootdrop/random_machine_circuit_rare = 5, + /obj/effect/spawner/random/circuit/machine/mech = 45, //with all the wonderful broken mechs lying around, this might be a chance to get something stupidly overpowered. + /obj/effect/spawner/random/circuit/machine/common = 50, //well.... "common" + /obj/effect/spawner/random/circuit/machine/rare = 5, /obj/item/stack/sheet/metal/five = 15, //same as above but more geared towards stuff used by circuit imprinter /obj/item/stack/sheet/glass/five = 15, @@ -199,12 +198,12 @@ /obj/item/stack/ore/salvage/scrapmetal/five = 60, /obj/item/stack/ore/salvage/scrapplasma = 60, - /obj/effect/spawner/lootdrop/salvage_scanning = 40, - /obj/effect/spawner/lootdrop/salvage_laser = 30, - /obj/effect/spawner/lootdrop/salvage_manipulator = 30, + /obj/effect/spawner/random/salvage_scanning = 40, + /obj/effect/spawner/random/salvage_laser = 30, + /obj/effect/spawner/random/salvage_manipulator = 30, /obj/item/storage/toolbox/syndicate/empty = 80, - /obj/effect/spawner/lootdrop/destructive_anal_loot = 65, + /obj/effect/spawner/random/destructive_anal_loot = 65, /obj/item/stack/sheet/metal/five = 15, //same as above but more geared towards stuff used by circuit imprinter /obj/item/stack/sheet/glass/five = 15, @@ -342,11 +341,11 @@ color = "#808080" salvageable_parts = list( - /obj/effect/spawner/lootdrop/seeded = 80, - /obj/effect/spawner/lootdrop/seeded = 80, - /obj/effect/spawner/lootdrop/seeded = 80, - /obj/effect/spawner/lootdrop/seeded = 80, - /obj/effect/spawner/lootdrop/seeded = 80, + /obj/effect/spawner/random/food_or_drink/seed = 80, + /obj/effect/spawner/random/food_or_drink/seed = 80, + /obj/effect/spawner/random/food_or_drink/seed = 80, + /obj/effect/spawner/random/food_or_drink/seed = 80, + /obj/effect/spawner/random/food_or_drink/seed = 80, /obj/item/seeds/random = 80, /obj/item/seeds/random = 40, /obj/item/seeds/random = 40, @@ -470,236 +469,3 @@ /obj/item/stack/ore/salvage/scrapbluespace/five amount = 5 - -//loot spawners as shown above - -//GENERIC -/obj/effect/spawner/lootdrop/salvage_capacitor - loot = list( - /obj/item/stock_parts/capacitor = 120, - /obj/item/stock_parts/capacitor/adv = 20, - /obj/item/stock_parts/capacitor/super = 5, - ) - -/obj/effect/spawner/lootdrop/salvage_scanning - loot = list( - /obj/item/stock_parts/scanning_module = 120, - /obj/item/stock_parts/scanning_module/adv = 20, - /obj/item/stock_parts/scanning_module/phasic = 5, - ) - -/obj/effect/spawner/lootdrop/salvage_manipulator - loot = list( - /obj/item/stock_parts/manipulator = 120, - /obj/item/stock_parts/manipulator/nano = 20, - /obj/item/stock_parts/manipulator/pico = 5, - ) - -/obj/effect/spawner/lootdrop/salvage_matter_bin - loot = list( - /obj/item/stock_parts/matter_bin = 120, - /obj/item/stock_parts/matter_bin/adv = 20, - /obj/item/stock_parts/matter_bin/super = 5, - ) - -/obj/effect/spawner/lootdrop/salvage_laser - loot = list( - /obj/item/stock_parts/micro_laser = 120, - /obj/item/stock_parts/micro_laser/high = 20, - /obj/item/stock_parts/micro_laser/ultra = 5, - ) - -//PROTOLATHE -/obj/effect/spawner/lootdrop/tool_engie_proto - loot = list( - /obj/effect/spawner/lootdrop/tool_engie_common = 120, - /obj/effect/spawner/lootdrop/tool_engie_sydnie = 20, - /obj/effect/spawner/lootdrop/tool_engie_adv = 5, - ) - -/obj/effect/spawner/lootdrop/tool_engie_common - loot = list( - /obj/item/wrench/crescent = 1, - /obj/item/screwdriver = 1, - /obj/item/weldingtool = 1, - /obj/item/crowbar = 1, - /obj/item/wirecutters = 1, - /obj/item/multitool = 1, - ) - -/obj/effect/spawner/lootdrop/tool_engie_sydnie - loot = list( - /obj/item/wrench/syndie = 1, - /obj/item/screwdriver/nuke = 1, - /obj/item/weldingtool/largetank = 1, - /obj/item/crowbar/syndie = 1, - /obj/item/wirecutters/syndie = 1, - /obj/item/multitool/syndie = 1, - ) - -/obj/effect/spawner/lootdrop/tool_engie_adv - loot = list( - /obj/item/screwdriver/power = 1, - /obj/item/weldingtool/experimental = 1, - /obj/item/crowbar/power = 1, - ) - -/obj/effect/spawner/lootdrop/tool_surgery_proto - loot = list( - /obj/effect/spawner/lootdrop/tool_surgery_common = 120, - /obj/effect/spawner/lootdrop/tool_surgery_adv = 10, - ) - -/obj/effect/spawner/lootdrop/tool_surgery_common - loot = list( - /obj/item/scalpel = 1, - /obj/item/hemostat = 1, - /obj/item/cautery = 1, - /obj/item/retractor = 1, - /obj/item/circular_saw = 1, - /obj/item/surgicaldrill = 1, - ) - -/obj/effect/spawner/lootdrop/tool_surgery_adv - loot = list( - /obj/item/scalpel/advanced = 1, - /obj/item/retractor/advanced = 1, - /obj/item/surgicaldrill/advanced = 1, - ) - -/obj/effect/spawner/lootdrop/beaker_loot_spawner - loot = list( - /obj/item/reagent_containers/glass/beaker = 300, - /obj/item/reagent_containers/glass/beaker/large = 200, - /obj/item/reagent_containers/glass/beaker/plastic = 50, - /obj/item/reagent_containers/glass/beaker/meta = 10, - /obj/item/reagent_containers/glass/beaker/noreact = 5, - /obj/item/reagent_containers/glass/beaker/bluespace = 1, - ) -/obj/effect/spawner/lootdrop/random_prosthetic - loot = list( - /obj/item/bodypart/l_arm/robot/surplus = 1, - /obj/item/bodypart/r_arm/robot/surplus = 1, - /obj/item/bodypart/leg/left/robot/surplus = 1, - /obj/item/bodypart/leg/right/robot/surplus = 1, - ) -/obj/effect/spawner/lootdrop/random_gun_protolathe_lootdrop - loot = list( - /obj/item/gun/energy/lasercannon = 1, - /obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq/proto = 1, - /obj/item/gun/energy/temperature/security = 1, - ) -/obj/effect/spawner/lootdrop/random_ammo_protolathe_lootdrop - loot = list( - /obj/item/stock_parts/cell/gun/upgraded = 5, - /obj/item/ammo_box/magazine/smgm9mm = 7, - ) - -//CIRCUIT IMPRINTER -/obj/effect/spawner/lootdrop/random_machine_circuit_common - loot = list( - /obj/item/circuitboard/machine/autolathe = 5, - /obj/item/circuitboard/machine/biogenerator = 5, - /obj/item/circuitboard/machine/cell_charger = 5, - /obj/item/circuitboard/machine/chem_heater = 5, - /obj/item/circuitboard/machine/chem_master = 5, - /obj/item/circuitboard/machine/clonescanner = 5, - /obj/item/circuitboard/machine/cryo_tube = 5, - /obj/item/circuitboard/machine/cyborgrecharger = 5, - /obj/item/circuitboard/machine/deep_fryer = 5, - /obj/item/circuitboard/machine/experimentor = 5, - /obj/item/circuitboard/machine/holopad = 5, - /obj/item/circuitboard/machine/hydroponics = 5, - /obj/item/circuitboard/machine/limbgrower = 5, - /obj/item/circuitboard/machine/ltsrbt = 5, - /obj/item/circuitboard/machine/mech_recharger = 5, - /obj/item/circuitboard/machine/mechfab = 5, - /obj/item/circuitboard/machine/medical_kiosk = 5, - /obj/item/circuitboard/machine/medipen_refiller = 5, - /obj/item/circuitboard/machine/microwave = 5, - /obj/item/circuitboard/machine/ore_redemption = 5, - /obj/item/circuitboard/machine/ore_silo = 5, - /obj/item/circuitboard/machine/reagentgrinder = 5, - /obj/item/circuitboard/machine/recharger = 5, - /obj/item/circuitboard/machine/seed_extractor = 5, - /obj/item/circuitboard/machine/selling_pad = 5, - /obj/item/circuitboard/machine/emitter = 5, - ) - -/obj/effect/spawner/lootdrop/random_machine_circuit_rare - loot = list( - /obj/item/circuitboard/aicore = 5, - /obj/item/circuitboard/machine/chem_dispenser = 5, - /obj/item/circuitboard/machine/circuit_imprinter = 5, - /obj/item/circuitboard/machine/protolathe = 5, - /obj/item/circuitboard/machine/clonepod/experimental = 5, - /obj/item/circuitboard/machine/rad_collector = 5, - /obj/item/circuitboard/machine/launchpad = 5, - ) - -/obj/effect/spawner/lootdrop/random_machine_circuit_mech - loot = list( - /obj/item/circuitboard/mecha/ripley/main = 100, - /obj/item/circuitboard/mecha/ripley/peripherals = 100, - /obj/item/circuitboard/mecha/honker/main = 5, - /obj/item/circuitboard/mecha/honker/peripherals = 5, - /obj/item/circuitboard/mecha/odysseus/main = 5, - /obj/item/circuitboard/mecha/odysseus/peripherals = 5, - /obj/item/circuitboard/mecha/gygax/main = 1, - /obj/item/circuitboard/mecha/gygax/peripherals = 1, - /obj/item/circuitboard/mecha/gygax/targeting = 1, - /obj/item/circuitboard/mecha/durand/main = 1, - /obj/item/circuitboard/mecha/durand/peripherals = 1, - /obj/item/circuitboard/mecha/durand/targeting = 1, - ) - -//COMPUTER -/obj/effect/spawner/lootdrop/random_computer_circuit_common - loot = list( - /obj/item/circuitboard/computer/aifixer = 5, - /obj/item/circuitboard/computer/arcade/amputation = 5, - /obj/item/circuitboard/computer/arcade/battle = 5, - /obj/item/circuitboard/computer/arcade/orion_trail = 5, - /obj/item/circuitboard/computer/atmos_alert = 5, - /obj/item/circuitboard/computer/card = 5, - /obj/item/circuitboard/computer/cloning = 5, - /obj/item/circuitboard/computer/communications = 5, - /obj/item/circuitboard/computer/launchpad_console = 5, - /obj/item/circuitboard/computer/mech_bay_power_console = 5, - /obj/item/circuitboard/computer/pandemic = 5, - /obj/item/circuitboard/computer/powermonitor/secret = 5, - /obj/item/circuitboard/computer/prototype_cloning = 5, - /obj/item/circuitboard/computer/stationalert = 5, - /obj/item/circuitboard/computer/teleporter = 5, - /obj/item/circuitboard/computer/operating = 5, - /obj/item/circuitboard/computer/crew = 5, - /obj/item/circuitboard/computer/scan_consolenew = 5, - ) - -/obj/effect/spawner/lootdrop/random_computer_circuit_rare - loot = list( - /obj/item/circuitboard/computer/cargo = 5, - /obj/item/circuitboard/computer/communications = 5, - /obj/item/circuitboard/computer/shuttle/helm = 5, - /obj/item/circuitboard/computer/med_data = 5, - ) - -//DESTRUCTIVE ANAL //i'm killing you -/obj/effect/spawner/lootdrop/destructive_anal_loot //what do people usually put in these things anayways - loot = list( - /obj/item/storage/toolbox/syndicate/empty = 650, - /obj/item/gun/ballistic/automatic/pistol/ringneck = 500, - /obj/item/camera_bug = 500, - /obj/item/clothing/gloves/combat = 200, - /obj/item/clothing/head/chameleon = 200, - /obj/item/pen/sleepy = 200, - /obj/item/reagent_containers/hypospray/medipen/stimpack/traitor = 100, - - /obj/item/grenade/c4 = 100, - - /obj/item/wrench/syndie = 30, - /obj/item/screwdriver/nuke = 30, - /obj/item/crowbar/syndie = 30, - /obj/item/wirecutters/syndie = 30, - /obj/item/multitool/syndie = 30, - ) diff --git a/code/game/turfs/closed/minerals.dm b/code/game/turfs/closed/minerals.dm index 540ff8277bd3..883b1d6b72a4 100644 --- a/code/game/turfs/closed/minerals.dm +++ b/code/game/turfs/closed/minerals.dm @@ -201,7 +201,7 @@ . = ..() if (prob(mineralChance)) - var/path = pickweight(mineralSpawnChanceList) + var/path = pick_weight(mineralSpawnChanceList) if(ispath(path, /turf)) var/turf/T = ChangeTurf(path,null,CHANGETURF_IGNORE_AIR) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 333b8b828022..68a2f4675bdb 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -854,7 +854,7 @@ switch(ruin_force) if("Random") - //Can't use pickweight as it might be from "everything" + //Can't use pick_weight as it might be from "everything" ruin_target = select_from[pick(select_from)] else var/selected_ruin = tgui_input_list(usr, "Which ruin?", "Spawn Ruin", select_from, 60 SECONDS) diff --git a/code/modules/antagonists/changeling/powers/pheromone_receptors.dm b/code/modules/antagonists/changeling/powers/pheromone_receptors.dm index 5980993958b0..93905c9d6aed 100644 --- a/code/modules/antagonists/changeling/powers/pheromone_receptors.dm +++ b/code/modules/antagonists/changeling/powers/pheromone_receptors.dm @@ -48,7 +48,7 @@ changelings[C] = (CHANGELING_PHEROMONE_MAX_DISTANCE ** 2) - (distance ** 2) if(changelings.len) - scan_target = pickweight(changelings) //Point at a 'random' changeling, biasing heavily towards closer ones. + scan_target = pick_weight(changelings) //Point at a 'random' changeling, biasing heavily towards closer ones. else scan_target = null diff --git a/code/modules/awaymissions/away_props.dm b/code/modules/awaymissions/away_props.dm index a29d48657446..3b51ebb583d8 100644 --- a/code/modules/awaymissions/away_props.dm +++ b/code/modules/awaymissions/away_props.dm @@ -1,7 +1,7 @@ /obj/effect/oneway name = "one way effect" desc = "Only lets things in from it's dir." - icon = 'icons/effects/mapping_helpers.dmi' + icon = 'icons/effects/mapping/mapping_helpers.dmi' icon_state = "field_dir" invisibility = INVISIBILITY_MAXIMUM anchored = TRUE @@ -14,7 +14,7 @@ /obj/effect/wind name = "wind effect" desc = "Creates pressure effect in it's direction. Use sparingly." - icon = 'icons/effects/mapping_helpers.dmi' + icon = 'icons/effects/mapping/mapping_helpers.dmi' icon_state = "field_dir" invisibility = INVISIBILITY_MAXIMUM var/strength = 30 @@ -32,7 +32,7 @@ /obj/effect/path_blocker name = "magic barrier" desc = "You shall not pass." - icon = 'icons/effects/mapping_helpers.dmi' + icon = 'icons/effects/mapping/mapping_helpers.dmi' icon_state = "blocker" //todo make this actually look fine when visible anchored = TRUE var/list/blocked_types = list() diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index a1615ce58085..78fda9d9006e 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -6,7 +6,7 @@ name = "Mob Spawner" density = TRUE anchored = TRUE - icon = 'icons/effects/mapping_helpers.dmi' // These aren't *really* mapping helpers but it fits the most with it's common usage (to help place corpses in maps) + icon = 'icons/effects/mapping/mapping_helpers.dmi' // These aren't *really* mapping helpers but it fits the most with it's common usage (to help place corpses in maps) icon_state = "mobspawner" // So it shows up in the map editor var/mob_type = null var/mob_name = "" @@ -152,6 +152,7 @@ // Base version - place these on maps/templates. /obj/effect/mob_spawn/human mob_type = /mob/living/carbon/human + icon_state = "corpsehuman" //Human specific stuff. var/mob_species = null //Set to make them a mutant race such as lizard or skeleton. Uses the datum typepath instead of the ID. var/datum/outfit/outfit = /datum/outfit //If this is a path, it will be instanced in Initialize() @@ -346,12 +347,10 @@ /obj/effect/mob_spawn/human/corpse/cargo_tech name = "Cargo Tech" outfit = /datum/outfit/job/cargo_tech - icon_state = "corpsecargotech" /obj/effect/mob_spawn/human/cook name = "Cook" outfit = /datum/outfit/job/cook - icon_state = "corpsecook" /obj/effect/mob_spawn/human/cook/husked husk = TRUE @@ -359,8 +358,6 @@ /obj/effect/mob_spawn/human/doctor name = "Doctor" outfit = /datum/outfit/job/doctor - icon_state = "corpsedoctor" - /obj/effect/mob_spawn/human/doctor/alive death = FALSE @@ -383,22 +380,18 @@ /obj/effect/mob_spawn/human/engineer name = "Engineer" outfit = /datum/outfit/job/engineer - icon_state = "corpseengineer" /obj/effect/mob_spawn/human/clown name = "Clown" outfit = /datum/outfit/job/clown - icon_state = "corpseclown" /obj/effect/mob_spawn/human/scientist name = "Scientist" outfit = /datum/outfit/job/scientist - icon_state = "corpsescientist" /obj/effect/mob_spawn/human/miner name = "Shaft Miner" outfit = /datum/outfit/job/miner - icon_state = "corpseminer" /obj/effect/mob_spawn/human/plasmaman mob_species = /datum/species/plasmaman @@ -425,7 +418,6 @@ /obj/effect/mob_spawn/human/bartender name = "Space Bartender" - icon_state = "corpsebartender" id_job = "Bartender" id_access_list = list(ACCESS_BAR) outfit = /datum/outfit/spacebartender diff --git a/code/modules/awaymissions/mission_code/snowdin.dm b/code/modules/awaymissions/mission_code/snowdin.dm index a240bf9f8404..210a5cec7a47 100644 --- a/code/modules/awaymissions/mission_code/snowdin.dm +++ b/code/modules/awaymissions/mission_code/snowdin.dm @@ -453,83 +453,6 @@ SAY AAAAAAAAAAAAAAAA FUCK THAT DELAY 15;"} -//lootspawners//-- - -/obj/effect/spawner/lootdrop/snowdin - name = "why are you using this dummy" - lootdoubles = 0 - lootcount = 1 - loot = list(/obj/item/bikehorn = 100) - -/obj/effect/spawner/lootdrop/snowdin/dungeonlite - name = "dungeon lite" - loot = list(/obj/item/melee/classic_baton = 11, - /obj/item/melee/classic_baton/telescopic = 12, - /obj/item/book/granter/spell/smoke = 10, - /obj/item/book/granter/spell/blind = 10, - /obj/item/storage/firstaid/regular = 45, - /obj/item/storage/firstaid/toxin = 35, - /obj/item/storage/firstaid/brute = 27, - /obj/item/storage/firstaid/fire = 27, - /obj/item/storage/toolbox/syndicate = 12, - /obj/item/grenade/c4 = 7, - /obj/item/grenade/clusterbuster/smoke = 15, - /obj/item/clothing/under/chameleon = 13, - /obj/item/clothing/shoes/chameleon/noslip = 10, - /obj/item/borg/upgrade/ddrill = 3, - /obj/item/borg/upgrade/soh = 3) - -/obj/effect/spawner/lootdrop/snowdin/dungeonmid - name = "dungeon mid" - loot = list(/obj/item/defibrillator/compact = 6, - /obj/item/storage/firstaid/tactical = 35, - /obj/item/shield/energy = 6, - /obj/item/shield/riot/tele = 12, - /obj/item/dnainjector/lasereyesmut = 7, - /obj/item/pneumatic_cannon = 15, - /obj/item/melee/transforming/energy/sword = 7, - /obj/item/book/granter/spell/knock = 15, - /obj/item/book/granter/spell/summonitem = 20, - /obj/item/book/granter/spell/forcewall = 17, - /obj/item/storage/backpack/holding = 12, - /obj/item/grenade/spawnergrenade/manhacks = 6, - /obj/item/grenade/spawnergrenade/spesscarp = 7, - /obj/item/grenade/clusterbuster/inferno = 3, - /obj/item/stack/sheet/mineral/diamond{amount = 15} = 10, - /obj/item/stack/sheet/mineral/uranium{amount = 15} = 10, - /obj/item/stack/sheet/mineral/plasma{amount = 15} = 10, - /obj/item/stack/sheet/mineral/gold{amount = 15} = 10, - /obj/item/book/granter/spell/barnyard = 4, - /obj/item/pickaxe/drill/diamonddrill = 6, - /obj/item/borg/upgrade/disablercooler = 7) - - -/obj/effect/spawner/lootdrop/snowdin/dungeonheavy - name = "dungeon heavy" - loot = list(/obj/item/melee/axe/fire = 25, - /obj/item/organ/brain/alien = 17, - /obj/item/dualsaber = 15, - /obj/item/organ/heart/demon = 7, - /obj/item/gun/ballistic/automatic/smg/cobra = 16, - /obj/item/uplink/old = 2, - /obj/item/book/granter/spell/charge = 12, - /obj/item/grenade/clusterbuster/spawner_manhacks = 15, - /obj/item/book/granter/spell/fireball = 10, - /obj/item/pickaxe/drill/jackhammer = 30, - /obj/item/borg/upgrade/syndicate = 13, - /obj/item/borg/upgrade/selfrepair = 17) - -/obj/effect/spawner/lootdrop/snowdin/dungeonmisc - name = "dungeon misc" - lootdoubles = 2 - lootcount = 1 - - loot = list(/obj/item/stack/sheet/mineral/snow{amount = 25} = 10, - /obj/item/toy/snowball = 15, - /obj/item/shovel = 10, - /obj/item/melee/spear = 8, - ) - //special items//-- /obj/structure/barricade/wooden/snowed diff --git a/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm b/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm index 2d9f3af83c06..65a72290bf07 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm @@ -4,7 +4,7 @@ /datum/blackmarket_item/consumable/donk_pocket_box name = "Box of Donk Pockets" desc = "A well packaged box containing the favourite snack of every spacefarer." - item = /obj/effect/spawner/lootdrop/donkpockets + item = /obj/effect/spawner/random/food_or_drink/donkpockets stock_min = 2 stock_max = 5 @@ -186,7 +186,7 @@ /datum/blackmarket_item/consumable/ration name = "Ration Pack" desc = "PGF military surplus rations. What's in them? Who knows. Surprise is the spice of life after all." - item = /obj/effect/spawner/lootdrop/ration + item = /obj/effect/spawner/random/food_or_drink/ration price_min = 150 price_max = 300 diff --git a/code/modules/cargo/packs/costumes_toys.dm b/code/modules/cargo/packs/costumes_toys.dm index cab2ac8563af..a7bcbb2fe7d4 100644 --- a/code/modules/cargo/packs/costumes_toys.dm +++ b/code/modules/cargo/packs/costumes_toys.dm @@ -73,7 +73,7 @@ var/the_toy for(var/i in 1 to 5) if(prob(50)) - the_toy = pickweight(GLOB.arcade_prize_pool) + the_toy = pick_weight(GLOB.arcade_prize_pool) else the_toy = pick(subtypesof(/obj/item/toy/plush)) new the_toy(C) @@ -103,7 +103,7 @@ /datum/supply_pack/costumes_toys/mafia/fill(obj/structure/closet/crate/C) for(var/i in 1 to 4) - new /obj/effect/spawner/lootdrop/mafia_outfit(C) + new /obj/effect/spawner/random/clothing/mafia_outfit(C) new /obj/item/virgin_mary(C) if(prob(30)) //Not all mafioso have mustaches, some people also find this item annoying. new /obj/item/clothing/mask/fakemoustache/italian(C) diff --git a/code/modules/cargo/packs/food.dm b/code/modules/cargo/packs/food.dm index 94299b96c694..fca0e50740ff 100644 --- a/code/modules/cargo/packs/food.dm +++ b/code/modules/cargo/packs/food.dm @@ -55,12 +55,12 @@ name = "Ration Crate" desc = "6 standerd issue rations." cost = 500 - contains = list(/obj/effect/spawner/lootdrop/ration, - /obj/effect/spawner/lootdrop/ration, - /obj/effect/spawner/lootdrop/ration, - /obj/effect/spawner/lootdrop/ration, - /obj/effect/spawner/lootdrop/ration, - /obj/effect/spawner/lootdrop/ration) + contains = list(/obj/effect/spawner/random/food_or_drink/ration, + /obj/effect/spawner/random/food_or_drink/ration, + /obj/effect/spawner/random/food_or_drink/ration, + /obj/effect/spawner/random/food_or_drink/ration, + /obj/effect/spawner/random/food_or_drink/ration, + /obj/effect/spawner/random/food_or_drink/ration) crate_name = "ration crate" crate_type = /obj/structure/closet/crate diff --git a/code/modules/clothing/gloves/color.dm b/code/modules/clothing/gloves/color.dm index 0447f62aab9e..db9e2814b2c0 100644 --- a/code/modules/clothing/gloves/color.dm +++ b/code/modules/clothing/gloves/color.dm @@ -259,24 +259,6 @@ item_state = "lgloves" custom_price = 200 -/obj/effect/spawner/lootdrop/gloves - name = "random gloves" - desc = "These gloves are supposed to be a random color..." - icon = 'icons/obj/clothing/gloves.dmi' - icon_state = "random_gloves" - loot = list( - /obj/item/clothing/gloves/color/orange = 1, - /obj/item/clothing/gloves/color/red = 1, - /obj/item/clothing/gloves/color/blue = 1, - /obj/item/clothing/gloves/color/purple = 1, - /obj/item/clothing/gloves/color/green = 1, - /obj/item/clothing/gloves/color/grey = 1, - /obj/item/clothing/gloves/color/light_brown = 1, - /obj/item/clothing/gloves/color/brown = 1, - /obj/item/clothing/gloves/color/white = 1, - /obj/item/clothing/gloves/color/rainbow = 1, - ) - /obj/item/clothing/gloves/maid name = "maid arm covers" desc = "Cylindrical looking tubes that go over your arm, weird." diff --git a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm index f5e4ddcdf55b..8f1e0663ee31 100644 --- a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm +++ b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm @@ -47,26 +47,26 @@ return if(prob(90)) - head = pickweight(list( + head = pick_weight(list( /obj/item/clothing/head/beret/sec/frontier = 10, /obj/item/clothing/head/helmet/bulletproof/x11/frontier = 5, /obj/item/reagent_containers/glass/bucket = 1)) if(prob(60)) - suit = pickweight(list( + suit = pick_weight(list( /obj/item/clothing/suit/armor/vest = 5, /obj/item/clothing/suit/armor/vest/bulletproof/frontier = 5, /obj/item/clothing/suit/armor/vest/scrap = 1)) if(prob(50)) - mask = pickweight(list( + mask = pick_weight(list( /obj/item/clothing/mask/gas/frontiersmen = 12, /obj/item/clothing/mask/gas/sechailer/balaclava = 10, /obj/item/clothing/mask/breath = 7, /obj/item/clothing/mask/whistle/trench = 3)) if(prob(90)) - back = pickweight(list( + back = pick_weight(list( /obj/item/storage/backpack = 20, /obj/item/storage/backpack/satchel = 20, /obj/item/storage/backpack/messenger = 20, @@ -76,7 +76,7 @@ )) if(prob(90)) - shoes = pickweight(list( + shoes = pick_weight(list( /obj/item/clothing/shoes/jackboots = 10, /obj/item/clothing/shoes/sneakers = 5, )) @@ -136,7 +136,7 @@ /obj/item/gun/ballistic/shotgun/doublebarrel/beacon/presawn, /obj/item/gun/energy/e_gun/mini)) if("Melee") - r_hand = pickweight(list( + r_hand = pick_weight(list( /obj/item/melee/knife/survival = 15, /obj/item/melee/baseball_bat = 10, /obj/item/roastingstick = 2, diff --git a/code/modules/events/brain_trauma.dm b/code/modules/events/brain_trauma.dm index f7324e3c57dd..3c68b18d50f9 100644 --- a/code/modules/events/brain_trauma.dm +++ b/code/modules/events/brain_trauma.dm @@ -27,7 +27,7 @@ 15;TRAUMA_RESILIENCE_LOBOTOMY, 5;TRAUMA_RESILIENCE_MAGIC) - var/trauma_type = pickweight(list( + var/trauma_type = pick_weight(list( BRAIN_TRAUMA_MILD = 60, BRAIN_TRAUMA_SEVERE = 30, BRAIN_TRAUMA_SPECIAL = 10 diff --git a/code/modules/events/heart_attack.dm b/code/modules/events/heart_attack.dm index 35d8c4b141e1..73e3b721c067 100644 --- a/code/modules/events/heart_attack.dm +++ b/code/modules/events/heart_attack.dm @@ -18,7 +18,7 @@ heart_attack_contestants[victim] = 1 if(LAZYLEN(heart_attack_contestants)) - var/mob/living/carbon/human/winner = pickweight(heart_attack_contestants) + var/mob/living/carbon/human/winner = pick_weight(heart_attack_contestants) var/datum/disease/D = new /datum/disease/heart_failure() winner.ForceContractDisease(D, FALSE, TRUE) announce_to_ghosts(winner) diff --git a/code/modules/events/holiday/xmas.dm b/code/modules/events/holiday/xmas.dm index 43e60c3137c3..1fbb017b7dd4 100644 --- a/code/modules/events/holiday/xmas.dm +++ b/code/modules/events/holiday/xmas.dm @@ -42,7 +42,7 @@ /obj/effect/spawner/xmastree name = "christmas tree spawner" - icon = 'icons/effects/landmarks_static.dmi' + icon = 'icons/effects/mapping/landmarks_static.dmi' icon_state = "x2" layer = FLY_LAYER diff --git a/code/modules/fishing/fish/_fish.dm b/code/modules/fishing/fish/_fish.dm index 4f2c3cd1343a..40b979a89577 100644 --- a/code/modules/fishing/fish/_fish.dm +++ b/code/modules/fishing/fish/_fish.dm @@ -386,6 +386,6 @@ if(initial(fish.available_in_random_cases) || !case_fish_only) chance_table[fish] = initial(fish.random_case_rarity) probability_table[argkey] = chance_table - return pickweight(probability_table[argkey]) + return pick_weight(probability_table[argkey]) diff --git a/code/modules/fishing/sources/_fish_source.dm b/code/modules/fishing/sources/_fish_source.dm index 136a650148cd..db051d69175e 100644 --- a/code/modules/fishing/sources/_fish_source.dm +++ b/code/modules/fishing/sources/_fish_source.dm @@ -79,7 +79,7 @@ GLOBAL_LIST_INIT(preset_fish_sources,init_fishing_configurations()) /// In case you want more complex rules for specific spots /datum/fish_source/proc/roll_reward(obj/item/fishing_rod/rod, mob/fisherman) - return pickweight(get_modified_fish_table(rod,fisherman)) + return pick_weight(get_modified_fish_table(rod,fisherman)) /// Gives out the reward if possible /datum/fish_source/proc/dispense_reward(reward_path, mob/fisherman) diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 29ff8ead2f62..30b768e702b0 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -34,7 +34,7 @@ GLOBAL_LIST_INIT(hallucination_list, list( if(world.time < next_hallucination) return - var/halpick = pickweight(GLOB.hallucination_list) + var/halpick = pick_weight(GLOB.hallucination_list) new halpick(src, FALSE) next_hallucination = world.time + rand(100, 600) diff --git a/code/modules/food_and_drinks/pizzabox.dm b/code/modules/food_and_drinks/pizzabox.dm index b5c4c2c42b85..bfc9179c4893 100644 --- a/code/modules/food_and_drinks/pizzabox.dm +++ b/code/modules/food_and_drinks/pizzabox.dm @@ -341,13 +341,13 @@ /obj/item/pizzabox/infinite/proc/attune_pizza(mob/living/carbon/human/noms) //tonight on "proc names I never thought I'd type" if(!pizza_preferences[noms.ckey]) - pizza_preferences[noms.ckey] = pickweight(pizza_types) + pizza_preferences[noms.ckey] = pick_weight(pizza_types) if(noms.has_quirk(/datum/quirk/pineapple_liker)) pizza_preferences[noms.ckey] = /obj/item/reagent_containers/food/snacks/pizza/pineapple else if(noms.has_quirk(/datum/quirk/pineapple_hater)) var/list/pineapple_pizza_liker = pizza_types.Copy() pineapple_pizza_liker -= /obj/item/reagent_containers/food/snacks/pizza/pineapple - pizza_preferences[noms.ckey] = pickweight(pineapple_pizza_liker) + pizza_preferences[noms.ckey] = pick_weight(pineapple_pizza_liker) else if(noms.mind && noms.mind.assigned_role == "Botanist") pizza_preferences[noms.ckey] = /obj/item/reagent_containers/food/snacks/pizza/dank diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm index 47e545c33663..52b5f7659305 100644 --- a/code/modules/mapping/mapping_helpers.dm +++ b/code/modules/mapping/mapping_helpers.dm @@ -4,7 +4,7 @@ /obj/effect/baseturf_helper //Set the baseturfs of every turf in the /area/ it is placed. name = "baseturf editor" - icon = 'icons/effects/mapping_helpers.dmi' + icon = 'icons/effects/mapping/mapping_helpers.dmi' icon_state = "" var/list/baseturf_to_replace @@ -89,8 +89,9 @@ /obj/effect/mapping_helpers - icon = 'icons/effects/mapping_helpers.dmi' + icon = 'icons/effects/mapping/mapping_helpers.dmi' icon_state = "" + invisibility = INVISIBILITY_OBSERVER var/late = FALSE /obj/effect/mapping_helpers/Initialize() @@ -272,7 +273,6 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava) /obj/effect/mapping_helpers/ianbirthday name = "Ian's Bday Helper" late = TRUE - icon_state = "iansbdayhelper" var/balloon_clusters = 2 /obj/effect/mapping_helpers/ianbirthday/LateInitialize() @@ -331,7 +331,6 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava) /obj/effect/mapping_helpers/ianbirthday/admin//so admins may birthday any room name = "generic birthday setup" - icon_state = "bdayhelper" /obj/effect/mapping_helpers/ianbirthday/admin/LateInitialize() birthday() @@ -341,7 +340,6 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava) /obj/effect/mapping_helpers/iannewyear name = "Ian's New Years Helper" late = TRUE - icon_state = "iansnewyrshelper" /obj/effect/mapping_helpers/iannewyear/LateInitialize() if(SSevents.holidays && SSevents.holidays[NEW_YEAR]) diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index bf6fb15c9332..bf4ad80647ef 100644 --- a/code/modules/mining/lavaland/ash_flora.dm +++ b/code/modules/mining/lavaland/ash_flora.dm @@ -508,7 +508,7 @@ icon_state = "garden" harvested_name = "lush garden" harvested_desc = "In the soil and shade, something softly grew. It seems some industrious scavenger already passed by." - harvest = /obj/effect/spawner/lootdrop/garden + harvest = /obj/effect/spawner/random/food_or_drink/garden harvest_amount_high = 1 harvest_amount_low = 1 harvest_message_low = "You discover something nestled away in the growing bough." @@ -527,7 +527,7 @@ icon_state = "gardenarid" harvested_name = "sandy garden" harvested_desc = "Beneath a bluff of soft silicate, a sheltered grove slumbered. Some desert wanderer seems to have picked it clean." - harvest = /obj/effect/spawner/lootdrop/garden/arid + harvest = /obj/effect/spawner/random/food_or_drink/garden/arid harvest_amount_high = 1 harvest_amount_low = 1 harvest_message_low = "You brush sand away from a verdant prize, nestled in the leaves." @@ -540,7 +540,7 @@ icon_state = "gardencold" harvested_name = "chilly garden" harvested_desc = "A delicate layer of frost covers hardy brush. Someone came with the blizzard, and left with any prize this might contain." - harvest = /obj/effect/spawner/lootdrop/garden/cold + harvest = /obj/effect/spawner/random/food_or_drink/garden/cold harvest_amount_high = 1 harvest_amount_low = 1 harvest_message_low = "You unearth a snow-covered treat." @@ -553,7 +553,7 @@ icon_state = "gardensick" harvested_name = "sickly garden" harvested_desc = "Polluted water wells up from the cracked earth, where it once fed a patch of something curious. Now only wilted leaves remain." - harvest = /obj/effect/spawner/lootdrop/garden/sick + harvest = /obj/effect/spawner/random/food_or_drink/garden/sick harvest_amount_high = 1 harvest_amount_low = 1 harvest_message_low = "You pry something odd from the poisoned soil." @@ -567,124 +567,13 @@ icon_state = "seaweed" harvested_name = "seaweed patch" harvested_desc = "A patch of seaweed, floating on the surface of the water. It seems someone has already searched through this" - harvest = /obj/effect/spawner/lootdrop/garden/seaweed + harvest = /obj/effect/spawner/random/food_or_drink/garden/seaweed harvest_amount_high = 1 harvest_amount_low = 1 harvest_message_low = "You discover some edible weeds within the patch." harvest_message_med = "You discover some edible weeds within the patch." harvest_message_high = "You discover some edible weeds within the patch." -/obj/effect/spawner/lootdrop/garden - name = "lush garden seeder" - lootcount = 3 - var/list/plant = list( - /obj/item/reagent_containers/food/snacks/grown/ambrosia/deus = 1, - /obj/item/reagent_containers/food/snacks/grown/berries/death/stealth = 2, - /obj/item/reagent_containers/food/snacks/grown/citrus/orange_3d = 1, - /obj/item/reagent_containers/food/snacks/grown/trumpet = 1, - /obj/item/reagent_containers/food/snacks/grown/bungofruit = 1, - /obj/item/seeds/random = 1, - /obj/item/grown/log/bamboo = 2, - /obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris = 2, - /obj/item/reagent_containers/food/snacks/grown/berries/poison/stealth = 5, - /obj/item/reagent_containers/food/snacks/grown/citrus/lemon = 2, - /obj/item/reagent_containers/food/snacks/grown/citrus/lime = 2, - /obj/item/reagent_containers/food/snacks/grown/vanillapod = 2, - /obj/item/reagent_containers/food/snacks/grown/moonflower = 2, - /obj/item/reagent_containers/food/snacks/grown/cocoapod = 2, - /obj/item/reagent_containers/food/snacks/grown/pineapple = 2, - /obj/item/reagent_containers/food/snacks/grown/poppy/lily = 2, - /obj/item/reagent_containers/food/snacks/grown/poppy/geranium = 2, - /obj/item/reagent_containers/food/snacks/grown/sugarcane = 2, - /obj/item/reagent_containers/food/snacks/grown/tea = 2, - /obj/item/reagent_containers/food/snacks/grown/tobacco = 2, - /obj/item/reagent_containers/food/snacks/grown/watermelon = 4, - /obj/item/grown/sunflower = 4, - /obj/item/reagent_containers/food/snacks/grown/banana = 4, - /obj/item/reagent_containers/food/snacks/grown/apple = 4, - /obj/item/reagent_containers/food/snacks/grown/berries = 5, - /obj/item/reagent_containers/food/snacks/grown/cherries = 4, - /obj/item/reagent_containers/food/snacks/grown/citrus/orange = 4, - /obj/item/reagent_containers/food/snacks/grown/garlic = 4, - /obj/item/reagent_containers/food/snacks/grown/grapes = 4, - /obj/item/reagent_containers/food/snacks/grown/grass = 5, - /obj/item/reagent_containers/food/snacks/grown/pumpkin = 4, - /obj/item/reagent_containers/food/snacks/grown/rainbow_flower = 4, - /obj/item/reagent_containers/food/snacks/grown/wheat = 4, - /obj/item/reagent_containers/food/snacks/grown/parsnip = 4, - /obj/item/reagent_containers/food/snacks/grown/peas = 4, - /obj/item/reagent_containers/food/snacks/grown/rice = 4, - /obj/item/reagent_containers/food/snacks/grown/soybeans = 4, - /obj/item/reagent_containers/food/snacks/grown/tomato = 4, - /obj/item/reagent_containers/food/snacks/grown/cabbage = 4, - /obj/item/reagent_containers/food/snacks/grown/onion = 4, - /obj/item/reagent_containers/food/snacks/grown/carrot = 4) - -/obj/effect/spawner/lootdrop/garden/Initialize(mapload) - loot = plant - . = ..() - -/obj/effect/spawner/lootdrop/garden/arid - name = "arid garden seeder" - plant = list( - /obj/item/reagent_containers/food/snacks/grown/ghost_chili = 1, - /obj/item/reagent_containers/food/snacks/grown/nettle = 1, - /obj/item/grown/cotton/durathread = 1, - /obj/item/seeds/random = 1, - /obj/item/reagent_containers/food/snacks/grown/redbeet = 1, - /obj/item/reagent_containers/food/snacks/grown/aloe = 2, - /obj/item/grown/cotton = 2, - /obj/item/reagent_containers/food/snacks/grown/mushroom/angel = 2, - /obj/item/reagent_containers/food/snacks/grown/chili = 2, - /obj/item/reagent_containers/food/snacks/grown/whitebeet = 5, - /obj/item/reagent_containers/food/snacks/grown/potato = 4, - /obj/item/reagent_containers/food/snacks/grown/potato/sweet = 4, - /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 4, - /obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet = 4, - /obj/item/reagent_containers/food/snacks/grown/corn = 4) - -/obj/effect/spawner/lootdrop/garden/cold - name = "frigid garden seeder" - plant = list( - /obj/item/reagent_containers/food/snacks/grown/bluecherries = 1, - /obj/item/reagent_containers/food/snacks/grown/galaxythistle = 1, - /obj/item/reagent_containers/food/snacks/grown/berries/death/stealth = 1, - /obj/item/seeds/random = 1, - /obj/item/reagent_containers/food/snacks/grown/poppy = 2, - /obj/item/reagent_containers/food/snacks/grown/tomato/blue = 2, - /obj/item/reagent_containers/food/snacks/grown/berries/poison/stealth = 2, - /obj/item/reagent_containers/food/snacks/grown/berries = 4, - /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle = 4, - /obj/item/reagent_containers/food/snacks/grown/oat = 4, - /obj/item/reagent_containers/food/snacks/grown/grapes/green = 4, - /obj/item/reagent_containers/food/snacks/grown/grass = 4, - /obj/item/reagent_containers/food/snacks/grown/harebell = 5, - /obj/item/seeds/starthistle = 5) - -/obj/effect/spawner/lootdrop/garden/sick - name = "sickly garden seeder" - plant = list( - /obj/item/reagent_containers/food/snacks/grown/cannabis/rainbow = 1, - /obj/item/reagent_containers/food/snacks/grown/cannabis/death = 1, - /obj/item/seeds/replicapod = 1, - /obj/item/reagent_containers/food/snacks/grown/mushroom/angel = 1, - /obj/item/reagent_containers/food/snacks/grown/mushroom/libertycap = 2, - /obj/item/seeds/tower/steel = 2, - /obj/item/reagent_containers/food/snacks/grown/cannabis = 2, - /obj/item/seeds/random = 2, - /obj/item/reagent_containers/food/snacks/grown/mushroom/jupitercup = 2, - /obj/item/reagent_containers/food/snacks/grown/cherrybulbs = 4, - /obj/item/reagent_containers/food/snacks/grown/mushroom/amanita = 4, - /obj/item/reagent_containers/food/snacks/grown/mushroom/libertycap = 4, - /obj/item/reagent_containers/food/snacks/grown/mushroom/reishi = 4, - /obj/item/reagent_containers/food/snacks/grown/berries/glow = 4) - -/obj/effect/spawner/lootdrop/garden/seaweed - name = "seaweed patch seeder" - plant = list( - /obj/item/reagent_containers/food/snacks/grown/seaweed = 1 - ) - /obj/item/reagent_containers/food/snacks/grown/berries/poison/stealth //careful eating from random jungle bushes seed = /obj/item/seeds/berry/poison name = "bunch of berries" diff --git a/code/modules/mining/ore_veins.dm b/code/modules/mining/ore_veins.dm index fcc4b3456bcf..41f33ce47b27 100644 --- a/code/modules/mining/ore_veins.dm +++ b/code/modules/mining/ore_veins.dm @@ -76,7 +76,7 @@ GLOBAL_LIST_EMPTY(ore_veins) else ore_type_amount = 1 for(var/ore_count in 1 to ore_type_amount) - var/picked = pickweight(ore_list) + var/picked = pick_weight(ore_list) vein_contents.Add(picked) ore_list.Remove(picked) GLOB.ore_veins += src diff --git a/code/modules/mob/living/simple_animal/hostile/abandoned_minebot.dm b/code/modules/mob/living/simple_animal/hostile/abandoned_minebot.dm index 58e48850c2b8..038aae0900de 100644 --- a/code/modules/mob/living/simple_animal/hostile/abandoned_minebot.dm +++ b/code/modules/mob/living/simple_animal/hostile/abandoned_minebot.dm @@ -35,14 +35,14 @@ minimum_distance = 1 icon_state = "mining_drone_offense" faction = list("mining", "turret") - loot = list(/obj/effect/decal/cleanable/robot_debris, /obj/effect/spawner/lootdrop/minebot) + loot = list(/obj/effect/decal/cleanable/robot_debris, /obj/effect/spawner/random/minebot) projectiletype = /obj/projectile/kinetic/miner/weak /obj/projectile/kinetic/miner/weak damage = 15 -/obj/effect/spawner/lootdrop/minebot +/obj/effect/spawner/random/minebot loot = list(/obj/item/borg/upgrade/modkit/minebot_passthrough = 15, /obj/item/borg/upgrade/modkit/chassis_mod = 15, /obj/item/borg/upgrade/modkit/tracer = 15, diff --git a/code/modules/mob/living/simple_animal/hostile/hivebot.dm b/code/modules/mob/living/simple_animal/hostile/hivebot.dm index b98da0a899fc..6dcff82cb7c4 100644 --- a/code/modules/mob/living/simple_animal/hostile/hivebot.dm +++ b/code/modules/mob/living/simple_animal/hostile/hivebot.dm @@ -69,7 +69,7 @@ /mob/living/simple_animal/hostile/hivebot/death(gibbed) do_sparks(3, TRUE, src) - new /obj/effect/spawner/lootdrop/waste/hivebot(loc) + new /obj/effect/spawner/random/waste/hivebot(loc) ..(TRUE) /mob/living/simple_animal/hostile/hivebot/range diff --git a/code/modules/mob/living/simple_animal/hostile/human/survivors.dm b/code/modules/mob/living/simple_animal/hostile/human/survivors.dm index 890278088078..fb840914f8b8 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/survivors.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/survivors.dm @@ -86,7 +86,7 @@ var/survivor_type //room for alternatives inside the fuckoff grade init. /obj/effect/mob_spawn/human/corpse/damaged/whitesands/Initialize() //everything here should equal out to 100 for the sake of my sanity. - mob_species = pickweight(list( + mob_species = pick_weight(list( /datum/species/human = 50, /datum/species/lizard = 20, /datum/species/ipc = 10, @@ -98,7 +98,7 @@ //to-do: learn how to make mobsprites for other survivors //gloves are a tossup - gloves = pickweight(list( + gloves = pick_weight(list( /obj/item/clothing/gloves/color/black = 60, /obj/item/clothing/gloves/explorer = 30, /obj/item/clothing/gloves/explorer/old = 10 @@ -106,7 +106,7 @@ ) //bags are semi-random. - back = pickweight(list( + back = pick_weight(list( /obj/item/storage/backpack = 20, /obj/item/storage/backpack/explorer = 20, /obj/item/storage/backpack/satchel = 20, @@ -118,7 +118,7 @@ //as are bag contents backpack_contents = list() if(prob(70)) - backpack_contents += pickweight(list( //these could stand to be expanded, right now they're just mildly modified miner ones, and I don't know how to plus that up. + backpack_contents += pick_weight(list( //these could stand to be expanded, right now they're just mildly modified miner ones, and I don't know how to plus that up. /obj/item/soap = 10, /obj/item/stack/marker_beacon/ten = 15, /obj/item/mining_scanner = 5, @@ -134,7 +134,7 @@ ) ) if(prob(70)) - backpack_contents += pickweight(list( + backpack_contents += pick_weight(list( /obj/item/stack/sheet/animalhide/goliath_hide = 20, /obj/item/stack/marker_beacon/ten = 10, /obj/item/mining_scanner = 20, @@ -146,7 +146,7 @@ ) ) if(prob(70)) - backpack_contents += pickweight(list( + backpack_contents += pick_weight(list( /obj/item/stack/sheet/animalhide/goliath_hide = 5, /obj/item/stack/marker_beacon/ten = 5, /obj/item/mining_scanner = 5, @@ -160,7 +160,7 @@ ) ) if (prob(15)) //mayhaps a medkit - backpack_contents += pickweight(list( + backpack_contents += pick_weight(list( /obj/item/storage/firstaid/regular = 50, /obj/item/storage/firstaid/brute = 15, /obj/item/storage/firstaid/medical = 15, @@ -173,7 +173,7 @@ backpack_contents += /obj/item/reagent_containers/hypospray/medipen/survival //masks - mask = pickweight(list( + mask = pick_weight(list( /obj/item/clothing/mask/gas = 40, /obj/item/clothing/mask/gas/explorer = 20, /obj/item/clothing/mask/gas/explorer/old = 20, @@ -183,7 +183,7 @@ //the eyes are the window into the soul. if(prob(70)) - glasses = pickweight(list( + glasses = pick_weight(list( /obj/item/clothing/glasses/heat = 20, /obj/item/clothing/glasses/cold = 20, /obj/item/clothing/glasses/meson = 40, @@ -195,7 +195,7 @@ if(prob(1)) //oh my god they can't hear the sandstorm coming they've got airpods in ears = /obj/item/instrument/piano_synth/headphones/spacepods else - ears = pickweight(list( + ears = pick_weight(list( /obj/item/radio/headset = 50, /obj/item/radio/headset/alt = 50 ) @@ -204,7 +204,7 @@ switch(survivor_type) if("survivor") //uniforms are random to show varied backgrounds, but similar goal - uniform = pickweight(list( + uniform = pick_weight(list( /obj/item/clothing/under/color/random = 65, /obj/item/clothing/under/rank/cargo/miner/lavaland = 10, /obj/item/clothing/under/rank/prisoner = 10, @@ -213,7 +213,7 @@ ) ) //storage is semi-randomized, giving some variety - belt = pickweight(list( + belt = pick_weight(list( /obj/item/storage/belt/fannypack = 40, /obj/item/storage/belt/mining = 20, /obj/item/storage/belt/mining/alt = 15, @@ -229,7 +229,7 @@ r_pocket = /obj/item/spacecash/bundle/smallrand if("hunter") - uniform = pickweight(list( + uniform = pick_weight(list( /obj/item/clothing/under/color/random = 50, /obj/item/clothing/under/rank/cargo/miner/lavaland = 25, /obj/item/clothing/under/rank/cargo/miner/lavaland/old = 15, @@ -237,7 +237,7 @@ /obj/item/clothing/under/utility = 5 ) ) - belt = pickweight(list( + belt = pick_weight(list( /obj/item/storage/belt/mining = 30, /obj/item/storage/belt/fannypack = 20, /obj/item/storage/belt/mining/alt = 15, @@ -257,7 +257,7 @@ visible_message(span_warning("The hunter's weapon shatters as they impact the ground!")) if("gunslinger") - uniform = pickweight(list( + uniform = pick_weight(list( /obj/item/clothing/under/rank/cargo/miner/lavaland = 35, /obj/item/clothing/under/color/random = 25, /obj/item/clothing/under/rank/cargo/miner/lavaland/old = 15, @@ -266,7 +266,7 @@ /obj/item/clothing/under/syndicate/combat = 5 ) ) - belt = pickweight(list( + belt = pick_weight(list( /obj/item/storage/belt/mining = 30, /obj/item/storage/belt/bandolier = 30, /obj/item/storage/belt/military = 20, diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index 7f0731e2dedf..31bf88d4e2df 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -485,7 +485,7 @@ H.transform = H.transform.Scale(0.8, 1)//somehow dwarf squashing is borked when not roundstart. I hate WS code /obj/effect/mob_spawn/human/corpse/damaged/legioninfested/Initialize() //in an ideal world, these would generate, the legion would overlay over the corpse, and we'd get cool sprites - mob_species = pickweight(list( + mob_species = pick_weight(list( /datum/species/human = 50, /datum/species/lizard = 20, /datum/species/ipc = 10, @@ -494,7 +494,7 @@ /datum/species/spider = 5 ) ) - var/type = pickweight(list( + var/type = pick_weight(list( "Miner" = 40, "Assistant" = 10, "Engineer" = 5, diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm index 34da39eceefd..d12ae0605643 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm @@ -1,6 +1,6 @@ /datum/outfit/generic/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE) . = ..() - uniform = pickweight(list( + uniform = pick_weight(list( /obj/item/clothing/under/utility = 5, /obj/item/clothing/under/utility/skirt = 5, /obj/item/clothing/under/color/black = 1, @@ -21,7 +21,7 @@ /obj/item/clothing/under/syndicate/tacticool = 1, ) ) - suit = pickweight(list( + suit = pick_weight(list( /obj/item/clothing/suit/hooded/wintercoat = 1, /obj/item/clothing/suit/jacket = 1, /obj/item/clothing/suit/jacket/leather = 1, @@ -36,7 +36,7 @@ /obj/item/clothing/suit/toggle/hazard = 1, ) ) - back = pickweight(list( + back = pick_weight(list( /obj/item/storage/backpack = 1, /obj/item/storage/backpack/satchel = 1, /obj/item/storage/backpack/duffelbag = 1, @@ -45,7 +45,7 @@ ) ) if (prob(10)) - belt = pickweight(list( + belt = pick_weight(list( /obj/item/gun/ballistic/automatic/pistol/candor = 2, /obj/item/gun/ballistic/automatic/pistol/commander = 1, /obj/item/gun/ballistic/automatic/pistol/ringneck = 1, @@ -54,13 +54,13 @@ ) ) if(prob(50)) - gloves = pickweight(list( + gloves = pick_weight(list( /obj/item/clothing/gloves/color/black = 1, /obj/item/clothing/gloves/fingerless = 1, /obj/item/clothing/gloves/color/white = 1, ) ) - shoes = pickweight(list( + shoes = pick_weight(list( /obj/item/clothing/shoes/laceup = 1, /obj/item/clothing/shoes/sandal = 1, /obj/item/clothing/shoes/winterboots = 1, @@ -72,7 +72,7 @@ ) ) if(prob(50)) - head = pickweight(list( + head = pick_weight(list( /obj/item/clothing/head/beret = 3, /obj/item/clothing/head/beret/grey = 3, /obj/item/clothing/head/flatcap = 3, @@ -89,7 +89,7 @@ ) ) if(prob(50)) - mask = pickweight(list( + mask = pick_weight(list( /obj/item/clothing/mask/balaclava = 1, /obj/item/clothing/mask/bandana/red = 1, /obj/item/clothing/mask/gas = 3, @@ -97,7 +97,7 @@ ) ) if(prob(25)) - neck = pickweight(list( + neck = pick_weight(list( /obj/item/clothing/neck/scarf/red = 1, /obj/item/clothing/neck/scarf/green = 1, /obj/item/clothing/neck/scarf/darkblue = 1, @@ -109,7 +109,7 @@ ) ears = pick(/obj/item/radio/headset, /obj/item/radio/headset/alt) if(prob(50)) - glasses = pickweight(list( + glasses = pick_weight(list( /obj/item/clothing/glasses/regular = 1, /obj/item/clothing/glasses/regular/circle = 1, /obj/item/clothing/glasses/regular/jamjar = 1, @@ -127,7 +127,7 @@ l_pocket = pick(/obj/item/radio, /obj/item/flashlight) id = /obj/item/card/id backpack_contents = list() - backpack_contents += pickweight(list( + backpack_contents += pick_weight(list( /obj/item/dice/d20 = 1, /obj/item/lipstick = 1, /obj/item/clothing/mask/vape = 1, @@ -157,14 +157,14 @@ /datum/outfit/generic/miner/pre_equip(mob/living/carbon/human/H, visualsOnly) . = ..() if(prob(75)) - uniform = pickweight(list( + uniform = pick_weight(list( /obj/item/clothing/under/rank/cargo/miner/lavaland = 5, /obj/item/clothing/under/rank/cargo/miner = 4, /obj/item/clothing/under/rank/cargo/miner/lavaland/old = 1, ) ) if(prob(25)) - suit = pickweight(list( + suit = pick_weight(list( /obj/item/clothing/suit/hooded/explorer = 18, /obj/item/clothing/suit/hooded/explorer/old = 1, /obj/item/clothing/suit/hooded/cloak/goliath = 1 @@ -173,13 +173,13 @@ if(prob(75)) back = /obj/item/storage/backpack/explorer if(prob(75)) - belt = pickweight(list( + belt = pick_weight(list( /obj/item/storage/belt/mining = 2, /obj/item/storage/belt/mining/alt = 2 ) ) else if(prob(75)) - belt = pickweight(list( + belt = pick_weight(list( /obj/item/pickaxe = 16, /obj/item/pickaxe/mini = 8, /obj/item/pickaxe/silver = 4, @@ -189,7 +189,7 @@ ) ) if(prob(75)) - gloves = pickweight(list( + gloves = pick_weight(list( /obj/item/clothing/gloves/color/black = 9, /obj/item/clothing/gloves/explorer/old = 1 ) @@ -197,7 +197,7 @@ if(prob(75)) shoes = /obj/item/clothing/shoes/workboots/mining if(prob(75)) - mask = pickweight(list( + mask = pick_weight(list( /obj/item/clothing/mask/gas/explorer = 9, /obj/item/clothing/mask/gas/explorer/old = 1 ) @@ -205,7 +205,7 @@ if(prob(50)) glasses = /obj/item/clothing/glasses/meson if(prob(50)) - r_pocket = pickweight(list( + r_pocket = pick_weight(list( /obj/item/stack/marker_beacon = 20, /obj/item/spacecash/bundle/smallrand = 7, /obj/item/reagent_containers/hypospray/medipen/survival = 2, @@ -213,7 +213,7 @@ ) ) if(prob(25)) - l_pocket = pickweight(list( + l_pocket = pick_weight(list( /obj/item/spacecash/bundle/smallrand = 5, /obj/item/reagent_containers/hypospray/medipen/survival = 2, /obj/item/borg/upgrade/modkit/cooldown = 1 @@ -222,7 +222,7 @@ if(prob(75)) for(var/count in 1 to 3) if(prob(70)) - backpack_contents += pickweight(list( + backpack_contents += pick_weight(list( /obj/item/borg/upgrade/modkit/damage = 1, /obj/item/borg/upgrade/modkit/trigger_guard = 1, /obj/item/soap/nanotrasen = 1, @@ -242,7 +242,7 @@ ) if(prob(30)) backpack_contents += list( - /obj/item/reagent_containers/hypospray/medipen/survival = pickweight(list( + /obj/item/reagent_containers/hypospray/medipen/survival = pick_weight(list( 1 = 3, 2 = 2, 3 = 1 @@ -251,7 +251,7 @@ ) else if (prob(75)) backpack_contents = list() - back = pickweight(list( + back = pick_weight(list( /obj/item/kinetic_crusher = 9, /obj/item/kinetic_crusher/old = 1 ) @@ -282,7 +282,7 @@ back = /obj/item/melee/axe/fire for(var/i = 1 to 3) if(prob(75)) - backpack_contents += pickweight(list( + backpack_contents += pick_weight(list( /obj/item/stack/tape/industrial/electrical = 1, /obj/item/electronics/apc = 1, /obj/item/multitool = 1, @@ -311,7 +311,7 @@ else if (prob(75)) back = /obj/item/defibrillator/loaded if(prob(75)) - belt = pickweight(list(/obj/item/storage/belt/medical = 5, /obj/item/defibrillator/compact/loaded = 1)) + belt = pick_weight(list(/obj/item/storage/belt/medical = 5, /obj/item/defibrillator/compact/loaded = 1)) if(prob(75)) gloves = pick(/obj/item/clothing/gloves/color/white, /obj/item/clothing/gloves/color/latex/nitrile) if(prob(75)) @@ -326,7 +326,7 @@ glasses = pick(/obj/item/clothing/glasses/hud/health, /obj/item/clothing/glasses/hud/health/prescription) for(var/i = 1 to 3) if(prob(75)) - backpack_contents += pickweight(list( + backpack_contents += pick_weight(list( /obj/item/reagent_containers/pill/patch/styptic = 5, /obj/item/reagent_containers/pill/patch/silver_sulf = 5, /obj/item/storage/firstaid/medical = 3, @@ -371,7 +371,7 @@ neck = /obj/item/clothing/neck/tie/horrible for(var/i = 1 to 3) if(prob(75)) - backpack_contents += pickweight(list( + backpack_contents += pick_weight(list( /obj/item/research_notes/loot/tiny = 3, /obj/item/research_notes/loot/small = 3, /obj/item/reagent_scanner = 3, @@ -414,7 +414,7 @@ ears = /obj/item/radio/headset/headset_cargo for(var/i = 1 to 3) if(prob(75)) - backpack_contents += pickweight(list( + backpack_contents += pick_weight(list( /obj/item/spacecash/bundle/smallrand = 5, /obj/item/ammo_box/magazine/illestren_a850r = 5, /obj/item/ammo_box/magazine/zip_ammo_9mm = 5, @@ -462,7 +462,7 @@ suit_store = pick(/obj/item/gun/energy/e_gun, /obj/item/gun/energy/e_gun/smg, /obj/item/gun/energy/e_gun/iot) for(var/i = 1 to 3) if(prob(75)) - backpack_contents += pickweight(list( + backpack_contents += pick_weight(list( /obj/item/restraints/handcuffs = 8, /obj/item/assembly/flash/handheld = 5, /obj/item/storage/box/evidence = 6, diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 45a157ee845a..3f779d284e41 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -476,7 +476,7 @@ return //we never mate when not alone, so just abort early if(alone && partner && children < 3) - var/childspawn = pickweight(childtype) + var/childspawn = pick_weight(childtype) var/turf/target = get_turf(loc) if(target) return new childspawn(target) diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index ef0b16ea4a0a..a32079c1e6fa 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -77,7 +77,7 @@ if(prob(probability)) zone = check_zone(zone) else - zone = pickweight(list(BODY_ZONE_HEAD = 1, BODY_ZONE_CHEST = 1, BODY_ZONE_L_ARM = 4, BODY_ZONE_R_ARM = 4, BODY_ZONE_L_LEG = 4, BODY_ZONE_R_LEG = 4)) + zone = pick_weight(list(BODY_ZONE_HEAD = 1, BODY_ZONE_CHEST = 1, BODY_ZONE_L_ARM = 4, BODY_ZONE_R_ARM = 4, BODY_ZONE_L_LEG = 4, BODY_ZONE_R_LEG = 4)) return zone ///Would this zone be above the neck diff --git a/code/modules/mob_spawner/hivebot.dm b/code/modules/mob_spawner/hivebot.dm index 630ed6f6f3c7..2b36075d2225 100644 --- a/code/modules/mob_spawner/hivebot.dm +++ b/code/modules/mob_spawner/hivebot.dm @@ -42,7 +42,7 @@ smoke.set_up(2, loc) smoke.start() new /obj/effect/particle_effect/sparks(loc) - new /obj/effect/spawner/lootdrop/waste/hivebot/beacon(loc) + new /obj/effect/spawner/random/waste/hivebot/beacon(loc) /obj/effect/light_emitter/hivespawner set_luminosity = 4 diff --git a/code/modules/mob_spawner/spawner_componet.dm b/code/modules/mob_spawner/spawner_componet.dm index 8a904a5504c4..637423f0b1e0 100644 --- a/code/modules/mob_spawner/spawner_componet.dm +++ b/code/modules/mob_spawner/spawner_componet.dm @@ -114,7 +114,7 @@ spot = pick(peel) else spot = pick(circleviewturfs(origin, spawn_distance_max)) - var/chosen_mob_type = pickweight(mob_types) + var/chosen_mob_type = pick_weight(mob_types) var/mob/living/simple_animal/L = new chosen_mob_type(spot) L.flags_1 |= (P.flags_1 & ADMIN_SPAWNED_1) spawned_mobs += L diff --git a/code/modules/overmap/objects/dynamic_datum.dm b/code/modules/overmap/objects/dynamic_datum.dm index 6de5952e8ceb..afbc5c655ac4 100644 --- a/code/modules/overmap/objects/dynamic_datum.dm +++ b/code/modules/overmap/objects/dynamic_datum.dm @@ -128,7 +128,7 @@ probabilities = list() for(var/datum/planet_type/planet_type as anything in subtypesof(/datum/planet_type)) probabilities[initial(planet_type.planet)] = initial(planet_type.weight) - planet = SSmapping.planet_types[force_encounter ? force_encounter : pickweightAllowZero(probabilities)] + planet = SSmapping.planet_types[force_encounter ? force_encounter : pick_weight_allow_zero(probabilities)] if(planet.planet !=DYNAMIC_WORLD_ASTEROID && planet.planet != DYNAMIC_WORLD_SPACERUIN) //these aren't real planets @@ -199,7 +199,7 @@ log_shuttle("[src] [REF(src)] LEVEL_INIT") // use the ruin type in template if it exists, or pick from ruin list if IT exists; otherwise null - var/selected_ruin = template || (ruin_type ? pickweightAllowZero(SSmapping.ruin_types_probabilities[ruin_type]) : null) + var/selected_ruin = template || (ruin_type ? pick_weight_allow_zero(SSmapping.ruin_types_probabilities[ruin_type]) : null) var/list/dynamic_encounter_values = SSovermap.spawn_dynamic_encounter(src, selected_ruin) if(!length(dynamic_encounter_values)) return FALSE diff --git a/code/modules/overmap/objects/event_datum.dm b/code/modules/overmap/objects/event_datum.dm index ee2e577b4f2d..34425f3a6ff6 100644 --- a/code/modules/overmap/objects/event_datum.dm +++ b/code/modules/overmap/objects/event_datum.dm @@ -351,7 +351,7 @@ /datum/overmap/event/anomaly/affect_ship(datum/overmap/ship/controlled/S) var/area/source_area = pick(S.shuttle_port.shuttle_areas) var/source_object = pick(source_area.contents) - new /obj/effect/spawner/lootdrop/anomaly/storm(get_turf(source_object)) + new /obj/effect/spawner/random/anomaly/storm(get_turf(source_object)) for(var/mob/M as anything in GLOB.player_list) if(S.shuttle_port.is_in_shuttle_bounds(M)) M.playsound_local(S.shuttle_port, 'sound/effects/bamf.ogg', 100) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index b6fe4370d9c5..35adab3cd4a3 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -1517,9 +1517,9 @@ var/turf/open/floor/F = T playsound(T, 'sound/effects/bubbles.ogg', 50) F.PlaceOnTop(/turf/open/floor/grass, flags = CHANGETURF_INHERIT_AIR) - new /obj/effect/spawner/lootdrop/flower(T) + new /obj/effect/spawner/random/flower(T) if(prob(75)) - new /obj/effect/spawner/lootdrop/flora(T) + new /obj/effect/spawner/random/flora(T) ..() /datum/reagent/genesis/on_hydroponics_apply(obj/item/seeds/myseed, datum/reagents/chems, obj/machinery/hydroponics/mytray, mob/user) diff --git a/code/modules/research/designs/biogenerator_designs.dm b/code/modules/research/designs/biogenerator_designs.dm index c33b2c4558d3..2cc0134cf8f6 100644 --- a/code/modules/research/designs/biogenerator_designs.dm +++ b/code/modules/research/designs/biogenerator_designs.dm @@ -199,7 +199,7 @@ id = "rngplant" build_type = BIOGENERATOR materials = list(/datum/material/biomass= 2000) - build_path = /obj/effect/spawner/lootdrop/seeded + build_path = /obj/effect/spawner/random/food_or_drink/seed category = list("initial","LIFESEED_2.0") /datum/design/genesis diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index 64e5a0921b2b..62cd6f6bf8ef 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -200,7 +200,7 @@ use_power(750) if(dotype != FAIL) var/list/nodes = techweb_item_boost_check(process) - var/picked = pickweight(nodes) //This should work. + var/picked = pick_weight(nodes) //This should work. if(linked_console) linked_console.stored_research.boost_with_path(SSresearch.techweb_node_by_id(picked), process.type) updateUsrDialog() @@ -292,7 +292,7 @@ else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff)) var/savedName = "[exp_on]" ejectItem(TRUE) - var/newPath = text2path(pickweight(valid_items)) + var/newPath = text2path(pick_weight(valid_items)) loaded_item = new newPath(src) visible_message("[src] malfunctions, transforming [savedName] into [loaded_item]!") investigate_log("Experimentor has transformed [savedName] into [loaded_item]", INVESTIGATE_EXPERIMENTOR) diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index 1a5ad3d0d35f..5b6e6239f6a7 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -5,9 +5,9 @@ //NORTH default dir /obj/docking_port - invisibility = INVISIBILITY_ABSTRACT - icon = 'icons/obj/device.dmi' - icon_state = "pinonfar" + invisibility = INVISIBILITY_OBSERVER + icon = 'icons/effects/mapping/docking_ports.dmi' + icon_state = "static" resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | LANDING_PROOF | HYPERSPACE_PROOF anchored = TRUE @@ -272,7 +272,7 @@ /obj/docking_port/mobile name = "shuttle" - icon_state = "pinonclose" + icon_state = "mobile" var/area_type = SHUTTLE_DEFAULT_SHUTTLE_AREA_TYPE diff --git a/code/modules/vending/cola.dm b/code/modules/vending/cola.dm index 017fd02334ca..b63397080240 100644 --- a/code/modules/vending/cola.dm +++ b/code/modules/vending/cola.dm @@ -34,17 +34,6 @@ machine_name = "RobustMore Softdrinks" icon_state = "refill_cola" -/obj/machinery/vending/cola/random - name = "\improper Random Drinkies" - icon_state = "random_cola" - desc = "Uh oh!" - -/obj/machinery/vending/cola/random/Initialize() - ..() - var/T = pick(subtypesof(/obj/machinery/vending/cola) - /obj/machinery/vending/cola/random) - new T(loc) - return INITIALIZE_HINT_QDEL - /obj/machinery/vending/cola/blue icon_state = "Cola_Machine" light_mask = "cola-light-mask" diff --git a/code/modules/vending/snack.dm b/code/modules/vending/snack.dm index cb9b6b1b9d95..7d5e13a5e5c0 100644 --- a/code/modules/vending/snack.dm +++ b/code/modules/vending/snack.dm @@ -26,17 +26,6 @@ /obj/item/vending_refill/snack machine_name = "RobustMore DrinkFoods LLC" -/obj/machinery/vending/snack/random - name = "\improper Random Snackies" - icon_state = "random_snack" - desc = "Uh oh!" - -/obj/machinery/vending/snack/random/Initialize() - ..() - var/T = pick(subtypesof(/obj/machinery/vending/snack) - /obj/machinery/vending/snack/random) - new T(loc) - return INITIALIZE_HINT_QDEL - /obj/machinery/vending/snack/blue icon_state = "snackblue" diff --git a/config/game_options.txt b/config/game_options.txt index 9c46eb7865f0..33a0d667f3de 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -598,3 +598,8 @@ BLUESPACE_JUMP_WAIT 1200 ## If admins are allowed to use the authentication server as a regular server for testing AUTH_ADMIN_TESTING + +# A config that skews with the random spawners weights +# If the value is lower than 1, it'll tend to even out the odds +# If higher than 1, it'll lean toward common spawns even more. +RANDOM_LOOT_WEIGHT_MODIFIER 1 diff --git a/html/changelogs/archive/2019-03.yml b/html/changelogs/archive/2019-03.yml index b5fd83b8ae4c..af4cd2063ffc 100644 --- a/html/changelogs/archive/2019-03.yml +++ b/html/changelogs/archive/2019-03.yml @@ -430,7 +430,7 @@ - bugfix: Rolling a 17 on the d20 of fate no longer gives you an empty box. Basilman: - bugfix: fixed runtime from selectin missing bodypart due to ran_zone - - code_imp: changed how ran_zone selects a zone from a switch to pickweight + - code_imp: changed how ran_zone selects a zone from a switch to pick_weight Kierany9: - bugfix: Added a 15 second grace period after death to prevent people from avoiding a hivemind host's Reclaim by succumbing. diff --git a/icons/effects/landmarks_static.dmi b/icons/effects/landmarks_static.dmi deleted file mode 100644 index 05301f14a8313341677a74718c2b6d9df943f61d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19814 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%0Dt$x8%$wY} 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 literal 0 HcmV?d00001 diff --git a/icons/effects/mapping/landmarks_static.dmi b/icons/effects/mapping/landmarks_static.dmi new file mode 100644 index 0000000000000000000000000000000000000000..3e51e3f9a6e504f98bf87b4fb1a3121726ec3076 GIT binary patch literal 19106 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%0A2Q#SI`&O6%YK&I2G>edD&j9WO0jL^+-t%=KL(#8 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
    USYq-#3AHn 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 literal 0 HcmV?d00001 diff --git a/icons/effects/mapping_helpers.dmi b/icons/effects/mapping_helpers.dmi deleted file mode 100644 index 50e88be487b0285a932f8ec654a41fae7f03091e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16864 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 D;g-Jl diff --git a/icons/obj/lighting.dmi b/icons/obj/lighting.dmi index ae86489bb340232976dce164db24fc6d0d82956c..45e0a73c898a1207b50b1021e6be720c682a2e8d 100644 GIT binary patch literal 76435 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 F{|AceN%Q~! diff --git a/shiptest.dme b/shiptest.dme index a30e676a88df..6894d66cfec6 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -1137,12 +1137,28 @@ #include "code\game\objects\effects\spawners\bombspawner.dm" #include "code\game\objects\effects\spawners\bundle.dm" #include "code\game\objects\effects\spawners\gibspawner.dm" -#include "code\game\objects\effects\spawners\lootdrop.dm" #include "code\game\objects\effects\spawners\mobspawner.dm" +#include "code\game\objects\effects\spawners\spawner.dm" #include "code\game\objects\effects\spawners\structure.dm" -#include "code\game\objects\effects\spawners\traps.dm" -#include "code\game\objects\effects\spawners\vaultspawner.dm" -#include "code\game\objects\effects\spawners\xeno_egg_delivery.dm" +#include "code\game\objects\effects\spawners\random.dm\ai_module.dm" +#include "code\game\objects\effects\spawners\random.dm\anomaly.dm" +#include "code\game\objects\effects\spawners\random.dm\bedsheet.dm" +#include "code\game\objects\effects\spawners\random.dm\boards.dm" +#include "code\game\objects\effects\spawners\random.dm\bureaucracy.dm" +#include "code\game\objects\effects\spawners\random.dm\clothing.dm" +#include "code\game\objects\effects\spawners\random.dm\decoration.dm" +#include "code\game\objects\effects\spawners\random.dm\engineering.dm" +#include "code\game\objects\effects\spawners\random.dm\entertainment.dm" +#include "code\game\objects\effects\spawners\random.dm\exotic.dm" +#include "code\game\objects\effects\spawners\random.dm\food_or_drink.dm" +#include "code\game\objects\effects\spawners\random.dm\maintenance.dm" +#include "code\game\objects\effects\spawners\random.dm\medical.dm" +#include "code\game\objects\effects\spawners\random.dm\random.dm" +#include "code\game\objects\effects\spawners\random.dm\salvaging.dm" +#include "code\game\objects\effects\spawners\random.dm\structure.dm" +#include "code\game\objects\effects\spawners\random.dm\trash.dm" +#include "code\game\objects\effects\spawners\random.dm\vending.dm" +#include "code\game\objects\effects\spawners\random.dm\waste_planet.dm" #include "code\game\objects\effects\temporary_visuals\cult.dm" #include "code\game\objects\effects\temporary_visuals\miscellaneous.dm" #include "code\game\objects\effects\temporary_visuals\temporary_visual.dm" diff --git a/tools/UpdatePaths/Scripts/17256_NEWFOOD_cakebreadnoodle.txt b/tools/UpdatePaths/Scripts/17256_NEWFOOD_cakebreadnoodle.txt deleted file mode 100644 index b8cec913eef2..000000000000 --- a/tools/UpdatePaths/Scripts/17256_NEWFOOD_cakebreadnoodle.txt +++ /dev/null @@ -1,22 +0,0 @@ -/obj/item/food/bread : /obj/item/food/bread/plain{@OLD} -/obj/item/food/bread/@SUBTYPES : /obj/item/food/bread/@SUBTYPES{@OLD} -/obj/item/food/breadslice : /obj/item/food/breadslice/plain{@OLD} -/obj/item/food/breadslice/@SUBTYPES : /obj/item/food/breadslice/@SUBTYPES{@OLD} -/obj/item/food/cake : /obj/item/food/cake/plain{@OLD} -/obj/item/food/cake/@SUBTYPES : /obj/item/food/cake/@SUBTYPES{@OLD} -/obj/item/food/cakeslice : /obj/item/food/cakeslice/plain{@OLD} -/obj/item/food/cakeslice/@SUBTYPES : /obj/item/food/cakeslice/@SUBTYPES{@OLD} - -/obj/item/reagent_containers/food/snacks/cherrycupcake/blue : /obj/item/reagent_containers/food/snacks/cherrycupcake/blue{@OLD} - -/obj/item/food/spaghetti : /obj/item/food/spaghetti/raw{@OLD} -/obj/item/food/spaghetti/@SUBTYPES : /obj/item/food/spaghetti/@SUBTYPES{@OLD} - -/obj/item/food/garlicbread : /obj/item/food/garlicbread{@OLD} -/obj/item/food/butterbiscuit : /obj/item/food/butterbiscuit{@OLD} -/obj/item/food/butterdog : /obj/item/food/butterdog{@OLD} - -/obj/item/food/baguette : /obj/item/food/baguette{@OLD} -/obj/item/food/baguette/@SUBTYPES : /obj/item/food/baguette/@SUBTYPES{@OLD} - -/obj/item/food/deepfryholder : /obj/item/food/deepfryholder{@OLD} diff --git a/tools/UpdatePaths/Scripts/60522_replace_spawners.txt b/tools/UpdatePaths/Scripts/3526_replace_spawners.txt similarity index 62% rename from tools/UpdatePaths/Scripts/60522_replace_spawners.txt rename to tools/UpdatePaths/Scripts/3526_replace_spawners.txt index 9c7a34bd396c..831d337edeb6 100644 --- a/tools/UpdatePaths/Scripts/60522_replace_spawners.txt +++ b/tools/UpdatePaths/Scripts/3526_replace_spawners.txt @@ -1,83 +1,67 @@ #comment This replaces the effect/spawner paths to the new refactored paths https://github.com/tgstation/tgstation/pull/60522 + /obj/effect/loot_site_spawner : /obj/effect/spawner/random/structure/crate -/obj/effect/spawner/lootdrop/costume : /obj/effect/spawner/random/clothing/costume -/obj/effect/spawner/lootdrop/mafia_outfit : /obj/effect/spawner/random/clothing/mafia_outfit -/obj/effect/spawner/lootdrop/minor/twentyfive_percent_cyborg_mask : /obj/effect/spawner/random/clothing/twentyfive_percent_cyborg_mask -/obj/effect/spawner/lootdrop/minor/pirate_or_bandana : /obj/effect/spawner/random/clothing/pirate_or_bandana -/obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears : /obj/effect/spawner/random/clothing/kittyears_or_rabbitears -/obj/effect/spawner/lootdrop/minor/bowler_or_that : /obj/effect/spawner/random/clothing/bowler_or_that -/obj/effect/spawner/lootdrop/minor/beret_or_rabbitears : /obj/effect/spawner/random/clothing/beret_or_rabbitears -/obj/effect/spawner/bundle/hobo_squat : /obj/effect/spawner/random/trash/hobo_squat -/obj/effect/spawner/bundle/moisture_trap : /obj/effect/spawner/random/trash/moisture_trap -/obj/effect/spawner/lootdrop/maint_drugs : /obj/effect/spawner/random/entertainment/drugs -/obj/effect/spawner/lootdrop/grille_or_trash : /obj/effect/spawner/random/trash/grille_or_waste -/obj/effect/spawner/lootdrop/botanical_waste : /obj/effect/spawner/random/trash/botanical_waste -/obj/effect/spawner/lootdrop/food_packaging : /obj/effect/spawner/random/trash/food_packaging -/obj/effect/spawner/lootdrop/cigbutt : /obj/effect/spawner/random/trash/cigbutt -/obj/effect/spawner/lootdrop/garbage_spawner : /obj/effect/spawner/random/trash/garbage -/obj/effect/spawner/lootdrop/gambling : /obj/effect/spawner/random/entertainment/gambling -/obj/effect/spawner/lootdrop/wallet_loot : /obj/effect/spawner/random/entertainment/wallet_storage -/obj/effect/spawner/lootdrop/organ_spawner : /obj/effect/spawner/random/medical/organs -/obj/effect/spawner/lootdrop/memeorgans : /obj/effect/spawner/random/medical/memeorgans -/obj/effect/spawner/lootdrop/two_percent_xeno_egg_spawner : /obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner -/obj/effect/spawner/lootdrop/three_course_meal : /obj/effect/spawner/random/food_or_drink/three_course_meal -/obj/effect/spawner/lootdrop/refreshing_beverage : /obj/effect/spawner/random/food_or_drink/refreshing_beverage -/obj/effect/spawner/lootdrop/donkpockets : /obj/effect/spawner/random/food_or_drink/donkpockets -/obj/effect/spawner/lootdrop/space/rareseed : /obj/effect/spawner/random/food_or_drink/seed_rare -/obj/effect/spawner/lootdrop/space/cashmoney : /obj/effect/spawner/random/entertainment/money_large -/obj/effect/spawner/lootdrop/space/fancytool/raremedicalonly : /obj/effect/spawner/random/medical/surgery_tool_alien -/obj/effect/spawner/lootdrop/space/fancytool/advmedicalonly : /obj/effect/spawner/random/medical/surgery_tool_advanced -/obj/effect/spawner/lootdrop/space/fancytool/engineonly : /obj/effect/spawner/random/engineering/tool_advanced -/obj/effect/spawner/lootdrop/space/material : /obj/effect/spawner/random/engineering/material_rare -/obj/effect/spawner/lootdrop/decorative_material : /obj/effect/spawner/random/decoration/material -/obj/effect/spawner/lootdrop/maintenance_carpet : /obj/effect/spawner/random/decoration/carpet -/obj/effect/spawner/lootdrop/decorations_spawner : /obj/effect/spawner/random/decoration/generic +/obj/effect/spawner/lootdrop/aimodule_harmful : /obj/effect/spawner/random/aimodule/harmful /obj/effect/spawner/lootdrop/aimodule_harmless : /obj/effect/spawner/random/aimodule/harmless /obj/effect/spawner/lootdrop/aimodule_neutral : /obj/effect/spawner/random/aimodule/neutral -/obj/effect/spawner/lootdrop/aimodule_harmful : /obj/effect/spawner/random/aimodule/harmful -/obj/effect/spawner/lootdrop/techstorage/service : /obj/effect/spawner/random/techstorage/service_all -/obj/effect/spawner/lootdrop/techstorage/rnd : /obj/effect/spawner/random/techstorage/rnd_all -/obj/effect/spawner/lootdrop/techstorage/security : /obj/effect/spawner/random/techstorage/security_all -/obj/effect/spawner/lootdrop/techstorage/engineering : /obj/effect/spawner/random/techstorage/engineering_all -/obj/effect/spawner/lootdrop/techstorage/tcomms : /obj/effect/spawner/random/techstorage/tcomms_all -/obj/effect/spawner/lootdrop/techstorage/medical : /obj/effect/spawner/random/techstorage/medical_all -/obj/effect/spawner/lootdrop/techstorage/ai : /obj/effect/spawner/random/techstorage/ai_all -/obj/effect/spawner/lootdrop/techstorage/command : /obj/effect/spawner/random/techstorage/command_all -/obj/effect/spawner/lootdrop/techstorage/rnd_secure : /obj/effect/spawner/random/techstorage/rnd_secure_all -/obj/effect/spawner/lootdrop/prison_contraband : /obj/effect/spawner/random/contraband/prison -/obj/effect/spawner/lootdrop/armory_contraband : /obj/effect/spawner/random/contraband/armory -/obj/effect/spawner/lootdrop/armory_contraband/metastation : /obj/effect/spawner/random/contraband/armory -/obj/effect/spawner/lootdrop/armory_contraband/donutstation : /obj/effect/spawner/random/contraband/armory -/obj/effect/spawner/lootdrop/gross_decal_spawner : /obj/effect/spawner/random/trash/mess -/obj/effect/spawner/scatter/grime : /obj/effect/spawner/random/trash/grime -/obj/effect/spawner/scatter/moisture : /obj/effect/spawner/random/trash/moisture -/obj/effect/spawner/lootdrop/space/fancytech : /obj/effect/spawner/random/exotic/technology -/obj/effect/spawner/lootdrop/space/languagebook : /obj/effect/spawner/random/exotic/languagebook -/obj/effect/spawner/lootdrop/space/syndiecosmetic : /obj/effect/spawner/random/exotic/syndie -/obj/effect/spawner/lootdrop/space/fancytool : /obj/effect/spawner/random/exotic/tool -/obj/effect/spawner/randomarcade : /obj/effect/spawner/random/entertainment/arcade -/obj/effect/spawner/randomsnackvend : /obj/effect/spawner/random/vending/snackvend -/obj/effect/spawner/randomcolavend : /obj/effect/spawner/random/vending/colavend /obj/effect/spawner/lootdrop/arcade_boards : /obj/effect/spawner/random/techstorage/arcade_boards +/obj/effect/spawner/lootdrop/armory_contraband : /obj/effect/spawner/random/exotic/armory +/obj/effect/spawner/lootdrop/armory_contraband/donutstation : /obj/effect/spawner/random/exotic/armory +/obj/effect/spawner/lootdrop/armory_contraband/metastation : /obj/effect/spawner/random/exotic/armory +/obj/effect/spawner/lootdrop/botanical_waste : /obj/effect/spawner/random/trash/decal/botanical_waste +/obj/effect/spawner/lootdrop/cigbutt : /obj/effect/spawner/random/trash/decal/cigbutt +/obj/effect/spawner/lootdrop/costume : /obj/effect/spawner/random/clothing/costume /obj/effect/spawner/lootdrop/crate_spawner : /obj/effect/spawner/random/structure/crate_abandoned -/obj/effect/spawner/lootdrop/maintenance : /obj/effect/spawner/random/maintenance -/obj/effect/spawner/lootdrop/maintenance/two : /obj/effect/spawner/random/maintenance/two -/obj/effect/spawner/lootdrop/maintenance/three : /obj/effect/spawner/random/maintenance/three -/obj/effect/spawner/lootdrop/maintenance/four : /obj/effect/spawner/random/maintenance/four -/obj/effect/spawner/lootdrop/maintenance/five : /obj/effect/spawner/random/maintenance/five -/obj/effect/spawner/lootdrop/maintenance/six : /obj/effect/spawner/random/maintenance/six -/obj/effect/spawner/lootdrop/maintenance/seven : /obj/effect/spawner/random/maintenance/seven -/obj/effect/spawner/lootdrop/maintenance/eight : /obj/effect/spawner/random/maintenance/eight +/obj/effect/spawner/lootdrop/decorations_spawner : /obj/effect/spawner/random/decoration/generic +/obj/effect/spawner/lootdrop/decorative_material : /obj/effect/spawner/random/decoration/material +/obj/effect/spawner/lootdrop/donkpockets : /obj/effect/spawner/random/food_or_drink/donkpockets +/obj/effect/spawner/lootdrop/donut : /obj/effect/spawner/random/food_or_drink/donut +/obj/effect/spawner/lootdrop/food_packaging : /obj/effect/spawner/random/trash/decal/food_packaging +/obj/effect/spawner/lootdrop/gambling : /obj/effect/spawner/random/entertainment/gambling +/obj/effect/spawner/lootdrop/garbage_spawner : /obj/effect/spawner/random/trash/decal/garbage +/obj/effect/spawner/lootdrop/garden/seaweed : /obj/effect/spawner/random/food_or_drink/garden/seaweed /obj/effect/spawner/lootdrop/gloves : /obj/effect/spawner/random/clothing/gloves /obj/effect/spawner/lootdrop/glowstick : /obj/effect/spawner/random/decoration/glowstick +/obj/effect/spawner/lootdrop/grille_or_trash : /obj/effect/spawner/random/trash/grille_or_waste +/obj/effect/spawner/lootdrop/gross_decal_spawner : /obj/effect/spawner/random/trash/decal/mess /obj/effect/spawner/lootdrop/lizardboots : /obj/effect/spawner/random/clothing/lizardboots -/obj/effect/spawner/lootdrop/pizzaparty : /obj/effect/spawner/random/food_or_drink/pizzaparty -/obj/effect/spawner/lootdrop/snowdin/dungeonlite : /obj/effect/spawner/random/exotic/antag_gear_weak -/obj/effect/spawner/lootdrop/snowdin/dungeonmid : /obj/effect/spawner/random/exotic/antag_gear -/obj/effect/spawner/lootdrop/snowdin/dungeonheavy : /obj/effect/spawner/random/exotic/antag_gear_strong -/obj/effect/spawner/lootdrop/snowdin/dungeonmisc : /obj/effect/spawner/random/exotic/snow_gear -/obj/effect/spawner/lootdrop/seed_vault : /obj/effect/spawner/random/food_or_drink/seed_vault +/obj/effect/spawner/lootdrop/mafia_outfit : /obj/effect/spawner/random/clothing/mafia_outfit +/obj/effect/spawner/lootdrop/maint_drugs : /obj/effect/spawner/random/entertainment/drugs +/obj/effect/spawner/lootdrop/maintenance : /obj/effect/spawner/random/maintenance +/obj/effect/spawner/lootdrop/maintenance_carpet : /obj/effect/spawner/random/decoration/carpet +/obj/effect/spawner/lootdrop/maintenance/eight : /obj/effect/spawner/random/maintenance/eight +/obj/effect/spawner/lootdrop/maintenance/five : /obj/effect/spawner/random/maintenance/five +/obj/effect/spawner/lootdrop/maintenance/four : /obj/effect/spawner/random/maintenance/four +/obj/effect/spawner/lootdrop/maintenance/seven : /obj/effect/spawner/random/maintenance/seven +/obj/effect/spawner/lootdrop/maintenance/six : /obj/effect/spawner/random/maintenance/six +/obj/effect/spawner/lootdrop/maintenance/three : /obj/effect/spawner/random/maintenance/three +/obj/effect/spawner/lootdrop/maintenance/two : /obj/effect/spawner/random/maintenance/two +/obj/effect/spawner/lootdrop/memeorgans : /obj/effect/spawner/random/medical/memeorgans +/obj/effect/spawner/lootdrop/minor/beret_or_rabbitears : /obj/effect/spawner/random/clothing/beret_or_rabbitears +/obj/effect/spawner/lootdrop/minor/bowler_or_that : /obj/effect/spawner/random/clothing/bowler_or_that +/obj/effect/spawner/lootdrop/minor/kittyears_or_rabbitears : /obj/effect/spawner/random/clothing/kittyears_or_rabbitears +/obj/effect/spawner/lootdrop/minor/pirate_or_bandana : /obj/effect/spawner/random/clothing/pirate_or_bandana +/obj/effect/spawner/lootdrop/minor/twentyfive_percent_cyborg_mask : /obj/effect/spawner/random/clothing/twentyfive_percent_cyborg_mask +/obj/effect/spawner/lootdrop/organ_spawner : /obj/effect/spawner/random/medical/organs +/obj/effect/spawner/lootdrop/prison_contraband : /obj/effect/spawner/random/exotic/prison_contraband +/obj/effect/spawner/lootdrop/ration : /obj/effect/spawner/random/food_or_drink/ration +/obj/effect/spawner/lootdrop/techstorage/ai : /obj/effect/spawner/random/techstorage/ai_all +/obj/effect/spawner/lootdrop/techstorage/command : /obj/effect/spawner/random/techstorage/command +/obj/effect/spawner/lootdrop/techstorage/engineering : /obj/effect/spawner/random/techstorage/engineering +/obj/effect/spawner/lootdrop/techstorage/medical : /obj/effect/spawner/random/techstorage/medical +/obj/effect/spawner/lootdrop/techstorage/rnd : /obj/effect/spawner/random/techstorage/rnd +/obj/effect/spawner/lootdrop/techstorage/rnd_secure : /obj/effect/spawner/random/techstorage/rnd_secure +/obj/effect/spawner/lootdrop/techstorage/security : /obj/effect/spawner/random/techstorage/security +/obj/effect/spawner/lootdrop/techstorage/service : /obj/effect/spawner/random/techstorage/service +/obj/effect/spawner/lootdrop/techstorage/tcomms : /obj/effect/spawner/random/techstorage/tcomms +/obj/effect/spawner/lootdrop/three_course_meal : /obj/effect/spawner/random/food_or_drink/three_course_meal +/obj/effect/spawner/lootdrop/wallet_loot : /obj/effect/spawner/random/entertainment/wallet_storage +/obj/effect/spawner/lootdrop/waste/trash : /obj/effect/spawner/random/trash/decal /obj/effect/spawner/lootdrop/whiteship_cere_ripley : /obj/effect/spawner/random/exotic/ripley - - +/obj/effect/spawner/randomarcade : /obj/effect/spawner/random/entertainment/arcade +/obj/machinery/vending/cola/random : /obj/effect/spawner/random/vending/cola +/obj/machinery/vending/snack/random : /obj/effect/spawner/random/vending/snack +/obj/item/bedsheet/dorms : /obj/effect/spawner/random/bedsheet +/obj/item/bedsheet/dorms/double : /obj/effect/spawner/random/bedsheet/double +/obj/item/bedsheet/random : /obj/effect/spawner/random/bedsheet diff --git a/tools/UpdatePaths/Scripts/55614_replacemonkeys.txt b/tools/UpdatePaths/Scripts/55614_replacemonkeys.txt deleted file mode 100644 index 5057faffbb33..000000000000 --- a/tools/UpdatePaths/Scripts/55614_replacemonkeys.txt +++ /dev/null @@ -1,5 +0,0 @@ -#comment This replaces the monkeys pre-species refactor to the monkeys post-species refactor https://github.com/tgstation/tgstation/pull/55614 - -/mob/living/carbon/monkey : /mob/living/carbon/human/species/monkey -/mob/living/carbon/monkey/angry : /mob/living/carbon/human/species/monkey/angry -/mob/living/carbon/monkey/punpun : /mob/living/carbon/human/species/monkey/punpun diff --git a/tools/UpdatePaths/Scripts/55658_apc_pixel_offsets.txt b/tools/UpdatePaths/Scripts/55658_apc_pixel_offsets.txt deleted file mode 100644 index 30b5ba2d5d92..000000000000 --- a/tools/UpdatePaths/Scripts/55658_apc_pixel_offsets.txt +++ /dev/null @@ -1,4 +0,0 @@ -/obj/machinery/power/apc/@SUBTYPES{dir = 1} : @OLD{@OLD; pixel_y = 23} -/obj/machinery/power/apc/@SUBTYPES{dir = 2} : @OLD{@OLD; pixel_y = -23} -/obj/machinery/power/apc/@SUBTYPES{dir = 4} : @OLD{@OLD; pixel_x = 24} -/obj/machinery/power/apc/@SUBTYPES{dir = 8} : @OLD{@OLD; pixel_x = -25} diff --git a/tools/UpdatePaths/Scripts/55658_cornersfix.txt b/tools/UpdatePaths/Scripts/55658_cornersfix.txt deleted file mode 100644 index d9ff8a20232b..000000000000 --- a/tools/UpdatePaths/Scripts/55658_cornersfix.txt +++ /dev/null @@ -1,30 +0,0 @@ -/obj/effect/turf_decal/stripes/corner {dir=1} : /obj/item/bear_armor {@OLD;dir=8} -/obj/effect/turf_decal/stripes/corner {dir=2} : /obj/effect/turf_decal/stripes/corner {@OLD;dir=@SKIP} -/obj/effect/turf_decal/stripes/corner {dir=4} : /obj/effect/turf_decal/stripes/corner {@OLD;dir=1} -/obj/effect/turf_decal/stripes/corner {dir=8} : /obj/effect/turf_decal/stripes/corner {@OLD;dir=4} -/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/stripes/corner {@OLD} -/obj/effect/turf_decal/stripes/red/corner {dir=1} : /obj/item/bear_armor {@OLD;dir=8} -/obj/effect/turf_decal/stripes/red/corner {dir=2} : /obj/effect/turf_decal/stripes/red/corner {@OLD;dir=@SKIP} -/obj/effect/turf_decal/stripes/red/corner {dir=4} : /obj/effect/turf_decal/stripes/red/corner {@OLD;dir=1} -/obj/effect/turf_decal/stripes/red/corner {dir=8} : /obj/effect/turf_decal/stripes/red/corner {@OLD;dir=4} -/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/stripes/red/corner {@OLD} -/obj/effect/turf_decal/stripes/white/corner {dir=1} : /obj/item/bear_armor {@OLD;dir=8} -/obj/effect/turf_decal/stripes/white/corner {dir=2} : /obj/effect/turf_decal/stripes/white/corner {@OLD;dir=@SKIP} -/obj/effect/turf_decal/stripes/white/corner {dir=4} : /obj/effect/turf_decal/stripes/white/corner {@OLD;dir=1} -/obj/effect/turf_decal/stripes/white/corner {dir=8} : /obj/effect/turf_decal/stripes/white/corner {@OLD;dir=4} -/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/stripes/white/corner {@OLD} -/obj/effect/turf_decal/box/corners {dir=1} : /obj/item/bear_armor {@OLD;dir=8} -/obj/effect/turf_decal/box/corners {dir=2} : /obj/effect/turf_decal/box/corners {@OLD;dir=@SKIP} -/obj/effect/turf_decal/box/corners {dir=4} : /obj/effect/turf_decal/box/corners {@OLD;dir=1} -/obj/effect/turf_decal/box/corners {dir=8} : /obj/effect/turf_decal/box/corners {@OLD;dir=4} -/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/box/corners {@OLD} -/obj/effect/turf_decal/box/red/corners {dir=1} : /obj/item/bear_armor {@OLD;dir=8} -/obj/effect/turf_decal/box/red/corners {dir=2} : /obj/effect/turf_decal/box/red/corners {@OLD;dir=@SKIP} -/obj/effect/turf_decal/box/red/corners {dir=4} : /obj/effect/turf_decal/box/red/corners {@OLD;dir=1} -/obj/effect/turf_decal/box/red/corners {dir=8} : /obj/effect/turf_decal/box/red/corners {@OLD;dir=4} -/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/box/red/corners {@OLD} -/obj/effect/turf_decal/box/white/corners {dir=1} : /obj/item/bear_armor {@OLD;dir=8} -/obj/effect/turf_decal/box/white/corners {dir=2} : /obj/effect/turf_decal/box/white/corners {@OLD;dir=@SKIP} -/obj/effect/turf_decal/box/white/corners {dir=4} : /obj/effect/turf_decal/box/white/corners {@OLD;dir=1} -/obj/effect/turf_decal/box/white/corners {dir=8} : /obj/effect/turf_decal/box/white/corners {@OLD;dir=4} -/obj/item/bear_armor {dir=8} : /obj/effect/turf_decal/box/white/corners {@OLD} \ No newline at end of file diff --git a/tools/UpdatePaths/Scripts/56644_turfs2decals.txt b/tools/UpdatePaths/Scripts/56644_turfs2decals.txt deleted file mode 100644 index fa330ce089eb..000000000000 --- a/tools/UpdatePaths/Scripts/56644_turfs2decals.txt +++ /dev/null @@ -1,467 +0,0 @@ -/turf/open/floor/circuit/killroom : /turf/open/floor/circuit/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/airless/asteroid : /obj/effect/turf_decal/sand , /turf/open/floor/iron/airless {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/airless/bar : /obj/effect/turf_decal/tile/bar , /obj/effect/turf_decal/tile/bar {dir=1} , /turf/open/floor/iron/airless {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/arrival {dir=1} : /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/white/corner {@OLD;dir=1} -/turf/open/floor/plasteel/arrival {dir=@UNSET} : /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white/corner {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/arrival {dir=2} : /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white/corner {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/arrival {dir=4} : /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/white/corner {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/arrival {dir=5} : /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/cafeteria {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/arrival {dir=6} : /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white/corner {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/arrival {dir=8} : /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white/corner {@OLD;dir=1} -/turf/open/floor/plasteel/arrival {dir=9} : /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white/corner {@OLD;dir=1} -/turf/open/floor/plasteel/arrival {dir=10} : /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/cafeteria {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/arrival/corner {dir=1} : /turf/open/floor/iron/white/corner {@OLD} -/turf/open/floor/plasteel/arrival/corner {dir=@UNSET} : /turf/open/floor/iron/white/corner {@OLD} -/turf/open/floor/plasteel/arrival/corner {dir=2} : /turf/open/floor/iron/white/corner {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/arrival/corner {dir=4} : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/arrival/corner {dir=8} : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/asteroid : /obj/effect/turf_decal/sand , /turf/open/floor/iron -/turf/open/floor/plasteel/bar : /obj/effect/turf_decal/tile/bar , /obj/effect/turf_decal/tile/bar {dir=1} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/barber : /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/cafeteria {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/blue : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/blue/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/blue/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/blue/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/blue/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/blue/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/blue/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/blue/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/blue/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/blue/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/blue/corner : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/blueyellow : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/blueyellow/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/blueyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/blueyellow/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/blueyellow/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/blueyellow/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/blueyellow/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/blueyellow/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/blueyellow/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/blueyellow/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown/corner : /obj/effect/turf_decal/tile/brown {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown/telecomms {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown/telecomms {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown/telecomms {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown/telecomms {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown/telecomms {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown/telecomms {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown/telecomms {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown/telecomms {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brown/telecomms/mainframe {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brownold {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brownold {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brownold {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brownold {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brownold {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brownold {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brownold {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brownold {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brownold {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/brownold/corner : /obj/effect/turf_decal/tile/brown {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/caution {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/dark/corner {@OLD;dir=1} -/turf/open/floor/plasteel/caution {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark/corner {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/caution {dir=2} : /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark/corner {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/caution {dir=4} : /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/dark/corner {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/caution {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/checker {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/caution {dir=6} : /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark/corner {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/caution {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark/corner {@OLD;dir=1} -/turf/open/floor/plasteel/caution {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark/corner {@OLD;dir=1} -/turf/open/floor/plasteel/caution {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/checker {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/caution/corner {dir=1} : /turf/open/floor/iron/dark/corner {@OLD} -/turf/open/floor/plasteel/caution/corner {dir=@UNSET} : /turf/open/floor/iron/dark/corner {@OLD} -/turf/open/floor/plasteel/caution/corner {dir=2} : /turf/open/floor/iron/dark/corner {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/caution/corner {dir=4} : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/caution/corner {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/cmo : /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/dark/telecomms/mainframe : /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/dark/telecomms/server : /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/dark/telecomms/server/walkway : /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkblue : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkblue/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkblue/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkblue/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkblue/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkblue/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkblue/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkblue/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkblue/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkblue/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkblue/corner : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkblue/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkblue/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkblue/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkblue/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkblue/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkblue/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkblue/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkblue/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkblue/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkbrown : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkbrown/side {dir=1} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkbrown/side {dir=@UNSET} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkbrown/side {dir=2} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkbrown/side {dir=4} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkbrown/side {dir=5} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkbrown/side {dir=6} : /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkbrown/side {dir=8} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkbrown/side {dir=9} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown {dir=4} , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkbrown/side {dir=10} : /obj/effect/turf_decal/tile/brown {dir=1} , /obj/effect/turf_decal/tile/brown , /obj/effect/turf_decal/tile/brown {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkbrown/corner : /obj/effect/turf_decal/tile/brown {dir=@OLD} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkgreen : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkgreen/side {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkgreen/side {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkgreen/side {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkgreen/side {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkgreen/side {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkgreen/side {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkgreen/side {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkgreen/side {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkgreen/side {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkgreen/corner : /obj/effect/turf_decal/tile/green {dir=@OLD} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkgreen/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkpurple : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkpurple/side {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkpurple/side {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkpurple/side {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkpurple/side {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkpurple/side {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkpurple/side {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkpurple/side {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkpurple/side {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkpurple/side {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkpurple/corner : /obj/effect/turf_decal/tile/purple {dir=@OLD} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkpurple/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkred : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkred/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkred/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkred/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkred/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkred/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkred/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkred/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkred/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkred/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkred/corner : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkred/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkred/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkred/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkred/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkred/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkred/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkred/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkred/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkred/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkyellow : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkyellow/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkyellow/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkyellow/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkyellow/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkyellow/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkyellow/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkyellow/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkyellow/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkyellow/corner : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/darkyellow/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/iron/escape {dir=1} : /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/white/corner {@OLD;dir=1} -/turf/open/floor/iron/escape {dir=@UNSET} : /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white/corner {@OLD;dir=@SKIP} -/turf/open/floor/iron/escape {dir=2} : /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white/corner {@OLD;dir=@SKIP} -/turf/open/floor/iron/escape {dir=4} : /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/white/corner {@OLD;dir=@SKIP} -/turf/open/floor/iron/escape {dir=5} : /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/cafeteria {@OLD;dir=@SKIP} -/turf/open/floor/iron/escape {dir=6} : /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white/corner {@OLD;dir=@SKIP} -/turf/open/floor/iron/escape {dir=8} : /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white/corner {@OLD;dir=1} -/turf/open/floor/iron/escape {dir=9} : /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white/corner {@OLD;dir=1} -/turf/open/floor/iron/escape {dir=10} : /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/cafeteria {@OLD;dir=@SKIP} -/turf/open/floor/iron/escape/corner {dir=1} : /turf/open/floor/iron/white/corner {@OLD} -/turf/open/floor/iron/escape/corner {dir=@UNSET} : /turf/open/floor/iron/white/corner {@OLD} -/turf/open/floor/iron/escape/corner {dir=2} : /turf/open/floor/iron/white/corner {@OLD;dir=@SKIP} -/turf/open/floor/iron/escape/corner {dir=4} : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/iron/escape/corner {dir=8} : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/green : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/green/side {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/green/side {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/green/side {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/green/side {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/green/side {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/green/side {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/green/side {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/green/side {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/green/side {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/green/corner : /obj/effect/turf_decal/tile/green {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/green/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/green/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/green/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/green/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/green/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/green/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/green/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/green/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/green/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/greenblue : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/greenblue/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/greenblue/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/greenblue/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/greenblue/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/greenblue/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/greenblue/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/greenblue/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/greenblue/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/greenblue/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/greenyellow : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/greenyellow/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/greenyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/greenyellow/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/greenyellow/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/greenyellow/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/greenyellow/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/greenyellow/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/greenyellow/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/greenyellow/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/hydrofloor : /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/neutral : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/neutral/side {dir=1} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/neutral/side {dir=@UNSET} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/neutral/side {dir=2} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/neutral/side {dir=4} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/neutral/side {dir=5} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/neutral/side {dir=6} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/neutral/side {dir=8} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/neutral/side {dir=9} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/neutral/side {dir=10} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/neutral/corner : /obj/effect/turf_decal/tile/neutral {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/neutral/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/neutral/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/neutral/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/neutral/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/neutral/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/neutral/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/neutral/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/neutral/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/neutral/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/orange : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/orange/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/orange/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/orange/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/orange/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/orange/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/orange/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/orange/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/orange/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/orange/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/orange/corner : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/purple : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/purple/side {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/purple/side {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/purple/side {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/purple/side {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/purple/side {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/purple/side {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/purple/side {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/purple/side {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/purple/side {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/purple/corner : /obj/effect/turf_decal/tile/purple {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/red : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/red/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/red/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/red/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/red/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/red/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/red/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/red/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/red/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/red/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/red/corner : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redblue : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redblue/redside {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redblue/redside {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redblue/redside {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redblue/redside {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redblue/redside {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redblue/redside {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redblue/redside {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redblue/redside {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redblue/redside {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redblue/blueside {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redblue/blueside {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redblue/blueside {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redblue/blueside {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redblue/blueside {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redblue/blueside {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redblue/blueside {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redblue/blueside {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redblue/blueside {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redgreen : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redgreen/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redgreen/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redgreen/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redgreen/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redgreen/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redgreen/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redgreen/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redgreen/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redgreen/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redgreen : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redgreen/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redgreen/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redgreen/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redgreen/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redgreen/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redgreen/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redgreen/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redgreen/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redgreen/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redyellow : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redyellow/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redyellow/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redyellow/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redyellow/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redyellow/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redyellow/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redyellow/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/redyellow/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/vault : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/vault/airless : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark/airless {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/vault/snowdin : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark/snowdin {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/vault/telecomms : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/vault/telecomms/mainframe : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/vault/killroom : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/vault/side {dir=1} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/vault/side {dir=@UNSET} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/vault/side {dir=2} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/vault/side {dir=4} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/vault/side {dir=5} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/vault/side {dir=6} : /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/vault/side {dir=8} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/vault/side {dir=9} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral {dir=4} , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/vault/side {dir=10} : /obj/effect/turf_decal/tile/neutral {dir=1} , /obj/effect/turf_decal/tile/neutral , /obj/effect/turf_decal/tile/neutral {dir=8} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/vault/corner : /obj/effect/turf_decal/tile/neutral {dir=@OLD} , /turf/open/floor/iron/dark {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteblue : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteblue/side {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteblue/side {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteblue/side {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteblue/side {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteblue/side {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteblue/side {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteblue/side {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteblue/side {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteblue/side {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteblue/corner : /obj/effect/turf_decal/tile/blue {dir=@OLD} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue {dir=4} , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteblue/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/blue {dir=1} , /obj/effect/turf_decal/tile/blue , /obj/effect/turf_decal/tile/blue {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitegreen : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitegreen/side {dir=1} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitegreen/side {dir=@UNSET} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitegreen/side {dir=2} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitegreen/side {dir=4} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitegreen/side {dir=5} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitegreen/side {dir=6} : /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitegreen/side {dir=8} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitegreen/side {dir=9} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green {dir=4} , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitegreen/side {dir=10} : /obj/effect/turf_decal/tile/green {dir=1} , /obj/effect/turf_decal/tile/green , /obj/effect/turf_decal/tile/green {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitegreen/corner : /obj/effect/turf_decal/tile/green {dir=@OLD} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitepurple : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitepurple/side {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitepurple/side {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitepurple/side {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitepurple/side {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitepurple/side {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitepurple/side {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitepurple/side {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitepurple/side {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitepurple/side {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitepurple/corner : /obj/effect/turf_decal/tile/purple {dir=@OLD} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=1} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=@UNSET} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=2} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=4} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=5} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=6} : /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=8} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=9} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple {dir=4} , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitepurple/side/telecomms {dir=10} : /obj/effect/turf_decal/tile/purple {dir=1} , /obj/effect/turf_decal/tile/purple , /obj/effect/turf_decal/tile/purple {dir=8} , /turf/open/floor/iron/white/telecomms {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitered : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitered/side {dir=1} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitered/side {dir=@UNSET} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitered/side {dir=2} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitered/side {dir=4} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitered/side {dir=5} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitered/side {dir=6} : /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitered/side {dir=8} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitered/side {dir=9} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red {dir=4} , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitered/side {dir=10} : /obj/effect/turf_decal/tile/red {dir=1} , /obj/effect/turf_decal/tile/red , /obj/effect/turf_decal/tile/red {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whitered/corner : /obj/effect/turf_decal/tile/red {dir=@OLD} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteyellow : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteyellow/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteyellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteyellow/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteyellow/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteyellow/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteyellow/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteyellow/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteyellow/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteyellow/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/whiteyellow/corner : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/iron/white {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/yellow : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/yellow/side {dir=1} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/yellow/side {dir=@UNSET} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/yellow/side {dir=2} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/yellow/side {dir=4} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/yellow/side {dir=5} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/yellow/side {dir=6} : /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/yellow/side {dir=8} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/yellow/side {dir=9} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow {dir=4} , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/yellow/side {dir=10} : /obj/effect/turf_decal/tile/yellow {dir=1} , /obj/effect/turf_decal/tile/yellow , /obj/effect/turf_decal/tile/yellow {dir=8} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plasteel/yellow/corner : /obj/effect/turf_decal/tile/yellow {dir=@OLD} , /turf/open/floor/iron {@OLD;dir=@SKIP} -/turf/open/floor/plating/airless/astplate : /obj/effect/turf_decal/sand/plating , /turf/open/floor/plating/airless {@OLD;dir=@SKIP} -/turf/open/floor/plating/astplate : /obj/effect/turf_decal/sand/plating , /turf/open/floor/plating {@OLD;dir=@SKIP} \ No newline at end of file diff --git a/tools/UpdatePaths/Scripts/59820_replaceplasteelturf.txt b/tools/UpdatePaths/Scripts/59820_replaceplasteelturf.txt deleted file mode 100644 index 1f3db958ca5f..000000000000 --- a/tools/UpdatePaths/Scripts/59820_replaceplasteelturf.txt +++ /dev/null @@ -1,50 +0,0 @@ -/turf/open/floor/plasteel : /turf/open/floor/iron {@OLD} -/turf/open/floor/plasteel/airless : /turf/open/floor/iron/airless {@OLD} -/turf/open/floor/plasteel/airless/cafeteria : /turf/open/floor/iron/cafeteria/airless {@OLD} -/turf/open/floor/plasteel/airless/dark : /turf/open/floor/iron/dark/airless {@OLD} -/turf/open/floor/plasteel/airless/showroomfloor : /turf/open/floor/iron/showroomfloor/airless {@OLD} -/turf/open/floor/plasteel/airless/solarpanel : /turf/open/floor/iron/solarpanel/airless {@OLD} -/turf/open/floor/plasteel/airless/white : /turf/open/floor/iron/white/airless {@OLD} -/turf/open/floor/plasteel/airless/white/corner : /turf/open/floor/iron/white/corner/airless {@OLD} -/turf/open/floor/plasteel/airless/white/side : /turf/open/floor/iron/white/side/airless {@OLD} -/turf/open/floor/plasteel/bluespace : /turf/open/floor/iron/bluespace {@OLD} -/turf/open/floor/plasteel/cafeteria : /turf/open/floor/iron/cafeteria {@OLD} -/turf/open/floor/plasteel/chapel : /turf/open/floor/iron/chapel {@OLD} -/turf/open/floor/plasteel/checker : /turf/open/floor/iron/checker {@OLD} -/turf/open/floor/plasteel/cult : /turf/open/floor/cult {@OLD} -/turf/open/floor/plasteel/cult/airless : /turf/open/floor/cult/airless {@OLD} -/turf/open/floor/plasteel/dark : /turf/open/floor/iron/dark {@OLD} -/turf/open/floor/plasteel/dark/airless : /turf/open/floor/iron/dark/airless {@OLD} -/turf/open/floor/plasteel/dark/corner : /turf/open/floor/iron/dark/corner {@OLD} -/turf/open/floor/plasteel/dark/side : /turf/open/floor/iron/dark/side {@OLD} -/turf/open/floor/plasteel/dark/snowdin : /turf/open/floor/iron/dark/snowdin {@OLD} -/turf/open/floor/plasteel/dark/telecomms : /turf/open/floor/iron/dark/telecomms {@OLD} -/turf/open/floor/plasteel/elevatorshaft : /turf/open/floor/plating/elevatorshaft {@OLD} -/turf/open/floor/plasteel/freezer : /turf/open/floor/iron/freezer {@OLD} -/turf/open/floor/plasteel/freezer/airless : /turf/open/floor/iron/freezer/airless {@OLD} -/turf/open/floor/plasteel/goonplaque : /turf/open/floor/iron/goonplaque {@OLD} -/turf/open/floor/plasteel/grimy : /turf/open/floor/iron/grimy {@OLD} -/turf/open/floor/plasteel/icemoon : /turf/open/floor/iron/icemoon {@OLD} -/turf/open/floor/plasteel/kitchen_coldroom : /turf/open/floor/iron/kitchen_coldroom {@OLD} -/turf/open/floor/plasteel/kitchen_coldroom/freezerfloor : /turf/open/floor/iron/kitchen_coldroom/freezerfloor {@OLD} -/turf/open/floor/plasteel/recharge_floor : /turf/open/floor/iron/recharge_floor {@OLD} -/turf/open/floor/plasteel/recharge_floor/asteroid : /turf/open/floor/iron/recharge_floor/asteroid {@OLD} -/turf/open/floor/plasteel/rockvault : /turf/open/floor/vault/rock {@OLD} -/turf/open/floor/plasteel/rockvault/alien : /turf/open/floor/vault/alien {@OLD} -/turf/open/floor/plasteel/rockvault/sandstone : /turf/open/floor/vault/sandstone {@OLD} -/turf/open/floor/plasteel/sepia : /turf/open/floor/iron/sepia {@OLD} -/turf/open/floor/plasteel/showroomfloor : /turf/open/floor/iron/showroomfloor {@OLD} -/turf/open/floor/plasteel/solarpanel : /turf/open/floor/iron/solarpanel {@OLD} -/turf/open/floor/plasteel/stairs : /turf/open/floor/iron/stairs {@OLD} -/turf/open/floor/plasteel/stairs/left : /turf/open/floor/iron/stairs/left {@OLD} -/turf/open/floor/plasteel/stairs/medium : /turf/open/floor/iron/stairs/medium {@OLD} -/turf/open/floor/plasteel/stairs/old : /turf/open/floor/iron/stairs/old {@OLD} -/turf/open/floor/plasteel/stairs/right : /turf/open/floor/iron/stairs/right {@OLD} -/turf/open/floor/plasteel/telecomms : /turf/open/floor/iron/telecomms {@OLD} -/turf/open/floor/plasteel/vaporwave : /turf/open/floor/iron/vaporwave {@OLD} -/turf/open/floor/plasteel/white : /turf/open/floor/iron/white {@OLD} -/turf/open/floor/plasteel/white/corner : /turf/open/floor/iron/white/corner {@OLD} -/turf/open/floor/plasteel/white/side : /turf/open/floor/iron/white/side {@OLD} -/turf/open/floor/plasteel/white/telecomms : /turf/open/floor/iron/white/telecomms {@OLD} -/turf/open/floor/plasteel/yellowsiding : /turf/open/floor/iron/yellowsiding, /obj/effect/turf_decal/siding/yellow {@OLD} -/turf/open/floor/plasteel/yellowsiding/corner : /turf/open/floor/iron/yellowsiding/corner, /obj/effect/turf_decal/siding/yellow/corner {@OLD} diff --git a/tools/UpdatePaths/Scripts/60619_toxins_to_plasma.txt b/tools/UpdatePaths/Scripts/60619_toxins_to_plasma.txt deleted file mode 100644 index bb1b4bb2935d..000000000000 --- a/tools/UpdatePaths/Scripts/60619_toxins_to_plasma.txt +++ /dev/null @@ -1,38 +0,0 @@ -/obj/machinery/airlock_sensor/incinerator_toxmix : /obj/machinery/airlock_sensor/incinerator_ordmix -/obj/machinery/button/door/incinerator_vent_toxmix : /obj/machinery/button/door/incinerator_vent_ordmix -/obj/machinery/button/ignition/incinerator/toxmix : /obj/machinery/button/ignition/incinerator/ordmix -/obj/machinery/camera/preset/toxins : /obj/machinery/camera/preset/ordnance -/obj/machinery/air_sensor/atmos/toxins_mixing_tank : /obj/machinery/air_sensor/atmos/ordnance_mixing_tank -/obj/machinery/computer/atmos_control/toxinsmix : /obj/machinery/computer/atmos_control/ordnancemix -/obj/machinery/computer/security/telescreen/toxins : /obj/machinery/computer/security/telescreen/ordnance -/obj/machinery/computer/pod/old/mass_driver_controller/toxinsdriver : /obj/machinery/computer/pod/old/mass_driver_controller/ordnancedriver -/obj/machinery/computer/pod/old/mass_driver_controller/toxinsdriver/longrange : /obj/machinery/computer/pod/old/mass_driver_controller/ordnancedriver/longrange -/obj/machinery/door/airlock/research/glass/incinerator/toxmix_interior : /obj/machinery/door/airlock/research/glass/incinerator/ordmix_interior -/obj/machinery/door/airlock/research/glass/incinerator/toxmix_exterior : /obj/machinery/door/airlock/research/glass/incinerator/ordmix_exterior -/obj/machinery/door/poddoor/incinerator_toxmix : /obj/machinery/door/poddoor/incinerator_ordmix -/obj/machinery/door/poddoor/massdriver_toxins : /obj/machinery/door/poddoor/massdriver_ordnance -/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_toxmix : /obj/machinery/embedded_controller/radio/airlock_controller/incinerator_ordmix -/obj/machinery/igniter/incinerator_toxmix : /obj/machinery/igniter/incinerator_ordmix -/obj/machinery/sparker/toxmix : /obj/machinery/sparker/ordmix -/obj/machinery/mass_driver/toxins : /obj/machinery/mass_driver/ordnance -/obj/item/circuitboard/computer/atmos_control/toxinsmix : /obj/item/circuitboard/computer/atmos_control/ordnancemix -/obj/item/circuitboard/computer/atmos_control/tank/toxin_tank : /obj/item/circuitboard/computer/atmos_control/tank/plasma_tank -/obj/machinery/computer/atmos_control/tank/toxin_tank : /obj/machinery/computer/atmos_control/tank/plasma_tank -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_toxmix : /obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_ordmix -/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/toxins_mixing_input : /obj/machinery/atmospherics/components/unary/outlet_injector/atmos/ordnance_mixing_input -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/toxins_mixing_output : /obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/ordnance_mixing_output - -/obj/machinery/portable_atmospherics/canister/toxins : /obj/machinery/portable_atmospherics/canister/plasma -/obj/machinery/air_sensor/atmos/toxin_tank : /obj/machinery/air_sensor/atmos/plasma_tank -/obj/machinery/computer/atmos_control/tank/toxin_tank : /obj/machinery/computer/atmos_control/tank/plasma_tank -/obj/machinery/atmospherics/components/tank/toxins : /obj/machinery/atmospherics/components/tank/plasma -/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/toxin_input : /obj/machinery/atmospherics/components/unary/outlet_injector/atmos/plasma_input -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/toxin_output : /obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/plasma_output -/obj/machinery/atmospherics/miner/toxins : /obj/machinery/atmospherics/miner/plasma - -/obj/item/storage/backpack/satchel/tox : /obj/item/storage/backpack/satchel/science -/obj/item/cartridge/signal/toxins : /obj/item/cartridge/signal/ordnance -/obj/item/pda/toxins : /obj/item/pda/science -/obj/item/book/manual/wiki/toxins : /obj/item/book/manual/wiki/ordnance -/obj/item/storage/backpack/duffelbag/toxins : /obj/item/storage/backpack/duffelbag/science -/obj/item/paper/fluff/jobs/toxins/chemical_info : /obj/item/paper/fluff/jobs/ordnance/chemical_info diff --git a/tools/UpdatePaths/Scripts/61694_reinforcedwindows.txt b/tools/UpdatePaths/Scripts/61694_reinforcedwindows.txt deleted file mode 100644 index c084b6bf87b1..000000000000 --- a/tools/UpdatePaths/Scripts/61694_reinforcedwindows.txt +++ /dev/null @@ -1,35 +0,0 @@ -#This replaces the window/shuttle and window/plasma/reinforced with the refactors from https://github.com/tgstation/tgstation/pull/61694#pullrequestreview-763648844 - -/obj/structure/window/plasma/reinforced : /obj/structure/window/reinforced/plasma -/obj/structure/window/plasma/reinforced/fulltile : /obj/structure/window/reinforced/plasma/fulltile -/obj/structure/window/plasma/reinforced/unanchored : /obj/structure/window/reinforced/plasma/unanchored -/obj/structure/window/plasma/reinforced/fulltile/unanchored : /obj/structure/window/reinforced/plasma/fulltile/unanchored -/obj/structure/window/plasma/reinforced/plastitanium : /obj/structure/window/reinforced/plasma/plastitanium -/obj/structure/window/plasma/reinforced/plastitanium/unanchored : /obj/structure/window/reinforced/plasma/plastitanium/unanchored - -/obj/structure/window/shuttle : /obj/structure/window/reinforced/shuttle -/obj/structure/window/shuttle/unanchored : /obj/structure/window/reinforced/shuttle/unanchored -/obj/structure/window/shuttle/tinted : /obj/structure/window/reinforced/shuttle/tinted -/obj/structure/window/shuttle/survival_pod : /obj/structure/window/reinforced/shuttle/survival_pod - -/obj/structure/window/shuttle/survival_pod/spawner/east : /obj/structure/window/reinforced/shuttle/survival_pod/spawner/east -/obj/structure/window/shuttle/survival_pod/spawner/west : /obj/structure/window/reinforced/shuttle/survival_pod/spawner/west -/obj/structure/window/shuttle/survival_pod/spawner/north : /obj/structure/window/reinforced/shuttle/survival_pod/spawner/north - -/obj/structure/window/plasma/reinforced/spawner/north : /obj/structure/window/reinforced/plasma/spawner/north -/obj/structure/window/plasma/reinforced/spawner/east : /obj/structure/window/reinforced/plasma/spawner/east -/obj/structure/window/plasma/reinforced/spawner/west : /obj/structure/window/reinforced/plasma/spawner/west -/obj/effect/spawner/structure/window/shuttle : /obj/effect/spawner/structure/window/reinforced/shuttle - -/obj/effect/spawner/structure/window/hollow/plasma/reinforced : /obj/effect/spawner/structure/window/hollow/reinforced/plasma -/obj/effect/spawner/structure/window/hollow/plasma/reinforced/end : /obj/effect/spawner/structure/window/hollow/reinforced/plasma/end -/obj/effect/spawner/structure/window/hollow/plasma/reinforced/middle : /obj/effect/spawner/structure/window/hollow/reinforced/plasma/middle -/obj/effect/spawner/structure/window/hollow/plasma/reinforced/directional : /obj/effect/spawner/structure/window/hollow/reinforced/plasma/directional -/obj/effect/spawner/structure/window/plasma/reinforced : /obj/effect/spawner/structure/window/reinforced/plasma/reinforced -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium : /obj/effect/spawner/structure/window/reinforced/plasma/plastitanium - - -/obj/structure/window/plasma/reinforced/spawner/east : /obj/structure/window/reinforced/plasma/spawner/east -/obj/structure/window/plasma/reinforced/spawner/west : /obj/structure/window/reinforced/plasma/spawner/west -/obj/structure/window/plasma/reinforced/spawner/north : /obj/structure/window/reinforced/plasma/spawner/north - diff --git a/tools/UpdatePaths/Scripts/62601_wallitems_f2w.txt b/tools/UpdatePaths/Scripts/62601_wallitems_f2w.txt deleted file mode 100644 index 4caa3432dc8b..000000000000 --- a/tools/UpdatePaths/Scripts/62601_wallitems_f2w.txt +++ /dev/null @@ -1,94 +0,0 @@ -/obj/machinery/camera {dir=@UNSET} : /obj/machinery/camera/directional/north {@OLD} -/obj/machinery/camera {dir=1} : /obj/machinery/camera/directional/south {@OLD;dir=@SKIP} -/obj/machinery/camera {dir=2} : /obj/machinery/camera/directional/north {@OLD;dir=@SKIP} -/obj/machinery/camera {dir=4} : /obj/machinery/camera/directional/west {@OLD;dir=@SKIP} -/obj/machinery/camera {dir=8} : /obj/machinery/camera/directional/east {@OLD;dir=@SKIP} -/obj/machinery/camera/autoname {dir=@UNSET} : /obj/machinery/camera/directional/north {@OLD} -/obj/machinery/camera/autoname {dir=1} : /obj/machinery/camera/autoname/directional/south {@OLD;dir=@SKIP} -/obj/machinery/camera/autoname {dir=2} : /obj/machinery/camera/autoname/directional/north {@OLD;dir=@SKIP} -/obj/machinery/camera/autoname {dir=4} : /obj/machinery/camera/autoname/directional/west {@OLD;dir=@SKIP} -/obj/machinery/camera/autoname {dir=8} : /obj/machinery/camera/autoname/directional/east {@OLD;dir=@SKIP} -/obj/machinery/camera/emp_proof {dir=@UNSET} : /obj/machinery/camera/directional/north {@OLD} -/obj/machinery/camera/emp_proof {dir=1} : /obj/machinery/camera/emp_proof/directional/south {@OLD;dir=@SKIP} -/obj/machinery/camera/emp_proof {dir=2} : /obj/machinery/camera/directional/emp_proof/north {@OLD;dir=@SKIP} -/obj/machinery/camera/emp_proof {dir=4} : /obj/machinery/camera/directional/emp_proof/west {@OLD;dir=@SKIP} -/obj/machinery/camera/emp_proof {dir=8} : /obj/machinery/camera/directional/emp_proof/east {@OLD;dir=@SKIP} -/obj/machinery/camera/motion {dir=@UNSET} : /obj/machinery/camera/directional/north {@OLD} -/obj/machinery/camera/motion {dir=1} : /obj/machinery/camera/motion/directional/south {@OLD;dir=@SKIP} -/obj/machinery/camera/motion {dir=2} : /obj/machinery/camera/motion/directional/north {@OLD;dir=@SKIP} -/obj/machinery/camera/motion {dir=4} : /obj/machinery/camera/motion/directional/west {@OLD;dir=@SKIP} -/obj/machinery/camera/motion {dir=8} : /obj/machinery/camera/motion/directional/east {@OLD;dir=@SKIP} -/obj/machinery/camera/xray {dir=@UNSET} : /obj/machinery/camera/directional/north {@OLD} -/obj/machinery/camera/xray {dir=1} : /obj/machinery/camera/xray/directional/south {@OLD;dir=@SKIP} -/obj/machinery/camera/xray {dir=2} : /obj/machinery/camera/xray/directional/north {@OLD;dir=@SKIP} -/obj/machinery/camera/xray {dir=4} : /obj/machinery/camera/xray/directional/west {@OLD;dir=@SKIP} -/obj/machinery/camera/xray {dir=8} : /obj/machinery/camera/xray/directional/east {@OLD;dir=@SKIP} -/obj/machinery/airalarm {dir=@UNSET} : /obj/machinery/airalarm/directional/north {@OLD;dir=@SKIP} -/obj/machinery/airalarm {dir=1} : /obj/machinery/airalarm/directional/south {@OLD;dir=@SKIP} -/obj/machinery/airalarm {dir=2} : /obj/machinery/airalarm/directional/north {@OLD;dir=@SKIP} -/obj/machinery/airalarm {dir=4} : /obj/machinery/airalarm/directional/west {@OLD;dir=@SKIP} -/obj/machinery/airalarm {dir=8} : /obj/machinery/airalarm/directional/east {@OLD;dir=@SKIP} -/obj/machinery/airalarm/syndicate {dir=@UNSET} : /obj/machinery/airalarm/syndicate {@OLD;dir=1} -/obj/machinery/airalarm/syndicate {dir=1} : /obj/machinery/airalarm/syndicate {@OLD;dir=2} -/obj/machinery/airalarm/syndicate {dir=2} : /obj/machinery/airalarm/syndicate {@OLD;dir=1} -/obj/machinery/airalarm/syndicate {dir=4} : /obj/machinery/airalarm/syndicate {@OLD;dir=8} -/obj/machinery/airalarm/syndicate {dir=8} : /obj/machinery/airalarm/syndicate {@OLD;dir=4} -/obj/machinery/airalarm/all_access {dir=@UNSET} : /obj/machinery/airalarm/all_access {@OLD;dir=1} -/obj/machinery/airalarm/all_access {dir=1} : /obj/machinery/airalarm/all_access {@OLD;dir=2} -/obj/machinery/airalarm/all_access {dir=2} : /obj/machinery/airalarm/all_access {@OLD;dir=1} -/obj/machinery/airalarm/all_access {dir=4} : /obj/machinery/airalarm/all_access {@OLD;dir=8} -/obj/machinery/airalarm/all_access {dir=8} : /obj/machinery/airalarm/all_access {@OLD;dir=4} -/obj/machinery/airalarm/away {dir=@UNSET} : /obj/machinery/airalarm/away {@OLD;dir=1} -/obj/machinery/airalarm/away {dir=1} : /obj/machinery/airalarm/away {@OLD;dir=2} -/obj/machinery/airalarm/away {dir=2} : /obj/machinery/airalarm/away {@OLD;dir=1} -/obj/machinery/airalarm/away {dir=4} : /obj/machinery/airalarm/away {@OLD;dir=8} -/obj/machinery/airalarm/away {dir=8} : /obj/machinery/airalarm/away {@OLD;dir=4} -/obj/machinery/airalarm/engine {dir=@UNSET} : /obj/machinery/airalarm/engine {@OLD;dir=1} -/obj/machinery/airalarm/engine {dir=1} : /obj/machinery/airalarm/engine {@OLD;dir=2} -/obj/machinery/airalarm/engine {dir=2} : /obj/machinery/airalarm/engine {@OLD;dir=1} -/obj/machinery/airalarm/engine {dir=4} : /obj/machinery/airalarm/engine {@OLD;dir=8} -/obj/machinery/airalarm/engine {dir=8} : /obj/machinery/airalarm/engine {@OLD;dir=4} -/obj/machinery/airalarm/unlocked {dir=@UNSET} : /obj/machinery/airalarm/unlocked {@OLD;dir=1} -/obj/machinery/airalarm/unlocked {dir=1} : /obj/machinery/airalarm/unlocked {@OLD;dir=2} -/obj/machinery/airalarm/unlocked {dir=2} : /obj/machinery/airalarm/unlocked {@OLD;dir=1} -/obj/machinery/airalarm/unlocked {dir=4} : /obj/machinery/airalarm/unlocked {@OLD;dir=8} -/obj/machinery/airalarm/unlocked {dir=8} : /obj/machinery/airalarm/unlocked {@OLD;dir=4} -/obj/machinery/airalarm/server {dir=@UNSET} : /obj/machinery/airalarm/server {@OLD;dir=1} -/obj/machinery/airalarm/server {dir=1} : /obj/machinery/airalarm/server {@OLD;dir=2} -/obj/machinery/airalarm/server {dir=2} : /obj/machinery/airalarm/server {@OLD;dir=1} -/obj/machinery/airalarm/server {dir=4} : /obj/machinery/airalarm/server {@OLD;dir=8} -/obj/machinery/airalarm/server {dir=8} : /obj/machinery/airalarm/server {@OLD;dir=4} -/obj/machinery/airalarm/mixingchamber {dir=@UNSET} : /obj/machinery/airalarm/mixingchamber {@OLD;dir=1} -/obj/machinery/airalarm/mixingchamber {dir=1} : /obj/machinery/airalarm/mixingchamber {@OLD;dir=2} -/obj/machinery/airalarm/mixingchamber {dir=2} : /obj/machinery/airalarm/mixingchamber {@OLD;dir=1} -/obj/machinery/airalarm/mixingchamber {dir=4} : /obj/machinery/airalarm/mixingchamber {@OLD;dir=8} -/obj/machinery/airalarm/mixingchamber {dir=8} : /obj/machinery/airalarm/mixingchamber {@OLD;dir=4} -/obj/machinery/airalarm/kitchen_cold_room {dir=@UNSET} : /obj/machinery/airalarm/kitchen_cold_room {@OLD;dir=1} -/obj/machinery/airalarm/kitchen_cold_room {dir=1} : /obj/machinery/airalarm/kitchen_cold_room {@OLD;dir=2} -/obj/machinery/airalarm/kitchen_cold_room {dir=2} : /obj/machinery/airalarm/kitchen_cold_room {@OLD;dir=1} -/obj/machinery/airalarm/kitchen_cold_room {dir=4} : /obj/machinery/airalarm/kitchen_cold_room {@OLD;dir=8} -/obj/machinery/airalarm/kitchen_cold_room {dir=8} : /obj/machinery/airalarm/kitchen_cold_room {@OLD;dir=4} -/obj/structure/chair/stool {dir=1} : /obj/structure/chair/stool/directional/north {@OLD;dir=@SKIP} -/obj/structure/chair/stool {dir=2} : /obj/structure/chair/stool/directional/south {@OLD;dir=@SKIP} -/obj/structure/chair/stool {dir=4} : /obj/structure/chair/stool/directional/east {@OLD;dir=@SKIP} -/obj/structure/chair/stool {dir=8} : /obj/structure/chair/stool/directional/west {@OLD;dir=@SKIP} -/obj/structure/chair/stool/directional/south : /obj/structure/chair/stool/directional/north {@OLD;dir=@SKIP} -/obj/structure/chair/stool/directional/north : /obj/structure/chair/stool/directional/south {@OLD;dir=@SKIP} -/obj/structure/chair/stool/directional/west : /obj/structure/chair/stool/directional/east {@OLD;dir=@SKIP} -/obj/structure/chair/stool/directional/east : /obj/structure/chair/stool/directional/west {@OLD;dir=@SKIP} -/obj/structure/chair/stool/bar {dir=1} : /obj/structure/chair/stool/bar/directional/north {@OLD;dir=@SKIP} -/obj/structure/chair/stool/bar {dir=2} : /obj/structure/chair/stool/bar/directional/south {@OLD;dir=@SKIP} -/obj/structure/chair/stool/bar {dir=4} : /obj/structure/chair/stool/bar/directional/east {@OLD;dir=@SKIP} -/obj/structure/chair/stool/bar {dir=8} : /obj/structure/chair/stool/bar/directional/west {@OLD;dir=@SKIP} -/obj/structure/chair/stool/bar/directional/south : /obj/structure/chair/stool/bar/directional/north {@OLD;dir=@SKIP} -/obj/structure/chair/stool/bar/directional/north : /obj/structure/chair/stool/bar/directional/south {@OLD;dir=@SKIP} -/obj/structure/chair/stool/bar/directional/west : /obj/structure/chair/stool/bar/directional/east {@OLD;dir=@SKIP} -/obj/structure/chair/stool/bar/directional/east : /obj/structure/chair/stool/bar/directional/west {@OLD;dir=@SKIP} -/obj/machinery/power/apc/auto_name/north : /obj/machinery/power/apc/auto_name/directional/north {@OLD;dir=@SKIP;pixel_y=@SKIP} -/obj/machinery/power/apc/auto_name/south : /obj/machinery/power/apc/auto_name/directional/south {@OLD;dir=@SKIP;pixel_y=@SKIP} -/obj/machinery/power/apc/auto_name/east : /obj/machinery/power/apc/auto_name/directional/east {@OLD;dir=@SKIP;pixel_x=@SKIP} -/obj/machinery/power/apc/auto_name/west : /obj/machinery/power/apc/auto_name/directional/west {@OLD;dir=@SKIP;pixel_y=@SKIP} -/obj/machinery/bluespace_vendor/north : /obj/machinery/bluespace_vendor/directional/north {@OLD} -/obj/machinery/bluespace_vendor/south : /obj/machinery/bluespace_vendor/directional/south {@OLD} -/obj/machinery/bluespace_vendor/east : /obj/machinery/bluespace_vendor/directional/east {@OLD} -/obj/machinery/bluespace_vendor/west : /obj/machinery/bluespace_vendor/directional/west {@OLD} diff --git a/tools/UpdatePaths/Scripts/62789_camera_diag_f2w.txt b/tools/UpdatePaths/Scripts/62789_camera_diag_f2w.txt deleted file mode 100644 index f8a9a51e92b7..000000000000 --- a/tools/UpdatePaths/Scripts/62789_camera_diag_f2w.txt +++ /dev/null @@ -1,5 +0,0 @@ -/obj/machinery/camera/@SUBTYPES {dir=5;conversion_done=@UNSET} : @OLD {@OLD;dir=10;conversion_done=1} -/obj/machinery/camera/@SUBTYPES {dir=10;conversion_done=@UNSET} : @OLD {@OLD;dir=5;conversion_done=1} -/obj/machinery/camera/@SUBTYPES {dir=6;conversion_done=@UNSET} : @OLD {@OLD;dir=9;conversion_done=1} -/obj/machinery/camera/@SUBTYPES {dir=9;conversion_done=@UNSET} : @OLD {@OLD;dir=6;conversion_done=1} -/obj/machinery/camera/@SUBTYPES {conversion_done=1} : @OLD {@OLD;conversion_done=@SKIP} diff --git a/tools/UpdatePaths/Scripts/65236_clothingunderrepath.txt b/tools/UpdatePaths/Scripts/65236_clothingunderrepath.txt deleted file mode 100644 index e82dfce3d241..000000000000 --- a/tools/UpdatePaths/Scripts/65236_clothingunderrepath.txt +++ /dev/null @@ -1,196 +0,0 @@ -/obj/item/clothing/under/rank/vice : /obj/item/clothing/under/misc/vice_officer -/obj/item/clothing/under/durathread : /obj/item/cloning/under/misc/durathread -/obj/item/clothing/under/burial : /obj/item/clothing/under/misc/burial -/obj/item/clothing/under/overalls : /obj/item/clothing/under/misc/overalls -/obj/item/clothing/under/assistantformal : /obj/item/clothing/under/misc/assistantformal -/obj/item/clothing/under/pj/red : /obj/item/clothing/under/misc/pj -/obj/item/clothing/under/pj/blue : /obj/item/clothing/under/misc/pj/blue -/obj/item/clothing/under/patriotsuit : /obj/item/clothing/under/misc/patriotsuit -/obj/item/clothing/under/rank/mailman : /obj/item/clothing/under/misc/mailman -/obj/item/clothing/under/rank/psyche : /obj/item/clothing/under/misc/psyche -/obj/item/clothing/under/acj : /obj/item/clothing/under/misc/adminsuit - -/obj/item/clothing/under/scratch : /obj/item/clothing/under/suit/white_on_white -/obj/item/clothing/under/scratch/skirt : /obj/item/clothing/under/suit/white/skirt -/obj/item/clothing/under/sl_suit : /obj/item/clothing/under/suit/sl -/obj/item/clothing/under/waiter : /obj/item/clothing/under/suit/waiter -/obj/item/clothing/under/suit_jacket : /obj/item/clothing/under/suit/black -/obj/item/clothing/under/suit_jacket/female : /obj/item/clothing/under/suit/black/skirt -/obj/item/clothing/under/suit_jacket/really_black : /obj/item/clothing/under/suit/black_really -/obj/item/clothing/under/suit_jacket/green : /obj/item/clothing/under/suit/green -/obj/item/clothing/under/suit_jacket/red : /obj/item/clothing/under/suit/red -/obj/item/clothing/under/suit_jacket/charcoal : /obj/item/clothing/under/suit/charcoal -/obj/item/clothing/under/suit_jacket/navy : /obj/item/clothing/under/suit/navy -/obj/item/clothing/under/suit_jacket/burgundy : /obj/item/clothing/under/suit/burgundy -/obj/item/clothing/under/suit_jacket/checkered : /obj/item/clothing/under/suit/checkered -/obj/item/clothing/under/suit_jacket/tan : /obj/item/clothing/under/suit/tan -/obj/item/clothing/under/suit_jacket/white : /obj/item/clothing/under/suit/white - -/obj/item/clothing/under/skirt/black : /obj/item/clothing/under/dress/skirt -/obj/item/clothing/under/skirt/blue : /obj/item/clothing/under/dress/skirt/blue -/obj/item/clothing/under/skirt/red : /obj/item/clothing/under/dress/skirt/red -/obj/item/clothing/under/skirt/purple : /obj/item/clothing/under/dress/skirt/purple -/obj/item/clothing/under/sundress : /obj/item/clothing/under/dress/sundress -/obj/item/clothing/under/blacktango : /obj/item/clothing/under/dress/blacktango -/obj/item/clothing/under/stripeddress : /obj/item/clothing/under/dress/striped -/obj/item/clothing/under/sailordress : /obj/item/clothing/under/dress/sailor -/obj/item/clothing/under/redeveninggown : /obj/item/clothing/under/dress/redeveninggown -/obj/item/clothing/under/plaid_skirt : /obj/item/clothing/under/dress/skirt/plaid -/obj/item/clothing/under/plaid_skirt/blue : /obj/item/clothing/under/dress/skirt/plaid/blue -/obj/item/clothing/under/plaid_skirt/purple : /obj/item/clothing/under/dress/skirt/plaid/purple -/obj/item/clothing/under/plaid_skirt/green : /obj/item/clothing/under/dress/skirt/plaid/green - -/obj/item/clothing/under/roman : /obj/item/clothing/under/costume/roman -/obj/item/clothing/under/jabroni : /obj/item/clothing/under/costume/jabroni -/obj/item/clothing/under/owl : /obj/item/clothing/under/costume/owl -/obj/item/clothing/under/griffin : /obj/item/clothing/under/costume/griffin -/obj/item/clothing/under/schoolgirl : /obj/item/clothing/under/costume/schoolgirl -/obj/item/clothing/under/schoolgirl/red : /obj/item/clothing/under/costume/schoolgirl/red -/obj/item/clothing/under/schoolgirl/green : /obj/item/clothing/under/costume/schoolgirl/green -/obj/item/clothing/under/schoolgirl/orange : /obj/item/clothing/under/costume/schoolgirl/orange -/obj/item/clothing/under/pirate : /obj/item/clothing/under/costume/pirate -/obj/item/clothing/under/soviet : /obj/item/clothing/under/costume/soviet -/obj/item/clothing/under/redcoat : /obj/item/clothing/under/costume/redcoat -/obj/item/clothing/under/kilt : /obj/item/clothing/under/costume/kilt -/obj/item/clothing/under/kilt/highlander : /obj/item/clothing/under/costume/kilt/highlander -/obj/item/clothing/under/gladiator : /obj/item/clothing/under/costume/gladiator -/obj/item/clothing/under/gladiator/ash_walker : /obj/item/clothing/under/costume/gladiator/ash_walker -/obj/item/clothing/under/maid : /obj/item/clothing/under/costume/maid -/obj/item/clothing/under/singery : /obj/item/clothing/under/costume/singer/yellow -/obj/item/clothing/under/singerb : /obj/item/clothing/under/costume/singer/blue -/obj/item/clothing/under/geisha : /obj/item/clothing/under/costume/geisha -/obj/item/clothing/under/villain : /obj/item/clothing/under/costume/villain -/obj/item/clothing/under/sailor : /obj/item/clothing/under/costume/sailor -/obj/item/clothing/under/rank/security/navyblue/russian : /obj/item/clothing/under/costume/russian_officer -/obj/item/clothing/under/mummy : /obj/item/clothing/under/costume/mummy -/obj/item/clothing/under/scarecrow : /obj/item/clothing/under/costume/scarecrow -/obj/item/clothing/under/draculass : /obj/item/clothing/under/costume/draculass -/obj/item/clothing/under/drfreeze : /obj/item/clothing/under/costume/drfreeze -/obj/item/clothing/under/lobster : /obj/item/clothing/under/costume/lobster -/obj/item/clothing/under/skeleton : /obj/item/clothing/under/costume/skeleton -/obj/item/clothing/under/mech_suit : /obj/item/clothing/under/costume/mech_suit -/obj/item/clothing/under/mech_suit/white : /obj/item/clothing/under/costume/mech_suit/white -/obj/item/clothing/under/mech_suit/blue : /obj/item/clothing/under/costume/mech_suit/blue -/obj/item/clothing/under/gondola : /obj/item/clothing/under/costume/gondola - -/obj/item/clothing/under/rank/bartender : /obj/item/clothing/under/rank/civilian/bartender -/obj/item/clothing/under/rank/bartender/purple : /obj/item/clothing/under/rank/civilian/bartender/purple -/obj/item/clothing/under/rank/bartender/skirt : /obj/item/clothing/under/rank/civilian/bartender/skirt -/obj/item/clothing/under/rank/chaplain : /obj/item/clothing/under/rank/civilian/chaplain -/obj/item/clothing/under/rank/chaplain/skirt : /obj/item/clothing/under/rank/civilian/chaplain/skirt -/obj/item/clothing/under/rank/chef : /obj/item/clothing/under/rank/civilian/chef -/obj/item/clothing/under/rank/chef/skirt : /obj/item/clothing/under/rank/civilian/chef/skirt -/obj/item/clothing/under/rank/curator : /obj/item/clothing/under/rank/civilian/curator -/obj/item/clothing/under/rank/curator/skirt: /obj/item/clothing/under/rank/civilian/curator/skirt -/obj/item/clothing/under/rank/curator/treasure_hunter : /obj/item/clothing/under/rank/civilian/curator/treasure_hunter -/obj/item/clothing/under/space : /obj/item/clothing/under/rank/civilian/curator/nasa -/obj/item/clothing/under/rank/hydroponics : /obj/item/clothing/under/rank/civilian/hydroponics -/obj/item/clothing/under/rank/hydroponics/skirt : /obj/item/clothing/under/rank/civilian/hydroponics/skirt -/obj/item/clothing/under/rank/janitor : /obj/item/clothing/under/rank/civilian/janitor -/obj/item/clothing/under/rank/janitor/skirt : /obj/item/clothing/under/rank/civilian/janitor/skirt -/obj/item/clothing/under/janimaid : /obj/item/clothing/under/rank/civilian/janitor/maid -/obj/item/clothing/under/rank/mime : /obj/item/clothing/under/rank/civilian/mime -/obj/item/clothing/under/rank/mime/skirt : /obj/item/clothing/under/rank/civilian/mime/skirt -/obj/item/clothing/under/sexymime : /obj/item/clothing/under/rank/civilian/mime/sexy -/obj/item/clothing/under/rank/clown : /obj/item/clothing/under/rank/civilian/clown -/obj/item/clothing/under/rank/blueclown : /obj/item/clothing/under/rank/civilian/clown/blue -/obj/item/clothing/under/rank/greenclown : /obj/item/clothing/under/rank/civilian/clown/green -/obj/item/clothing/under/rank/yellowclown : /obj/item/clothing/under/rank/civilian/clown/yellow -/obj/item/clothing/under/rank/purpleclown : /obj/item/clothing/under/rank/civilian/clown/purple -/obj/item/clothing/under/rank/orangeclown : /obj/item/clothing/under/rank/civilian/clown/orange -/obj/item/clothing/under/rank/rainbowclown : /obj/item/clothing/under/rank/civilian/clown/rainbow -/obj/item/clothing/under/jester : /obj/item/clothing/under/rank/civilian/clown/jester -/obj/item/clothing/under/jester/alt : /obj/item/clothing/under/rank/civilian/clown/jester/alt -/obj/item/clothing/under/rank/clown/sexy : /obj/item/clothing/under/rank/civilian/clown/sexy -/obj/item/clothing/under/lawyer : /obj/item/clothing/under/rank/civilian/lawyer -/obj/item/clothing/under/lawyer/black : /obj/item/clothing/under/rank/civilian/lawyer/black -/obj/item/clothing/under/lawyer/black/skirt : /obj/item/clothing/under/rank/civilian/lawyer/black/skirt -/obj/item/clothing/under/lawyer/female : /obj/item/clothing/under/rank/civilian/lawyer/beige -/obj/item/clothing/under/lawyer/female/skirt : /obj/item/clothing/under/rank/civilian/lawyer/beige/skirt -/obj/item/clothing/under/lawyer/red : /obj/item/clothing/under/rank/civilian/lawyer/red -/obj/item/clothing/under/lawyer/red/skirt : /obj/item/clothing/under/rank/civilian/lawyer/red/skirt -/obj/item/clothing/under/lawyer/blue : /obj/item/clothing/under/rank/civilian/lawyer/blue -/obj/item/clothing/under/lawyer/blue/skirt : /obj/item/clothing/under/rank/civilian/lawyer/blue/skirt -/obj/item/clothing/under/lawyer/bluesuit : /obj/item/clothing/under/rank/civilian/lawyer/bluesuit -/obj/item/clothing/under/lawyer/bluesuit/skirt : /obj/item/clothing/under/rank/civilian/lawyer/bluesuit/skirt -/obj/item/clothing/under/lawyer/purpsuit : /obj/item/clothing/under/rank/civilian/lawyer/purpsuit -/obj/item/clothing/under/lawyer/purpsuit/skirt : /obj/item/clothing/under/rank/civilian/lawyer/purpsuit/skirt -/obj/item/clothing/under/lawyer/blacksuit : /obj/item/clothing/under/suit/black -/obj/item/clothing/under/lawyer/blacksuit/skirt : /obj/item/clothing/under/suit/black/skirt -/obj/item/clothing/under/lawyer/really_black : /obj/item/clothing/under/suit/black_really -/obj/item/clothing/under/lawyer/really_black/skirt : /obj/item/clothing/under/suit/black_really/skirt -/obj/item/clothing/under/rank/head_of_personnel : /obj/item/clothing/under/rank/civilian/head_of_personnel -/obj/item/clothing/under/rank/head_of_personnel/skirt : /obj/item/clothing/under/rank/civilian/head_of_personnel/skirt -/obj/item/clothing/under/gimmick/rank/head_of_personnel/suit : /obj/item/clothing/under/rank/civilian/head_of_personnel/suit -/obj/item/clothing/under/gimmick/rank/head_of_personnel/suit/skirt : /obj/item/clothing/under/rank/civilian/head_of_personnel/suit/skirt - -/obj/item/clothing/under/rank/cargo : /obj/item/clothing/under/rank/cargo/qm -/obj/item/clothing/under/rank/cargo/skirt : /obj/item/clothing/under/rank/cargo/qm/skirt -/obj/item/clothing/under/rank/cargotech : /obj/item/clothing/under/rank/cargo/tech -/obj/item/clothing/under/rank/cargotech/skirt : /obj/item/clothing/under/rank/cargo/tech/skirt -/obj/item/clothing/under/rank/miner : /obj/item/clothing/under/rank/cargo/miner -/obj/item/clothing/under/rank/miner/lavaland : /obj/item/clothing/under/rank/cargo/miner/lavaland - -/obj/item/clothing/under/rank/research_director : /obj/item/clothing/under/rank/rnd/research_director -/obj/item/clothing/under/rank/research_director/skirt : /obj/item/clothing/under/rank/rnd/research_director/skirt -/obj/item/clothing/under/rank/research_director/alt : /obj/item/clothing/under/rank/rnd/research_director/alt -/obj/item/clothing/under/rank/research_director/alt/skirt : /obj/item/clothing/under/rank/rnd/research_director/alt/skirt -/obj/item/clothing/under/rank/research_director/turtleneck : /obj/item/clothing/under/rank/rnd/research_director/turtleneck -/obj/item/clothing/under/rank/research_director/turtleneck/skirt : /obj/item/clothing/under/rank/rnd/research_director/turtleneck/skirt -/obj/item/clothing/under/rank/scientist : /obj/item/clothing/under/rank/rnd/scientist -/obj/item/clothing/under/rank/scientist/skirt : /obj/item/clothing/under/rank/rnd/scientist/skirt -/obj/item/clothing/under/rank/roboticist : /obj/item/clothing/under/rank/rnd/roboticist -/obj/item/clothing/under/rank/roboticist/skirt : /obj/item/clothing/under/rank/rnd/roboticist/skirt - -/obj/item/clothing/under/rank/chief_medical_officer : /obj/item/clothing/under/rank/medical/chief_medical_officer -/obj/item/clothing/under/rank/chief_medical_officer/skirt : /obj/item/clothing/under/rank/medical/chief_medical_officer/skirt -/obj/item/clothing/under/rank/medical/doctor/blue : /obj/item/clothing/under/rank/medical/scrubs/blue -/obj/item/clothing/under/rank/medical/doctor/blue : /obj/item/clothing/under/rank/medical/scrubs/green -/obj/item/clothing/under/rank/medical/doctor/blue : /obj/item/clothing/under/rank/medical/scrubs/purple -/obj/item/clothing/under/rank/geneticist : /obj/item/clothing/under/rank/rnd/geneticist -/obj/item/clothing/under/rank/geneticist/skirt : /obj/item/clothing/under/rank/rnd/geneticist/skirt -/obj/item/clothing/under/rank/virologist : /obj/item/clothing/under/rank/medical/virologist -/obj/item/clothing/under/rank/virologist/skirt : /obj/item/clothing/under/rank/medical/virologist/skirt -/obj/item/clothing/under/rank/chemist : /obj/item/clothing/under/rank/medical/chemist -/obj/item/clothing/under/rank/chemist/skirt : /obj/item/clothing/under/rank/medical/chemist/skirt - -/obj/item/clothing/under/rank/chief_engineer : /obj/item/clothing/under/rank/engineering/chief_engineer -/obj/item/clothing/under/rank/chief_engineer/skirt : /obj/item/clothing/under/rank/engineering/chief_engineer/skirt -/obj/item/clothing/under/rank/atmospheric_technician : /obj/item/clothing/under/rank/engineering/atmospheric_technician -/obj/item/clothing/under/rank/atmospheric_technician/skirt : /obj/item/clothing/under/rank/engineering/atmospheric_technician/skirt -/obj/item/clothing/under/rank/engineer : /obj/item/clothing/under/rank/engineering/engineer -/obj/item/clothing/under/rank/engineer/hazard : /obj/item/clothing/under/rank/engineering/engineer/hazard -/obj/item/clothing/under/rank/engineer/skirt : /obj/item/clothing/under/rank/engineering/engineer/skirt - -/obj/item/clothing/under/rank/centcom_officer : /obj/item/clothing/under/rank/centcom/officer -/obj/item/clothing/under/rank/centcom_commander : /obj/item/clothing/under/rank/centcom/commander - -/obj/item/clothing/under/gimmick/rank/captain/suit : /obj/item/clothing/under/rank/captain/suit -/obj/item/clothing/under/gimmick/rank/captain/suit/skirt : /obj/item/clothing/under/rank/captain/suit/skirt -/obj/item/clothing/under/captainparade : /obj/item/clothing/under/rank/captain/parade - -/obj/item/clothing/under/rank/security : /obj/item/clothing/under/rank/security/officer -/obj/item/clothing/under/rank/security/grey : /obj/item/clothing/under/rank/security/officer/grey -/obj/item/clothing/under/rank/security/skirt : /obj/item/clothing/under/rank/security/officer/skirt -/obj/item/clothing/under/rank/security/blueshirt : /obj/item/clothing/under/rank/security/officer/blueshirt -/obj/item/clothing/under/rank/security/navyblue : /obj/item/clothing/under/rank/security/officer/formal -/obj/item/clothing/under/rank/warden : /obj/item/clothing/under/rank/security/warden -/obj/item/clothing/under/rank/warden/grey : /obj/item/clothing/under/rank/security/warden/grey -/obj/item/clothing/under/rank/warden/skirt : /obj/item/clothing/under/rank/security/warden/skirt -/obj/item/clothing/under/rank/warden/navyblue : /obj/item/clothing/under/rank/security/warden/formal -/obj/item/clothing/under/rank/det : /obj/item/clothing/under/rank/security/detective -/obj/item/clothing/under/rank/det/skirt : /obj/item/clothing/under/rank/security/detective/skirt -/obj/item/clothing/under/rank/det/grey : /obj/item/clothing/under/rank/security/detective/noir -/obj/item/clothing/under/rank/det/grey/skirt : /obj/item/clothing/under/rank/security/detective/noir/skirt -/obj/item/clothing/under/rank/security/detective/grey : /obj/item/clothing/under/rank/security/detective/noir -/obj/item/clothing/under/rank/security/detective/grey/skirt : /obj/item/clothing/under/rank/security/detective/noir/skirt -/obj/item/clothing/under/rank/head_of_security : /obj/item/clothing/under/rank/security/head_of_security -/obj/item/clothing/under/rank/head_of_security/skirt : /obj/item/clothing/under/rank/security/head_of_security/skirt -/obj/item/clothing/under/rank/head_of_security/grey : /obj/item/clothing/under/rank/security/head_of_security/grey -/obj/item/clothing/under/rank/head_of_security/alt : /obj/item/clothing/under/rank/security/head_of_security/alt -/obj/item/clothing/under/rank/head_of_security/alt/skirt : /obj/item/clothing/under/rank/security/head_of_security/alt/skirt -/obj/item/clothing/under/rank/head_of_security/navyblue : /obj/item/clothing/under/rank/security/head_of_security/formal -/obj/item/clothing/under/hosparademale : /obj/item/clothing/under/rank/security/head_of_security/parade -/obj/item/clothing/under/hosparadefem : /obj/item/clothing/under/rank/security/head_of_security/parade/female -/obj/item/clothing/under/rank/security/spacepol : /obj/item/clothing/under/rank/security/officer/spacepol - diff --git a/tools/UpdatePaths/Scripts/65326_lib_computers.txt b/tools/UpdatePaths/Scripts/65326_lib_computers.txt deleted file mode 100644 index bb16088a909f..000000000000 --- a/tools/UpdatePaths/Scripts/65326_lib_computers.txt +++ /dev/null @@ -1 +0,0 @@ -/obj/machinery/computer/bookmanagement : /obj/machinery/computer/libraryconsole/bookmanagement diff --git a/tools/UpdatePaths/Scripts/65504_floor_repathing.txt b/tools/UpdatePaths/Scripts/65504_floor_repathing.txt deleted file mode 100644 index 6af8bd10fa9a..000000000000 --- a/tools/UpdatePaths/Scripts/65504_floor_repathing.txt +++ /dev/null @@ -1,53 +0,0 @@ -/turf/open/floor/plating/dirt : /turf/open/misc/dirt{@OLD} -/turf/open/floor/plating/dirt/dark : /turf/open/misc/dirt/dark{@OLD} -/turf/open/floor/plating/dirt/jungle : /turf/open/misc/dirt/jungle{@OLD} -/turf/open/floor/plating/dirt/jungle/dark : /turf/open/misc/dirt/jungle/dark{@OLD} -/turf/open/floor/plating/dirt/jungle/wasteland : /turf/open/misc/dirt/jungle/wasteland{@OLD} - -/turf/open/floor/plating/ashplanet : /turf/open/misc/ashplanet{@OLD} -/turf/open/floor/plating/ashplanet/ash : /turf/open/misc/ashplanet/ash{@OLD} -/turf/open/floor/plating/ashplanet/rocky : /turf/open/misc/ashplanet/rocky{@OLD} -/turf/open/floor/plating/ashplanet/wateryrock : /turf/open/misc/ashplanet/wateryrock{@OLD} - -/turf/open/floor/plating/grass : /turf/open/misc/grass{@OLD} -/turf/open/floor/plating/grass/jungle : /turf/open/misc/grass/jungle{@OLD} -/turf/open/floor/plating/grass/lavaland : /turf/open/misc/grass/lavaland{@OLD} - -/turf/open/floor/plating/sandy_dirt : /turf/open/misc/sandy_dirt{@OLD} - -/turf/open/floor/plating/ironsand : /turf/open/misc/ironsand{@OLD} - -/turf/open/floor/plating/ice : /turf/open/misc/ice{@OLD} -/turf/open/floor/plating/ice/smooth : /turf/open/misc/ice/smooth{@OLD} -/turf/open/floor/plating/ice/icemoon : /turf/misc/ice/icemoon{@OLD} -/turf/open/floor/plating/ice/icemoon/no_planet_atmos : /turf/open/misc/ice/icemoon/no_planet_atmos{@OLD} - -/turf/open/floor/plating/beach : /turf/open/misc/beach{@OLD} -/turf/open/floor/plating/beach/sand : /turf/open/misc/beach/sand{@OLD} -/turf/open/floor/plating/beach/coastline_t : /turf/open/misc/beach/coastline_t{@OLD} -/turf/open/floor/plating/beach/coastline_t/sandwater_inner : /turf/open/misc/beach/coastline_t/sandwater_inner{@OLD} -/turf/open/floor/plating/beach/coastline_b : /turf/open/misc/beach/coastline_b{@OLD} -/turf/open/floor/plating/beach/water : /turf/open/water/beach{@OLD} - -/turf/open/floor/grass/snow : /turf/open/misc/snow{@OLD} -/turf/open/floor/grass/snow/safe : /turf/open/floor/fake_snow{@OLD} -/turf/open/floor/grass/snow/basalt : /turf/open/misc/basalt{@OLD} -/turf/open/floor/grass/snow/basalt/safe : /turf/open/floor/fakebasalt{@OLD} - -/turf/open/floor/plating/asteroid : /turf/open/misc/asteroid{@OLD} -/turf/open/floor/plating/asteroid/dug : /turf/open/misc/asteroid/dug{@OLD} -/turf/open/floor/plating/asteroid/basalt : /turf/open/misc/asteroid/basalt{@OLD} -/turf/open/floor/plating/asteroid/basalt/lava : /turf/open/misc/asteroid/basalt/lava{@OLD} -/turf/open/floor/plating/asteroid/basalt/airless : /turf/open/misc/asteroid/basalt/airless{@OLD} -/turf/open/floor/plating/asteroid/basalt/lava_land_surface : /turf/open/misc/asteroid/basalt/lava_land_surface{@OLD} -/turf/open/floor/plating/asteroid/lowpressure : /turf/open/misc/asteroid/lowpressure{@OLD} -/turf/open/floor/plating/asteroid/airless : /turf/open/misc/asteroid/airless{@OLD} -/turf/open/floor/plating/asteroid/snow : /turf/open/misc/asteroid/snow{@OLD} -/turf/open/floor/plating/asteroid/snow/icemoon : /turf/open/misc/asteroid/snow/icemoon{@OLD} -/turf/open/floor/plating/asteroid/snow/ice : /turf/open/misc/asteroid/snow/ice{@OLD} -/turf/open/floor/plating/asteroid/snow/ice/icemoon : /turf/open/misc/asteroid/snow/ice/icemoon{@OLD} -/turf/open/floor/plating/asteroid/snow/airless : /turf/open/misc/asteroid/snow/airless{@OLD} -/turf/open/floor/plating/asteroid/snow/temperatre : /turf/open/misc/asteroid/snow/temperatre{@OLD} -/turf/open/floor/plating/asteroid/snow/atmosphere : /turf/open/misc/asteroid/snow/atmosphere{@OLD} -/turf/open/floor/plating/asteroid/snow/standard_air : /turf/open/misc/asteroid/snow/standard_air{@OLD} -/turf/open/floor/plating/asteroid/basalt/wasteland : /turf/open/misc/asteroid/basalt/wasteland{@OLD} diff --git a/tools/UpdatePaths/Scripts/65656_windoor_replacement.txt b/tools/UpdatePaths/Scripts/65656_windoor_replacement.txt deleted file mode 100644 index ba67c1e0d985..000000000000 --- a/tools/UpdatePaths/Scripts/65656_windoor_replacement.txt +++ /dev/null @@ -1,39 +0,0 @@ -/obj/machinery/door/window/northleft : /obj/machinery/door/window/left/directional/north {@OLD} -/obj/machinery/door/window/eastleft : /obj/machinery/door/window/left/directional/east {@OLD} -/obj/machinery/door/window/westleft : /obj/machinery/door/window/left/directional/west {@OLD} -/obj/machinery/door/window/southleft : /obj/machinery/door/window/left/directional/south {@OLD} - -/obj/machinery/door/window/northright : /obj/machinery/door/window/right/directional/north {@OLD} -/obj/machinery/door/window/eastright : /obj/machinery/door/window/right/directional/east {@OLD} -/obj/machinery/door/window/westright : /obj/machinery/door/window/right/directional/west {@OLD} -/obj/machinery/door/window/southright : /obj/machinery/door/window/right/directional/south {@OLD} - -/obj/machinery/door/window/brigdoor/northleft : /obj/machinery/door/window/brigdoor/left/directional/north {@OLD} -/obj/machinery/door/window/brigdoor/eastleft : /obj/machinery/door/window/brigdoor/left/directional/east {@OLD} -/obj/machinery/door/window/brigdoor/westleft : /obj/machinery/door/window/brigdoor/left/directional/west {@OLD} -/obj/machinery/door/window/brigdoor/southleft : /obj/machinery/door/window/brigdoor/left/directional/south {@OLD} - -/obj/machinery/door/window/brigdoor/northright : /obj/machinery/door/window/brigdoor/right/directional/north {@OLD} -/obj/machinery/door/window/brigdoor/eastright : /obj/machinery/door/window/brigdoor/right/directional/east {@OLD} -/obj/machinery/door/window/brigdoor/westright : /obj/machinery/door/window/brigdoor/right/directional/west {@OLD} -/obj/machinery/door/window/brigdoor/southright : /obj/machinery/door/window/brigdoor/right/directional/south {@OLD} - -/obj/machinery/door/window/brigdoor/security/cell/northleft : /obj/machinery/door/window/brigdoor/security/cell/left/directional/north {@OLD} -/obj/machinery/door/window/brigdoor/security/cell/eastleft : /obj/machinery/door/window/brigdoor/security/cell/left/directional/east {@OLD} -/obj/machinery/door/window/brigdoor/security/cell/westleft : /obj/machinery/door/window/brigdoor/security/cell/left/directional/west {@OLD} -/obj/machinery/door/window/brigdoor/security/cell/southleft : /obj/machinery/door/window/brigdoor/security/cell/left/directional/south {@OLD} - -/obj/machinery/door/window/brigdoor/security/cell/northright : /obj/machinery/door/window/brigdoor/security/cell/right/directional/north {@OLD} -/obj/machinery/door/window/brigdoor/security/cell/eastright : /obj/machinery/door/window/brigdoor/security/cell/right/directional/east {@OLD} -/obj/machinery/door/window/brigdoor/security/cell/westright : /obj/machinery/door/window/brigdoor/security/cell/right/directional/west {@OLD} -/obj/machinery/door/window/brigdoor/security/cell/southright : /obj/machinery/door/window/brigdoor/security/cell/right/directional/south {@OLD} - -/obj/machinery/door/window/brigdoor/security/holding/northleft : /obj/machinery/door/window/brigdoor/security/holding/left/directional/north {@OLD} -/obj/machinery/door/window/brigdoor/security/holding/eastleft : /obj/machinery/door/window/brigdoor/security/holding/left/directional/east {@OLD} -/obj/machinery/door/window/brigdoor/security/holding/westleft : /obj/machinery/door/window/brigdoor/security/holding/left/directional/west {@OLD} -/obj/machinery/door/window/brigdoor/security/holding/southleft : /obj/machinery/door/window/brigdoor/security/holding/left/directional/south {@OLD} - -/obj/machinery/door/window/brigdoor/security/holding/northright : /obj/machinery/door/window/brigdoor/security/holding/right/directional/north {@OLD} -/obj/machinery/door/window/brigdoor/security/holding/eastright : /obj/machinery/door/window/brigdoor/security/holding/right/directional/east {@OLD} -/obj/machinery/door/window/brigdoor/security/holding/westright : /obj/machinery/door/window/brigdoor/security/holding/right/directional/west {@OLD} -/obj/machinery/door/window/brigdoor/security/holding/southright : /obj/machinery/door/window/brigdoor/security/holding/right/directional/south {@OLD} diff --git a/tools/UpdatePaths/Scripts/65755_pdas_to_tabs.txt b/tools/UpdatePaths/Scripts/65755_pdas_to_tabs.txt deleted file mode 100644 index 1248b8fbcc9d..000000000000 --- a/tools/UpdatePaths/Scripts/65755_pdas_to_tabs.txt +++ /dev/null @@ -1,56 +0,0 @@ -#comment This replaces PDA and cart paths with the new modular tablet role paths. - -/obj/item/cartridge : /obj/item/computer_hardware/hard_drive/role -/obj/item/cartridge/engineering : /obj/item/computer_hardware/hard_drive/role/engineering -/obj/item/cartridge/atmos : /obj/item/computer_hardware/hard_drive/role/atmos -/obj/item/cartridge/medical : /obj/item/computer_hardware/hard_drive/role/medical -/obj/item/cartridge/chemistry : /obj/item/computer_hardware/hard_drive/role/chemistry -/obj/item/cartridge/security : /obj/item/computer_hardware/hard_drive/role/security -/obj/item/cartridge/detective : /obj/item/computer_hardware/hard_drive/role/detective -/obj/item/cartridge/lawyer : /obj/item/computer_hardware/hard_drive/role/lawyer -/obj/item/cartridge/curator : /obj/item/computer_hardware/hard_drive/role/curator -/obj/item/cartridge/roboticist : /obj/item/computer_hardware/hard_drive/role/roboticist -/obj/item/cartridge/signal : /obj/item/computer_hardware/hard_drive/role/signal -/obj/item/cartridge/signal/ordnance : /obj/item/computer_hardware/hard_drive/role/signal/ordnance -/obj/item/cartridge/quartermaster : /obj/item/computer_hardware/hard_drive/role/quartermaster -/obj/item/cartridge/head : /obj/item/computer_hardware/hard_drive/role/head -/obj/item/cartridge/hop : /obj/item/computer_hardware/hard_drive/role/hop -/obj/item/cartridge/hos : /obj/item/computer_hardware/hard_drive/role/hos -/obj/item/cartridge/ce : /obj/item/computer_hardware/hard_drive/role/ce -/obj/item/cartridge/cmo : /obj/item/computer_hardware/hard_drive/role/cmo -/obj/item/cartridge/rd : /obj/item/computer_hardware/hard_drive/role/rd -/obj/item/cartridge/captain : /obj/item/computer_hardware/hard_drive/role/captain - -/obj/item/pda : /obj/item/modular_computer/tablet/pda -/obj/item/pda/medical : /obj/item/modular_computer/tablet/pda/medical -/obj/item/pda/viro : /obj/item/modular_computer/tablet/pda/viro -/obj/item/pda/engineering : /obj/item/modular_computer/tablet/pda/engineering -/obj/item/pda/security : /obj/item/modular_computer/tablet/pda/security -/obj/item/pda/detective : /obj/item/modular_computer/tablet/pda/detective -/obj/item/pda/warden : /obj/item/modular_computer/tablet/pda/warden -/obj/item/pda/janitor : /obj/item/modular_computer/tablet/pda/janitor -/obj/item/pda/science : /obj/item/modular_computer/tablet/pda/science -/obj/item/pda/heads : /obj/item/modular_computer/tablet/pda/heads -/obj/item/pda/hop : /obj/item/modular_computer/tablet/pda/hop -/obj/item/pda/hos : /obj/item/modular_computer/tablet/pda/hos -/obj/item/pda/ce : /obj/item/modular_computer/tablet/pda/ce -/obj/item/pda/cmo : /obj/item/modular_computer/tablet/pda/cmo -/obj/item/pda/rd : /obj/item/modular_computer/tablet/pda/rd -/obj/item/pda/captain : /obj/item/modular_computer/tablet/pda/captain -/obj/item/pda/cargo : /obj/item/modular_computer/tablet/pda/cargo -/obj/item/pda/quartermaster : /obj/item/modular_computer/tablet/pda/quartermaster -/obj/item/pda/shaftminer : /obj/item/modular_computer/tablet/pda/shaftminer -/obj/item/pda/chaplain : /obj/item/modular_computer/tablet/pda/chaplain -/obj/item/pda/lawyer : /obj/item/modular_computer/tablet/pda/lawyer -/obj/item/pda/botanist : /obj/item/modular_computer/tablet/pda/botanist -/obj/item/pda/roboticist : /obj/item/modular_computer/tablet/pda/roboticist -/obj/item/pda/cook : /obj/item/modular_computer/tablet/pda/cook -/obj/item/pda/bar : /obj/item/modular_computer/tablet/pda/bar -/obj/item/pda/atmos : /obj/item/modular_computer/tablet/pda/atmos -/obj/item/pda/chemist : /obj/item/modular_computer/tablet/pda/chemist -/obj/item/pda/geneticist : /obj/item/modular_computer/tablet/pda/geneticist -/obj/item/pda/clown : /obj/item/modular_computer/tablet/pda/clown -/obj/item/pda/mime : /obj/item/modular_computer/tablet/pda/mime -/obj/item/pda/curator : /obj/item/modular_computer/tablet/pda/curator -/obj/item/pda/syndicate : /obj/item/modular_computer/tablet/pda/syndicate -/obj/item/pda/clear : /obj/item/modular_computer/tablet/pda/clear diff --git a/tools/UpdatePaths/Scripts/65906_replace_wayfinding_beacons.txt b/tools/UpdatePaths/Scripts/65906_replace_wayfinding_beacons.txt deleted file mode 100644 index 65ea94da7fd7..000000000000 --- a/tools/UpdatePaths/Scripts/65906_replace_wayfinding_beacons.txt +++ /dev/null @@ -1 +0,0 @@ -/obj/effect/landmark/navigate_destination : /obj/machinery/navbeacon/wayfinding {@OLD} \ No newline at end of file diff --git a/tools/UpdatePaths/Scripts/66210_replace_tiered_canisters.txt b/tools/UpdatePaths/Scripts/66210_replace_tiered_canisters.txt deleted file mode 100644 index 7b5192b5d095..000000000000 --- a/tools/UpdatePaths/Scripts/66210_replace_tiered_canisters.txt +++ /dev/null @@ -1,9 +0,0 @@ -#comment replaces /obj/machinery/portable_atmospherics/canister/tier_# with /obj/machinery/portable_atmospherics/canister -#comment replaces /obj/structure/canister_frame/machine/frame_tier_0 with /obj/structure/canister_frame/machine/unfinished_frame -#comment replaces /obj/structure/canister_frame/machine/frame_tier_1 with /obj/structure/canister_frame/machine/finished_frame - -/obj/machinery/portable_atmospherics/canister/tier_1 : /obj/machinery/portable_atmospherics/canister -/obj/machinery/portable_atmospherics/canister/tier_2 : /obj/machinery/portable_atmospherics/canister -/obj/machinery/portable_atmospherics/canister/tier_3 : /obj/machinery/portable_atmospherics/canister -/obj/structure/canister_frame/machine/frame_tier_0 : /obj/structure/canister_frame/machine/unfinished_canister_frame -/obj/structure/canister_frame/machine/frame_tier_1 : /obj/structure/canister_frame/machine/finished_canister_frame \ No newline at end of file diff --git a/tools/UpdatePaths/Scripts/66406_turf_updates.txt b/tools/UpdatePaths/Scripts/66406_turf_updates.txt deleted file mode 100644 index d1bda1a21b73..000000000000 --- a/tools/UpdatePaths/Scripts/66406_turf_updates.txt +++ /dev/null @@ -1,344 +0,0 @@ -#comment This updates primarily station paths to new ones - -/area/maintenance : /area/station/maintenance -/area/maintenance/department/chapel : /area/station/maintenance/department/chapel -/area/maintenance/department/chapel/monastery : /area/station/maintenance/department/chapel/monastery -/area/maintenance/department/crew_quarters/bar : /area/station/maintenance/department/crew_quarters/bar -/area/maintenance/department/crew_quarters/dorms : /area/station/maintenance/department/crew_quarters/dorms -/area/maintenance/department/eva : /area/station/maintenance/department/eva -/area/maintenance/department/electrical : /area/station/maintenance/department/electrical -/area/maintenance/department/engine/atmos : /area/station/maintenance/department/engine/atmos -/area/maintenance/department/security : /area/station/maintenance/department/security -/area/maintenance/department/security/upper : /area/station/maintenance/department/security/upper -/area/maintenance/department/security/brig : /area/station/maintenance/department/security/brig -/area/maintenance/department/medical : /area/station/maintenance/department/medical -/area/maintenance/department/medical/central : /area/station/maintenance/department/medical/central -/area/maintenance/department/medical/morgue : /area/station/maintenance/department/medical/morgue -/area/maintenance/department/science : /area/station/maintenance/department/science -/area/maintenance/department/science/central : /area/station/maintenance/department/science/central -/area/maintenance/department/cargo : /area/station/maintenance/department/cargo -/area/maintenance/department/bridge : /area/station/maintenance/department/bridge -/area/maintenance/department/engine : /area/station/maintenance/department/engine -/area/maintenance/department/science/xenobiology : /area/station/maintenance/department/science/xenobiology - -/area/maintenance/aft : /area/station/maintenance/aft -/area/maintenance/aft/upper : /area/station/maintenance/aft/upper -/area/maintenance/aft/greater : /area/station/maintenance/aft/greater -/area/maintenance/aft/lesser : /area/station/maintenance/aft/lesser -/area/maintenance/central : /area/station/maintenance/central -/area/maintenance/central/greater : /area/station/maintenance/central/greater -/area/maintenance/central/lesser : /area/station/maintenance/central/lesser -/area/maintenance/fore : /area/station/maintenance/fore -/area/maintenance/fore/upper : /area/station/maintenance/fore/upper -/area/maintenance/fore/greater : /area/station/maintenance/fore/greater -/area/maintenance/fore/lesser : /area/station/maintenance/fore/lesser -/area/maintenance/starboard : /area/station/maintenance/starboard -/area/maintenance/starboard/upper : /area/station/maintenance/starboard/upper -/area/maintenance/starboard/central : /area/station/maintenance/starboard/central -/area/maintenance/starboard/greater : /area/station/maintenance/starboard/greater -/area/maintenance/starboard/lesser : /area/station/maintenance/starboard/lesser -/area/maintenance/starboard/aft : /area/station/maintenance/starboard/aft -/area/maintenance/starboard/fore : /area/station/maintenance/starboard/fore -/area/maintenance/port : /area/station/maintenance/port -/area/maintenance/port/central : /area/station/maintenance/port/central -/area/maintenance/port/greater : /area/station/maintenance/port/greater -/area/maintenance/port/lesser : /area/station/maintenance/port/lesser -/area/maintenance/port/aft : /area/station/maintenance/port/aft -/area/maintenance/port/fore : /area/station/maintenance/port/fore -/area/maintenance/tram : /area/station/maintenance/tram -/area/maintenance/tram/left : /area/station/maintenance/tram/left -/area/maintenance/tram/mid : /area/station/maintenance/tram/mid -/area/maintenance/tram/right : /area/station/maintenance/tram/right - -/area/maintenance/disposal : /area/station/maintenance/disposal -/area/maintenance/disposal/incinerator : /area/station/maintenance/disposal/incinerator -/area/maintenance/space_hut : /area/station/maintenance/space_hut -/area/maintenance/space_hut/cabin : /area/station/maintenance/space_hut/cabin -/area/maintenance/space_hut/plasmaman : /area/station/maintenance/space_hut/plasmaman -/area/maintenance/space_hut/observatory : /area/station/maintenance/space_hut/observatory - -/area/maintenance/radshelter : /area/station/maintenance/radshelter -/area/maintenance/radshelter/medical : /area/station/maintenance/radshelter/medical -/area/maintenance/radshelter/sec : /area/station/maintenance/radshelter/sec -/area/maintenance/radshelter/service : /area/station/maintenance/radshelter/service -/area/maintenance/radshelter/civil : /area/station/maintenance/radshelter/civil -/area/maintenance/radshelter/sci : /area/station/maintenance/radshelter/sci -/area/maintenance/radshelter/cargo : /area/station/maintenance/radshelter/cargo - -/area/hallway : /area/station/hallway -/area/hallway/primary : /area/station/hallway/primary -/area/hallway/primary/aft : /area/station/hallway/primary/aft -/area/hallway/primary/fore : /area/station/hallway/primary/fore -/area/hallway/primary/starboard : /area/station/hallway/primary/starboard -/area/hallway/primary/port : /area/station/hallway/primary/port -/area/hallway/primary/central : /area/station/hallway/primary/central -/area/hallway/primary/central/fore : /area/station/hallway/primary/central/fore -/area/hallway/primary/central/aft : /area/station/hallway/primary/central/aft -/area/hallway/primary/upper : /area/station/hallway/primary/upper -/area/hallway/primary/tram : /area/station/hallway/primary/tram -/area/hallway/primary/tram/left : /area/station/hallway/primary/tram/left -/area/hallway/primary/tram/center : /area/station/hallway/primary/tram/center -/area/hallway/primary/tram/right : /area/station/hallway/primary/tram/right -/area/hallway/secondary/command : /area/station/hallway/secondary/command -/area/hallway/secondary/construction : /area/station/hallway/secondary/construction -/area/hallway/secondary/construction/engineering : /area/station/hallway/secondary/construction/engineering -/area/hallway/secondary/exit : /area/station/hallway/secondary/exit -/area/hallway/secondary/exit/departure_lounge : /area/station/hallway/secondary/exit/departure_lounge -/area/hallway/secondary/entry : /area/station/hallway/secondary/entry -/area/hallway/secondary/service : /area/station/hallway/secondary/service - -/area/command : /area/station/command -/area/command/bridge : /area/station/command/bridge -/area/command/meeting_room : /area/station/command/meeting_room -/area/command/meeting_room/council : /area/station/command/meeting_room/council -/area/command/corporate_showroom : /area/station/command/corporate_showroom -/area/command/heads_quarters : /area/station/command/heads_quarters -/area/command/heads_quarters/captain : /area/station/command/heads_quarters/captain -/area/command/heads_quarters/captain/private : /area/station/command/heads_quarters/captain/private -/area/command/heads_quarters/ce : /area/station/command/heads_quarters/ce -/area/command/heads_quarters/cmo : /area/station/command/heads_quarters/cmo -/area/command/heads_quarters/hop : /area/station/command/heads_quarters/hop -/area/command/heads_quarters/hos : /area/station/command/heads_quarters/hos -/area/command/heads_quarters/rd : /area/station/command/heads_quarters/rd - -/area/command/teleporter : /area/station/command/teleporter -/area/command/gateway : /area/station/command/gateway - -/area/commons : /area/station/commons -/area/commons/dorms : /area/station/commons/dorms -/area/commons/dorms/barracks : /area/station/commons/dorms/barracks -/area/commons/dorms/barracks/male : /area/station/commons/dorms/barracks/male -/area/commons/dorms/barracks/female : /area/station/commons/dorms/barracks/female -/area/commons/dorms/laundry : /area/station/commons/dorms/laundry -/area/commons/toilet : /area/station/commons/toilet -/area/commons/toilet/auxiliary : /area/station/commons/toilet/auxiliary -/area/commons/toilet/locker : /area/station/commons/toilet/locker -/area/commons/toilet/restrooms : /area/station/commons/toilet/restrooms -/area/commons/locker : /area/station/commons/locker -/area/commons/lounge : /area/station/commons/lounge -/area/commons/fitness : /area/station/commons/fitness -/area/commons/fitness/locker_room : /area/station/commons/fitness/locker_room -/area/commons/fitness/locker_room/male : /area/station/commons/fitness/locker_room/male -/area/commons/fitness/locker_room/female : /area/station/commons/fitness/locker_room/female -/area/commons/fitness/recreation : /area/station/commons/fitness/recreation -/area/commons/fitness/recreation/entertainment : /area/station/commons/fitness/recreation/entertainment - -/area/commons/vacant_room : /area/station/commons/vacant_room -/area/commons/vacant_room/office : /area/station/commons/vacant_room/office -/area/commons/vacant_room/commissary : /area/station/commons/vacant_room/commissary - -/area/commons/storage : /area/station/commons/storage -/area/commons/storage/tools : /area/station/commons/storage/tools -/area/commons/storage/primary : /area/station/commons/storage/primary -/area/commons/storage/art : /area/station/commons/storage/art -/area/commons/storage/emergency/starboard : /area/station/commons/storage/emergency/starboard -/area/commons/storage/emergency/port : /area/station/commons/storage/emergency/port -/area/commons/storage/mining : /area/station/commons/storage/mining - -/area/service : /area/station/service -/area/service/cafeteria : /area/station/service/cafeteria -/area/service/kitchen : /area/station/service/kitchen -/area/service/kitchen/coldroom : /area/station/service/kitchen/coldroom -/area/service/kitchen/diner : /area/station/service/kitchen/diner -/area/service/kitchen/abandoned : /area/station/service/kitchen/abandoned -/area/service/bar : /area/station/service/bar -/area/service/bar/Initialize(mapload) : /area/station/service/bar/Initialize(mapload) -/area/service/bar/atrium : /area/station/service/bar/atrium -/area/service/electronic_marketing_den : /area/station/service/electronic_marketing_den -/area/service/abandoned_gambling_den : /area/station/service/abandoned_gambling_den -/area/service/abandoned_gambling_den/gaming : /area/station/service/abandoned_gambling_den/gaming -/area/service/theater : /area/station/service/theater -/area/service/theater/abandoned : /area/station/service/theater/abandoned -/area/service/library : /area/station/service/library -/area/service/library/lounge : /area/station/service/library/lounge -/area/service/library/artgallery : /area/station/service/library/artgallery -/area/service/library/private : /area/station/service/library/private -/area/service/library/upper : /area/station/service/library/upper -/area/service/library/printer : /area/station/service/library/printer -/area/service/library/abandoned : /area/station/service/library/abandoned -/area/service/chapel : /area/station/service/chapel -/area/service/chapel/monastery : /area/station/service/chapel/monastery -/area/service/chapel/office : /area/station/service/chapel/office -/area/service/chapel/asteroid : /area/station/service/chapel/asteroid -/area/service/chapel/asteroid/monastery : /area/station/service/chapel/asteroid/monastery -/area/service/chapel/dock : /area/station/service/chapel/dock -/area/service/chapel/storage : /area/station/service/chapel/storage -/area/service/chapel/funeral : /area/station/service/chapel/funeral -/area/service/lawoffice : /area/station/service/lawoffice -/area/service/janitor : /area/station/service/janitor -/area/service/hydroponics : /area/station/service/hydroponics -/area/service/hydroponics/upper : /area/station/service/hydroponics/upper -/area/service/hydroponics/garden : /area/station/service/hydroponics/garden -/area/service/hydroponics/garden/abandoned : /area/station/service/hydroponics/garden/abandoned -/area/service/hydroponics/garden/monastery : /area/station/service/hydroponics/garden/monastery - -/area/engineering : /area/station/engineering -/area/engineering/engine_smes : /area/station/engineering/engine_smes -/area/engineering/main : /area/station/engineering/main -/area/engineering/hallway : /area/station/engineering/hallway -/area/engineering/atmos : /area/station/engineering/atmos -/area/engineering/atmos/upper : /area/station/engineering/atmos/upper -/area/engineering/atmos/project : /area/station/engineering/atmos/project -/area/engineering/atmos/pumproom : /area/station/engineering/atmos/pumproom -/area/engineering/atmos/mix : /area/station/engineering/atmos/mix -/area/engineering/atmos/storage : /area/station/engineering/atmos/storage -/area/engineering/atmos/storage/gas : /area/station/engineering/atmos/storage/gas -/area/engineering/atmos/office : /area/station/engineering/atmos/office -/area/engineering/atmos/hfr_room : /area/station/engineering/atmos/hfr_room -/area/engineering/atmospherics_engine : /area/station/engineering/atmospherics_engine -/area/engineering/lobby : /area/station/engineering/lobby -/area/engineering/supermatter : /area/station/engineering/supermatter -/area/engineering/supermatter/room : /area/station/engineering/supermatter/room -/area/engineering/break_room : /area/station/engineering/break_room -/area/engineering/gravity_generator : /area/station/engineering/gravity_generator -/area/engineering/storage : /area/station/engineering/storage -/area/engineering/storage_shared : /area/station/engineering/storage_shared -/area/engineering/transit_tube : /area/station/engineering/transit_tube -/area/engineering/storage/tech : /area/station/engineering/storage/tech -/area/engineering/storage/tcomms : /area/station/engineering/storage/tcomms - -/area/construction : /area/construction -/area/construction/mining/aux_base : /area/construction/mining/aux_base -/area/construction/storage_wing : /area/construction/storage_wing - -/area/solars : /area/station/solars -/area/solars/fore : /area/station/solars/fore -/area/solars/aft : /area/station/solars/aft -/area/solars/aux/port : /area/station/solars/aux/port -/area/solars/aux/starboard : /area/station/solars/aux/starboard -/area/solars/starboard : /area/station/solars/starboard -/area/solars/starboard/aft : /area/station/solars/starboard/aft -/area/solars/starboard/fore : /area/station/solars/starboard/fore -/area/solars/port : /area/station/solars/port -/area/solars/port/aft : /area/station/solars/port/aft -/area/solars/port/fore : /area/station/solars/port/fore -/area/solars/aisat : /area/station/solars/aisat - -/area/maintenance/solars : /area/station/maintenance/solars -/area/maintenance/solars/port : /area/station/maintenance/solars/port -/area/maintenance/solars/port/aft : /area/station/maintenance/solars/port/aft -/area/maintenance/solars/port/fore : /area/station/maintenance/solars/port/fore -/area/maintenance/solars/starboard : /area/station/maintenance/solars/starboard -/area/maintenance/solars/starboard/aft : /area/station/maintenance/solars/starboard/aft -/area/maintenance/solars/starboard/fore : /area/station/maintenance/solars/starboard/fore - -/area/medical : /area/station/medical -/area/medical/abandoned : /area/station/medical/abandoned -/area/medical/medbay : /area/station/medical/medbay -/area/medical/medbay/central : /area/station/medical/medbay/central -/area/medical/medbay/lobby : /area/station/medical/medbay/lobby -/area/medical/medbay/aft : /area/station/medical/medbay/aft -/area/medical/storage : /area/station/medical/storage -/area/medical/paramedic : /area/station/medical/paramedic -/area/medical/office : /area/station/medical/office -/area/medical/break_room : /area/station/medical/break_room -/area/medical/coldroom : /area/station/medical/coldroom -/area/medical/patients_rooms : /area/station/medical/patients_rooms -/area/medical/patients_rooms/room_a : /area/station/medical/patients_rooms/room_a -/area/medical/patients_rooms/room_b : /area/station/medical/patients_rooms/room_b -/area/medical/virology : /area/station/medical/virology -/area/medical/morgue : /area/station/medical/morgue -/area/medical/chemistry : /area/station/medical/chemistry -/area/medical/pharmacy : /area/station/medical/pharmacy -/area/medical/surgery : /area/station/medical/surgery -/area/medical/surgery/fore : /area/station/medical/surgery/fore -/area/medical/surgery/aft : /area/station/medical/surgery/aft -/area/medical/surgery/theatre : /area/station/medical/surgery/theatre -/area/medical/cryo : /area/station/medical/cryo -/area/medical/exam_room : /area/station/medical/exam_room -/area/medical/treatment_center : /area/station/medical/treatment_center -/area/medical/psychology : /area/station/medical/psychology - -/area/security : /area/station/security -/area/security/office : /area/station/security/office -/area/security/lockers : /area/station/security/lockers -/area/security/brig : /area/station/security/brig -/area/security/holding_cell : /area/station/security/holding_cell -/area/security/medical : /area/station/security/medical -/area/security/brig/upper : /area/station/security/brig/upper -/area/security/courtroom : /area/station/security/courtroom -/area/security/prison : /area/station/security/prison -/area/security/prison/toilet : /area/station/security/prison/toilet -/area/security/prison/safe : /area/station/security/prison/safe -/area/security/prison/upper : /area/station/security/prison/upper -/area/security/prison/visit : /area/station/security/prison/visit -/area/security/prison/rec : /area/station/security/prison/rec -/area/security/prison/mess : /area/station/security/prison/mess -/area/security/prison/work : /area/station/security/prison/work -/area/security/prison/shower : /area/station/security/prison/shower -/area/security/prison/workout : /area/station/security/prison/workout -/area/security/prison/garden : /area/station/security/prison/garden -/area/security/processing : /area/station/security/processing -/area/security/processing/cremation : /area/station/security/processing/cremation -/area/security/interrogation : /area/station/security/interrogation -/area/security/warden : /area/station/security/warden -/area/security/detectives_office : /area/station/security/detectives_office -/area/security/detectives_office/private_investigators_office : /area/station/security/detectives_office/private_investigators_office -/area/security/range : /area/station/security/range -/area/security/execution : /area/station/security/execution -/area/security/execution/transfer : /area/station/security/execution/transfer -/area/security/execution/education : /area/station/security/execution/education -/area/security/checkpoint : /area/station/security/checkpoint -/area/security/checkpoint/auxiliary : /area/station/security/checkpoint/auxiliary -/area/security/checkpoint/escape : /area/station/security/checkpoint/escape -/area/security/checkpoint/supply : /area/station/security/checkpoint/supply -/area/security/checkpoint/engineering : /area/station/security/checkpoint/engineering -/area/security/checkpoint/medical : /area/station/security/checkpoint/medical -/area/security/checkpoint/science : /area/station/security/checkpoint/science -/area/security/checkpoint/science/research : /area/station/security/checkpoint/science/research -/area/security/checkpoint/customs : /area/station/security/checkpoint/customs -/area/security/checkpoint/customs/auxiliary : /area/station/security/checkpoint/customs/auxiliary -/area/security/checkpoint/customs/fore : /area/station/security/checkpoint/customs/fore -/area/security/checkpoint/customs/aft : /area/station/security/checkpoint/customs/aft - -/area/cargo : /area/station/cargo -/area/cargo/sorting : /area/station/cargo/sorting -/area/cargo/warehouse : /area/station/cargo/warehouse -/area/cargo/drone_bay : /area/station/cargo/drone_bay -/area/cargo/warehouse/upper : /area/station/cargo/warehouse/upper -/area/cargo/office : /area/station/cargo/office -/area/cargo/storage : /area/station/cargo/storage -/area/cargo/lobby : /area/station/cargo/lobby -/area/cargo/qm : /area/station/cargo/qm -/area/cargo/miningdock : /area/station/cargo/miningdock -/area/cargo/miningdock/cafeteria : /area/station/cargo/miningdock/cafeteria -/area/cargo/miningdock/oresilo : /area/station/cargo/miningdock/oresilo -/area/cargo/miningoffice : /area/station/cargo/miningoffice - -/area/science : /area/station/science -/area/science/lobby : /area/station/science/lobby -/area/science/lower : /area/station/science/lower -/area/science/breakroom : /area/station/science/breakroom -/area/science/lab : /area/station/science/lab -/area/science/xenobiology : /area/station/science/xenobiology -/area/science/xenobiology/hallway : /area/station/science/xenobiology/hallway -/area/science/cytology : /area/station/science/cytology -/area/science/storage : /area/station/science/storage -/area/science/test_area : /area/station/science/test_area -/area/science/mixing : /area/station/science/mixing -/area/science/mixing/chamber : /area/station/science/mixing/chamber -/area/science/mixing/hallway : /area/station/science/mixing/hallway -/area/science/mixing/launch : /area/station/science/mixing/launch -/area/science/genetics : /area/station/science/genetics -/area/science/misc_lab : /area/station/science/misc_lab -/area/science/misc_lab/range : /area/station/science/misc_lab/range -/area/science/server : /area/station/science/server -/area/science/explab : /area/station/science/explab -/area/science/robotics : /area/station/science/robotics -/area/science/robotics/mechbay : /area/station/science/robotics/mechbay -/area/science/robotics/lab : /area/station/science/robotics/lab -/area/science/research : /area/station/science/research -/area/science/research/abandoned : /area/station/science/research/abandoned - -/area/tcommsat : /area/station/tcommsat -/area/tcommsat/computer : /area/station/tcommsat/computer -/area/tcommsat/server : /area/station/tcommsat/server -/area/tcommsat/server/upper : /area/station/tcommsat/server/upper - -/area/comms : /area/station/comms -/area/server : /area/station/server - -/area/maintenance/external : /area/station/maintenance/external -/area/maintenance/external/aft : /area/station/maintenance/external/aft -/area/maintenance/external/port : /area/station/maintenance/external/port -/area/maintenance/external/port/bow : /area/station/maintenance/external/port/bow diff --git a/tools/UpdatePaths/Scripts/66411_thermomachines.txt b/tools/UpdatePaths/Scripts/66411_thermomachines.txt deleted file mode 100644 index a53afc0727b2..000000000000 --- a/tools/UpdatePaths/Scripts/66411_thermomachines.txt +++ /dev/null @@ -1,6 +0,0 @@ -/obj/machinery/atmospherics/components/binary/thermomachine : /obj/machinery/atmospherics/components/unary/thermomachine{@OLD} -/obj/machinery/atmospherics/components/binary/thermomachine/freezer : /obj/machinery/atmospherics/components/unary/thermomachine/freezer{@OLD} -/obj/machinery/atmospherics/components/binary/thermomachine/freezer/on : /obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{@OLD} -/obj/machinery/atmospherics/components/binary/thermomachine/freezer/on/coldroom : /obj/machinery/atmospherics/components/unary/thermomachine/freezer/on/coldroom{@OLD} -/obj/machinery/atmospherics/components/binary/thermomachine/heater : /obj/machinery/atmospherics/components/unary/thermomachine/heater{@OLD} -/obj/machinery/atmospherics/components/binary/thermomachine/heater/on : /obj/machinery/atmospherics/components/unary/thermomachine/heater/on{@OLD} diff --git a/tools/UpdatePaths/Scripts/66505_tablet_cartridges.txt b/tools/UpdatePaths/Scripts/66505_tablet_cartridges.txt deleted file mode 100644 index 7f60a8f1295f..000000000000 --- a/tools/UpdatePaths/Scripts/66505_tablet_cartridges.txt +++ /dev/null @@ -1,24 +0,0 @@ -/obj/item/computer_hardware/hard_drive/role/medical : /obj/item/computer_hardware/hard_drive/portable/medical -/obj/item/computer_hardware/hard_drive/role/chemistry : /obj/item/computer_hardware/hard_drive/portable/chemistry -/obj/item/computer_hardware/hard_drive/role/engineering : /obj/item/computer_hardware/hard_drive/portable/engineering -/obj/item/computer_hardware/hard_drive/role/atmos : /obj/item/computer_hardware/hard_drive/portable/atmos -/obj/item/computer_hardware/hard_drive/role/signal : /obj/item/computer_hardware/hard_drive/portable/ordnance -/obj/item/computer_hardware/hard_drive/role/signal/ordnance : /obj/item/computer_hardware/hard_drive/portable/ordnance -/obj/item/computer_hardware/hard_drive/role/quartermaster : /obj/item/computer_hardware/hard_drive/portable/quartermaster -/obj/item/computer_hardware/hard_drive/role/rd : /obj/item/computer_hardware/hard_drive/portable/command/rd -/obj/item/computer_hardware/hard_drive/role/ce : /obj/item/computer_hardware/hard_drive/portable/command/ce -/obj/item/computer_hardware/hard_drive/role/cmo : /obj/item/computer_hardware/hard_drive/portable/command/cmo -/obj/item/computer_hardware/hard_drive/role/hos : /obj/item/computer_hardware/hard_drive/portable/command/hos -/obj/item/computer_hardware/hard_drive/role/hop : /obj/item/computer_hardware/hard_drive/portable/command/hop -/obj/item/computer_hardware/hard_drive/role/captain : /obj/item/computer_hardware/hard_drive/portable/command/captain -/obj/item/computer_hardware/hard_drive/role/virus/mime : /obj/item/computer_hardware/hard_drive/portable/virus/mime -/obj/item/computer_hardware/hard_drive/role/virus/clown : /obj/item/computer_hardware/hard_drive/portable/virus/clown -/obj/item/computer_hardware/hard_drive/role/virus/deto : /obj/item/computer_hardware/hard_drive/portable/virus/deto -/obj/item/computer_hardware/hard_drive/role/virus/frame : /obj/item/computer_hardware/hard_drive/portable/virus/frame - -/obj/item/computer_hardware/hard_drive/role/lawyer : @DELETE -/obj/item/computer_hardware/hard_drive/role/detective : @DELETE -/obj/item/computer_hardware/hard_drive/role/janitor : @DELETE -/obj/item/computer_hardware/hard_drive/role/curator : @DELETE -/obj/item/computer_hardware/hard_drive/role/roboticist : @DELETE -/obj/item/computer_hardware/hard_drive/role/signal : @DELETE diff --git a/tools/UpdatePaths/Scripts/66754_replace_sign_names.txt b/tools/UpdatePaths/Scripts/66754_replace_sign_names.txt deleted file mode 100644 index eed28991fad9..000000000000 --- a/tools/UpdatePaths/Scripts/66754_replace_sign_names.txt +++ /dev/null @@ -1,17 +0,0 @@ -/obj/structure/sign/warning/securearea : /obj/structure/sign/warning/secure_area {@OLD} -/obj/structure/sign/warning/electricshock : /obj/structure/sign/warning/electric_shock {@OLD} -/obj/structure/sign/warning/nosmoking : /obj/structure/sign/warning/no_smoking {@OLD} -/obj/structure/sign/warning/nosmoking/circle : /obj/structure/sign/warning/no_smoking/circle {@OLD} -/obj/structure/sign/warning/yessmoking/circle : /obj/structure/sign/warning/yes_smoking/circle {@OLD} -/obj/structure/sign/warning/enginesafety : /obj/structure/sign/warning/engine_safety {@OLD} -/obj/structure/sign/warning/testchamber : /obj/structure/sign/warning/test_chamber {@OLD} -/obj/structure/sign/warning/firingrange : /obj/structure/sign/warning/firing_range {@OLD} -/obj/structure/sign/warning/coldtemp : /obj/structure/sign/warning/cold_temp {@OLD} -/obj/structure/sign/warning/hottemp : /obj/structure/sign/warning/hot_temp {@OLD} -/obj/structure/sign/warning/gasmask : /obj/structure/sign/warning/gas_mask {@OLD} -/obj/structure/sign/warning/chemdiamond : /obj/structure/sign/warning/chem_diamond {@OLD} -/obj/structure/sign/warning/radshelter : /obj/structure/sign/warning/rad_shelter {@OLD} - -/obj/structure/sign/departments/examroom : /obj/structure/sign/departments/exam_room {@OLD} -/obj/structure/sign/departments/mait : /obj/structure/sign/departments/maint {@OLD} -/obj/structure/sign/departments/mait/alt : /obj/structure/sign/departments/maint/alt {@OLD} diff --git a/tools/UpdatePaths/Scripts/66860_replace_masks.txt b/tools/UpdatePaths/Scripts/66860_replace_masks.txt deleted file mode 100644 index 234864a4019b..000000000000 --- a/tools/UpdatePaths/Scripts/66860_replace_masks.txt +++ /dev/null @@ -1,16 +0,0 @@ -#comment This replaces animal mask paths to the new simplified paths see (https://github.com/tgstation/tgstation/pull/66860) - -/obj/item/clothing/mask/animal/rat/cursed : /obj/item/clothing/mask/animal/small/rat/cursed -/obj/item/clothing/mask/animal/rat/fox/cursed : /obj/item/clothing/mask/animal/small/fox/cursed -/obj/item/clothing/mask/animal/rat/bee/cursed : /obj/item/clothing/mask/animal/small/bee/cursed -/obj/item/clothing/mask/animal/rat/bear/cursed : /obj/item/clothing/mask/animal/small/bear/cursed -/obj/item/clothing/mask/animal/rat/bat/cursed : /obj/item/clothing/mask/animal/small/bat/cursed -/obj/item/clothing/mask/animal/rat/raven/cursed : /obj/item/clothing/mask/animal/small/raven/cursed -/obj/item/clothing/mask/animal/rat/jackal/cursed : /obj/item/clothing/mask/animal/small/jackal/cursed -/obj/item/clothing/mask/animal/rat : /obj/item/clothing/mask/animal/small/rat -/obj/item/clothing/mask/animal/rat/fox : /obj/item/clothing/mask/animal/small/fox -/obj/item/clothing/mask/animal/rat/bee : /obj/item/clothing/mask/animal/small/bee -/obj/item/clothing/mask/animal/rat/bear : /obj/item/clothing/mask/animal/small/bear -/obj/item/clothing/mask/animal/rat/bat : /obj/item/clothing/mask/animal/small/bat -/obj/item/clothing/mask/animal/rat/raven : /obj/item/clothing/mask/animal/small/raven -/obj/item/clothing/mask/animal/rat/jackal : /obj/item/clothing/mask/animal/small/jackal diff --git a/tools/UpdatePaths/Scripts/67083_action_granters.txt b/tools/UpdatePaths/Scripts/67083_action_granters.txt deleted file mode 100644 index 91609df338ce..000000000000 --- a/tools/UpdatePaths/Scripts/67083_action_granters.txt +++ /dev/null @@ -1 +0,0 @@ -/obj/item/book/granter/spell/@SUBTYPES : /obj/item/book/granter/action/spell/@SUBTYPES {@OLD} diff --git a/tools/UpdatePaths/Scripts/67107_turf_updates_2.txt b/tools/UpdatePaths/Scripts/67107_turf_updates_2.txt deleted file mode 100644 index b5ac4b51b8fd..000000000000 --- a/tools/UpdatePaths/Scripts/67107_turf_updates_2.txt +++ /dev/null @@ -1,118 +0,0 @@ -#comment This is the second turf updates txt. This one only reorganizes the work tree. Use the first one if you're trying to update your area typepaths for stations, then run this. - -/area/centcom/control : /area/centcom/central_command_areas/control -/area/centcom/evacuation : /area/centcom/central_command_areas/evacuation -/area/centcom/evacuation/ship : /area/centcom/central_command_areas/evacuation/ship -/area/centcom/fore : /area/centcom/central_command_areas/fore -/area/centcom/supply : /area/centcom/central_command_areas/supply -/area/centcom/ferry : /area/centcom/central_command_areas/ferry -/area/centcom/briefing : /area/centcom/central_command_areas/briefing -/area/centcom/armory : /area/centcom/central_command_areas/armory -/area/centcom/admin : /area/centcom/central_command_areas/admin -/area/centcom/admin/storage : /area/centcom/central_command_areas/admin/storage -/area/centcom/prison : /area/centcom/central_command_areas/prison -/area/centcom/prison/cells : /area/centcom/central_command_areas/prison/cells -/area/centcom/courtroom : /area/centcom/central_command_areas/courtroom -/area/centcom/holding : /area/centcom/central_command_areas/holding -/area/centcom/supplypod/supplypod_temp_holding : /area/centcom/central_command_areas/supplypod/supplypod_temp_holding -/area/centcom/supplypod : /area/centcom/central_command_areas/supplypod -/area/centcom/supplypod/pod_storage : /area/centcom/central_command_areas/supplypod/pod_storage -/area/centcom/supplypod/loading : /area/centcom/central_command_areas/supplypod/loading -/area/centcom/supplypod/loading/one : /area/centcom/central_command_areas/supplypod/loading/one -/area/centcom/supplypod/loading/two : /area/centcom/central_command_areas/supplypod/loading/two -/area/centcom/supplypod/loading/three : /area/centcom/central_command_areas/supplypod/loading/three -/area/centcom/supplypod/loading/four : /area/centcom/central_command_areas/supplypod/loading/four -/area/centcom/supplypod/loading/ert : /area/centcom/central_command_areas/supplypod/loading/ert - -/area/tdome : /area/centcom/tdome -/area/tdome/arena : /area/centcom/tdome/arena -/area/tdome/arena_source : /area/centcom/tdome/arena_source -/area/tdome/tdome1 : /area/centcom/tdome/tdome1 -/area/tdome/tdome2 : /area/centcom/tdome/tdome2 -/area/tdome/administration : /area/centcom/tdome/administration -/area/tdome/observation : /area/centcom/tdome/observation - -/area/wizard_station : /area/centcom/wizard_station -/area/abductor_ship : /area/centcom/abductor_ship -/area/syndicate_mothership : /area/centcom/syndicate_mothership -/area/syndicate_mothership/control : /area/centcom/syndicate_mothership/control -/area/syndicate_mothership/expansion_bombthreat : /area/centcom/syndicate_mothership/expansion_bombthreat -/area/syndicate_mothership/expansion_bioterrorism : /area/centcom/syndicate_mothership/expansion_bioterrorism -/area/syndicate_mothership/expansion_chemicalwarfare : /area/centcom/syndicate_mothership/expansion_chemicalwarfare -/area/syndicate_mothership/expansion_fridgerummage :/area/centcom/syndicate_mothership/expansion_fridgerummage -/area/syndicate_mothership/elite_squad : /area/centcom/syndicate_mothership/elite_squad - -/area/heretic_sacrifice : /area/centcom/heretic_sacrifice -/area/heretic_sacrifice/ash : /area/centcom/heretic_sacrifice/ash -/area/heretic_sacrifice/void : /area/centcom/heretic_sacrifice/void -/area/heretic_sacrifice/flesh : /area/centcom/heretic_sacrifice/flesh -/area/heretic_sacrifice/rust : /area/centcom/heretic_sacrifice/rust - -/area/ctf : /area/centcom/ctf -/area/ctf/control_room : /area/centcom/ctf/control_room -/area/ctf/control_room2 : /area/centcom/ctf/control_room2 -/area/ctf/central : /area/centcom/ctf/central -/area/ctf/main_hall : /area/centcom/ctf/main_hall -/area/ctf/main_hall2 : /area/centcom/ctf/main_hall2 -/area/ctf/corridor : /area/centcom/ctf/corridor -/area/ctf/corridor2: /area/centcom/ctf/corridor2 -/area/ctf/flag_room : /area/centcom/ctf/flag_room -/area/ctf/flag_room2 : /area/centcom/ctf/flag_room2 - -/area/start : /area/misc/start -/area/testroom : /area/misc/testroom - -/area/ai_monitored : /area/station/ai_monitored -/area/ai_monitored/turret_protected : /area/station/ai_monitored/turret_protected -/area/ai_monitored : /area/station/ai_monitored -/area/ai_monitored/aisat/exterior : /area/station/ai_monitored/aisat/exterior -/area/ai_monitored/command/storage/satellite : /area/station/ai_monitored/command/storage/satellite -/area/ai_monitored/turret_protected : /area/station/ai_monitored/turret_protected -/area/ai_monitored/turret_protected/ai_upload : /area/station/ai_monitored/turret_protected/ai_upload -/area/ai_monitored/turret_protected/ai_upload_foyer : /area/station/ai_monitored/turret_protected/ai_upload_foyer -/area/ai_monitored/turret_protected/ai : /area/station/ai_monitored/turret_protected/ai -/area/ai_monitored/turret_protected/aisat : /area/station/ai_monitored/turret_protected/aisat -/area/ai_monitored/turret_protected/aisat/atmos : /area/station/ai_monitored/turret_protected/aisat/atmos -/area/ai_monitored/turret_protected/aisat/foyer : /area/station/ai_monitored/turret_protected/aisat/foyer -/area/ai_monitored/turret_protected/aisat/service : /area/station/ai_monitored/turret_protected/aisat/service -/area/ai_monitored/turret_protected/aisat/hallway : /area/station/ai_monitored/turret_protected/aisat/hallway -/area/ai_monitored/turret_protected/aisat/maint : /area/station/ai_monitored/turret_protected/aisat/maint -/area/ai_monitored/turret_protected/aisat_interior : /area/station/ai_monitored/turret_protected/aisat_interior -/area/ai_monitored/turret_protected/ai_sat_ext_as : /area/station/ai_monitored/turret_protected/ai_sat_ext_as -/area/ai_monitored/turret_protected/ai_sat_ext_ap : /area/station/ai_monitored/turret_protected/ai_sat_ext_ap -/area/ai_monitored/command/storage/eva : /area/station/ai_monitored/command/storage/eva -/area/ai_monitored/command/storage/eva/upper : /area/station/ai_monitored/command/storage/eva/upper -/area/ai_monitored/command/nuke_storage : /area/station/ai_monitored/command/nuke_storage -/area/ai_monitored/security/armory : /area/station/ai_monitored/security/armory -/area/ai_monitored/security/armory/upper : /area/station/ai_monitored/security/armory/upper - -/area/tcommsat/oldaisat : /area/ruin/tcommsat_oldaisat - -/area/solars/ancientstation/charlie/solars : /area/ruin/solars/ancientstation/charlie/solars -/area/solars/derelict_starboard : /area/ruin/solars/derelict_starboard -/area/solars/derelict_aft : /area/ruin/solars/derelict_aft - -/area/ai_multicam_room : /area/centcom/ai_multicam_room - -/area/cordon : /area/misc/cordon - -/area/holodeck : /area/station/holodeck -/area/holodeck/rec_center : /area/station/holodeck/rec_center -/area/holodeck/rec_center/offstation_one : /area/station/holodeck/rec_center/offstation_one - -/area/asteroid : /area/centcom/asteroid -/area/asteroid/nearstation : /area/centcom/asteroid/nearstation -/area/asteroid/nearstation/bomb_site : /area/centcom/asteroid/nearstation/bomb_site - -/area/hilbertshotel : /area/misc/hilbertshotel -/area/hilbertshotelstorage : /area/misc/hilbertshotelstorage - -/area/construction : /area/station/construction -/area/construction/mining/aux_base : /area/station/construction/mining/aux_base -/area/construction/storage_wing : /area/station/construction/storage_wing - -/area/mafia : /area/centcom/mafia - -/area/shuttle_arena : /area/shuttle/shuttle_arena - -/area/survivalpod : /area/misc/survivalpod diff --git a/tools/UpdatePaths/Scripts/67324_misc_space_fix.txt b/tools/UpdatePaths/Scripts/67324_misc_space_fix.txt deleted file mode 100644 index 6ae0987fa478..000000000000 --- a/tools/UpdatePaths/Scripts/67324_misc_space_fix.txt +++ /dev/null @@ -1,4 +0,0 @@ -#comment We fucked up, run this to revert behavior. - -/area/misc/space : /area/space -/area/misc/space/nearstation : /area/space/nearstation diff --git a/tools/UpdatePaths/Scripts/67512_mail_sorting_to_shipping.txt b/tools/UpdatePaths/Scripts/67512_mail_sorting_to_shipping.txt deleted file mode 100644 index 7a6699b354b2..000000000000 --- a/tools/UpdatePaths/Scripts/67512_mail_sorting_to_shipping.txt +++ /dev/null @@ -1,2 +0,0 @@ -/obj/effect/mapping_helpers/airlock/access/any/supply/mail_sorting : /obj/effect/mapping_helpers/airlock/access/any/supply/shipping -/obj effect/mapping_helpers/airlock/access/all/supply/mail_sorting : /obj/effect/mapping_helpers/airlock/access/all/supply/shipping \ No newline at end of file diff --git a/tools/UpdatePaths/Scripts/67761_floorvaredits_to_mappinghelpers.txt b/tools/UpdatePaths/Scripts/67761_floorvaredits_to_mappinghelpers.txt deleted file mode 100644 index 05fed1cadb38..000000000000 --- a/tools/UpdatePaths/Scripts/67761_floorvaredits_to_mappinghelpers.txt +++ /dev/null @@ -1,66 +0,0 @@ -/turf/open/floor/iron/@SUBTYPES{icon_state="damaged1"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/iron/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/iron/@SUBTYPES{icon_state="damaged2"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/iron/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/iron/@SUBTYPES{icon_state="damaged3"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/iron/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/iron/@SUBTYPES{icon_state="damaged4"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/iron/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/iron/@SUBTYPES{icon_state="damaged5"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/iron/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/iron/@SUBTYPES{icon_state="floorscorched1"} : /obj/effect/mapping_helpers/burnt_floor , /turf/open/floor/iron/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/iron/@SUBTYPES{icon_state="floorscorched2"} : /obj/effect/mapping_helpers/burnt_floor , /turf/open/floor/iron/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} - -/turf/open/floor/plating/@SUBTYPES{icon_state="platingdmg1"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/plating/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/plating/@SUBTYPES{icon_state="platingdmg2"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/plating/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/plating/@SUBTYPES{icon_state="platingdmg3"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/plating/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/plating/@SUBTYPES{icon_state="panelscorched"} : /obj/effect/mapping_helpers/burnt_floor , /turf/open/floor/plating/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} - -/turf/open/floor/wood/@SUBTYPES{icon_state="wood-broken"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/wood/@SUBTYPES{icon_state="wood-broken2"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/wood/@SUBTYPES{icon_state="wood-broken3"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/wood/@SUBTYPES{icon_state="wood-broken4"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/wood/@SUBTYPES{icon_state="wood-broken5"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/wood/@SUBTYPES{icon_state="wood-broken6"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/wood/@SUBTYPES{icon_state="wood-broken7"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} - -/turf/open/floor/wood/@SUBTYPES{icon_state="wood_parquet-broken"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/wood/@SUBTYPES{icon_state="wood_parquet-broken2"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/wood/@SUBTYPES{icon_state="wood_parquet-broken3"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/wood/@SUBTYPES{icon_state="wood_parquet-broken4"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/wood/@SUBTYPES{icon_state="wood_parquet-broken5"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/wood/@SUBTYPES{icon_state="wood_parquet-broken6"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/wood/@SUBTYPES{icon_state="wood_parquet-broken7"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} - -/turf/open/floor/wood/@SUBTYPES{icon_state="wood_tile-broken"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/wood/@SUBTYPES{icon_state="wood_tile-broken2"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/wood/@SUBTYPES{icon_state="wood_tile-broken3"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} - -/turf/open/floor/wood/@SUBTYPES{icon_state="wood_large-broken"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/wood/@SUBTYPES{icon_state="wood_large-broken2"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/wood/@SUBTYPES{icon_state="wood_large-broken3"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/wood/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} - -/turf/open/floor/mineral/@SUBTYPES{icon_state="silver_dam"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} - -/turf/open/floor/mineral/@SUBTYPES{icon_state="gold_dam"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} - -/turf/open/floor/mineral/@SUBTYPES{icon_state="diamond_dam"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} - -/turf/open/floor/mineral/@SUBTYPES{icon_state="plasma_dam"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} - -/turf/open/floor/mineral/@SUBTYPES{icon_state="uranium_dam"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} - -/turf/open/floor/mineral/@SUBTYPES{icon_state="bananium_dam"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} - -/turf/open/floor/mineral/@SUBTYPES{icon_state="titanium_dam1"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/mineral/@SUBTYPES{icon_state="titanium_dam2"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/mineral/@SUBTYPES{icon_state="titanium_dam3"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/mineral/@SUBTYPES{icon_state="titanium_dam4"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/mineral/@SUBTYPES{icon_state="titanium_dam5"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} - -/turf/open/floor/mineral/@SUBTYPES{icon_state="titanium_dam1_old"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/mineral/@SUBTYPES{icon_state="titanium_dam2_old"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/mineral/@SUBTYPES{icon_state="titanium_dam3_old"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/mineral/@SUBTYPES{icon_state="titanium_dam4_old"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/mineral/@SUBTYPES{icon_state="titanium_dam5_old"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} - -/turf/open/floor/mineral/@SUBTYPES{icon_state="plastitanium_dam1"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/mineral/@SUBTYPES{icon_state="plastitanium_dam2"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/mineral/@SUBTYPES{icon_state="plastitanium_dam3"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/mineral/@SUBTYPES{icon_state="plastitanium_dam4"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} -/turf/open/floor/mineral/@SUBTYPES{icon_state="plastitanium_dam5"} : /obj/effect/mapping_helpers/broken_floor , /turf/open/floor/mineral/@SUBTYPES{@OLD;icon_state=@SKIP;broken=@SKIP} diff --git a/tools/UpdatePaths/Scripts/68004_varedited_signs_to_subtype_directionals.txt b/tools/UpdatePaths/Scripts/68004_varedited_signs_to_subtype_directionals.txt deleted file mode 100644 index 2c9a3b1d62af..000000000000 --- a/tools/UpdatePaths/Scripts/68004_varedited_signs_to_subtype_directionals.txt +++ /dev/null @@ -1,452 +0,0 @@ -#comment This UpdatePaths File should move every single sign in-game into a directional subtype in order to help with cutting down on the lines in your average DMM file. -#comment There are the obvious North, South, East, West directionals: but several maps do two pixelshifts in order to get the sign in a corner. -#comment This UpdatePaths File accounts for this by setting the subtype to either East or West, and then giving the "north" and "south" effect by a pixelshift. -#comment Somethings are just utterly inescapable, and it's niche enough to the point where I don't see the need to define an entirely new directional subclass, just for "southwest" to be a thing. -#comment The old functionality of manually pixelshifting a sign will still remain, but this just gives mappers subtle cues as to what I would really like them to do. -#comment Some people also didn't properly pixel_shift it (using something like 28 instead of 32), but it's not going to be possible to automate auditing all of those because UpdatePaths can't do ranges of numbers. Unfortunate. -#comment One thing to note is that the @SUBTYPES variable does not work for what I'm trying to accomplish (I tried), so I'm going to be explicit with every subtype in this script. It hurts me more than it hurts you. - -#comment Warning Signs! - -/obj/structure/sign/warning{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/biohazard{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/biohazard/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/biohazard{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/biohazard/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/biohazard{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/biohazard/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/biohazard{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/biohazard/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/biohazard{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/biohazard/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/biohazard{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/biohazard/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/biohazard{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/biohazard/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/biohazard{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/biohazard/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/bodysposal{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/bodysposal/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/bodysposal{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/bodysposal/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/bodysposal{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/bodysposal/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/bodysposal{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/bodysposal/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/bodysposal{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/bodysposal/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/bodysposal{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/bodysposal/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/bodysposal{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/bodysposal/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/bodysposal{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/bodysposal/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/chem_diamond{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/chem_diamond/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/chem_diamond{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/chem_diamond/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/chem_diamond{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/chem_diamond/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/chem_diamond{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/chem_diamond/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/chem_diamond{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/chem_diamond/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/chem_diamond{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/chem_diamond/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/chem_diamond{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/chem_diamond/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/chem_diamond{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/chem_diamond/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/cold_temp{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/cold_temp/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/cold_temp{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/cold_temp/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/cold_temp{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/cold_temp/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/cold_temp{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/cold_temp/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/cold_temp{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/cold_temp/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/cold_temp{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/cold_temp/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/cold_temp{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/cold_temp/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/cold_temp{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/cold_temp/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/deathsposal{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/deathsposal/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/deathsposal{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/deathsposal/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/deathsposal{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/deathsposal/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/deathsposal{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/deathsposal/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/deathsposal{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/deathsposal/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/deathsposal{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/deathsposal/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/deathsposal{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/deathsposal/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/deathsposal{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/deathsposal/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/docking{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/docking/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/docking{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/docking/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/docking{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/docking/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/docking{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/docking/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/docking{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/docking/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/docking{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/docking/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/docking{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/docking/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/docking{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/docking/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/electric_shock{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/electric_shock/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/electric_shock{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/electric_shock/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/electric_shock{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/electric_shock/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/electric_shock{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/electric_shock/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/electric_shock{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/electric_shock/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/electric_shock{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/electric_shock/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/electric_shock{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/electric_shock/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/electric_shock{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/electric_shock/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/engine_safety{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/engine_safety/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/engine_safety{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/engine_safety/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/engine_safety{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/engine_safety/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/engine_safety{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/engine_safety/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/engine_safety{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/engine_safety/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/engine_safety{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/engine_safety/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/engine_safety{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/engine_safety/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/engine_safety{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/engine_safety/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/explosives{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/explosives/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/explosives{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/explosives/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/explosives{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/explosives/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/explosives{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/explosives/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/explosives{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/explosives/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/explosives{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/explosives/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/explosives{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/explosives/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/explosives{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/explosives/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/fire{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/fire/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/fire{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/fire/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/fire{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/fire/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/fire{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/fire/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/fire{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/fire/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/fire{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/fire/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/fire{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/fire/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/fire{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/fire/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/firing_range{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/firing_range/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/firing_range{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/firing_range/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/firing_range{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/firing_range/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/firing_range{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/firing_range/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/firing_range{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/firing_range/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/firing_range{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/firing_range/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/firing_range{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/firing_range/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/firing_range{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/firing_range/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/gas_mask{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/gas_mask/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/gas_mask{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/gas_mask/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/gas_mask{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/gas_mask/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/gas_mask{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/gas_mask/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/gas_mask{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/gas_mask/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/gas_mask{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/gas_mask/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/gas_mask{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/gas_mask/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/gas_mask{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/gas_mask/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/hot_temp{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/hot_temp/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/hot_temp{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/hot_temp/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/hot_temp{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/hot_temp/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/hot_temp{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/hot_temp/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/hot_temp{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/hot_temp/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/hot_temp{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/hot_temp/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/hot_temp{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/hot_temp/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/hot_temp{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/hot_temp/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/no_smoking{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/no_smoking/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/no_smoking{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/no_smoking/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/no_smoking{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/no_smoking/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/no_smoking{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/no_smoking/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/no_smoking{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/no_smoking/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/no_smoking{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/no_smoking/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/no_smoking{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/no_smoking/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/no_smoking{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/no_smoking/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/pods{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/pods/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/pods{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/pods/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/pods{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/pods/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/pods{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/pods/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/pods{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/pods/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/pods{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/pods/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/pods{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/pods/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/pods{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/pods/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/rad_shelter{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/rad_shelter/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/rad_shelter{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/rad_shelter/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/rad_shelter{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/rad_shelter/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/rad_shelter{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/rad_shelter/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/rad_shelter{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/rad_shelter/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/rad_shelter{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/rad_shelter/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/rad_shelter{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/rad_shelter/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/rad_shelter{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/rad_shelter/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/radiation{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/radiation/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/radiation{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/radiation/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/radiation{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/radiation/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/radiation{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/radiation/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/radiation{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/radiation/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/radiation{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/radiation/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/radiation{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/radiation/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/radiation{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/radiation/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/secure_area{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/secure_area/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/secure_area{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/secure_area/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/secure_area{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/secure_area/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/secure_area{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/secure_area/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/secure_area{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/secure_area/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/secure_area{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/secure_area/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/secure_area{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/secure_area/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/secure_area{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/secure_area/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/test_chamber{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/test_chamber/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/test_chamber{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/test_chamber/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/test_chamber{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/test_chamber/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/test_chamber{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/test_chamber/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/test_chamber{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/test_chamber/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/test_chamber{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/test_chamber/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/test_chamber{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/test_chamber/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/test_chamber{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/test_chamber/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/vacuum{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/vacuum/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/vacuum{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/vacuum/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/vacuum{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/vacuum/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/vacuum{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/vacuum/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/vacuum{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/vacuum/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/vacuum{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/vacuum/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/vacuum{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/vacuum/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/vacuum{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/vacuum/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/xeno_mining{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/xeno_mining/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/xeno_mining{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/xeno_mining/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/xeno_mining{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/xeno_mining/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/xeno_mining{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/xeno_mining/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/xeno_mining{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/xeno_mining/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/xeno_mining{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/xeno_mining/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/xeno_mining{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/xeno_mining/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/xeno_mining{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/xeno_mining/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/yes_smoking/circle{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/yes_smoking/circle/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/yes_smoking/circle{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/yes_smoking/circle/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/yes_smoking/circle{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/yes_smoking/circle/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/yes_smoking/circle{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/yes_smoking/circle/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/yes_smoking/circle{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/yes_smoking/circle/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/yes_smoking/circle{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/yes_smoking/circle/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/yes_smoking/circle{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/yes_smoking/circle/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/yes_smoking/circle{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/yes_smoking/circle/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/vacuum/external{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/vacuum/external/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/vacuum/external{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/vacuum/external/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/vacuum/external{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/vacuum/external/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/vacuum/external{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/vacuum/external/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/vacuum/external{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/vacuum/external/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/vacuum/external{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/vacuum/external/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/vacuum/external{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/vacuum/external/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/vacuum/external{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/vacuum/external/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/no_smoking/circle{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/no_smoking/circle/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/no_smoking/circle{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/no_smoking/circle/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/no_smoking/circle{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/no_smoking/circle/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/no_smoking/circle{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/no_smoking/circle/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/no_smoking/circle{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/no_smoking/circle/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/no_smoking/circle{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/no_smoking/circle/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/no_smoking/circle{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/no_smoking/circle/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/no_smoking/circle{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/no_smoking/circle/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/explosives/alt{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/explosives/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/explosives/alt{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/explosives/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/explosives/alt{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/explosives/alt/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/explosives/alt{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/explosives/alt/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/explosives/alt{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/explosives/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/explosives/alt{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/explosives/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/explosives/alt{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/explosives/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/explosives/alt{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/explosives/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/warning/radiation/rad_area{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/warning/radiation/rad_area/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/radiation/rad_area{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/warning/radiation/rad_area/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/radiation/rad_area{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/warning/radiation/rad_area/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/radiation/rad_area{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/warning/radiation/rad_area/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/warning/radiation/rad_area{pixel_x=32;pixel_y=-32} : /obj/structure/sign/warning/radiation/rad_area/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/warning/radiation/rad_area{pixel_x=32;pixel_y=32} : /obj/structure/sign/warning/radiation/rad_area/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/radiation/rad_area{pixel_x=-32;pixel_y=32} : /obj/structure/sign/warning/radiation/rad_area/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/warning/radiation/rad_area{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/warning/radiation/rad_area/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -#comment Departmental Signs! - -/obj/structure/sign/departments/botany{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/botany/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/botany{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/botany/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/botany{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/botany/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/botany{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/botany/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/botany{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/botany/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/departments/botany{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/botany/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/botany{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/botany/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/botany{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/botany/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/departments/cargo{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/cargo/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/cargo{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/cargo/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/cargo{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/cargo/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/cargo{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/cargo/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/cargo{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/cargo/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/departments/cargo{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/cargo/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/cargo{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/cargo/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/cargo{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/cargo/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/departments/chemistry{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/chemistry/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/chemistry{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/chemistry/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/chemistry{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/chemistry/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/chemistry{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/chemistry/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/chemistry{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/chemistry/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/departments/chemistry{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/chemistry/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/chemistry{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/chemistry/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/chemistry{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/chemistry/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/departments/court{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/court/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/court{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/court/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/court{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/court/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/court{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/court/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/court{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/court/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/departments/court{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/court/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/court{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/court/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/court{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/court/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/departments/custodian{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/custodian/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/custodian{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/custodian/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/custodian{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/custodian/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/custodian{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/custodian/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/custodian{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/custodian/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/departments/custodian{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/custodian/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/custodian{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/custodian/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/custodian{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/custodian/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/departments/drop{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/drop/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/drop{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/drop/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/drop{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/drop/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/drop{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/drop/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/drop{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/drop/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/departments/drop{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/drop/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/drop{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/drop/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/drop{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/drop/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/departments/engineering{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/engineering/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/engineering{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/engineering/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/engineering{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/engineering/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/engineering{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/engineering/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/engineering{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/engineering/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/departments/engineering{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/engineering/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/engineering{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/engineering/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/engineering{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/engineering/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/departments/evac{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/evac/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/evac{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/evac/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/evac{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/evac/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/evac{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/evac/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/evac{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/evac/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/departments/evac{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/evac/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/evac{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/evac/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/evac{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/evac/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/departments/exam_room{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/exam_room/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/exam_room{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/exam_room/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/exam_room{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/exam_room/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/exam_room{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/exam_room/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/exam_room{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/exam_room/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/departments/exam_room{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/exam_room/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/exam_room{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/exam_room/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/exam_room{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/exam_room/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/departments/holy{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/holy/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/holy{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/holy/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/holy{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/holy/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/holy{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/holy/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/holy{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/holy/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/departments/holy{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/holy/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/holy{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/holy/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/holy{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/holy/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/departments/lawyer{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/lawyer/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/lawyer{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/lawyer/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/lawyer{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/lawyer/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/lawyer{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/lawyer/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/lawyer{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/lawyer/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/departments/lawyer{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/lawyer/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/lawyer{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/lawyer/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/lawyer{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/lawyer/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/departments/maint{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/maint/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/maint{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/maint/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/maint{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/maint/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/maint{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/maint/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/maint{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/maint/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/departments/maint{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/maint/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/maint{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/maint/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/maint{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/maint/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/departments/medbay{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/medbay/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/medbay{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/medbay/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/medbay{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/medbay/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/medbay{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/medbay/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/medbay{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/medbay/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/departments/medbay{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/medbay/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/medbay{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/medbay/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/medbay{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/medbay/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/departments/psychology{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/psychology/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/psychology{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/psychology/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/psychology{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/psychology/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/psychology{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/psychology/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/psychology{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/psychology/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/departments/psychology{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/psychology/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/psychology{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/psychology/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/psychology{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/psychology/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/departments/restroom{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/restroom/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/restroom{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/restroom/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/restroom{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/restroom/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/restroom{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/restroom/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/restroom{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/restroom/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/departments/restroom{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/restroom/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/restroom{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/restroom/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/restroom{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/restroom/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/departments/science{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/science/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/science{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/science/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/science{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/science/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/science{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/science/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/science{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/science/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/departments/science{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/science/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/science{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/science/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/science{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/science/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/departments/security{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/security/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/security{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/security/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/security{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/security/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/security{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/security/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/security{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/security/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/departments/security{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/security/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/security{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/security/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/security{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/security/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/departments/xenobio{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/xenobio/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/xenobio{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/xenobio/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/xenobio{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/xenobio/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/xenobio{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/xenobio/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/xenobio{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/xenobio/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/departments/xenobio{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/xenobio/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/xenobio{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/xenobio/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/xenobio{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/xenobio/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/departments/chemistry/pharmacy{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/chemistry/pharmacy/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/chemistry/pharmacy{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/chemistry/pharmacy/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/chemistry/pharmacy{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/chemistry/pharmacy/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/chemistry/pharmacy{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/chemistry/pharmacy/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/chemistry/pharmacy{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/chemistry/pharmacy/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/departments/chemistry/pharmacy{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/chemistry/pharmacy/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/chemistry/pharmacy{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/chemistry/pharmacy/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/chemistry/pharmacy{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/chemistry/pharmacy/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/departments/maint/alt{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/maint/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/maint/alt{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/maint/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/maint/alt{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/maint/alt/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/maint/alt{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/maint/alt/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/maint/alt{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/maint/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/departments/maint/alt{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/maint/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/maint/alt{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/maint/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/maint/alt{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/maint/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/departments/medbay/alt{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/medbay/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/medbay/alt{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/medbay/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/medbay/alt{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/medbay/alt/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/medbay/alt{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/medbay/alt/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/medbay/alt{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/medbay/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/departments/medbay/alt{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/medbay/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/medbay/alt{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/medbay/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/medbay/alt{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/medbay/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} - -/obj/structure/sign/departments/science/alt{pixel_x=32;pixel_y=@UNSET} : /obj/structure/sign/departments/science/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/science/alt{pixel_x=-32;pixel_y=@UNSET} : /obj/structure/sign/departments/science/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/science/alt{pixel_x=@UNSET;pixel_y=32} : /obj/structure/sign/departments/science/alt/directional/north{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/science/alt{pixel_x=@UNSET;pixel_y=-32} : /obj/structure/sign/departments/science/alt/directional/south{@OLD;pixel_x=@SKIP;pixel_y=@SKIP} -/obj/structure/sign/departments/science/alt{pixel_x=32;pixel_y=-32} : /obj/structure/sign/departments/science/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=-32} -/obj/structure/sign/departments/science/alt{pixel_x=32;pixel_y=32} : /obj/structure/sign/departments/science/alt/directional/east{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/science/alt{pixel_x=-32;pixel_y=32} : /obj/structure/sign/departments/science/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=32} -/obj/structure/sign/departments/science/alt{pixel_x=-32;pixel_y=-32} : /obj/structure/sign/departments/science/alt/directional/west{@OLD;pixel_x=@SKIP;pixel_y=-32} From 32b276b5ba790d6b99b5372ef6a853ae6f72db35 Mon Sep 17 00:00:00 2001 From: Mark Suckerberg Date: Fri, 25 Oct 2024 01:05:25 -0500 Subject: [PATCH 115/344] Qdel Log Hotfix (#3633) ## About The Pull Request #3558 accidentally ported the JSON log support for qdel logs, despite the fact we still use old normal logs. This moves us back to the version we support, and also adds support ## Why It's Good For The Game qdel logs are nice to have for gauging prevalence of harddels ## Changelog :cl: server: qdel logs work again /:cl: --- code/controllers/subsystem/garbage.dm | 50 ++++++++++++++------------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/code/controllers/subsystem/garbage.dm b/code/controllers/subsystem/garbage.dm index 60372d39d95b..1bb1d185c84f 100644 --- a/code/controllers/subsystem/garbage.dm +++ b/code/controllers/subsystem/garbage.dm @@ -94,38 +94,37 @@ SUBSYSTEM_DEF(garbage) /datum/controller/subsystem/garbage/Shutdown() //Adds the del() log to the qdel log file - var/list/del_log = list() + var/list/dellog = list() //sort by how long it's wasted hard deleting sortTim(items, cmp=/proc/cmp_qdel_item_time, associative = TRUE) for(var/path in items) var/datum/qdel_item/I = items[path] - var/list/entry = list() - del_log[path] = entry - + dellog += "Path: [path]" if (I.qdel_flags & QDEL_ITEM_SUSPENDED_FOR_LAG) - entry["SUSPENDED FOR LAG"] = TRUE + dellog += "\tSUSPENDED FOR LAG" if (I.failures) - entry["Failures"] = I.failures - entry["qdel() Count"] = I.qdels - entry["Destroy() Cost (ms)"] = I.destroy_time - + dellog += "\tFailures: [I.failures]" + dellog += "\tqdel() Count: [I.qdels]" + dellog += "\tDestroy() Cost: [I.destroy_time]ms" if (I.hard_deletes) - entry["Total Hard Deletes"] = I.hard_deletes - entry["Time Spend Hard Deleting (ms)"] = I.hard_delete_time - entry["Highest Time Spend Hard Deleting (ms)"] = I.hard_delete_max + dellog += "\tTotal Hard Deletes: [I.hard_deletes]" + dellog += "\tTime Spent Hard Deleting: [I.hard_delete_time]ms" + dellog += "\tHighest Time Spent Hard Deleting: [I.hard_delete_max]ms" if (I.hard_deletes_over_threshold) - entry["Hard Deletes Over Threshold"] = I.hard_deletes_over_threshold + dellog += "\tHard Deletes Over Threshold: [I.hard_deletes_over_threshold]" if (I.slept_destroy) - entry["Total Sleeps"] = I.slept_destroy + dellog += "\tSleeps: [I.slept_destroy]" if (I.no_respect_force) - entry["Total Ignored Force"] = I.no_respect_force + dellog += "\tIgnored force: [I.no_respect_force] times" if (I.no_hint) - entry["Total No Hint"] = I.no_hint - if(LAZYLEN(I.extra_details)) - entry["Deleted Metadata"] = I.extra_details - - log_qdel("", del_log) + dellog += "\tNo hint: [I.no_hint] times" + if (LAZYLEN(I.extra_details)) + dellog += "\tDeleted Metadata:" + dellog += I.extra_details.Join("\n\t") + if (I.most_refs) + dellog += "\tMost Refs After qdel(): [I.most_refs]" + log_qdel(dellog.Join("\n")) /datum/controller/subsystem/garbage/fire() //the fact that this resets its processing each fire (rather then resume where it left off) is intentional. @@ -191,8 +190,10 @@ SUBSYSTEM_DEF(garbage) var/datum/D = L[GC_QUEUE_ITEM_REF] + var/remaining_refs = refcount(D) - REFS_WE_EXPECT + // If that's all we've got, send er off - if (refcount(D) == REFS_WE_EXPECT) + if (!remaining_refs) ++gcedlasttick ++totalgcs pass_counts[level]++ @@ -213,9 +214,8 @@ SUBSYSTEM_DEF(garbage) switch (level) if (GC_QUEUE_CHECK) #ifdef REFERENCE_TRACKING - // Decides how many refs to look for (potentially) + // Decides how many refs to look for (potentially) with remaining_refs // Based off the remaining and the ones we can account for - var/remaining_refs = refcount(D) - REFS_WE_EXPECT if(reference_find_on_fail[text_ref(D)]) INVOKE_ASYNC(D, TYPE_PROC_REF(/datum,find_references), remaining_refs) ref_searching = TRUE @@ -230,8 +230,9 @@ SUBSYSTEM_DEF(garbage) var/datum/qdel_item/I = items[type] var/message = "## TESTING: GC: -- [text_ref(D)] | [type] was unable to be GC'd --" - message = "[message] (ref count of [refcount(D)])" + message = "[message] (ref count of [remaining_refs])" log_world(message) + I.most_refs = max(I.most_refs, remaining_refs) var/detail = D.dump_harddel_info() if(detail) @@ -341,6 +342,7 @@ SUBSYSTEM_DEF(garbage) var/hard_delete_time = 0 //!Total amount of milliseconds spent hard deleting this type. var/hard_delete_max = 0 //!Highest time spent hard_deleting this in ms. var/hard_deletes_over_threshold = 0 //!Number of times hard deletes took longer than the configured threshold + var/most_refs = 0 //!The highest amount of refs its had after failing to qdel var/no_respect_force = 0 //!Number of times it's not respected force=TRUE var/no_hint = 0 //!Number of times it's not even bother to give a qdel hint var/slept_destroy = 0 //!Number of times it's slept in its destroy From e5b99ad77552ab4d5ed7a758dce8b77178b48dda Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Fri, 25 Oct 2024 08:18:11 -0500 Subject: [PATCH 116/344] Tweaks and improvments to SSblackbox logging (#3561) updates a few of the logs to be more useful and ands a few new ones :cl: add: Faction statistics are now logged to the blackbox del: Removes some cruft, red and blue team radios, out date/useless database logging station trash cleaned /:cl: --------- Co-authored-by: Sun-Soaked <45698967+Sun-Soaked@users.noreply.github.com> --- code/__DEFINES/radio.dm | 5 +-- code/controllers/subsystem/blackbox.dm | 4 -- code/game/communications.dm | 12 ++---- code/game/machinery/autolathe.dm | 11 ++--- code/game/machinery/teambuilder.dm | 2 - code/game/objects/effects/decals/cleanable.dm | 7 +-- .../game/objects/items/devices/radio/radio.dm | 2 +- .../game/objects/items/stacks/sheets/glass.dm | 9 ++-- code/game/objects/items/trash.dm | 7 +-- code/game/say.dm | 6 +-- code/game/turfs/closed/minerals.dm | 3 +- code/modules/awaymissions/capture_the_flag.dm | 2 - code/modules/faction/faction_datum.dm | 43 +++++++++++++------ .../mining/equipment/kinetic_crusher.dm | 1 + .../modules/mob/dead/new_player/new_player.dm | 1 + .../mob/dead/new_player/ship_select.dm | 3 +- code/modules/mob/living/brain/brain_item.dm | 3 +- .../projectiles/ammunition/_ammo_casing.dm | 3 -- 18 files changed, 58 insertions(+), 66 deletions(-) diff --git a/code/__DEFINES/radio.dm b/code/__DEFINES/radio.dm index 8e3668b90567..3dfda875a8cb 100644 --- a/code/__DEFINES/radio.dm +++ b/code/__DEFINES/radio.dm @@ -22,7 +22,6 @@ #define RADIO_KEY_CENTCOM "e" #define RADIO_TOKEN_CENTCOM ":e" -//WS Begin - SGR, Overmaps #define RADIO_CHANNEL_SOLGOV "SolGov" #define RADIO_KEY_SOLGOV "s" #define RADIO_TOKEN_SOLGOV ":s" @@ -59,8 +58,6 @@ // Frequencies are always odd numbers and range from 1201 to 1599. #define FREQ_SYNDICATE 1213 // Nuke op comms frequency, dark brown -#define FREQ_CTF_RED 1215 // CTF red team comms frequency, red -#define FREQ_CTF_BLUE 1217 // CTF blue team comms frequency, blue #define FREQ_CENTCOM 1337 // CentCom comms frequency, gray #define FREQ_SOLGOV 1345 // SolGov comms frequency, dark blue WS ADDITION #define FREQ_INTEQ 1347 // Inteq comms frequency, light brown @@ -92,7 +89,7 @@ #define MAX_FREQ 1489 // ------------------------------------------------------ -#define FREQ_WIDEBAND 1501 // Subspace/shuttle comms frequency, dark blue WS ADDITION +#define FREQ_WIDEBAND 1501 // sector wide communication #define MAX_FREE_FREQ 1599 // ------------------------------------------------- diff --git a/code/controllers/subsystem/blackbox.dm b/code/controllers/subsystem/blackbox.dm index 2ac0b06b74d6..ab325d49ebe7 100644 --- a/code/controllers/subsystem/blackbox.dm +++ b/code/controllers/subsystem/blackbox.dm @@ -150,10 +150,6 @@ SUBSYSTEM_DEF(blackbox) record_feedback("tally", "radio_usage", 1, "solgov") //WS Edit - SolGov Rep if(FREQ_AI_PRIVATE) record_feedback("tally", "radio_usage", 1, "ai private") - if(FREQ_CTF_RED) - record_feedback("tally", "radio_usage", 1, "CTF red team") - if(FREQ_CTF_BLUE) - record_feedback("tally", "radio_usage", 1, "CTF blue team") else record_feedback("tally", "radio_usage", 1, "other") diff --git a/code/game/communications.dm b/code/game/communications.dm index 94afdbf364f5..2ee368eaa891 100644 --- a/code/game/communications.dm +++ b/code/game/communications.dm @@ -94,8 +94,8 @@ GLOBAL_LIST_INIT(radiochannels, list( RADIO_CHANNEL_COMMON = FREQ_COMMON, RADIO_CHANNEL_COMMAND = FREQ_COMMAND, RADIO_CHANNEL_CENTCOM = FREQ_CENTCOM, - RADIO_CHANNEL_SOLGOV = FREQ_SOLGOV, //WS Edit - SolGov Rep - RADIO_CHANNEL_WIDEBAND = FREQ_WIDEBAND, //WS Edit - Overmap + RADIO_CHANNEL_SOLGOV = FREQ_SOLGOV, + RADIO_CHANNEL_WIDEBAND = FREQ_WIDEBAND, RADIO_CHANNEL_SYNDICATE = FREQ_SYNDICATE, RADIO_CHANNEL_NANOTRASEN = FREQ_NANOTRASEN, RADIO_CHANNEL_MINUTEMEN = FREQ_MINUTEMEN, @@ -103,16 +103,14 @@ GLOBAL_LIST_INIT(radiochannels, list( RADIO_CHANNEL_INTEQ = FREQ_INTEQ, RADIO_CHANNEL_PIRATE = FREQ_PIRATE, RADIO_CHANNEL_AI_PRIVATE = FREQ_AI_PRIVATE, - RADIO_CHANNEL_CTF_RED = FREQ_CTF_RED, - RADIO_CHANNEL_CTF_BLUE = FREQ_CTF_BLUE )) GLOBAL_LIST_INIT(reverseradiochannels, list( "[FREQ_COMMON]" = RADIO_CHANNEL_COMMON, "[FREQ_COMMAND]" = RADIO_CHANNEL_COMMAND, "[FREQ_CENTCOM]" = RADIO_CHANNEL_CENTCOM, - "[FREQ_SOLGOV]" = RADIO_CHANNEL_SOLGOV, //WS Edit - SolGov Rep - "[FREQ_WIDEBAND]" = RADIO_CHANNEL_WIDEBAND, //WS Edit - SolGov Rep + "[FREQ_SOLGOV]" = RADIO_CHANNEL_SOLGOV, + "[FREQ_WIDEBAND]" = RADIO_CHANNEL_WIDEBAND, "[FREQ_SYNDICATE]" = RADIO_CHANNEL_SYNDICATE, "[FREQ_NANOTRASEN]" = RADIO_CHANNEL_NANOTRASEN, "[FREQ_MINUTEMEN]" = RADIO_CHANNEL_MINUTEMEN, @@ -120,8 +118,6 @@ GLOBAL_LIST_INIT(reverseradiochannels, list( "[FREQ_INTEQ]" = RADIO_CHANNEL_INTEQ, "[FREQ_PIRATE]" = RADIO_CHANNEL_PIRATE, "[FREQ_AI_PRIVATE]" = RADIO_CHANNEL_AI_PRIVATE, - "[FREQ_CTF_RED]" = RADIO_CHANNEL_CTF_RED, - "[FREQ_CTF_BLUE]" = RADIO_CHANNEL_CTF_BLUE )) /datum/radio_frequency diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index e63b3f75fb2b..452cd39b5d58 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -339,14 +339,15 @@ materials.use_materials(materials_used) if(is_stack) - var/obj/item/stack/N = new being_built.build_path(A, multiplier, FALSE) - N.update_appearance() - N.autolathe_crafted(src) + var/obj/item/stack/new_item = new being_built.build_path(A, multiplier, FALSE) + new_item.update_appearance() + new_item.autolathe_crafted(src) + SSblackbox.record_feedback("nested tally", "item_printed", 1, list("[type]", "[new_item.type]")) else for(var/i=1, i<=multiplier, i++) var/obj/item/new_item = new being_built.build_path(A) new_item.autolathe_crafted(src) - + SSblackbox.record_feedback("nested tally", "item_printed", 1, list("[type]", "[new_item.type]")) if(length(picked_materials)) new_item.set_custom_materials(picked_materials, 1 / multiplier) //Ensure we get the non multiplied amount for(var/x in picked_materials) @@ -446,5 +447,5 @@ //Called when the object is constructed by an autolathe //Has a reference to the autolathe so you can do !!FUN!! things with hacked lathes -/obj/item/proc/autolathe_crafted(obj/machinery/autolathe/A) +/obj/item/proc/autolathe_crafted(obj/machinery/autolathe/lathe) return diff --git a/code/game/machinery/teambuilder.dm b/code/game/machinery/teambuilder.dm index 153035a39374..402ea5aa5c6b 100644 --- a/code/game/machinery/teambuilder.dm +++ b/code/game/machinery/teambuilder.dm @@ -43,11 +43,9 @@ desc = "A machine that, when passed, colors you based on the color of your team. Go red team!" color = "#ff0000" team_color = "#ff0000" - team_radio = FREQ_CTF_RED /obj/machinery/teambuilder/blue name = "Teambuilding Machine (Blue)" desc = "A machine that, when passed, colors you based on the color of your team. Go blue team!" color = "#0000ff" team_color = "#0000ff" - team_radio = FREQ_CTF_BLUE diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm index 3ec6f58aa7b1..0be76dd1fac6 100644 --- a/code/game/objects/effects/decals/cleanable.dm +++ b/code/game/objects/effects/decals/cleanable.dm @@ -32,11 +32,8 @@ AddElement(/datum/element/connect_loc, loc_connections) AddElement(/datum/element/beauty, beauty) - SSblackbox.record_feedback("tally", "station_mess_created", 1, name) - -/obj/effect/decal/cleanable/Destroy() - SSblackbox.record_feedback("tally", "station_mess_destroyed", 1, name) - return ..() + if(!mapload) + SSblackbox.record_feedback("tally", "station_mess_created", 1, name) /obj/effect/decal/cleanable/proc/replace_decal(obj/effect/decal/cleanable/C) // Returns true if we should give up in favor of the pre-existing decal if(mergeable_decal) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 68673fd0b529..ae8163383ca1 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -254,7 +254,7 @@ var/datum/signal/subspace/vocal/signal = new(src, freq, speaker, language, message, spans, message_mods) // Independent radios, on the CentCom frequency, reach all independent radios - if (independent && (freq == FREQ_CENTCOM || freq == FREQ_WIDEBAND || freq == FREQ_CTF_RED || freq == FREQ_CTF_BLUE)) //WS Edit - SolGov Rep + if (independent && (freq == FREQ_CENTCOM || freq == FREQ_WIDEBAND)) //WS Edit - SolGov Rep signal.data["compression"] = 0 signal.transmission_method = TRANSMISSION_SUPERSPACE signal.map_zones = list(0) // reaches all Z-levels diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index 40de06d6f9cb..666e927eaf3e 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -282,7 +282,7 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( var/obj/item/stack/sheet/weld_material = /obj/item/stack/sheet/glass embedding = list("embed_chance" = 65) -/obj/item/shard/Initialize() +/obj/item/shard/Initialize(mapload) . = ..() AddComponent(/datum/component/caltrop, force) AddComponent(/datum/component/butchering, 150, 65) @@ -300,17 +300,14 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( if (icon_prefix) icon_state = "[icon_prefix][icon_state]" - SSblackbox.record_feedback("tally", "station_mess_created", 1, name) + if(!mapload) + SSblackbox.record_feedback("tally", "station_mess_created", 1, name) var/static/list/loc_connections = list( COMSIG_ATOM_ENTERED = PROC_REF(on_entered), ) AddElement(/datum/element/connect_loc, loc_connections) -/obj/item/shard/Destroy() - . = ..() - SSblackbox.record_feedback("tally", "station_mess_destroyed", 1, name) - /obj/item/shard/afterattack(atom/A as mob|obj, mob/user, proximity) . = ..() if(!proximity || !(src in user)) diff --git a/code/game/objects/items/trash.dm b/code/game/objects/items/trash.dm index bdcb89796bc4..cc67c6795783 100644 --- a/code/game/objects/items/trash.dm +++ b/code/game/objects/items/trash.dm @@ -8,11 +8,8 @@ resistance_flags = FLAMMABLE /obj/item/trash/Initialize(mapload) - SSblackbox.record_feedback("tally", "station_mess_created", 1, name) - return ..() - -/obj/item/trash/Destroy() - SSblackbox.record_feedback("tally", "station_mess_destroyed", 1, name) + if(!mapload) + SSblackbox.record_feedback("tally", "station_mess_created", 1, name) return ..() /obj/item/trash/raisins diff --git a/code/game/say.dm b/code/game/say.dm index cac8bafe5365..c92b984dbb77 100644 --- a/code/game/say.dm +++ b/code/game/say.dm @@ -13,10 +13,8 @@ GLOBAL_LIST_INIT(freqtospan, list( "[FREQ_AI_PRIVATE]" = "aiprivradio", "[FREQ_SYNDICATE]" = "syndradio", "[FREQ_CENTCOM]" = "centcomradio", - "[FREQ_SOLGOV]" = "solgovradio", //WS Edit - SolGov Rep - "[FREQ_WIDEBAND]" = "widebandradio", //WS Edit - Overmaps - "[FREQ_CTF_RED]" = "redteamradio", - "[FREQ_CTF_BLUE]" = "blueteamradio" + "[FREQ_SOLGOV]" = "solgovradio", + "[FREQ_WIDEBAND]" = "widebandradio", )) GLOBAL_LIST_INIT(freqcolor, list()) diff --git a/code/game/turfs/closed/minerals.dm b/code/game/turfs/closed/minerals.dm index 883b1d6b72a4..485a1034c91c 100644 --- a/code/game/turfs/closed/minerals.dm +++ b/code/game/turfs/closed/minerals.dm @@ -118,7 +118,8 @@ visible_message(span_warning("The ore was completely ruined!")) else new mineralType(src, mineralAmt) - SSblackbox.record_feedback("tally", "ore_mined", mineralAmt, mineralType) + if(ishuman(user)) + SSblackbox.record_feedback("tally", "ore_mined", mineralAmt, mineralType) if(ishuman(user)) var/mob/living/carbon/human/H = user if(give_exp) diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm index cde1ad6a4de1..037ae0add3e6 100644 --- a/code/modules/awaymissions/capture_the_flag.dm +++ b/code/modules/awaymissions/capture_the_flag.dm @@ -590,7 +590,6 @@ /datum/outfit/ctf/red/post_equip(mob/living/carbon/human/H) ..() var/obj/item/radio/R = H.ears - R.set_frequency(FREQ_CTF_RED) R.freqlock = TRUE R.independent = TRUE H.dna.species.stunmod = 0 @@ -598,7 +597,6 @@ /datum/outfit/ctf/blue/post_equip(mob/living/carbon/human/H) ..() var/obj/item/radio/R = H.ears - R.set_frequency(FREQ_CTF_BLUE) R.freqlock = TRUE R.independent = TRUE H.dna.species.stunmod = 0 diff --git a/code/modules/faction/faction_datum.dm b/code/modules/faction/faction_datum.dm index 450ee9688953..017c324f5011 100644 --- a/code/modules/faction/faction_datum.dm +++ b/code/modules/faction/faction_datum.dm @@ -1,62 +1,77 @@ /datum/faction var/name + /// Primarly to be used for backend stuff. + var/short_name var/parent_faction + /// List of prefixes that ships of this faction uses var/list/prefixes +/datum/faction/New() + if(!short_name) + short_name = name + /datum/faction/syndicate name = FACTION_SYNDICATE parent_faction = /datum/faction/syndicate - prefixes = list("SEV", "SSV") + prefixes = PREFIX_SYNDICATE /datum/faction/syndicate/ngr name = FACTION_NGR - prefixes = list("NGRV") + short_name = "NGR" + prefixes = PREFIX_NGR /datum/faction/syndicate/cybersun name = FACTION_CYBERSUN - prefixes = list("CSSV") + prefixes = PREFIX_CYBERSUN /datum/faction/syndicate/suns name = FACTION_SUNS - prefixes = list("SUNS") + short_name = "SUNS" + prefixes = PREFIX_SUNS /datum/faction/solgov name = FACTION_SOLGOV - prefixes = list("SCSV") + prefixes = PREFIX_SOLGOV /datum/faction/srm name = FACTION_SRM - prefixes = list("SRSV") + short_name = "SRM" + prefixes = PREFIX_SRM /datum/faction/inteq name = FACTION_INTEQ - prefixes = list("IRMV") + short_name = "INTEQ" + prefixes = PREFIX_INTEQ /datum/faction/clip name = FACTION_CLIP - prefixes = list("CMSV", "CMGSV") + short_name = "CLIP" + prefixes = PREFIX_CLIP /datum/faction/nt name = FACTION_NT + short_name = "NT" parent_faction = /datum/faction/nt - prefixes = list("NTSV") + prefixes = PREFIX_NT /datum/faction/nt/ns_logi name = FACTION_NS_LOGI - prefixes = list("NSSV") + prefixes = PREFIX_NS_LOGI /datum/faction/nt/vigilitas name = FACTION_VIGILITAS - prefixes = list("VISV") + prefixes = PREFIX_VIGILITAS /datum/faction/frontier name = FACTION_FRONTIER - prefixes = list("FFV") + prefixes = PREFIX_FRONTIER /datum/faction/pgf name = FACTION_PGF - prefixes = list("PGF", "PGFMC", "PGFN") + short_name = "PGF" + prefixes = PREFIX_PGF /datum/faction/independent name = FACTION_INDEPENDENT - prefixes = list("SV", "IMV", "ISV") + short_name = "Indie" + prefixes = PREFIX_INDEPENDENT diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm index 6f9916d1b120..9585cf95ec20 100644 --- a/code/modules/mining/equipment/kinetic_crusher.dm +++ b/code/modules/mining/equipment/kinetic_crusher.dm @@ -169,6 +169,7 @@ // [/CELADON-REMOVE] var/target_turf = get_turf(target) if(ismineralturf(target_turf)) + SSblackbox.record_feedback("tally", "pick_used_mining", 1, src.type) var/turf/closed/mineral/M = target_turf new /obj/effect/temp_visual/kinetic_blast(M) ..() diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index 2dbbd9d4b65b..3ff72083450a 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -345,6 +345,7 @@ log_manifest(character.mind.key, character.mind, character, TRUE) + SSblackbox.record_feedback("tally", "player_joined_faction", 1, ship.get_faction()) if(length(ship.job_slots) > 1 && ship.job_slots[1] == job) // if it's the "captain" equivalent job of the ship. checks to make sure it's not a one-job ship minor_announce("[job.name] [character.real_name] on deck!", zlevel = ship.shuttle_port.virtual_z()) return TRUE diff --git a/code/modules/mob/dead/new_player/ship_select.dm b/code/modules/mob/dead/new_player/ship_select.dm index f7e0e1c11f7c..3248f62afe06 100644 --- a/code/modules/mob/dead/new_player/ship_select.dm +++ b/code/modules/mob/dead/new_player/ship_select.dm @@ -106,7 +106,8 @@ to_chat(spawnee, "There was an error loading the ship. Please contact admins!") spawnee.new_player_panel() return - SSblackbox.record_feedback("tally", "ship_purchased", 1, template.name) //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + SSblackbox.record_feedback("tally", "ship_purchased", 1, template.name) + SSblackbox.record_feedback("tally", "faction_ship_purchased", 1, template.faction_datum.name) // Try to spawn as the first listed job in the job slots (usually captain) // Playtime checks are overridden, to ensure the player gets to join the ship they spawned. if(!spawnee.AttemptLateSpawn(target.job_slots[1], target, FALSE)) diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm index 8629d01650d4..5fe96021461b 100644 --- a/code/modules/mob/living/brain/brain_item.dm +++ b/code/modules/mob/living/brain/brain_item.dm @@ -381,7 +381,8 @@ if(resilience) actual_trauma.resilience = resilience . = actual_trauma - SSblackbox.record_feedback("tally", "traumas", 1, actual_trauma.type) + if(owner?.client) + SSblackbox.record_feedback("tally", "traumas", 1, actual_trauma.type) //Add a random trauma of a certain subtype /obj/item/organ/brain/proc/gain_trauma_type(brain_trauma_type = /datum/brain_trauma, resilience, natural_gain = FALSE) diff --git a/code/modules/projectiles/ammunition/_ammo_casing.dm b/code/modules/projectiles/ammunition/_ammo_casing.dm index d79919aaae15..f1d6eda1a765 100644 --- a/code/modules/projectiles/ammunition/_ammo_casing.dm +++ b/code/modules/projectiles/ammunition/_ammo_casing.dm @@ -171,11 +171,8 @@ /obj/item/ammo_casing/Destroy() . = ..() - if(BB) QDEL_NULL(BB) - else - SSblackbox.record_feedback("tally", "station_mess_destroyed", 1, name) /obj/item/ammo_casing/update_icon_state() icon_state = "[initial(icon_state)][BB ? (bullet_skin ? "-[bullet_skin]" : "") : "-empty"]" From 3e84e77f90624c89b3bb8f191bca5606ce14a768 Mon Sep 17 00:00:00 2001 From: Mark Suckerberg Date: Fri, 25 Oct 2024 09:54:40 -0500 Subject: [PATCH 117/344] Opendream-detected Errors, More Harddels, Slight CI Improvements (#3572) I didn't get them all in my last PR, apparently. Also throws in some minor tweaks for ambiguity and such detected by the OpenDream parser since I was messing around with that at the time. Also adds OpenDream linting to CI because why not. Ports: tgstation/tgstation#81892 (which is in turn from Para and Goon) tgstation/tgstation#82029 beestation/beestation-hornet#11464 tgstation/tgstation#86510 tgstation/tgstation#83255 tgstation/tgstation#78225 tgstation/tgstation#78265 Fixes: #3530 Harddels still bad, OpenDream good --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: san7890 Co-authored-by: PowerfulBacon <26465327+PowerfulBacon@users.noreply.github.com> Co-authored-by: Jordan Dominion Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Co-authored-by: distributivgesetz Co-authored-by: Aleksej Komarov --- .github/workflows/autowiki.yml | 2 +- .github/workflows/ci_suite.yml | 135 +++++++++++++----- .github/workflows/codeowner_reviews.yml | 1 + .github/workflows/rerun_flaky_tests.yml | 34 ++--- .github/workflows/run_integration_tests.yml | 2 + .github/workflows/tgs_test.yml | 9 +- .gitignore | 1 + __odlint.dm | 10 ++ check_regex.yaml | 2 +- code/__DEFINES/misc.dm | 4 + code/__HELPERS/_logging.dm | 12 +- code/__HELPERS/type2type.dm | 8 +- code/_compile_options.dm | 15 +- code/controllers/subsystem/acid.dm | 3 +- code/datums/components/_component.dm | 18 +-- code/datums/components/food/edible.dm | 6 +- code/datums/components/radioactive.dm | 1 - code/game/machinery/computer/medical.dm | 6 - code/game/machinery/computer/security.dm | 1 - code/game/objects/items/crayons.dm | 4 +- code/game/objects/items/devices/PDA/PDA.dm | 2 +- code/game/objects/items/devices/mines.dm | 2 +- code/game/objects/items/pet_carrier.dm | 6 +- code/game/objects/items/storage/guncases.dm | 2 + code/game/objects/obj_defense.dm | 7 +- .../crates_lockers/closets/utility_closets.dm | 2 +- code/game/objects/structures/crateshelf.dm | 1 + code/modules/admin/permissionedit.dm | 2 +- .../admin/view_variables/debug_variables.dm | 17 +-- code/modules/client/loadout/_loadout.dm | 6 +- .../client/loadout/loadout_accessories.dm | 3 + code/modules/client/loadout/loadout_hat.dm | 3 + code/modules/client/loadout/loadout_suit.dm | 3 + code/modules/client/preferences.dm | 2 +- code/modules/clothing/head/jobs.dm | 2 +- code/modules/clothing/head/misc.dm | 2 +- code/modules/clothing/suits/cloaks.dm | 1 - code/modules/clothing/under/accessories.dm | 5 +- code/modules/food_and_drinks/drinks/drinks.dm | 1 + .../modules/mob/dead/new_player/new_player.dm | 2 +- .../living/simple_animal/hostile/hostile.dm | 2 +- code/modules/mob/mob.dm | 2 - code/modules/mob/mob_helpers.dm | 4 +- code/modules/projectiles/gun.dm | 2 +- .../projectiles/guns/ballistic/assault.dm | 9 +- .../projectiles/guns/ballistic/revolver.dm | 2 + .../projectiles/guns/ballistic/shotgun.dm | 6 +- code/modules/projectiles/guns/energy.dm | 1 + code/modules/projectiles/guns/energy/laser.dm | 2 - .../manufacturer/scarborough/ballistics.dm | 2 +- .../chemistry/reagents/drink_reagents.dm | 2 +- .../chemistry/reagents/food_reagents.dm | 2 +- code/modules/surgery/bodyparts/bodyparts.dm | 2 +- code/modules/unit_tests/_unit_tests.dm | 4 +- code/modules/unit_tests/create_and_destroy.dm | 10 +- code/modules/unit_tests/icons/inhands.dm | 6 +- code/modules/unit_tests/icons/worn_icons.dm | 31 ++-- code/modules/unit_tests/outfit_sanity.dm | 4 +- icons/mob/inhands/weapons/guns_lefthand.dmi | Bin 42172 -> 39557 bytes .../mob/inhands/weapons/swords_righthand.dmi | Bin 31326 -> 31324 bytes shiptest.dme | 1 + tgui/public/tgui.html | 8 +- tools/ci/annotate_dm.sh | 4 + tools/ci/annotate_od.sh | 4 + tools/ci/od_lints.dm | 58 ++++++++ tools/dm_annotator/__main__.py | 59 ++++++++ tools/od_annotator/__main__.py | 50 +++++++ tools/requirements.txt | 6 +- tools/tgs_test/Program.cs | 4 +- 69 files changed, 454 insertions(+), 178 deletions(-) create mode 100644 __odlint.dm create mode 100755 tools/ci/annotate_dm.sh create mode 100644 tools/ci/annotate_od.sh create mode 100644 tools/ci/od_lints.dm create mode 100644 tools/dm_annotator/__main__.py create mode 100644 tools/od_annotator/__main__.py diff --git a/.github/workflows/autowiki.yml b/.github/workflows/autowiki.yml index c6f85bade91d..10d3cea1e676 100644 --- a/.github/workflows/autowiki.yml +++ b/.github/workflows/autowiki.yml @@ -43,7 +43,7 @@ jobs: sudo apt update || true sudo apt install -o APT::Immediate-configure=false libssl-dev:i386 bash tools/ci/install_rust_g.sh - + - name: Cache dependencies if: steps.secrets_set.outputs.SECRETS_ENABLED uses: actions/cache@v3 diff --git a/.github/workflows/ci_suite.yml b/.github/workflows/ci_suite.yml index 47f8b1df9941..bc00fd045df3 100644 --- a/.github/workflows/ci_suite.yml +++ b/.github/workflows/ci_suite.yml @@ -3,17 +3,35 @@ on: push: branches: - master + - "project/**" pull_request: branches: - master + - "project/**" merge_group: branches: - master + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + jobs: + start_gate: + if: ( !contains(github.event.head_commit.message, '[ci skip]') ) + name: Start Gate + runs-on: ubuntu-latest + steps: + - name: Mandatory Empty Step + run: exit 0 + run_linters: if: "!contains(github.event.head_commit.message, '[ci skip]')" name: Run Linters + needs: start_gate runs-on: ubuntu-22.04 + timeout-minutes: 5 + steps: - uses: actions/checkout@v3 with: @@ -53,39 +71,63 @@ jobs: run: | pip3 install setuptools bash tools/ci/install_node.sh - bash tools/ci/install_spaceman_dmm.sh dreamchecker cargo install ripgrep --features pcre2 tools/bootstrap/python -c '' - - name: Run Linters + - name: Give Linters A Go + id: linter-setup + run: exit 0 + - name: Run Grep Checks + if: steps.linter-setup.conclusion == 'success' && !cancelled() + run: bash tools/ci/check_grep.sh + - name: Run DreamChecker + if: steps.linter-setup.conclusion == 'success' && !cancelled() + run: ~/dreamchecker 2>&1 | bash tools/ci/annotate_dm.sh + - name: Run Map Checks + if: steps.linter-setup.conclusion == 'success' && !cancelled() run: | - tools/bootstrap/python -m tools.maplint.source --github - tools/build/build --ci lint tgui-test - bash tools/ci/check_filedirs.sh shiptest.dme - bash tools/ci/check_changelogs.sh - bash tools/ci/check_misc.sh - bash tools/ci/check_grep.sh - tools/bootstrap/python -m dmi.test tools/bootstrap/python -m mapmerge2.dmm_test - ~/dreamchecker > ${GITHUB_WORKSPACE}/output-annotations.txt 2>&1 - - - name: Annotate Lints - uses: yogstation13/DreamAnnotate@v2 - with: - outputFile: output-annotations.txt - - - name: Run Check Regex + tools/bootstrap/python -m tools.maplint.source + - name: Run DMI Tests + if: steps.linter-setup.conclusion == 'success' && !cancelled() + run: tools/bootstrap/python -m dmi.test + - name: Check File Directories + if: steps.linter-setup.conclusion == 'success' && !cancelled() + run: bash tools/ci/check_filedirs.sh shiptest.dme + - name: Check Changelogs + if: steps.linter-setup.conclusion == 'success' && !cancelled() + run: bash tools/ci/check_changelogs.sh + - name: Check Miscellaneous Files + if: steps.linter-setup.conclusion == 'success' && !cancelled() + run: bash tools/ci/check_misc.sh + - name: Run TGUI Checks + if: steps.linter-setup.conclusion == 'success' && !cancelled() + run: tools/build/build --ci lint tgui-test + - name: Run Regex Checks + if: steps.linter-setup.conclusion == 'success' && !cancelled() run: | tools/bootstrap/python -m ci.check_regex --log-changes-only --github-actions + cat check_regex_output.txt + + - name: Install OpenDream + uses: robinraju/release-downloader@v1.9 + with: + repository: "OpenDreamProject/OpenDream" + tag: "latest" + fileName: "DMCompiler_linux-x64.tar.gz" + extract: true - - name: Annotate Regex Matches + - name: Run OpenDream Linter run: | - cat check_regex_output.txt + ./DMCompiler_linux-x64/DMCompiler shiptest.dme --suppress-unimplemented --define=CIBUILDING | bash tools/ci/annotate_od.sh compile_all_maps: if: "!contains(github.event.head_commit.message, '[ci skip]')" name: Compile Maps + needs: start_gate runs-on: ubuntu-latest + timeout-minutes: 5 + steps: - uses: actions/checkout@v3 @@ -107,37 +149,41 @@ jobs: run_all_tests: if: "!contains(github.event.head_commit.message, '[ci skip]')" name: Integration Tests + needs: start_gate strategy: fail-fast: false matrix: - arg: [ - "BASIC_TESTS", - "CREATE_AND_DESTROY_TEST", - "PLANET_GEN_TEST", - "RUIN_PLACEMENT_TEST", - "SHIP_PLACEMENT_TEST" - ] + arg: + [ + "BASIC_TESTS", + "CREATE_AND_DESTROY_TEST", + "PLANET_GEN_TEST", + "RUIN_PLACEMENT_TEST", + "SHIP_PLACEMENT_TEST", + ] uses: ./.github/workflows/run_integration_tests.yml with: arg: ${{ matrix.arg }} -# run_alternate_tests: -# if: "!contains(github.event.head_commit.message, '[ci skip]')" -# name: Alternate Tests -# strategy: -# fail-fast: false -# matrix: -# major: [515] -# minor: [1614] -# uses: ./.github/workflows/run_integration_tests.yml -# with: -# major: ${{ matrix.major }} -# minor: ${{ matrix.minor }} + # run_alternate_tests: + # if: "!contains(github.event.head_commit.message, '[ci skip]')" + # name: Alternate Tests + # strategy: + # fail-fast: false + # matrix: + # major: [515] + # minor: [1614] + # uses: ./.github/workflows/run_integration_tests.yml + # with: + # major: ${{ matrix.major }} + # minor: ${{ matrix.minor }} test_windows: if: "!contains(github.event.head_commit.message, '[ci skip]')" name: Windows Build + needs: start_gate runs-on: windows-latest + timeout-minutes: 5 steps: - uses: actions/checkout@v3 @@ -162,7 +208,18 @@ jobs: bash tools/deploy.sh ./deploy - name: Deploy artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: deploy path: deploy + + completion_gate: # Serves as a non-moving target for branch rulesets + if: always() && !cancelled() + name: Completion Gate + needs: [test_windows, compile_all_maps, run_linters, run_all_tests] + runs-on: ubuntu-latest + steps: + - name: Decide whether the needed jobs succeeded or failed + uses: re-actors/alls-green@release/v1 + with: + jobs: ${{ toJSON(needs) }} diff --git a/.github/workflows/codeowner_reviews.yml b/.github/workflows/codeowner_reviews.yml index 753f575f90d7..6799c5d14b37 100644 --- a/.github/workflows/codeowner_reviews.yml +++ b/.github/workflows/codeowner_reviews.yml @@ -6,6 +6,7 @@ on: pull_request_target jobs: assign-users: runs-on: ubuntu-latest + timeout-minutes: 5 steps: # Checks-out your repository under $GITHUB_WORKSPACE, so the job can access it diff --git a/.github/workflows/rerun_flaky_tests.yml b/.github/workflows/rerun_flaky_tests.yml index e3cbda05749b..b705735a0dfb 100644 --- a/.github/workflows/rerun_flaky_tests.yml +++ b/.github/workflows/rerun_flaky_tests.yml @@ -3,7 +3,7 @@ on: workflow_run: workflows: [Checks] types: - - completed + - completed permissions: actions: write @@ -15,23 +15,23 @@ jobs: runs-on: ubuntu-latest if: ${{ github.event.workflow_run.conclusion == 'failure' && github.event.workflow_run.run_attempt == 1 }} steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Rerun flaky tests - uses: actions/github-script@v6 - with: - script: | - const { rerunFlakyTests } = await import('${{ github.workspace }}/tools/pull_request_hooks/rerunFlakyTests.js') - await rerunFlakyTests({ github, context }) + - name: Checkout + uses: actions/checkout@v3 + - name: Rerun flaky tests + uses: actions/github-script@v6 + with: + script: | + const { rerunFlakyTests } = await import('${{ github.workspace }}/tools/pull_request_hooks/rerunFlakyTests.js') + await rerunFlakyTests({ github, context }) report_flaky_tests: runs-on: ubuntu-latest if: ${{ github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.run_attempt == 2 }} steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Report flaky tests - uses: actions/github-script@v6 - with: - script: | - const { reportFlakyTests } = await import('${{ github.workspace }}/tools/pull_request_hooks/rerunFlakyTests.js') - await reportFlakyTests({ github, context }) + - name: Checkout + uses: actions/checkout@v3 + - name: Report flaky tests + uses: actions/github-script@v6 + with: + script: | + const { reportFlakyTests } = await import('${{ github.workspace }}/tools/pull_request_hooks/rerunFlakyTests.js') + await reportFlakyTests({ github, context }) diff --git a/.github/workflows/run_integration_tests.yml b/.github/workflows/run_integration_tests.yml index 9c83d6ab013d..699151fe6f99 100644 --- a/.github/workflows/run_integration_tests.yml +++ b/.github/workflows/run_integration_tests.yml @@ -14,9 +14,11 @@ on: required: false default: ALL_TESTS type: string + jobs: run_integration_tests: runs-on: ubuntu-latest + timeout-minutes: 15 services: mysql: image: mysql:latest diff --git a/.github/workflows/tgs_test.yml b/.github/workflows/tgs_test.yml index a92b6cac76a3..4b7853aa77cf 100644 --- a/.github/workflows/tgs_test.yml +++ b/.github/workflows/tgs_test.yml @@ -3,7 +3,9 @@ on: push: branches: - master + - 'project/**' - 'gh-readonly-queue/master/**' + - 'gh-readonly-queue/project/**' paths: - '.tgs.yml' - '.github/workflows/tgs_test.yml' @@ -12,11 +14,13 @@ on: - 'code/__DEFINES/tgs.dm' - 'code/game/world.dm' - 'code/modules/tgs/**' + - 'tools/bootstrap/**' - 'tools/tgs_scripts/**' - 'tools/tgs_test/**' pull_request: branches: - master + - 'project/**' paths: - '.tgs.yml' - '.github/workflows/tgs_test.yml' @@ -25,6 +29,7 @@ on: - 'code/__DEFINES/tgs.dm' - 'code/game/world.dm' - 'code/modules/tgs/**' + - 'tools/bootstrap/**' - 'tools/tgs_scripts/**' - 'tools/tgs_test/**' merge_group: @@ -54,12 +59,12 @@ jobs: - 5000:5000 #Can't use env here for some reason steps: - name: Setup dotnet - uses: actions/setup-dotnet@v2 + uses: actions/setup-dotnet@v4 with: dotnet-version: 8.0.x - name: Checkout Repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Test TGS Integration run: dotnet run -c Release --project tools/tgs_test ${{ github.repository }} /tgs_instances/tgstation ${{ env.TGS_API_PORT }} ${{ github.event.pull_request.head.sha || github.sha }} ${{ secrets.GITHUB_TOKEN }} ${{ env.PR_NUMBER }} diff --git a/.gitignore b/.gitignore index 94713bc82e1c..196353141536 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,7 @@ *.lk *.int *.backup +/shiptest.json ### https://raw.github.com/github/gitignore/cc542de017c606138a87ee4880e5f06b3a306def/Global/Linux.gitignore *~ diff --git a/__odlint.dm b/__odlint.dm new file mode 100644 index 000000000000..b7c120514a1d --- /dev/null +++ b/__odlint.dm @@ -0,0 +1,10 @@ +// This file is included right at the start of the DME. +// Its purpose is to enable multiple lints (pragmas) that are supported by OpenDream to better validate the codebase +// These are essentially nitpicks the DM compiler should pick up on but doesnt + +#if !defined(SPACEMAN_DMM) && defined(OPENDREAM) +// This is in a separate file as a hack to avoid SpacemanDMM +// evaluating the #pragma lines, even if its outside a block it cares about +// (Also so people can code-own it. Shoutout to AA) +#include "tools/ci/od_lints.dm" +#endif diff --git a/check_regex.yaml b/check_regex.yaml index a9ed6b699d7f..95d3738da5dc 100644 --- a/check_regex.yaml +++ b/check_regex.yaml @@ -57,7 +57,7 @@ standards: - no_more: [ - 34, + 32, "indentions inside defines", '^(\s*)#define (\w*)( {2,}| ?\t+)(?!(\/\/|\/\*))', ] diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 68ef8b65b127..384b7fcc46c7 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -447,3 +447,7 @@ GLOBAL_LIST_INIT(ghost_others_options, list(GHOST_OTHERS_SIMPLE, GHOST_OTHERS_DE #define ROUND_END_NOT_DELAYED 0 #define ROUND_END_DELAYED 1 #define ROUND_END_TGS 2 + +/// A null statement to guard against EmptyBlock lint without necessitating the use of pass() +/// Used to avoid proc-call overhead. But use sparingly. Probably pointless in most places. +#define EMPTY_BLOCK_GUARD ; diff --git a/code/__HELPERS/_logging.dm b/code/__HELPERS/_logging.dm index 1ab889987695..16de5230a2bb 100644 --- a/code/__HELPERS/_logging.dm +++ b/code/__HELPERS/_logging.dm @@ -10,14 +10,22 @@ #define WRITE_LOG(log, text) rustg_log_write(log, text, "true") #define WRITE_LOG_NO_FORMAT(log, text) rustg_log_write(log, text, "false") -//print a warning message to world.log +#ifdef UNIT_TESTS +#define WARNING(MSG) log_world("::warning file=[__FILE__],line=[__LINE__]::[MSG] src: [UNLINT(src)] usr: [usr].") +#else #define WARNING(MSG) warning("[MSG] in [__FILE__] at line [__LINE__] src: [UNLINT(src)] usr: [usr].") +#endif +/// Print a warning message to world.log /proc/warning(msg) msg = "## WARNING: [msg]" log_world(msg) -//not an error or a warning, but worth to mention on the world log, just in case. +#ifdef UNIT_TESTS +#define NOTICE(MSG) log_world("::notice file=[__FILE__],line=[__LINE__]::[MSG] src: [UNLINT(src)] usr: [usr].") +#else #define NOTICE(MSG) notice(MSG) +#endif +///not an error or a warning, but worth to mention on the world log, just in case. /proc/notice(msg) msg = "## NOTICE: [msg]" log_world(msg) diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index 452a522870a0..3770b4e847ad 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -94,8 +94,8 @@ return "northwest" if(SOUTHWEST) return "southwest" - else - return + + return NONE //Turns text into proper directions /proc/text2dir(direction) @@ -116,8 +116,8 @@ return SOUTHEAST if("SOUTHWEST") return SOUTHWEST - else - return + + return NONE //Converts an angle (degrees) into an ss13 direction GLOBAL_LIST_INIT(modulo_angle_to_dir, list(NORTH,NORTHEAST,EAST,SOUTHEAST,SOUTH,SOUTHWEST,WEST,NORTHWEST)) diff --git a/code/_compile_options.dm b/code/_compile_options.dm index 9d69460f72a5..c79c33a1a681 100644 --- a/code/_compile_options.dm +++ b/code/_compile_options.dm @@ -63,7 +63,7 @@ #warn compiling in TESTING mode. testing() debug messages will be visible. #endif -#ifdef CIBUILDING +#if defined(CIBUILDING) && !defined(OPENDREAM) #define UNIT_TESTS #endif @@ -90,3 +90,16 @@ // A reasonable number of maximum overlays an object needs // If you think you need more, rethink it #define MAX_ATOM_OVERLAYS 100 + +#if defined(OPENDREAM) + #if !defined(CIBUILDING) + #warn You are building with OpenDream. Remember to build TGUI manually. + #warn You can do this by running tgui-build.cmd from the bin directory. + #endif +#else + #if !defined(CBT) && !defined(SPACEMAN_DMM) + #warn Building with Dream Maker is no longer supported and will result in errors. + #warn In order to build, run BUILD.cmd in the root directory. + #warn Consider switching to VSCode editor instead, where you can press Ctrl+Shift+B to build. + #endif +#endif diff --git a/code/controllers/subsystem/acid.dm b/code/controllers/subsystem/acid.dm index 0ea8967e263c..efbc5e7d260e 100644 --- a/code/controllers/subsystem/acid.dm +++ b/code/controllers/subsystem/acid.dm @@ -33,8 +33,7 @@ SUBSYSTEM_DEF(acid) return continue - if(O.acid_level && O.acid_processing()) - else + if(!O.acid_level || !O.acid_processing()) O.update_appearance() processing -= O diff --git a/code/datums/components/_component.dm b/code/datums/components/_component.dm index 6c15d00869f2..695b6519f9c7 100644 --- a/code/datums/components/_component.dm +++ b/code/datums/components/_component.dm @@ -364,17 +364,17 @@ */ /datum/proc/GetExactComponent(datum/component/c_type) RETURN_TYPE(c_type) - if(initial(c_type.dupe_mode) == COMPONENT_DUPE_ALLOWED || initial(c_type.dupe_mode) == COMPONENT_DUPE_SELECTIVE) + var/initial_type_mode = initial(c_type.dupe_mode) + if(initial_type_mode == COMPONENT_DUPE_ALLOWED || initial_type_mode == COMPONENT_DUPE_SELECTIVE) stack_trace("GetComponent was called to get a component of which multiple copies could be on an object. This can easily break and should be changed. Type: \[[c_type]\]") - var/list/dc = datum_components - if(!dc) + var/list/all_components = datum_components + if(!all_components) return null - var/datum/component/C = dc[c_type] - if(C) - if(length(C)) - C = C[1] - if(C.type == c_type) - return C + var/datum/component/potential_component + if(length(all_components)) + potential_component = all_components[c_type] + if(potential_component?.type == c_type) + return potential_component return null /** diff --git a/code/datums/components/food/edible.dm b/code/datums/components/food/edible.dm index 729c50f2349f..f5129fb761b1 100644 --- a/code/datums/components/food/edible.dm +++ b/code/datums/components/food/edible.dm @@ -153,9 +153,9 @@ Behavior that's still missing from this component that original food items had t SIGNAL_HANDLER if(!(food_flags & FOOD_IN_CONTAINER)) - switch (bitecount) - if (0) - return + switch(bitecount) + if(0) + EMPTY_BLOCK_GUARD if(1) examine_list += "[parent] was bitten by someone!" if(2,3) diff --git a/code/datums/components/radioactive.dm b/code/datums/components/radioactive.dm index 9306f6aae899..26d98b99e80e 100644 --- a/code/datums/components/radioactive.dm +++ b/code/datums/components/radioactive.dm @@ -55,7 +55,6 @@ var/filter = master.get_filter("rad_glow") if(filter) animate(filter, alpha = 110, time = 15, loop = -1) - animate(alpha = 40, time = 25) /datum/component/radioactive/InheritComponent(datum/component/C, i_am_original, _strength, _source, _half_life, _can_contaminate) if(!i_am_original) diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index 17c5dc2ef39c..9bd38b62c9fa 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -168,7 +168,6 @@ else dat += "
    [bdat]" - else else dat += "
    {Log In}" var/datum/browser/popup = new(user, "med_rec", "Medical Records Console", 600, 400) @@ -375,7 +374,6 @@ if(istype(active1.fields["photo_side"], /obj/item/photo)) var/obj/item/photo/P = active1.fields["photo_side"] P.show(usr) - else else if(href_list["p_stat"]) if(active1) @@ -488,16 +486,12 @@ for(var/datum/data/record/R in GLOB.data_core.medical) if((lowertext(R.fields["name"]) == t1 || t1 == lowertext(R.fields["id"]) || t1 == lowertext(R.fields["b_dna"]))) active2 = R - else - //Foreach continue //goto(3229) if(!(active2)) temp = text("Could not locate record [].", sanitize(t1)) else for(var/datum/data/record/E in GLOB.data_core.general) if((E.fields["name"] == active2.fields["name"] || E.fields["id"] == active2.fields["id"])) active1 = E - else - //Foreach continue //goto(3334) screen = 4 else if(href_list["print_p"]) diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 37759d04b13e..cdfad1556187 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -228,7 +228,6 @@ dat += "New Security Record

    " dat += "Delete Record (ALL)
    Print Record
    Print Wanted Poster
    Print Missing Persons Poster
    Back

    " dat += "{Log Out}" - else else dat += "{Log In}" var/datum/browser/popup = new(user, "secure_rec", "Security Records Console", 600, 400) diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index d703ae86ca7d..cd6fafd4dbef 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -235,7 +235,7 @@ . = TRUE if("select_stencil") var/stencil = params["item"] - if(stencil in all_drawables + randoms) + if(stencil in (all_drawables + randoms)) drawtype = stencil . = TRUE text_buffer = "" @@ -320,7 +320,7 @@ temp = "symbol" else if(drawing in drawings) temp = "drawing" - else if(drawing in graffiti|oriented) + else if(drawing in (graffiti|oriented)) temp = "graffiti" var/graf_rot diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index e259e56ccd0e..70871e2ddc77 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -410,7 +410,7 @@ GLOBAL_LIST_EMPTY(PDAs) //BASIC FUNCTIONS=================================== if("Refresh")//Refresh, goes to the end of the proc. - + EMPTY_BLOCK_GUARD if("Return")//Return if(mode<=9) mode = 0 diff --git a/code/game/objects/items/devices/mines.dm b/code/game/objects/items/devices/mines.dm index 6319cc1a638d..4f2169350d79 100644 --- a/code/game/objects/items/devices/mines.dm +++ b/code/game/objects/items/devices/mines.dm @@ -469,7 +469,7 @@ shrapnel_magnitude = 4 /obj/item/mine/pressure/explosive/fire/mine_effect(mob/victim) - if(victim && victim.is_holding(src))//in case it's been picked up + if(victim?.is_holding(src))//in case it's been picked up for(var/turf/T in view(4,victim)) T.IgniteTurf(15) new /obj/effect/hotspot(T) diff --git a/code/game/objects/items/pet_carrier.dm b/code/game/objects/items/pet_carrier.dm index a08b1398aad8..0882034b165a 100644 --- a/code/game/objects/items/pet_carrier.dm +++ b/code/game/objects/items/pet_carrier.dm @@ -31,13 +31,13 @@ /obj/item/pet_carrier/Exited(atom/movable/occupant) . = ..() - if(occupant in occupants && isliving(occupant)) + if((occupant in occupants) && isliving(occupant)) var/mob/living/L = occupant occupants -= occupant occupant_weight -= L.mob_size /obj/item/pet_carrier/handle_atom_del(atom/A) - if(A in occupants && isliving(A)) + if((A in occupants) && isliving(A)) var/mob/living/L = A occupants -= L occupant_weight -= L.mob_size @@ -178,7 +178,7 @@ add_occupant(target) /obj/item/pet_carrier/proc/add_occupant(mob/living/occupant) - if(occupant in occupants || !istype(occupant)) + if((occupant in occupants) || !istype(occupant)) return occupant.forceMove(src) occupants += occupant diff --git a/code/game/objects/items/storage/guncases.dm b/code/game/objects/items/storage/guncases.dm index c846dd36b050..760a84f4e3aa 100644 --- a/code/game/objects/items/storage/guncases.dm +++ b/code/game/objects/items/storage/guncases.dm @@ -3,6 +3,8 @@ desc = "A large box designed for holding firearms and magazines safely." icon = 'icons/obj/guncase.dmi' icon_state = "guncase" + lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi' item_state = "infiltrator_case" force = 12 throwforce = 12 diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index e0e115b81d01..363a83d965a3 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -24,11 +24,8 @@ /obj/proc/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir, armour_penetration = 0) if(damage_flag == "melee" && damage_amount < damage_deflection) return 0 - switch(damage_type) - if(BRUTE) - if(BURN) - else - return 0 + if(damage_type != BRUTE && damage_type != BURN) + return 0 var/armor_protection = 0 if(damage_flag) armor_protection = armor.getRating(damage_flag) diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm index 089b6f8f792c..fa4fe485015d 100644 --- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm @@ -50,7 +50,7 @@ new /obj/item/clothing/mask/breath(src) if ("nothing") - // doot + EMPTY_BLOCK_GUARD // teehee if ("delete") diff --git a/code/game/objects/structures/crateshelf.dm b/code/game/objects/structures/crateshelf.dm index 3b1387f5490b..0bf1cfa64c4f 100644 --- a/code/game/objects/structures/crateshelf.dm +++ b/code/game/objects/structures/crateshelf.dm @@ -123,6 +123,7 @@ crate.SpinAnimation(rand(4,7), 1) // Spin the crates around a little as they fall. Randomness is applied so it doesn't look weird. switch(pick(1, 1, 1, 1, 2, 2, 3)) // Randomly pick whether to do nothing, open the crate, or break it open. if(1) // Believe it or not, this does nothing. + EMPTY_BLOCK_GUARD if(2) // Open the crate! if(crate.open()) // Break some open, cause a little chaos. crate.visible_message(span_warning("[crate]'s lid falls open!")) diff --git a/code/modules/admin/permissionedit.dm b/code/modules/admin/permissionedit.dm index 5e354e0f6550..0046d353dc5c 100644 --- a/code/modules/admin/permissionedit.dm +++ b/code/modules/admin/permissionedit.dm @@ -214,7 +214,7 @@ . = ckey(admin_key) if(!.) return FALSE - if(!admin_ckey && (. in GLOB.admin_datums+GLOB.deadmins)) + if(!admin_ckey && (. in (GLOB.admin_datums+GLOB.deadmins))) to_chat(usr, "[admin_key] is already an admin.", confidential = TRUE) return FALSE if(use_db) diff --git a/code/modules/admin/view_variables/debug_variables.dm b/code/modules/admin/view_variables/debug_variables.dm index 68d2b4c2ec64..60528592f4e0 100644 --- a/code/modules/admin/view_variables/debug_variables.dm +++ b/code/modules/admin/view_variables/debug_variables.dm @@ -1,23 +1,24 @@ #define VV_HTML_ENCODE(thing) (sanitize ? html_encode(thing) : thing) /// Get displayed variable in VV variable list -/proc/debug_variable(name, value, level, datum/D, sanitize = TRUE) //if D is a list, name will be index, and value will be assoc value. +/proc/debug_variable(name, value, level, datum/owner, sanitize = TRUE) //if D is a list, name will be index, and value will be assoc value. var/header - if(D) - if(islist(D)) + if(owner) + if(islist(owner)) + var/list/owner_list = owner var/index = name if (value) - name = D[name] //name is really the index until this line + name = owner_list[name] //name is really the index until this line else - value = D[name] - header = "
  • ([VV_HREF_TARGET_1V(D, VV_HK_LIST_EDIT, "E", index)]) ([VV_HREF_TARGET_1V(D, VV_HK_LIST_CHANGE, "C", index)]) ([VV_HREF_TARGET_1V(D, VV_HK_LIST_REMOVE, "-", index)]) " + value = owner_list[name] + header = "
  • ([VV_HREF_TARGET_1V(owner, VV_HK_LIST_EDIT, "E", index)]) ([VV_HREF_TARGET_1V(owner, VV_HK_LIST_CHANGE, "C", index)]) ([VV_HREF_TARGET_1V(owner, VV_HK_LIST_REMOVE, "-", index)]) " else - header = "
  • ([VV_HREF_TARGET_1V(D, VV_HK_BASIC_EDIT, "E", name)]) ([VV_HREF_TARGET_1V(D, VV_HK_BASIC_CHANGE, "C", name)]) ([VV_HREF_TARGET_1V(D, VV_HK_BASIC_MASSEDIT, "M", name)]) " + header = "
  • ([VV_HREF_TARGET_1V(owner, VV_HK_BASIC_EDIT, "E", name)]) ([VV_HREF_TARGET_1V(owner, VV_HK_BASIC_CHANGE, "C", name)]) ([VV_HREF_TARGET_1V(owner, VV_HK_BASIC_MASSEDIT, "M", name)]) " else header = "
  • " var/item var/name_part = VV_HTML_ENCODE(name) - if(level > 0 || islist(D)) //handling keys in assoc lists + if(level > 0 || islist(owner)) //handling keys in assoc lists if(istype(name,/datum)) name_part = "[VV_HTML_ENCODE(name)] [REF(name)]" else if(islist(name)) diff --git a/code/modules/client/loadout/_loadout.dm b/code/modules/client/loadout/_loadout.dm index 7ae82e11040f..f12c5612ffc3 100644 --- a/code/modules/client/loadout/_loadout.dm +++ b/code/modules/client/loadout/_loadout.dm @@ -20,11 +20,11 @@ GLOBAL_LIST_EMPTY(gear_datums) if(G == initial(G.subtype_path)) continue - if(!use_name) - WARNING("Loadout - Missing display name: [G]") + if(!use_name && initial(G.path)) + WARNING("Loadout gear [G] is missing display name") continue if(!initial(G.path) && use_category != "OOC") //OOC category does not contain actual items - WARNING("Loadout - Missing path definition: [G]") + WARNING("Loadout gear [G] is missing path definition") continue if(!GLOB.loadout_categories[use_category]) diff --git a/code/modules/client/loadout/loadout_accessories.dm b/code/modules/client/loadout/loadout_accessories.dm index a8acc1544654..d52c9a8b58fc 100644 --- a/code/modules/client/loadout/loadout_accessories.dm +++ b/code/modules/client/loadout/loadout_accessories.dm @@ -98,6 +98,9 @@ subtype_path = /datum/gear/accessory/mask slot = ITEM_SLOT_MASK +/datum/gear/accessory/mask/bandana + subtype_path = /datum/gear/accessory/mask/bandana + /datum/gear/accessory/mask/bandana/red display_name = "bandana, red" path = /obj/item/clothing/mask/bandana/red diff --git a/code/modules/client/loadout/loadout_hat.dm b/code/modules/client/loadout/loadout_hat.dm index 2f7e59c288b7..f660d35f676a 100644 --- a/code/modules/client/loadout/loadout_hat.dm +++ b/code/modules/client/loadout/loadout_hat.dm @@ -80,6 +80,9 @@ //Soft caps +/datum/gear/hat/softcap + subtype_path = /datum/gear/hat/softcap + /datum/gear/hat/softcap/red display_name = "cap, red" path = /obj/item/clothing/head/soft/red diff --git a/code/modules/client/loadout/loadout_suit.dm b/code/modules/client/loadout/loadout_suit.dm index 1d11857663ad..1edeed63530a 100644 --- a/code/modules/client/loadout/loadout_suit.dm +++ b/code/modules/client/loadout/loadout_suit.dm @@ -88,6 +88,9 @@ path = /obj/item/clothing/suit/toggle/hazard //Suspenders +/datum/gear/suit/suspenders + subtype_path = /datum/gear/suit/suspenders + /datum/gear/suit/suspenders/red display_name = "suspenders, red" path = /obj/item/clothing/suit/toggle/suspenders diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 197b60befc11..71ca4eeaae4a 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1141,7 +1141,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) mutant_category = 0 // end generic adjective - if("wings" in pref_species.default_features && GLOB.r_wings_list.len >1) + if(("wings" in pref_species.default_features) && GLOB.r_wings_list.len >1) if(!mutant_category) dat += APPEARANCE_CATEGORY_COLUMN diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index 416fa20df39c..c5d7e6ec98f9 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -184,7 +184,7 @@ . = ..() UnregisterSignal(M, COMSIG_MOB_SAY) -/obj/item/clothing/head/warden/drill/proc/handle_speech(datum/source, mob/speech_args) +/obj/item/clothing/head/warden/drill/proc/handle_speech(datum/source, list/speech_args) var/message = speech_args[SPEECH_MESSAGE] if(message[1] != "*") switch (mode) diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index b2636b02871b..1271717fc537 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -201,7 +201,7 @@ . = ..() UnregisterSignal(M, COMSIG_MOB_SAY) -/obj/item/clothing/head/frenchberet/proc/handle_speech(datum/source, mob/speech_args) +/obj/item/clothing/head/frenchberet/proc/handle_speech(datum/source, list/speech_args) var/message = speech_args[SPEECH_MESSAGE] if(message[1] != "*") message = " [message]" diff --git a/code/modules/clothing/suits/cloaks.dm b/code/modules/clothing/suits/cloaks.dm index 982b3804f586..1524a4aa6466 100644 --- a/code/modules/clothing/suits/cloaks.dm +++ b/code/modules/clothing/suits/cloaks.dm @@ -5,7 +5,6 @@ desc = "It's a cape that can be worn around your neck." icon = 'icons/obj/clothing/cloaks.dmi' icon_state = "qmcloak" - item_state = "qmcloak" w_class = WEIGHT_CLASS_SMALL body_parts_covered = CHEST|GROIN|LEGS|ARMS flags_inv = HIDESUITSTORAGE diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm index 89cce9c24d64..81e5da317553 100644 --- a/code/modules/clothing/under/accessories.dm +++ b/code/modules/clothing/under/accessories.dm @@ -103,7 +103,7 @@ name = "waistcoat" desc = "For some classy, murderous fun." icon_state = "waistcoat" - item_state = "waistcoat" + item_state = "det_suit" minimize_when_attached = FALSE attachment_slot = null @@ -119,13 +119,11 @@ name = "syndicate maid apron" desc = "Practical? No. Tactical? Also no. Cute? Most definitely yes." icon_state = "maidapronsynd" - item_state = "maidapronsynd" /obj/item/clothing/accessory/maidapron/inteq name = "inteq maid apron" desc = "A 'tactical' apron to protect you from all sorts of spills, from dough to blood!" icon_state = "inteqmaidapron" - item_state = "inteqmaidapron" ////////// //Medals// @@ -408,7 +406,6 @@ name = "shoulder holster" desc = "A holster to carry a handgun and ammo. WARNING: Badasses only." icon_state = "holster" - item_state = "holster" pocket_storage_component_path = /datum/component/storage/concrete/pockets/holster attachment_slot = null diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index ec10f7dfb0f2..90b180587638 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -593,6 +593,7 @@ broh.losebreath++ switch(broh.losebreath) if(-INFINITY to 0) + EMPTY_BLOCK_GUARD if(1 to 2) if(prob(30)) user.visible_message("[broh]'s eyes water as [broh.p_they()] chug the can of [src]!") diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index 3ff72083450a..406c59ae0d04 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -433,7 +433,7 @@ mind.active = FALSE //we wish to transfer the key manually mind.original_character_slot_index = client.prefs.default_slot mind.transfer_to(H) //won't transfer key since the mind is not active - mind.set_original_character(H) + H.mind.set_original_character(H) H.name = real_name client.init_verbs() diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index dbaed17713c8..597dcb643a60 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -716,7 +716,7 @@ if(ignite_turfs) T.IgniteTurf(power,flame_color) for(var/mob/living/L in T.contents) - if(L in hit_list || L == source) + if((L in hit_list) || L == source) continue hit_list += L L.adjustFireLoss(20) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index bb41a93cc1fa..6b490d4c88b6 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -452,8 +452,6 @@ else client.eye = client.mob client.perspective = MOB_PERSPECTIVE - else - //Do nothing else //Reset to common defaults: mob if on turf, otherwise current loc if(isturf(loc)) diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index a32079c1e6fa..2e8e098c2e8e 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -148,7 +148,7 @@ if(20) newletter += "[newletter][newletter]" else - // do nothing + EMPTY_BLOCK_GUARD . += "[newletter]" return sanitize(.) [CELADON REMOVE] */ @@ -194,7 +194,7 @@ if(5) newletter = "glor" else - // do nothing + EMPTY_BLOCK_GUARD . += newletter return sanitize(.) diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index ea8d5fcbfff2..32d91294bc84 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -337,7 +337,7 @@ /// triggered on wield of two handed item /obj/item/gun/proc/on_wield(obj/item/source, mob/user) wielded = TRUE - INVOKE_ASYNC(src, .proc.do_wield, user) + INVOKE_ASYNC(src, PROC_REF(do_wield), user) /obj/item/gun/proc/do_wield(mob/user) user.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/gun, multiplicative_slowdown = wield_slowdown) diff --git a/code/modules/projectiles/guns/ballistic/assault.dm b/code/modules/projectiles/guns/ballistic/assault.dm index 091c1aba92ba..0141667d1ce6 100644 --- a/code/modules/projectiles/guns/ballistic/assault.dm +++ b/code/modules/projectiles/guns/ballistic/assault.dm @@ -230,17 +230,10 @@ return secondary.screwdriver_act(user, attack_obj,) return ..() - -/obj/item/gun/ballistic/automatic/assault/e40/can_shoot() - var/current_firemode = gun_firemodes[firemode_index] - if(current_firemode != FIREMODE_OTHER) - return ..() - return secondary.can_shoot() - /obj/item/gun/ballistic/automatic/assault/e40/on_wield(obj/item/source, mob/user) wielded = TRUE secondary.wielded = TRUE - INVOKE_ASYNC(src, .proc.do_wield, user) + INVOKE_ASYNC(src, PROC_REF(do_wield), user) /obj/item/gun/ballistic/automatic/assault/e40/do_wield(mob/user) . = ..() diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index 2c7b664ff3b5..752af51a57e5 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -463,6 +463,7 @@ desc = "A small law enforcement firearm. Originally commissioned by Nanotrasen for their Private Investigation division, it has become extremely popular among independent civilians as a cheap, compact sidearm. Uses .38 Special rounds." fire_sound = 'sound/weapons/gun/revolver/shot_light.ogg' icon_state = "detective" + item_state = "hp_generic" icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' @@ -572,6 +573,7 @@ EMPTY_GUN_HELPER(revolver/viper) mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' icon_state = "montagne" + item_state = "hp_generic" manufacturer = MANUFACTURER_HUNTERSPRIDE spread_unwielded = 15 recoil = 0 diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index 26c796555ebd..30ccb528a4e9 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -153,6 +153,8 @@ EMPTY_GUN_HELPER(shotgun/hellfire) desc = "A semi-automatic shotgun with tactical furniture and six-shell capacity underneath." icon_state = "cshotgun" item_state = "shotgun_combat" + lefthand_file = 'icons/mob/inhands/weapons/64x_guns_left.dmi' + righthand_file = 'icons/mob/inhands/weapons/64x_guns_right.dmi' fire_delay = 0.5 SECONDS default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/com allowed_ammo_types = list( @@ -398,8 +400,8 @@ EMPTY_GUN_HELPER(shotgun/doublebarrel) name = "improvised shotgun" desc = "A length of pipe and miscellaneous bits of scrap fashioned into a rudimentary single-shot shotgun." icon = 'icons/obj/guns/projectile.dmi' - lefthand_file = GUN_LEFTHAND_ICON - righthand_file = GUN_RIGHTHAND_ICON + lefthand_file = 'icons/mob/inhands/weapons/64x_guns_left.dmi' + righthand_file = 'icons/mob/inhands/weapons/64x_guns_right.dmi' mob_overlay_icon = null base_icon_state = "ishotgun" diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index d5b7d3f0d77a..14560ea3057e 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -3,6 +3,7 @@ desc = "A basic energy-based gun." icon = 'icons/obj/guns/energy.dmi' icon_state = "laser" + item_state = "spur" muzzleflash_iconstate = "muzzle_flash_laser" muzzle_flash_color = COLOR_SOFT_RED diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index f5f82ff43fb9..c17c1cb8a005 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -2,8 +2,6 @@ name = "SL L-204 laser gun" desc = "A basic energy-based laser gun that fires concentrated beams of light which pass through glass and thin metal." - icon_state = "laser" - item_state = "laser" w_class = WEIGHT_CLASS_NORMAL custom_materials = list(/datum/material/iron=2000) ammo_type = list(/obj/item/ammo_casing/energy/lasergun) diff --git a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm index eb3e991e84f9..422bf7275a33 100644 --- a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm @@ -894,7 +894,7 @@ EMPTY_GUN_HELPER(automatic/assault/hydra/dmr) /obj/item/gun/ballistic/automatic/assault/hydra/underbarrel_gl/on_wield(obj/item/source, mob/user) wielded = TRUE secondary.wielded = TRUE - INVOKE_ASYNC(src, .proc.do_wield, user) + INVOKE_ASYNC(src, PROC_REF(do_wield), user) /obj/item/gun/ballistic/automatic/assault/hydra/underbarrel_gl/do_wield(mob/user) . = ..() diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index d37048250e62..bb6bafc9e74c 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -63,7 +63,7 @@ M.adjust_blindness(-1) switch(current_cycle) if(1 to 20) - //nothing + EMPTY_BLOCK_GUARD //nothing if(21 to INFINITY) if(prob(current_cycle-10)) M.cure_nearsighted(list(EYE_DAMAGE)) diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 9e4b2120774e..82bda376fc3c 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -119,7 +119,7 @@ F.fry(volume) F.reagents.add_reagent(/datum/reagent/consumable/cooking_oil, reac_volume) -/datum/reagent/consumable/cooking_oil/expose_mob(mob/living/M, method = TOUCH, method = SMOKE, reac_volume, show_message = 1, touch_protection = 0) +/datum/reagent/consumable/cooking_oil/expose_mob(mob/living/M, method = TOUCH, reac_volume, show_message = 1, touch_protection = 0) if(!istype(M)) return var/boiling = FALSE diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm index 659c42f56d34..9c866049c121 100644 --- a/code/modules/surgery/bodyparts/bodyparts.dm +++ b/code/modules/surgery/bodyparts/bodyparts.dm @@ -799,7 +799,7 @@ ///obj/item/bodypart/proc/break_bone_feedback() owner.visible_message("You hear a cracking sound coming from [owner]'s [name].", "You feel something crack in your [name]!", "You hear an awful cracking sound.") - playsound(owner, list('sound/health/bone/bone_break1.ogg','sound/health/bone/bone_break2.ogg','sound/health/bone/bone_break3.ogg','sound/health/bone/bone_break4.ogg','sound/health/bone/bone_break5.ogg','sound/health/bone/bone_break6.ogg'), 100, FALSE, -1) + playsound(owner, pick(list('sound/health/bone/bone_break1.ogg','sound/health/bone/bone_break2.ogg','sound/health/bone/bone_break3.ogg','sound/health/bone/bone_break4.ogg','sound/health/bone/bone_break5.ogg','sound/health/bone/bone_break6.ogg')), 100, FALSE, -1) /obj/item/bodypart/proc/fix_bone() // owner.update_inv_splints() breaks diff --git a/code/modules/unit_tests/_unit_tests.dm b/code/modules/unit_tests/_unit_tests.dm index 16e76901f957..5364a69c3483 100644 --- a/code/modules/unit_tests/_unit_tests.dm +++ b/code/modules/unit_tests/_unit_tests.dm @@ -45,6 +45,8 @@ /// Use this when something shouldn't happen and is of note, but shouldn't block CI. /// Does not mark the test as failed. #define TEST_NOTICE(source, message) source.log_for_test((##message), "notice", __FILE__, __LINE__) +/// TEST_NOTICE but more important +#define TEST_WARNING(source, message) source.log_for_test((##message), "warning", __FILE__, __LINE__) /// Constants indicating unit test completion status #define UNIT_TEST_PASSED 0 @@ -70,7 +72,7 @@ #ifdef BASIC_TESTS -//#include "icons/inhands.dm" +#include "icons/inhands.dm" #include "icons/missing_icons.dm" #include "icons/spritesheets.dm" #include "icons/worn_icons.dm" diff --git a/code/modules/unit_tests/create_and_destroy.dm b/code/modules/unit_tests/create_and_destroy.dm index b7c1b924fd53..ed3d9c6ed0a7 100644 --- a/code/modules/unit_tests/create_and_destroy.dm +++ b/code/modules/unit_tests/create_and_destroy.dm @@ -141,14 +141,12 @@ // Drastically lower the amount of time it takes to GC, since we don't have clients that can hold it up. SSgarbage.collection_timeout[GC_QUEUE_CHECK] = 10 SECONDS - //Prevent the garbage subsystem from harddeling anything, if only to save time - SSgarbage.collection_timeout[GC_QUEUE_HARDDELETE] = 10000 HOURS //Clear it, just in case cached_contents.Cut() var/list/queues_we_care_about = list() - // All up to harddel - for(var/i in 1 to GC_QUEUE_HARDDELETE - 1) + // All of em, I want hard deletes too, since we rely on the debug info from them + for(var/i in 1 to GC_QUEUE_HARDDELETE) queues_we_care_about += i //Now that we've qdel'd everything, let's sleep until the gc has processed all the shit we care about @@ -158,6 +156,7 @@ time_needed += SSgarbage.collection_timeout[index] var/start_time = world.time + var/real_start_time = REALTIMEOFDAY var/garbage_queue_processed = FALSE sleep(time_needed) @@ -179,7 +178,7 @@ garbage_queue_processed = TRUE break - if(world.time > start_time + time_needed + 30 MINUTES) //If this gets us gitbanned I'm going to laugh so hard + if(REALTIMEOFDAY > real_start_time + time_needed + 30 MINUTES) //If this gets us gitbanned I'm going to laugh so hard TEST_FAIL("Something has gone horribly wrong, the garbage queue has been processing for well over 30 minutes. What the hell did you do") break @@ -215,4 +214,3 @@ SSticker.delay_end = FALSE //This shouldn't be needed, but let's be polite SSgarbage.collection_timeout[GC_QUEUE_CHECK] = GC_CHECK_QUEUE - SSgarbage.collection_timeout[GC_QUEUE_HARDDELETE] = GC_DEL_QUEUE diff --git a/code/modules/unit_tests/icons/inhands.dm b/code/modules/unit_tests/icons/inhands.dm index 858c6d2f2840..dc05295203e6 100644 --- a/code/modules/unit_tests/icons/inhands.dm +++ b/code/modules/unit_tests/icons/inhands.dm @@ -53,7 +53,7 @@ match_message += (match_message ? " & '[file_place]'" : " - Matching sprite found in: '[file_place]'") if(!(skip_left || skip_right) && !lefthand_file && !righthand_file) - TEST_FAIL("Missing both icon files for [item_path].\n\titem_state = \"[item_state]\"[match_message]") + TEST_NOTICE(src, "Missing both icon files for [item_path].\n\titem_state = \"[item_state]\"[match_message]") continue var/missing_left @@ -80,7 +80,7 @@ if(!match_message && right_fallback && left_fallback) fallback_log_message += "\n\t[item_path] has invalid value, using fallback icon.\n\titem_state = \"[item_state]\"" continue - TEST_FAIL("Missing inhand sprites for [item_path] in both '[lefthand_file]' & '[righthand_file]'.\n\titem_state = \"[item_state]\"[match_message]") + TEST_NOTICE(src, "Missing inhand sprites for [item_path] in both '[lefthand_file]' & '[righthand_file]'.\n\titem_state = \"[item_state]\"[match_message]") else if(missing_left) TEST_FAIL("Missing left inhand sprite for [item_path] in '[lefthand_file]'[left_fallback ? ", using fallback icon" : null].\n\titem_state = \"[item_state]\"[match_message]") else if(missing_right) @@ -90,5 +90,5 @@ TEST_FAIL("Invalid item_state values should be set to null if there isn't a valid icon.[fallback_log_message]") if(unset_inhand_var_message) - log_test("\tNotice - Possible inhand icon matches found. It is best to be explicit with inhand sprite values.[unset_inhand_var_message]") + TEST_NOTICE(src, "Possible inhand icon matches found. It is best to be explicit with inhand sprite values.[unset_inhand_var_message]") diff --git a/code/modules/unit_tests/icons/worn_icons.dm b/code/modules/unit_tests/icons/worn_icons.dm index 673526cc9f68..84e1663407bc 100644 --- a/code/modules/unit_tests/icons/worn_icons.dm +++ b/code/modules/unit_tests/icons/worn_icons.dm @@ -5,6 +5,7 @@ /// Make sure this location is also present in tools/deploy.sh /// If you need additional paths ontop of this second one, you can add another generate_possible_icon_states_list("your/folder/path/") below the if(additional_icon_location) block in Run(), and make sure to add that path to tools/deploy.sh as well. var/additional_icon_location = null + var/required_test = TRUE /datum/unit_test/mob_overlay_icons/proc/generate_possible_icon_states_list(directory_path) if(!directory_path) @@ -16,6 +17,9 @@ else possible_icon_states += generate_possible_icon_states_list("[directory_path][file_path]") +/datum/unit_test/mob_overlay_icons/proc/types_to_search() + return subtypesof(/obj/item/clothing) + /datum/unit_test/mob_overlay_icons/Run() generate_possible_icon_states_list() if(additional_icon_location) @@ -23,7 +27,7 @@ var/list/already_warned_icons = list() - for(var/obj/item/item_path as anything in (subtypesof(/obj/item/clothing))) + for(var/obj/item/item_path as anything in types_to_search()) var/cached_slot_flags = initial(item_path.slot_flags) if(!cached_slot_flags || (cached_slot_flags & ITEM_SLOT_LPOCKET) || (cached_slot_flags & ITEM_SLOT_RPOCKET) || initial(item_path.item_flags) & ABSTRACT) continue @@ -45,7 +49,10 @@ if(mob_overlay_icon) //easiest to check since we override everything. this automatically includes downstream support. if(!(icon_state in icon_states(mob_overlay_icon, 1))) - TEST_FAIL("[item_path] using invalid [mob_overlay_state ? "mob_overlay_state" : "icon_state"], \"[icon_state]\" in mob_overlay_icon override file, '[mob_overlay_icon]'[match_message]") + if(required_test) + TEST_FAIL("[item_path] using invalid [mob_overlay_state ? "mob_overlay_state" : "icon_state"], \"[icon_state]\" in mob_overlay_icon override file, '[mob_overlay_icon]'[match_message]") + else + TEST_NOTICE(src, "[item_path] using invalid [mob_overlay_state ? "mob_overlay_state" : "icon_state"], \"[icon_state]\" in mob_overlay_icon override file, '[mob_overlay_icon]'[match_message]") continue var/icon_file //checks against all the default icon locations if one isn't defined. @@ -61,15 +68,6 @@ fail_reasons += "[item_path] using invalid [mob_overlay_state ? "mob_overlay_state" : "icon_state"], \"[icon_state]\" in '[icon_file]'[match_message]" spacer = "\n\t" - /* - if(cached_slot_flags & ITEM_SLOT_ID) - icon_file = 'icons/mob/clothing/id.dmi' - if(!(icon_state in icon_states(icon_file, 1))) - already_warned_icons += icon_state - fail_reasons += "[spacer][item_path] using invalid [mob_overlay_state ? "mob_overlay_state" : "icon_state"], \"[icon_state]\" in '[icon_file]'[match_message]" - spacer = "\n\t" - */ - if(cached_slot_flags & ITEM_SLOT_GLOVES) icon_file = 'icons/mob/clothing/hands.dmi' if(!(icon_state in icon_states(icon_file, 1))) @@ -117,4 +115,13 @@ spacer = "\n\t" if(fail_reasons) - TEST_FAIL(fail_reasons) + if(required_test) + TEST_FAIL(fail_reasons) + else + TEST_NOTICE(src, fail_reasons) + +/datum/unit_test/mob_overlay_icons/not_clothing + required_test = FALSE + +/datum/unit_test/mob_overlay_icons/not_clothing/types_to_search() + return (subtypesof(/obj/item) - subtypesof(/obj/item/clothing)) diff --git a/code/modules/unit_tests/outfit_sanity.dm b/code/modules/unit_tests/outfit_sanity.dm index a09395d42103..8e85797e713e 100644 --- a/code/modules/unit_tests/outfit_sanity.dm +++ b/code/modules/unit_tests/outfit_sanity.dm @@ -6,7 +6,7 @@ if (outfit.random != TRUE) \ TEST_FAIL("[outfit.name]'s [#outfit_key] is invalid! Could not equip a [outfit.##outfit_key] into that slot."); \ else \ - log_test("[outfit.name]'s [#outfit_key] is invalid! Could not equip a [outfit.##outfit_key] into that slot."); \ + TEST_NOTICE(src, "[outfit.name]'s [#outfit_key] is invalid! Could not equip a [outfit.##outfit_key] into that slot."); \ } \ } @@ -72,7 +72,7 @@ if (outfit.random != TRUE) TEST_FAIL("[outfit.name]'s backpack_contents are invalid! Couldn't add [path] to backpack.") else - log_test("[outfit.name]'s backpack_contents are invalid! Couldn't add [path] to backpack.") + TEST_NOTICE(src, "[outfit.name]'s backpack_contents are invalid! Couldn't add [path] to backpack.") #undef CHECK_OUTFIT_SLOT diff --git a/icons/mob/inhands/weapons/guns_lefthand.dmi b/icons/mob/inhands/weapons/guns_lefthand.dmi index ff71ba99e3c082d3f95180e18c164d474a17f18d..fd76394a835a214a7673411d42e41c08bdfa5215 100644 GIT binary patch literal 39557 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

    PTNXyo}*OukxtPLUfViCa|9bzx|1m1( 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 X_Giq8J%j_+Xt4`6DC=s=>v4YpY0pY_ literal 42172 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%0ADEFUW9q)A10mm#gLQu&-7oO$Mw&NAlgkAL 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" ); }; - -// Signal tgui that we're ready to receive updates -Byond.sendMessage('ready'); -

    Trickwines for brewers

    - Okay, so you just joined the SRM and you want to make some brews! I'm tired of explaining all of this so I'm jotting it all down for the new hires.
    - Trickwines almost all share the same effect. When you drink them, they provide a beneficial effect and when you toss them at someone it provides some sort of bad effect. -

    Breakaway flasks

    - Honestly, I love these things. I'm not a scientist so I cant exactly explain how it works but somehow when you fuse plasma into glass it makes it ultra sharp and makes it really good for cracking over fauna heads.
    - The simplest way I have found of making them is crafting them with a chunk of glass, plasma, and a welder.
    - -

    Bacteria

    - A speical speices of bacteria native to Illestren is what allows Trickwines form.
    - Now we use a special distiller that keeps just enough bacertia alive to ferment without turning the batch sour.
    - Now you should still have one on board but if you dont its fine.
    - It just so happens we have trees on board our ships host to the Bacteria.
    - To get enough Bacteria your going to need to feed it anything that would help a plant.
    - Water, Fertilizer, Ashwine are all good options.
    - Soon it will drops some apples and you can grind them for the bacteria.
    - Once you have enough you can fabricate it the same way you would a normal barrel.
    - -

    Ratios

    - A common trend among Trickwines is the ratio of 3:1:1.
    - 3 parts being an ethonal, the other 2 parts are often made from flora or fauna.
    - -

    Ashwine

    - It's kind of our trademark, and it's one of the simplest trickwines to make.
    - These are the most common wines used in ceremonies so we often stock ships with the moonflowers needed to make them.
    - It's made with a ratio of 3:1:1 absinthe, mushroom hallucinogen, and ash respectively.
    - Mushroom hallucinogens come from mushroom caps and you can ferment absinthe from moonflowers.
    - Its a mild hallucinogenic but seems to have powerful cleansing effects on the devoted SRM.
    - It can also really fuck someone up, causing their vision to go shaky and blurry which makes it difficult for them to fight.
    - -

    Icewine

    - This one helps stopping foes in their tracks. One of my favorite flavor wise. - Its made with 3:1:1 saké, polar bear fur, frost oil(grind chilled peppers).
    - You can get polar bear fur and frost oil from grinding up polar bear hides and chilled peppers.
    - It's pretty good at sealing burns and lowering your temperature quickly.
    - However, it completely encases foes in ice and drops their temperature substantially.
    - -

    Shockwine

    - Easily my favorite for its splashed effect, this thing is great at scorching most fauna.
    - Its made with vodka, calcium, and lemon juice.
    - If you did not know, vodka requires enzymes instead of the normal fermenting process.
    - It's a nice upper. Great if you're trying to run away.
    - This one's really flashy. Expect some severe burns on your target
    - -

    Hearthwine

    - I once threw back a flask of this stuff in the heat of a really bad battle and it sealed my wounds within seconds its honestly increadible.
    - It also acts like the inverse of Icewine heating you up more then a fever.
    - Last time I threw it at someone though i almost burnt down the forest I was in.
    - Its made out of ground up fireblossems with some nice hard cider and a bit of welding fuel with of course a ratio of 3:1:1.
    - -

    Forcewine

    - Two intresting effects from the consumption of Forcewine.
    - First it seems to give you an "anti magic" effect, I have read about of tales of how it fizzled out some sort of great curse that we could best trace back to a ancient cult.
    - Second is it protects the mind from cohersion and mind control.
    - From my research this seems to act like nanotrasen mindshield implants.
    - Would recomend for any esoteric senarios. We wont see these alot but its always smart to prepare for the worst.
    - You can also use it to entrap Fauna inside of a forcefield like bubble, Gives you time to breath and prepare an attack.
    - 3:1:1. Tequila, Space Montain Wind, and I know its one of the most difficult things to come by but hollow water, Its that stuff you can extract from geysers
    - -

    Prismwine

    - Gives you a nice shiny layer of armour, fire seems to have alot harder time sticking to me when i tested it.
    - Throwing it seeems to do the reverse acting like a magnifying glass to burns and lasers
    - 3:1:1. Good ol Gin, then add plasma and tinea luxor which is found from mushroom stems
    - - Some of these can be a bit situatinal but its always nice to have a few in your bag for emergecys.
    - As a bonus, most of the other factions have no clue how to make these so you can sell them for a fair chunk of cash.
    - -
    Bridget Saint-Baskett, Senior Brewer
    +

    On the Topic of Trickwines

    + The alchemists of Roumain have long held that with sufficient preparation can many a potion be made. Many a daring hunter has returned to their domicile at the aid of an Alchemist. For those who travel, the 'Trickwine' is oft chosen, and so the learners of Roumain pass the secrets on to others.
    + A 'trickwine' is a potent brew, made by taking the powers that rest in the world around us and fermenting them in the blessings of Illestren. When imbibed by a Hunter, strength and power flow through their body, yet when shattered upon the beasts of the World, Illestrens' curses are unleashed upon it.
    + To freely create a trickwine is the mark of a rising alchemist, and to deliver it in the heat of a brawl is the mark of a true Hunter.
    + May this document guide you to both those marks.
    + +

    Brewing Vessels.

    + While many vessels permeate the minds of alchemists, the Breakaway Flask is the instrument of choice for the rising talent. By taking the essence of plasma and infusing it within the body of glass - a most durable vessel is produced for the Trickwine. The glass remains firm lest it impacts upon a foe.
    + Any who tinker will find the infusion of essence is done most easily with a flame. Something that burns with a flame most potent. Away from the furnaces of Illestren, the burn of a welder suffices to create the vessel.
    + +

    The Bacteria Of Illestren

    + The world of Illestren gave birth to a bacterium that has formed the backbone of alchemical experimentation for countless years. It has given birth to countless fermentation methods, including the cycle of brewing a Trickwine.
    + By use of a specialized distillery, the Illestren Bacteria can be maintained in amounts ideal to the fermentation of reagents from Trickwines to Beers. A talented brewer can create their own heritage by blending activating bacterium and reagent into a new concotion.
    + Not all vessels of the Militia bear a distillery, but plants transplanted from Illestren carry the bacterium within the flesh of their fruit. Careful nurture of a fruit-bearing plant will allow it to spread the blessings of Illestren. Treat the plant as you would treat any other ally. Allot it drinks. Trim its branches. Protect it from those who seek to harm it.
    + Once the fruit has ripened and dropped from the host, an alchemist can take it, fermenting the ripe flesh into a potent mixture of ciders and bacterias entangled together.
    + Just as we give to the tree, it shall give to us. It pays a talent to remember this.
    + +

    Common Mixtures

    + Those that find easy success within the alchemical arts have written that to make a Trickwine, one must maintain a careful mixture.
    + Three wholes of an ethanol base, with the flavor varied for impact. Entangled with a whole strand of beast, and the blessings of plant. Once cut with the potent catalyst that is the Bacterium, the fermentation is rapid, and a Trickwine is born from the mixture.
    + +

    Wine Of Ash

    + The Wine Of Ash is the most endearing brew to have come from the Distilleries of the Militia. It carries a variety of uses, from the Ceremonies of Roumain, to the warm afterparty of a successful hunt. The flavor is said to be somewhat rustic, with hints of fruit and a sweet yet ashy tang.
    + Brewing the Wine Of Ash is a simple task, that even Shadows are expected to do at times. By fermenting a flower of the moon into a potent absinthe, a strong base is formed. Seeping a hallucinogenic mushroom within the absinthe, and then introducing an ash into the mixture of drink and plant creates the Wine Of Ash. One must be patient when brewing, as the brew will be strong, but further fermentation will allow it to blossom into a true vintage.
    + Take care whilst brewing to maintain a proper ratio of ingredients. The Wine shall become off-balance if more than one whole of mushroom and one whole of ash is introduced to three wholes of absinthe. One must also take care to protect their eyes, as the Vapors of Ash are a potent irritant.
    + The Wine itself is held to be hallucinogenic, although debate rages within the halls of Roumain on the nature of such. A talented brewer can offset such trivialities by cutting the Wine with water, or introducing another substance once it has been fermented. Many a Hunter holds the drink to purify the soul, and strengthen the mind for days ahead.
    + +

    Wine Of Ice

    + The Wine Of Ice is a strong brew formented by the Talent Keo Lanai. Talent Lanai had long found solace from the heat in his visions of the 'Godsforsaken Precipice' that the Ashen Huntsman was said to wander, and sought to share this solace with other Hunters. The flavor is said to be somewhat meaty, with a pleasing current of pepper. + Brewing of the Wine Of Ice requires a unique assortment of reagents. By fermenting the fur of a bear within traditionally brewed rice sake, Keo Lanai found a solid base for the introduction of Frozen Pepper Essence. It is said that the original brew produced a cold so potent that frost formed on Lanai's brow.
    + Hunters favor the Wine Of Ice for blessed relief from heat imbibing it provide. Alchemists have theorized that the brew stimulates the production of sweat in the body, allowing the body to cool itself more rapidly. Other Hunters swear by relief seeping into their burns as the brew finds its way into their system. Others find usage in the potent frost that it leaves upon impact, using it to freeze everything from foe to food.
    + +

    Lightning's Blessing

    + Lightning's Blessing is said to be a potent stimulant, brewed by Hunter Trackers to allow them to track mobile prey through unknown environments. The flavor is said to be sharp and unrelenting, much like the Hunters who indulge in it.
    + Lightning's Blessing is brewed with a base of Vodka. By taking vodka and fermenting ground down bones within it, a strong alchemical blend is created. This blend is then inoculated with juiced lemon whilst within a distillery. The resulting blend is an environment ripe for a particular strain of Bacterium to multiply in. This strain of the Bacterium is said to be what gives the flavor to the brew, and its digestion produces a high in most sapients.
    + Hunters are said to use Lightning's Blessing as a weapon, where the bacterium, upon being introduced to open air quickly produces an electrical field, shocking whatever the mixture lands upon. + +

    Hearthflame

    + Hearthflame is Talent Lanai's other great creation. While travelling through the cold of many a fringe world, Lanai sought the warmth of his home, and took the creation of another mixture as a challenge. By taking the hearty fermented blend of an Illestren Apple, The petals of a Fireblossom, and a hint of phosphorous, Lanai produced a potent heating drink.
    + Hearthflame is said to have a bold flavor profile, not unlike an apple shredded apart by tangy pricks. The bacterium is said to stimulate the body and cause it to start heating herself, or in cases of localized exposure, causes rapid, cauterizing heating.
    + When this particular blend is exposed to the air, it rapidly heats up. Hunters have advised Shadows be careful if issued it, and most Alchemists refuse to make it unless it is required for the hunt at hand.
    +
    Transcribed by Amarasatsu ke Qazawat
    + + Amarasatsu ke Qazawat
    "} diff --git a/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm b/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm index 04c15c7962a8..e67f8a810004 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/ammo.dm @@ -285,7 +285,7 @@ /datum/blackmarket_item/ammo/c38hotshot name = ".38 Hearth Ammo Box" - desc = "We got our ship cook to marinade some .38 in some hearthwine we pocketed off some hunters. It'll cook your targets to a nice well done." + desc = "We got our ship cook to marinade some .38 in some hearthflame we pocketed off some hunters. It'll cook your targets to a nice well done." item = /obj/item/ammo_box/c38/hotshot price_min = 300 @@ -296,7 +296,7 @@ /datum/blackmarket_item/ammo/c38iceblox name = ".38 Chilled Ammo Box" - desc = "One of our runners accidentally spilled some .38 into a fucking pristine icewine shipment. It'll freeze your targets faster than our runner froze solid outside for making a mess." + desc = "One of our runners accidentally spilled some .38 into a fucking pristine wine of ice shipment. It'll freeze your targets faster than our runner froze solid outside for making a mess." item = /obj/item/ammo_box/c38/iceblox price_min = 300 diff --git a/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm b/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm index 65a72290bf07..871b103af05d 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/consumables.dm @@ -79,9 +79,7 @@ var/trickwine = pick(list(/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/ashwine, /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/icewine, /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/shockwine, - /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/hearthwine, - /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/forcewine, - /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/prismwine)) + /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/hearthwine,)) return new trickwine(loc) /datum/blackmarket_item/consumable/stimpack diff --git a/code/modules/food_and_drinks/drinks/drinks/breakawayflask.dm b/code/modules/food_and_drinks/drinks/drinks/breakawayflask.dm index 922e74ee9a3b..82ecdf9f2ace 100644 --- a/code/modules/food_and_drinks/drinks/drinks/breakawayflask.dm +++ b/code/modules/food_and_drinks/drinks/drinks/breakawayflask.dm @@ -1,6 +1,6 @@ /obj/item/reagent_containers/food/drinks/breakawayflask name = "breakaway flask" - desc = "A special flask designed to stabilize trick wines and shatter violently on contact." + desc = "A special flask designed to stabilize Illestren Bacterium and shatter violently on contact." icon_state = "breakawayflask" item_state = "breakawayflask" w_class = WEIGHT_CLASS_SMALL @@ -41,7 +41,7 @@ else icon_state = "breakawayflask" name = "breakaway flask" - desc = "A special flask designed to stabilize trick wines and shatter violently on contact." + desc = "A special flask designed to stabilize Illestren Bacterium and shatter violently on contact." return /obj/item/reagent_containers/food/drinks/breakawayflask/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) @@ -54,31 +54,21 @@ vintage = TRUE /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/ashwine - name = "Vintage Saint-Roumain Ashwine" + name = "Vintage Wine of Ash" list_reagents = list(/datum/reagent/consumable/ethanol/trickwine/ash_wine = 45, /datum/reagent/consumable/ethanol/absinthe = 5) - desc = "Ashwine was originally created using herbs native to Illestren, as a means of relaxing after a long hunt. The Saint-Roumain Militia has no prohibition on a little fun." + desc = "Wine of Ash was originally created using herbs native to Illestren, as a means of relaxing after a long hunt. The Saint-Roumain Militia has no prohibition on a little fun." /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/icewine - name = "Vintage Saint-Roumain Icewine" + name = "Vintage Wine Of Ice" list_reagents = list(/datum/reagent/consumable/ethanol/trickwine/ice_wine = 45, /datum/reagent/consumable/ethanol/sake = 5) - desc = "Icewine, inspired by the frigid slopes of the 'Godforsaken Precipice' that forged the group's reputation as valiant survivalists, was engineered to both soothe overheated Hunters and freeze their foes in their tracks." + desc = "Wine Of Ice, inspired by the frigid slopes of the 'Godforsaken Precipice' that forged the group's reputation as valiant survivalists, was engineered to both soothe overheated Hunters and freeze their foes in their tracks." /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/shockwine - name = "Vintage Saint-Roumain Shockwine" + name = "Vintage Lightnings' Blessing" list_reagents = list(/datum/reagent/consumable/ethanol/trickwine/shock_wine = 45, /datum/reagent/consumable/ethanol/vodka = 5) - desc = "Shockwine, made to invigorate consumers and incapacitate targets, took inspiration from an incident early in the Saint-Roumain Militia's history, when a young Shadow stopped a rampaging beast by plunging an electrical cable that had been dislodged in the fighting into its side." + desc = "Lightnings' Blessing, made to invigorate consumers and incapacitate targets, took inspiration from an incident early in the Saint-Roumain Militia's history, when a young Shadow stopped a rampaging beast by plunging an electrical cable that had been dislodged in the fighting into its side." /obj/item/reagent_containers/food/drinks/breakawayflask/vintage/hearthwine - name = "Vintage Saint-Roumain Hearthwine" + name = "Vintage Hearthflame" list_reagents = list(/datum/reagent/consumable/ethanol/trickwine/hearth_wine = 45, /datum/reagent/consumable/ethanol/hcider = 5) - desc = "Hearthwine is one of the most important tonics devised by the SRM – both for its potent abilities in staunching wounds or setting enemies aflame, and for its closeness to the divine fire associated with the Ashen Huntsman." - -/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/forcewine - name = "Vintage Saint-Roumain Forcewine" - list_reagents = list(/datum/reagent/consumable/ethanol/trickwine/force_wine = 45, /datum/reagent/consumable/ethanol/tequila = 5) - desc = "Forcewine was originally created as a means to create temporary shelters during long tracking expeditions. While the structures proved to be not as versatile in shape as its brewers had hoped, its utility in creating barricades or heming in hostiles was still greatly appreciated." - -/obj/item/reagent_containers/food/drinks/breakawayflask/vintage/prismwine - name = "Vintage Saint-Roumain Prismwine" - list_reagents = list(/datum/reagent/consumable/ethanol/trickwine/prism_wine = 45, /datum/reagent/consumable/ethanol/gin = 5) - desc = "Prismwine is one of the most recent additions to the Saint-Roumain Militia's reserve of trickwines. It was purpose-created for fighting hostiles that utilized more advanced energy projection attacks, such as the cryonic beams of watchers or the laser guns of interstellar pirates." + desc = "Hearthflame is one of the most important tonics devised by the SRM – both for its potent abilities in staunching wounds or setting enemies aflame, and for its closeness to the divine fire associated with the Ashen Huntsman." diff --git a/code/modules/food_and_drinks/recipes/drinks_recipes.dm b/code/modules/food_and_drinks/recipes/drinks_recipes.dm index 9fdacebf8900..8be72cd786db 100644 --- a/code/modules/food_and_drinks/recipes/drinks_recipes.dm +++ b/code/modules/food_and_drinks/recipes/drinks_recipes.dm @@ -633,22 +633,10 @@ /datum/chemical_reaction/hearth_wine results = list(/datum/reagent/consumable/ethanol/trickwine/hearth_wine = 5) - required_reagents = list(/datum/reagent/consumable/ethanol/hcider = 3, /datum/reagent/consumable/pyre_elementum = 1, /datum/reagent/fuel = 1) + required_reagents = list(/datum/reagent/consumable/ethanol/hcider = 3, /datum/reagent/consumable/pyre_elementum = 1, /datum/reagent/phosphorus = 1) required_container = /obj/structure/fermenting_barrel/distiller mix_sound ='sound/items/welder.ogg' -/datum/chemical_reaction/force_wine - results = list(/datum/reagent/consumable/ethanol/trickwine/force_wine = 5) - required_reagents = list(/datum/reagent/consumable/ethanol/tequila = 3, /datum/reagent/calcium = 1, /datum/reagent/consumable/comet_trail = 1) - required_container = /obj/structure/fermenting_barrel/distiller - mix_sound ='sound/magic/forcewall.ogg' - -/datum/chemical_reaction/prism_wine - results = list(/datum/reagent/consumable/ethanol/trickwine/prism_wine = 5) - required_reagents = list(/datum/reagent/consumable/ethanol/gin = 3, /datum/reagent/toxin/plasma = 1, /datum/reagent/consumable/tinlux = 1) - required_container = /obj/structure/fermenting_barrel/distiller - mix_sound ='sound/weapons/laser.ogg' - /datum/chemical_reaction/molten_bubbles results = list(/datum/reagent/consumable/molten = 30) required_reagents = list(/datum/reagent/clf3 = 10, /datum/reagent/consumable/space_cola = 20, /datum/reagent/medicine/leporazine = 1, /datum/reagent/medicine/lavaland_extract = 1) diff --git a/code/modules/movespeed/modifiers/reagent.dm b/code/modules/movespeed/modifiers/reagent.dm index ecf91d0760fa..24108e6178d4 100644 --- a/code/modules/movespeed/modifiers/reagent.dm +++ b/code/modules/movespeed/modifiers/reagent.dm @@ -38,4 +38,4 @@ multiplicative_slowdown = -0.45 /datum/movespeed_modifier/reagent/shock_wine - multiplicative_slowdown = -0.40 + multiplicative_slowdown = -0.30 diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm index 6edc29a7b17a..128dae871dac 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm @@ -433,7 +433,7 @@ /obj/item/storage/box/ammo/c38_hotshot name = "box of .38 hearth ammo" - desc = "An unorthodox .38 Special cartridge infused with hearthwine. Catches the target on fire." + desc = "An unorthodox .38 Special cartridge infused with hearthflame. Catches the target on fire." icon_state = "38hotshot" /obj/item/storage/box/ammo/c38_hotshot/PopulateContents() @@ -447,7 +447,7 @@ /obj/item/storage/box/ammo/c38_iceblox name = "box of .38 chilled ammo" - desc = "An unorthodox .38 Special cartridge infused with icewine. Chills the target, slowing them down." + desc = "An unorthodox .38 Special cartridge infused with wine of ice. Chills the target, slowing them down." icon_state = "38iceblox" /obj/item/storage/box/ammo/c38_iceblox/PopulateContents() diff --git a/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm b/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm index eea549fb7475..434082d2f0ae 100644 --- a/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm @@ -3,26 +3,22 @@ description = "How is this even possible" /datum/reagent/consumable/ethanol/trickwine/ash_wine - name = "Ashwine" - description = "A traditional sacrament for members of the Saint-Roumain Militia. Known to grant visions, and is used both for ritual and entertainment purposes aboard Saint-Roumain vessels." + name = "Wine Of Ash" + description = "A traditional sacrament for members of the Saint-Roumain Militia. Believed to grant visions, seeing use both in ritual and entertainment within the Militia." color = "#6CC66C" boozepwr = 80 quality = DRINK_VERYGOOD - taste_description = "devotional energy and a hint of high-potency hallucinogens" - glass_name = "Ashwine" - glass_desc = "A traditional sacrament for members of the Saint-Roumain Militia. Known to grant visions, and is used both for ritual and entertainment purposes aboard Saint-Roumain vessels." + taste_description = "a rustic fruit, with hints of sweet yet tangy ash." + glass_name = "Wine Of Ash" + glass_desc = "A traditional sacrament for members of the Saint-Roumain Militia. Believed to grant visions, seeing use both in ritual and entertainment within the Militia." breakaway_flask_icon_state = "baflaskashwine" /datum/reagent/consumable/ethanol/trickwine/ash_wine/on_mob_life(mob/living/M) - var/high_message = pick("You feel far more devoted to the cause", "You feel like you should go on a hunt") - var/cleanse_message = pick("Divine light purifies you.", "You are purged of foul spirts.") - if(prob(10)) - M.set_drugginess(10) - to_chat(M, "[high_message]") - if(M.faction && ("roumain" in M.faction)) - M.adjustToxLoss(-2) - if(prob(10)) - to_chat(M, "[cleanse_message]") + if(prob(15)) + M.adjustToxLoss(-1) + M.adjust_drugginess(5) + var/high_message = pick("Devotion runs wild within your soul", "A lust for hunting leaps from within your psyche", "The inner beauty of nature courses within your minds' eye.", "Calm warmth spreads within your body.") + to_chat(M, span_notice("[high_message]")) return ..() /datum/reagent/consumable/ethanol/trickwine/ash_wine/expose_mob(mob/living/M, method=TOUCH, reac_volume) @@ -38,18 +34,20 @@ return ..() /datum/reagent/consumable/ethanol/trickwine/ice_wine - name = "Icewine" + name = "Wine Of Ice" description = "A specialized brew utilized by members of the Saint-Roumain Militia, designed to assist in temperature regulation while working in hot environments. Known to give one the cold shoulder when thrown." color = "#C0F1EE" boozepwr = 70 - taste_description = "a cold night on the hunt" - glass_name = "Icewine" + taste_description = "a weighty meat, undercut by a mild pepper." + glass_name = "Wine Of Ice" glass_desc = "A specialized brew utilized by members of the Saint-Roumain Militia, designed to assist in temperature regulation while working in hot environments. Known to give one the cold shoulder when thrown." breakaway_flask_icon_state = "baflaskicewine" /datum/reagent/consumable/ethanol/trickwine/ice_wine/on_mob_life(mob/living/M) M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) - M.adjustFireLoss(-1) + M.adjustFireLoss(-0.25) + if(prob(10)) + to_chat(M, span_notice("Sweat runs down your body.")) return ..() @@ -71,23 +69,23 @@ return ..() /datum/reagent/consumable/ethanol/trickwine/shock_wine - name = "Shockwine" + name = "Lightning's Blessing" description = "A stimulating brew utilized by members of the Saint-Roumain Militia, created to allow trackers to keep up with highly mobile prey. Known to have a shocking effect when thrown" color = "#FEFEB8" - boozepwr = 70 - taste_description = "the adrenaline of the chase" - glass_name = "Shockwine" + boozepwr = 50 + taste_description = "a sharp and unrelenting citrus" + glass_name = "Lightning's Blessing" glass_desc = "A stimulating brew utilized by members of the Saint-Roumain Militia, created to allow trackers to keep up with highly mobile prey. Known to have a shocking effect when thrown" breakaway_flask_icon_state = "baflaskshockwine" /datum/reagent/consumable/ethanol/trickwine/shock_wine/on_mob_metabolize(mob/living/M) ..() M.add_movespeed_modifier(/datum/movespeed_modifier/reagent/shock_wine) - to_chat(M, "You feel faster the lightning!") + to_chat(M, span_notice("You feel like a bolt of lightning!")) /datum/reagent/consumable/ethanol/trickwine/shock_wine/on_mob_end_metabolize(mob/living/M) M.remove_movespeed_modifier(/datum/movespeed_modifier/reagent/shock_wine) - to_chat(M, "You slow to a crawl...") + to_chat(M, span_notice("Inertia leaves your body!")) ..() /datum/reagent/consumable/ethanol/trickwine/shock_wine/expose_mob(mob/living/M, method=TOUCH, reac_volume) @@ -101,13 +99,13 @@ return ..() /datum/reagent/consumable/ethanol/trickwine/hearth_wine - name = "Hearthwine" - description = "A fiery brew utilized by members of the Saint-Roumain Militia, engineered to cauterize wounds in the field. Goes out in a blaze of glory when thrown." + name = "Hearthflame" + description = "A fiery brew utilized by members of the Saint-Roumain Militia, engineered to heat the body and cauterize wounds. Goes out in a blaze of glory when thrown." color = "#FEE185" boozepwr = 70 - taste_description = "the heat of battle" - glass_name = "Hearthwine" - glass_desc = "Fiery brew utilized by members of the Saint-Roumain Militia, engineered to cauterize wounds in the field. Goes out in a blaze of glory when thrown." + taste_description = "apple cut apart by tangy pricks" + glass_name = "Hearthflame" + glass_desc = "Fiery brew utilized by members of the Saint-Roumain Militia, engineered to heat the body and cauterize wounds. Goes out in a blaze of glory when thrown." breakaway_flask_icon_state = "baflaskhearthwine" /datum/reagent/consumable/ethanol/trickwine/hearth_wine/on_mob_life(mob/living/M) @@ -131,78 +129,3 @@ otherT.IgniteTurf(reac_volume) new /obj/effect/hotspot(otherT, reac_volume * 1, FIRE_MINIMUM_TEMPERATURE_TO_EXIST + reac_volume * 10) return ..() - -/datum/reagent/consumable/ethanol/trickwine/force_wine - name = "Forcewine" - description = "A fortifying brew utilized by members of the Saint-Roumain Militia, created to protect against the esoteric. Known to act defensively when thrown." - color = "#709AAF" - boozepwr = 70 - taste_description = "the strength of your convictions" - glass_name = "Forcewine" - glass_desc = "A fortifying brew utilized by members of the Saint-Roumain Militia, created to protect against the esoteric. Known to act defensively when thrown." - breakaway_flask_icon_state = "baflaskforcewine" - -/datum/reagent/consumable/ethanol/trickwine/force_wine/on_mob_metabolize(mob/living/M) - ..() - ADD_TRAIT(M, TRAIT_ANTIMAGIC, "trickwine") - ADD_TRAIT(M, TRAIT_MINDSHIELD, "trickwine") - M.visible_message("[M] glows a dim grey aura") - -/datum/reagent/consumable/ethanol/trickwine/force_wine/on_mob_end_metabolize(mob/living/M) - M.visible_message("[M]'s aura fades away ") - REMOVE_TRAIT(M, TRAIT_ANTIMAGIC, "trickwine") - REMOVE_TRAIT(M, TRAIT_MINDSHIELD, "trickwine") - ..() - -/datum/reagent/consumable/ethanol/trickwine/force_wine/expose_mob(mob/living/M, method=TOUCH, reac_volume) - if(method == TOUCH) - if(!iscarbon(M)) - reac_volume = reac_volume * 2 - var/turf/T = get_turf(M) - var/turf/otherT - new /obj/effect/forcefield/resin(T, reac_volume * 4) - for(var/direction in GLOB.cardinals) - otherT = get_step(T, direction) - new /obj/effect/forcefield/resin(otherT, reac_volume * 4) - return ..() - -/datum/reagent/consumable/ethanol/trickwine/prism_wine - name = "Prismwine" - description = "A glittering brew utilized by members of the Saint-Roumain Militia, mixed to provide defense against the blasts and burns of foes and fauna alike. Softens targets against your own burns when thrown." - color = "#F0F0F0" - boozepwr = 70 - taste_description = "the reflective quality of meditation" - glass_name = "Prismwine" - glass_desc = "A glittering brew utilized by members of the Saint-Roumain Militia, mixed to provide defense against the blasts and burns of foes and fauna alike. Softens targets against your own burns when thrown." - breakaway_flask_icon_state = "baflaskprismwine" - -/datum/reagent/consumable/ethanol/trickwine/prism_wine/on_mob_metabolize(mob/living/carbon/human/M) - ..() - ADD_TRAIT(M, TRAIT_REFLECTIVE, "trickwine") - M.physiology.burn_mod *= 0.5 - M.add_filter("prism-wine", 2, list("type"="outline", "color"="#8FD7DF", "size"=1)) - M.visible_message("[M] seems to shimmer with power!") - -/datum/reagent/consumable/ethanol/trickwine/prism_wine/on_mob_end_metabolize(mob/living/carbon/human/M) - REMOVE_TRAIT(M, TRAIT_REFLECTIVE, "trickwine") - M.physiology.burn_mod *= 2 - M.remove_filter("prism-wine") - M.visible_message("[M] has returned to normal!") - ..() - -/datum/reagent/consumable/ethanol/trickwine/prism_wine/expose_mob(mob/living/M, method=TOUCH, reac_volume) - if(method == TOUCH) - if(istype(M, /mob/living/simple_animal/hostile/asteroid)) - var/mob/living/simple_animal/hostile/asteroid/the_animal = M - the_animal.armor.modifyRating(energy = -50) - spawn(reac_volume SECONDS) - the_animal.armor.modifyRating(energy = 50) - if(ishuman(M)) - var/mob/living/carbon/human/the_human = M - if(the_human.physiology.burn_mod < 2) - the_human.physiology.burn_mod *= 2 - the_human.visible_message("[the_human] seemed weakend!") - spawn(reac_volume SECONDS) - the_human.physiology.burn_mod *= 0.5 - the_human.visible_message("[the_human] has returned to normal!") - return ..() From b19f9ab0788fc1f49d16e3933ca7be1ca9ab6a43 Mon Sep 17 00:00:00 2001 From: Burning02 <141873051+Burning02@users.noreply.github.com> Date: Fri, 15 Nov 2024 02:48:48 -0500 Subject: [PATCH 217/344] Ngr+Hardliner digitigrade sprites (#3755) ## About The Pull Request Adds ditigrade sprites for the common crew and officers of NGR and Hardliner factions. Sprites by @Imaginos16 ![Screenshot 2024-11-14 001631](https://github.com/user-attachments/assets/03df5116-499d-4bf4-88f9-15ee7df8cdc2) ## Why It's Good For The Game Ditigrade sprites have been lacking for both NGR and Hardliner crews. These sprites by Imaginos adds a handful to the basic and officer jumpsuits. ## Changelog :cl: PositiveEntropy add: Ditigrade sprites for NGR and Hardliner regular and officer jumpsuits. /:cl: --- code/modules/clothing/factions/ngr.dm | 2 ++ icons/mob/species/misc/digitigrade.dmi | Bin 111207 -> 99659 bytes 2 files changed, 2 insertions(+) diff --git a/code/modules/clothing/factions/ngr.dm b/code/modules/clothing/factions/ngr.dm index 09e25d1ed753..cdf1f0bdc96f 100644 --- a/code/modules/clothing/factions/ngr.dm +++ b/code/modules/clothing/factions/ngr.dm @@ -11,6 +11,7 @@ can_adjust = FALSE icon = 'icons/obj/clothing/faction/ngr/uniforms.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/ngr/uniforms.dmi' + supports_variations = DIGITIGRADE_VARIATION /obj/item/clothing/under/syndicate/ngr/fatigues name = "\improper NGR fatigues" @@ -29,6 +30,7 @@ desc = "A button-up in a tasteful black with beige pants, used by officers of the New Gorlex Republic." icon_state = "ngr_officer" item_state = "ngr_officer" + supports_variations = DIGITIGRADE_VARIATION /obj/item/clothing/under/plasmaman/ngr name = "\improper NGR phorid envirosuit" diff --git a/icons/mob/species/misc/digitigrade.dmi b/icons/mob/species/misc/digitigrade.dmi index 7153add0965d0abaea091d8e0fa2ca27f4e23b1f..9c93fb62359635fffd966082dff0cf9fd0636b22 100644 GIT binary patch literal 99659 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 literal 111207 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%0A%D#SG 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 From 2e874d15e499798ff3988d1ec5148b7286dc88cc Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Fri, 15 Nov 2024 00:41:51 -0800 Subject: [PATCH 218/344] Vox Caps and Hard Hats Resprite (#3754) ## About The Pull Request Resprites Hard Hats to be in line with the better hard hats made by Imaginos and adapted to Vox by me. Similarly resprites Soft Caps to be based off the NT softcaps, also made by Imaginos. Done with permission. Softcaps were not resprited for humans in this PR as a project by others is already underway to do so, and I do not want to step on toes in the process. ![image](https://github.com/user-attachments/assets/ab6951de-5118-4553-88fd-9a1d66aaafd1) ![image](https://github.com/user-attachments/assets/898126f5-7ee0-46d0-b7ed-ea3cc13eeb05) Example hat adaptations. ## Why It's Good For The Game Resprites older cruft sprites for Vox to be more in line with the current artstyle while. ## Changelog :cl: add: New sprites for hard hats and soft caps for Vox! Flipped states and on/off states included. /:cl: --- icons/mob/species/vox/onmob_head_vox.dmi | Bin 93179 -> 85931 bytes icons/mob/species/vox/onmob_suit_vox.dmi | Bin 317964 -> 256107 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/species/vox/onmob_head_vox.dmi b/icons/mob/species/vox/onmob_head_vox.dmi index 6b150380891fe904ece949af7e8111a615d44694..f38e8aa28073c4c79939db9728b5afcfdb262349 100644 GIT binary patch literal 85931 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 literal 93179 zcmdqI2Uk-|8#auha8wXI96%{@6c7Og0qG@H5Rl#pMWjgyy|;)8SU{92HPWPaNa&y_ zNSBt-LoW%ThZ0EgO?;l`UGHD`-Ygb-GJBHjnYrtAU-MQ+OO^R7=UF;BI%c)U5B2Ei zPP^05(Qp360D3-e7(Jn*JCzk^VB-DI&dbKr(cRn8&6SSMKP^3_yL3YOLIkEm+nV2* z!x#F`ls7B?jmqbi_rCo2bf@DV)vH1xeM5e>>GK*Ki`s5XTnF|MIT2oQ5LZaZ;SnB1 zScW&dYW;KVJ(f~KCMS`X?CeuXiyes6q>Ng89OZxzqxt0er%>_*hd5;y%bSt4Pg9em zKZhl5L~;$saoxBa8Ebm8eBr9bb>h~MtqXgJ>4mSjU;4MtKhx&^q2?Dc^SJjPS?kTB ztu+3p@3^ibWKTMrP1EPrd@y(SwuY4bk5>P^L@sg#l-pMD+rhe8LDwxyb75#h!KfwS ziC3`tbJgbg<+YNm$YtAZ-(-QfD5VQLdXNB(Z(Sda<#x1L>Gma+FaOw+^-5w2ZD8R`kb3`ozDb-fFid3_lA0R@SXs#)+1Y zFB-#)T@6b-(5&(Memh~Jx)3dE?^+6*nD~XCKAyrqx_xg)skUCFw((uJ*V06=2+Y-H z3Z&Q%pjS`sGAz2q^wgw%dadAj_x|?E6PZs53(=oxWju2` z9xzGXVOfbz-)1aCoquwbxDe9JtxzGW{-rB9Z6u2B=1z2v=c_Z^n#w%ucUYU2>f+o( zIdG^qc#_b=`+DxTs`$QqHY}?!gx&o3Z|Fxxz0rKNi>5PAN0}KO`^0G&ioINT@%d|c zxXF|cU#oDV>J$p#bwcmeuqD0hKr2p}%<$*(|*4Y(u>6g2fBOGVf z{F0WkTj|=%WH`8#%-!T9`c_V+XBKUp|1LAX{@c;9<3%c5!AB?SI;+Y_ccc&Qf z5TwSPI3e?OPKdop_a*RzU1?Qx^-!D!U$cDc4_(k?{8jFHw)2RO=UXC-*u-n{~nLHXG-`GzLP?d%sGmFMRam|T@tYP zw5fZS>B*MJ8<{&{zp~k8)xXzcJT~L59Ucc?MzTA$yj^&8mc{Ph#y36&XI7gtwc}@7 zkC)kJ&ds1QBF#WV(!TSa*^e`Y$J;ge?MR^L*@9MQs%_oN}pIHtDJe?NN>7nbn@z}-wN!yZqm z`33*uL+RMszkc`r-+>#Me_cAQD_gv8bMdDrqsot$`3@%*42u6{-@W@!Q&rl#1lF}T zPmN_iExP;)I~{LHANHF6)Zl~1OZy%65xw^GXIy^uED(bg_dczy*)JWXAKF&!^!c^S zZyg4o1cs9K8r444@SheP-P&6^j{mk@3eW%PuIYV!hBfNlm7wFT4kcd;8F1T)m&I!a zeEf9>J&U4_Xl<&5-Mh%WiEi3JBy7Uy;Gi#EAx8FjNuQ6xy=Tv|3?Fzc_xYGZtm*?l zR#fV;5T{XE*;va3Tse8`+pFl<7f1VI=9kbEWoiF%!*ds7ufGl;w|+9IcotsaIP}%C zJCcR>3YwHA>7Z5Dl4sH2Ylv+QIaHz}#_;LEPON_xx9Q?3zbt7lyYw`iQ*IV5Gr<=9 z_Zee&Q4rbpAz7a~3?XWhG0i0SOc-NS;w@+*v^i+sRrU23EjPF!t`atZ?CR_+*p&0| z@KF7y+Gx2xeRCXFYZ`IsbrrQP2T>_R{B25){V4}QJ50jCBfTTQC+h8Vq^xY2)%X_qK%vP)%0SnC>3|~5;fMjq7zb53XMw466!XpNix`9m_$;N?FbwU z_-;f^PEIzf_Z9+z3ZCE#MWm2Ta9BrO{oS)?&-m2>0s_$6pFdw(Tv)gvAn=o|oQ&#r+^(g@X0iNQ{`O*-o z6_>qL<{+jR>ee*kKO4>=Oymr~m!LS8oTpm&b5WP~LU)*}%0A}g*AA^nC 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

    v^8NcE4wn_?ypB zSm$HMqj;?xJotDbw{WgE%2no%!Vw8!A!HVHSyN(reG}Pv-LTbwBk?J3z@ z^w)$IE(ML#+abQ&Djm7b9vh1hQP2OBVDn`2ytEFZd=sglxcWXMUDjj9dal*r;Irsw zvQ~n{R?)k^@Ea9Ic%F4`&t}9P{#x|TVuAp4rrl`0Lyjq7X0=&l4mIl!#^1cG9P)q#l@LcvQIT~NSCkwv zMD+rCN^oU{LhF?$039%SpS9gz6|emkcHBSiGn@4yZ94d!Rsnt{lhczIWN+8&0WIMy zvWZGW++|6`w{_7fxbivBsYZ$OrQX_MA;DPwNvGBR|K#eG#d^owT2Ye4gll5abkoDL z?4|o=K$jWbr@R6IXrszr`J>hXA3W+Fe3XoJ0uw zvce0-v@_rPJs2AE8$y5t7S5Azzv(AdPge&HavTVmEDq6@1W+s~+|P*yaNsyrTb%^0 z1httf^s)>fZKPi1381kF*IpYt<=mqdc{%@)3qxmv6QxpL*|$E&m`4O-yF^P(AP}Xn#FB6cG2el3bwQSACvEJYD{k&RF9K?wmLpUJ)EkP4ES( z-ttnk`>m!)641M)memqJMCEYT1lf=w=wK@+p^wGZ-?Fj?*jYENS;~jtuFxz}tX~o7 zU^c)M!S1&-!?@iPSATXu<^Sv^JfV-UUZ^GzLbQ=qSzPgfN228Rw=4J)-}ry5SRLU~ z@@S0X1vtwXg{~IYKc2e3Cgb#v9*h~lacsz~7wBv|-BIkjQ%=OOuRxT??Q||z5z7Aj8aTe|P+(VxFjadpej!`jHXo%L>;^5;f z3Dn(KBKP~^@LAR26RfD!BXQzjNRm&Q3cR>r3;2-v((Prl&gany!=s{ zJGDANhg8NlvL`oRfPyj{F9#Nx_|Fq!h|go1kY&+5A4!oLdkJ%(L1n{!t5g%{7JLW* zk}L6`f8wQ_Cyjyj0#z4KSL`0@>xoq`C$W9e&sSmm6cYJHCe7pd4EvuF@6o>FuH-+> zye}vI_zrwIiCK_^ThPP)Gd#umDZbIZ=4fY08>hdB)w{`r)8<<%4PT$F*2>I!hnK{P zemE*g!karyb~i`d1RGQI@>J{k3ZX0z7CW7mcHaVB!Px;(g-3BJR*-EaMPK*_#>GFj z!Qeyb_@RNMy;QROT z#@bn+VO_p{@B%Rw?d|Y%+U|&52 zc=-wT3)M4jDf)`9j3?DI23J=*OM9q!5~gA!o9}o@yK&Z_*hL!Ln`cXWoPwN>Okww* zSXJPS0x>`^FS+)L$z9GX^yaPms98ALZivS(j^RV6+g@h$VM^-YT? z2yHALqfi6N3k-nH0JFs*365t1JSHNRing?Znz53F(sDGMlZY-kNhl+f5S`WRRrt*+ zL~rnL9HQOAM3s%hc`O`1lE>-+XC2-mV))5lVe%K9{ERiSlkHX5?>!r62$!x$?JI;A z$~+QWh~4(%hUmJLo`%S!)x#DA_>f!S*I+eG_O#e%%Z82H0h z7?=2e(lpy3I;=4P?>SoAF4e_laS)e`VbGvKdeUGT!xnz81)%oWEg~QM(P2?8Cl9hA zfHA?HHSGX&s0ZVYR=TUckpO(fQ~2=oAe$NP)zBXPqc6`9ITJh|H63PTIBlUeffFl% z@^vahxj$#lNL*L!lxo>jS+*U6wCLt4RXdquA6gi0Jjppy@R!+!ZWYDri`r=Q9chZai zee>_+!JGKxVmM6SJ$hC;4+%b$lPoqXgj}UqjYxbp{C4&JFQz(Ju)5WxtQ2^FeZIj! zz7Dd``1|S;zq!iPT`f=U>^@~9)E;+D^a8+Yt}$tS-DR`pY&Shi>vUaH!!-{e20yd| zIFb!9+mdzbe)!__x?v`>O1U;vFB;Tos41;NuntL+{E2)E<-y#w0*8R?GOb+Mt`OQf@|JvqjC ze~K-Q&x8;lpf>KAxmc2|B!2)1tDHy~oiZU84A^<{1jn8-ud~gBjpbeLC@MbqCHWs# z-~V(HtNZ z(t0H0M^}lVf7%@$&mq2p1*S{t)-PUuGmXr9o#8Vc~*aM`@dh8D; zzg+=z8^xaEK}>)tjrKOH8NWwt$MM_m|JNw~{Vys7sC8@;ew=Ks&{qG(vlMOJ*GN27 zZW3N7Kh9hU&b^X2-x?2snfSEjWOg*p%%q!wXqO8x>H`fBtj(=$E@*17@s6B^P~(*8 zRBo>nLG73U4cE(Gyo@58>`wc$r4NI;wmT{jD-S){U{MnFMnarrHuRr-W*#wj#l!sj z4mk8am71t;oc$Nv|35HRP5s0>a7P(FRvRuQdVjfpKtF$0pZW@b|H5ERi)BQCXAB9- z3M9qD1>gG;f9NIVm`Xm<7>nDzdPyStmjD2%f&ZB}jpXn*%IGq;Q&?o6Mf5F)c6`EP zVXeeMf^-Mqj(y14?SC6({_UOveoVWVJ;$5)Kar>Z>vtYuJJA2@8}I+(c>kaOOn&`lZOT&h#4O}x6!=v}YrKN@?|C<3@ z^b;#`(r8}kpw^`AU{-W&c@>!H(BMc7vnYEnx2Zt9+AUbF(w?T$>Tj`y@@4<^a?EYr zn#lIs9?QJ7{tW{MaHoncb-MM8)1^=q`q|_w0)QW;?;}gEV|Pry_z871`%>e^?oW!n09eU)ZXJD}Yg ziE!NM{;A2k_LUNB2V3YWKyqjEZT?j@d%K|$Nu!a_FwB27CfuRVubHXTmJkDtg2c~@0g=3(RiicqJ$GCCkh-KUi<}5 zTIeChLg%C2m~b_u$ud3r3@Cc{Mh|Byt*ylx1UMwKI?s}%=xQXM>8*iLm>z)cIfTTE z73YJzoI{?PZV~<-qZM61yD=wCM&r&o>J1Dp7 ztKcgbqa?BsbTIit3|5KEFMd@&dp_J_b1P-`(hGI6 zp+YG`JF++WQvnwL)Wp)1Jw}}f=H=i)&Wv)Pn&2_n2|;qCSzX-!cG*EzCi-7Po_4^| zuP9oOeKn9oy$kzTq{g(mp-5N)Dx!~y>E3M%_VJjbF*F)(CZI3|9DlGH#fdYIJMFYH zuGt=Pmp2qv5TPDPe*q9P*VxW)R>atQ0YJ|VKHXv~zYo@fAOB(>zrTPs&WsF*L&gQ- z9+Ly?UvrWoC+AXLfY&@+Pt4{gB-!DrcMJ@Vjn%lP~Ho5XQ^r)!bs1P(Vowj1eDlyQu8R)Gi~$ z4Y=+PFm_!pp!8r6z>k9fAQRWk^cp)mM8DL*d)v!=V?gn^V0-L4bs2r9QQh?AA$>TJ zzN`N(+Qfg7pI)3-qe_BT(nkIk?mL|Pc8JGPex;~;d+21~4@iMi7D}#!gNO}d-#Gvu zB}JAp88kBbZ?Jpx`{OA3myu(H- z(KS>KfbSgzQf}ur;onCPqT^v2zGQS>5{ zRaE@MxVmb60@s_4Ly!($&h3`YTnIkDq8f@X0VSR{oTXqd1eFup2?Z=&$cFr+?3&(h zO{FywWlf$BKnD7{9G93b&o#sGi~2rtl#QcbK;1#@qEkc{Ko0o5elCh#h*KtfrXU%F z_M$ZMiaMkZ!u_lBW8`%g#AO50#^aFQ=sKH0Yw2)T(x%c_wQW^zA`r<4kESD{CY-pu zr|E3B)mIxDQZy@99b|uT`U~$Tz&KPks^iIHLl&$k(isXb9WZ`?!qNB+8i%i%^0q?j z<71$75H-)b-FX<;v%0j+dkg9O4XvVDl388(AksGEw>jS6vC}Y9d1`8gsL(0EChU!O z#u){hpfEVHu`Z68de;3Iz5da!!1rRdffXRyii6R-I`^}k=UcPCazj$f zw5FXmIU*mb+)2T6!8|d3pU<)Xw;^PV$LgO}ZmYTK7)lt99k$xU9?K#(TP9f7E&wc( z*WDfyoh1x&eA&rP0S&etg?b)D`|679JfTb?M>sZxMm*cNjmcuRVXH;DT9tx0(dmE# zRdwtE$mm@3Zz0XTS&c-FeL{h;Qx0viMNu0Hb$ck47tc$tnwE6`s|joUx;=ZLlvlyX zvtmNeFXwZh#ZtCM{Q|S%NH4LScV{>hA69@TajLr2$y!becG(r1Rgo*?LNO@wI<{GgrR?LU~u( zBbO3bORG^<{IHIYf7npexapqae-?e@Z_#xL%?15AsU0i0C7Uw78IOkha;bG{Us-HvJ5``qI!++J&di;VmECcy1&r{*(Piqdf=h1f?Y zu41p)8~&t;xdL+O6#MnsV0QQBHq!IQvYQhIcaCkRY-eigcab-jzSJ^45N!j4%;3xak~|NqjUihNjZcs7#=T3KwxJ3S}8W>HIPdD zD*wpJzSvA~4WMDy|M;W{w2D$K3KXfMpdKBLuuVnj)#}1fx&+f?_Y3_u%qH=NXH%$# z;w<$sw&0=@8?>!OW<$SIBO{^h)T29cWk6A1^jVMQGklZBRH-1Bo^{KJ{-)3tmc$?_ z(3s)S4Tzm?cb1mR9$?5IQ26fM>G(arQoO482TodXK`1Do-yT=I?yN5r2O5hOABrqM z)}3h-v{*e#o^aavH<4Z`!;l~s@8PA%h26KICTzv6Z7yi;Ov7*VnducJZoT51Z@=T! zJd=du{fB=N;iZ#xeb(42DZkHMNHUvNtIW0%d=D?Gh}@Z*B~ORD6YrMl0Q}T`$;M`< zVXW3s$UP4{p?I+Hsk8i*rZEaraZSI2{BsM-yvUW~od74H+juvKfSw?r|3(isg3Z1+a9$wPva2v# zpEVHgd?wrW`@u#*gtmc4{VdGDX&D62&o=o1=}5yTC0F}Z2b@;&VD-Tx5-*fEwiE~L)u-&?rvp!c{$`0H z1O$t%+cBqvtF_ETQf{ra$dSU&r_NtReMK{`T=ae;w#6~)yLx2r{v4c0#c-0Fs_j$= zvUQ%$4SgqI%~Rw2aoqq98ks$Rce{hzkcH}=ASerGidQNHps#3sm{ipvfH?s$>+X17 z*H#l2sZ^_Otv=^=sq<@Qbq&P%4h^4~OMe>ctEfN1FY zPe^7Du6Smq_L44>o zCX@u;v20aN>SEB7$f-Dxx|$>hFW)u&z6^P>O2PXvB%5F2k1$nGUiL%*KT+}Ym=#)G z7tJVK2{P!V<0}7FD$))#(Hw|aeDB?@(JaO!QeyP#KN~P!pElU-f83hR4UFDF?v_iu zFGGw?7GTK)tJ?AY;LrM&*?S%pHCbQMHgbA>YH^yum&g~#VrnuPTJTTt%yH)dcnv7w z^yJ2BR25G4xwmR$f8D_#(vT@^rb_r>r-lFdsa_=rK%Da*uF!CVkeJLfGA4@vsYXzi zp;sCeQw;f~(JJ8++6@Id4XU$gFCZHn)u=vybiKo{D9n^J#gZxOMK(xyNXT)qoDq8+ znhQc8Sd>c%lk64YEbt*hXRby5Qftn}DJ{nxq9;eC^?8{Ci0kXL%l@XZTaO%%=^uVF zt9}vDFlGQ2$-fiE+~~JVjJU+<#YZC$8VMlkAQN{ViLfW2P>5AVwX(==#pzxJBJtz{ z%BW-Q3`S!d4-j+?@4S|}{84rLlSy?FR%Wx86w<>U_AgPV5)>=B5=ov!4Cawj6SW(@ zn=U#|>0&HNh2vAI2W|`_)b>&t{K4u>vi>C5YO?NXZ)=Gj(a646-*%w`7S^@*P-?g< z*7#8;5zyytUZOt{B=m?c6*a%Ln;W|=*|i57#u4gHF=jxpN4i+ajLFK=f$8OP3=Rp2 z$i~C%RsPEWRoPLH0-PANF}mDUj~7+^tosq}`pLZ_XH0p?aIxkD$HON4!4U05*Bi;z z8}nSYMo7J=7r#BM>Y#t3{c=MSAA!&-HVg6lR*BXRP&LHx*JHPDD%TSFGxPFsX9*oG z-{gI9TrKrCAofF522q{&dvkXJ`J!o4Dcv|Ov{8^(yhJBQU(ky;^g9mH{;!X=U3msZeW+<6e%Qp9~G5Dx2`a@+Q(T+*z!+i3*Ar^Vj zot~&(LS3~aCNF?pmOYm8psP?GD*IW1ynngWsTl(@yk?qCO1Rhp6M{_rZqu79!G>^f zBi+Wop(JL;XLI{W)qve0glJQi8gyxIW7;W)FH4)&1{~27%8rKS6eH4swktJ-Q+XEo zteuI_;z#1FoM=hzz7(#JjREomp{)|xX+Qs~Eg9bxDpWAd<5C_vLu$?e2@Qs;j#2_T zSEcKWf*m3_h1wgjUO7E<0ZZ7+YN{z;(&5Fhi66?TA4RSB_7X);k_)MznO~C4GF&Iu zt1(NBBEs;cM#sN1Y-dp?xwuSrc z&khV8%)}!e1k|XDS*ci6J~!(TtD%Hex*j*4F1*}{s#*jA#lTlhqEBUT7U=K{k(?lV!mHD?l)xXp#DtLTT4V3`5_!64SF9^om zU(i`>(E&jp(aGXB68!O4=_K^ooh{m)quQ!y5^0Q4d#*c2wGK&D`g}FybyYvZIBnio zbJzcu7pkG&B?rqGwvML{MSGvnH_JS}`+B2Fy)f~^uwDnxT=Z;vLd7ygT1$H~%+T!? zktdd1L6a>)dse2@w)IKJfO0;J)&IG2GK48sivB;Lr-z+ZCVY*X&B*HE^$$9f1rxZc86J^e5SZL?vtNj|j4_8l*zajGUd{PU$~*VCI0w5a0#>_h_vmE=O1r(8Zz5V(iH|dQ%(J`SD`k?wsM!J0zlX{uCVI>v}ooGcSgcNaJGC}n;S5m#lU74#gWX~q4J7v-UBjNhx@=p2)#SV=->mtDY z6{bzNY%YQ~A^5=?I1B?+q)KqIAxE+)mSoW0Qr#v_XEJ90E&COxfVXl9z`fV58K4Xr zbUPkQka-qT`aS+zPY&I8Qopg2$P`K!vW|jFM|FKX(5&epy-;$V?|u@Jc#s}wix?sA zTWnr8K^FrO_0vNf;ONM>W~MUg#cyqt`1VwI+>hqKT_6V`?#RBk+;5w{F|9Bqr)A=( zO|pZmh-7085EWw9-K)P&QI;cG`xgWJCHCnvo=Q&Ds9K<)F%A@Q&xk2xyr^V}#g9Ow zo5aGb0SB?;0px(Ykt=}UQSx)Q zl5*>hs;`uj1g=x;>)fw4Plq$)m6kjkl}~nr)bH1S%6(;=6IvWCFx#*{`8*(-qtbv1%pl?Z5wlcAjtw3V9sQ5&508R+?>)>iSQ?)#N7{ zP^JT$z^~*ys&+Gz^@9E=vpy!zZ#c6zOes*8Ue0=rgzjhM$`8ryfy4lLD$S!89sAGX zHeyY(3?&4dM!0tWOvwLuD2l)jR;hwu;bB}5FuY|7L*&)Rh4(Sse=1K@o|C*}d9(iS z@`mkmyiG*u@7&f($5P?r{xZDJEeap*n0&^=j5>Xo2fjm*nakejOYw3YX7{EGiKEs$g|$7HT`9=zt^-E|Kk`9WJz!q-M91X>-m`d| z=AsndQTnVx)+2mOVjE)N+V!k&^le_aMdpU)(&>*Fi!6&EpSMhDE-kD7lvc?Hbk6M& zCUq=K-o%(tu0!4S`aZ(Ks?H9s2R_33D|80pPL@g=p0Bu0dV(&b;odV}(vtXTf8Yz` zc~eg`bM;u~;eVLkS3l(`vziKm64(r+NcXmjU`wN`J{Jr+r*1=g2(S}Y0-+?(#kbJ% z7mUI`kt%589H!jQu6ue$Jup?*-~&U=B3`R0AMa-m5j~IL3Kr?Lp)^+YrguuhfAhj6 zo(H2_8po}tXro#kXLLX)Cb8eBJ+xp7i}H;LBka)R$ZhQ(RG(Z9?!@hqm`wnA1c)v= zg!kUf&A>3d)j3$W6yqjJ2KybgQ*bl!@i9-kyRn}!>~!7@LV{beLLq0zdohWn`ANJ{ zT?n;6hQ23*IzRc*peOz7f{a?nbJhi%w#u0w_8@0aKD<{OwmzeuHfc$&78tM%e$7w% z;4N=wwlOi^`9y|ni}O(pPGx(>`NoS|!fCeboG0%-lBJ=IGmSaV)2eWlE{kq#yDkTE zr^Vwt>_30^^44brwa@2SDKw7bftsnlHa-E};iuR64tqFIo^u?49zgCGo7_bFrhE?99$NO7<^Od|hnPuXQU`ygLXsLM-B6_(?LEmG8@^?&;k9W_v-m>}Zb>c((19|=5KJAjRA>W+}e4(&^-quF>M&T)b z@#%DC)RCBi@zJe|1Hjx)f%3=uu=9e}$l8YBC&cmfZv}77JFW^BFm*$9t*WsA8-jcD zcvWq=Z*7E~c_|X_70U9g791N~8f;yrs?OsEwBGLssXVry`9`NTDi>9`KiTrO-}Ck= zAtAvpaKj+(d1emoGYaC_5iru_D?PFf)r(o^N zQf7YVuXk@G+g6bGi-GIXn~}_k#iUmLGpe%oT)3Xj(;W&PJdNykU8fahA_A-Y{;@`& z1PCJ7@-xa>F8!V^E(%w60diJx+nnu|0LjJ*YZbnDrVrn2i1){q@J$FZq$){yp4DaY z`Tl8@beE$;*H-SUJt_R!N&=lNa&%-b;^GP!*H+oB8kq7<=*OB-fq6vG^pb{QSydWUxOam++0ivk0igN z+I=* zb`hk-eW}kjrk|l4eE=gbygzAp3c#EYc{Sxdnlp0!a^pVe4floP^X<0+wm7`-DVfGt zG>gqQda^Tw8#A%iKN%IczIzD@Wy+eV>6P7#*0ha!T%Vn%KLqv+$d1n6Zoa!t@UX+l zwOg3OeEN>O(QZH&(lt;%(|o10s0E@ead~LolO*7zR*c_@ybbN%)<}{W1^9HU2Edm7mDHs z+6OOEWRnboT@#MPHd0EK|2f{SbA%OeG}kq19aCD0L7FzTnCZ*5pO9c{4vDL(AlGwy zzJmZritC2ZO=j$SbD2jCQqIh4uNp1(Dm7}bQC(L-4CtMW}O%s?6k=R!);>CC!F0$ z9%YZ!MDLqu)NA0PS59 z9@!I;*>Z^PgSJIdsI&ABl$SC4 z1J}01Xk3B*MEuG@glq7@gGEj89?-jelKUa6b||t+xu9K$V;*wX_|wv2`k9C^4x=gl zBX@C@0C=a`^pV)7f+Ur2fV{J!qVj5xHOF@&b5dxY5ffwA-i%iBoBZwJ2H^_SPqXOc zU28aQ$lL%ExwA@@qN?@=MAkov=_k+VQ+fxkOjc5EosS;a1QVWbeFpoR>>`8DpG#XK z3MmCDufA3Vi^i?gA1|0e!XbV=o<*BxQtO*f&5z3>`<@bwVm+ORkX3Z(v-8fg0Tbl_ zu!>bS`Gft{yJWlef6m%YU*+p)&mx>%bnVCQc|&lDk7J%agp=?hM#9)}V+T0xyc?{+ z4z6Ug`smOu$b7gOFT9G)U>TPL%GsPIK{G$csd@n&$ER;4CHmmU1UAXvo)*!z0HUhn zl=4NG5QF$4HOE7(hlRRzlAA2*7+x%|2zG8hKDOw0kLKQs#}{;8+}Xnsd6f|F*Ox1v zg|l?gIS+h8?nS&8`%ux-hEK)dW?9<(#P@<3Z>CILZ?Zx|QA2vCZx&(Wyg|k7<>s^9 zQ@+w6-E?YpphJPcyf9S7c(((>`awP-hw z1(#DZw>#(eRX+PYEWVk1Bt?qFeqCR~tc3WmSO9@bwQXWob61-B6{{ zdvHIhpHO&>9jEaFQ=AX42fFx(^B>%eQt*!Udkg)$1pF{r7d1fHQ67JTL}0Ibh3|Lr z-kEPIP7|+c=>}sxs9sv=yJ_ut@B6dGR9(znaQq&WqDkA}RtR_Nmu8cjMI3Rr?HB#W zs-;q?9ddYpjX z1lO~R<+NW}&3Nfhozt|4V+yQK{{)DC5D(iC$V>JlJBPd@}4kiGf& zj2lDs<#ToM56WWW@S`;;2Dw=qvj^}M6-fp=4A^z#v3*N@>YcXgn?3a*l30g_tP^SpIu*!3%Z$zSfVAlV{=&q8jPsh&hGspswj9TYnFpKgO&VaOK@< zt~~lB^x<-(bVVDJ?Ju><^M@@hnz5mQqR~iW_cZct(5dJ!98?#t&d-pa2J>>5}H7yNkXw>d}#Axg#S1}%hBYBonFVLiPv$;EfX+ z$i%U|eM!9`4<7{sxQC=ori8f8}V7h;Fe0Kzcv{v{oms;B?R^z;I;B+4}eJe*JklAaJB#1j-UKL zZxM68H2=@_FO}r~^A=#%yZ^aExbAdV0QjX3}qY zax3)^pE_I(*vk~Sgl^X?sM#o`O-ngg2{L4%Yp&*gx<@YnzswI*vJm9`+Wo}9o{)lvRH zV6}if*t8Jvwq5ZE?m5s|7{Xz*pjYzTdDok0f7rnA=cbyz_pO_g*q9qiNz+(epWi_D z(>%1Yn=P{SA0W;f9?2NoEHnJPA12v+hgEV^*4VrJWejiO?tx$U+Su+?S>NbJb^;i4 zWVF_xhKa=?nT^3&u%y@rv*>V^||RY^UjDSfHk^G zYyItVkg=SrC>~x!8&JQ!TOW>2QmM;gnG()E+=51 z2<;eh_o?yAuO}A3G4nL!u5j-u!@K@EjN!n>U!xfqKY&9B-Oe{z_o`uT*R>iQVe6&5 zNYh!%Svw^t>WaSktbNDRaNKs%aKPijs6e;MxCC>FbnH~L-Lpd<|K@sCbt@FeiLz1-yDuthV*OgUB zjtb1g(%Dh35@AAaZohfc4S`wF7X=YhtoLnSf(WedR;&-zQR%VWHhWn;&EJhozY%=; z1E2q^j0ced70PY5#9z1GSV3hu<%!d;=$vd1pgVl1*|ngXu16ku^EJ9dRV5)N5;Z3M zB`%a%Yas3#y{Bh;r++-Xp~G%crj_N=l2BSM#oC2U)SP`(_3MR&{-E z&2Ojpf(Y=pHci6&>r#&Ylr_DceP#kHZOlYVJDJ)FI}Z__^a32JKm3C8fpWwnFFvg$ zm7945YTwthUL1FJyvrHSM<70W3@fVl{#>kF3|nL?)Y#6La}h`yzGAK?5v77B0c`x3OW+Q|{9uEg*PLe7v6{T3mjF`Q!7hOjlaNBpo&*r0Ok39+sK) z&|g1?d3@vyPC>(z_eB(jv>PP*N%H}5?5T;OhN~}K3iQSjhiQ0wC#O3T5O2o;X_`G) zkO+LaN;BR%GYv>-K5=1#`AO7t_aOKmI8y#wE7@hLt^Q1KrM4(Za zV{Waad6A{UAC-cJ%>MQrsW63Of`#hQZpgKpQB9+ndu}s7*e25w8vXdeXZk#Of2RY6 zn2{@PiT zeoY=uA$@a5*g=oAx6yrI6G^bo3T_biSxXQ;pkvg=|7$;=tD;JjG;yLp$a&sTG0PLr zzB=8}TZw`c(1k zyYvg3aj~T}-My@L@uiuJ3t;o!IEodDdE1QZowALMW9yp9j^ARHLUpggM3l0XOaIxy zVlt<1_Pwv8u{^8TTibDL@yzcL?#oioTghveb&TfUOyXX|2Lzt$?9vNPCBCyPtBFF4 zeuc$IJAktplPSu}BQri!*SOrzjD49Sr=nwBjwZL(1+hP zRq3cDUzDZJ{sKJ2i&c94G?M_Il~;1*0XM2IV_T?|Et@KN4rnhtDD<3|z3EwCLVeJ|I(OSUOsyb%W2V-x3mCiD(cd9Ff_IaR~gP9HJxdco(A1ocj)K<#R z8cb~nYk7Tpy#7d%Qw&-2Qv(kuXwYXx#vf^_9q^c<;_*W9jw-C zW7j+5;|n>L%zIT48^_vxBNwppeKAyW z=`@SOOI6;YL-8~JnuO`;>E74*Z@aO2y;^R2-^C)(5h(ZD?-m(=D>|C3n*c=A$FIM) z3v0h@ru)C2DusT&q2k>P48Mw(TEueqrx~#@K-y(~nla&D{x9st1KP@tYkySEVkUvf_s{ zcHeOsglLcOy44FeVj#99=LNaBxqLgiW#-DhEa*+2V7rNgA9oKO$MFjVW%Y1~0vW48 zW&{G`Af1x#Ts5|yj|7DWpP_-wK8>eq{9PZ(2(;QL`$?h4cA!k_j&3dGZVTIItW~{9i5w{@o?N{#z~stwA>2&R|+&KGHq6qGOxMVS;3eW_BSQr3H|cT?BxpH zemj(buQ?bHU^yzCHzj6o7TedbtPOQ7?co(E*w7Q;`>~714LUzS9?C`7E2e$#5#AkSGpmc^MhQ45Dz6z<)_^npCMjaglkshO`>$4=Ng?z zJgp*nbPJm6eqSvTzwc*2Q+EWNI~1zi!33{W7)j#^=Kk0|V(6AIXMY z$GoYx+umC2OE>2oD@>JT;?`s?hP~%tyb@(i+b>~;rbFlSdl+H%vsC@f%&#E9iF^po zz`2PHA8ob{L*C=*9|@5u-?R2c_HYa=mJ_#?M@TUe^%?G*K) z2BdTCTs^ex;=cVlKjhtk-pp$5DJXN`==SW1+um7MV|oM^{TF1V#YjIIw`aa+Z!9fX zJ71JLMB3ed53}aQPmq%I=jYa32CUGSE`RR$7=Mo9V$GyF?IvUhx}?cX z{-0#!E~LJ;b3r%uIQ_;p$@n#HCnP|&Q~dQTT9nl08ov`#i|n4eeRs{dg}pYy_@+=} zq@6lr&DX-z$E(rrV}Cf0=fjZ^&IE-9j!Fnp>d+0w$66}h!RZ#AIIrPBrVUJDdAJO8 zF*cb6ka$Spyq`bgTn5=?r!6-xSKB4#Gm+^>yE8@Ivb#Se z&-cN%eGYkShP-y_zum^j{kr_f8a&LNS*4y;;aEg8f#~YeXzxwTNm3knElDwYwRQ^y z5Cza`)fiC?>(*%}k_l{E@b>>4ulRkA=W&s1`zj}(_B6(9y}nJ4{1@dH^D8NikDz5#VUBM~RPSN1x>ov%2*@aSQWsznxgyhHalSrTpp5hw{0HT57IRHi8~s zS1GcQ?0*!C!A78q#w#m}%A&AuaR1hu&X*!MUb7;f3^w}(D=*XokWuH)l&0#BzUIze zsA6uqw8Wif>yv4kyFDnTP9_c5$R1n>C&;TmTU92h5{qesCEp$t&)OH&9a*ZF zvjQvjSxKRjQZW{!+>I6Y{#!NmkHWS^;J17u51;kSia;}}taU5b65*9`*m7>@V_KeE zv$x}Q2r5Y<8NsIa(l;G43ud%%mVr|C&Ut-iaVQPC)^;s7;M?IR=o{SFqOwPbSi#iK zNUWSoiu*iS0b9*UXA)IGAzLho_w|-M(bV<_+@Xu`t&_*^7yA<@vh!ia&%YA#2R&9^ ztk%p&_zKXJv4M?teC^2bdbXJoxZt)mw<$S$Sqk3@XgT0RuW;lhqN@zoYEGqVm?D9V z$))x}>1%$i0=wSXNakSMiSb+D=@t#zd0Q&WW@65+PPj^BYEIw|3BJUaGitouPs@Zd z(KLT?Qk0h{0IGlqK1c z3_dE^#u5fGBWom5DC^i|H)P2&->W`-zMb>^2fp*eJ?EZt@7(u&FR$(KJnvgqUDmex zgYdv&NH~`q{#PF4n4Y~NFmjc932eZ@A1P-G2MYLd+{X*YtldgfXlA}^UG)Cxi_69~ zq@9VKnfZ(C3O03r8`a}aPe!|5M$ckM9h-P@OXlhp`a5n7>uqj}7oab+mY8t``j>Lc zlbX$f?e}lBh;EG(IZNbI8FI|;&2-Yle+^v{t%aMI7+#baywrE=E{cai@`HnJzYDwI zlZ(chX;nw2DGC(x&N|YwoHg zw;Yk(jFwpJ>$qu`0`a2z(UU9ct}@UZFuW3f3RtTNb2mE*%)&a%*z>_Q6lawX|C5$l zx=kGjwANz=IcZOo*AJ8K_9tB*Qp>SUxP8{K-45i>e)o^TY3;$h*xd>&;cFS0|oXi`nJn)f+L$XvoG%G zU7T464R+snU(vlJA4r`t42VN}!&Pk{W#j|Zx|d0347)=2n3?bqGBczx`os0+kByw` zdr81Fcx%g%X=?%(CxzP z&Dbi9>F8EWGGDnP)m`qDvC4AiuFK^(5%;mD{$GW-li&Rw>m{MRYv1 z0qC;Zm6(ytN?sW+DbKctbNI(qiNqs5-*@Klf0@jxB#f%udY@R?ziUO^|$2G1~B|YF3Lh8*zFPa@pRi~Z` zgYaFd8RJju^j4qU~$NnNvb`I$sKGot@JW(BI>~#E9*yaOq~kXq3eTe=T=1x4Q{3 zgRLnuA$h~zgKg|JZ-NU+$1TNNr> z#;~rOi~fC2$GC6WK&P~Y2$w(c$;H1HJeBWMR2=PHo?O6LQ(8qOHFj=Tb@`P9DISMZ+F|+k|;{_m{$a@Lu8p&Axg>(!-F20 zRV_xa4f~#NrE^InUfSG#$Wt?Ktv{Z3mrXd^yd%ds^G6l|q%0nbh()rtH0rqSP$F>p z?A%oKw9N~|XJb5;$reYrU?p7g+`UmRUUR7?iRk+-fo`Ly253@XV{oxl@t3h z(P8MxUSleT{gdedybbZd-357+aqgq~q8(iMqa2;jW?7r)kR~N7xc8koHP;n1Ac?%l0h#+;D@e%k$r*;^qkh2+7; zk|^%2#Z6=z{h@w*+6B$VsM~X}yHCo7ds$(G1`u>+!~!yp9xFp8+)E0E$jXnmT;sP;iT$D(vo?FevWP;z$XXk?uCz{Bkz^{1|3tbZH;CEl zSF#;;pKJ*01X7Civ942xh2`FLd{YF=eX*N!j||%BU+ryAvZ#a{H$Q+_OvF1$giMDz zRaA(z@;$lpiVU{aRRL?6&rMkBf|92mSCe^&(B_5KlLJcFZO~Q)UR4^=2Zuk`D|_zF zRr21+Oi9|CcCa<;z*s_hkr*^l4&vLpi+qV@TvonU1U!ytnNIN7d$sSYtQ~9Q%^u?QbqmZzENO4W+%n?v(FCQLrYI=u zjUqm<552^cgvyQqO3G4WIf*k2asd==e8Hy|rgszVwZV zWDP#N-{s~;9kS>ILusYJ0&%B-IUI)vEl|fU-8@g0VlCpxoh$zC_sSw7*WQn0wB#c{ z9TAb~u{{&336@c(J(65D5BbSb)opI3WW-*^>@ipK&z|QKT}lX- zty&-(f{z%c>Qq=wTQO)T80QrCFg<#(Psup%Dtir(J>1#J1Px$L+P_C|%hDVQw4Yi- zpE&QSL0iX?HJz4w2%G~Szo4p~Sp{)1a>$=5di(rJ{pyg#<@^H1MF%#B&tyE_x5Ep5 z_o*H1`#vS_gHg79OV|elckmsj(Ev7x_ zevUbobe(g%-cd8Z508$pex4x?d>1?Q#g&(<37vGd+jV^{&`xXU^$VPC0e?%t@}TWF zGBVT*j|l3z54MIy64|#h_<9jJmgfv8<@5dSc+P>@e)SKt&w0xX8N+#Vt6qW9@NBna z)iOQsim{BrkC4RsoYIR; zm$Ab3`?qS7cKzMx;Or=b>lReb1$-+9C6giJg@t>5G`i`9kFSz=JEZ6~|JX%46z(<| zAAQ;rY6v+2AwYb4R{BSl7r^N7t+oBVU|lz=)xic$`=I}h1uB}$1wEa|Hu>`CTl2+v z2in=n?OC<`q5OYtjo1}72;tf68NXa;2zGjQv(j~LM^y6oVJxEmE)>8nU-K+wxnT|} z5ICOPQd)p2@Wk3Kv0ARNmZPwpex*wqPpZ9MHU&}QI(|W`Fx&ABdC5gkXHcP?&m*n{jOa{jrK+<}hklzh zI~)Mccie@bfu)l}>12tbX2V^;gNd2NiX0y}9n4(VW zJq&WXT*rl9H_>Sw)X226cyuyZSw{#32}7Hg!PUWw)HPe-`dWXbh=l#i&Q!cg(%D< zp|Tpl?4VAXmpE677M=05L3o^j=xdoUEDN|~3Z0a{_Zss7>%>XSe}n8R4)p+-3X?29 zqL$NJEIeF%3@H3j2+Rq3Yc4mBiH+>J#5>CS15^ZHXVa!fv7I-sg=v*dOab3|7!J~U zBNwu_EQokGknpU#Lhd5`mMp^YNzd+}lG90#Am+{56ta6DH}(4sQ7@_ZRh!l+Jw&u10bo5K+fn;`3yF;=B;LA+UU#(W60V;DG1XKdbyPkvEDvEbi8(6x%}zIkzj_BE`V=1+PCm(=waD zY#HfJcQ;mi5E0E8OceH=QmVLvbUaX-zWu3YAVH!G5JvvngONye2&;)U%H+N~+1r%i zEyy}uYp6k(k0k2SyCy@PZ+dLB?-4PXpiVuz{^U_w`ijl@=J!v|0y({)f}`%nC)+N0 zf?=JMQc00HR2oQ%WmSGRG56XWa~>~QVyr=__8Xst)BFt=dFL3eOXY)Id>TbE^w17g z<&frY9+j<|&LSL&2j}HT6Z5WX6G-PC%KnulW}!t4l-o!71|~i5+w-)J+N>t_i!!x~ z8EHQ9oKw2HBNs9Pea95)gSORUAsmOIx<4MDJQw{Bm|1KCCyKTMs>up|gn=Tf z6E?JetPRZp%E}SRQ3b0AKT3cCI0Y7FbaDN9ogqI#D@h|{FCXVyecd5wU2Dsh=gyvY zHXw}S)Rg1YPPF1iDzeQy7c2eoT{QWG+rxK^6UXu@TQDx`v}J3i!49KeVdC%3)sGAL ztH2KCsdxB5S-cB!!ZbB_wmeqlBRw5MtltOZdhwB5{vSJWlZ!40t`kL{eJ7*y!+R$F z5enrkn1oD!u{dE@r<4uzd2UiO5WcX~7B+iiXpn9<#W`p2tQ@WTf_o{T*W~ya^v{s~ zT@}fK`*znFiJ&b2C?5iE$B7WqrS&*h4H9N?U4{i+-5WQQLf729-fgI$6DRoe1kd^I zEi9+FdBgU|?RwOtaX5&r^mdY2YH%FX=vGn0fUs8PUi!A6qo$q2boW(bwL9>O(1qkf zpVM{dbAH+tW{I6fmWkDk3S)VW(cS#UQ;iEU*RCpr;Cm)XD~*z3Ti;n7bOv?Wt+{HO zquxyW>JLjw8oI4!RT!zu=PMG22v*N@L;|-pedqa%s=I5P1k6I9?oA)~NVZTu`#n83 zpJ^UDq-er=V9mh9jg`Cr{xb>DGG$3r=9&aBx_Z#`Fb;XW2gD(V4T|wWZHVHA3yfow z^|iU~A)k-kB}=~EKEC2|S>z6WcR;fWZcks1EIFYX*k=*R>LEn1FKD~n? zUO){qgh*^vcF};+g!j_vcX0L>xS%ds+Vh8=?TOHj7>=&4mMFJ5eK@TWUZ#=XM4F&R zH9W=fRt^EN{D{%Oc_fIGTV=hhip@siA@g7fb1E_)JZ3fAIoO4%L75A}_ACS`SjO_qRu594ZfTGmh znX5I-MvBU`GnZ%;D!-x|`=8Dg=mzZ?*gOZqV}XuE8H~0){oyG|hUmU}M3#jKP(D-A z;p{c>sOwVVti$4gLe%dGb(?D5T*~fP1E?nCG_3SU!63?;$r7vUt*I|-m~ld#fwzS< z?9xp}d)>8JYXdVgvt<>D3jtme0cY1!ZXKIwb?K~R2ZX2hwi{1%eVaTzHA-)SR6F1R zmX^Q6PB-qu6VFQA&nff%zbV5fae{ax_b;Q4Lk4l&^bEQR6|>;~lwrjH)sd9mum0eZ z_7YHM@k2$kZXL1Orn`*5u`QjWg@`Cjo71LrK|kqj&8RP>QsN$ zf%LoodnpMgK4O0M(K3z_Yt<`(2GV*HKei;g{I+?zqjZN+)3U3DV-OFMs2GuigH%e- z6vGb}F*(w_EPI1-Jq+2f=aQubBtgGze9X*MUZ4UickHlknw>2l*!ex`iw1sp0ZkwGq~J)9V@{yq8FE54FY z4p^5!XfLWJkpbA2Z21Dhz5Y*^`U;kDG~!_dx=BOYqPa%n?Ks-ZECplB!o>&L0&FQ~ zkeuGAsq_uNjz(}3y~PIWMbQ>4h|ej+<*@QR#XtRVOscktBmeW_gfkOBf-#Vzk8aNT z+?3{MMxhQyi+hbMNdNZlhekwOm5VrpZEiU=B(+WL_hiLZ)+;TgP#EL}!u|dlO^kAd zzEzoWll{Z_OG)849~9;~M!5{5&T`osU+pkv(ds}?fRUW{6k*XBHD!-c{bc^f6P<7U zcz>COL;H|>jk}V$1nx#B0gHD*Qcf3l@zq)-;g++Nwi+VK?-Lgaae$icUu((&#lgJR zk4w&lNyC4S%i*7h39w%KM* literal 317964 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�s-?i|xC0Q0j+H^b#v*Fnh}=;z{N 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 z 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

    )+c!Dt&Z2ezk(+?8hCD=-rQX@B`D?iwB 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
    Pictures

    ![dreamseeker_xEj59EPTs5](https://github.com/user-attachments/assets/d92a9fb4-818e-465e-96f0-99a93798eca6) ![dreamseeker_auitVwi8CV](https://github.com/user-attachments/assets/6638cb59-d77f-4000-b6b0-490ba4eeb0b1) ![dreamseeker_scQzFBzfAx](https://github.com/user-attachments/assets/744de12a-4943-458a-87d6-a4f6be7e7e36) ![StrongDMM-2024-10-11 15 15 44](https://github.com/user-attachments/assets/5ba2a741-60c0-4988-9740-fdafcaa14586) ![StrongDMM-2024-10-11 15 15 45](https://github.com/user-attachments/assets/47b5fffd-9faf-41c5-8e99-ac3016ea8f6a)

    Adds a new ruin to the rockplanet pool. The N+S Mining Base is a small mining installation that had been built to extract minerals - and then was promptly raided by the Ramzi Clique (ramzi guys are somewhat waiting on #3462. I consider them placeholder right now). The ruin contains a small amount of weaponry, some fluff, and a refinery for your lovely ore mining efforts. The main gimmick is based around cleaning the base up, getting it somewhat functional, and using the drill to extract ore from the comically good ore veins. There are platforms with turrets deployed around them (as well as sandbags) to form a defensible position, but unless you can get into the refinery, it'll be somewhat annoying to actually use. ## Why It's Good For The Game It's gimmicky content!! ## Changelog :cl: add: N+S has reported losing contact with one of their rockplanet based mining installations /:cl: --------- Co-authored-by: Erika Fox <94164348+Bjarl@users.noreply.github.com> --- .../rockplanet_mining_installation.dmm | 14210 ++++++++++++++++ code/datums/ruins/rockplanet.dm | 7 + code/game/area/areas/ruins/rockplanet.dm | 39 + .../objects/items/devices/taperecorder.dm | 14 + .../turfs/open/floor/plating/rockplanet.dm | 76 +- .../ruins/rockplanet_ruin_code/mining_base.dm | 93 + shiptest.dme | 1 + 7 files changed, 14424 insertions(+), 16 deletions(-) create mode 100644 _maps/RandomRuins/RockRuins/rockplanet_mining_installation.dmm create mode 100644 code/modules/ruins/rockplanet_ruin_code/mining_base.dm diff --git a/_maps/RandomRuins/RockRuins/rockplanet_mining_installation.dmm b/_maps/RandomRuins/RockRuins/rockplanet_mining_installation.dmm new file mode 100644 index 000000000000..66f178861e96 --- /dev/null +++ b/_maps/RandomRuins/RockRuins/rockplanet_mining_installation.dmm @@ -0,0 +1,14210 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ac" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"ag" = ( +/obj/item/emptysandbag, +/obj/structure/flora/grass/rockplanet/dead, +/turf/open/floor/plating/asteroid/rockplanet/wet, +/area/overmap_encounter/planetoid/cave/explored) +"ai" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ak" = ( +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"al" = ( +/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"ao" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ap" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"at" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"aw" = ( +/obj/structure/table, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"ay" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"aA" = ( +/obj/effect/turf_decal/weather/rock/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 1 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"aD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"aE" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_x = 6; + pixel_y = 11 + }, +/obj/item/reagent_containers/food/snacks/meat/steak/chicken{ + pixel_y = -2; + pixel_x = -6 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"aJ" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom/wideband/table{ + dir = 4; + pixel_x = 5; + pixel_y = 6; + layer = 3.01 + }, +/obj/machinery/button/door{ + dir = 1; + pixel_y = -22; + pixel_x = 7; + name = "window shutter control"; + id = "nsmine_off" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/rockplanet/mining_base/office) +"aK" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"aL" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"aM" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/weather/rock/corner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"aS" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 5; + pixel_x = -4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"aV" = ( +/obj/machinery/door/airlock/external/glass{ + name = "Armory" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/armory) +"bc" = ( +/obj/structure/flora/ash/fern, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"bd" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/railing, +/obj/structure/platform/corner{ + dir = 8 + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"bg" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/conveyor{ + dir = 5; + id = "rock_mine_int" + }, +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"bi" = ( +/obj/effect/turf_decal/industrial/traffic, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 + }, +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"bj" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor{ + id = "nsmine2" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "mining_base" + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"bl" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/turf_decal/trimline/opaque/vired/line, +/obj/structure/cable, +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun/space, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"bo" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"bt" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 10 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"bx" = ( +/obj/structure/vein/classtwo, +/obj/effect/turf_decal/box, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/ruin/rockplanet/mining_base/rig_two) +"bC" = ( +/obj/machinery/space_heater, +/obj/effect/turf_decal/box, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"bD" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/door/poddoor{ + id = "nsmine2" + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"bF" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"bG" = ( +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + dir = 4; + name = "Office Dome" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/office) +"bH" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"bJ" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"bK" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 4 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"bL" = ( +/obj/structure/table, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 10 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"bN" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/sign/nanotrasen/ns{ + pixel_y = 28 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/open, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"bP" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/platform/military, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"bR" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/flippedtable{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"bT" = ( +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"bX" = ( +/obj/structure/crate_shelf, +/obj/effect/turf_decal/borderfloor, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base) +"bY" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ca" = ( +/obj/effect/turf_decal/siding{ + dir = 1 + }, +/obj/item/shard, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"cf" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer3{ + dir = 2 + }, +/obj/effect/turf_decal/box, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"cg" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/machinery/deepfryer, +/obj/item/radio/intercom/directional/east, +/obj/structure/sign/poster/official/pda_ad{ + pixel_y = 30 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"ch" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ck" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 5 + }, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"cm" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"cn" = ( +/obj/effect/turf_decal/nanotrasen/ns/top_right, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"co" = ( +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"cr" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 1 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ct" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"cu" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"cv" = ( +/obj/structure/table, +/obj/item/cutting_board{ + anchored = 1; + pixel_y = 4 + }, +/obj/item/melee/knife/kitchen{ + pixel_x = 4; + pixel_y = 1 + }, +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/item/kitchen/rollingpin{ + pixel_y = 7; + pixel_x = -6 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"cw" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base) +"cA" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/rockplanet/mining_base/med) +"cD" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/external/glass{ + dir = 1; + name = "Barracks" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/crew) +"cF" = ( +/obj/structure/window/plasma/fulltile, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"cG" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 5 + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"cI" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"cJ" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"cU" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"cW" = ( +/obj/structure/table, +/obj/effect/turf_decal/spline/fancy/opaque/white, +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/food/egg_smudge, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/canteen) +"da" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"de" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"df" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dg" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_ccw{ + dir = 8 + }, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dh" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"di" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 8 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dk" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/weather/rock{ + dir = 6 + }, +/obj/effect/turf_decal/weather/rock{ + dir = 5 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"dp" = ( +/obj/machinery/conveyor{ + dir = 9; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/railing{ + dir = 10 + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"dq" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/sign/warning/gasmask{ + pixel_y = 30 + }, +/obj/structure/rack, +/obj/item/clothing/mask/gas{ + pixel_x = -1; + pixel_y = -4 + }, +/obj/item/clothing/mask/gas{ + pixel_x = -7; + pixel_y = 4 + }, +/obj/item/clothing/mask/gas{ + pixel_x = 6; + pixel_y = 2 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/crew) +"dt" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/door/window, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"du" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/weather/rock/corner{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dx" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/syndicate/melee/space/stormtrooper, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dG" = ( +/obj/structure/table/wood, +/obj/item/lighter{ + pixel_y = 5; + pixel_x = -6 + }, +/obj/item/storage/pill_bottle/dice{ + pixel_y = -3 + }, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"dJ" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"dK" = ( +/obj/structure/closet/secure_closet/engineering_electrical{ + populate = 0 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/item/storage/toolbox/electrical{ + pixel_x = 3; + pixel_y = -4 + }, +/obj/item/multitool, +/obj/item/multitool, +/obj/item/stack/tape/industrial/electrical, +/obj/item/stack/cable_coil/red, +/obj/item/stack/cable_coil/red, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"dL" = ( +/obj/structure/sign/warning/securearea{ + pixel_y = 10; + pixel_x = 24 + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"dM" = ( +/obj/effect/turf_decal/industrial/traffic, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dO" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/transparent/vired{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/armory) +"dP" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 10 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dR" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/structure/table, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/item/radio/intercom/table{ + dir = 4; + pixel_x = 5; + pixel_y = -1 + }, +/obj/item/radio/weather_monitor{ + pixel_y = 10; + pixel_x = -10 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"dS" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/food/flour, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/canteen) +"dU" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"dV" = ( +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/crew) +"dY" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/visible, +/obj/effect/turf_decal/borderfloor, +/obj/machinery/light/directional/east, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"dZ" = ( +/obj/effect/turf_decal/corner/opaque/nsorange/border, +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 8 + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"ea" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/barricade/sandbags, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"eb" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine_int" + }, +/obj/machinery/door/firedoor/border_only, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"ec" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ee" = ( +/obj/structure/rack, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"ef" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/structure/railing, +/obj/structure/sign/warning/gasmask{ + pixel_x = 29 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"eg" = ( +/obj/effect/turf_decal/siding{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"es" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ew" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/rockplanet/mining_base/refinery) +"ex" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ey" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ez" = ( +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"eB" = ( +/obj/structure/flippedtable{ + dir = 1 + }, +/obj/machinery/button/door{ + dir = 8; + pixel_y = 5; + pixel_x = 24; + name = "blast door controls"; + id = "nsmine2" + }, +/obj/machinery/button/shieldwallgen{ + dir = 8; + pixel_y = -5; + pixel_x = 22; + id = "mining_base" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"eD" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"eH" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"eJ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/blue/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/blue/line{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"eV" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"eY" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/corner{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"fe" = ( +/obj/machinery/computer/mech_bay_power_console{ + dir = 1 + }, +/obj/structure/platform, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/rockplanet/mining_base/refinery) +"ff" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"fg" = ( +/obj/structure/flora/ash/cacti, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"fo" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"fr" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs/rockplanet{ + dir = 8 + }, +/area/ruin/rockplanet/mining_base/refinery) +"fA" = ( +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"fE" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/item/ammo_casing/spent{ + pixel_x = 2; + pixel_y = -10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"fF" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_ccw{ + dir = 4 + }, +/obj/item/broken_missile, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"fM" = ( +/obj/structure/flora/grass/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"fP" = ( +/obj/machinery/door/airlock/freezer{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"fQ" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/effect/decal/cleanable/food/salt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"fT" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/item/trash/plate{ + pixel_x = -8 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"fV" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"fW" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/rockplanet/mining_base/engineering) +"ga" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gc" = ( +/obj/structure/rack, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 5; + pixel_x = -4 + }, +/obj/item/storage/toolbox/electrical{ + pixel_x = 3; + pixel_y = -4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"gg" = ( +/obj/machinery/porta_turret/ship/nt/light/mining_base{ + dir = 2; + id = "m1" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"gi" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/effect/turf_decal/industrial/traffic, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gj" = ( +/obj/structure/railing, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"gm" = ( +/obj/structure/table, +/obj/item/screwdriver{ + pixel_x = 9; + pixel_y = -4 + }, +/obj/item/gun/energy/laser/empty_cell, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/rockplanet/mining_base/armory) +"gn" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/porta_turret/ship/nt/light/mining_base{ + dir = 1; + id = "m1" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"go" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"gs" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 6 + }, +/obj/structure/marker_beacon, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gt" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 1 + }, +/obj/structure/marker_beacon, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gx" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/end, +/mob/living/simple_animal/hostile/human/syndicate/melee/space, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"gy" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/end{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"gz" = ( +/obj/structure/flora/ash/cacti, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"gB" = ( +/obj/machinery/light/directional/south, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/stairs/old{ + dir = 4 + }, +/area/ruin/rockplanet/mining_base/refinery) +"gD" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 5 + }, +/obj/machinery/washing_machine{ + pixel_y = 0 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gF" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor{ + id = "nsmine_med" + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/med) +"gG" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"gH" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 8 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gJ" = ( +/obj/effect/turf_decal/borderfloor/corner, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gL" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/flippedtable{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gU" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"gW" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet, +/area/ruin/rockplanet/mining_base/rig_one) +"gX" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"gZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"hf" = ( +/obj/structure/rack, +/obj/item/screwdriver{ + pixel_x = -5; + pixel_y = 4 + }, +/obj/item/wrench{ + pixel_x = 3; + pixel_y = 2 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/concrete/slab_1, +/area/ruin/rockplanet/mining_base/engineering) +"hi" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/nsorange/border, +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 4 + }, +/obj/item/folder/syndicate{ + pixel_y = 1; + pixel_x = -6 + }, +/obj/item/folder/yellow{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/pen{ + pixel_y = 9; + pixel_x = -4 + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"hk" = ( +/obj/item/shard, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"ho" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"hp" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/weather/rock/corner, +/obj/effect/turf_decal/weather/rock/corner{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ht" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"hu" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"hA" = ( +/obj/structure/crate_shelf, +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"hB" = ( +/obj/structure/flora/grass/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"hG" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"hO" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/effect/turf_decal/box, +/obj/machinery/firealarm/directional/west, +/obj/item/clothing/suit/hooded/wintercoat/security, +/obj/item/clothing/mask/gas, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/rockplanet/mining_base/armory) +"hT" = ( +/obj/effect/turf_decal/nanotrasen/ns/top, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"hV" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/crew) +"hX" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/crew) +"hZ" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet, +/area/overmap_encounter/planetoid/cave/explored) +"ia" = ( +/obj/effect/turf_decal/nanotrasen/ns/bottom_left, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"id" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wideplating/dark/corner, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/decal/cleanable/ash{ + pixel_x = -4; + pixel_y = 5 + }, +/obj/effect/decal/cleanable/ash{ + pixel_x = 7; + pixel_y = -9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/gun/energy/e_gun/nuclear{ + pixel_x = -6; + pixel_y = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/office) +"if" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ig" = ( +/obj/machinery/door/airlock{ + dir = 2; + name = "Coordinator's Quarters" + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/crew) +"il" = ( +/obj/machinery/conveyor/inverted{ + dir = 6; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"im" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"in" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 8 + }, +/obj/structure/marker_beacon, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ir" = ( +/obj/structure/table, +/obj/machinery/recharger{ + pixel_y = 6; + pixel_x = -5 + }, +/obj/structure/closet/wall/red/directional/west{ + req_access_txt = "3" + }, +/obj/item/stock_parts/cell/gun, +/obj/item/stock_parts/cell/gun, +/obj/item/stock_parts/cell/gun, +/obj/item/stock_parts/cell/gun, +/obj/machinery/recharger{ + pixel_x = 7; + pixel_y = 6 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/rockplanet/mining_base/armory) +"it" = ( +/obj/structure/flora/rock/pile/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"iu" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"iv" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/obj/structure/closet/crate/freezer, +/obj/item/storage/cans/sixbeer, +/obj/item/storage/cans/sixbeer, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ix" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"iB" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/orange/diagonal, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/rockplanet/mining_base/engineering) +"iJ" = ( +/turf/closed/wall/concrete/reinforced, +/area/ruin/rockplanet/mining_base/engineering) +"iM" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"iN" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/syndicate/melee/space, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"iO" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"iP" = ( +/obj/structure/platform{ + dir = 5 + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"iZ" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ja" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 1 + }, +/obj/mecha/working/ripley/cargo{ + pixel_y = 0; + name = "APLU 'Cherry Devil'" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"jb" = ( +/obj/machinery/conveyor{ + dir = 9; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/railing{ + dir = 10 + }, +/turf/open/floor/plating/rust/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"jc" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_x = -2; + pixel_y = 14 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"jg" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"jj" = ( +/obj/structure/railing, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"jl" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"jq" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"js" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"jv" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"jw" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"jx" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"jy" = ( +/obj/structure/barricade/sandbags, +/obj/structure/platform/military, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"jF" = ( +/obj/structure/table, +/obj/effect/turf_decal/borderfloor, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/rockplanet/mining_base/engineering) +"jN" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"jS" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 + }, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"jY" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"jZ" = ( +/obj/machinery/power/terminal, +/obj/structure/cable/yellow, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"kf" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible, +/obj/effect/turf_decal/borderfloor, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"kj" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_ccw{ + dir = 8 + }, +/obj/structure/flippedtable{ + dir = 1 + }, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"kn" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 8 + }, +/obj/structure/marker_beacon, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"kp" = ( +/obj/effect/turf_decal/nanotrasen/ns/bottom_right, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/item/paper/crumpled{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"kt" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/rockplanet/wet, +/area/ruin/rockplanet/mining_base/rig_two) +"ku" = ( +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/item/lighter{ + pixel_y = -6; + pixel_x = -5 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/office) +"kv" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/item/table_bell{ + pixel_x = -6; + pixel_y = 1 + }, +/obj/item/storage/ration/sausage_peppers_onions{ + pixel_y = 8; + pixel_x = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"kx" = ( +/obj/effect/turf_decal/borderfloor/corner, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"kB" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 10 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"kC" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/sign/nanotrasen/ns{ + pixel_x = -28 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/med) +"kD" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/structure/table, +/obj/item/paper_bin{ + pixel_y = 6 + }, +/obj/item/pen{ + pixel_y = 7 + }, +/obj/item/paper/crumpled{ + pixel_x = -5; + pixel_y = 5 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"kE" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"kF" = ( +/obj/effect/turf_decal/siding{ + dir = 5 + }, +/obj/item/trash/plate{ + pixel_x = 4; + pixel_y = 5 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"kH" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"kK" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 7 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"kO" = ( +/obj/machinery/conveyor{ + dir = 2; + id = "rock_mine"; + pixel_y = -1 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"kQ" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/structure/closet/crate, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/rockplanet/mining_base/refinery) +"kX" = ( +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 1 + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"kZ" = ( +/obj/machinery/door/poddoor{ + id = "nsmine_two" + }, +/obj/structure/cable, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 4; + id = "mining_base_two" + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"lc" = ( +/obj/structure/platform/military, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"lf" = ( +/obj/structure/window/plasma/fulltile, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/supply/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"lg" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/sign/nanotrasen/ns{ + pixel_x = -28 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/structure/railing, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/med) +"lj" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ll" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"lm" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"lo" = ( +/obj/structure/closet/secure_closet/freezer/fridge{ + populate = 0 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/obj/effect/decal/cleanable/food/flour, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/saltshaker{ + desc = "Of course it goes in the fridge." + }, +/obj/item/reagent_containers/condiment/saltshaker{ + desc = "Of course it goes in the fridge." + }, +/obj/item/reagent_containers/condiment/saltshaker{ + desc = "Of course it goes in the fridge." + }, +/obj/item/reagent_containers/condiment/saltshaker{ + desc = "Of course it goes in the fridge." + }, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/oliveoil, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/canteen) +"lp" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"lt" = ( +/obj/structure/filingcabinet/double/grey, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/rockplanet/mining_base/office) +"lw" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/rockplanet/mining_base) +"ly" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 8 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"lz" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"lB" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rust/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"lE" = ( +/obj/structure/barricade/sandbags, +/obj/structure/platform/military{ + dir = 8 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"lF" = ( +/obj/effect/turf_decal/weather/rock/corner, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 4 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"lI" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/structure/chair{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner, +/obj/effect/gibspawner/human/bodypartless, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"lK" = ( +/obj/structure/platform/military{ + dir = 8 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"lM" = ( +/obj/machinery/computer/operating{ + dir = 4; + pixel_x = -3 + }, +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/item/radio/intercom/directional/north{ + pixel_x = -7 + }, +/obj/machinery/button/door{ + pixel_y = 23; + pixel_x = 9; + name = "window shutter control"; + id = "nsmine_med" + }, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"lP" = ( +/obj/structure/bookcase, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/office) +"lR" = ( +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/effect/turf_decal/box/corners, +/obj/structure/closet/crate, +/obj/structure/platform, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/rockplanet/mining_base/refinery) +"lU" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 5 + }, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"lX" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor4-old" + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/decal/cleanable/blood/drip{ + pixel_x = 13; + pixel_y = 5 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"lY" = ( +/obj/structure/flora/ash/garden/arid, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"lZ" = ( +/obj/structure/closet/radiation{ + populate = 0 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 6 + }, +/obj/item/clothing/suit/radiation{ + pixel_y = -4 + }, +/obj/item/clothing/head/radiation{ + pixel_y = 8 + }, +/obj/item/storage/firstaid/radiation, +/obj/item/geiger_counter, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"ma" = ( +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"mc" = ( +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 9 + }, +/obj/effect/turf_decal/borderfloor, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"mm" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"mp" = ( +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/weather/rock{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"mq" = ( +/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ + dir = 4 + }, +/obj/structure/closet/crate/medical, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/item/clothing/suit/apron/surgical, +/obj/item/clothing/head/nanotrasen/surgical/blue{ + pixel_y = 6 + }, +/obj/item/clothing/under/rank/medical/doctor, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"mw" = ( +/obj/effect/turf_decal/trimline/opaque/vired/corner{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"mx" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/item/reagent_containers/food/drinks/beer/light{ + pixel_y = 9; + pixel_x = 3 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"mz" = ( +/obj/structure/railing, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"mB" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"mC" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/barricade/sandbags, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"mH" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/flora/grass/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"mN" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloor/corner, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"mP" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"mT" = ( +/obj/machinery/door/airlock{ + name = "Bathroom" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/crew) +"mX" = ( +/obj/structure/platform, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"mZ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"na" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/structure/railing, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/office) +"nc" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"nd" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"nf" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs/rockplanet{ + dir = 4 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ng" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"nh" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/med) +"nn" = ( +/obj/structure/flora/grass/rockplanet, +/obj/structure/flora/grass/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"nr" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"nt" = ( +/obj/effect/turf_decal/weather/rock/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 1 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"nA" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/transparent/orange, +/turf/open/floor/concrete/slab_4, +/area/ruin/rockplanet/mining_base/engineering) +"nB" = ( +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 8 + }, +/obj/structure/sign/poster/official/mini_energy_gun{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"nC" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/orange/diagonal, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/rockplanet/mining_base/engineering) +"nD" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"nE" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"nJ" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"nK" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 1 + }, +/obj/structure/marker_beacon, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"nM" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"nQ" = ( +/obj/structure/rack, +/turf/open/floor/concrete/slab_1, +/area/ruin/rockplanet/mining_base/engineering) +"nR" = ( +/obj/effect/turf_decal/box, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/hooded/wintercoat/security, +/obj/item/clothing/mask/gas, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/rockplanet/mining_base/armory) +"nS" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"nW" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"ob" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"og" = ( +/obj/structure/railing, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"oi" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 5 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ok" = ( +/obj/effect/turf_decal/trimline/opaque/vired/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"om" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"oo" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"ot" = ( +/obj/machinery/mineral/unloading_machine, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/ruin/rockplanet/mining_base/rig_one) +"ow" = ( +/obj/effect/turf_decal/corner/opaque/bar/diagonal{ + dir = 4 + }, +/obj/structure/table/wood, +/obj/machinery/firealarm/directional/north, +/obj/item/radio/old{ + pixel_y = 11; + pixel_x = 3 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/crew) +"ox" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/rockplanet/mining_base/rig_one) +"oy" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"oz" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"oD" = ( +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/corner/opaque/nsorange/half, +/obj/machinery/turretid{ + pixel_x = 26; + id = "m1" + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"oG" = ( +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 10 + }, +/turf/open/floor/concrete/slab_4, +/area/ruin/rockplanet/mining_base/engineering) +"oH" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"oI" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/sign/warning/gasmask{ + pixel_y = -29 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/suit_storage_unit/open, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"oN" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 9 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"oO" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/nsorange/border, +/obj/item/binoculars{ + pixel_x = -2; + pixel_y = 7 + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"oQ" = ( +/obj/structure/rack, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/item/resonator, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"oS" = ( +/obj/item/radio/intercom/directional/east, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/crew) +"oX" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pa" = ( +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 5; + pixel_x = -4 + }, +/obj/item/tank/internals/oxygen{ + pixel_x = 2; + pixel_y = -4 + }, +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"pc" = ( +/obj/machinery/power/rtg, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/obj/machinery/light/directional/north, +/turf/open/floor/concrete/slab_1, +/area/ruin/rockplanet/mining_base/engineering) +"pd" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/rockplanet/mining_base/armory) +"pi" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_ccw{ + dir = 4 + }, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pn" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"po" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"pq" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"pr" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ps" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pu" = ( +/obj/structure/guncloset, +/obj/effect/turf_decal/box, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/rockplanet/mining_base/armory) +"py" = ( +/obj/effect/turf_decal/weather/rock/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 4 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pB" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor{ + id = "nsmine_canteen"; + dir = 2 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/canteen) +"pE" = ( +/obj/structure/platform/military{ + dir = 9 + }, +/obj/structure/barricade/sandbags{ + layer = 3.1 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"pI" = ( +/obj/effect/turf_decal/borderfloor, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pN" = ( +/obj/effect/turf_decal/box/corners, +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/machinery/light/directional/south, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/rockplanet/mining_base/refinery) +"pO" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_x = 6; + pixel_y = 11 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3; + pixel_y = -11 + }, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 4; + pixel_y = -11 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"pP" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/turf_decal/siding/white/corner, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"pQ" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pS" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/food/flour, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"pT" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "gib1-old" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pX" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"pY" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"qe" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"qf" = ( +/obj/machinery/porta_turret/ship/nt/light/mining_base{ + dir = 1; + id = "m1" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"qo" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing{ + dir = 8 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"qp" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"qr" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "rock_mine_swap" + }, +/obj/structure/platform/corner{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"qs" = ( +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/weather/rock{ + dir = 6 + }, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"qy" = ( +/obj/structure/window/reinforced/survival_pod{ + dir = 8 + }, +/obj/structure/bodycontainer/morgue{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/mono/white, +/area/ruin/rockplanet/mining_base/med) +"qC" = ( +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"qE" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "rock_mine_int" + }, +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"qH" = ( +/obj/effect/turf_decal/industrial/radiation{ + dir = 9 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/concrete/slab_4, +/area/ruin/rockplanet/mining_base/engineering) +"qK" = ( +/obj/structure/flora/rock/pile/rockplanet, +/obj/structure/flora/grass/rockplanet/dead, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"qN" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/nsorange/half, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"qP" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/office) +"qR" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/structure/filingcabinet/double/grey, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"qT" = ( +/obj/machinery/door/window/survival_pod, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/mono/white, +/area/ruin/rockplanet/mining_base/med) +"qU" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/item/shard, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/airalarm/directional/south, +/obj/structure/sign/poster/official/fruit_bowl{ + pixel_x = 30 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"qV" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/rust/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"qW" = ( +/obj/structure/barricade/sandbags, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/platform/military{ + dir = 4 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"qX" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"ra" = ( +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"rc" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/mob/living/simple_animal/hostile/human/syndicate/melee/space, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/decal/cleanable/ash, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/office) +"re" = ( +/obj/effect/turf_decal/box, +/obj/machinery/suit_storage_unit/open, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/rockplanet/mining_base/armory) +"rj" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/obj/structure/bed/roller, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"rk" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 + }, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"rm" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/flora/grass/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"rn" = ( +/obj/structure/flora/grass/rockplanet/dead, +/turf/open/floor/plating/asteroid/rockplanet/wet, +/area/overmap_encounter/planetoid/cave/explored) +"rq" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 6 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"rs" = ( +/obj/structure/dresser{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/bar/diagonal{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/crew) +"ru" = ( +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/ruin/rockplanet/mining_base/refinery) +"rx" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"rE" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/engineering) +"rP" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"rQ" = ( +/obj/structure/barricade/sandbags, +/obj/structure/platform/military{ + dir = 4 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"rV" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"rY" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 10 + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"sb" = ( +/obj/effect/turf_decal/weather/rock, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"sc" = ( +/obj/structure/flora/rock/pile/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"se" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"sf" = ( +/obj/structure/platform/military{ + dir = 1 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"sh" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 8 + }, +/obj/machinery/door/airlock/external/glass{ + dir = 4; + name = "Canteen" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"so" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"sp" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"sr" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine_int" + }, +/obj/structure/platform{ + dir = 10 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"ss" = ( +/obj/effect/turf_decal/borderfloor, +/turf/open/floor/plating/asteroid/rockplanet/wet, +/area/overmap_encounter/planetoid/cave/explored) +"su" = ( +/obj/effect/turf_decal/nanotrasen/ns/bottom_right, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"sv" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 9 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"sw" = ( +/obj/effect/turf_decal/weather/rock, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"sy" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/ruin/rockplanet/mining_base/rig_two) +"sC" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"sI" = ( +/obj/effect/turf_decal/nanotrasen/ns/center_left, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"sK" = ( +/obj/structure/flora/ash/cacti, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"sL" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"sN" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + dir = 4; + name = "Engineering Complex" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"sR" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"sT" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"sV" = ( +/obj/structure/chair/stool/bar{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"ta" = ( +/obj/effect/turf_decal/nanotrasen/ns/top, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"tg" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/item/ammo_casing/c57x39mm{ + projectile_type = null; + icon_state = "rifle-steel-empty" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/office) +"th" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 9 + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged/space, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tl" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tp" = ( +/obj/effect/turf_decal/borderfloor, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tq" = ( +/obj/effect/turf_decal/industrial/caution{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"tr" = ( +/obj/structure/cable/yellow{ + icon_state = "1-8" + }, +/obj/structure/cable/yellow{ + icon_state = "1-6" + }, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 6 + }, +/turf/open/floor/concrete/slab_4, +/area/ruin/rockplanet/mining_base/engineering) +"ts" = ( +/obj/machinery/space_heater, +/obj/effect/turf_decal/spline/fancy/opaque/white, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/canteen) +"tu" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tw" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/sign/nanotrasen/ns{ + pixel_y = 28 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/item/clothing/suit/hooded/explorer, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/mask/gas, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"tz" = ( +/obj/structure/flora/tree/cactus, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tA" = ( +/obj/machinery/conveyor{ + dir = 2; + id = "rock_mine"; + pixel_y = -1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"tB" = ( +/obj/structure/platform/corner{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tD" = ( +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 1 + }, +/obj/machinery/door/airlock/command, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/office) +"tF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/sign/warning/gasmask{ + pixel_x = -28 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/obj/structure/railing, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"tH" = ( +/obj/structure/table, +/obj/machinery/reagentgrinder{ + pixel_y = 12; + pixel_x = -5 + }, +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/effect/decal/cleanable/food/flour, +/obj/machinery/firealarm/directional/west, +/obj/machinery/button/door{ + dir = 4; + pixel_x = -21; + pixel_y = 11; + name = "window shutter control"; + id = "nsmine_canteen" + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"tK" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/sign/warning/coldtemp{ + pixel_x = 29 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"tL" = ( +/obj/structure/platform/corner, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tP" = ( +/obj/machinery/mineral/processing_unit, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"tQ" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"tR" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/flora/grass/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"tV" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/stairs/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"tY" = ( +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 8 + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"ub" = ( +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"uh" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/rust/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"uj" = ( +/obj/structure/barricade/sandbags, +/obj/structure/platform/military/corner{ + dir = 8 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"uk" = ( +/obj/machinery/autolathe, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"um" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"up" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor7-old" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"uu" = ( +/obj/structure/filingcabinet/double/grey, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/rockplanet/mining_base/office) +"uv" = ( +/obj/structure/crate_shelf, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base) +"uA" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"uB" = ( +/obj/structure/railing, +/turf/open/floor/plasteel/stairs/old{ + dir = 8 + }, +/area/ruin/rockplanet/mining_base/refinery) +"uD" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"uJ" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"uQ" = ( +/obj/item/paper/crumpled{ + pixel_x = -10; + pixel_y = -5 + }, +/obj/structure/chair/office{ + dir = 8 + }, +/obj/structure/sign/poster/official/focus{ + pixel_y = 30 + }, +/turf/open/floor/carpet, +/area/ruin/rockplanet/mining_base/office) +"uR" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"uS" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"uW" = ( +/obj/structure/reagent_dispensers/water_cooler, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"uX" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"vf" = ( +/obj/machinery/shower{ + pixel_y = 18 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 9 + }, +/obj/machinery/light/small/directional/west, +/obj/structure/curtain/bounty, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/noslip, +/area/ruin/rockplanet/mining_base/crew) +"vi" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"vl" = ( +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + dir = 4; + name = "Engineering Complex" + }, +/obj/effect/mapping_helpers/airlock/welded, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"vp" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"vr" = ( +/obj/structure/window/plasma/fulltile, +/obj/structure/grille, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"vs" = ( +/obj/machinery/atmospherics/components/binary/temperature_gate{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloor, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"vA" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"vB" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"vC" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/ruin/rockplanet/mining_base/rig_one) +"vH" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"vI" = ( +/obj/effect/turf_decal/nanotrasen/ns/center_left, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"vK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"vS" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"vV" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"wc" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged/space, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"we" = ( +/obj/effect/radiation, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 4 + }, +/turf/open/floor/concrete/slab_4, +/area/ruin/rockplanet/mining_base/engineering) +"wf" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor2-old" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wm" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/machinery/light/small/directional/south, +/obj/structure/sign/warning/gasmask{ + pixel_x = 29 + }, +/obj/structure/railing, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"wt" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor5-old" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ww" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"wy" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wz" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/closet/crate, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"wC" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor7-old" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wD" = ( +/obj/machinery/door/airlock/security{ + dir = 4; + req_access_txt = "1"; + name = "Suit Storage" + }, +/obj/effect/turf_decal/trimline/opaque/vired/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/filled/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/rockplanet/mining_base/armory) +"wH" = ( +/obj/effect/turf_decal/industrial/caution{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"wI" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/end{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"wK" = ( +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 1 + }, +/obj/machinery/door/airlock/external{ + name = "Refinery Complex" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"wO" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"wS" = ( +/obj/structure/table, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/vired/filled/line{ + dir = 1 + }, +/obj/machinery/fax/ruin{ + pixel_y = 2; + pixel_x = -1 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"wT" = ( +/obj/machinery/vending/cigarette, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"wV" = ( +/obj/effect/turf_decal/borderfloor, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"wW" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/sign/warning/coldtemp{ + pixel_y = 30 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/crew) +"wX" = ( +/obj/structure/railing, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/stairs/rockplanet{ + dir = 8 + }, +/area/ruin/rockplanet/mining_base/rig_one) +"xc" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine_int" + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"xd" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"xf" = ( +/obj/effect/turf_decal/nanotrasen/ns/center, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"xj" = ( +/obj/structure/flora/grass/rockplanet/dead, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"xl" = ( +/obj/structure/table/wood, +/obj/machinery/fax/ruin{ + pixel_y = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/office) +"xm" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-1" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"xn" = ( +/obj/structure/filingcabinet{ + density = 0; + pixel_x = 11 + }, +/obj/structure/chair/office{ + dir = 1; + pixel_x = -7 + }, +/obj/item/reagent_containers/spray/pepper, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"xr" = ( +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"xs" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/decal/cleanable/ash, +/obj/structure/platform, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/rockplanet/mining_base/refinery) +"xv" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/outline/red, +/turf/open/floor/engine/air, +/area/ruin/rockplanet/mining_base/engineering) +"xA" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/barricade/sandbags, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"xB" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"xC" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"xF" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/flippedtable{ + dir = 1 + }, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"xH" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"xK" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"xL" = ( +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"xO" = ( +/obj/effect/turf_decal/industrial/traffic, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"xP" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"xR" = ( +/obj/structure/table, +/obj/machinery/door/window{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/filled/line{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"xV" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"xW" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/obj/machinery/door/airlock/atmos, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"xZ" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"yg" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 + }, +/obj/structure/flippedtable{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"yi" = ( +/obj/structure/platform{ + dir = 6 + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"yl" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/sign/warning/coldtemp{ + pixel_x = -28 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/machinery/light/small/directional/north, +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"yo" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/light/small/directional/south, +/obj/item/reagent_containers/food/snacks/chocolatebar{ + pixel_y = 5 + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/office) +"ys" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 6 + }, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"yv" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"yB" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/item/ammo_casing/spent{ + pixel_x = 1; + pixel_y = -2 + }, +/obj/item/ammo_casing/spent{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor1-old" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"yD" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/structure/sign/nanotrasen/vigilitas{ + pixel_y = -28 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/sign/poster/official/safety_internals{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/armory) +"yF" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/flippedtable{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"yG" = ( +/obj/structure/flora/ash/puce, +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"yI" = ( +/obj/structure/flora/grass/rockplanet/dead, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"yK" = ( +/obj/machinery/atmospherics/components/binary/pump/on/layer4, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"yN" = ( +/obj/structure/table/wood, +/obj/structure/bedsheetbin, +/obj/effect/turf_decal/corner/opaque/bar/diagonal{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/crew) +"yQ" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/sign/poster/official/walk{ + pixel_y = -30 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"yT" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/ammo_casing/spent{ + pixel_x = -6; + pixel_y = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"zb" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 8 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"zf" = ( +/obj/effect/turf_decal/siding{ + dir = 1 + }, +/obj/effect/decal/cleanable/glass, +/obj/structure/reagent_dispensers/water_cooler{ + pixel_y = 11 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"zj" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/office) +"zl" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 4 + }, +/obj/machinery/door/airlock/external/glass{ + dir = 4; + name = "Canteen" + }, +/obj/effect/mapping_helpers/airlock/welded, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"zm" = ( +/obj/structure/platform, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"zo" = ( +/obj/structure/table, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3; + pixel_y = 0 + }, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 4; + pixel_y = 0 + }, +/obj/item/newspaper{ + pixel_y = 15; + pixel_x = -6 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"zr" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/trimline/opaque/blue/filled/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"zx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1, +/obj/machinery/door/airlock/external/glass{ + name = "Refinery Complex" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/welded, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"zz" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"zC" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 1 + }, +/obj/item/gun/energy/laser/empty_cell, +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner/armored, +/obj/effect/gibspawner/human/bodypartless, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"zG" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"zH" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"zK" = ( +/obj/structure/table/optable, +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor4-old" + }, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"zL" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"zR" = ( +/obj/structure/chair/sofa/brown/right/directional/west, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"zT" = ( +/obj/structure/flora/ash/fern, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"zY" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"zZ" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Aa" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ac" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/engineering) +"Ah" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/crew) +"Ak" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Al" = ( +/obj/item/broken_bottle, +/obj/effect/decal/cleanable/glass, +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"An" = ( +/obj/structure/table/reinforced, +/obj/item/radio/intercom/table{ + dir = 4; + pixel_x = 5; + pixel_y = -13 + }, +/obj/item/paper/crumpled{ + pixel_x = -5; + pixel_y = 5 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/rockplanet/mining_base/office) +"Ao" = ( +/obj/machinery/atmospherics/pipe/layer_manifold/visible{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"Av" = ( +/obj/item/broken_bottle, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"Aw" = ( +/obj/effect/decal/cleanable/glass, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"Ay" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"AC" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/sign/warning/coldtemp{ + pixel_x = 29 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/med) +"AD" = ( +/obj/item/emptysandbag, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"AE" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"AF" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/structure/sign/warning/gasmask{ + pixel_y = 30 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/armory) +"AK" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/sign/warning/coldtemp{ + pixel_y = 30 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/armory) +"AL" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/end{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"AN" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 1 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"AP" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun/space/stormtrooper, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/engineering) +"AX" = ( +/obj/effect/turf_decal/siding/white{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"AY" = ( +/obj/structure/platform{ + dir = 6 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ba" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Bb" = ( +/obj/structure/flora/ash/fern, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"Be" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/effect/turf_decal/corner/transparent/orange/diagonal, +/obj/structure/chair{ + dir = 4 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/rockplanet/mining_base/engineering) +"Bi" = ( +/obj/effect/spawner/bunk_bed{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/bar/diagonal{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/crew) +"Bj" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Bl" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"Bp" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Bq" = ( +/obj/structure/table, +/obj/machinery/conveyor_switch/oneway{ + pixel_x = -1; + pixel_y = 4; + id = "rock_mine" + }, +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 4 + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"Bu" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Bv" = ( +/obj/effect/turf_decal/trimline/opaque/blue/end{ + dir = 1 + }, +/obj/item/stack/medical/gauze{ + pixel_x = -10; + pixel_y = -5 + }, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"BB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + name = "Medical Dome"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/med) +"BE" = ( +/obj/machinery/power/rtg, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, +/turf/open/floor/concrete/slab_1, +/area/ruin/rockplanet/mining_base/engineering) +"BG" = ( +/obj/effect/turf_decal/box, +/obj/structure/tank_dispenser/oxygen, +/obj/machinery/light/directional/east, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/rockplanet/mining_base/armory) +"BH" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/end, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"BI" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"BK" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"BL" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"BN" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"BO" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine_int" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "mining_base_two" + }, +/obj/machinery/door/poddoor{ + id = "nsmine_two" + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"BP" = ( +/obj/effect/turf_decal/siding{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"BQ" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"BT" = ( +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/corner{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"BV" = ( +/obj/structure/toilet{ + pixel_y = 16 + }, +/obj/structure/curtain/bounty, +/obj/machinery/light/small/directional/east, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/crew) +"BW" = ( +/obj/structure/crate_shelf, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base) +"BY" = ( +/obj/machinery/porta_turret/ship/nt/light/mining_base{ + dir = 8; + id = "m2" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"BZ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"Cd" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/med) +"Ce" = ( +/turf/template_noop, +/area/template_noop) +"Cf" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"Ci" = ( +/obj/machinery/door/airlock/engineering, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"Cm" = ( +/obj/item/emptysandbag, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"Cp" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor{ + id = "nsmine_off"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/office) +"Cr" = ( +/obj/structure/barricade/sandbags, +/obj/structure/platform/military/corner{ + dir = 4 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Cx" = ( +/obj/structure/table, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 10 + }, +/obj/structure/sign/poster/official/focus{ + pixel_y = -30 + }, +/obj/machinery/light/directional/west, +/obj/machinery/fax/ruin{ + pixel_y = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"Cy" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"CB" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_ccw{ + dir = 8 + }, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"CE" = ( +/obj/effect/turf_decal/siding/white{ + dir = 4 + }, +/turf/closed/wall/mineral/titanium, +/area/ruin/rockplanet/mining_base/crew) +"CF" = ( +/obj/effect/turf_decal/atmos/air{ + dir = 4 + }, +/turf/open/floor/engine/air, +/area/ruin/rockplanet/mining_base/engineering) +"CI" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"CJ" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"CK" = ( +/obj/structure/flora/rock/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"CO" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"CS" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base) +"CT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"CU" = ( +/obj/effect/turf_decal/industrial/hatch/yellow, +/obj/structure/platform/corner{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"CZ" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 4 + }, +/obj/machinery/door/airlock/external/glass{ + dir = 4; + name = "Engineering Complex" + }, +/obj/effect/mapping_helpers/airlock/welded, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"Da" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Db" = ( +/obj/effect/turf_decal/weather/rock/corner{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 4 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Dd" = ( +/obj/machinery/door/airlock/external{ + name = "Armory" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/steeldecal/steel_decals_central1, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/armory) +"De" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/engineering) +"Dh" = ( +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/template_noop) +"Di" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Dm" = ( +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 8 + }, +/obj/machinery/door/airlock/external{ + name = "Canteen"; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/sealed, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"Dn" = ( +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"Do" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Dq" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/space_heater{ + pixel_x = -12; + pixel_y = 9; + density = 0; + anchored = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"Dt" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/structure/sign/nanotrasen/vigilitas{ + pixel_y = -28 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/armory) +"Du" = ( +/obj/structure/platform{ + dir = 9 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Dx" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"DA" = ( +/obj/structure/platform{ + dir = 1 + }, +/obj/structure/platform/corner{ + dir = 9 + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"DD" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/rockplanet/mining_base/refinery) +"DE" = ( +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"DF" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 8 + }, +/obj/machinery/door/airlock/external/glass{ + dir = 4; + name = "Canteen" + }, +/obj/effect/mapping_helpers/airlock/welded, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"DG" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"DI" = ( +/obj/structure/railing, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"DJ" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged/space, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"DP" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"DQ" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/effect/decal/cleanable/food/flour, +/obj/machinery/light/directional/west, +/obj/item/radio/old{ + pixel_y = 11; + pixel_x = -2 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"DS" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/effect/turf_decal/industrial/traffic{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"DT" = ( +/obj/structure/chair/sofa/brown/corner/directional/west, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"Ea" = ( +/obj/effect/turf_decal/box/corners{ + dir = 1 + }, +/obj/effect/turf_decal/box/corners{ + dir = 4 + }, +/obj/structure/closet/crate, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/rockplanet/mining_base/refinery) +"Ec" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/item/reagent_containers/food/drinks/beer/light{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/item/reagent_containers/food/snacks/meat/steak/chicken{ + pixel_y = -5; + pixel_x = 3 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"En" = ( +/obj/structure/platform/corner{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ep" = ( +/obj/structure/platform/military/corner, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Eq" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Es" = ( +/obj/structure/table, +/obj/item/cutting_board{ + anchored = 1; + pixel_y = 4 + }, +/obj/item/melee/knife/butcher{ + pixel_y = 4; + pixel_x = -1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/white, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor3-old" + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/canteen) +"Et" = ( +/obj/structure/platform{ + dir = 5 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ew" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/ammo_casing/spent{ + pixel_x = 1; + pixel_y = -2 + }, +/obj/item/ammo_casing/spent{ + pixel_x = 7; + pixel_y = 3 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ex" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-10" + }, +/obj/machinery/door/poddoor{ + id = "nsmine2" + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Ey" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/sign/nanotrasen/ns{ + pixel_x = -28 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"EA" = ( +/obj/machinery/door/airlock{ + name = "Showers"; + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/crew) +"EC" = ( +/obj/structure/sign/nanotrasen/ns{ + pixel_x = 28 + }, +/obj/structure/platform{ + dir = 9 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ED" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"EE" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"EL" = ( +/obj/structure/barricade/sandbags, +/obj/structure/platform/military/corner, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"EP" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"EY" = ( +/obj/machinery/space_heater, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"EZ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/weather/rock{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Fc" = ( +/obj/structure/window/reinforced/survival_pod{ + dir = 8 + }, +/obj/structure/window/reinforced/survival_pod, +/obj/structure/table, +/obj/item/storage/box/bodybags{ + pixel_y = 5; + pixel_x = -3 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/white, +/area/ruin/rockplanet/mining_base/med) +"Fd" = ( +/obj/effect/turf_decal/borderfloor/corner, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Fj" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Fm" = ( +/obj/effect/turf_decal/nanotrasen/ns/bottom, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"Fn" = ( +/obj/structure/platform/corner{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Fo" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 9 + }, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Fq" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Fr" = ( +/obj/effect/turf_decal/siding/white{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"Fx" = ( +/obj/structure/platform{ + dir = 10 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"FB" = ( +/obj/effect/turf_decal/nanotrasen/ns/top_left, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"FC" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"FD" = ( +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"FG" = ( +/obj/machinery/photocopier, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"FH" = ( +/obj/structure/platform{ + dir = 5 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"FI" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"FK" = ( +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 1 + }, +/turf/open/floor/concrete/slab_4, +/area/ruin/rockplanet/mining_base/engineering) +"FM" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"FO" = ( +/obj/structure/chair/sofa/brown/left/directional/north, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"FP" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"FT" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 4 + }, +/obj/machinery/door/airlock/external/glass{ + dir = 4; + name = "Medical Dome" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/med) +"FY" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet, +/area/ruin/rockplanet/mining_base/rig_two) +"FZ" = ( +/obj/structure/platform, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/rockplanet/mining_base/refinery) +"Ga" = ( +/obj/machinery/conveyor{ + dir = 10; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating/rust/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"Ge" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"Gf" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Gj" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"Gl" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/rockplanet/mining_base/office) +"Gr" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor4-old" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Gx" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/siding/white{ + dir = 6 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"Gz" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"GA" = ( +/obj/structure/flora/ash/puce, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"GD" = ( +/obj/effect/turf_decal/borderfloor, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"GE" = ( +/obj/effect/turf_decal/corner/opaque/nsorange/border{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 8 + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"GH" = ( +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"GI" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"GL" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"GO" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/machinery/door/poddoor{ + id = "nsmine_canteen"; + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/canteen) +"GS" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"GU" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"GW" = ( +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 8 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"Hb" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/ruin/rockplanet/mining_base/rig_one) +"Hc" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Hd" = ( +/obj/structure/table/wood, +/obj/item/toy/cards/deck, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"He" = ( +/obj/machinery/conveyor_switch{ + name = "furnace switch"; + pixel_y = 2; + pixel_x = 4; + id = "rock_mine_swap" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 6 + }, +/obj/machinery/conveyor_switch/oneway{ + pixel_x = -13; + pixel_y = 1; + id = "rock_mine_int" + }, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"Hf" = ( +/obj/structure/filingcabinet/double/grey{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/item/folder/documents, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/office) +"Hg" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/weather/rock/corner{ + dir = 4 + }, +/obj/effect/turf_decal/weather/rock/corner{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Hl" = ( +/obj/item/mine/pressure/explosive/live, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Hp" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Hr" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ht" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing{ + dir = 10 + }, +/obj/structure/railing{ + dir = 6 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"HC" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"HD" = ( +/obj/item/paper/crumpled{ + pixel_x = -9; + pixel_y = -7 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor1-old" + }, +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_manager, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/carpet, +/area/ruin/rockplanet/mining_base/office) +"HE" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 6 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"HK" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"HN" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"HQ" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/ruin/rockplanet/mining_base/rig_two) +"HR" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"HU" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/heater/on{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/outline/red, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"HZ" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/rockplanet/mining_base/engineering) +"If" = ( +/obj/effect/turf_decal/weather/rock/corner{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 1 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"It" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"Iu" = ( +/obj/structure/platform{ + dir = 6 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Iw" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor2-old" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"IC" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"IE" = ( +/obj/machinery/mech_bay_recharge_port, +/obj/structure/platform, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/rockplanet/mining_base/refinery) +"IG" = ( +/obj/structure/flora/ash/puce, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"IK" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor2-old" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"IP" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"IT" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/corner/opaque/bar/diagonal{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/crew) +"IU" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/o2, +/obj/effect/turf_decal/box, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"IV" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"IW" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"IY" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"IZ" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-5" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 8 + }, +/obj/structure/flippedtable{ + dir = 1 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"Jd" = ( +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 4 + }, +/obj/effect/turf_decal/box, +/obj/machinery/turretid{ + pixel_y = -24; + id = "m2" + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"Ji" = ( +/obj/machinery/photocopier, +/obj/item/taperecorder/preset/mining_base{ + pixel_x = 10; + pixel_y = -10 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/office) +"Jj" = ( +/turf/closed/mineral/random/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Jk" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Jq" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Jr" = ( +/turf/open/floor/plasteel/stairs/rockplanet{ + dir = 1 + }, +/area/overmap_encounter/planetoid/cave/explored) +"Ju" = ( +/obj/structure/flora/grass/rockplanet/dead, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"Jz" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/weather/rock/corner, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"JC" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/sign/warning/gasmask{ + pixel_x = 29 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/structure/railing, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/med) +"JH" = ( +/obj/machinery/mineral/unloading_machine{ + input_dir = 1; + output_dir = 2 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/ruin/rockplanet/mining_base/rig_two) +"JO" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"JS" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 5 + }, +/obj/structure/marker_beacon, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"JT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"JV" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/rust/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"JZ" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/flippedtable{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"Ka" = ( +/turf/open/floor/plasteel/stairs/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Kd" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"Ke" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Kh" = ( +/obj/effect/turf_decal/borderfloor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Kj" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Km" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Ks" = ( +/obj/machinery/conveyor/inverted{ + dir = 10; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"Kt" = ( +/obj/structure/flora/rock/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ku" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"Ky" = ( +/obj/machinery/door/airlock/external{ + name = "Barracks" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/crew) +"KE" = ( +/obj/structure/rack, +/obj/item/mining_scanner{ + pixel_x = -8; + pixel_y = 5 + }, +/obj/effect/turf_decal/corner/opaque/nsorange/half, +/obj/item/resonator{ + pixel_x = 4 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"KF" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"KH" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/structure/table, +/obj/effect/decal/cleanable/food/flour, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"KI" = ( +/obj/item/decal_painter{ + pixel_x = -7; + pixel_y = -8 + }, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/weather/rock{ + dir = 10 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"KJ" = ( +/obj/effect/turf_decal/trimline/opaque/blue/end, +/obj/item/stack/medical/splint/ghetto{ + pixel_y = -6; + pixel_x = -5 + }, +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"KL" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"KM" = ( +/obj/effect/turf_decal/weather/rock, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"KN" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/item/ammo_casing/spent{ + pixel_y = -9; + pixel_x = 2 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"KP" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/office) +"KQ" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line, +/obj/effect/turf_decal/trimline/opaque/nsorange/corner{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun/space, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"KY" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"Ld" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Lh" = ( +/obj/structure/closet/wall/chem/directional/south, +/obj/item/towel, +/obj/item/towel{ + pixel_y = 9; + pixel_x = -3 + }, +/obj/item/towel{ + pixel_x = 11; + pixel_y = 2 + }, +/obj/item/towel{ + pixel_x = -6; + pixel_y = -5 + }, +/obj/item/towel{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/towel{ + pixel_x = 7; + pixel_y = -5 + }, +/obj/item/soap/nanotrasen{ + pixel_x = 3; + pixel_y = -9 + }, +/obj/item/soap/nanotrasen, +/obj/structure/sign/poster/official/no_erp{ + pixel_x = 28 + }, +/obj/item/razor, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/crew) +"Ll" = ( +/obj/effect/turf_decal/weather/rock, +/turf/open/floor/mineral/titanium/tiled/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ln" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Lp" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/effect/turf_decal/borderfloor/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/item/stock_parts/cell/gun/empty, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Lw" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/obj/machinery/drill, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Lx" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/end, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"LA" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/canteen) +"LO" = ( +/obj/structure/barricade/sandbags, +/obj/structure/platform/military/corner{ + dir = 1 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"LQ" = ( +/obj/structure/flora/ash/puce, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"LR" = ( +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/carpet, +/area/ruin/rockplanet/mining_base/office) +"LV" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/nanotrasen/ns/top_right, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"LW" = ( +/obj/structure/rack, +/obj/item/screwdriver{ + pixel_x = 7; + pixel_y = -3 + }, +/obj/item/screwdriver{ + pixel_x = -8; + pixel_y = 2 + }, +/obj/item/screwdriver{ + pixel_x = -1; + pixel_y = -3 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/rockplanet/mining_base/armory) +"LX" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"LY" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"LZ" = ( +/obj/effect/turf_decal/trimline/opaque/blue/filled/corner{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/syndicate/melee/space, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"Ma" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/sign/nanotrasen/ns{ + pixel_x = 28 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/structure/railing, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"Mc" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 9 + }, +/obj/machinery/washing_machine, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Md" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"Mg" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/flippedtable{ + dir = 1 + }, +/obj/item/gun/energy/e_gun/hades{ + spawn_no_ammo = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner/armored, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/gibspawner/human/bodypartless, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Mi" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Mj" = ( +/obj/machinery/conveyor/inverted{ + dir = 6; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"Mk" = ( +/obj/structure/platform{ + dir = 10 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Mo" = ( +/obj/structure/table/wood, +/obj/item/tape/random{ + pixel_y = 11; + pixel_x = -7 + }, +/obj/item/tape/random{ + pixel_x = 2 + }, +/obj/item/tape/random{ + pixel_x = -8; + pixel_y = -4 + }, +/obj/effect/turf_decal/siding/wood, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/office) +"Mt" = ( +/obj/structure/guncloset, +/obj/effect/turf_decal/box, +/obj/item/gun/energy/laser/empty_cell, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/rockplanet/mining_base/armory) +"MA" = ( +/obj/effect/radiation, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 8 + }, +/turf/open/floor/concrete/slab_4, +/area/ruin/rockplanet/mining_base/engineering) +"MM" = ( +/obj/machinery/mineral/processing_unit_console{ + pixel_y = 24; + machinedir = 2 + }, +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"MP" = ( +/obj/structure/closet/crate/freezer, +/obj/item/storage/cans/sixbeer, +/obj/item/storage/cans/sixbeer, +/obj/item/storage/cans/sixbeer, +/obj/item/storage/cans/sixbeer, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/obj/effect/decal/cleanable/food/flour, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/canteen) +"MQ" = ( +/obj/machinery/mineral/processing_unit, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"MT" = ( +/obj/effect/turf_decal/siding{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"MU" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Na" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Nc" = ( +/obj/structure/sign/nanotrasen/ns{ + pixel_y = 28 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base) +"Nd" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Ng" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Nk" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/weather/rock/corner{ + dir = 4 + }, +/obj/effect/turf_decal/weather/rock/corner{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"No" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + name = "Canteen"; + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"Ns" = ( +/obj/machinery/door/airlock{ + dir = 4; + name = "Recreation Room" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/crew) +"Ny" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Nz" = ( +/obj/effect/turf_decal/nanotrasen/ns/center_right, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"NA" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"NC" = ( +/obj/structure/flora/tree/cactus, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"NE" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/external/glass{ + dir = 4; + name = "Engineering Complex" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"NL" = ( +/obj/structure/barricade/sandbags, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/platform/military, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"NP" = ( +/obj/item/paper/crumpled{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/machinery/holopad/secure, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/carpet, +/area/ruin/rockplanet/mining_base/office) +"NR" = ( +/obj/structure/chair/sofa/brown/directional/west, +/obj/machinery/light/directional/east, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"NS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"NT" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/mono/white, +/area/ruin/rockplanet/mining_base/med) +"NU" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"NX" = ( +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"Ob" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Oh" = ( +/obj/structure/flora/rock/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"Oo" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 5 + }, +/obj/effect/turf_decal/corner/transparent/orange/diagonal, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/rockplanet/mining_base/engineering) +"Oq" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ot" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ov" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Oz" = ( +/obj/structure/sink{ + dir = 1; + pixel_y = -10 + }, +/obj/structure/mirror{ + pixel_y = -25 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/crew) +"OA" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/end, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"OB" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"OF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"OG" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"OI" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"OJ" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"OL" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/structure/rack, +/obj/item/clothing/suit/hooded/wintercoat, +/obj/item/clothing/suit/hooded/wintercoat{ + pixel_y = 9; + pixel_x = -3 + }, +/obj/item/clothing/suit/hooded/wintercoat{ + pixel_x = 9; + pixel_y = 5 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/crew) +"ON" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"OR" = ( +/obj/machinery/porta_turret/ship/nt/light/mining_base{ + dir = 4; + id = "m2" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"OX" = ( +/obj/structure/platform/military{ + dir = 4 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"OZ" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 9 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"Pb" = ( +/obj/effect/turf_decal/weather/rock/corner, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 4 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Pc" = ( +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + name = "Canteen"; + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/welded, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"Pg" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/table/wood, +/obj/machinery/light/small/directional/west, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/crew) +"Ph" = ( +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"Pi" = ( +/obj/structure/sign/warning/radiation/rad_area{ + pixel_y = 32 + }, +/obj/structure/cable/yellow{ + icon_state = "2-5" + }, +/obj/structure/cable/yellow{ + icon_state = "2-9" + }, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 5 + }, +/obj/effect/turf_decal/industrial/radiation{ + dir = 1 + }, +/turf/open/floor/concrete/slab_4, +/area/ruin/rockplanet/mining_base/engineering) +"Pj" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/rockplanet/mining_base/canteen) +"Pm" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/end, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"Pu" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 5 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Pv" = ( +/obj/structure/table, +/obj/item/reagent_containers/food/snacks/meat/steak/chicken{ + pixel_y = 7; + pixel_x = -7 + }, +/obj/item/reagent_containers/food/drinks/beer{ + pixel_x = -5; + pixel_y = 5 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"PA" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"PD" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ruin/rockplanet/mining_base/rig_two) +"PG" = ( +/obj/structure/bed{ + dir = 1 + }, +/obj/item/toy/plush/goatplushie/angry, +/obj/item/bedsheet{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/crew) +"PH" = ( +/obj/machinery/shower{ + pixel_y = 18 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 10 + }, +/obj/machinery/light/small/directional/east, +/obj/structure/curtain/bounty, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/noslip, +/area/ruin/rockplanet/mining_base/crew) +"PM" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/end{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"PT" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"PZ" = ( +/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ + dir = 4 + }, +/obj/structure/table, +/obj/item/storage/backpack/duffelbag/med/surgery{ + pixel_y = 13; + pixel_x = -3 + }, +/obj/item/reagent_containers/glass/bottle/morphine, +/obj/item/reagent_containers/glass/bottle/morphine{ + pixel_x = -8 + }, +/obj/item/storage/box/syringes{ + pixel_x = 9; + pixel_y = 10 + }, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"Qa" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/weather/rock/corner{ + dir = 4 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Qb" = ( +/turf/closed/wall/mineral/titanium, +/area/ruin/rockplanet/mining_base/crew) +"Qd" = ( +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Qg" = ( +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 8 + }, +/obj/effect/turf_decal/box, +/obj/machinery/light/directional/west, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"Qi" = ( +/obj/machinery/space_heater, +/obj/effect/turf_decal/siding/wideplating/dark/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/office) +"Qk" = ( +/obj/structure/table, +/obj/item/clipboard{ + pixel_x = 5; + pixel_y = -3 + }, +/obj/effect/turf_decal/corner/opaque/nsorange/border{ + dir = 1 + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"Ql" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Qo" = ( +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/weather/rock{ + dir = 10 + }, +/obj/structure/mopbucket, +/obj/item/mop{ + pixel_y = 7; + pixel_x = -5 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Qq" = ( +/obj/structure/rack, +/obj/item/geiger_counter, +/turf/open/floor/concrete/slab_1, +/area/ruin/rockplanet/mining_base/engineering) +"Qx" = ( +/obj/structure/closet/crate/freezer, +/obj/effect/turf_decal/spline/fancy/opaque/white{ + dir = 1 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/sodawater, +/obj/item/reagent_containers/food/drinks/soda_cans/sodawater, +/obj/item/reagent_containers/food/drinks/soda_cans/sodawater, +/obj/item/reagent_containers/food/drinks/soda_cans/sodawater, +/obj/item/reagent_containers/food/drinks/soda_cans/sodawater, +/obj/item/reagent_containers/food/drinks/soda_cans/sodawater, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/canteen) +"Qz" = ( +/obj/effect/turf_decal/siding/white, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"QC" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2{ + dir = 4 + }, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"QD" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/table, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/item/paper_bin{ + pixel_y = 7; + pixel_x = -3 + }, +/obj/item/pen{ + pixel_y = 7 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"QE" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/turf_decal/weather/rock{ + dir = 10 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"QF" = ( +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"QK" = ( +/obj/item/emptysandbag, +/obj/structure/flora/grass/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"QR" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"QT" = ( +/obj/structure/platform/military{ + dir = 1 + }, +/obj/structure/barricade/sandbags{ + layer = 3.1 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"QU" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Ra" = ( +/obj/effect/turf_decal/borderfloor, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/syndicate/ranged/smg/space, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Rb" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 9 + }, +/obj/structure/marker_beacon, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Rd" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Rg" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Rh" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ri" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_y = 0; + pixel_x = 7 + }, +/obj/item/pen{ + pixel_x = 7; + pixel_y = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/rockplanet/mining_base/office) +"Rk" = ( +/obj/structure/toilet{ + pixel_y = 16 + }, +/obj/structure/curtain/bounty, +/obj/machinery/light/small/directional/west, +/obj/structure/window/reinforced{ + dir = 4 + }, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/crew) +"Rm" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 8 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Rn" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Rs" = ( +/obj/structure/closet/crate/trashcart/laundry, +/obj/effect/turf_decal/corner/opaque/bar/diagonal{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/crew) +"Ru" = ( +/obj/structure/flora/grass/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ry" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/sign/nanotrasen/ns{ + pixel_x = 28 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"Rz" = ( +/obj/machinery/door/airlock/security{ + req_access_txt = "1"; + name = "Equipment Storage" + }, +/obj/effect/turf_decal/trimline/opaque/vired/filled/warning, +/obj/effect/turf_decal/trimline/opaque/vired/filled/warning{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ruin/rockplanet/mining_base/armory) +"RD" = ( +/obj/effect/spawner/bunk_bed{ + dir = 1 + }, +/obj/structure/sign/poster/official/work_for_a_future{ + pixel_y = 30 + }, +/obj/effect/turf_decal/corner/opaque/bar/diagonal{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/crew) +"RE" = ( +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"RF" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"RG" = ( +/obj/machinery/autolathe, +/obj/effect/turf_decal/borderfloor, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/rockplanet/mining_base/engineering) +"RI" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"RQ" = ( +/obj/structure/flora/rock/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"RR" = ( +/obj/item/broken_bottle, +/obj/effect/decal/cleanable/glass, +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"RW" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 10 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"RX" = ( +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"RZ" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/caution{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"Sd" = ( +/obj/effect/turf_decal/nanotrasen/ns/center, +/mob/living/simple_animal/hostile/human/syndicate/melee/sword/space/stormtrooper, +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"Se" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"Si" = ( +/obj/effect/turf_decal/borderfloor/corner, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Sj" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/outline/blue, +/turf/open/floor/engine/air, +/area/ruin/rockplanet/mining_base/engineering) +"Sl" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/sign/poster/official/obey{ + pixel_x = 28 + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/crew) +"Sm" = ( +/obj/effect/turf_decal/borderfloor/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"So" = ( +/obj/structure/flora/rock/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/wet, +/area/overmap_encounter/planetoid/cave/explored) +"Sq" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/barricade/sandbags, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Sr" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"Ss" = ( +/obj/machinery/power/rtg, +/obj/structure/cable/yellow{ + icon_state = "0-4" + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/concrete/slab_1, +/area/ruin/rockplanet/mining_base/engineering) +"St" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 4 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Sv" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Sw" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"Sx" = ( +/obj/structure/platform{ + dir = 9 + }, +/obj/structure/barricade/sandbags{ + layer = 3.1 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"SA" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 4 + }, +/obj/structure/marker_beacon, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"SE" = ( +/obj/effect/spawner/bunk_bed{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/bar/diagonal{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/crew) +"SF" = ( +/obj/effect/turf_decal/trimline/opaque/vired/line{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"SH" = ( +/obj/effect/turf_decal/rechargefloor, +/obj/structure/platform, +/turf/open/floor/plasteel/patterned/ridged, +/area/ruin/rockplanet/mining_base/refinery) +"SM" = ( +/obj/structure/closet/secure_closet/engineering_personal{ + populate = 0 + }, +/obj/effect/turf_decal/borderfloor, +/obj/item/storage/backpack/duffelbag/engineering, +/obj/item/clothing/under/rank/engineering/engineer/nt, +/obj/item/storage/backpack/industrial, +/obj/item/flashlight, +/obj/item/clothing/mask/gas, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/plasteel/tech/techmaint, +/area/ruin/rockplanet/mining_base/engineering) +"SN" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"SS" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/office) +"ST" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"SV" = ( +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/office) +"SX" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/mob/living/simple_animal/hostile/human/syndicate/melee/space, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ta" = ( +/obj/item/pushbroom{ + pixel_x = 3; + pixel_y = -5 + }, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Tb" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"Tc" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Tf" = ( +/obj/effect/turf_decal/industrial/radiation{ + dir = 5 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/concrete/slab_4, +/area/ruin/rockplanet/mining_base/engineering) +"Ti" = ( +/obj/effect/turf_decal/box/corners{ + dir = 8 + }, +/obj/effect/turf_decal/box/corners, +/turf/open/floor/plasteel/patterned/cargo_one, +/area/ruin/rockplanet/mining_base/refinery) +"Tk" = ( +/obj/structure/table, +/obj/machinery/firealarm/directional/west, +/obj/item/storage/firstaid/brute{ + pixel_y = 7; + pixel_x = 2 + }, +/turf/open/floor/plasteel/white, +/area/ruin/rockplanet/mining_base/med) +"Tn" = ( +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/freezer, +/area/ruin/rockplanet/mining_base/canteen) +"Tp" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"Tt" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"Tu" = ( +/obj/effect/turf_decal/siding/wideplating/dark/end{ + dir = 4 + }, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/office) +"Tv" = ( +/obj/effect/turf_decal/borderfloor/corner, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Tw" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line, +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/ash, +/obj/effect/gibspawner/human/bodypartless, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Tx" = ( +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/weather/rock{ + dir = 4 + }, +/obj/structure/tank_dispenser/oxygen, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"TF" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/weather/rock{ + dir = 9 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"TI" = ( +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"TJ" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"TN" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"TO" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/arrow_ccw{ + dir = 4 + }, +/obj/structure/flippedtable{ + dir = 1 + }, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"TR" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"TU" = ( +/obj/effect/turf_decal/nanotrasen/ns/center_right, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"TV" = ( +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/weather/rock{ + dir = 5 + }, +/obj/structure/closet/crate/engineering, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"TW" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/railing, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"Ub" = ( +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"Uc" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/rack, +/obj/item/flashlight, +/obj/item/flashlight{ + pixel_y = 9 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Ug" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"Uh" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Uj" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"Uk" = ( +/obj/effect/turf_decal/siding/white, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun/space, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"Ul" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/traffic, +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Un" = ( +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Uv" = ( +/obj/structure/platform{ + dir = 4 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ux" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"UA" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/effect/turf_decal/borderfloor/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"UJ" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/blood, +/obj/effect/decal/cleanable/blood/innards, +/obj/effect/gibspawner/human/bodypartless, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"UM" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"UV" = ( +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"UW" = ( +/obj/structure/flora/grass/rockplanet, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"UX" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"UZ" = ( +/obj/structure/sign/nanotrasen/ns{ + pixel_x = 28 + }, +/obj/structure/platform{ + dir = 10 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Vb" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/platform/military{ + dir = 4 + }, +/turf/open/floor/engine/hull/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Vd" = ( +/obj/effect/turf_decal/borderfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor5-old" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Vh" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/firealarm/directional/west{ + pixel_y = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/button/door{ + dir = 4; + pixel_y = -11; + pixel_x = -22; + name = "blast door controls"; + id = "nsmine_two" + }, +/obj/machinery/button/shieldwallgen{ + dir = 4; + pixel_y = -2; + pixel_x = -20; + id = "mining_base_two" + }, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"Vi" = ( +/obj/structure/platform{ + dir = 1 + }, +/obj/structure/platform/corner{ + dir = 5 + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Vl" = ( +/obj/machinery/space_heater, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/sign/poster/official/miners{ + pixel_y = 30 + }, +/turf/open/floor/plasteel/patterned/grid, +/area/ruin/rockplanet/mining_base/crew) +"Vm" = ( +/obj/effect/turf_decal/weather/rock, +/obj/structure/marker_beacon, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Vp" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"Vq" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/item/ammo_casing/c57x39mm{ + projectile_type = null; + icon_state = "rifle-steel-empty"; + pixel_x = -9; + pixel_y = 5 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Vr" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 4 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Vs" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"Vw" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/bottlegreen/end{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"Vx" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -3 + }, +/obj/item/pen{ + pixel_y = -4; + pixel_x = -4 + }, +/obj/effect/turf_decal/corner/opaque/nsorange/border{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/nsorange/half{ + dir = 4 + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"VC" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 6 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"VE" = ( +/obj/machinery/conveyor{ + dir = 2; + id = "rock_mine"; + pixel_y = -1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"VG" = ( +/obj/effect/turf_decal/nanotrasen/ns/top_left, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/item/paper/crumpled{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/effect/decal/cleanable/ash, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"VJ" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/corner, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"VK" = ( +/obj/machinery/conveyor/inverted{ + dir = 10; + id = "rock_mine_int" + }, +/obj/structure/platform/corner{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"VM" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/weather/rock{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/passive_vent{ + dir = 1 + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"VT" = ( +/obj/machinery/conveyor{ + dir = 2; + id = "rock_mine"; + pixel_y = -1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/rust/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"VV" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/crew) +"VW" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"Wf" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/structure/table, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"Wj" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/traffic{ + dir = 1 + }, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Wl" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Wn" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/porta_turret/ship/nt/light/mining_base{ + dir = 4; + id = "m2" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"Wp" = ( +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base) +"Wq" = ( +/obj/structure/platform{ + dir = 1 + }, +/obj/structure/barricade/sandbags{ + layer = 3.1 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Wr" = ( +/obj/structure/railing{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Ws" = ( +/obj/structure/chair/sofa/brown/directional/north, +/obj/machinery/light/directional/south, +/turf/open/floor/carpet/cyan, +/area/ruin/rockplanet/mining_base/crew) +"Wt" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/item/screwdriver{ + pixel_x = -7; + pixel_y = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Wv" = ( +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Ww" = ( +/obj/structure/platform, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Wx" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/structure/table, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/item/reagent_containers/condiment/hotsauce{ + pixel_y = 12; + pixel_x = 6 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"Wy" = ( +/obj/structure/platform{ + dir = 9 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"WA" = ( +/obj/structure/chair/office{ + dir = 4 + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"WG" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"WK" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"WL" = ( +/obj/structure/platform, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"WO" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/transparent/vired{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/armory) +"WW" = ( +/obj/structure/table, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/vired/filled/line{ + dir = 1 + }, +/obj/item/paper_bin{ + pixel_x = 6; + pixel_y = -2 + }, +/obj/item/folder/red{ + pixel_x = -6; + pixel_y = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"WX" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/platform, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Xa" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1, +/obj/machinery/door/airlock/external/glass{ + name = "Refinery Complex" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"Xg" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/rack, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Xi" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/machinery/light/directional/west, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"Xk" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + id = "nsmine2" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 8; + id = "mining_base" + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"Xq" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden, +/turf/open/floor/plating/asteroid/rockplanet/cracked/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Xr" = ( +/obj/effect/turf_decal/nanotrasen/ns/bottom, +/turf/open/floor/concrete/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Xt" = ( +/obj/structure/rack, +/obj/item/tank/internals/oxygen{ + pixel_x = 2; + pixel_y = -4 + }, +/obj/effect/turf_decal/corner/opaque/nsorange/half, +/obj/effect/turf_decal/box, +/obj/item/storage/toolbox/mechanical{ + pixel_y = 5; + pixel_x = -4 + }, +/turf/open/floor/plasteel/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"Xu" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_y = 6; + pixel_x = -4 + }, +/obj/item/pen/fountain{ + pixel_y = 7; + pixel_x = -4 + }, +/obj/item/pen{ + pixel_x = 9; + pixel_y = 10 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood, +/area/ruin/rockplanet/mining_base/office) +"Xv" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/weather/rock, +/obj/machinery/atmospherics/components/unary/passive_vent, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Xx" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"XA" = ( +/obj/structure/railing{ + dir = 10 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"XE" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine_int" + }, +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/refinery) +"XG" = ( +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"XI" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 10 + }, +/obj/structure/marker_beacon, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"XK" = ( +/obj/effect/turf_decal/borderfloor/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood{ + icon_state = "floor2-old" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"XM" = ( +/obj/effect/turf_decal/weather/rock/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 1 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"XT" = ( +/obj/machinery/jukebox{ + pixel_y = 24; + density = 0 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/item/shard, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"XV" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/closet/crate/freezer, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/meat/slab/chicken, +/obj/item/reagent_containers/food/snacks/grown/cabbage, +/obj/item/reagent_containers/food/snacks/grown/cabbage, +/obj/item/reagent_containers/food/snacks/grown/cabbage, +/obj/item/reagent_containers/food/snacks/grown/cabbage, +/obj/item/reagent_containers/food/snacks/grown/redbeet, +/obj/item/reagent_containers/food/snacks/grown/rice, +/obj/item/reagent_containers/food/snacks/grown/rice, +/obj/item/reagent_containers/food/snacks/grown/rice, +/obj/item/reagent_containers/food/snacks/grown/rice, +/turf/open/floor/plating/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"XZ" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Yc" = ( +/obj/structure/sign/nanotrasen/ns{ + pixel_y = -28 + }, +/obj/effect/turf_decal/borderfloor{ + dir = 6 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/ruin/rockplanet/mining_base) +"Yd" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs/old{ + dir = 4 + }, +/area/ruin/rockplanet/mining_base/refinery) +"Ye" = ( +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"Yg" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"Yh" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"Yj" = ( +/obj/effect/turf_decal/industrial/radiation{ + dir = 1 + }, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/industrial/radiation{ + dir = 1 + }, +/turf/open/floor/concrete/slab_4, +/area/ruin/rockplanet/mining_base/engineering) +"Yk" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Yl" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Yv" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/syndicate/ranged/shotgun/space/stormtrooper, +/turf/open/floor/plasteel/patterned/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Yx" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/machinery/light/small/directional/north, +/obj/structure/sign/warning/coldtemp{ + pixel_x = 29 + }, +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/canteen) +"Yz" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "rock_mine" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plating/rust/rockplanet, +/area/ruin/rockplanet/mining_base/refinery) +"YA" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/corner, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/ash, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"YG" = ( +/obj/effect/turf_decal/industrial/warning/corner, +/obj/effect/turf_decal/spline/fancy/opaque/grey, +/obj/structure/filingcabinet/double/grey{ + dir = 1 + }, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"YH" = ( +/obj/structure/platform{ + dir = 8 + }, +/obj/structure/barricade/sandbags{ + layer = 3.1 + }, +/turf/open/floor/plating/asteroid/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"YO" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/airlock/external{ + dir = 4; + name = "Office Dome" + }, +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/office) +"YR" = ( +/obj/structure/cable/yellow{ + icon_state = "1-4" + }, +/obj/structure/cable/yellow{ + icon_state = "1-10" + }, +/obj/effect/turf_decal/corner/transparent/orange{ + dir = 9 + }, +/turf/open/floor/concrete/slab_4, +/area/ruin/rockplanet/mining_base/engineering) +"YU" = ( +/obj/machinery/door/window{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/vired/filled/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"YV" = ( +/obj/effect/turf_decal/corner/transparent/nsorange/diagonal, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/refinery) +"YW" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 4 + }, +/obj/item/kirbyplants{ + pixel_x = 2 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/office) +"YY" = ( +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 8 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"YZ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 1 + }, +/obj/structure/railing, +/obj/structure/sign/nanotrasen/ns{ + pixel_x = -28 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/engineering) +"Za" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/sign/warning/coldtemp{ + pixel_y = -29 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/obj/item/clothing/suit/hooded/explorer, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/mask/gas, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"Zb" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"Zf" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"Zh" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/footprints{ + icon_state = "blood2"; + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 8 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Zj" = ( +/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped{ + dir = 1 + }, +/obj/effect/turf_decal/spline/fancy/opaque/grey/corner{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/outline/red, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"Zk" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_one) +"Zm" = ( +/obj/effect/turf_decal/trimline/opaque/vired/warning{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ruin/rockplanet/mining_base/armory) +"Zp" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/nanotrasen/ns/bottom_left, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/item/paper/crumpled{ + pixel_x = -5; + pixel_y = 5 + }, +/obj/effect/decal/cleanable/ash, +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner, +/obj/effect/gibspawner/human/bodypartless, +/turf/open/floor/plasteel/patterned, +/area/ruin/rockplanet/mining_base/refinery) +"Zr" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Zs" = ( +/obj/item/emptysandbag, +/turf/open/floor/plating/asteroid/rockplanet/cracked, +/area/overmap_encounter/planetoid/cave/explored) +"Zt" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"Zv" = ( +/obj/structure/flora/ash/cacti, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ZB" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ZD" = ( +/obj/structure/platform{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet/wet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ZE" = ( +/obj/structure/vein/classthree{ + mining_charges = 80; + max_mobs = 18; + spawn_distance_max = 7 + }, +/obj/effect/turf_decal/box, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/asteroid/rockplanet/wet/cracked, +/area/ruin/rockplanet/mining_base/rig_one) +"ZI" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central1{ + dir = 1 + }, +/obj/machinery/door/airlock/external{ + name = "Refinery Complex" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/welded, +/turf/open/floor/plasteel/mono, +/area/ruin/rockplanet/mining_base/refinery) +"ZJ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 4 + }, +/turf/open/floor/plasteel/rockplanet/lit, +/area/overmap_encounter/planetoid/rockplanet/explored) +"ZK" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"ZL" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 5 + }, +/obj/structure/catwalk/over/plated_catwalk, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"ZN" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"ZO" = ( +/obj/effect/turf_decal/corner/opaque/white/diagonal{ + dir = 8 + }, +/obj/structure/sink/kitchen{ + pixel_y = 7; + dir = 4 + }, +/turf/open/floor/plasteel, +/area/ruin/rockplanet/mining_base/canteen) +"ZT" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ZU" = ( +/obj/machinery/power/floodlight{ + anchored = 1; + setting = 2 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/rockplanet, +/area/ruin/rockplanet/mining_base/rig_two) +"ZV" = ( +/obj/structure/platform{ + dir = 1 + }, +/turf/open/floor/plating/asteroid/rockplanet, +/area/overmap_encounter/planetoid/cave/explored) +"ZX" = ( +/obj/structure/catwalk/over/plated_catwalk, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plating, +/area/ruin/rockplanet/mining_base/engineering) +"ZY" = ( +/obj/effect/turf_decal/weather/rock{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs/rockplanet/lit{ + dir = 8 + }, +/area/overmap_encounter/planetoid/rockplanet/explored) + +(1,1,1) = {" +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(2,1,1) = {" +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +UV +UV +jq +mH +rm +Ce +Ce +Ce +Ce +Ce +Ce +UV +UV +UV +UV +fW +fW +fW +fW +fW +fW +fW +fW +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(3,1,1) = {" +Ce +Ce +Ce +UV +UV +UV +sK +Qd +Qd +Ww +ZY +di +Hp +tR +fM +Ce +Dh +UV +UV +UV +LQ +Qd +GA +fW +fW +FD +Xi +KY +Xi +Be +RG +fW +fW +fW +fW +fW +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(4,1,1) = {" +Ce +Ce +UV +tL +ub +ub +xL +xL +xL +yi +FP +wV +cJ +OG +UV +UV +RQ +UV +fW +fW +fW +fW +HZ +HZ +dK +nM +jZ +WG +wO +iB +jF +fW +Sj +CF +xv +fW +Jj +Jj +Jj +Jj +Ce +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(5,1,1) = {" +Ce +Ce +UV +Ww +df +MU +Gf +up +CO +CO +iZ +PT +iP +xL +xL +ub +Fn +fW +fW +nQ +Ss +hf +HZ +HZ +gc +pY +nW +ee +vB +nC +SM +fW +lf +cF +vr +fW +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(6,1,1) = {" +Ce +Ce +UV +Ww +cm +Kj +UA +TJ +TJ +TJ +EP +qe +vA +vA +CO +XZ +Hp +fW +pc +nA +tr +we +qH +fW +lZ +Zb +jZ +WG +ZX +Oo +fW +fW +Ao +cf +kf +fW +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(7,1,1) = {" +Ce +Ce +RQ +En +co +UZ +Zh +EC +co +Mk +de +pT +TJ +Yk +lj +QR +Hp +fW +nQ +oG +iJ +Pi +Yj +Ci +dL +im +RF +RF +JZ +vK +xW +ZL +CT +HU +vs +fW +Jj +xj +xj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(8,1,1) = {" +Ce +UV +UV +UV +Gl +Gl +YO +Gl +Gl +En +co +co +co +Mk +Jq +iN +Hp +fW +pc +MA +YR +FK +Tf +fW +fW +fW +fW +vl +sN +fW +fW +QC +Zj +sp +mc +fW +xj +xj +xj +xj +xj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(9,1,1) = {" +UV +UV +Qd +Qd +Gl +SS +qP +na +Gl +Gl +Gl +Gl +Gl +Ww +eV +Rh +Hp +fW +fW +Qq +BE +nQ +fW +fW +Qd +fW +Ey +De +AP +YZ +fW +kB +IU +yK +dY +fW +UV +HK +HK +xj +xj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(10,1,1) = {" +fM +Qd +Qd +Gl +Gl +Gl +bG +Gl +Gl +Hf +xl +Xu +Gl +Ww +KN +yB +Hp +UV +fW +fW +fW +fW +fW +GA +Qd +fW +tK +rE +Ac +ef +fW +fW +fW +fW +fW +fW +UV +RQ +UV +pd +pd +pd +pd +pd +Jj +Jj +Jj +Ce +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(11,1,1) = {" +fM +Qd +Gl +Gl +Qi +rc +ku +SV +tD +LR +HD +yo +Gl +Ww +yT +fE +Et +ub +ub +ub +ub +Fn +GA +CK +UV +HZ +fW +CZ +NE +fW +HZ +tL +ub +ub +ub +ub +ub +ub +Fn +pd +pu +ir +Mt +pd +Jj +Jj +Jj +Jj +Jj +Jj +Jj +GH +GH +Jj +Jj +GH +hB +hB +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(12,1,1) = {" +fM +UV +Gl +lt +id +zj +KP +YW +Gl +uQ +NP +Mo +Gl +Ww +eV +gZ +ps +ps +mC +xA +ea +Et +ub +ub +ub +ub +AY +bK +Vr +Et +ub +AY +cU +Jk +bR +Jk +Vq +dP +Hp +pd +nB +Dn +BT +pd +pd +pd +pd +Jj +Jj +Jj +Jj +GH +GH +GH +GH +gz +GH +hB +hB +hB +hB +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +"} +(13,1,1) = {" +UV +UV +Gl +uu +Tu +Ri +An +aJ +Gl +Ji +tg +lP +Gl +Ww +wC +HR +HR +Ew +Sq +UJ +fV +TN +CI +CI +CI +CI +CI +Wl +dU +TN +TN +TN +Ld +Sm +gL +Yv +yF +tp +Hp +pd +gm +LW +Ph +Rz +SF +bL +pd +Jj +Jj +Jj +Jj +GH +Kt +GH +TI +TI +GH +zT +GH +hB +hB +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +"} +(14,1,1) = {" +UV +UV +Gl +Gl +Cp +Cp +Cp +Cp +Gl +Gl +Gl +Gl +Gl +En +co +co +ZD +ZD +Fx +eV +gJ +wf +vi +vi +SX +vi +dh +js +Si +vi +vi +vi +vi +qp +Wy +Mk +Mg +Kh +Hp +pd +pd +pd +pd +pd +bJ +bl +pd +Jj +Jj +GH +Zv +GH +zT +GH +TI +Kt +GH +TI +sc +TI +hB +hB +hB +Jj +Jj +Jj +Ce +Ce +Ce +Ce +"} +(15,1,1) = {" +UV +UV +Qd +Qd +UV +UV +fM +fM +fM +fM +UV +UV +UV +UV +HK +HK +HK +HK +WL +Yl +PA +Sx +YH +co +co +co +Mk +bK +St +Wy +co +co +Ta +co +tB +Ww +Wt +Ra +Et +pd +AF +yD +pd +Dq +ON +Md +pd +Jj +Jj +GH +GH +GH +GH +gz +Zs +TI +TI +TI +GH +GH +GH +hB +hB +Jj +Jj +Jj +Jj +Ce +Ce +Ce +"} +(16,1,1) = {" +Ce +Qd +NC +UV +fg +Ru +Ru +Ru +fM +UV +UV +RQ +UV +lw +lw +lw +lw +lw +WL +Jq +IK +Wq +th +Bu +KI +UV +UV +UV +Bp +UV +UV +TF +mp +Qo +Qd +Ww +Aa +Lp +cr +aV +WO +dO +Dd +OI +xR +YU +pd +Jj +Jj +GH +GH +GH +it +GH +GH +GH +GH +GH +GH +GH +GH +AD +GH +Jj +Jj +Jj +Jj +Ce +Ce +Ce +"} +(17,1,1) = {" +UV +UV +UV +UV +xV +Qd +Ru +Qd +xV +UV +UV +UV +UV +lw +uv +Wp +bX +lw +WL +wt +QR +Wq +zC +Zr +Xv +Xq +fo +fo +ec +fo +fo +VM +pX +sw +Qd +Ww +Ba +Kh +Wy +pd +AK +Dt +pd +Gj +WW +xn +pd +Jj +Jj +GH +GH +EL +qW +qW +Vb +rQ +rQ +rQ +rQ +uj +GH +GH +Zv +GH +Jj +Jj +Jj +Jj +Ce +Ce +"} +(18,1,1) = {" +UV +Rb +RW +UV +ap +Qd +Qd +UV +IW +UV +oN +XI +UV +lw +BW +cw +bX +lw +WL +eV +Rh +Wq +oi +ex +VC +Qd +Qd +UV +UV +Qd +Qd +TV +Tx +qs +Qd +mX +Ba +Kh +Hp +pd +pd +pd +pd +NS +wS +pd +pd +Jj +Jj +GH +GH +bP +gn +nd +nd +Bl +ez +ez +gg +sf +GH +GH +GH +Bb +GH +Jj +Jj +Jj +Ce +Ce +"} +(19,1,1) = {" +UV +oi +Hg +Rd +kn +Rd +EZ +Ob +in +Rd +aM +VC +UV +lw +Nc +CS +Yc +lw +WL +eV +Rh +Wq +Wv +DD +DD +Qd +Qd +Qd +UV +UV +Qd +Qd +Qd +UV +UV +mX +Na +tp +Hp +pd +hO +re +pd +wD +pd +pd +Jj +Jj +GH +TI +GH +jy +nd +OZ +TR +sR +Uj +oH +ez +QT +GH +GH +GH +TI +GH +Jj +Jj +Jj +Jj +Ce +"} +(20,1,1) = {" +UV +UV +du +Fo +bY +bY +bo +bo +bo +IV +KM +UV +UV +UV +mm +mm +mm +HK +WL +eV +Rh +Hp +UV +DD +DD +ew +ew +ew +ew +ew +ew +ew +ew +ew +UV +Ww +Ba +tp +Hp +pd +Zm +Zm +ok +aD +pd +Jj +Jj +UW +gz +TI +GH +jy +nd +Kd +vC +gW +Hb +Gz +nd +QT +GH +GH +TI +UW +Jj +Jj +Jj +Jj +Jj +Ce +"} +(21,1,1) = {" +Ce +UV +aL +oz +DE +Ln +DE +Ln +Ln +gi +Qa +so +LY +LY +LY +LY +XV +xF +ho +eV +Rh +so +LY +bj +jY +kQ +Ti +hA +Ea +pN +ew +tw +oI +ew +xL +AY +rP +pI +Hp +pd +NX +qC +qC +mw +pd +Jj +Jj +UW +TI +GH +AD +lc +Zk +gU +vC +ZE +Hb +ll +ob +sf +GH +TI +TI +hB +Jj +Jj +Jj +Jj +Ce +Ce +"} +(22,1,1) = {" +Ce +UV +mP +oz +DE +DE +DE +DE +DE +gi +xC +GL +iv +pi +Lw +ZJ +dx +TO +dM +BI +Rh +Ny +fF +bD +IZ +Dx +Rn +om +Nd +ww +ZI +BQ +Yh +Xa +if +if +Di +pI +Hp +pd +re +BG +nR +pd +pd +Jj +hB +UW +GH +GH +GH +NL +ez +OF +Hb +ot +gW +Gz +nd +sf +GH +AD +it +hB +Jj +Jj +Jj +Jj +Ce +Ce +"} +(23,1,1) = {" +Ce +UV +nK +oX +Ln +DE +DE +DE +DE +gi +DJ +ct +rk +dg +tl +tl +tl +kj +bi +Ov +Vd +jS +CB +Ex +yg +eY +KQ +YA +GU +DG +wK +YV +QU +zx +Kj +Kj +vS +pI +Hp +pd +pd +pd +pd +pd +Jj +Jj +hB +hB +it +GH +GH +NL +nd +hG +Ge +xP +Tp +xK +ez +QT +GH +GH +hB +hB +Jj +Jj +Jj +Jj +Ce +Ce +"} +(24,1,1) = {" +Ce +UV +aL +oX +Ln +FB +sI +ia +DE +gi +Jz +Wj +lz +lz +lz +lz +lz +zZ +Ul +eV +Rh +Wj +lz +Xk +eB +vH +da +WX +Yd +gB +ew +bN +Za +ew +co +Mk +eV +pI +Hp +Qd +Qd +Qd +fg +Qd +Jj +Jj +hB +GH +GH +GH +GH +jy +qf +gj +wX +JV +ez +ez +gg +QT +GH +GH +hB +nn +Jj +Jj +Jj +Jj +Ce +Ce +"} +(25,1,1) = {" +Ce +UV +aL +oX +Ln +hT +xf +Xr +DE +jl +KM +UV +fM +fM +fM +UV +UV +UV +Ww +Jq +ey +XZ +Eq +DD +DD +Xg +OB +fe +RZ +wH +ew +ew +ew +ew +fg +mX +eV +pI +Hp +sK +UV +Qd +Qd +Qd +Jj +Jj +Jj +GH +zT +GH +GH +ox +ox +ox +jj +JV +pE +lE +lE +Cr +GH +GH +hB +hB +Jj +Jj +Jj +Jj +Ce +Ce +"} +(26,1,1) = {" +Ce +UV +aL +oX +Ln +cn +Nz +su +Ln +jl +KM +UV +fM +cA +cA +cA +cA +cA +Ww +de +lj +LX +Eq +DD +DD +aS +Ke +IE +AE +UM +FG +QD +Cx +DD +DD +Ww +Yl +tp +Hp +UV +tz +Qd +Qd +Qd +Jj +Jj +Jj +Jj +GH +GH +GH +ox +pa +KE +jj +uD +QT +GH +it +Zv +GH +hB +hB +Jj +Jj +Jj +Jj +Jj +Ce +Ce +"} +(27,1,1) = {" +Ce +UV +gt +oX +DE +DE +DE +Ln +DE +Ay +Vm +UV +fM +cA +lM +zK +Tk +cA +En +Mk +Jq +at +Eq +HK +ew +Uc +OB +SH +xd +VG +vI +Zp +YG +DD +DD +ew +zb +ly +Et +ub +ub +Fn +Qd +Jj +Jj +Jj +Jj +Jj +Jj +GH +GH +ox +kX +qN +mz +uD +QT +GH +GH +GH +GH +GH +hB +Jj +Jj +Jj +Jj +Jj +Ce +Ce +"} +(28,1,1) = {" +Ce +UV +aL +oz +Ln +DE +DE +DE +DE +Ay +sb +UV +Qd +gF +Bv +eJ +KJ +cA +cA +Ww +Jq +at +Eq +HK +ew +Km +Ng +xs +qR +ta +Sd +Fm +dt +Vh +kZ +aK +yv +Fj +ra +ra +ra +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +GH +ox +go +oD +DI +JV +QT +GH +GH +GH +GH +GH +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +"} +(29,1,1) = {" +UV +UV +aL +oz +Ln +Ln +DE +DE +DE +Ay +sb +UV +Qd +gF +PZ +mq +LZ +rj +cA +Ww +Jq +at +Eq +QF +ew +tq +Tw +FZ +kD +LV +TU +kp +qX +bg +BO +Cy +ff +tQ +Yz +jb +ra +Jj +Jj +TI +TI +dk +TI +Jj +Jj +Jj +Jj +ox +ox +ox +DI +uD +QT +GH +Jj +GH +GH +GH +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +"} +(30,1,1) = {" +Ce +UV +aL +lU +iO +iO +iO +iO +iO +ys +KM +UV +Qd +cA +qy +Fc +al +Sw +cA +Ww +Do +at +Eq +QF +ew +uB +ja +lR +dR +aw +uk +ak +Vp +qE +ew +DD +ru +fr +ru +bd +vV +vV +cG +zL +BN +ZB +Sv +zL +Jj +Jj +Jj +Jj +Jj +Jj +og +uD +Jj +Jj +Jj +zT +GH +GH +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +"} +(31,1,1) = {" +UV +oN +hp +Tc +SA +Tc +Tc +Tc +SA +Tc +Nk +RW +UV +cA +NT +qT +zr +EY +cA +Ww +Jq +at +Eq +yI +ew +MM +OB +CU +XE +MQ +XE +sr +He +qE +ew +zm +GE +tY +dZ +il +dp +Zf +Uh +Zf +Zf +Uh +pr +bH +Uh +Uh +Uh +Zf +Zf +Zf +Wr +uD +Jj +Jj +GH +GH +GH +it +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +"} +(32,1,1) = {" +Qd +JS +VC +UV +IW +fM +fM +fM +ap +UV +oi +gs +UV +cA +cA +cA +BB +cA +cA +Ww +Jq +at +Eq +yI +ew +TW +VJ +OA +nS +nS +Ht +qr +eb +VK +ew +zm +Qk +WA +oO +WK +Mj +lB +tQ +tQ +tQ +lB +uh +tQ +tQ +tQ +Vs +lB +lB +lB +tQ +Ks +Jj +Jj +IG +Jj +GH +GH +GH +Jj +Jj +Jj +Ce +Ce +Ce +Ce +"} +(33,1,1) = {" +Ce +Qd +UV +UV +OG +Ru +fM +fM +jN +UV +UV +Qd +UV +UV +cA +kC +Cd +lg +cA +Ww +Jq +at +Eq +xj +ew +MM +wI +wz +xc +tP +xc +xc +hu +ew +ew +zm +Vx +Bq +hi +ZV +Jj +Jj +Jj +xZ +xZ +xZ +cu +Bj +xZ +XA +Yg +GH +GH +Jj +Jj +Jj +Jj +Jj +Jj +Kt +GH +GH +zT +Jj +Jj +Jj +Ce +Ce +Ce +Ce +"} +(34,1,1) = {" +Ce +UV +Qd +fM +fM +Ru +UV +UV +UV +Qd +Qd +fg +RQ +UV +cA +AC +nh +JC +cA +Ww +Jq +at +Eq +xj +ew +lp +FC +It +jx +qo +It +FC +uX +ew +Jj +TI +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +NA +NA +vp +ZT +rY +og +Yg +Jj +Jj +Jj +Jj +Jj +Jj +Jj +GH +GH +TI +Zv +GH +Jj +Jj +Jj +Ce +Ce +Ce +Ce +"} +(35,1,1) = {" +UV +UV +UV +tL +ub +ub +ub +ub +ub +xL +xL +ub +ub +Fn +cA +cA +FT +cA +cA +Ww +Jq +at +Eq +HK +ew +ew +ew +ew +ew +ew +ew +ew +ew +ew +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +TI +oo +TI +GD +og +qV +Jj +Jj +Jj +Jj +Jj +Jj +GH +sv +Rm +bt +GH +GH +Jj +Jj +Jj +Ce +Ce +Ce +Ce +"} +(36,1,1) = {" +UV +ub +ub +UV +pQ +uS +uS +uS +uS +uS +MU +MU +dP +Et +ub +AY +IC +Et +ub +AY +Jq +at +FH +Uv +Uv +RE +QF +ix +HK +yI +yI +UV +UV +Hl +Jj +Jj +Jj +Jj +Jj +GH +GH +GH +Jj +Jj +Jj +Jj +QE +TI +GD +og +Yg +Jj +Jj +Jj +Jj +Jj +Jj +GH +JO +Rg +Ll +GH +GH +Jj +Jj +Ce +Ce +Ce +Ce +Ce +"} +(37,1,1) = {" +ga +XM +eH +MU +Mi +Fd +Kj +Kj +Kj +nJ +nJ +OJ +Iw +MU +oy +lX +ay +ai +ai +SN +bF +uR +ai +ai +ai +sC +mZ +nE +HK +xj +HK +Hl +UV +UV +Jj +Jj +Jj +GH +GH +zT +TI +GH +Jj +Jj +Jj +Jj +Jj +GH +GD +og +qV +Jj +Jj +Jj +Jj +Jj +Jj +zT +Pu +Fq +rq +GH +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +"} +(38,1,1) = {" +eD +nt +RX +Fd +Kj +NU +Wy +co +co +co +Mk +cm +nJ +mB +wy +Ot +Hr +Gr +nD +XK +Tv +gX +nJ +wc +Kj +Ql +HK +Zt +xj +xj +UV +UV +Hl +GH +GH +Jj +GH +GH +GH +Zs +GH +sc +GH +rn +rn +Jj +Jj +Jj +Jj +og +Yg +yG +GH +GH +Jj +nc +Ak +Ak +Ak +ao +it +GH +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +"} +(39,1,1) = {" +UV +Mk +py +lF +Wy +co +tB +UV +UV +UV +En +co +Mk +YY +gH +Du +ZD +ZD +Fx +Jq +QR +Du +ZD +ZD +ZD +ZD +QF +tu +xj +HK +Hl +UV +GH +GH +GH +GH +AD +GH +TI +Oh +TI +GH +rn +ag +Ju +Jj +Jj +Jj +Jj +og +Yg +DA +GH +TI +nc +ao +Jj +nn +GH +GH +GH +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +"} +(40,1,1) = {" +UV +UV +eD +Xx +UV +UV +UV +Pj +Pj +Pj +Pj +Pj +Pj +DF +sh +Pj +Pj +Pj +Iu +Jq +QR +Eq +Qb +Qb +Qb +Qb +Qb +Qb +Qb +UV +UV +Hl +Jj +GH +GH +GH +it +GH +AD +GH +GH +rn +rn +Ju +Ju +Ju +nr +ss +Jr +xO +RI +Un +tV +Sr +ao +Jj +Jj +hB +hB +hB +hB +GH +Jj +GH +Jj +Jj +Ce +Ce +GH +GH +"} +(41,1,1) = {" +Ce +UV +tz +UV +Qd +fg +UV +Pj +MP +Tn +Es +Pj +yl +rx +Cf +tF +Pj +Mc +MU +Oq +QR +Et +Qb +dq +OL +Qb +Vl +uW +Qb +UV +UV +Jj +Jj +Jj +GH +AD +GH +GH +GH +GH +AD +rn +hZ +nr +Ju +Ju +hZ +ss +Jr +xO +qV +HC +Ka +iM +GH +Jj +Jj +Jj +Jj +hB +GH +GH +GH +Jj +Jj +Jj +Jj +GH +GH +GH +"} +(42,1,1) = {" +Ce +UV +UV +Qd +Qd +Qd +UV +Pj +lo +dS +cW +Pj +Ry +BK +CJ +Ma +Pj +gD +Kj +lm +mN +AN +cD +VV +Ah +Ky +Tb +pP +Qb +Qb +Jj +Jj +Jj +Jj +hB +GH +Ep +OX +rQ +rQ +OX +OX +rQ +OX +PD +PD +PD +PD +PD +og +qV +Vi +GH +GH +Jj +Jj +Jj +Jj +Jj +Jj +GH +Jj +Jj +Jj +GH +Jj +GH +GH +GH +Ce +"} +(43,1,1) = {" +Ce +Ce +UV +Qd +NC +UV +Pj +Pj +Qx +LA +ts +Pj +Pj +Pc +No +Pj +Pj +Pj +Fx +Jq +cI +Du +Qb +wW +Sl +Qb +lI +sT +IT +Qb +Jj +Jj +hB +hB +hB +GH +jy +BY +EE +EE +zH +xr +xr +BY +PD +oQ +GW +Qg +PD +og +qV +ZV +zT +Jj +Jj +Kt +GH +Jj +Jj +GH +GH +GH +TI +GH +GH +GH +GH +GH +GH +Ce +"} +(44,1,1) = {" +Ce +Ce +UV +Qd +Qd +UV +Pj +Pj +Pj +fP +Pj +Pj +XT +fT +Al +yQ +Pj +HK +WL +Yl +cI +Eq +Qb +Qb +Qb +Qb +ow +Qz +Bi +Qb +Jj +Jj +QK +UW +GH +GH +jy +EE +XG +VW +se +VW +xH +EE +PD +Xt +fA +Jd +PD +og +Yg +ZV +Jj +Jj +Jj +GH +GH +GH +GH +TI +TI +TI +zT +GH +GH +GH +GH +GH +Jj +Ce +"} +(45,1,1) = {" +Ce +Ce +Ce +UV +lY +UV +pB +tH +ZO +rV +DQ +zf +Av +AL +Pm +hk +Pj +Pj +WL +Jq +cI +Eq +Qb +Rk +Oz +Qb +SE +Qz +rs +Qb +Jj +Jj +hB +sc +TI +GH +lc +EE +dJ +HQ +FY +kt +BL +ST +Se +Se +ED +UX +UX +Wr +Yg +Jj +Jj +Jj +Jj +GH +GH +Jj +GH +GH +Kt +GH +GH +GH +GH +Jj +GH +Jj +Jj +Ce +"} +(46,1,1) = {" +Ce +Ce +Ce +UV +UV +UV +pB +cv +pS +ZN +jw +BP +iu +pO +Pv +JT +bC +Pj +WL +Yl +uA +Eq +Qb +BV +hX +mT +AX +uJ +Bi +Qb +Jj +Jj +hB +GH +nr +GH +jy +IY +IP +sy +bx +JH +tA +kO +VT +VT +VE +VE +VE +VT +Ga +Jj +Jj +Jj +Jj +Jj +Jj +Jj +zT +GH +GH +GH +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +"} +(47,1,1) = {" +Ce +Ce +Ce +UV +RQ +UV +pB +kK +ac +pq +jg +kF +ma +Vw +BH +po +Aw +pB +WL +Yl +uA +Hp +Qb +Qb +EA +Qb +RD +kH +Rs +Qb +Jj +Jj +Jj +zT +Cm +hZ +jy +xr +Ug +sy +HQ +HQ +DS +xr +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Zv +GH +GH +Jj +Jj +GH +Jj +Jj +Ce +Ce +Ce +"} +(48,1,1) = {" +Ce +Ce +Ce +tz +Qd +UV +Pj +KH +ZK +GS +kv +sV +MT +PM +zY +Lx +Tt +pB +Ww +Yl +uA +Hp +Qb +vf +dV +Qb +Fr +Uk +Bi +Qb +Jj +Jj +Jj +rn +hZ +hZ +jy +EE +HN +KL +jv +pn +ht +xr +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Jj +Jj +Jj +Jj +GH +Jj +Jj +GH +Jj +Jj +Ce +Ce +Ce +Ce +"} +(49,1,1) = {" +Ce +Ce +Ce +UV +Qd +sK +Pj +cg +ZK +fQ +Ec +sV +MT +aE +zo +jc +Ku +pB +Ww +Yl +uA +Hp +Qb +PH +Lh +Qb +bT +Gx +yN +Qb +Jj +Jj +Jj +rn +rn +hZ +lc +Wn +EE +EE +ZU +xr +xr +OR +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Jj +Jj +Jj +Jj +Jj +Jj +GH +Jj +Jj +Ce +Ce +Ce +Ce +Ce +"} +(50,1,1) = {" +Ce +Ce +Ce +UV +UV +UV +Pj +Pj +Wx +Wf +mx +sV +ca +gy +kE +gx +gG +Pj +Ww +Yl +uA +Hp +Qb +Qb +Qb +CE +Ns +Qb +Qb +Qb +Jj +Jj +Jj +rn +rn +hZ +LO +lE +lE +lK +lE +lE +lE +lE +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +"} +(51,1,1) = {" +Ce +Ce +Ce +Ce +UV +UV +UV +Pj +Pj +Pj +pB +GO +eg +FM +ng +RR +qU +Pj +Ww +Yl +uA +Hp +Qb +PG +Pg +CE +Ux +wT +dG +Qb +Qb +Jj +Jj +rn +rn +hZ +hZ +hZ +hZ +hZ +hZ +rn +rn +rn +rn +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(52,1,1) = {" +Ce +Ce +Ce +Ce +UV +tz +UV +UV +UV +Qd +Qd +pB +GO +Pj +Pj +Dm +Pj +Pj +Ww +Yl +uA +Hp +Qb +oS +hV +ig +um +BZ +Ub +FO +Qb +Jj +Jj +Jj +rn +So +nr +nr +TI +TI +GH +hZ +rn +qK +rn +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(53,1,1) = {" +Ce +Ce +Ce +Ce +UV +UV +UV +UV +sK +Qd +Qd +Qd +UV +Pj +Yx +Ye +wm +Pj +Ww +Yl +uA +Hp +Qb +Qb +Qb +Qb +zG +Ub +Hd +Ws +Qb +Jj +Jj +Jj +Jj +GH +GH +zT +GH +sc +Zs +GH +Ju +rn +rn +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(54,1,1) = {" +Ce +Ce +Ce +Ce +Ce +UV +UV +GI +UV +UV +CK +Qd +UV +Pj +Pj +zl +Pj +Pj +Ww +Yl +cI +Hp +UV +Qb +Jj +Qb +Qb +zR +NR +DT +Qb +Jj +Jj +Jj +Jj +Jj +GH +GH +GH +TI +GH +GH +bc +rn +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(55,1,1) = {" +Ce +Ce +Ce +Ce +Ce +Ce +UV +ap +UV +ub +ub +ub +ub +ub +AY +nf +Et +ub +AY +Yl +cI +Hp +Jj +Jj +Jj +Jj +Qb +Qb +Qb +Qb +Qb +Jj +Jj +Jj +Jj +Jj +Jj +GH +TI +GH +GH +GH +GH +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(56,1,1) = {" +Ce +Ce +Ce +Ce +Ce +Ce +UV +KF +ch +aA +FI +sL +Jk +Jk +ai +zz +ai +ai +ai +DP +cI +Hp +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(57,1,1) = {" +Ce +Ce +Ce +Ce +Ce +Ce +Ce +UV +ck +If +mB +kx +Kj +nJ +nJ +es +Hc +Hc +Hc +Hc +Da +Hp +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(58,1,1) = {" +Ce +Ce +Ce +Ce +Ce +Ce +Ce +UV +UV +Mk +Db +Pb +Wy +co +co +Jj +Jj +Jj +co +co +co +tB +Jj +Jj +Jj +Ce +Ce +Ce +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(59,1,1) = {" +Ce +Ce +Ce +Ce +Ce +Ce +Ce +UV +UV +UV +ck +HE +xB +xm +UV +UV +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(60,1,1) = {" +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +UV +sK +UV +UV +UV +Qd +Qd +Jj +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(61,1,1) = {" +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +UV +UV +UV +Qd +Qd +Qd +Jj +Jj +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} +(62,1,1) = {" +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +UV +UV +Ce +Jj +Jj +Jj +Jj +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +Ce +"} diff --git a/code/datums/ruins/rockplanet.dm b/code/datums/ruins/rockplanet.dm index 7382b2c5768a..3d1414ef35af 100644 --- a/code/datums/ruins/rockplanet.dm +++ b/code/datums/ruins/rockplanet.dm @@ -36,3 +36,10 @@ description = "A former pre-ICW era Nanotrasen outpost converted into a moonshine distillery by Frontiersman bootleggers." id = "rockplanet_distillery" suffix = "rockplanet_distillery.dmm" + +/datum/map_template/ruin/rockplanet/mining_base + name = "N+S Mining Installation" + description = "A N+S mining installation recently fallen prey to a band of Ramzi pirates." + id = "rockplanet_mining_base" + suffix = "rockplanet_mining_installation.dmm" + ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_SHELTER) diff --git a/code/game/area/areas/ruins/rockplanet.dm b/code/game/area/areas/ruins/rockplanet.dm index 1b9f89a46ff8..e1116172d850 100644 --- a/code/game/area/areas/ruins/rockplanet.dm +++ b/code/game/area/areas/ruins/rockplanet.dm @@ -58,3 +58,42 @@ /area/ruin/rockplanet/distillery/office name = "Office" icon_state = "vacant_office" + +//N+S Mining Base + +/area/ruin/rockplanet/mining_base + name = "Mining Base" + +/area/ruin/rockplanet/mining_base/canteen + name = "Canteen Dome" + icon_state = "bar" + +/area/ruin/rockplanet/mining_base/office + name = "Coordinator's Office" + icon_state = "shuttle" + +/area/ruin/rockplanet/mining_base/crew + name = "Barracks Dome" + icon_state = "crew_quarters" + +/area/ruin/rockplanet/mining_base/med + name = "Medical Dome" + icon_state = "blue" + +/area/ruin/rockplanet/mining_base/engineering + name = "Engineering Complex" + icon_state = "engine" + +/area/ruin/rockplanet/mining_base/refinery + name = "Refinery Complex" + icon_state = "storage" + +/area/ruin/rockplanet/mining_base/armory + name = "Armory Dome" + icon_state = "armory" + +/area/ruin/rockplanet/mining_base/rig_one + name = "Mining Platform #1" + +/area/ruin/rockplanet/mining_base/rig_two + name = "Mining Platform #2" diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index df2774f32a19..882b0b1efd6c 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -335,6 +335,11 @@ var/list/timestamp = list() var/ruined = 0 +/obj/item/tape/Initialize() + . = ..() + if(ruined) + add_overlay("ribbonoverlay") + /obj/item/tape/fire_act(exposed_temperature, exposed_volume) if(!ruined) ruin() @@ -369,3 +374,12 @@ /obj/item/tape/random/Initialize() . = ..() icon_state = "tape_[pick("white", "blue", "red", "yellow", "purple")]" + +//How 2 set custom recorded tapes: +//create a list of lines to populate stored_info. Each line should follow a format like "[timestamp] [speaker] [speaking verb] ["what they're saying"]" +//create a list of timestamps. Each one should correspond to how long the recorder should wait before saying the line associated with the timestamp. +//e.g. "[00:00] Recording started." timestamp = 0 +//"[00:15] [span_name("berry fox")] says "wow. I love eating berries so much"" timestamp = 15 +//set used capacity to how many 'seconds' used by the prerecorded message +//optional: set max capacity to used capacity +//optional: set ruined var (you can fix this with a pen) diff --git a/code/game/turfs/open/floor/plating/rockplanet.dm b/code/game/turfs/open/floor/plating/rockplanet.dm index 9bc21c8778c6..7e52dc85aafd 100644 --- a/code/game/turfs/open/floor/plating/rockplanet.dm +++ b/code/game/turfs/open/floor/plating/rockplanet.dm @@ -64,6 +64,8 @@ light_color = COLOR_ROCKPLANET_LIGHT name = "pond" +///plating + /turf/open/floor/plating/rockplanet initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS light_color = COLOR_ROCKPLANET_LIGHT @@ -73,68 +75,110 @@ light_range = 2 light_power = 0.6 -/turf/open/floor/plasteel/stairs/rockplanet - name = "exterior stairs" +/turf/open/floor/plating/rust/rockplanet + name = "exterior plating" initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS light_color = COLOR_ROCKPLANET_LIGHT -/turf/open/floor/engine/hull/rockplanet - initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS +/turf/open/floor/plating/rust/rockplanet/lit + light_range = 2 + light_power = 0.6 light_color = COLOR_ROCKPLANET_LIGHT -//i hope whoever subtyped all the rockplanet tiles like this stubs their toe so hard. + +///floor tiles + +/turf/open/floor/plasteel/stairs/rockplanet + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + name = "exterior stairs" + +/turf/open/floor/plasteel/stairs/rockplanet/lit + light_range = 2 + light_power = 0.6 + light_color = COLOR_ROCKPLANET_LIGHT /turf/open/floor/plasteel/rockplanet - name = "exterior floor" initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + name = "exterior floor" + +/turf/open/floor/plasteel/rockplanet/lit + light_range = 2 + light_power = 0.6 light_color = COLOR_ROCKPLANET_LIGHT /turf/open/floor/plasteel/patterned/rockplanet + name = "exterior floor" initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS - light_color = COLOR_ROCKPLANET_LIGHT /turf/open/floor/plasteel/patterned/rockplanet/lit light_range = 2 light_power = 0.6 - name = "exterior floor" + light_color = COLOR_ROCKPLANET_LIGHT /turf/open/floor/plasteel/patterned/brushed/rockplanet name = "exterior floor" initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS - light_color = COLOR_ROCKPLANET_LIGHT /turf/open/floor/plasteel/patterned/brushed/rockplanet/lit light_range = 2 light_power = 0.6 + light_color = COLOR_ROCKPLANET_LIGHT /turf/open/floor/plasteel/patterned/ridged/rockplanet name = "exterior floor" initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS - light_color = COLOR_ROCKPLANET_LIGHT /turf/open/floor/plasteel/patterned/ridged/rockplanet/lit light_range = 2 light_power = 0.6 + light_color = COLOR_ROCKPLANET_LIGHT -/turf/open/floor/plating/rust/rockplanet - name = "exterior plating" +/turf/open/floor/wood/rockplanet initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS light_color = COLOR_ROCKPLANET_LIGHT -/turf/open/floor/plating/rust/rockplanet/lit +/turf/open/floor/pod/rockplanet + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + light_color = COLOR_ROCKPLANET_LIGHT + +///reinforced floors + +/turf/open/floor/engine/hull/rockplanet + initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + +/turf/open/floor/engine/hull/rockplanet/lit light_range = 2 light_power = 0.6 + light_color = COLOR_ROCKPLANET_LIGHT -/turf/open/floor/wood/rockplanet +/turf/open/floor/engine/hull/reinforced/rockplanet initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + +/turf/open/floor/engine/hull/reinforced/rockplanet/lit + light_range = 2 + light_power = 0.6 light_color = COLOR_ROCKPLANET_LIGHT -/turf/open/floor/pod/rockplanet +/// concrete + +/turf/open/floor/concrete/rockplanet + planetary_atmos = TRUE initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + +/turf/open/floor/concrete/rockplanet/lit + light_range = 2 + light_power = 0.6 light_color = COLOR_ROCKPLANET_LIGHT -/turf/open/floor/engine/hull/reinforced/rockplanet +///titanium + +/turf/open/floor/mineral/titanium/tiled/rockplanet + planetary_atmos = TRUE initial_gas_mix = ROCKPLANET_DEFAULT_ATMOS + +/turf/open/floor/mineral/titanium/tiled/rockplanet/lit + light_range = 2 + light_power = 0.6 light_color = COLOR_ROCKPLANET_LIGHT ///snow diff --git a/code/modules/ruins/rockplanet_ruin_code/mining_base.dm b/code/modules/ruins/rockplanet_ruin_code/mining_base.dm new file mode 100644 index 000000000000..aad89082116c --- /dev/null +++ b/code/modules/ruins/rockplanet_ruin_code/mining_base.dm @@ -0,0 +1,93 @@ +/obj/machinery/porta_turret/ship/nt/light/mining_base + req_ship_access = FALSE + mode = 1 + turret_flags = TURRET_FLAG_SHOOT_ANOMALOUS + +/obj/machinery/porta_turret/ship/nt/light/mining_base/Initialize() + . = ..() + take_damage(rand(120, 150),BRUTE) + +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_manager + mob_name = "gruff sarathi man" + mob_gender = MALE + mob_species = /datum/species/lizard + icon_state = "corpsehuman" + outfit = /datum/outfit/job/nanotrasen/quartermaster + brute_damage = 120 + +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner + outfit = /datum/outfit/job/nanotrasen/miner + +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner/armored + outfit = /datum/outfit/job/nanotrasen/miner/armored + +/datum/outfit/job/nanotrasen/miner/armored + name = "Nanotrasen - Armored Miner" + suit = /obj/item/clothing/suit/hooded/explorer + mask = /obj/item/clothing/mask/gas/explorer + +/obj/effect/mob_spawn/human/corpse/ruin/ns_mine_miner/Initialize() + . = ..() + mob_species = pick_weight(list( + /datum/species/human = 50, + /datum/species/lizard = 20, + /datum/species/ipc = 10, + /datum/species/elzuose = 10, + /datum/species/moth = 5, + /datum/species/spider = 5 + ) + ) + +/obj/item/taperecorder/preset/mining_base + starting_tape_type = /obj/item/tape/random/preset/mining_base/one + +/obj/item/tape/random/preset/mining_base/one + ruined = 1 + used_capacity = 120 + +/obj/item/tape/random/preset/mining_base/one/Initialize() + . = ..() + storedinfo = list( + "\[00:00\] Recording started.", + "\[00:02\] [span_name("gruff sarathi man")] firmly declares \"-urn in hell for thisss.\"", + "\[00:05\] [span_name("stern human woman")] retorts \"A hell of my own making.\"", + "\[00:08\] [span_name("gruff sarathi man")] states \"And we'll sssend you-\"", + "\[00:11\] [span_name("gruff sarathi man")] suddenly gasps", + "\[00:12\] [span_name("stern human woman")] confidently delivers \"If you're so sure, why aren't you the one with the gun?\"", + "\[00:17\] [span_name("gruff sarathi man")] stammers \"y-you won't get away with thisss\"", + "\[00:20\] [span_name("stern human woman")] says \"The last Nanotrasen cuck I killed said that too~\"", + "\[00:25\] sudden clattering and a dull thump.", + "\[00:26\] [span_name("gruff sarathi man")] gasps for breath!", + "\[00:27\] [span_name("stern human woman")] contemptously declares \"Different boot. Same pathetic people.\"", + "\[00:30\] A pistol's slide is racked.", + "\[00:32\] [span_name("stern human woman")] says \"Burn in hell.\"", + "\[00:33\] A pistol is fired!", + "\[00:36\] [span_name("stern human woman")] states \"Get moving. I want us out and a garrison deployed within the hour.\"", + "\[00:38\] armored footsteps thump against a metal floor", + "\[00:44\] an airlock hisses open.", + "\[00:45\] [span_name("stern human woman")] taunts \"tchuss, tovai.\"", + "\[00:50\] an airlock suddenly closes!", + "\[02:00\] Recording ended.", + ) + timestamp = list( + 0, + 2, + 5, + 8, + 11, + 12, + 17, + 20, + 25, + 26, + 27, + 30, + 32, + 33, + 36, + 38, + 44, + 45, + 50, + 120 + ) diff --git a/shiptest.dme b/shiptest.dme index 43c9a66fc4e8..b7a38d7ccecf 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -3290,6 +3290,7 @@ #include "code\modules\ruins\objects_and_mobs\ash_walker_den.dm" #include "code\modules\ruins\objects_and_mobs\necropolis_gate.dm" #include "code\modules\ruins\objects_and_mobs\sin_ruins.dm" +#include "code\modules\ruins\rockplanet_ruin_code\mining_base.dm" #include "code\modules\ruins\sandplanet_ruin_code\cave_base.dm" #include "code\modules\ruins\spaceruin_code\bigderelict1.dm" #include "code\modules\ruins\spaceruin_code\TheDerelict.dm" From 63da8497bf71e1edc541c5af9aed0c0df412ad09 Mon Sep 17 00:00:00 2001 From: Mark Suckerberg Date: Fri, 15 Nov 2024 21:55:13 -0600 Subject: [PATCH 224/344] Another round of fixes (#3712) Fixes a bunch of small, mostly unrelated runtimes, errors, and possibly a harddel. Most non-issue runtimes found in the [latest consolidated runtime logs](https://cdn.shiptest.net/logs/2024/11/03-runtimes-consolidated.log.gz). Also standardizes `examine_more()` because it was a bit of a mess as is that led to runtimes. Fixes: #3671 Fixes: #3654 We honestly have so much fewer runtimes than we used to, it's unreal. We might be close to being in the double-digits worth of preventable runtimes if we keep up :cl: /:cl: --- code/datums/elements/_element.dm | 2 +- code/game/atoms.dm | 3 +-- code/game/machinery/computer/_computer.dm | 1 + code/game/machinery/computer/arcade.dm | 14 +++++++------- code/game/machinery/computer/crew.dm | 1 + code/game/machinery/teambuilder.dm | 2 +- code/game/mecha/equipment/weapons/weapons.dm | 2 +- code/game/objects/effects/anomalies/_anomalies.dm | 3 ++- code/game/objects/items/devices/radio/intercom.dm | 1 + code/game/objects/items/grenades/clusterbuster.dm | 2 +- code/game/turfs/closed/minerals.dm | 10 +++++++--- code/modules/atmospherics/machinery/airalarm.dm | 1 + code/modules/clothing/head/jobs.dm | 3 ++- code/modules/mob/dead/observer/observer.dm | 4 ++-- code/modules/mob/living/carbon/carbon_defense.dm | 2 ++ code/modules/mob/living/carbon/human/examine.dm | 2 +- .../simple_animal/hostile/megafauna/megafauna.dm | 3 ++- .../simple_animal/hostile/mining_mobs/goldgrub.dm | 4 +--- .../simple_animal/hostile/mining_mobs/hivelord.dm | 3 ++- code/modules/mob/mob.dm | 5 ++++- .../modular_computers/computers/item/laptop.dm | 1 + .../computers/machinery/modular_computer.dm | 4 ++-- code/modules/overmap/helm.dm | 2 +- code/modules/power/apc.dm | 1 + code/modules/projectiles/guns/energy/laser.dm | 5 +++-- .../reagents/chemistry/recipes/pyrotechnics.dm | 2 ++ 26 files changed, 51 insertions(+), 32 deletions(-) diff --git a/code/datums/elements/_element.dm b/code/datums/elements/_element.dm index e9779644c211..5d57ac443ad2 100644 --- a/code/datums/elements/_element.dm +++ b/code/datums/elements/_element.dm @@ -60,7 +60,7 @@ var/datum/element/ele = SSdcs.GetElement(arguments) arguments[1] = src if(ele.Attach(arglist(arguments)) == ELEMENT_INCOMPATIBLE) - CRASH("Incompatible [arguments[1]] assigned to a [type]! args: [json_encode(args)]") + CRASH("Incompatible [ele] assigned to a [type]! args: [json_encode(args)]") /** * Finds the singleton for the element type given and detaches it from src diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 84744a9187d6..acc2797b360a 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -1603,10 +1603,9 @@ * Produces a signal [COMSIG_PARENT_EXAMINE_MORE] */ /atom/proc/examine_more(mob/user) + SHOULD_CALL_PARENT(TRUE) . = list() SEND_SIGNAL(src, COMSIG_PARENT_EXAMINE_MORE, user, .) - if(!LAZYLEN(.)) // lol ..length - return list("You examine [src] closer, but find nothing of interest...") ///Passes Stat Browser Panel clicks to the game and calls client click on an atom /atom/Topic(href, list/href_list) diff --git a/code/game/machinery/computer/_computer.dm b/code/game/machinery/computer/_computer.dm index 0e5507a5b7f3..3def408de874 100644 --- a/code/game/machinery/computer/_computer.dm +++ b/code/game/machinery/computer/_computer.dm @@ -126,3 +126,4 @@ /obj/machinery/computer/examine_more(mob/user) ui_interact(user) + return ..() diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index 9bb72586a1e7..6b430d1a3c0b 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -363,13 +363,13 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( return /obj/machinery/computer/arcade/battle/examine_more(mob/user) - var/list/msg = list("You notice some writing scribbled on the side of [src]...") - msg += "\tsmart -> defend, defend, light attack" - msg += "\tshotgun -> defend, defend, power attack" - msg += "\tshort temper -> counter, counter, counter" - msg += "\tpoisonous -> light attack, light attack, light attack" - msg += "\tchonker -> power attack, power attack, power attack" - return msg + . = ..() + . += "You notice some writing scribbled on the side of [src]..." + . += "\tsmart -> defend, defend, light attack" + . += "\tshotgun -> defend, defend, power attack" + . += "\tshort temper -> counter, counter, counter" + . += "\tpoisonous -> light attack, light attack, light attack" + . += "\tchonker -> power attack, power attack, power attack" /obj/machinery/computer/arcade/battle/emag_act(mob/user) if(obj_flags & EMAGGED) diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index a3ec24abc8ac..d8c3f460911b 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -46,6 +46,7 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) /obj/machinery/computer/crew/examine_more(mob/user) interact(user) //crew monitors use the interact method instead of ui_interact, for some reason. Not very consistent. + return ..() /datum/crewmonitor/ui_close(mob/user) ui_sources -= user diff --git a/code/game/machinery/teambuilder.dm b/code/game/machinery/teambuilder.dm index 402ea5aa5c6b..4c30bbdc3a4a 100644 --- a/code/game/machinery/teambuilder.dm +++ b/code/game/machinery/teambuilder.dm @@ -23,7 +23,7 @@ /obj/machinery/teambuilder/examine_more(mob/user) . = ..() - . += "You see a hastily written note on the side, it says '1215-1217, PICK A SIDE'." + . += span_notice("You see a hastily written note on the side, it says '1215-1217, PICK A SIDE'.") /obj/machinery/teambuilder/proc/on_entered(datum/source, atom/movable/AM, oldloc) SIGNAL_HANDLER diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 39b39ffeeff0..fd9c225fe1ff 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -439,7 +439,7 @@ var/turf/T = get_turf(src) message_admins("[ADMIN_LOOKUPFLW(chassis.occupant)] fired a [src] in [ADMIN_VERBOSEJMP(T)]") log_game("[key_name(chassis.occupant)] fired a [src] in [AREACOORD(T)]") - addtimer(CALLBACK(F, TYPE_PROC_REF(/obj/item/grenade/flashbang, prime)), det_time) + F.preprime(delayoverride = det_time) /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang/clusterbang //Because I am a heartless bastard -Sieve //Heartless? for making the poor man's honkblast? - Kaze name = "\improper SOB-3 grenade launcher" diff --git a/code/game/objects/effects/anomalies/_anomalies.dm b/code/game/objects/effects/anomalies/_anomalies.dm index 6477446a2b72..39d21639a116 100644 --- a/code/game/objects/effects/anomalies/_anomalies.dm +++ b/code/game/objects/effects/anomalies/_anomalies.dm @@ -84,7 +84,8 @@ /obj/effect/anomaly/Destroy() STOP_PROCESSING(SSobj, src) - QDEL_NULL(countdown) + if(countdown) + QDEL_NULL(countdown) QDEL_NULL(core) return ..() diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index 8782d3d30280..ef5b92641d53 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -179,6 +179,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/item/radio/intercom, 31) /obj/item/radio/intercom/wideband/examine_more(mob/user) interact(user) + return ..() /obj/item/radio/intercom/wideband/unscrewed unscrewed = TRUE diff --git a/code/game/objects/items/grenades/clusterbuster.dm b/code/game/objects/items/grenades/clusterbuster.dm index a086cf85b055..b9ad8730b652 100644 --- a/code/game/objects/items/grenades/clusterbuster.dm +++ b/code/game/objects/items/grenades/clusterbuster.dm @@ -79,7 +79,7 @@ var/obj/item/grenade/P = new type(loc) if(istype(P)) P.active = TRUE - addtimer(CALLBACK(P, TYPE_PROC_REF(/obj/item/grenade, prime)), rand(15,60)) + P.preprime(delayoverride = P.det_time + rand(1.5 SECONDS, 6 SECONDS)) var/steps = rand(1,4) for(var/i in 1 to steps) step_away(src,loc) diff --git a/code/game/turfs/closed/minerals.dm b/code/game/turfs/closed/minerals.dm index 485a1034c91c..880b0fdd3c54 100644 --- a/code/game/turfs/closed/minerals.dm +++ b/code/game/turfs/closed/minerals.dm @@ -139,9 +139,13 @@ /turf/closed/mineral/attack_animal(mob/living/simple_animal/user) - if((user.environment_smash & ENVIRONMENT_SMASH_WALLS) || (user.environment_smash & ENVIRONMENT_SMASH_RWALLS) || (user.environment_smash & ENVIRONMENT_SMASH_MINERALS)) - gets_drilled(user) - ..() + if((!(user.environment_smash & ENVIRONMENT_SMASH_WALLS) || (user.environment_smash & ENVIRONMENT_SMASH_RWALLS) || (user.environment_smash & ENVIRONMENT_SMASH_MINERALS))) + return ..() + + //This scrapes us away and turns us into a floor, so don't call parent. + user.changeNext_move(CLICK_CD_MELEE) + user.do_attack_animation(src) + gets_drilled(user) /turf/closed/mineral/attack_alien(mob/living/carbon/alien/M) balloon_alert(M, "digging...") diff --git a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm index 0e9c7b2888f7..bfd869247f8c 100644 --- a/code/modules/atmospherics/machinery/airalarm.dm +++ b/code/modules/atmospherics/machinery/airalarm.dm @@ -280,6 +280,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/airalarm, 27) /obj/machinery/airalarm/examine_more(mob/user) ui_interact(user) + return ..() /obj/machinery/airalarm/ui_data(mob/user) var/data = list( diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index c5d7e6ec98f9..85b3af968296 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -57,8 +57,9 @@ new /obj/item/reagent_containers/food/drinks/flask/det(src) /obj/item/clothing/head/fedora/det_hat/examine_more(mob/user) + . = ..() if(!in_range(src, user) || !isobserver(user)) //hide the easter egg a little more - . = "You try to examine [src] closer, but you're too far away." + . += "You try to examine [src] closer, but you're too far away." return . += "Alt-click to take a candy corn." diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 0fcfa5c13940..e79427f2381d 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -909,8 +909,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/examine_more(mob/user) if(!isAdminObserver(user)) return ..() - . = list("You examine [src] closer, and note the following...") - . += list("\t>[ADMIN_FULLMONTY(src)]") + . += "You examine [src] closer, and note the following..." + . += "\t>[ADMIN_FULLMONTY(src)]" /mob/dead/observer/proc/set_invisibility(value) invisibility = value diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 0c95d2502a91..12a40a456f15 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -1,5 +1,7 @@ /mob/living/carbon/attackby(obj/item/W, mob/user, params) var/obj/item/bodypart/BP = get_bodypart(check_zone(user.zone_selected)) + if(!BP) + return ..() var/painless = (HAS_TRAIT(user, TRAIT_ANALGESIA) || HAS_TRAIT(user, TRAIT_PAIN_RESIST)) if(W.tool_behaviour == TOOL_WELDER && IS_ROBOTIC_LIMB(BP) && BP.brute_dam) //prioritize healing if we're synthetic return ..() diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index 295537cfd95b..c462eb294f77 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -430,4 +430,4 @@ if ((wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE))) return if(get_age()) - . += list(span_notice("[p_they(TRUE)] appear[p_s()] to be [get_age()].")) + . += span_notice("[p_they(TRUE)] appear[p_s()] to be [get_age()].") diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm index ee5b0940b11f..2ce9436b4cab 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm @@ -96,7 +96,8 @@ // [CELADON-REMOVE] - CRUSHER_TROPHEY - Выпилено ради легенды // /mob/living/simple_animal/hostile/megafauna/proc/spawn_mob_trophy() -// loot += mob_trophy +// if(mob_trophy) + // loot += mob_trophy // [/CELADON-REMOVE] /mob/living/simple_animal/hostile/megafauna/gib() diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm index fede2e8753ac..3377165ea3ea 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm @@ -44,10 +44,8 @@ /mob/living/simple_animal/hostile/asteroid/goldgrub/Initialize() . = ..() - var/i = rand(1,3) - while(i) + for (var/i in 1 to rand(1, 3)) loot += pick(/obj/item/stack/ore/silver, /obj/item/stack/ore/gold, /obj/item/stack/ore/uranium, /obj/item/stack/ore/diamond) - i-- spit = new burrow = new spit.Grant(src) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index ae5aa8c06ff5..5ab862cb30a1 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -52,7 +52,8 @@ // [CELADON-REMOVE] - CRUSHER_TROPHEY - Выпилено ради легенды // /mob/living/simple_animal/hostile/asteroid/hivelord/spawn_mob_trophy() - // loot += mob_trophy //we don't butcher + // if(mob_trophy) + // loot += mob_trophy //we don't butcher // [/CELADON-REMOVE] /mob/living/simple_animal/hostile/asteroid/hivelord/death(gibbed) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 6b490d4c88b6..48133d4301fe 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -502,10 +502,13 @@ handle_eye_contact(examinify) else result = examinify.examine_more(src) + + if(!LAZYLEN(result)) + result = list(span_notice("You examine [src] closer, but find nothing of interest...")) else result = examinify.examine(src) // if a tree is examined but no client is there to see it, did the tree ever really exist? - if(result.len) + if(length(result)) for(var/i in 1 to (length(result) - 1)) result[i] += "\n" diff --git a/code/modules/modular_computers/computers/item/laptop.dm b/code/modules/modular_computers/computers/item/laptop.dm index e0567b9954bd..2e7ce89d33b8 100644 --- a/code/modules/modular_computers/computers/item/laptop.dm +++ b/code/modules/modular_computers/computers/item/laptop.dm @@ -115,6 +115,7 @@ /obj/item/modular_computer/laptop/examine_more(mob/user) if(screen_on) interact(user) + return ..() // Laptop frame, starts empty and closed. /obj/item/modular_computer/laptop/buildable diff --git a/code/modules/modular_computers/computers/machinery/modular_computer.dm b/code/modules/modular_computers/computers/machinery/modular_computer.dm index 27b0809760b7..e8a3b6e18527 100644 --- a/code/modules/modular_computers/computers/machinery/modular_computer.dm +++ b/code/modules/modular_computers/computers/machinery/modular_computer.dm @@ -86,8 +86,8 @@ return ..() /obj/machinery/modular_computer/examine_more(mob/user) - if(cpu?.enabled) - interact(user) + interact(user) + return ..() // Process currently calls handle_power(), may be expanded in future if more things are added. /obj/machinery/modular_computer/process() diff --git a/code/modules/overmap/helm.dm b/code/modules/overmap/helm.dm index 49a8a4af6716..ad4eaf86bc25 100644 --- a/code/modules/overmap/helm.dm +++ b/code/modules/overmap/helm.dm @@ -424,7 +424,7 @@ // Unregister map objects if(current_ship) user.client?.clear_map(current_ship.token.map_name) - if(current_ship.burn_direction > BURN_NONE && !length(concurrent_users) && !viewer) // If accelerating with nobody else to stop it + if(current_ship.burn_direction > BURN_NONE && !length(concurrent_users) && !viewer && is_living) // If accelerating with nobody else to stop it say("Pilot absence detected, engaging acceleration safeties.") current_ship.change_heading(BURN_NONE) diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 3df3820b28f4..48651a3146c4 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -902,6 +902,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/power/apc/auto_name, 25) /obj/machinery/power/apc/examine_more(mob/user) ui_interact(user) + return ..() /obj/machinery/power/apc/ui_data(mob/user) var/list/data = list( diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index c17c1cb8a005..e82ed4d27a21 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -212,10 +212,11 @@ manufacturer = MANUFACTURER_SHARPLITE_NEW /obj/item/gun/energy/laser/hitscanpistol/examine_more(mob/user) + . = ..() if(in_range(src, user) || isobserver(user)) - . = list("You examine [src] closer. Under the grip is a small inscription: \"NT CN SVALINN 462\".") + . += "You examine [src] closer. Under the grip is a small inscription: \"NT CN SVALINN 462\"." else - . = list("You try to examine [src] closer, but you're too far away.") + . += "You try to examine [src] closer, but you're too far away." /obj/item/gun/energy/laser/e10 name = "E-10 laser pistol" diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm index 10713fbf2288..96c2a85c280c 100644 --- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm +++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm @@ -6,6 +6,8 @@ explode(holder, created_volume) /datum/chemical_reaction/reagent_explosion/proc/explode(datum/reagents/holder, created_volume) + if(QDELING(holder.my_atom)) + return var/power = modifier + round(created_volume/strengthdiv, 1) if(power > 0) var/turf/T = get_turf(holder.my_atom) From be8e7419104d74b11c876d6a14bcae48be0c623d Mon Sep 17 00:00:00 2001 From: fighterslam <56803762+fighterslam@users.noreply.github.com> Date: Fri, 15 Nov 2024 22:09:41 -0600 Subject: [PATCH 225/344] Ranger Adjustments (#3665) ## About The Pull Request List of changes: !!__I AM TRYING TO FIND WAYS TO CUT DOWN ON THE BRIGHT CHERRY RED WITHOUT COMPROMISING LOOKS. IF YOU HAVE SUGGESTIONS LET ME KNOW__!! Ranger was extended by 2 tiles, allowing me to re-map certain areas. ! - Medical was re-mapped to be more customizable and have space to actually move around, aswell as giving the Specialist better quarters. ! - Supply was also given similar treatment - though overall move-space is a bit more limited, the N+S specialist gets a proper office like the rest. I'm a little uncertain about this area and might adjust it some more based on player feedback. - Security and Engineering have also been adjusted, though less significantly. Both have their own crew quarters. ~~! - Removed some gun cases because pre-filled gun cases don't exist anymore I guess?~~ Nevermind, this was because my branch was 2 days out of date. ! - Security's gear was changed - I removed the generic armor vest and gave them the VI variants instead, aswell as giving them three more energy bolas (these CANNOT be reclaimed or purchased anywhere to my knowledge. So you get four for the whole round that vanish once you use them), a box of evidence bags, and a black cap alternative. - Telecommunications was given new floor subtypes with the telecomms air-mix so that the holofield has purpose again and is more in-line with the original ranger's telecomms. ! - The Engineer Specialist's plasma-cutter was removed and replaced with an angle grinder and inducer combo. ! - The Ready Room was painted a darker shade of red to differentiate itself. - The Port/North engine nacelle now has a scrubbers port and a distro port, for refilling or emptying - meaning they can actually be used. I also removed one scrubber and one air pump, since I felt having 2 was unnecessary and it's already specialty equipment. - More Intercoms & Better Holopad placement so that the Ship AI can interact with the crew better. - Engispec, Medspec, and Secspec now have prescription versions of their HUDs that spawn in their lockers. - Autolathe was moved to the central atrium. - A secure morgue tray was added to the engine nacelle behind Medbay. - A secure closet and spare EVA suit were added to the engine nacelle behind Security, for holding prisoner belongings. - A soap holder was added to the restroom. - I repurposed the closet in the cryo-room to be an intern's locker, rather than a holdover from when it had plasmaperson equipment in it. TODO: ~~Make the sunflower seeds in the food crate actually edible. ~~ ~~Add Ship Access Restrictions to:~~ ~~Air Cycler, Quarters Windows Shutters, Bridge Captain Nest~~ ~~Add NT posters to the walls in the main halls. ~~ ~~Move the vent inside the air tank to not have a cyan pipe over top of it.~~ ![image](https://github.com/user-attachments/assets/ef2d924d-8b56-4a67-b4cc-09361098fa89) ## Why It's Good For The Game QoL changes ## Changelog :cl: add: Various minor fixes & QOL adjustments to the Ranger. Major changes include updating all of the Specialist quarters and a complete re-arrangement of the Medical and Supply areas. /:cl: --- .../shuttles/nanotrasen/nanotrasen_ranger.dmm | 5384 ++++++++++------- code/game/area/ship_areas.dm | 15 + code/game/turfs/open/floor/misc_floor.dm | 2 + code/game/turfs/open/floor/plasteel_floor.dm | 3 + 4 files changed, 3244 insertions(+), 2160 deletions(-) diff --git a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm index 67cd0c4e7869..76847f40a3dc 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm @@ -9,16 +9,23 @@ /obj/item/toy/plush/moth/redish{ pixel_x = -4 }, -/obj/structure/window/reinforced/tinted{ - dir = 4 - }, /obj/item/folder/red{ pixel_x = -4; layer = 3.01; pixel_y = -8 }, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/light_switch{ + pixel_x = 20; + pixel_y = 11; + dir = 8 + }, /turf/open/floor/wood, -/area/ship/security) +/area/ship/crew/specialized/security) "ad" = ( /obj/structure/cable{ icon_state = "4-8" @@ -34,8 +41,11 @@ pixel_y = 22 }, /obj/effect/decal/cleanable/plasma, +/obj/structure/railing/corner{ + dir = 1 + }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "am" = ( /obj/structure/urinal{ pixel_y = 29 @@ -52,23 +62,18 @@ icon_state = "5-8" }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "az" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/light/floor, -/obj/effect/turf_decal/corner/opaque/vired/half{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/stairs{ + dir = 1; + color = "#a8b2b6" }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) +/area/ship/bridge) "aD" = ( /obj/machinery/light/dim/directional/north, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, @@ -79,27 +84,12 @@ /turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "aG" = ( -/obj/structure/closet/cabinet, -/obj/item/clothing/suit/hooded/wintercoat/engineering, -/obj/item/clothing/head/beret/eng/hazard, -/obj/item/storage/backpack/satchel/eng, -/obj/item/storage/backpack/messenger/engi, -/obj/item/storage/backpack/industrial, -/obj/item/storage/backpack/duffelbag/engineering, -/obj/item/clothing/under/rank/engineering/engineer/nt/lp, -/obj/item/clothing/under/rank/engineering/engineer/nt/skirt/lp, -/obj/item/storage/backpack/ert/engineer, -/obj/item/clothing/suit/nanotrasen/vest, -/obj/structure/window/reinforced/tinted{ - dir = 1 - }, -/obj/structure/window/reinforced/tinted{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 9 +/obj/structure/table/reinforced, +/obj/machinery/computer/helm/viewscreen/directional/south, +/obj/effect/turf_decal/techfloor{ + dir = 4 }, -/turf/open/floor/wood, +/turf/open/floor/plasteel/mono/dark, /area/ship/engineering) "aI" = ( /obj/structure/cable{ @@ -117,65 +107,50 @@ /obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/effect/turf_decal/siding/red{ dir = 8 }, -/obj/effect/turf_decal/techfloor{ - dir = 4 +/obj/effect/turf_decal/siding{ + dir = 4; + color = "#730622" }, /obj/machinery/door/poddoor/shutters{ dir = 4; id = "Ranger_FireFighting_Shut"; name = "Ready Room" }, -/obj/effect/turf_decal/siding/thinplating/dark/corner, -/turf/open/floor/plasteel/dark, +/turf/open/floor/pod/light, /area/ship/storage/equip) "aK" = ( -/obj/machinery/light/dim/directional/north, -/obj/effect/turf_decal/industrial/fire/corner{ - dir = 1 +/obj/structure/sign/poster/official/ion_carbine{ + pixel_x = 32 + }, +/obj/structure/window/reinforced/spawner, +/obj/structure/crate_shelf, +/obj/effect/turf_decal/industrial/fire{ + dir = 8 }, -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/item/clothing/suit/space/hardsuit/ancient/lp, /obj/effect/turf_decal/siding/thinplating/dark{ - dir = 6 + dir = 5 }, -/obj/item/clothing/mask/gas/vigilitas, -/turf/open/floor/plasteel/lightgrey, +/turf/open/floor/plasteel/tech, /area/ship/storage/equip) "aO" = ( -/obj/structure/closet/secure_closet/lp/medical, -/obj/item/storage/box/gloves, -/obj/item/storage/box/masks, -/obj/item/storage/belt/medical, -/obj/item/flashlight/seclite, -/obj/item/roller, -/obj/item/holosign_creator/medical, -/obj/item/pinpointer/crew, -/obj/item/storage/box/bodybags, -/obj/item/storage/firstaid/regular, -/obj/structure/window/reinforced/tinted{ - dir = 4 +/obj/effect/turf_decal/siding/wood{ + dir = 6 }, -/obj/structure/window/reinforced/tinted{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/item/defibrillator/loaded, -/obj/item/roller{ - pixel_x = -3; - pixel_y = 7 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/obj/item/roller{ - pixel_x = 5; - pixel_y = 12 +/obj/structure/cable{ + icon_state = "1-4" }, -/obj/item/clothing/neck/stethoscope, -/obj/item/gps, -/obj/item/clothing/glasses/hud/health, -/obj/item/clothing/glasses/hud/health/prescription, /turf/open/floor/wood, -/area/ship/medical) +/area/ship/crew/specialized/medical) "aP" = ( /turf/open/floor/plating, /area/ship/engineering) @@ -185,8 +160,11 @@ }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/effect/decal/cleanable/plasma, +/obj/structure/platform/industrial_alt/corner{ + dir = 4 + }, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "bf" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -224,7 +202,7 @@ name = "Engine Shutters" }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "bu" = ( /obj/effect/turf_decal/siding/thinplating/dark, /turf/open/floor/plasteel/lightgrey, @@ -238,22 +216,30 @@ /obj/item/storage/box/handcuffs, /obj/item/restraints/legcuffs/bola/energy, /obj/item/holosign_creator/security, -/obj/item/clothing/suit/armor/vest/security, -/obj/item/clothing/mask/gas/sechailer, /obj/item/gps, /obj/item/ammo_box/magazine/co9mm, /obj/item/storage/belt/security/webbing, -/obj/item/storage/guncase/pistol/commander, /obj/item/clothing/glasses/hud/security/sunglasses, -/obj/structure/window/reinforced/tinted{ - dir = 4 +/obj/effect/turf_decal/techfloor{ + dir = 1 }, -/turf/open/floor/wood, -/area/ship/security) +/obj/effect/turf_decal/techfloor, +/obj/item/reagent_containers/spray/pepper, +/obj/item/restraints/legcuffs/bola/energy, +/obj/item/restraints/legcuffs/bola/energy, +/obj/item/restraints/legcuffs/bola/energy, +/obj/machinery/light/small/directional/north, +/obj/item/storage/box/evidence, +/obj/item/storage/guncase/pistol/commander, +/turf/open/floor/plasteel/tech, +/area/ship/crew/specialized/security) "bD" = ( /obj/effect/turf_decal/corner/opaque/vired/half{ dir = 1 }, +/obj/structure/sign/poster/official/safety_report{ + pixel_y = 32 + }, /turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "bK" = ( @@ -267,55 +253,44 @@ /turf/open/floor/plasteel/dark, /area/ship/hallway/central) "bN" = ( -/obj/item/flashlight/lamp{ - pixel_x = -6; - pixel_y = 4 - }, -/obj/item/paper_bin{ - pixel_x = 8; - pixel_y = 2 - }, -/obj/item/pen/red{ - pixel_x = 6 +/obj/effect/turf_decal/siding/red{ + dir = 4 }, -/obj/structure/table/reinforced{ - color = "#8A9397" +/obj/effect/turf_decal/siding/red{ + dir = 8 }, -/turf/open/floor/mineral/plastitanium/red/brig, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel/tech, /area/ship/security) "bX" = ( -/obj/machinery/telecomms/bus/preset_four{ - autolinkers = list("hub","processor4","bus"); - network = "nt_commnet"; - id = "Nanotrasen Communications Bus"; - freq_listening = list(1353,1447,1459) - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 +/obj/machinery/camera/autoname{ + dir = 6 }, -/turf/open/floor/circuit, -/area/ship/engineering/communications) +/turf/open/floor/engine/hull, +/area/ship/external/dark) "ci" = ( /obj/effect/turf_decal/industrial/outline/orange, -/obj/machinery/portable_atmospherics/pump, +/obj/structure/platform/industrial_alt{ + dir = 8 + }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "cj" = ( -/obj/structure/closet/cabinet, -/obj/item/clothing/under/rank/medical/paramedic/skirt/lp, -/obj/item/clothing/under/rank/medical/paramedic/lp, -/obj/item/clothing/suit/hooded/wintercoat/medical, -/obj/item/clothing/head/beret/med, -/obj/item/storage/backpack/satchel/med, -/obj/item/storage/backpack/messenger/med, -/obj/item/storage/backpack/medic, -/obj/item/storage/backpack/duffelbag/med, -/obj/structure/window/reinforced/tinted{ - dir = 1 +/obj/item/radio/intercom/directional/west, +/obj/machinery/camera/autoname{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, -/obj/item/storage/backpack/ert/medical, /turf/open/floor/wood, -/area/ship/medical) +/area/ship/crew/specialized/medical) "cv" = ( /obj/structure/chair/comfy/shuttle{ dir = 4; @@ -361,20 +336,16 @@ pixel_y = 10 }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "cI" = ( -/obj/structure/chair/handrail{ - dir = 8; - pixel_x = 2 - }, -/obj/machinery/light/dim/directional/north, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/machinery/blackbox_recorder, /obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint{ - color = "#a8b2b6" + dir = 1 }, -/area/ship/hallway/central) +/turf/open/floor/circuit/telecomms, +/area/ship/science/ai_chamber) "cN" = ( /obj/structure/cable{ icon_state = "4-8" @@ -405,14 +376,16 @@ /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "cW" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/corner/opaque/lightgrey{ - dir = 10 +/obj/docking_port/mobile{ + dir = 2; + preferred_direction = 4; + port_direction = 8 }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/cryo) +/obj/machinery/camera/autoname, +/obj/machinery/light/floor, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/engine/hull, +/area/ship/external/dark) "dd" = ( /obj/machinery/light/dim/directional/north, /obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ @@ -422,64 +395,31 @@ /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "df" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 +/obj/structure/table/reinforced{ + color = "#8A9397" }, -/obj/machinery/firealarm/directional/south, -/obj/structure/table/wood, -/obj/item/toy/plush/moth/deadhead{ - pixel_x = -7; - layer = 4.3 +/turf/open/floor/mineral/plastitanium/red/brig, +/area/ship/security) +"dl" = ( +/obj/structure/bed, +/obj/item/bedsheet/qm, +/obj/structure/curtain/bounty, +/obj/machinery/light/small/directional/south, +/obj/machinery/light_switch{ + dir = 4; + pixel_y = 8; + pixel_x = -21 }, -/obj/item/flashlight/lamp/green{ - pixel_x = 5; - pixel_y = 13; - layer = 4.2 +/turf/open/floor/carpet/orange, +/area/ship/crew/specialized/cargo) +"dm" = ( +/obj/machinery/camera/autoname{ + dir = 5 }, -/obj/item/folder/yellow{ - pixel_y = -4; - pixel_x = 4 - }, -/obj/item/pen/survival{ - pixel_x = 5; - pixel_y = -5 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/wood, -/area/ship/engineering) -"dl" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "Ranger_FireFighting_Shut"; - name = "Ready Room" - }, -/turf/open/floor/plasteel/dark, -/area/ship/storage/equip) -"dm" = ( -/obj/machinery/camera/autoname{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ - dir = 10 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ + dir = 10 }, /turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) @@ -493,7 +433,7 @@ /obj/effect/turf_decal/steeldecal/steel_decals7{ dir = 4 }, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel/tech/tcomms, /area/ship/engineering/communications) "dq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -514,13 +454,19 @@ /turf/open/floor/plating, /area/ship/engineering) "dx" = ( -/obj/structure/chair/handrail{ +/obj/machinery/atmospherics/pipe/layer_manifold/visible{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/light/floor, -/turf/open/floor/engine/hull, -/area/ship/external/dark) +/obj/effect/turf_decal/siding/thinplating{ + dir = 1; + color = "#a8b2b6" + }, +/obj/effect/turf_decal/trimline/opaque/vired/arrow_ccw, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/tech/techmaint{ + color = "#a8b2b6" + }, +/area/ship/hallway/central) "dC" = ( /obj/effect/turf_decal/ntspaceworks_small/right, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -535,7 +481,8 @@ dir = 4 }, /obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 4 + dir = 4; + name = "Input to Air" }, /turf/open/floor/plating, /area/ship/hallway/central) @@ -557,13 +504,20 @@ icon_state = "6-8" }, /obj/effect/decal/cleanable/glass, +/obj/machinery/atmospherics/components/binary/pump/layer2{ + dir = 1; + name = "Air to Port" + }, +/obj/machinery/atmospherics/components/binary/pump/layer4{ + name = "Port to Scrubbers Network" + }, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "dN" = ( -/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/effect/turf_decal/trimline/transparent/white/filled/corner{ dir = 1 }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "dP" = ( @@ -577,22 +531,14 @@ /turf/open/floor/plating, /area/ship/engineering) "ec" = ( -/obj/effect/turf_decal/ntspaceworks_small/left, -/obj/structure/cable{ - icon_state = "5-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/camera/autoname{ dir = 4 }, -/obj/effect/turf_decal/spline/fancy/opaque/blue, -/obj/structure/cable{ - icon_state = "2-8" +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 6 }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) +/turf/open/floor/plasteel/lightgrey, +/area/ship/hallway/central) "ef" = ( /obj/docking_port/stationary{ width = 30; @@ -602,19 +548,17 @@ /turf/template_noop, /area/template_noop) "eo" = ( -/obj/machinery/camera/autoname{ - dir = 5 - }, -/obj/structure/railing{ - dir = 4; - layer = 4.1 +/obj/structure/bed, +/obj/item/bedsheet/orange, +/obj/effect/turf_decal/siding/wood{ + dir = 6 }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 }, -/obj/structure/closet/emcloset/wall/directional/west, -/turf/open/floor/plasteel/lightgrey, -/area/ship/hallway/central) +/obj/machinery/firealarm/directional/east, +/turf/open/floor/wood, +/area/ship/crew/specialized/engineering) "er" = ( /obj/structure/cable{ icon_state = "4-8" @@ -631,22 +575,60 @@ /obj/effect/turf_decal/corner/opaque/vired, /turf/open/floor/plasteel/dark, /area/ship/hallway/port) +"ex" = ( +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1; + color = "#a8b2b6" + }, +/obj/effect/turf_decal/trimline/opaque/vired/arrow_ccw, +/obj/machinery/advanced_airlock_controller{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/tech/techmaint{ + color = "#a8b2b6" + }, +/area/ship/hallway/central) +"eD" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 12 + }, +/obj/machinery/photocopier, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/patterned/brushed, +/area/ship/bridge) "eE" = ( -/obj/machinery/computer/cargo{ - dir = 1 +/obj/effect/turf_decal/ntspaceworks_small/left, +/obj/structure/cable{ + icon_state = "5-8" }, -/obj/structure/railing{ - dir = 8 +/obj/effect/turf_decal/spline/fancy/opaque/blue, +/obj/structure/cable{ + icon_state = "2-8" }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) "eN" = ( /obj/effect/turf_decal/industrial/warning, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, +/obj/structure/platform/industrial_alt/corner{ + dir = 1 + }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "eT" = ( /obj/machinery/button/door{ dir = 1; @@ -668,39 +650,27 @@ icon_state = "4-9" }, /obj/effect/turf_decal/trimline/transparent/white/filled/corner, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, /turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "eU" = ( -/obj/effect/turf_decal/trimline/opaque/nsorange/line{ - dir = 5 - }, -/obj/item/stack/tape{ - pixel_y = 10; - pixel_x = 6 - }, -/obj/item/stack/tape{ - pixel_y = 24; - pixel_x = 6; - layer = 3.02 - }, -/obj/item/stack/tape{ - pixel_y = 17; - pixel_x = 7; - layer = 3.01 - }, -/obj/item/hand_labeler{ - pixel_x = -7; - pixel_y = 8 - }, -/obj/item/folder/yellow{ - pixel_x = 6 +/obj/machinery/computer/helm/viewscreen/directional/north, +/obj/machinery/button/door{ + pixel_x = 12; + pixel_y = 4; + dir = 8; + name = "Supply Quarters Windows"; + id = "Ranger_Supply_Specialist_Quarters"; + req_ship_access = 1 }, -/obj/structure/table/reinforced{ - color = "#c1b6a5" +/obj/effect/turf_decal/siding/wood{ + dir = 5 }, -/obj/machinery/computer/helm/viewscreen/directional/east, -/turf/open/floor/plasteel/lightgrey, -/area/ship/cargo) +/obj/structure/table/reinforced, +/turf/open/floor/wood/ebony, +/area/ship/crew/specialized/cargo) "eY" = ( /obj/effect/turf_decal/trimline/transparent/white/filled/warning{ dir = 1 @@ -711,38 +681,41 @@ /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "fd" = ( -/obj/structure/cable{ - icon_state = "6-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4, +/turf/open/floor/engine/hull, +/area/ship/external/dark) "ff" = ( -/obj/structure/railing{ - dir = 1 - }, /obj/effect/turf_decal/techfloor/hole/right, /obj/effect/turf_decal/spline/fancy/opaque/blue/corner{ dir = 8 }, /obj/structure/closet/crate/bin, +/obj/structure/platform/industrial{ + dir = 1 + }, +/obj/structure/platform/industrial{ + dir = 8 + }, +/obj/structure/platform/industrial/corner{ + dir = 9 + }, /turf/open/floor/plasteel/dark, /area/ship/bridge) "fo" = ( -/obj/structure/girder/reinforced, -/obj/machinery/camera/autoname{ - dir = 10 +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 1 }, -/turf/open/floor/engine/hull, -/area/ship/external/dark) +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/platform/military/corner{ + dir = 4 + }, +/turf/open/floor/plasteel/telecomms_floor/tatmos, +/area/ship/engineering/communications) "fy" = ( /obj/item/newspaper, /obj/structure/table/reinforced{ @@ -754,29 +727,33 @@ /turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "fz" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/nsorange/line{ - dir = 10 +/obj/effect/turf_decal/siding{ + color = "#474747" }, -/obj/machinery/door/poddoor/shutters{ - dir = 8; - name = "Cargo Bay"; - id = "Ranger_Cargo_Door" +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/corner{ + dir = 1 }, -/turf/open/floor/plasteel/lightgrey, +/turf/open/floor/plasteel/white, /area/ship/cargo) "fU" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/machinery/suit_storage_unit/inherit{ + name = "Emergency EVA Suit" + }, +/obj/item/clothing/suit/space/fragile, +/obj/item/clothing/head/helmet/space/fragile, +/obj/item/clothing/mask/breath, +/obj/item/tank/internals/emergency_oxygen, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor, +/obj/machinery/door/window/brigdoor/northright{ + req_access_txt = "1"; + name = "Secure Lockup"; + req_ship_access = 1 }, -/obj/effect/turf_decal/techfloor/hole/right, /turf/open/floor/plasteel/tech, -/area/ship/engineering/communications) +/area/ship/engineering/engines/starboard) "fV" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/security) @@ -788,54 +765,43 @@ /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/crew/toilet) "gh" = ( -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/techfloor{ - dir = 4 +/obj/effect/turf_decal/siding/blue{ + dir = 9 }, -/obj/structure/table/reinforced{ - color = "#8A9397" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 }, -/obj/item/wrench, -/obj/item/screwdriver, -/obj/item/stack/cable_coil/cyan, -/obj/item/stack/sheet/rglass{ - amount = 25 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 }, -/obj/item/aicard, -/turf/open/floor/circuit, -/area/ship/engineering/communications) -"gi" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 +/obj/structure/cable{ + icon_state = "4-8" }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"gi" = ( /obj/effect/turf_decal/siding/red{ - dir = 1 + dir = 9 }, -/obj/effect/decal/cleanable/confetti, +/obj/structure/closet/crate/bin, +/obj/machinery/camera/autoname{ + dir = 4 + }, +/obj/machinery/firealarm/directional/west, /turf/open/floor/plasteel/tech, /area/ship/security) "gk" = ( /obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/poddoor/preopen{ - dir = 4; - name = "Intelligence Core"; - id = "AiCore" + icon_state = "2-4" }, -/obj/effect/turf_decal/techfloor{ - dir = 8 +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 6 }, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ dir = 4 }, -/obj/machinery/door/airlock/engineering/glass{ - dir = 4; - name = "Intelligence Core"; - req_access_txt = "10" - }, -/turf/open/floor/plasteel/tech, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/telecomms_floor/tatmos, +/area/ship/science/ai_chamber) "gr" = ( /obj/structure/cable{ icon_state = "1-2" @@ -857,14 +823,12 @@ }, /area/ship/crew/cryo) "gz" = ( -/obj/machinery/camera/autoname{ - dir = 9 - }, /obj/effect/turf_decal/industrial/outline/blue, /obj/structure/closet/crate/trashcart, /obj/item/storage/bag/trash, +/obj/machinery/airalarm/directional/north, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "gD" = ( /obj/structure/cable/cyan{ icon_state = "4-10" @@ -880,9 +844,8 @@ pixel_x = -10 }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "gG" = ( -/obj/effect/turf_decal/corner/opaque/blue/diagonal, /obj/structure/cable{ icon_state = "1-2" }, @@ -895,12 +858,18 @@ /obj/machinery/door/airlock/medical{ name = "Medical Bay" }, -/turf/open/floor/plasteel/white, +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/obj/effect/turf_decal/siding/blue, +/turf/open/floor/pod/light, /area/ship/medical) "gL" = ( -/obj/structure/crate_shelf, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) +/obj/machinery/camera/autoname{ + dir = 9 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) "gN" = ( /obj/machinery/light/dim/directional/north, /obj/machinery/power/terminal, @@ -925,6 +894,9 @@ /obj/effect/turf_decal/siding/blue{ dir = 6 }, +/obj/structure/cable{ + icon_state = "2-9" + }, /turf/open/floor/plasteel/white, /area/ship/medical) "gW" = ( @@ -950,34 +922,38 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/firedoor/window, /turf/open/floor/plating, /area/ship/security) "hk" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, /obj/structure/cable{ icon_state = "1-10" }, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/line{ + dir = 4 + }, /turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "hl" = ( /obj/structure/cable/cyan{ icon_state = "4-9" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, /obj/effect/decal/cleanable/plasma, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/railing/corner{ + dir = 4 + }, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "hn" = ( /obj/structure/cable{ icon_state = "1-8" @@ -992,9 +968,11 @@ "hp" = ( /obj/effect/turf_decal/industrial/outline/orange, /obj/effect/decal/cleanable/plasma, -/obj/machinery/portable_atmospherics/pump, +/obj/structure/platform/industrial_alt{ + dir = 8 + }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "hx" = ( /obj/structure/closet/cabinet, /obj/item/clothing/under/rank/security/head_of_security/alt/skirt/lp, @@ -1012,18 +990,72 @@ /turf/open/floor/wood, /area/ship/crew/dorm/captain) "hz" = ( -/obj/docking_port/mobile{ - dir = 2; - preferred_direction = 4; - port_direction = 8 +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + id = "Ranger_Engineering_Specialist_Quarters"; + name = "Engineering Specialist's Quarters" }, -/obj/machinery/camera/autoname, -/obj/machinery/light/floor, -/turf/open/floor/engine/hull, -/area/ship/external/dark) +/turf/open/floor/plating, +/area/ship/crew/specialized/engineering) "hF" = ( -/turf/open/floor/plasteel/dark, -/area/ship/bridge) +/obj/machinery/light/dim/directional/north, +/obj/structure/closet/secure_closet/armorycage, +/obj/effect/turf_decal/industrial/fire, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/item/storage/guncase/pistol/commander{ + pixel_x = -7; + pixel_y = 8 + }, +/obj/item/gun/ballistic/automatic/smg/skm_carbine/saber{ + pixel_x = 4; + pixel_y = 9 + }, +/obj/item/storage/guncase/pistol{ + pixel_y = -4; + pixel_x = -7 + }, +/obj/item/melee/knife/survival{ + pixel_x = 7; + pixel_y = -8 + }, +/obj/item/melee/knife/survival{ + pixel_x = 7; + pixel_y = -8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage/equip) +"hG" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/siding{ + color = "#474747"; + dir = 8 + }, +/obj/effect/turf_decal/siding{ + color = "#474747"; + dir = 4 + }, +/turf/open/floor/pod/light, +/area/ship/engineering/engines/starboard) "hJ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -1050,69 +1082,59 @@ /obj/structure/window/reinforced/fulltile/shuttle, /turf/open/floor/plating, /area/ship/engineering) -"hN" = ( -/obj/machinery/camera/autoname{ - dir = 1 - }, -/obj/machinery/light/floor, -/turf/open/floor/engine/hull, -/area/ship/external/dark) "hQ" = ( -/obj/machinery/door/window/survival_pod{ - dir = 4; - opacity = 1; - req_access_txt = "1"; - name = "Security Specialist Quarters"; - req_ship_access = 1 +/obj/effect/turf_decal/siding/wood{ + dir = 5 }, -/turf/open/floor/plasteel/stairs/wood{ - dir = 8 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/area/ship/security) -"hZ" = ( -/obj/machinery/camera/autoname{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 6 +/obj/structure/cable{ + icon_state = "2-4" }, -/turf/open/floor/plasteel/lightgrey, -/area/ship/hallway/central) +/turf/open/floor/wood, +/area/ship/crew/specialized/security) +"hZ" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 19; + pixel_y = -10 + }, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/cell_charger, +/obj/structure/table/reinforced, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) "ib" = ( /obj/structure/cable/cyan{ icon_state = "5-10" }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/effect/decal/cleanable/oil, +/obj/structure/platform/industrial_alt/corner{ + dir = 8 + }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "id" = ( -/obj/machinery/door/airlock/maintenance_hatch{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) "ih" = ( /obj/structure/cable{ icon_state = "4-8" @@ -1129,43 +1151,49 @@ pixel_x = 7; pixel_y = -20 }, +/obj/structure/railing/corner{ + dir = 8 + }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "iq" = ( /obj/effect/turf_decal/industrial/warning{ dir = 1 }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /obj/machinery/firealarm/directional/east, -/obj/effect/spawner/random/trash/decal, /obj/effect/decal/cleanable/plasma, +/obj/structure/platform/industrial_alt/corner{ + dir = 8 + }, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "iv" = ( /turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "ix" = ( -/obj/machinery/camera/autoname, -/obj/effect/turf_decal/siding/blue{ - dir = 5 - }, -/obj/item/storage/firstaid/toxin{ - pixel_x = 4; - pixel_y = -3 +/obj/item/storage/box/syringes{ + pixel_y = 10; + pixel_x = -5 }, -/obj/item/storage/firstaid/o2{ - pixel_x = 1; - pixel_y = 2 +/obj/item/reagent_containers/glass/bottle/mannitol{ + pixel_y = 8; + pixel_x = 8 }, -/obj/item/storage/firstaid/medical{ - pixel_y = 7; - pixel_x = -2 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" +/obj/item/reagent_containers/glass/bottle/morphine{ + pixel_x = 5 }, +/obj/machinery/light/dim/directional/north, /obj/structure/table/reinforced, +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/borderfloor/corner, +/obj/effect/turf_decal/industrial/warning{ + dir = 9 + }, +/obj/effect/turf_decal/siding/thinplating/light{ + dir = 9 + }, /turf/open/floor/plasteel/white, /area/ship/medical) "iC" = ( @@ -1175,7 +1203,7 @@ /obj/effect/decal/cleanable/robot_debris/old, /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "iD" = ( /obj/structure/cable{ icon_state = "4-8" @@ -1203,8 +1231,11 @@ /obj/structure/table/reinforced{ color = "#c1b6a5" }, +/obj/item/stamp/captain{ + pixel_x = 7 + }, /obj/item/folder/blue{ - pixel_x = -1; + pixel_x = 8; pixel_y = 10 }, /obj/effect/turf_decal/techfloor{ @@ -1218,9 +1249,6 @@ pixel_x = -7; pixel_y = -1 }, -/obj/item/stamp/nanotrasen/vigilitas/loss_prevention{ - pixel_x = 7 - }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "iH" = ( @@ -1231,6 +1259,7 @@ name = "Brig Cell Window Shutters" }, /obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/firedoor/window, /turf/open/floor/plating, /area/ship/security) "iI" = ( @@ -1244,8 +1273,16 @@ /obj/effect/turf_decal/corner/opaque/vired/half{ dir = 1 }, +/obj/item/crowbar, /turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) +"iN" = ( +/obj/machinery/light/floor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) "iS" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 9 @@ -1278,7 +1315,7 @@ dir = 4 }, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "jd" = ( /obj/structure/grille, /obj/machinery/door/poddoor/shutters/preopen{ @@ -1286,6 +1323,7 @@ name = "Holding Cell Hall Shutters" }, /obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/firedoor/window, /turf/open/floor/plating, /area/ship/security) "ji" = ( @@ -1312,30 +1350,37 @@ /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "jk" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/siding/blue/corner{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/siding/blue/corner{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"jr" = ( -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/light{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/light{ dir = 8 }, /obj/structure/cable{ - icon_state = "0-2" + icon_state = "4-8" }, -/obj/structure/rack, -/obj/item/storage/toolbox/mechanical, -/obj/item/storage/toolbox/electrical{ - pixel_x = 3; - pixel_y = 7 +/turf/open/floor/plasteel/white, +/area/ship/medical) +"jr" = ( +/obj/item/radio/intercom/directional/south, +/obj/structure/chair/handrail{ + dir = 4 }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/engineering) +/turf/open/floor/engine/hull, +/area/ship/external/dark) "js" = ( /obj/machinery/cryopod, /turf/open/floor/plasteel/telecomms_floor, @@ -1355,22 +1400,43 @@ color = "#efbc43"; pixel_x = 6 }, +/obj/item/paper{ + name = "NT Spaceworks Notice"; + default_raw_text = "Dear engineer, please bring your attention to the advanced control mechanisms present on and around this console. There is an external lighting switch to toggle the vessel's exterior lighting, highlighted in yellow, an aiar alarm connected to this console which controls external atmospherics fittings, and the console itself, which can read external atmosphere from a main sensor affixed to the port-side hull. -NT Spaceworks" + }, /turf/open/floor/plasteel/mono/dark, /area/ship/external/dark) "jv" = ( -/obj/structure/closet/cabinet, -/obj/item/clothing/shoes/jackboots, -/obj/item/clothing/suit/hooded/wintercoat/security, -/obj/item/clothing/gloves/color/black, -/obj/item/clothing/head/beret/sec, -/obj/item/clothing/under/rank/security/head_of_security/nt/lp, -/obj/item/clothing/under/rank/security/head_of_security/nt/skirt/lp, -/obj/item/clothing/suit/armor/vest/security/officer, -/obj/item/clothing/under/rank/security/head_of_security/alt/lp, -/obj/machinery/light/dim/directional/west, -/obj/item/storage/backpack/ert/security, -/turf/open/floor/wood, -/area/ship/security) +/obj/machinery/camera/autoname, +/obj/item/storage/firstaid/toxin{ + pixel_x = 4; + pixel_y = -3 + }, +/obj/item/storage/firstaid/o2{ + pixel_x = 1; + pixel_y = 2 + }, +/obj/item/storage/firstaid/medical{ + pixel_y = 7; + pixel_x = -2 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating/light{ + dir = 5 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) "jA" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/hallway/port) @@ -1419,26 +1485,14 @@ }, /turf/open/floor/plasteel/dark, /area/ship/hallway/port) -"jQ" = ( -/obj/structure/sign/nanotrasen/vigilitas, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/hallway/starboard) "jZ" = ( -/obj/structure/cable{ - icon_state = "6-8" - }, +/obj/effect/turf_decal/siding/blue, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/effect/turf_decal/corner/opaque/vired/three_quarters{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/turf/open/floor/plasteel/tech, -/area/ship/storage/equip) +/turf/open/floor/plasteel/white, +/area/ship/medical) "kh" = ( /obj/machinery/light_switch{ dir = 1; @@ -1457,12 +1511,26 @@ /obj/machinery/computer/cryopod/directional/west, /turf/open/floor/plasteel/dark, /area/ship/crew/cryo) +"ki" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/corner/opaque/vired/half{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-9" + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) "ks" = ( /obj/effect/decal/cleanable/cobweb, -/obj/machinery/portable_atmospherics/scrubber, /obj/machinery/camera/autoname, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ + name = "Air to Port" + }, +/obj/machinery/portable_atmospherics/pump, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "kt" = ( /obj/machinery/light/dim/directional/south, /obj/machinery/airalarm/directional/east, @@ -1491,21 +1559,17 @@ /turf/open/floor/plasteel/patterned/brushed, /area/ship/bridge) "kw" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/spline/fancy/opaque/black{ dir = 4 }, -/obj/structure/grille, -/obj/machinery/door/poddoor/preopen{ - dir = 4; - name = "Intelligence Core"; - id = "AiCore" +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 4 }, -/obj/structure/window/reinforced/fulltile/shuttle, -/turf/open/floor/plating, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/telecomms_floor/tatmos, +/area/ship/science/ai_chamber) +"kF" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/engineering/engines/starboard) "kK" = ( /obj/machinery/light/dim/directional/south, /obj/structure/table/reinforced{ @@ -1527,20 +1591,21 @@ /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "kQ" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile, -/obj/machinery/door/poddoor{ - dir = 4; - id = "Ranger_AI_Core_Ext_Blasts" +/obj/effect/turf_decal/corner/opaque/syndiered/half, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 }, -/obj/machinery/door/firedoor/window, -/turf/open/floor/plating, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/tech, +/area/ship/storage/equip) "kS" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /obj/effect/turf_decal/siding/blue{ dir = 1 }, +/obj/structure/cable{ + icon_state = "6-8" + }, /turf/open/floor/plasteel/white, /area/ship/medical) "lc" = ( @@ -1556,23 +1621,27 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/cryo) "lj" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/button/door{ - dir = 4; - pixel_x = -22; - pixel_y = 8; - id = "Ranger_Cycler_Shutters"; - name = "Air Cycler Shutters" +/obj/structure/fluff/hedge/opaque, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/line{ + dir = 6 }, -/obj/structure/chair/handrail{ +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/window/reinforced/survival_pod, +/obj/structure/window/reinforced/survival_pod{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/vired/half{ - dir = 8 +/obj/structure/window/reinforced/survival_pod{ + dir = 6; + density = 0 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) +/obj/structure/window/reinforced/survival_pod{ + dir = 10; + density = 0 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/specialized/cargo) "lp" = ( /obj/machinery/button/door{ dir = 8; @@ -1582,7 +1651,7 @@ name = "Ready Room"; req_ship_access = 1; req_one_access_txt = "50,10,5,1,20"; - req_one_access = list(50,10,5,1,20) + req_one_access = list(50, 10, 5, 1, 20) }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 @@ -1597,47 +1666,67 @@ /obj/effect/turf_decal/corner/opaque/vired/half, /turf/open/floor/plasteel/dark, /area/ship/hallway/port) -"lv" = ( -/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ - dir = 1 +"lu" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 }, -/obj/effect/turf_decal/siding{ - color = "#474747"; - dir = 1 +/obj/effect/turf_decal/techfloor{ + dir = 4 }, -/turf/open/floor/plasteel/lightgrey, +/obj/structure/grille, +/obj/machinery/door/poddoor/preopen{ + dir = 4; + name = "Intelligence Core"; + id = "AiCore" + }, +/obj/structure/window/reinforced/fulltile/shuttle, +/turf/open/floor/plating, +/area/ship/science/ai_chamber) +"lv" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/corner, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, /area/ship/cargo) "lw" = ( -/obj/effect/turf_decal/trimline/opaque/nsorange/line{ - dir = 9 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/structure/fluff/hedge/opaque, -/obj/structure/railing{ - dir = 8 +/obj/machinery/door/poddoor/preopen{ + dir = 4; + name = "Intelligence Core"; + id = "AiCore" }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 +/obj/machinery/door/airlock/engineering/glass{ + dir = 4; + name = "Intelligence Core"; + req_access_txt = "10" }, -/turf/open/floor/plasteel/lightgrey, -/area/ship/cargo) +/turf/open/floor/plasteel/tech/tcomms, +/area/ship/science/ai_chamber) "lB" = ( /obj/structure/cable{ icon_state = "1-2" }, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning{ - dir = 1 +/obj/effect/turf_decal/trimline/transparent/white/filled/corner{ + dir = 4 }, /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "lD" = ( -/obj/structure/cable{ - icon_state = "1-4" +/obj/machinery/computer/apc_control{ + dir = 4; + icon_state = "computer-left" }, -/turf/open/floor/plasteel/stairs{ - dir = 1; - color = "#a8b2b6" +/obj/effect/turf_decal/techfloor, +/obj/structure/sign/warning/coldtemp{ + pixel_y = -29; + layer = 2.8 }, -/area/ship/bridge) +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) "lL" = ( /obj/structure/cable{ icon_state = "2-9" @@ -1648,12 +1737,12 @@ /turf/open/floor/plasteel/white, /area/ship/medical) "lU" = ( -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -21; - pixel_y = 7 +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/structure/crate_shelf, /turf/open/floor/plasteel/tech, /area/ship/cargo) "lW" = ( @@ -1662,17 +1751,16 @@ /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "lX" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 +/obj/item/toy/plush/spider, +/obj/machinery/camera/autoname{ + dir = 9 }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 +/obj/structure/table/reinforced{ + color = "#8A9397" }, +/obj/item/radio/intercom/directional/east, /turf/open/floor/plasteel/tech, -/area/ship/engineering) +/area/ship/security) "mh" = ( /obj/structure/cable{ icon_state = "1-2" @@ -1710,11 +1798,17 @@ /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "mv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1; + color = "#a8b2b6" }, -/turf/open/floor/wood, -/area/ship/crew/dorm/captain) +/obj/machinery/shower{ + dir = 1 + }, +/obj/structure/chair/handrail, +/turf/open/floor/noslip, +/area/ship/crew/toilet) "mw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -1732,35 +1826,28 @@ /turf/open/floor/plasteel/tech, /area/ship/security) "mJ" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -21; - pixel_y = -8 - }, -/obj/machinery/camera/autoname{ - dir = 4 +/obj/structure/table/reinforced, +/obj/machinery/firealarm/directional/north{ + pixel_x = -4 }, -/obj/effect/turf_decal/industrial/fire{ +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/borderfloor, +/obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/structure/closet/crate/secure/gear{ - name = "Ammunition Crate" - }, -/obj/structure/chair/handrail{ - dir = 4 +/obj/effect/turf_decal/siding/thinplating/light{ + dir = 1 }, -/obj/item/storage/box/ammo/c9mm, -/obj/item/storage/box/ammo/c9mm, -/obj/item/storage/box/ammo/c9mm_rubber, -/obj/item/storage/box/ammo/c9mm, -/obj/item/storage/box/ammo/c9mm, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 10 +/turf/open/floor/plasteel/white, +/area/ship/medical) +"mK" = ( +/obj/machinery/camera/autoname{ + dir = 9 }, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/plasteel/lightgrey, -/area/ship/storage/equip) +/obj/effect/turf_decal/industrial/outline/blue, +/obj/machinery/space_heater, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/starboard) "mQ" = ( /obj/structure/cable{ icon_state = "2-4" @@ -1774,6 +1861,50 @@ }, /turf/open/floor/plasteel/dark, /area/ship/crew/cryo) +"na" = ( +/obj/machinery/firealarm/directional/east, +/obj/machinery/recharger{ + dir = 4; + pixel_x = -8 + }, +/obj/machinery/cell_charger{ + dir = 4; + pixel_x = 5 + }, +/obj/structure/table/reinforced, +/obj/item/stack/marker_beacon/thirty{ + icon_state = "markerrandom"; + pixel_x = -9; + pixel_y = 13; + amount = 100 + }, +/obj/item/stack/marker_beacon/thirty{ + icon_state = "markerrandom"; + pixel_x = 11; + pixel_y = 13; + amount = 100 + }, +/obj/item/stack/marker_beacon/thirty{ + icon_state = "markerrandom"; + pixel_x = 5; + pixel_y = 13; + amount = 100 + }, +/obj/item/stack/marker_beacon/thirty{ + icon_state = "markerrandom"; + pixel_x = -2; + pixel_y = 13; + amount = 100 + }, +/obj/item/stock_parts/cell/gun, +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/storage/equip) "nh" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 @@ -1806,6 +1937,7 @@ "nA" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/holopad, /turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "nE" = ( @@ -1815,7 +1947,8 @@ name = "Access Blast Doors"; id = "Ranger_AI_Core_Blasts"; pixel_y = 22; - req_access_txt = "10" + req_access_txt = "10"; + req_ship_access = 1 }, /obj/machinery/button/shieldwallgen{ dir = 2; @@ -1830,7 +1963,7 @@ dir = 4 }, /obj/machinery/recharge_station, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel/tech/tcomms, /area/ship/engineering/communications) "nJ" = ( /obj/structure/cable/cyan{ @@ -1840,7 +1973,7 @@ dir = 8 }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "ob" = ( /obj/structure/cable/cyan{ icon_state = "0-4" @@ -1850,7 +1983,7 @@ }, /obj/machinery/light/dim/directional/south, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "of" = ( /obj/structure/cable{ icon_state = "1-4" @@ -1875,15 +2008,12 @@ /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "oi" = ( -/obj/effect/turf_decal/siding/blue{ +/obj/effect/turf_decal/siding/wood{ dir = 8 }, -/obj/structure/chair/office{ - dir = 4; - name = "tactical swivel chair" - }, -/turf/open/floor/plasteel/white, -/area/ship/medical) +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/wood, +/area/ship/crew/dorm/captain) "ok" = ( /obj/machinery/door/airlock/external{ dir = 4 @@ -1914,26 +2044,20 @@ icon_state = "5-8" }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "or" = ( -/obj/item/bodypart/leg/right/robot, -/obj/item/bodypart/r_arm/robot, -/obj/item/bodypart/leg/left/robot, -/obj/item/bodypart/l_arm/robot, -/obj/item/bodypart/chest/robot, -/obj/item/bodypart/head/robot, -/obj/item/borg/upgrade/ai, -/obj/item/robot_suit, -/obj/structure/closet/crate/engineering{ - name = "Robotics Crate" +/obj/effect/turf_decal/siding/red, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 }, -/obj/item/stock_parts/cell/high, -/obj/item/assembly/flash/handheld, -/obj/item/assembly/flash/handheld, -/obj/item/borg/upgrade/restart, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plating, -/area/ship/engineering) +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/security) "ox" = ( /obj/structure/chair/sofa/brown/corner/directional/south, /obj/machinery/light/dim/directional/east, @@ -1965,14 +2089,43 @@ name = "Engine Shutters" }, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "oQ" = ( -/obj/item/radio/intercom/directional/west, -/obj/machinery/camera/autoname{ - dir = 4 +/obj/item/storage/box/gloves, +/obj/item/storage/box/masks, +/obj/item/storage/belt/medical, +/obj/item/flashlight/seclite, +/obj/item/roller, +/obj/item/holosign_creator/medical, +/obj/item/pinpointer/crew, +/obj/item/storage/box/bodybags, +/obj/item/storage/firstaid/regular, +/obj/item/defibrillator/loaded, +/obj/item/roller{ + pixel_x = -3; + pixel_y = 7 }, -/turf/open/floor/wood, -/area/ship/medical) +/obj/item/roller{ + pixel_x = 5; + pixel_y = 12 + }, +/obj/item/clothing/neck/stethoscope, +/obj/item/gps, +/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/glasses/hud/health/prescription, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/closet/secure_closet/lp/medical, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/item/melee/knife/survival, +/obj/machinery/airalarm/directional/south, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/crew/specialized/medical) "pa" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -1994,26 +2147,34 @@ icon_state = "4-8" }, /obj/effect/turf_decal/corner/opaque/vired/half, +/obj/item/crowbar, /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "pi" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/corner/opaque/vired/three_quarters{ - dir = 8 +/obj/machinery/camera/autoname{ + dir = 9 }, -/obj/structure/table/rolling, -/obj/item/chair/plastic, -/obj/item/chair/plastic{ - pixel_y = 4 +/obj/machinery/button/door{ + dir = 8; + pixel_x = 26; + id = "AiCore"; + name = "Core Access"; + req_access_txt = "20"; + pixel_y = 8; + req_ship_access = 1 }, -/obj/item/chair/plastic{ - pixel_y = 6 +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 5 }, -/obj/item/chair/plastic{ - pixel_y = 10 +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ + dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/starboard) +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 25 + }, +/turf/open/floor/plasteel/telecomms_floor/tatmos, +/area/ship/science/ai_chamber) "pn" = ( /obj/structure/chair/wood, /obj/item/toy/figure/assistant{ @@ -2056,86 +2217,68 @@ /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) "ps" = ( -/obj/machinery/light/dim/directional/north, -/obj/item/clothing/gloves/color/yellow{ - pixel_y = -9 +/obj/structure/cable{ + icon_state = "0-2" }, -/obj/item/crowbar/power{ - pixel_y = 3 +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 5 }, -/obj/item/clothing/shoes/magboots{ - pixel_x = -6; - pixel_y = -8 +/obj/item/storage/toolbox/electrical{ + pixel_x = 3; + pixel_y = 7 }, -/obj/item/holosign_creator/engineering{ - pixel_y = 6; - pixel_x = -5 +/obj/item/gear_pack/anglegrinder{ + pixel_x = -10; + pixel_y = 5 }, -/obj/item/holosign_creator/atmos{ - pixel_y = 6; - pixel_x = 6 +/obj/item/inducer{ + pixel_y = -10 }, -/obj/item/flashlight/seclite{ - pixel_x = 2; - pixel_y = 15 +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 }, -/obj/item/gps{ - pixel_y = 9; - pixel_x = -12 - }, -/obj/item/melee/knife/survival{ - pixel_y = 6; - pixel_x = 5 - }, -/obj/item/clothing/head/welding{ - pixel_y = -9 - }, -/obj/item/clothing/glasses/meson/engine, -/obj/item/clothing/glasses/hud/diagnostic, -/obj/item/pipe_dispenser, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/closet/secure_closet/lp/engineer, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 19; - pixel_y = -10 - }, -/obj/item/radio/headset/alt, -/obj/item/gear_pack/anglegrinder, +/obj/item/stock_parts/cell/super, /turf/open/floor/plasteel/mono/dark, /area/ship/engineering) "pA" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/stairs{ - dir = 1; - color = "#a8b2b6" - }, -/area/ship/bridge) +/obj/machinery/vending/snack, +/turf/open/floor/plasteel/lightgrey, +/area/ship/hallway/central) "pD" = ( -/obj/structure/closet/crate/secure/loot, +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ + dir = 1 + }, +/obj/structure/crate_shelf, +/obj/item/radio/intercom/directional/east, /turf/open/floor/plasteel/tech, /area/ship/cargo) -"pL" = ( -/obj/structure/chair/comfy/blue/directional/east, -/obj/item/toy/plush/moth/royal{ - layer = 3.05; - pixel_x = -6; - pixel_y = 11 +"pG" = ( +/obj/structure/cable{ + icon_state = "1-4" }, -/obj/item/radio/intercom/wideband/directional/south, -/obj/effect/turf_decal/techfloor{ - dir = 4 +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/borderfloor/corner{ + dir = 1 }, -/obj/item/toy/plush/moth/lovers{ - layer = 3.05; - pixel_x = 4 +/obj/effect/turf_decal/industrial/warning{ + dir = 6 }, -/turf/open/floor/circuit, -/area/ship/engineering/communications) +/obj/effect/turf_decal/siding/thinplating/light{ + dir = 6 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"pL" = ( +/obj/machinery/camera/autoname{ + dir = 1 + }, +/obj/machinery/air_sensor/external, +/obj/item/radio/intercom/directional/south, +/obj/machinery/light/floor, +/turf/open/floor/engine/hull, +/area/ship/external/dark) "pU" = ( /obj/machinery/camera/autoname{ dir = 1 @@ -2147,19 +2290,54 @@ /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "qb" = ( -/obj/item/radio/intercom/directional/south, /obj/effect/turf_decal/industrial/outline/blue, /obj/structure/reagent_dispensers/foamtank, -/obj/item/extinguisher/advanced, +/obj/machinery/airalarm/directional/south, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "qe" = ( -/obj/structure/girder/reinforced, -/obj/machinery/camera/autoname{ - dir = 6 +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 }, -/turf/open/floor/engine/hull, -/area/ship/external/dark) +/obj/structure/table/wood, +/obj/item/toy/plush/moth/deadhead{ + pixel_x = -7; + layer = 4.3 + }, +/obj/item/folder/yellow{ + pixel_y = -4; + pixel_x = 4 + }, +/obj/item/pen/survival{ + pixel_x = 5; + pixel_y = -5 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/machinery/button/door{ + pixel_x = 22; + pixel_y = -2; + dir = 8; + name = "Engineering Quarters Windows"; + id = "Ranger_Engineering_Specialist_Quarters"; + req_ship_access = 1 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/light_switch{ + pixel_x = -12; + pixel_y = 21 + }, +/obj/item/flashlight/lamp/green{ + pixel_x = 12; + pixel_y = 13; + layer = 4.2 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/wood, +/area/ship/crew/specialized/engineering) "qn" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -2174,13 +2352,26 @@ }, /obj/machinery/power/shuttle/engine/electric/premium, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) +"qJ" = ( +/obj/structure/sign/nanotrasen{ + pixel_x = 32 + }, +/obj/effect/turf_decal/techfloor, +/obj/structure/table/reinforced{ + color = "#8A9397" + }, +/turf/open/floor/circuit/telecomms, +/area/ship/science/ai_chamber) "qQ" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible/layer3{ dir = 8 }, +/obj/structure/platform/industrial_alt{ + dir = 4 + }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "qR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -2188,7 +2379,6 @@ dir = 1 }, /obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/corner/opaque/red/full, /obj/machinery/door/airlock/security{ name = "Security Specialist's Office"; req_access_txt = "1" @@ -2196,7 +2386,11 @@ /obj/structure/cable{ icon_state = "1-2" }, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/siding/red{ + dir = 1 + }, +/obj/effect/turf_decal/siding/red, +/turf/open/floor/pod/light, /area/ship/security) "qS" = ( /obj/structure/railing{ @@ -2205,24 +2399,48 @@ /obj/effect/decal/cleanable/oil/streak, /obj/machinery/light/dim/directional/north, /obj/machinery/portable_atmospherics/scrubber, +/obj/machinery/atmospherics/components/unary/portables_connector/visible/layer4{ + name = "Port to Scrubbers Network" + }, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "qZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/corner/opaque/vired/half{ - dir = 1 +/obj/machinery/door/firedoor/border_only{ + dir = 8 }, -/obj/machinery/holopad, -/turf/open/floor/plasteel/tech, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/red{ + dir = 8 + }, +/obj/effect/turf_decal/siding{ + dir = 4; + color = "#730622" + }, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "Ranger_FireFighting_Shut"; + name = "Ready Room" + }, +/turf/open/floor/pod/light, /area/ship/storage/equip) "rg" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/industrial/fire{ +/obj/effect/turf_decal/siding/red{ dir = 1 }, -/obj/effect/turf_decal/siding/thinplating/dark, -/turf/open/floor/plasteel/lightgrey, -/area/ship/storage/equip) +/obj/effect/decal/cleanable/confetti, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/security) "rq" = ( /obj/structure/cable{ icon_state = "1-2" @@ -2277,17 +2495,15 @@ /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "rM" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/trimline/opaque/vired/arrow_cw{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/vired/filled/line{ - dir = 8 +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "Ranger_Supply_Specialist_Quarters"; + name = "Supply Specialist's Quarters" }, -/turf/open/floor/plasteel/tech/techmaint, -/area/ship/hallway/starboard) +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/crew/specialized/cargo) "rT" = ( /obj/machinery/light_switch{ dir = 1; @@ -2316,18 +2532,16 @@ icon_state = "0-8" }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "rX" = ( -/obj/structure/railing{ - dir = 5; - layer = 4.1 +/obj/effect/turf_decal/spline/fancy/opaque/orange{ + dir = 6 }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 5 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 }, -/obj/structure/closet/firecloset/wall/directional/west, -/turf/open/floor/plasteel/lightgrey, -/area/ship/hallway/central) +/turf/open/floor/plasteel/tech, +/area/ship/engineering) "rZ" = ( /obj/effect/turf_decal/atmos/air, /obj/machinery/atmospherics/components/unary/outlet_injector/on{ @@ -2354,24 +2568,30 @@ pixel_y = 21; id = "BridgeAtrium"; name = "Atrium Shutters"; - pixel_x = 9 + pixel_x = 9; + req_ship_access = 1 }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "sl" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 +/obj/machinery/telecomms/processor/preset_four{ + autolinkers = list("processor4","bus"); + network = "nt_commnet"; + id = "Nanotrasen Communications Processor"; + layer = 3.09 }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 9 +/obj/effect/turf_decal/techfloor{ + dir = 4 }, -/turf/open/floor/plasteel/telecomms_floor, +/obj/structure/platform/military{ + dir = 1 + }, +/turf/open/floor/circuit/telecomms, /area/ship/engineering/communications) "sm" = ( /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/airalarm/directional/north, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, @@ -2380,12 +2600,15 @@ }, /obj/effect/decal/cleanable/plasma, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "sp" = ( /obj/machinery/camera/autoname, /obj/machinery/light/floor, /turf/open/floor/engine/hull, /area/ship/external/dark) +"su" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/specialized/medical) "sw" = ( /obj/structure/cable{ icon_state = "6-8" @@ -2399,68 +2622,60 @@ /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "sF" = ( -/obj/item/storage/box/syringes{ - pixel_y = 10; - pixel_x = -5 +/obj/effect/turf_decal/techfloor{ + dir = 8 }, -/obj/effect/turf_decal/siding/blue{ - dir = 9 +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/obj/machinery/suit_storage_unit/inherit{ + name = "Emergency EVA Suit" }, -/obj/item/reagent_containers/glass/bottle/mannitol{ - pixel_y = 8; - pixel_x = 8 +/obj/item/clothing/head/helmet/space/fragile, +/obj/item/clothing/suit/space/fragile, +/obj/item/radio/intercom/directional/west, +/obj/machinery/camera/autoname{ + dir = 10 }, -/obj/item/reagent_containers/glass/bottle/morphine{ - pixel_x = 5 +/turf/open/floor/plasteel/tech/techmaint{ + color = "#a8b2b6" }, -/obj/machinery/light/dim/directional/north, -/obj/structure/table/reinforced, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/white, -/area/ship/medical) +/area/ship/hallway/central) "sJ" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/hallway/central) "sR" = ( -/obj/machinery/light/dim/directional/south, -/obj/effect/turf_decal/siding/red/end, -/obj/machinery/computer/security/telescreen{ - dir = 1; - pixel_y = -32; - network = list("ss13") +/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, +/obj/effect/turf_decal/spline/fancy/opaque/black{ + dir = 10 }, -/obj/machinery/airalarm/directional/west, -/obj/effect/decal/cleanable/confetti, -/turf/open/floor/plasteel/tech, -/area/ship/security) -"sU" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 9 +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/effect/turf_decal/siding/thinplating/light{ - dir = 9 +/turf/open/floor/plasteel/telecomms_floor/tatmos, +/area/ship/engineering/communications) +"sU" = ( +/obj/machinery/button/door{ + dir = 4; + pixel_x = -22; + pixel_y = 8; + id = "Ranger_Cycler_Shutters"; + name = "Air Cycler Shutters"; + req_ship_access = 1 }, -/obj/effect/turf_decal/borderfloorwhite/corner, -/obj/structure/sink{ - dir = 8; - pixel_x = 12; - pixel_y = 4 +/obj/structure/chair/handrail{ + dir = 4 }, -/obj/machinery/button/door{ - pixel_x = 26; - dir = 8; - name = "Medical Shutters"; - id = "MedShutters"; - req_ship_access = 1; - req_access_txt = "5" +/obj/effect/turf_decal/corner/opaque/vired/half{ + dir = 8 }, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 25; - pixel_y = -9 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 }, -/turf/open/floor/plasteel/white, -/area/ship/medical) +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) "tb" = ( /obj/structure/table/wood, /obj/machinery/light/dim/directional/north, @@ -2497,12 +2712,12 @@ }, /obj/machinery/power/shuttle/engine/electric/premium, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "tj" = ( /obj/machinery/door/airlock/command{ dir = 4; name = "Bridge"; - req_one_access_txt = list(50,10,5,1,20) + req_one_access_txt = list(50, 10, 5, 1, 20) }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -2519,26 +2734,34 @@ /obj/machinery/door/firedoor/border_only{ dir = 8 }, -/turf/open/floor/plasteel/dark, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/open/floor/pod/light, /area/ship/bridge) "tk" = ( -/obj/machinery/light/dim/directional/east, -/obj/effect/turf_decal/spline/fancy/opaque/orange{ - dir = 6 - }, +/obj/effect/turf_decal/spline/fancy/opaque/orange, /turf/open/floor/plasteel/tech, /area/ship/engineering) "tq" = ( -/obj/structure/bed, -/obj/item/bedsheet/medical, -/turf/open/floor/wood, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/siding/blue{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/white, /area/ship/medical) "tr" = ( /obj/machinery/power/shuttle/engine/fueled/plasma{ dir = 4 }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "tK" = ( /obj/structure/railing{ dir = 4 @@ -2553,23 +2776,16 @@ /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "tQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, /obj/effect/turf_decal/siding/red{ dir = 1 }, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/effect/turf_decal/siding/red{ - dir = 5 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 }, -/obj/machinery/light_switch{ - pixel_x = 20; - pixel_y = 11; - dir = 8 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 }, +/obj/machinery/holopad, /turf/open/floor/plasteel/tech, /area/ship/security) "tR" = ( @@ -2586,7 +2802,7 @@ "tT" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, /obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/plasteel/telecomms_floor, +/turf/open/floor/plasteel/telecomms_floor/tatmos, /area/ship/engineering/communications) "tZ" = ( /obj/machinery/button/door{ @@ -2598,75 +2814,97 @@ pixel_y = 5 }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "uk" = ( -/obj/item/clothing/mask/breath, -/obj/item/tank/internals/emergency_oxygen, -/obj/effect/turf_decal/siding/yellow{ - dir = 5 +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/structure/railing{ - dir = 4; - layer = 4.1 +/obj/machinery/light/dim/directional/west{ + pixel_x = -27 }, -/obj/machinery/suit_storage_unit/inherit{ - name = "Emergency EVA Suit" +/obj/effect/turf_decal/techfloor{ + dir = 8 }, -/obj/item/clothing/suit/space/fragile, -/obj/item/clothing/head/helmet/space/fragile, /turf/open/floor/plasteel/tech, /area/ship/hallway/starboard) "up" = ( -/obj/machinery/airalarm/directional/north, -/obj/structure/cable{ - icon_state = "2-4" +/obj/structure/table/reinforced, +/obj/item/screwdriver{ + pixel_x = -7; + pixel_y = 7 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/item/screwdriver{ + pixel_x = -7 }, -/obj/machinery/holopad, -/obj/effect/turf_decal/spline/fancy/opaque/orange{ - dir = 1 +/obj/item/hand_labeler{ + pixel_x = 8; + pixel_y = 13 }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 +/obj/item/radio/intercom/directional/east, +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 }, /turf/open/floor/plasteel/tech, -/area/ship/engineering) +/area/ship/storage/equip) "us" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ - dir = 4 +/obj/machinery/light/dim/directional/north, +/obj/item/clothing/gloves/color/yellow{ + pixel_y = -9 }, -/obj/machinery/camera/autoname{ - dir = 10 +/obj/item/crowbar/power{ + pixel_y = 3 }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 +/obj/item/clothing/shoes/magboots{ + pixel_x = -6; + pixel_y = -8 }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 1; - color = "#a8b2b6" +/obj/item/holosign_creator/engineering{ + pixel_y = 6; + pixel_x = -5 }, -/obj/effect/turf_decal/trimline/opaque/vired/arrow_ccw, -/turf/open/floor/plasteel/tech/techmaint{ - color = "#a8b2b6" +/obj/item/holosign_creator/atmos{ + pixel_y = 6; + pixel_x = 6 }, -/area/ship/hallway/central) -"ux" = ( -/obj/machinery/light/dim/directional/south, -/obj/machinery/telecomms/relay{ - freq_listening = list(1353,1447,1459); - id = "Nanotrasen Relay"; - name = "Nanotrasen relay"; - network = "nt_commnet" +/obj/item/flashlight/seclite{ + pixel_x = 2; + pixel_y = 15 + }, +/obj/item/gps{ + pixel_y = 9; + pixel_x = -12 + }, +/obj/item/melee/knife/survival{ + pixel_y = 6; + pixel_x = 5 + }, +/obj/item/clothing/head/welding{ + pixel_y = -9 }, +/obj/item/clothing/glasses/meson/engine, +/obj/item/clothing/glasses/hud/diagnostic, +/obj/item/pipe_dispenser, +/obj/structure/closet/secure_closet/lp/engineer, +/obj/item/clothing/glasses/meson/prescription, +/obj/effect/turf_decal/techfloor, /obj/effect/turf_decal/techfloor{ dir = 1 }, -/obj/machinery/camera/autoname{ - dir = 10 +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"ux" = ( +/obj/machinery/telecomms/hub{ + network = "nt_commnet"; + id = "Nanotrasen Communications Hub"; + autolinkers = list("hub","bus","relay","messaging","nanotrasen","broadcasterB","receiverB") + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 }, -/turf/open/floor/circuit, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/turf/open/floor/circuit/telecomms, /area/ship/engineering/communications) "uE" = ( /obj/structure/cable{ @@ -2696,16 +2934,46 @@ /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "uW" = ( +/obj/effect/turf_decal/siding/blue{ + dir = 10 + }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 5 }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 + dir = 5 }, -/obj/effect/turf_decal/siding/blue, -/obj/machinery/holopad, /turf/open/floor/plasteel/white, /area/ship/medical) +"vc" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/turf_decal/corner/opaque/vired/three_quarters{ + dir = 8 + }, +/obj/structure/table/rolling, +/obj/item/chair/plastic, +/obj/item/chair/plastic{ + pixel_y = 4 + }, +/obj/item/chair/plastic{ + pixel_y = 6 + }, +/obj/item/chair/plastic{ + pixel_y = 10 + }, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/starboard) +"vg" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/lightgrey{ + dir = 10 + }, +/obj/machinery/holopad, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) "vh" = ( /obj/effect/turf_decal/corner/opaque/blue/diagonal, /obj/machinery/door/window{ @@ -2718,16 +2986,16 @@ /turf/open/floor/plasteel/white, /area/ship/medical) "vj" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/structure/cable{ - icon_state = "2-9" + icon_state = "0-8" }, -/obj/effect/turf_decal/corner/opaque/vired/half{ +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) +/turf/open/floor/wood, +/area/ship/crew/dorm/captain) "vk" = ( /obj/structure/sink{ dir = 8; @@ -2762,15 +3030,12 @@ /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/medical) "vo" = ( -/obj/structure/crate_shelf, -/obj/structure/sign/nanotrasen/ns{ - pixel_x = 32 - }, -/obj/machinery/camera/autoname{ - dir = 10 +/obj/structure/chair/handrail, +/obj/structure/sign/nanotrasen/vigilitas{ + pixel_y = 32 }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) +/turf/open/floor/engine/hull, +/area/ship/external/dark) "vp" = ( /obj/effect/turf_decal/steeldecal/steel_decals10{ dir = 5 @@ -2795,58 +3060,77 @@ /obj/structure/cable, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/structure/reagent_dispensers/fueltank, -/obj/structure/railing{ - dir = 1 - }, /obj/effect/decal/cleanable/oil, +/obj/structure/platform/industrial_alt{ + dir = 1; + layer = 2.89 + }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "vz" = ( -/obj/structure/closet/crate/hydroponics{ - name = "Sustenance Crate" +/obj/structure/crate_shelf, +/obj/machinery/airalarm/directional/east, +/obj/machinery/camera/autoname{ + dir = 1 }, -/obj/item/reagent_containers/food/drinks/waterbottle/large, -/obj/item/reagent_containers/food/drinks/waterbottle/large, -/obj/item/reagent_containers/food/drinks/waterbottle/large, -/obj/item/reagent_containers/food/drinks/waterbottle/large, -/obj/item/reagent_containers/food/drinks/waterbottle/large, -/obj/item/storage/ration/assorted_salted_offal, -/obj/item/storage/ration/battered_fish_sticks, -/obj/item/storage/ration/beef_goulash, -/obj/item/storage/ration/beef_strips, -/obj/item/storage/ration/fried_fish, -/obj/machinery/airalarm/directional/south, /turf/open/floor/plasteel/tech, /area/ship/cargo) "vB" = ( -/obj/machinery/camera/autoname, -/obj/machinery/cryopod, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/crew/cryo) +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 + }, +/obj/structure/railing{ + dir = 5; + layer = 4.1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/obj/structure/closet/firecloset/wall/directional/west, +/turf/open/floor/plasteel/lightgrey, +/area/ship/hallway/central) "vF" = ( -/obj/structure/window/reinforced/tinted{ - dir = 1 +/obj/structure/sink{ + dir = 8; + pixel_x = 12; + pixel_y = 4 }, -/obj/machinery/door/window/survival_pod{ - dir = 4; - opacity = 1; - name = "Medical Specialist's Quarters"; - req_access_txt = "5"; - req_ship_access = 1 +/obj/machinery/button/door{ + pixel_x = 26; + dir = 8; + name = "Medical Shutters"; + id = "MedShutters"; + req_ship_access = 1; + req_access_txt = "5" }, -/turf/open/floor/plasteel/stairs/wood{ - dir = 8 +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 25; + pixel_y = -9 + }, +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/borderfloorwhite/corner, +/obj/effect/turf_decal/industrial/warning{ + dir = 9 + }, +/obj/effect/turf_decal/siding/thinplating/light{ + dir = 9 }, +/turf/open/floor/plasteel/white, /area/ship/medical) +"vJ" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/specialized/engineering) "vO" = ( +/obj/machinery/light/floor, /obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 + dir = 8 }, /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 4 + dir = 8 }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/telecomms_floor/tatmos, +/area/ship/science/ai_chamber) "vR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 5 @@ -2861,12 +3145,13 @@ /turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "vS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/turf_decal/siding/blue{ - dir = 10 - }, +/obj/structure/crate_shelf, +/obj/structure/closet/crate/freezer/blood, +/obj/machinery/iv_drip, +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/industrial/warning/cee, +/obj/effect/turf_decal/siding/thinplating/light/end, /turf/open/floor/plasteel/white, /area/ship/medical) "vT" = ( @@ -2894,8 +3179,8 @@ /obj/effect/turf_decal/techfloor{ dir = 4 }, -/turf/open/floor/plating, -/area/ship/maintenance/port) +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) "vV" = ( /obj/effect/turf_decal/corner/opaque/blue/diagonal, /obj/structure/window/reinforced/spawner{ @@ -2923,32 +3208,40 @@ name = "Engine Shutters" }, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "wf" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, /obj/machinery/light_switch{ - dir = 4; - pixel_x = -20; - pixel_y = 12 + dir = 8; + pixel_x = 19; + pixel_y = 8 }, -/obj/machinery/photocopier, -/turf/open/floor/plasteel/patterned/brushed, -/area/ship/bridge) +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/item/radio/intercom/directional/east{ + pixel_y = -6 + }, +/obj/structure/platform/military{ + dir = 4 + }, +/turf/open/floor/plasteel/tech/tcomms, +/area/ship/engineering/communications) "wh" = ( /obj/machinery/power/shieldwallgen/atmos/roundstart{ dir = 4; id = "Ranger_Starboard_holofield" }, /obj/machinery/door/poddoor{ - id = "Rangar_Starboard_Blasts" + id = "Rangar_Starboard_Blasts"; + name = "Starboard Access" }, /obj/structure/cable, /obj/machinery/door/firedoor/border_only{ dir = 1 }, /obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/tech, /area/ship/hallway/starboard) "wp" = ( /obj/item/clothing/mask/breath, @@ -2971,30 +3264,39 @@ /turf/open/floor/engine/hull, /area/ship/external/dark) "wu" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 +/obj/machinery/telecomms/server/presets/nanotrasen{ + autolinkers = list("nanotrasen","hub"); + network = "nt_commnet"; + freq_listening = list(1353,1447,1459) }, -/obj/effect/turf_decal/corner/opaque/vired/half, -/obj/effect/turf_decal/siding/thinplating/dark, -/turf/open/floor/plasteel/tech, -/area/ship/storage/equip) +/obj/item/disk/holodisk/lp/stations, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/turf/open/floor/circuit/telecomms, +/area/ship/engineering/communications) "ww" = ( /obj/machinery/light/dim/directional/west, -/obj/structure/chair/handrail, /turf/open/floor/engine/hull, /area/ship/external/dark) "wC" = ( -/obj/effect/turf_decal/steeldecal/steel_decals6, -/obj/machinery/telecomms/receiver/preset_right{ - autolinkers = list("receiverB","hub"); - freq_listening = list(1353,1447,1459); - network = "nt_commnet" +/obj/item/storage/box/donkpockets{ + pixel_x = -3 }, -/obj/effect/turf_decal/techfloor{ - dir = 8 +/obj/item/storage/box/donkpockets/donkpocketpizza{ + pixel_x = 2; + pixel_y = 4 }, -/turf/open/floor/circuit, -/area/ship/engineering/communications) +/obj/item/storage/box/donkpockets/donkpocketspicy{ + pixel_y = 9; + pixel_x = 7 + }, +/obj/structure/table/reinforced{ + color = "#8A9397" + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/lightgrey, +/area/ship/hallway/central) "wE" = ( /obj/machinery/button/door{ pixel_y = 21; @@ -3079,17 +3381,11 @@ /turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "xA" = ( -/obj/structure/tank_dispenser/oxygen, +/obj/structure/crate_shelf, +/obj/structure/closet/crate/secure/loot, /obj/machinery/light/dim/directional/west, -/obj/effect/turf_decal/siding/yellow{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, /turf/open/floor/plasteel/tech, -/area/ship/hallway/starboard) +/area/ship/cargo) "xB" = ( /obj/structure/cable{ icon_state = "1-4" @@ -3100,9 +3396,6 @@ /obj/structure/cable/cyan{ icon_state = "4-9" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, @@ -3113,8 +3406,12 @@ dir = 1 }, /obj/effect/decal/cleanable/plasma, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/railing{ + dir = 1 + }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "xK" = ( /obj/structure/table/reinforced{ color = "#c1b6a5" @@ -3125,6 +3422,24 @@ /obj/item/binoculars, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) +"xY" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) +"yf" = ( +/obj/machinery/camera/autoname, +/obj/machinery/cryopod, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/crew/cryo) "yi" = ( /obj/effect/turf_decal/industrial/warning, /obj/machinery/button/shieldwallgen{ @@ -3139,7 +3454,8 @@ name = "Access Blast Doors"; id = "Ranger_AI_Core_Blasts"; pixel_y = 1; - req_access_txt = "10" + req_access_txt = "10"; + req_ship_access = 1 }, /obj/structure/cable{ icon_state = "1-2" @@ -3167,47 +3483,61 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/cryo) "yo" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/corner/opaque/vired/half{ +/obj/structure/bodycontainer/morgue, +/obj/structure/window/reinforced/spawner, +/obj/effect/turf_decal/techfloor{ dir = 1 }, -/obj/structure/chair/plastic{ - dir = 4 - }, -/obj/effect/decal/cleanable/confetti, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/starboard) +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) "yA" = ( -/obj/machinery/telecomms/hub{ - network = "nt_commnet"; - id = "Nanotrasen Communications Hub"; - autolinkers = list("hub","bus","relay","messaging","nanotrasen","broadcasterB","receiverB") +/obj/structure/cable{ + icon_state = "2-4" }, -/obj/effect/turf_decal/techfloor{ - dir = 1 +/obj/effect/turf_decal/siding/wood{ + dir = 10 }, -/turf/open/floor/circuit, -/area/ship/engineering/communications) +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/wood, +/area/ship/crew/dorm/captain) "yC" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1; - color = "#a8b2b6" +/obj/structure/fluff/hedge/opaque, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/line{ + dir = 5 }, -/obj/item/bikehorn/rubberducky, -/turf/open/floor/noslip, -/area/ship/crew/toilet) -"yG" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/chair/handrail{ +/obj/structure/window/reinforced/survival_pod{ dir = 4 }, -/obj/effect/turf_decal/corner/opaque/vired/half{ - dir = 8 +/obj/structure/window/reinforced/survival_pod{ + dir = 1 }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) +/obj/structure/window/reinforced/survival_pod{ + dir = 5; + density = 0 + }, +/obj/structure/window/reinforced/survival_pod{ + dir = 9; + density = 0 + }, +/turf/open/floor/plasteel/white, +/area/ship/crew/specialized/cargo) +"yF" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/specialized/security) +"yG" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + name = "Security Specialist's Quarters"; + id = "Ranger_Security_Specialist_Quarters" + }, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/crew/specialized/security) "yK" = ( /obj/machinery/camera/autoname{ dir = 9 @@ -3216,14 +3546,59 @@ /turf/open/floor/engine/hull, /area/ship/external/dark) "yU" = ( -/obj/structure/table/reinforced, -/obj/machinery/computer/helm/viewscreen/directional/south, -/obj/machinery/cell_charger, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/engineering) +/obj/machinery/door/window/brigdoor/eastright{ + dir = 2; + req_access_txt = "1"; + name = "Armory"; + req_ship_access = 1 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 4 + }, +/obj/item/storage/box/ammo/c9mm{ + pixel_x = -9; + pixel_y = 9 + }, +/obj/item/storage/box/ammo/c9mm{ + pixel_x = -9; + pixel_y = 9 + }, +/obj/item/storage/box/ammo/c9mm{ + pixel_x = -9; + pixel_y = 9 + }, +/obj/item/storage/box/ammo/c9mm{ + pixel_x = -9; + pixel_y = 9 + }, +/obj/item/storage/box/ammo/c9mm_rubber{ + pixel_x = -9 + }, +/obj/structure/closet/crate/secure/gear{ + name = "Ammunition Crate" + }, +/obj/effect/decal/cleanable/wrapping, +/obj/item/ammo_box/magazine/smgm9mm{ + pixel_x = 11 + }, +/obj/item/ammo_box/magazine/smgm9mm{ + pixel_x = 11 + }, +/obj/item/ammo_box/magazine/smgm9mm{ + pixel_x = 11 + }, +/obj/item/ammo_box/magazine/smgm9mm{ + pixel_x = 11 + }, +/obj/item/ammo_box/magazine/co9mm, +/turf/open/floor/plasteel/lightgrey, +/area/ship/storage/equip) "yZ" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable{ @@ -3233,9 +3608,9 @@ name = "Medical Specialist's Storage Unit" }, /obj/item/clothing/suit/space/hardsuit/ert/lp/med, +/obj/item/clothing/mask/breath, /obj/item/tank/internals/oxygen, /obj/effect/turf_decal/industrial/outline/blue, -/obj/item/clothing/mask/gas/vigilitas, /turf/open/floor/plasteel/lightgrey, /area/ship/storage/equip) "zc" = ( @@ -3269,21 +3644,14 @@ /turf/open/floor/plasteel/dark, /area/ship/hallway/central) "zB" = ( -/obj/effect/turf_decal/trimline/opaque/nsorange/line, -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/structure/chair/office{ - dir = 8 +/obj/effect/turf_decal/siding/wood{ + dir = 10 }, -/turf/open/floor/plasteel/lightgrey, -/area/ship/cargo) +/turf/open/floor/wood/ebony, +/area/ship/crew/specialized/cargo) "zC" = ( -/obj/structure/cable{ - icon_state = "4-8" +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/line{ + dir = 8 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -3291,27 +3659,30 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 +/obj/structure/filingcabinet/chestdrawer{ + dir = 4; + pixel_x = -6 }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/effect/turf_decal/trimline/opaque/nsorange/line{ - dir = 9 +/obj/item/paper/crumpled{ + pixel_x = 6; + pixel_y = -1 }, -/obj/machinery/door/poddoor/shutters{ - dir = 8; - name = "Cargo Bay"; - id = "Ranger_Cargo_Door" +/obj/item/paper/crumpled{ + pixel_y = -6; + pixel_x = -4 }, -/obj/machinery/button/door{ - name = "Cargo Bay Shutters"; - id = "Ranger_Cargo_Door"; - pixel_y = 23; - req_ship_access = 1 +/obj/item/paper/crumpled{ + pixel_x = -10; + pixel_y = 6 }, -/turf/open/floor/plasteel/lightgrey, +/obj/item/paper/crumpled, +/obj/structure/cable{ + icon_state = "6-8" + }, +/turf/open/floor/plasteel/white, /area/ship/cargo) "zF" = ( /obj/structure/cable{ @@ -3319,6 +3690,34 @@ }, /turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) +"zM" = ( +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters{ + name = "Security Specialist's Quarters"; + id = "Ranger_Security_Specialist_Quarters" + }, +/obj/structure/grille, +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/crew/specialized/security) +"zO" = ( +/obj/machinery/light/dim/directional/east, +/obj/machinery/shower{ + dir = 8; + pixel_y = 2 + }, +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/borderfloorwhite/corner{ + dir = 4 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 10 + }, +/obj/effect/turf_decal/siding/thinplating/light{ + dir = 10 + }, +/turf/open/floor/plasteel/white, +/area/ship/medical) "zW" = ( /turf/template_noop, /area/template_noop) @@ -3330,14 +3729,22 @@ /turf/open/floor/plasteel/tech, /area/ship/security) "Ao" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, +/obj/structure/bed, +/obj/item/bedsheet/medical, /obj/effect/turf_decal/siding/wood{ - dir = 10 + dir = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/button/door{ + pixel_x = -22; + pixel_y = 1; + dir = 4; + name = "Medical Quarters Windows"; + id = "Ranger_Medical_Specialist_Quarters"; + req_ship_access = 1 }, /turf/open/floor/wood, -/area/ship/crew/dorm/captain) +/area/ship/crew/specialized/medical) "Av" = ( /obj/item/toy/cards/deck{ pixel_x = -1; @@ -3352,8 +3759,23 @@ /turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "Aw" = ( -/turf/open/floor/wood, -/area/ship/medical) +/obj/item/clothing/under/rank/medical/paramedic/skirt/lp, +/obj/item/clothing/under/rank/medical/paramedic/lp, +/obj/item/clothing/suit/hooded/wintercoat/medical, +/obj/item/clothing/head/beret/med, +/obj/item/storage/backpack/satchel/med, +/obj/item/storage/backpack/messenger/med, +/obj/item/storage/backpack/medic, +/obj/item/storage/backpack/duffelbag/med, +/obj/item/storage/backpack/ert/medical, +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/closet/cabinet, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/crew/specialized/medical) "AF" = ( /obj/structure/chair/comfy/shuttle{ dir = 4; @@ -3367,36 +3789,39 @@ pixel_y = 20; pixel_x = -5; name = "Starboard Corridor Shutters"; - id = "RangerStarboardShutters" + id = "RangerStarboardShutters"; + req_ship_access = 1 }, /obj/machinery/button/door{ pixel_y = 20; pixel_x = 5; name = "Port Corridor Shutters"; - id = "RangerPortShutters" + id = "RangerPortShutters"; + req_ship_access = 1 }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "AH" = ( -/obj/effect/turf_decal/steeldecal/steel_decals7{ +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ dir = 1 }, -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/techfloor{ +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/spline/fancy/opaque/orange{ dir = 1 }, -/obj/machinery/camera/autoname{ - dir = 5 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 }, -/obj/machinery/button/door{ - dir = 4; - pixel_x = -26; - id = "AiCore"; - name = "Core Access"; - req_access_txt = "20" +/obj/structure/cable{ + icon_state = "2-4" }, /turf/open/floor/plasteel/tech, -/area/ship/engineering/communications) +/area/ship/engineering) "AP" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -3418,12 +3843,25 @@ /obj/machinery/camera/autoname{ dir = 1 }, +/obj/item/radio/intercom/directional/south, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "AZ" = ( -/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/item/radio/intercom/directional/west, +/obj/machinery/camera/autoname{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, /turf/open/floor/wood, -/area/ship/security) +/area/ship/crew/specialized/security) "Be" = ( /obj/machinery/light/dim/directional/south, /obj/machinery/button/door{ @@ -3434,15 +3872,20 @@ pixel_y = 6; req_one_access_txt = "50,10,5,1,20"; req_ship_access = 1; - req_one_access = list(50,10,5,1,20) + req_one_access = list(50, 10, 5, 1, 20) }, /obj/item/clothing/suit/space/hardsuit/ert/lp/sec, /obj/machinery/suit_storage_unit/inherit{ name = "Security Specialist's Storage Unit" }, +/obj/item/clothing/mask/breath, /obj/item/tank/internals/oxygen/red, /obj/effect/turf_decal/industrial/outline/red, -/obj/item/clothing/mask/gas/vigilitas, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -21; + pixel_y = -3 + }, /turf/open/floor/plasteel/lightgrey, /area/ship/storage/equip) "Bg" = ( @@ -3451,7 +3894,8 @@ id = "Ranger_Starboard_holofield" }, /obj/machinery/door/poddoor{ - id = "Rangar_Starboard_Blasts" + id = "Rangar_Starboard_Blasts"; + name = "Starboard Access" }, /obj/structure/cable{ icon_state = "0-9" @@ -3460,28 +3904,31 @@ dir = 1 }, /obj/machinery/door/firedoor/border_only, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/tech, /area/ship/hallway/starboard) "Bh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 +/obj/structure/cable{ + icon_state = "6-8" }, -/obj/structure/window/reinforced/tinted{ - dir = 1 +/obj/structure/cable{ + icon_state = "1-8" }, -/turf/open/floor/wood, -/area/ship/engineering) +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) "Bl" = ( /obj/structure/chair/handrail{ dir = 8 }, -/obj/effect/turf_decal/trimline/opaque/vired/arrow_ccw{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/vired/filled/line{ +/obj/effect/turf_decal/techfloor{ dir = 4 }, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel/tech, /area/ship/hallway/starboard) "Bo" = ( /obj/effect/turf_decal/steeldecal/steel_decals4, @@ -3498,8 +3945,11 @@ /obj/effect/turf_decal/spline/fancy/opaque/black{ dir = 6 }, -/turf/open/floor/plasteel/telecomms_floor, +/turf/open/floor/plasteel/telecomms_floor/tatmos, /area/ship/engineering/communications) +"Bv" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/crew/specialized/cargo) "BA" = ( /obj/machinery/light/small/directional/east, /obj/structure/toilet{ @@ -3535,7 +3985,7 @@ name = "Engine Shutters" }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "BX" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -3576,15 +4026,12 @@ /turf/open/floor/plasteel/tech, /area/ship/engineering) "Cb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, /obj/machinery/light/dim/directional/west, -/obj/effect/turf_decal/industrial/hatch/blue, /obj/structure/bed/roller, +/obj/effect/turf_decal/industrial/hatch/blue, +/obj/structure/sign/poster/official/pda_ad{ + pixel_y = 32 + }, /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "Cg" = ( @@ -3597,48 +4044,71 @@ /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) -"Cq" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/machinery/blackbox_recorder, -/obj/effect/turf_decal/techfloor{ +"Cn" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ dir = 1 }, -/turf/open/floor/circuit, -/area/ship/engineering/communications) -"Ct" = ( -/obj/machinery/light/dim/directional/east, -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/effect/turf_decal/siding/thinplating/light{ - dir = 10 +/obj/structure/crate_shelf, +/obj/machinery/light_switch{ + dir = 4; + pixel_y = 8; + pixel_x = -21 }, -/obj/effect/turf_decal/borderfloorwhite/corner{ - dir = 4 +/obj/machinery/button/door{ + pixel_x = -22; + dir = 4; + name = "Cargo Privacy Shutters"; + id = "Ranger_Cargo_Privacy"; + pixel_y = -1; + req_ship_access = 1 }, -/obj/machinery/shower{ - dir = 8; - pixel_y = 2 +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Cq" = ( +/obj/machinery/button/door{ + dir = 4; + pixel_x = -21; + name = "Outer Window Blast Doors"; + id = "Ranger_AI_Core_Ext_Blasts" + }, +/obj/machinery/light/dim/directional/south, +/obj/machinery/telecomms/message_server/preset{ + autolinkers = list("messaging","hub"); + network = "nt_commnet"; + layer = 3.1 + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/turf/open/floor/circuit/telecomms, +/area/ship/science/ai_chamber) +"Ct" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, +/obj/effect/turf_decal/siding/blue, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, /turf/open/floor/plasteel/white, /area/ship/medical) "CB" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 10 +/obj/machinery/telecomms/bus/preset_four{ + autolinkers = list("hub","processor4","bus"); + network = "nt_commnet"; + id = "Nanotrasen Communications Bus"; + freq_listening = list(1353,1447,1459) }, -/turf/open/floor/plasteel/telecomms_floor, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/turf/open/floor/circuit/telecomms, /area/ship/engineering/communications) "CD" = ( /obj/machinery/computer/helm/viewscreen/directional/east, -/obj/effect/turf_decal/trimline/opaque/vired/arrow_ccw{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/vired/filled/line{ +/obj/effect/turf_decal/techfloor{ dir = 4 }, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel/tech, /area/ship/hallway/starboard) "CG" = ( /obj/machinery/door/airlock/public/glass, @@ -3658,29 +4128,30 @@ /turf/open/floor/plasteel/dark, /area/ship/bridge) "CJ" = ( -/obj/machinery/door/firedoor/border_only{ - dir = 4 +/obj/machinery/camera/autoname{ + dir = 5 }, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 +/obj/structure/railing{ + dir = 4; + layer = 4.1 }, -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ - dir = 8 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 4 }, -/turf/open/floor/plating, +/obj/structure/closet/emcloset/wall/directional/west, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "CN" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/atmos/air_output{ - piping_layer = 2; - dir = 8; - layer = 2 - }, /obj/structure/window/reinforced{ dir = 8 }, /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 10 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, /turf/open/floor/engine/air, /area/ship/hallway/central) "CP" = ( @@ -3724,9 +4195,12 @@ /area/ship/crew/cryo) "Dd" = ( /obj/effect/turf_decal/industrial/outline/orange, -/obj/machinery/portable_atmospherics/canister/nitrogen, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/structure/platform/industrial_alt{ + dir = 8 + }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "Dr" = ( /obj/machinery/power/shieldwallgen/atmos/roundstart{ id = "AI_Core_Field_Engi"; @@ -3763,7 +4237,10 @@ /obj/effect/turf_decal/spline/fancy/opaque/black{ dir = 5 }, -/turf/open/floor/plasteel/telecomms_floor, +/obj/structure/platform/military{ + dir = 1 + }, +/turf/open/floor/plasteel/telecomms_floor/tatmos, /area/ship/engineering/communications) "Dx" = ( /obj/machinery/recharger{ @@ -3812,44 +4289,13 @@ /turf/open/floor/mineral/plastitanium/red/brig, /area/ship/security) "DE" = ( -/obj/machinery/firealarm/directional/east, -/obj/machinery/recharger{ - dir = 4; - pixel_x = -8 - }, -/obj/machinery/cell_charger{ - dir = 4; - pixel_x = 5 - }, -/obj/structure/table/reinforced, -/obj/item/stack/marker_beacon/thirty{ - icon_state = "markerrandom"; - pixel_x = -9; - pixel_y = 13; - amount = 100 - }, -/obj/item/stack/marker_beacon/thirty{ - icon_state = "markerrandom"; - pixel_x = 11; - pixel_y = 13; - amount = 100 - }, -/obj/item/stack/marker_beacon/thirty{ - icon_state = "markerrandom"; - pixel_x = 5; - pixel_y = 13; - amount = 100 - }, -/obj/item/stack/marker_beacon/thirty{ - icon_state = "markerrandom"; - pixel_x = -2; - pixel_y = 13; - amount = 100 +/obj/machinery/holopad, +/obj/effect/turf_decal/corner/opaque/syndiered/half{ + dir = 1 }, -/obj/effect/turf_decal/corner/opaque/vired/three_quarters{ - dir = 8 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 }, -/obj/item/stock_parts/cell/gun, /turf/open/floor/plasteel/tech, /area/ship/storage/equip) "DQ" = ( @@ -3873,11 +4319,43 @@ }, /obj/machinery/light/dim/directional/north, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "DZ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/structure/filingcabinet/double, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 6 + }, +/obj/item/reagent_containers/food/drinks/coffee{ + pixel_y = 16 + }, +/obj/item/paper_bin{ + pixel_x = 7; + pixel_y = -4 + }, +/obj/item/pen/fountain{ + pixel_x = 6; + pixel_y = -5 + }, +/obj/structure/table/reinforced{ + color = "#c1b6a5" + }, +/obj/item/paper/crumpled{ + pixel_y = -6; + pixel_x = -4 + }, +/obj/item/paper/crumpled/muddy{ + name = "coffee-stained paper scrap"; + pixel_x = -9; + pixel_y = 6 + }, +/obj/item/toy/plush/moth/atlas{ + pixel_x = 9; + pixel_y = 16 + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/line{ + dir = 1 + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/white, /area/ship/cargo) "Ek" = ( /obj/machinery/computer/telecomms/server, @@ -3890,29 +4368,80 @@ /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "Ep" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 10 +/obj/structure/chair/comfy/blue/directional/east, +/obj/item/toy/plush/moth/royal{ + layer = 3.05; + pixel_x = -6; + pixel_y = 11 }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 +/obj/item/radio/intercom/wideband/directional/south, +/obj/effect/turf_decal/techfloor{ + dir = 4 }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) +/obj/item/toy/plush/moth/lovers{ + layer = 3.05; + pixel_x = 4 + }, +/turf/open/floor/circuit/telecomms, +/area/ship/science/ai_chamber) "Eq" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, -/obj/effect/turf_decal/trimline/opaque/nsorange/warning, /obj/effect/turf_decal/siding{ color = "#474747" }, -/turf/open/floor/plasteel/lightgrey, +/obj/structure/cable{ + icon_state = "2-9" + }, +/turf/open/floor/plasteel/white, /area/ship/cargo) +"Et" = ( +/obj/machinery/camera/autoname{ + dir = 4 + }, +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/corner/opaque/vired/half{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/central) "EA" = ( -/obj/structure/crate_shelf, -/obj/machinery/light/dim/directional/west, +/obj/structure/closet/crate/hydroponics{ + name = "Sustenance Crate" + }, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/storage/ration/assorted_salted_offal, +/obj/item/storage/ration/battered_fish_sticks, +/obj/item/storage/ration/beef_goulash, +/obj/item/storage/ration/beef_strips, +/obj/item/storage/ration/fried_fish, +/obj/item/reagent_containers/food/snacks/popcorn{ + icon_state = "seed-sunflower"; + icon = 'icons/obj/hydroponics/seeds.dmi'; + desc = "Dehydrated, salted sunflower seeds, for snacking!"; + name = "Snacking Sunflower Seeds"; + list_reagents = list(/datum/reagent/consumable/nutriment = 4) + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, /turf/open/floor/plasteel/tech, /area/ship/cargo) +"EE" = ( +/obj/machinery/camera/autoname{ + dir = 10 + }, +/obj/item/weldingtool/empty{ + name = "sand-covered welding tool" + }, +/turf/open/floor/engine/hull, +/area/ship/external/dark) "EL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/door/firedoor/border_only{ @@ -3924,9 +4453,20 @@ /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "EP" = ( -/obj/effect/spawner/random/vending/snack, -/turf/open/floor/plasteel/lightgrey, -/area/ship/hallway/central) +/obj/effect/turf_decal/steeldecal/steel_decals6, +/obj/machinery/telecomms/receiver/preset_right{ + autolinkers = list("receiverB","hub"); + freq_listening = list(1353,1447,1459); + network = "nt_commnet" + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/platform/military{ + dir = 1 + }, +/turf/open/floor/circuit/telecomms, +/area/ship/engineering/communications) "Ff" = ( /obj/structure/cable{ icon_state = "4-8" @@ -3934,40 +4474,23 @@ /obj/effect/turf_decal/corner/opaque/vired/half{ dir = 1 }, +/obj/structure/sign/poster/official/work_for_a_future{ + pixel_y = 32 + }, /turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "Fg" = ( -/obj/effect/turf_decal/trimline/opaque/nsorange/corner{ - dir = 4 - }, -/obj/item/paper/crumpled, -/obj/item/paper/crumpled{ - pixel_x = 6; - pixel_y = -1 - }, -/obj/item/paper/crumpled{ - pixel_x = -10; - pixel_y = 6 - }, -/obj/item/paper/crumpled{ - pixel_y = -6; - pixel_x = -4 +/obj/structure/cable{ + icon_state = "1-8" }, -/turf/open/floor/plasteel/lightgrey, -/area/ship/cargo) -"Fh" = ( -/obj/machinery/atmospherics/pipe/layer_manifold/visible{ +/obj/structure/chair/office{ dir = 4 }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 1; - color = "#a8b2b6" - }, -/obj/effect/turf_decal/trimline/opaque/vired/arrow_ccw, -/turf/open/floor/plasteel/tech/techmaint{ - color = "#a8b2b6" +/obj/effect/turf_decal/siding/wood{ + dir = 9 }, -/area/ship/hallway/central) +/turf/open/floor/wood/ebony, +/area/ship/crew/specialized/cargo) "Fw" = ( /obj/structure/cable{ icon_state = "1-2" @@ -4024,14 +4547,23 @@ /obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/siding/yellow{ dir = 4 }, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/siding/yellow{ dir = 8 }, -/turf/open/floor/plasteel/tech, +/turf/open/floor/pod/light, /area/ship/engineering) +"FM" = ( +/obj/machinery/door/poddoor/shutters{ + id = "Ranger_Engineering_Specialist_Quarters"; + name = "Engineering Specialist's Quarters" + }, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/crew/specialized/engineering) "FQ" = ( /obj/structure/cable{ icon_state = "4-8" @@ -4042,10 +4574,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/airalarm/directional/south, /obj/effect/decal/cleanable/oil/streak, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "Gc" = ( /obj/machinery/light/dim/directional/north, /obj/machinery/camera/autoname{ @@ -4059,8 +4590,8 @@ }, /obj/machinery/suit_storage_unit/inherit, /obj/item/clothing/suit/space/hardsuit/ert/lp, +/obj/item/clothing/mask/breath, /obj/item/tank/internals/emergency_oxygen/double, -/obj/item/clothing/mask/gas/vigilitas, /turf/open/floor/plasteel/tech, /area/ship/crew/dorm/captain) "Ge" = ( @@ -4095,24 +4626,19 @@ /turf/open/floor/plasteel/dark, /area/ship/hallway/central) "Gn" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - pixel_x = 9; - pixel_y = 3 - }, -/obj/item/toy/plush/moth/snow{ - pixel_x = -3 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 }, -/obj/item/folder/blue{ - pixel_x = -3; - pixel_y = -10 +/obj/machinery/door/window{ + opacity = 1; + name = "Toilet" }, -/obj/item/flashlight/pen{ - pixel_x = -5; - pixel_y = -9 +/obj/item/soap/nanotrasen, +/obj/structure/closet/wall/directional/west{ + name = "Soap Holder" }, -/turf/open/floor/wood, -/area/ship/medical) +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) "Gs" = ( /obj/machinery/atmospherics/pipe/simple/cyan/hidden{ dir = 10 @@ -4129,7 +4655,7 @@ /obj/effect/turf_decal/steeldecal/steel_decals7{ dir = 4 }, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel/tech/tcomms, /area/ship/engineering/communications) "GC" = ( /obj/effect/turf_decal/corner/opaque/blue/diagonal, @@ -4166,39 +4692,24 @@ /turf/open/floor/plasteel/dark, /area/ship/hallway/central) "GY" = ( -/obj/effect/turf_decal/siding/wood, -/obj/item/radio/intercom/directional/south, -/obj/item/bedsheet/orange, -/obj/structure/bed, -/obj/machinery/camera/autoname{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/wood, -/area/ship/engineering) +/obj/structure/girder/reinforced, +/turf/open/floor/engine/hull, +/area/ship/external/dark) "Ha" = ( -/obj/item/melee/classic_baton/telescopic, -/obj/item/melee/knife/survival, -/obj/item/gps, -/obj/item/screwdriver, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = 7; - pixel_y = -20 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/item/storage/guncase/energy/egun, -/obj/item/megaphone/command, -/obj/structure/closet/secure_closet/lp/lieutenant, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/spline/fancy/opaque/orange{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/techfloor{ - dir = 8 +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 }, /turf/open/floor/plasteel/tech, -/area/ship/crew/dorm/captain) +/area/ship/engineering) "Hd" = ( /obj/structure/grille, /obj/structure/cable{ @@ -4213,17 +4724,26 @@ /obj/structure/window/reinforced/fulltile/shuttle, /turf/open/floor/plating, /area/ship/engineering) +"Hp" = ( +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 8 + }, +/obj/structure/curtain/bounty, +/turf/open/floor/plasteel/stairs{ + dir = 8 + }, +/area/ship/crew/specialized/cargo) "Hs" = ( +/obj/effect/turf_decal/spline/fancy/opaque/orange{ + dir = 1 + }, /obj/structure/cable{ icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/spline/fancy/opaque/orange{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, /turf/open/floor/plasteel/tech, @@ -4235,10 +4755,10 @@ /obj/effect/turf_decal/trimline/opaque/vired/arrow_cw{ dir = 8 }, -/obj/effect/turf_decal/trimline/opaque/vired/filled/line{ +/obj/effect/turf_decal/techfloor{ dir = 4 }, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel/tech, /area/ship/hallway/port) "HA" = ( /obj/machinery/power/shieldwallgen/atmos/roundstart{ @@ -4246,7 +4766,8 @@ id = "Ranger_Port_holofields" }, /obj/machinery/door/poddoor{ - id = "Ranger_Port_Blasts" + id = "Ranger_Port_Blasts"; + name = "Portside Access" }, /obj/structure/cable{ icon_state = "0-6" @@ -4256,7 +4777,7 @@ dir = 1 }, /obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/tech, /area/ship/hallway/port) "HZ" = ( /obj/machinery/atmospherics/components/binary/pump{ @@ -4264,7 +4785,7 @@ }, /obj/effect/decal/cleanable/oil/slippery, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "Ib" = ( /obj/machinery/button/door{ dir = 4; @@ -4273,9 +4794,14 @@ id = "Ranger_Port_maint_shut"; req_ship_access = 1 }, -/obj/effect/spawner/random/trash/decal, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "Ih" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -4319,49 +4845,31 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/cryo) "Iz" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-10" - }, -/obj/structure/closet/secure_closet{ - icon_state = "qm"; - name = "Logistics Specialist's Locker"; - req_ship_access = 1; - req_one_access = list(50) - }, -/obj/item/clothing/suit/hooded/wintercoat/cargo{ - pixel_x = 14 - }, -/obj/item/clothing/shoes/sneakers/brown{ - pixel_x = -10; - pixel_y = -12 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 }, -/obj/item/storage/backpack/satchel/leather{ - pixel_y = -6 +/obj/effect/turf_decal/siding/red{ + dir = 1 }, -/obj/item/clothing/under/nanotrasen/supply/qm, -/obj/item/gps{ - pixel_x = 11; - pixel_y = 9 +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/turf_decal/siding/red{ + dir = 5 }, -/obj/item/stack/packageWrap{ - pixel_x = -10; - pixel_y = 12 +/obj/machinery/light_switch{ + pixel_x = 20; + pixel_y = 11; + dir = 8 }, -/obj/item/stack/packageWrap{ - pixel_x = -10 +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 }, -/obj/item/stack/packageWrap{ - pixel_x = -10; - pixel_y = 6 +/obj/structure/cable{ + icon_state = "1-10" }, /turf/open/floor/plasteel/tech, -/area/ship/cargo) +/area/ship/security) "IC" = ( -/obj/effect/turf_decal/corner/opaque/orange/full, -/obj/machinery/door/airlock/engineering/glass{ - name = "Electrical Bay" - }, /obj/structure/cable{ icon_state = "1-2" }, @@ -4371,22 +4879,24 @@ /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/siding/yellow{ dir = 1 }, -/obj/effect/turf_decal/techfloor, -/turf/open/floor/plasteel/tech, +/obj/effect/turf_decal/siding/yellow, +/obj/machinery/door/airlock/engineering/glass{ + name = "Electrical Bay" + }, +/turf/open/floor/pod/light, /area/ship/engineering) "IE" = ( -/obj/machinery/light/floor, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 +/obj/structure/AIcore, +/obj/item/mmi/posibrain, +/obj/item/circuitboard/aicore, +/obj/effect/turf_decal/techfloor{ + dir = 4 }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) +/turf/open/floor/circuit/telecomms, +/area/ship/science/ai_chamber) "IM" = ( /obj/structure/chair/sofa/brown/directional/west, /obj/item/toy/plush/blahaj{ @@ -4419,12 +4929,33 @@ /turf/open/floor/plasteel/tech, /area/ship/security) "Js" = ( -/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/effect/turf_decal/siding/red{ + dir = 4 + }, /obj/effect/turf_decal/siding/red{ dir = 8 }, -/obj/effect/turf_decal/siding/red/corner, -/turf/open/floor/plasteel/tech, +/obj/machinery/door/airlock/security{ + name = "Security Specialist's Office"; + req_access_txt = "1"; + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/pod/light, /area/ship/security) "Jw" = ( /obj/structure/cable/cyan{ @@ -4433,26 +4964,36 @@ /obj/machinery/power/terminal{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "JK" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/engineering) +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/dark, +/area/ship/bridge) "JO" = ( -/obj/machinery/door/airlock/command{ - req_access_txt = "20"; - name = "Lieutenant's Quarters" +/obj/effect/turf_decal/industrial/outline/blue, +/obj/structure/rack, +/obj/item/extinguisher/advanced{ + pixel_x = 5; + pixel_y = 6 }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/item/extinguisher/advanced{ + pixel_y = 10; + pixel_x = 12 }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 +/obj/item/extinguisher{ + pixel_x = -3 }, -/obj/machinery/door/firedoor/border_only, -/turf/open/floor/wood, -/area/ship/crew/dorm/captain) +/obj/item/extinguisher{ + pixel_x = -9; + pixel_y = -5 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) "JP" = ( /obj/structure/cable{ icon_state = "4-8" @@ -4463,6 +5004,7 @@ /obj/machinery/camera/autoname{ dir = 1 }, +/obj/item/radio/intercom/directional/south, /turf/open/floor/plating, /area/ship/engineering) "JR" = ( @@ -4484,8 +5026,11 @@ }, /obj/effect/decal/cleanable/plasma, /obj/effect/decal/cleanable/plasma, +/obj/structure/platform/industrial_alt{ + dir = 4 + }, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "Kl" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 4 @@ -4493,32 +5038,67 @@ /obj/machinery/computer/helm/viewscreen/directional/west, /turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) -"Kt" = ( -/obj/effect/turf_decal/siding/blue{ - dir = 4 +"Kq" = ( +/obj/machinery/door/airlock/command{ + req_access_txt = "20"; + name = "Lieutenant's Quarters" }, /obj/structure/cable{ - icon_state = "1-4" + icon_state = "1-2" }, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"Kw" = ( -/obj/structure/cable{ - icon_state = "1-8" +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, +/obj/machinery/door/firedoor/border_only, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) -"KC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/turf_decal/corner/opaque/vired/three_quarters{ +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/turf/open/floor/pod/light, +/area/ship/crew/dorm/captain) +"Kt" = ( +/obj/machinery/computer/helm/viewscreen/directional/west, +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/borderfloor/corner{ dir = 4 }, -/turf/open/floor/plasteel/tech, -/area/ship/storage/equip) +/obj/effect/turf_decal/industrial/warning{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning/corner, +/obj/effect/turf_decal/siding/thinplating/light{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating/light/corner, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"Kw" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/toilet) +"KC" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/item/radio/intercom/directional/west, +/obj/machinery/camera/autoname{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/wood, +/area/ship/crew/specialized/engineering) "KQ" = ( /obj/structure/closet, /obj/item/pickaxe, @@ -4535,8 +5115,62 @@ dir = 4; layer = 4.1 }, +/obj/structure/sign/poster/official/safety_internals{ + pixel_x = -32 + }, /turf/open/floor/plasteel/tech, /area/ship/hallway/port) +"KT" = ( +/obj/structure/table/reinforced{ + color = "#8A9397" + }, +/obj/item/flashlight/lamp{ + pixel_x = -6; + pixel_y = 4 + }, +/obj/item/paper_bin{ + pixel_x = 8; + pixel_y = 2 + }, +/obj/item/pen/red{ + pixel_x = 6 + }, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/ship/security) +"KU" = ( +/obj/effect/turf_decal/trimline/opaque/nsorange/line{ + dir = 5 + }, +/obj/item/stack/tape{ + pixel_y = 10; + pixel_x = 6 + }, +/obj/item/stack/tape{ + pixel_y = 17; + pixel_x = 7; + layer = 3.01 + }, +/obj/item/hand_labeler{ + pixel_x = -7; + pixel_y = 8 + }, +/obj/item/folder/yellow{ + pixel_x = 6 + }, +/obj/structure/table/reinforced{ + color = "#c1b6a5" + }, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/line{ + dir = 9 + }, +/obj/item/radio/intercom/directional/west{ + pixel_x = -28 + }, +/obj/structure/sign/nanotrasen/ns{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/white, +/area/ship/cargo) "KX" = ( /obj/structure/cable{ icon_state = "4-8" @@ -4562,22 +5196,24 @@ dir = 1 }, /obj/effect/turf_decal/siding/red, +/obj/structure/cable{ + icon_state = "5-8" + }, /turf/open/floor/plasteel/tech, /area/ship/security) "Lk" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/bridge) "Lt" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/machinery/airalarm/directional/west, -/obj/machinery/door/window{ - opacity = 1; - name = "Toilet" +/obj/effect/turf_decal/corner/opaque/vired/half{ + dir = 1 }, -/turf/open/floor/plasteel/showroomfloor, -/area/ship/crew/toilet) +/obj/item/radio/intercom/directional/north, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/starboard) "Lu" = ( /obj/structure/cable{ icon_state = "4-8" @@ -4596,20 +5232,30 @@ "Lw" = ( /obj/effect/turf_decal/industrial/outline/orange, /obj/effect/decal/cleanable/plasma, -/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/structure/platform/industrial_alt{ + dir = 8 + }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "LM" = ( -/obj/machinery/telecomms/processor/preset_four{ - autolinkers = list("processor4","bus"); - network = "nt_commnet"; - id = "Nanotrasen Communications Processor" +/obj/effect/turf_decal/siding/red/corner, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 8 }, -/obj/effect/turf_decal/techfloor{ +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/circuit, -/area/ship/engineering/communications) +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/security) "LQ" = ( /obj/structure/cable{ icon_state = "0-4" @@ -4632,37 +5278,38 @@ /area/ship/bridge) "LV" = ( /turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "Ma" = ( -/obj/effect/turf_decal/siding/red{ - dir = 4 +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/turf_decal/corner/opaque/vired/half{ + dir = 1 }, -/obj/effect/turf_decal/siding/red{ - dir = 8 +/obj/structure/chair/plastic{ + dir = 4 }, -/turf/open/floor/plasteel/tech, -/area/ship/security) +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/starboard) "Mc" = ( -/obj/machinery/light/dim/directional/east, -/obj/effect/turf_decal/siding/thinplating{ - dir = 1; - color = "#a8b2b6" - }, -/obj/machinery/shower{ - dir = 1 +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters{ + name = "Medical Specialist's Quarters"; + id = "Ranger_Medical_Specialist_Quarters" }, -/obj/item/soap/nanotrasen, -/turf/open/floor/noslip, -/area/ship/crew/toilet) +/obj/machinery/door/firedoor/window, +/turf/open/floor/plating, +/area/ship/crew/specialized/medical) "Md" = ( -/obj/structure/AIcore, -/obj/item/mmi/posibrain, -/obj/item/circuitboard/aicore, -/obj/effect/turf_decal/techfloor{ - dir = 4 +/obj/structure/grille, +/obj/machinery/door/poddoor{ + dir = 4; + id = "Ranger_AI_Core_Ext_Blasts" }, -/turf/open/floor/circuit, -/area/ship/engineering/communications) +/obj/machinery/door/firedoor/window, +/obj/structure/window/reinforced/fulltile/shuttle, +/turf/open/floor/plating, +/area/ship/science/ai_chamber) "Mf" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/crew/dorm/captain) @@ -4673,30 +5320,27 @@ /obj/structure/cable{ icon_state = "1-6" }, -/obj/effect/turf_decal/trimline/opaque/vired/arrow_cw{ +/obj/structure/chair/handrail{ dir = 4 }, -/obj/effect/turf_decal/trimline/opaque/vired/filled/line{ +/obj/effect/turf_decal/techfloor{ dir = 8 }, -/obj/structure/chair/handrail{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel/tech, /area/ship/hallway/starboard) "Mh" = ( -/obj/machinery/computer/apc_control{ - dir = 4; - icon_state = "computer-left" - }, -/obj/effect/turf_decal/techfloor, -/turf/open/floor/plasteel/mono/dark, -/area/ship/engineering) +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/ship/science/ai_chamber) "Mm" = ( /obj/structure/cable{ icon_state = "5-8" }, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning, +/obj/structure/cable{ + icon_state = "2-5" + }, +/obj/effect/turf_decal/trimline/transparent/white/filled/corner{ + dir = 8 + }, /turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "Mn" = ( @@ -4713,7 +5357,8 @@ name = "Ranger Bridge Shutters"; id = "Ranger_Bridge_Shutters"; dir = 1; - pixel_x = 6 + pixel_x = 6; + req_ship_access = 1 }, /obj/effect/turf_decal/steeldecal/steel_decals4, /obj/effect/turf_decal/techfloor{ @@ -4722,26 +5367,26 @@ /obj/machinery/door/window/survival_pod{ dir = 8; name = "Captain's Nest"; - req_one_access_txt = list(50,10,5,1,20) + req_one_access_txt = list(50, 10, 5, 1, 20); + req_ship_access = 1 }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) "Mt" = ( /obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 + icon_state = "2-4" }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/cable{ - icon_state = "1-4" - }, +/obj/machinery/holopad, /obj/effect/turf_decal/spline/fancy/opaque/orange{ dir = 1 }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/item/radio/intercom/directional/north, /turf/open/floor/plasteel/tech, /area/ship/engineering) "Mu" = ( @@ -4764,16 +5409,31 @@ /turf/open/floor/wood, /area/ship/crew/dorm/captain) "Mx" = ( -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 19; - pixel_y = 8 +/obj/effect/turf_decal/steeldecal/steel_decals7{ + dir = 1 }, /obj/effect/turf_decal/techfloor, /obj/effect/turf_decal/techfloor{ dir = 1 }, -/turf/open/floor/plasteel/tech, +/obj/machinery/camera/autoname{ + dir = 5 + }, +/obj/machinery/button/door{ + dir = 4; + pixel_x = -26; + id = "AiCore"; + name = "Core Access"; + req_access_txt = "20"; + req_ship_access = 1 + }, +/obj/structure/cable{ + icon_state = "2-5" + }, +/obj/structure/platform/military{ + dir = 8 + }, +/turf/open/floor/plasteel/tech/tcomms, /area/ship/engineering/communications) "Mz" = ( /obj/structure/cable{ @@ -4814,7 +5474,10 @@ /obj/effect/turf_decal/spline/fancy/opaque/black{ dir = 1 }, -/turf/open/floor/plasteel/telecomms_floor, +/obj/structure/platform/military/corner{ + dir = 8 + }, +/turf/open/floor/plasteel/telecomms_floor/tatmos, /area/ship/engineering/communications) "MI" = ( /obj/machinery/airalarm/directional/north, @@ -4830,15 +5493,25 @@ /turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "MK" = ( -/obj/structure/sign/nanotrasen{ - pixel_x = 32 +/obj/item/aiModule/core/freeformcore{ + pixel_x = -2; + pixel_y = 1 + }, +/obj/item/aiModule/reset/purge{ + pixel_y = 6; + pixel_x = 1 + }, +/obj/item/aiModule/reset{ + pixel_x = 4; + pixel_y = -2 }, +/obj/machinery/light/dim/directional/north, /obj/effect/turf_decal/techfloor, /obj/structure/table/reinforced{ color = "#8A9397" }, -/turf/open/floor/circuit, -/area/ship/engineering/communications) +/turf/open/floor/circuit/telecomms, +/area/ship/science/ai_chamber) "ML" = ( /obj/machinery/light/dim/directional/north, /obj/effect/turf_decal/industrial/outline/blue, @@ -4853,7 +5526,7 @@ }, /obj/item/clothing/suit/hooded/wintercoat, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "MR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ @@ -4903,51 +5576,36 @@ /turf/open/floor/plating, /area/ship/engineering) "Nf" = ( -/obj/machinery/button/door{ +/obj/machinery/newscaster/security_unit/directional/south, +/obj/structure/chair/office{ dir = 4; - pixel_x = -21; - name = "Outer Window Blast Doors"; - id = "Ranger_AI_Core_Ext_Blasts" - }, -/obj/machinery/light/dim/directional/south, -/obj/machinery/telecomms/message_server/preset{ - autolinkers = list("messaging","hub"); - network = "nt_commnet"; - layer = 3.1 + name = "tactical swivel chair" }, -/obj/effect/turf_decal/techfloor{ - dir = 1 +/obj/machinery/computer/security/telescreen{ + dir = 1; + pixel_y = -28; + network = list("ss13") }, -/turf/open/floor/circuit, -/area/ship/engineering/communications) +/turf/open/floor/mineral/plastitanium/red/brig, +/area/ship/security) "Nn" = ( -/obj/structure/cable{ - icon_state = "2-4" - }, /obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 6 + dir = 10 }, /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 4 + dir = 8 }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/telecomms_floor/tatmos, +/area/ship/science/ai_chamber) "Nu" = ( /obj/machinery/vending/cigarette, /obj/effect/turf_decal/siding/thinplating/dark, /turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "Ny" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/door/window/survival_pod{ - dir = 1; - opacity = 1; - req_one_access_txt = "10"; - name = "Engineering Specialist's Quarters" - }, -/turf/open/floor/wood, +/obj/machinery/light/dim/directional/east, +/obj/structure/frame/machine, +/turf/open/floor/plasteel/tech, /area/ship/engineering) "NC" = ( /obj/machinery/camera/autoname{ @@ -4956,9 +5614,13 @@ /obj/machinery/light/floor{ pixel_y = -9 }, +/obj/structure/flora/driftwood{ + name = "twigs" + }, /turf/open/floor/engine/hull, /area/ship/external/dark) "NM" = ( +/obj/structure/railing, /turf/open/floor/plasteel/stairs{ dir = 4; color = "#a8b2b6" @@ -4975,119 +5637,237 @@ dir = 9 }, /obj/effect/turf_decal/corner/opaque/vired/half, -/obj/effect/decal/cleanable/plasma, /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "NS" = ( -/obj/structure/crate_shelf, -/obj/structure/closet/crate/freezer/blood, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, /obj/effect/turf_decal/siding/blue{ - dir = 10 + dir = 8 + }, +/obj/effect/turf_decal/siding/blue{ + dir = 4 + }, +/obj/machinery/door/airlock/medical{ + name = "Medical Specialist's Quarters"; + dir = 8; + req_access_txt = "5" }, -/obj/machinery/iv_drip, -/turf/open/floor/plasteel/white, -/area/ship/medical) -"NZ" = ( /obj/structure/cable{ - icon_state = "0-8" + icon_state = "4-8" }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/ship/crew/dorm/captain) -"Og" = ( -/obj/machinery/camera/autoname{ - dir = 1 +/turf/open/floor/pod/light, +/area/ship/crew/specialized/medical) +"NV" = ( +/obj/structure/closet/crate/secure/plasma{ + name = "Relay Parts Crate" }, -/obj/machinery/air_sensor/external, -/obj/machinery/light/dim/directional/south, -/turf/open/floor/engine/hull, -/area/ship/external/dark) -"Om" = ( -/obj/effect/turf_decal/trimline/opaque/nsorange/corner{ - dir = 1 +/obj/item/storage/box/stockparts/basic, +/obj/item/circuitboard/machine/telecomms/relay{ + pixel_x = -5; + pixel_y = 9 }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1; - color = "#474747" +/obj/item/circuitboard/machine/telecomms/relay{ + pixel_x = -5; + pixel_y = 9 }, -/turf/open/floor/plasteel/lightgrey, -/area/ship/cargo) -"On" = ( -/obj/machinery/light/dim/directional/east, -/obj/effect/turf_decal/trimline/opaque/nsorange/line{ - dir = 6 +/obj/item/circuitboard/machine/telecomms/relay{ + pixel_x = -5; + pixel_y = 9 }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_y = 16 +/obj/item/encryptionkey/nanotrasen{ + pixel_x = -1 }, -/obj/item/paper_bin{ +/obj/item/encryptionkey/nanotrasen{ + pixel_x = 3 + }, +/obj/item/encryptionkey/nanotrasen{ + pixel_x = 7 + }, +/obj/item/stack/cable_coil/cyan{ + pixel_x = 6 + }, +/obj/item/stock_parts/subspace/filter{ + pixel_x = -8 + }, +/obj/item/stock_parts/subspace/filter{ + pixel_x = -8 + }, +/obj/item/stock_parts/subspace/filter{ + pixel_x = -8 + }, +/obj/item/stock_parts/subspace/filter{ + pixel_x = -8 + }, +/obj/item/stock_parts/subspace/filter{ + pixel_x = -8 + }, +/obj/item/stock_parts/subspace/filter{ + pixel_x = -8 + }, +/obj/item/stock_parts/manipulator{ pixel_x = 7; - pixel_y = -4 + pixel_y = 7 }, -/obj/item/pen/fountain{ - pixel_x = 6; - pixel_y = -5 +/obj/item/stock_parts/manipulator{ + pixel_x = 7; + pixel_y = 7 }, -/obj/structure/table/reinforced{ - color = "#c1b6a5" +/obj/item/stock_parts/manipulator{ + pixel_x = 7; + pixel_y = 7 }, -/obj/item/toy/plush/moth/atlas{ - pixel_x = 9; - pixel_y = 16 +/obj/item/stock_parts/manipulator{ + pixel_x = 7; + pixel_y = 7 }, -/obj/machinery/camera/autoname{ - dir = 1 +/obj/item/stock_parts/manipulator{ + pixel_x = 7; + pixel_y = 7 }, -/obj/item/paper/crumpled{ - pixel_y = -6; - pixel_x = -4 +/obj/item/stock_parts/manipulator{ + pixel_x = 7; + pixel_y = 7 }, -/obj/item/paper/crumpled/muddy{ - name = "coffee-stained paper scrap"; - pixel_x = -9; - pixel_y = 6 +/obj/structure/crate_shelf, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/plating, +/area/ship/engineering) +"NZ" = ( +/obj/item/melee/classic_baton/telescopic, +/obj/item/melee/knife/survival, +/obj/item/gps, +/obj/item/screwdriver, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 7; + pixel_y = -20 + }, +/obj/item/megaphone/command, +/obj/structure/closet/secure_closet/lp/lieutenant, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/item/stock_parts/cell/gun, +/obj/item/flashlight/seclite, +/obj/item/storage/guncase/energy/egun, +/turf/open/floor/plasteel/tech, +/area/ship/crew/dorm/captain) +"Oc" = ( +/obj/machinery/door/window/brigdoor/eastleft{ + dir = 2; + req_access_txt = "1"; + name = "Armory"; + req_ship_access = 1 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 5 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 6 + }, +/obj/machinery/camera/autoname{ + dir = 4 }, /turf/open/floor/plasteel/lightgrey, -/area/ship/cargo) -"Ou" = ( +/area/ship/storage/equip) +"Og" = ( /obj/structure/cable{ - icon_state = "4-9" + icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ +/obj/effect/turf_decal/techfloor/hole/right, +/obj/structure/cable{ + icon_state = "4-10" + }, +/obj/structure/platform/military/corner, +/turf/open/floor/plasteel/tech/tcomms, +/area/ship/engineering/communications) +"Om" = ( +/obj/structure/noticeboard{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/mineral/plastitanium/red/brig, +/area/ship/security) +"On" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/machinery/airalarm/directional/south, +/obj/structure/table/reinforced, +/obj/item/flashlight/lamp/green{ + pixel_x = 9; + pixel_y = 11; + layer = 4.2 + }, +/turf/open/floor/wood/ebony, +/area/ship/crew/specialized/cargo) +"Ou" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/effect/turf_decal/trimline/opaque/nsorange/filled/line{ +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/starboard) +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "Ranger_Cargo_Privacy"; + name = "N+S Office Shutters" + }, +/obj/structure/grille, +/obj/structure/cable{ + icon_state = "4-9" + }, +/turf/open/floor/plating, +/area/ship/cargo) "Ov" = ( -/obj/machinery/light/dim/directional/east, -/obj/machinery/telecomms/broadcaster/preset_right{ - autolinkers = list("broadcasterB","hub"); - network = "nt_commnet" +/obj/machinery/door/window/eastright{ + dir = 2; + name = "Morgue Access"; + req_access_txt = "5"; + req_ship_access = 1 }, /obj/effect/turf_decal/techfloor{ - dir = 8 + dir = 1 }, -/turf/open/floor/circuit, -/area/ship/engineering/communications) +/obj/effect/turf_decal/techfloor, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines/port) "Ox" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 9 +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/techfloor{ + dir = 4 }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 +/obj/structure/table/reinforced{ + color = "#8A9397" }, -/obj/item/gps/computer{ - pixel_x = 32; - pixel_y = 0; - density = 0 +/obj/item/wrench, +/obj/item/screwdriver, +/obj/item/stack/cable_coil/cyan, +/obj/item/stack/sheet/rglass{ + amount = 25 }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) +/obj/item/aicard, +/turf/open/floor/circuit/telecomms, +/area/ship/science/ai_chamber) "OC" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -5105,20 +5885,14 @@ /turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "OK" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner, -/obj/machinery/autolathe, -/obj/item/disk/design_disk/ammo_c9mm, -/obj/item/stack/sheet/metal/ten, -/obj/item/stack/sheet/glass{ - amount = 10 - }, -/obj/effect/turf_decal/corner/opaque/vired/half{ - dir = 1 +/obj/effect/turf_decal/siding/thinplating{ + dir = 1; + color = "#a8b2b6" }, -/obj/effect/turf_decal/trimline/opaque/nsorange/filled/corner, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/starboard) +/obj/item/bikehorn/rubberducky, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/noslip, +/area/ship/crew/toilet) "OP" = ( /obj/structure/cable{ icon_state = "1-2" @@ -5129,33 +5903,23 @@ /turf/open/floor/plasteel/dark, /area/ship/hallway/central) "Pd" = ( -/obj/item/aiModule/core/freeformcore{ - pixel_x = -2; - pixel_y = 1 - }, -/obj/item/aiModule/reset/purge{ - pixel_y = 6; - pixel_x = 1 - }, -/obj/item/aiModule/reset{ - pixel_x = 4; - pixel_y = -2 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/machinery/light/dim/directional/north, -/obj/effect/turf_decal/techfloor, -/obj/structure/table/reinforced{ - color = "#8A9397" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, -/turf/open/floor/circuit, -/area/ship/engineering/communications) +/turf/open/floor/plasteel/dark, +/area/ship/hallway/starboard) "Ph" = ( /obj/effect/turf_decal/industrial/warning, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, /obj/machinery/firealarm/directional/east, +/obj/structure/platform/industrial_alt/corner, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "Po" = ( /obj/structure/tank_dispenser/oxygen, /obj/effect/turf_decal/siding/yellow{ @@ -5164,16 +5928,19 @@ /obj/structure/railing{ dir = 8 }, +/obj/structure/sign/poster/official/safety_eye_protection{ + pixel_x = 32 + }, /turf/open/floor/plasteel/tech, /area/ship/hallway/port) "Pr" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /obj/effect/turf_decal/corner/opaque/vired{ dir = 1 }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, /turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "Pu" = ( @@ -5186,6 +5953,27 @@ }, /turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) +"PC" = ( +/obj/structure/closet/cabinet, +/obj/item/clothing/suit/hooded/wintercoat/engineering, +/obj/item/clothing/head/beret/eng/hazard, +/obj/item/storage/backpack/satchel/eng, +/obj/item/storage/backpack/messenger/engi, +/obj/item/storage/backpack/industrial, +/obj/item/storage/backpack/duffelbag/engineering, +/obj/item/clothing/under/rank/engineering/engineer/nt/lp, +/obj/item/clothing/under/rank/engineering/engineer/nt/skirt/lp, +/obj/item/storage/backpack/ert/engineer, +/obj/item/clothing/suit/nanotrasen/vest, +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/obj/item/clothing/suit/hooded/wintercoat/engineering, +/obj/item/clothing/suit/hooded/wintercoat/engineering/atmos, +/obj/machinery/airalarm/directional/north, +/obj/machinery/light/small/directional/west, +/turf/open/floor/wood, +/area/ship/crew/specialized/engineering) "PG" = ( /obj/structure/cable{ icon_state = "1-2" @@ -5202,11 +5990,66 @@ }, /turf/open/floor/plasteel/dark, /area/ship/hallway/central) +"PM" = ( +/obj/structure/closet/secure_closet{ + icon_state = "qm"; + name = "Logistics Specialist's Locker"; + req_ship_access = 1; + req_one_access = list(50) + }, +/obj/item/clothing/suit/hooded/wintercoat/cargo{ + pixel_x = 14 + }, +/obj/item/clothing/shoes/sneakers/brown{ + pixel_x = -10; + pixel_y = -12 + }, +/obj/item/storage/backpack/satchel/leather{ + pixel_y = -6 + }, +/obj/item/clothing/under/nanotrasen/supply/qm, +/obj/item/gps{ + pixel_x = 11; + pixel_y = 9 + }, +/obj/item/stack/packageWrap{ + pixel_x = -10; + pixel_y = 12 + }, +/obj/item/stack/packageWrap{ + pixel_x = -10 + }, +/obj/item/stack/packageWrap{ + pixel_x = -10; + pixel_y = 6 + }, +/obj/item/melee/knife/letter_opener{ + pixel_x = 13; + pixel_y = -12 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/camera/autoname{ + dir = 6 + }, +/turf/open/floor/plasteel/tech, +/area/ship/crew/specialized/cargo) "PR" = ( /obj/structure/cable{ icon_state = "4-8" }, /obj/effect/turf_decal/corner/opaque/vired/half, +/obj/structure/sign/poster/official/help_others{ + pixel_y = -32 + }, /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "PV" = ( @@ -5223,10 +6066,34 @@ /turf/open/floor/plasteel/mono/dark, /area/ship/engineering) "Qf" = ( -/obj/effect/turf_decal/corner/opaque/vired/half, +/obj/structure/cable{ + icon_state = "6-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 1 + }, /obj/effect/turf_decal/siding/thinplating/dark, /turf/open/floor/plasteel/tech, /area/ship/storage/equip) +"Qr" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump/on/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/valve/digital{ + dir = 8; + name = "Valve - Air to External Scrubber" + }, +/turf/open/floor/plating, +/area/ship/hallway/central) "Qt" = ( /obj/effect/turf_decal/industrial/hatch/orange, /obj/machinery/power/ship_gravity, @@ -5259,24 +6126,50 @@ /turf/open/floor/engine/hull, /area/ship/external/dark) "Rn" = ( -/obj/machinery/light/dim/directional/north, -/obj/structure/crate_shelf, -/obj/machinery/door/window/brigdoor/eastleft{ - dir = 2; - req_access_txt = "1"; - name = "Armory"; - req_ship_access = 1 +/obj/structure/closet/secure_closet/armorycage, +/obj/effect/turf_decal/industrial/fire, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 +/obj/item/clothing/suit/armor/nanotrasen/slim{ + pixel_x = -10; + pixel_y = -6 }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 +/obj/item/clothing/suit/armor/nanotrasen/slim{ + pixel_x = -10; + pixel_y = -1 }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 9 +/obj/item/clothing/head/helmet/swat{ + pixel_x = -9; + pixel_y = 9 }, -/turf/open/floor/plasteel/lightgrey, +/obj/item/clothing/head/helmet/swat{ + pixel_x = -1; + pixel_y = 9 + }, +/obj/item/clothing/mask/gas/sechailer{ + pixel_x = -10; + pixel_y = -14 + }, +/obj/item/clothing/mask/gas/sechailer{ + pixel_x = -1; + pixel_y = -14 + }, +/obj/item/flashlight/seclite{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/flashlight/seclite{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/storage/belt/security/webbing, +/obj/item/storage/belt/security/webbing, +/obj/item/radio/headset/alt{ + pixel_x = 5; + pixel_y = -11 + }, +/turf/open/floor/plasteel/tech, /area/ship/storage/equip) "Ro" = ( /obj/effect/turf_decal/trimline/opaque/ntblue/filled/line{ @@ -5300,14 +6193,17 @@ /turf/open/floor/plasteel/dark, /area/ship/hallway/port) "RB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 +/obj/structure/chair/handrail{ + dir = 8; + pixel_x = 2 }, -/obj/machinery/camera/autoname{ - dir = 10 +/obj/effect/turf_decal/techfloor{ + dir = 4 }, -/turf/open/floor/engine/hull, -/area/ship/external/dark) +/turf/open/floor/plasteel/tech/techmaint{ + color = "#a8b2b6" + }, +/area/ship/hallway/central) "RM" = ( /obj/structure/chair/sofa/brown/left/directional/west, /obj/machinery/light/dim/directional/east, @@ -5317,8 +6213,11 @@ /obj/machinery/portable_atmospherics/canister/toxins, /obj/effect/turf_decal/industrial/outline/orange, /obj/effect/decal/cleanable/plasma, +/obj/structure/platform/industrial_alt{ + dir = 4 + }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "Sa" = ( /obj/effect/turf_decal/ntspaceworks_small, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -5330,101 +6229,54 @@ /obj/effect/turf_decal/spline/fancy/opaque/blue, /turf/open/floor/plasteel/dark, /area/ship/bridge) -"Sl" = ( -/obj/structure/closet/crate/secure/plasma{ - name = "Relay Parts Crate" - }, -/obj/item/storage/box/stockparts/basic, -/obj/item/circuitboard/machine/telecomms/relay{ - pixel_x = -5; - pixel_y = 9 - }, -/obj/item/circuitboard/machine/telecomms/relay{ - pixel_x = -5; - pixel_y = 9 - }, -/obj/item/circuitboard/machine/telecomms/relay{ - pixel_x = -5; - pixel_y = 9 - }, -/obj/item/encryptionkey/nanotrasen{ - pixel_x = -1 - }, -/obj/item/encryptionkey/nanotrasen{ - pixel_x = 3 - }, -/obj/item/encryptionkey/nanotrasen{ - pixel_x = 7 - }, -/obj/item/stack/cable_coil/cyan{ - pixel_x = 6 - }, -/obj/item/stock_parts/subspace/filter{ - pixel_x = -8 - }, -/obj/item/stock_parts/subspace/filter{ - pixel_x = -8 - }, -/obj/item/stock_parts/subspace/filter{ - pixel_x = -8 - }, -/obj/item/stock_parts/subspace/filter{ - pixel_x = -8 - }, -/obj/item/stock_parts/subspace/filter{ - pixel_x = -8 - }, -/obj/item/stock_parts/subspace/filter{ - pixel_x = -8 - }, -/obj/item/stock_parts/manipulator{ - pixel_x = 7; - pixel_y = 7 - }, -/obj/item/stock_parts/manipulator{ - pixel_x = 7; - pixel_y = 7 - }, -/obj/item/stock_parts/manipulator{ - pixel_x = 7; - pixel_y = 7 - }, -/obj/item/stock_parts/manipulator{ - pixel_x = 7; - pixel_y = 7 +"Sd" = ( +/obj/effect/decal/cleanable/shreds, +/obj/effect/decal/cleanable/wrapping, +/obj/effect/turf_decal/corner/opaque/syndiered/half{ + dir = 1 }, -/obj/item/stock_parts/manipulator{ - pixel_x = 7; - pixel_y = 7 +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 1 }, -/obj/item/stock_parts/manipulator{ - pixel_x = 7; - pixel_y = 7 +/obj/structure/chair/handrail, +/turf/open/floor/plasteel/tech, +/area/ship/storage/equip) +"Sl" = ( +/obj/item/bodypart/leg/right/robot, +/obj/item/bodypart/r_arm/robot, +/obj/item/bodypart/leg/left/robot, +/obj/item/bodypart/l_arm/robot, +/obj/item/bodypart/chest/robot, +/obj/item/bodypart/head/robot, +/obj/item/borg/upgrade/ai, +/obj/item/robot_suit, +/obj/structure/closet/crate/engineering{ + name = "Robotics Crate" }, -/obj/structure/crate_shelf, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/light/dim/directional/east, +/obj/item/stock_parts/cell/high, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/item/borg/upgrade/restart, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, /turf/open/floor/plating, /area/ship/engineering) "So" = ( -/obj/structure/cable{ - icon_state = "5-8" - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 10 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 }, -/obj/effect/turf_decal/trimline/opaque/nsorange/warning{ +/obj/effect/decal/cleanable/wrapping, +/obj/structure/chair/office{ dir = 1 }, -/obj/effect/turf_decal/siding{ - color = "#474747"; - dir = 1 +/obj/structure/cable{ + icon_state = "4-8" }, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/plasteel/lightgrey, +/turf/open/floor/plasteel/white, /area/ship/cargo) "Sv" = ( /obj/effect/turf_decal/siding/thinplating/dark{ @@ -5434,27 +6286,16 @@ /turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "SC" = ( -/obj/item/storage/box/donkpockets{ - pixel_x = -3 - }, -/obj/item/storage/box/donkpockets/donkpocketpizza{ - pixel_x = 2; - pixel_y = 4 - }, -/obj/item/storage/box/donkpockets/donkpocketspicy{ - pixel_y = 9; - pixel_x = 7 - }, -/obj/structure/table/reinforced{ - color = "#8A9397" - }, -/turf/open/floor/plasteel/lightgrey, -/area/ship/hallway/central) +/turf/open/floor/plasteel/dark, +/area/ship/hallway/port) "SE" = ( /obj/effect/turf_decal/industrial/outline/orange, /obj/machinery/portable_atmospherics/canister/toxins, +/obj/structure/platform/industrial_alt{ + dir = 4 + }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "SG" = ( /obj/structure/toilet{ dir = 1 @@ -5462,12 +6303,27 @@ /turf/open/floor/plating/catwalk_floor, /area/ship/security) "SN" = ( -/obj/effect/turf_decal/trimline/opaque/nsorange/filled/line{ +/obj/machinery/door/airlock/mining{ + dir = 8; + name = "N+S Office" + }, +/obj/effect/turf_decal/siding/thinplating/dark/corner, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ dir = 4 }, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/starboard) +/obj/effect/turf_decal/siding{ + dir = 8; + color = "#FF6600" + }, +/obj/effect/turf_decal/siding{ + dir = 4; + color = "#FF6600" + }, +/turf/open/floor/pod/light, +/area/ship/cargo) "Tb" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/storage/equip) @@ -5482,35 +6338,66 @@ /obj/structure/cable/cyan{ icon_state = "6-8" }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "Tl" = ( /obj/structure/sign/nanotrasen/vigilitas, /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/hallway/central) "Tz" = ( -/obj/effect/turf_decal/corner/opaque/vired/three_quarters, -/turf/closed/wall/mineral/titanium/nodiagonal, -/area/ship/hallway/port) -"TG" = ( -/obj/item/toy/plush/spider, -/obj/machinery/camera/autoname{ - dir = 9 +/obj/structure/chair/office{ + dir = 4; + name = "tactical swivel chair" }, -/obj/structure/table/reinforced{ - color = "#8A9397" +/obj/effect/turf_decal/corner/opaque/blue/diagonal, +/obj/effect/turf_decal/borderfloor{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/effect/turf_decal/siding/thinplating/light, +/turf/open/floor/plasteel/white, +/area/ship/medical) +"TC" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/techfloor, +/obj/structure/closet/secure_closet/brig{ + name = "Secure Holding Locker" + }, +/obj/machinery/door/window/brigdoor/northleft{ + req_access_txt = "1"; + name = "Secure Lockup"; + req_ship_access = 1 }, /turf/open/floor/plasteel/tech, -/area/ship/security) -"TL" = ( -/obj/machinery/light/dim/directional/north, -/obj/effect/turf_decal/trimline/opaque/nsorange/line{ +/area/ship/engineering/engines/starboard) +"TG" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 5 }, -/obj/item/bedsheet/qm, -/obj/structure/bed, -/obj/structure/curtain/bounty, -/turf/open/floor/plasteel/lightgrey, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ship/crew/specialized/engineering) +"TL" = ( +/obj/machinery/computer/cargo, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/line{ + dir = 1 + }, +/obj/machinery/camera/autoname{ + dir = 6 + }, +/turf/open/floor/plasteel/white, /area/ship/cargo) "TR" = ( /obj/machinery/light/dim/directional/north, @@ -5526,32 +6413,26 @@ /obj/effect/turf_decal/trimline/opaque/vired/arrow_ccw{ dir = 4 }, -/obj/effect/turf_decal/trimline/opaque/vired/filled/line{ +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/effect/turf_decal/techfloor{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel/tech, /area/ship/hallway/port) "Ua" = ( -/obj/machinery/camera/autoname{ - dir = 9 - }, -/obj/machinery/button/door{ - dir = 8; - pixel_x = 26; - id = "AiCore"; - name = "Core Access"; - req_access_txt = "20"; - pixel_y = 8 - }, /obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 5 + dir = 9 }, /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 4 + dir = 8 }, -/turf/open/floor/plasteel/telecomms_floor, -/area/ship/engineering/communications) +/obj/item/gps/computer{ + pixel_x = 32; + pixel_y = 0; + density = 0 + }, +/turf/open/floor/plasteel/telecomms_floor/tatmos, +/area/ship/science/ai_chamber) "Uj" = ( /obj/structure/table/reinforced{ color = "#c1b6a5" @@ -5582,21 +6463,31 @@ /obj/effect/turf_decal/trimline/opaque/vired/arrow_cw{ dir = 8 }, -/obj/effect/turf_decal/trimline/opaque/vired/filled/line{ +/obj/effect/turf_decal/techfloor{ dir = 4 }, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel/tech, /area/ship/hallway/port) "Us" = ( -/obj/effect/turf_decal/siding/red{ - dir = 9 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/firedoor/border_only{ + dir = 1 }, -/obj/structure/closet/crate/bin, -/obj/machinery/camera/autoname{ - dir = 4 +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/siding/yellow, +/obj/effect/turf_decal/siding/yellow{ + dir = 1 }, -/turf/open/floor/plasteel/tech, -/area/ship/security) +/obj/machinery/door/airlock/engineering{ + name = "Engineering Specialist's Quarters"; + req_access_txt = "10" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/pod/light, +/area/ship/crew/specialized/engineering) "Ut" = ( /obj/structure/urinal{ pixel_y = 29 @@ -5605,8 +6496,24 @@ /turf/open/floor/plasteel/showroomfloor, /area/ship/crew/toilet) "UQ" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/atmos/air_output{ + piping_layer = 2; + dir = 8; + layer = 2 + }, /turf/open/floor/engine/air, /area/ship/hallway/central) +"UR" = ( +/obj/machinery/light/dim/directional/east, +/obj/machinery/telecomms/broadcaster/preset_right{ + autolinkers = list("broadcasterB","hub"); + network = "nt_commnet" + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/turf/open/floor/circuit/telecomms, +/area/ship/engineering/communications) "UU" = ( /obj/structure/cable{ icon_state = "1-2" @@ -5631,8 +6538,9 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/effect/decal/cleanable/plasma, +/obj/structure/platform/industrial_alt/corner, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "Vg" = ( /obj/machinery/camera/autoname{ dir = 10 @@ -5664,7 +6572,7 @@ dir = 8 }, /turf/open/floor/plating, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "Vp" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/ship/hallway/starboard) @@ -5673,18 +6581,21 @@ /obj/effect/decal/cleanable/plasma, /obj/machinery/portable_atmospherics/canister/toxins, /obj/effect/decal/cleanable/plasma, +/obj/structure/platform/industrial_alt{ + dir = 4 + }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "Vt" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable{ icon_state = "0-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/platform/industrial_alt, /obj/machinery/space_heater, -/obj/structure/railing, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "VC" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/stairs{ @@ -5725,16 +6636,15 @@ /obj/item/toy/plush/tali{ pixel_y = 14 }, +/obj/item/radio/intercom/directional/north, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "VP" = ( -/obj/machinery/newscaster/security_unit/directional/south, -/obj/structure/chair/office{ - dir = 4; - name = "tactical swivel chair" - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/mineral/plastitanium/red/brig, +/obj/machinery/light/dim/directional/south, +/obj/effect/turf_decal/siding/red/end, +/obj/machinery/airalarm/directional/west, +/obj/effect/decal/cleanable/confetti, +/turf/open/floor/plasteel/tech, /area/ship/security) "VQ" = ( /obj/machinery/camera/autoname{ @@ -5754,15 +6664,33 @@ /obj/effect/turf_decal/siding/thinplating/dark{ dir = 5 }, -/obj/structure/closet/crate/bin, +/obj/item/radio/intercom/directional/north, +/obj/machinery/autolathe, +/obj/item/disk/design_disk/ammo_c9mm, +/obj/item/stack/sheet/glass{ + amount = 10 + }, /turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "Wj" = ( /obj/structure/bed, -/obj/item/radio/intercom/directional/south, /obj/item/bedsheet/red, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/button/door{ + pixel_x = -22; + pixel_y = -2; + dir = 4; + name = "Security Quarters Windows"; + id = "Ranger_Security_Specialist_Quarters"; + req_ship_access = 1 + }, /turf/open/floor/wood, -/area/ship/security) +/area/ship/crew/specialized/security) "Wp" = ( /obj/machinery/door/poddoor{ dir = 2; @@ -5792,6 +6720,7 @@ /obj/effect/turf_decal/corner/opaque/vired{ dir = 4 }, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/corner, /turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "Wv" = ( @@ -5809,9 +6738,16 @@ /turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "Wz" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4, -/turf/open/floor/engine/hull, -/area/ship/external/dark) +/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner, +/obj/structure/window/reinforced/fulltile/shuttle, +/obj/structure/grille, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "Ranger_Cargo_Privacy"; + name = "N+S Office Shutters" + }, +/turf/open/floor/plating, +/area/ship/cargo) "WF" = ( /obj/structure/cable{ icon_state = "4-8" @@ -5823,26 +6759,32 @@ dir = 4 }, /obj/machinery/light/dim/directional/south, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel/tech/tcomms, /area/ship/engineering/communications) "WG" = ( -/obj/machinery/telecomms/server/presets/nanotrasen{ - autolinkers = list("nanotrasen","hub"); - network = "nt_commnet"; - freq_listening = list(1353,1447,1459) +/obj/machinery/light/dim/directional/south, +/obj/machinery/telecomms/relay{ + freq_listening = list(1353,1447,1459); + id = "Nanotrasen Relay"; + name = "Nanotrasen relay"; + network = "nt_commnet" }, -/obj/item/disk/holodisk/lp/stations, /obj/effect/turf_decal/techfloor{ dir = 1 }, -/turf/open/floor/circuit, +/obj/machinery/camera/autoname{ + dir = 10 + }, +/turf/open/floor/circuit/telecomms, /area/ship/engineering/communications) "WR" = ( -/obj/effect/turf_decal/corner/opaque/vired/half{ +/obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 }, -/obj/effect/decal/cleanable/shreds, -/obj/effect/decal/cleanable/wrapping, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/plasteel/tech, /area/ship/storage/equip) "WZ" = ( @@ -5888,12 +6830,26 @@ /obj/machinery/suit_storage_unit/inherit{ name = "Engineering Specialist's Storage Unit" }, +/obj/item/clothing/mask/breath, /obj/item/clothing/suit/space/hardsuit/ert/lp/engi, /obj/item/tank/internals/oxygen/yellow, /obj/effect/turf_decal/industrial/outline/yellow, -/obj/item/clothing/mask/gas/vigilitas, /turf/open/floor/plasteel/lightgrey, /area/ship/storage/equip) +"Xz" = ( +/obj/effect/turf_decal/corner/opaque/vired/half, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/plasma, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/port) "XA" = ( /obj/structure/cable{ icon_state = "1-10" @@ -5927,10 +6883,16 @@ /obj/effect/turf_decal/techfloor{ dir = 1 }, -/obj/structure/closet/wall/directional/south, +/obj/structure/closet/wall/directional/south{ + name = "Intern's Locker" + }, /obj/effect/turf_decal/corner/opaque/lightgrey{ dir = 10 }, +/obj/item/clothing/under/nanotrasen, +/obj/item/clothing/shoes/sneakers/black{ + pixel_y = -10 + }, /turf/open/floor/plasteel/dark, /area/ship/crew/cryo) "XL" = ( @@ -6007,14 +6969,17 @@ /obj/structure/cable{ icon_state = "4-8" }, +/obj/item/radio/intercom/directional/south, /turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "Yk" = ( -/obj/effect/turf_decal/trimline/opaque/nsorange/warning, /obj/effect/turf_decal/siding{ color = "#474747" }, -/turf/open/floor/plasteel/lightgrey, +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning{ + dir = 4 + }, +/turf/open/floor/plasteel/white, /area/ship/cargo) "Yw" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -6038,7 +7003,8 @@ id = "Ranger_Port_holofields" }, /obj/machinery/door/poddoor{ - id = "Ranger_Port_Blasts" + id = "Ranger_Port_Blasts"; + name = "Portside Access" }, /obj/structure/cable{ icon_state = "0-2" @@ -6047,51 +7013,63 @@ /obj/machinery/door/firedoor/border_only{ dir = 1 }, -/turf/open/floor/plasteel, +/turf/open/floor/plasteel/tech, /area/ship/hallway/port) "Yz" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, /obj/machinery/door/airlock/security/brig{ dir = 8; id_tag = "SecureCell"; name = "Holding Cell"; req_access_txt = "1" }, -/turf/open/floor/plating, +/obj/effect/turf_decal/siding/red{ + dir = 8 + }, +/obj/effect/turf_decal/siding{ + color = "#474747"; + dir = 4 + }, +/turf/open/floor/pod/light, /area/ship/security) "YJ" = ( -/obj/effect/turf_decal/corner/opaque/vired/three_quarters, -/obj/structure/table/reinforced, -/obj/item/screwdriver{ - pixel_x = -7; - pixel_y = 7 +/obj/effect/turf_decal/corner/opaque/syndiered/half, +/obj/effect/turf_decal/siding/thinplating/dark, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/item/screwdriver{ - pixel_x = -7 +/turf/open/floor/plasteel/tech, +/area/ship/storage/equip) +"YK" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_x = 9; + pixel_y = 3 }, -/obj/item/hand_labeler{ - pixel_x = 8; - pixel_y = 13 +/obj/item/toy/plush/moth/snow{ + pixel_x = -3 }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ +/obj/item/folder/blue{ + pixel_x = -3; + pixel_y = -10 + }, +/obj/item/flashlight/pen{ + pixel_x = -5; + pixel_y = -9 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/light_switch{ + pixel_x = 20; + pixel_y = 11; dir = 8 }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/tech, -/area/ship/storage/equip) -"YK" = ( -/obj/machinery/firealarm/directional/north{ - pixel_x = -4 +/obj/structure/cable{ + icon_state = "0-2" }, -/obj/structure/table/reinforced, -/obj/machinery/computer/helm/viewscreen/directional/west, -/turf/open/floor/plasteel/white, -/area/ship/medical) +/turf/open/floor/wood, +/area/ship/crew/specialized/medical) "YP" = ( /obj/structure/cable{ icon_state = "2-4" @@ -6114,24 +7092,23 @@ /obj/effect/turf_decal/steeldecal/steel_decals10{ dir = 8 }, +/obj/structure/railing, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) +/area/ship/engineering/engines/starboard) "YW" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/camera/autoname{ - dir = 4 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 6 }, -/obj/item/radio/intercom/directional/west, -/obj/effect/turf_decal/corner/opaque/vired/half{ - dir = 8 +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 5 }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 +/obj/structure/cable{ + icon_state = "1-2" }, -/turf/open/floor/plasteel/dark, -/area/ship/hallway/central) +/turf/open/floor/plasteel/tech, +/area/ship/engineering) "Zj" = ( /obj/machinery/atmospherics/components/unary/shuttle/heater{ dir = 4 @@ -6145,31 +7122,38 @@ name = "Engine Shutters" }, /turf/open/floor/plating, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "Zk" = ( -/obj/machinery/advanced_airlock_controller{ - pixel_y = 24 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 +/obj/structure/cable{ + icon_state = "1-2" }, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/clothing/mask/breath, -/obj/machinery/suit_storage_unit/inherit{ - name = "Emergency EVA Suit" +/obj/machinery/light/floor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 }, -/obj/item/clothing/head/helmet/space/fragile, -/obj/item/clothing/suit/space/fragile, -/turf/open/floor/plasteel/tech/techmaint{ - color = "#a8b2b6" +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, +/turf/open/floor/plasteel/dark, /area/ship/hallway/central) "Zl" = ( /obj/effect/turf_decal/industrial/outline/orange, /obj/machinery/portable_atmospherics/canister/toxins, /obj/effect/decal/cleanable/plasma, +/obj/structure/platform/industrial_alt{ + dir = 4 + }, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) +"Zn" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/port) "Zs" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/door/firedoor/border_only{ @@ -6187,24 +7171,45 @@ /obj/effect/turf_decal/trimline/opaque/vired/arrow_ccw{ dir = 4 }, -/obj/effect/turf_decal/trimline/opaque/vired/filled/line{ +/obj/machinery/atmospherics/pipe/simple/cyan/hidden, +/obj/effect/turf_decal/techfloor{ dir = 8 }, -/obj/machinery/atmospherics/pipe/simple/cyan/hidden, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel/tech, /area/ship/hallway/port) "Zv" = ( -/obj/machinery/firealarm/directional/west, -/obj/machinery/camera/autoname{ - dir = 4 +/obj/structure/closet/cabinet, +/obj/item/clothing/shoes/jackboots, +/obj/item/clothing/suit/hooded/wintercoat/security, +/obj/item/clothing/gloves/color/black, +/obj/item/clothing/head/beret/sec, +/obj/item/clothing/under/rank/security/head_of_security/nt/lp, +/obj/item/clothing/under/rank/security/head_of_security/nt/skirt/lp, +/obj/item/clothing/under/rank/security/head_of_security/alt/lp, +/obj/item/storage/backpack/ert/security, +/obj/effect/turf_decal/techfloor{ + dir = 1 }, -/turf/open/floor/wood, -/area/ship/security) +/obj/effect/turf_decal/techfloor, +/obj/item/clothing/head/soft/black, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/item/clothing/glasses/hud/security/prescription, +/obj/item/clothing/mask/gas/sechailer, +/obj/item/clothing/suit/armor/nanotrasen, +/obj/item/clothing/suit/armor/nanotrasen/slim, +/obj/item/clothing/suit/armor/vest/security/officer, +/obj/item/clothing/suit/armor/vest/bulletproof, +/obj/machinery/airalarm/directional/north, +/obj/machinery/firealarm/directional/west, +/obj/item/clothing/head/nanotrasen/beret/security, +/obj/item/clothing/head/nanotrasen/cap/security, +/turf/open/floor/plasteel/tech, +/area/ship/crew/specialized/security) "Zw" = ( -/obj/structure/cable{ - icon_state = "1-2" +/obj/effect/turf_decal/trimline/opaque/nsorange/filled/warning{ + dir = 4 }, -/obj/effect/turf_decal/trimline/transparent/white/filled/warning, +/obj/effect/turf_decal/trimline/transparent/white/filled/corner, /turf/open/floor/plasteel/dark, /area/ship/hallway/starboard) "Zx" = ( @@ -6218,9 +7223,13 @@ "ZF" = ( /obj/machinery/light/dim/directional/south, /obj/effect/turf_decal/industrial/outline/blue, -/obj/structure/reagent_dispensers/watertank, +/obj/machinery/suit_storage_unit/inherit/industrial{ + name = "dusty industrial suit storage unit" + }, +/obj/item/clothing/suit/space/hardsuit/ancient/lp, +/obj/item/clothing/mask/breath, /turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) +/area/ship/engineering/engines/port) "ZI" = ( /obj/structure/cable{ icon_state = "4-8" @@ -6235,42 +7244,23 @@ /obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/turf/open/floor/plasteel/tech, +/turf/open/floor/plasteel/tech/tcomms, /area/ship/engineering/communications) "ZL" = ( /obj/machinery/vending/coffee, /turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) "ZS" = ( -/obj/structure/closet/syndicate{ - desc = "It's the armory closet. A closet with shelving, in an armory!" - }, -/obj/machinery/door/window/brigdoor/eastright{ - dir = 2; - req_access_txt = "1"; - name = "Armory"; - req_ship_access = 1 - }, -/obj/item/storage/guncase/pistol/commander, -/obj/item/ammo_box/magazine/co9mm, -/obj/item/clothing/suit/armor/nanotrasen/slim, -/obj/item/clothing/suit/armor/nanotrasen/slim, -/obj/item/ammo_box/magazine/smgm9mm, -/obj/item/ammo_box/magazine/smgm9mm, -/obj/item/ammo_box/magazine/smgm9mm, -/obj/item/storage/guncase/pistol, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 +/obj/structure/cable{ + icon_state = "1-4" }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 5 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/stairs{ + dir = 1; + color = "#a8b2b6" }, -/obj/item/gun/ballistic/automatic/smg/skm_carbine/saber, -/turf/open/floor/plasteel/lightgrey, -/area/ship/storage/equip) +/area/ship/bridge) "ZW" = ( /obj/machinery/light/dim/directional/north, /obj/effect/turf_decal/trimline/opaque/ntblue/filled/corner{ @@ -6318,7 +7308,7 @@ zW zW yK zW -QT +kF qs qs QT @@ -6353,13 +7343,13 @@ zW zW zW zW -QT +kF tr -QT +kF BO rW -QT -QT +kF +kF zW zW zW @@ -6390,13 +7380,13 @@ zW zW zW zW -QT +kF br -QT +kF DW nJ iC -QT +kF zW zW zW @@ -6427,14 +7417,14 @@ zW zW zW zW -QT +kF Vm tZ oq an cE -QT -QT +kF +kF zW zW "} @@ -6464,14 +7454,14 @@ zW zW zW zW -QT +kF qQ gD ib eN Lw Dd -QT +kF zW zW "} @@ -6480,7 +7470,7 @@ zW zW zW zW -vm +LV Vq Zl iq @@ -6492,23 +7482,23 @@ zW zW zW zW -Kg -kQ -kQ -kQ -Kg zW zW zW zW -QT +zW +zW +zW +zW +zW +kF VM YP vv Ph RS SE -fV +kF zW zW "} @@ -6516,11 +7506,11 @@ zW zW zW zW -vm -vm -vm -vm -vm +su +su +su +su +su LV ad ZF @@ -6528,124 +7518,161 @@ LV zW zW zW -Kg -Kg -gh +zW +Mh Md -pL -Kg -Kg +Md +Md +Mh zW zW zW -QT +zW +kF ML -ih -QT -QT -QT -fV -fV -fV +ih +kF +yF +yF +yF +yF +yF zW "} (8,1,1) = {" zW zW -hN -vm -vm +Te +Mc +Ao cj oQ -tq -LV +su +yo sm qb LV zW zW zW -Kg -Pd +Mh +Mh Ox IE Ep -Nf -Kg +Mh +Mh zW zW zW -QT +kF gz FQ -QT -jv +TC +yF Zv AZ Wj -fV -sp +yG +Te "} (9,1,1) = {" zW zW -vm -vm +gL +Mc YK aO Aw -Gn -LV -vT -LV +su +Ov +xY +JO LV zW zW -yK -Kg +zW +Mh MK Ua vO Nn Cq -Kg -yK +Mh zW zW -QT -QT +zW +kF +mK id -QT -fV +fU +yF bw hQ ab -fV -fV +zM +gL "} (10,1,1) = {" zW zW vm -sF -oi +su +su NS -vF +su +su +LV +vT +LV +LV +zW +zW +yK +Mh +qJ +pi +kw +gk +cI +Mh +yK +zW +zW +kF +kF +hG +kF +fV +fV +Js +fV +fV +fV +"} +(11,1,1) = {" +zW +zW vm -jA +ix +Kt +jk +vS +vm +Cb zc jA zW zW wU wU -Kg -Kg -Kg -kw -gk -Kg -Kg +Mh +Mh +Mh +lu +lw +Mh +Mh Kg Kg zW @@ -6654,87 +7681,124 @@ Vp cN vR nq -Us -Js -Ma -sR +gi +LM +bN +VP fV "} -(11,1,1) = {" +(12,1,1) = {" zW zW vm -ix -Kt -jk -vS +mJ +Tz +gh +uW Qu -Cb -NR +SC +Xz jA -qe +bX wU wU jt WZ -Mh +lD wU nE WF Kg -LM -bX +sl +CB Kg Kg -fo +EE Vp Ff +Pd +nq +tQ +or +KT +Om +fV +"} +(13,1,1) = {" +zW +zW +vm +jv +pG +tq +jZ +Qu +Zn +NR +jA +GY +wU +LQ +aP +Pu +xq +Wp +Gz +dn +Mx +fo +sR +ux +Kg +GY +Vp +Lt wT nq -gi +rg Lg -bN -VP +df +Nf fV "} -(12,1,1) = {" +(14,1,1) = {" zW zW vm vV GC kS -uW +Ct Qu XQ PR jA zW wU -LQ -aP -Pu -xq -Wp -Gz -dn -AH -sl -CB -yA +gN +dr +rC +yi +Dr +ZJ +Og +wf +MD +tT +WG Kg zW Vp no Vh qR -tQ +Iz nh Dx yk fV "} -(13,1,1) = {" +(15,1,1) = {" zW zW vm @@ -6748,17 +7812,17 @@ pU jA zW wU -gN -dr -rC -yi -Dr -ZJ -fU -Mx -MD -tT -ux +Ge +Sl +JP +wU +wU +hK +Hd +wU +Ds +Bo +wu Kg zW Vp @@ -6771,31 +7835,31 @@ iH iH fV "} -(14,1,1) = {" +(16,1,1) = {" zW zW vm XS Xb -sU -Ct +vF +zO Qu bf tR jA zW wU -Ge -or -JP -wU -wU -hK -Hd wU -Ds -Bo -WG +NV +Nd +IC +Mz +jF +PV +dP +EP +UR +Kg Kg zW Vp @@ -6808,7 +7872,7 @@ Ji SG fV "} -(15,1,1) = {" +(17,1,1) = {" zW zW JR @@ -6821,31 +7885,31 @@ jH uE jA zW +zW wU wU -Sl -Nd -IC -Mz -jF -PV -dP -wC -Ov +Qt +wU +Ca +rA +aG +wU Kg Kg +Kg +zW zW Vp -yo +Ma Cg of jd -TG +lX my xv fV "} -(16,1,1) = {" +(18,1,1) = {" zW zW JR @@ -6859,21 +7923,21 @@ Kf jA zW zW +Vg wU wU -Qt -wU -Ca -rA -yU wU -Kg -Kg -Kg +Mt +hn +Ny +vJ +vJ +vJ +sp zW zW Vp -pi +vc iZ ji gg @@ -6882,7 +7946,7 @@ gg gg gg "} -(17,1,1) = {" +(19,1,1) = {" zW zW JR @@ -6892,21 +7956,21 @@ VC CW EL ml -Tz +jA jA zW zW -Vg -wU +zW wU wU -up -hn -aG -df -Kg -Kg -sp +ps +Hs +tk +vJ +vJ +PC +hz +zW zW zW Vp @@ -6919,12 +7983,12 @@ BI BA gg "} -(18,1,1) = {" +(20,1,1) = {" zW zW JR -vB -cW +yf +vg lc JR Ro @@ -6934,15 +7998,15 @@ zW zW zW zW -zW -wU -jr -Mt -lX -Ny -JK +wq wU -zW +us +AH +YW +Us +KC +TG +hz zW zW zW @@ -6956,7 +8020,7 @@ gg gg gg "} -(19,1,1) = {" +(21,1,1) = {" zW zW JR @@ -6971,15 +8035,15 @@ zW zW zW zW -zW -wU -ps -Hs -tk -Bh -GY +wq wU -zW +hZ +Ha +rX +vJ +qe +eo +FM zW zW zW @@ -6989,11 +8053,11 @@ iI xj Fw Kw -Lt -yC +Gn +OK gg "} -(20,1,1) = {" +(22,1,1) = {" zW zW JR @@ -7013,10 +8077,10 @@ wU wU FB wU -wU -wU -wU -wU +vJ +vJ +vJ +vJ zW zW zW @@ -7027,10 +8091,10 @@ XV gg vk pp -Mc +mv gg "} -(21,1,1) = {" +(23,1,1) = {" zW zW JR @@ -7047,12 +8111,12 @@ sJ sJ sJ We -hZ +ec VJ -rX +vB Sv Kl -eo +CJ sJ sJ sJ @@ -7067,7 +8131,7 @@ gg gg gg "} -(22,1,1) = {" +(24,1,1) = {" zW zW zW @@ -7084,27 +8148,27 @@ ZY CG mw MR -vj -fd -yG +ki +Bh +BX BX Gk bK mw zi -lj -YW +sU +Et Yw Zx nA Mm uk -xA -jQ +Mg +wh ww zW "} -(23,1,1) = {" +(25,1,1) = {" zW zW zW @@ -7129,19 +8193,19 @@ GG XE OP XR +Zk mh -az XL Wr hk Zw -rM -Mg -wh +CD +Bl +Bg wq zW "} -(24,1,1) = {" +(26,1,1) = {" zW zW zW @@ -7153,7 +8217,7 @@ lB rL IR jA -CJ +Qr dG sJ Wv @@ -7166,23 +8230,23 @@ tf iS rT sJ -sJ ok sJ -OK +sJ +Wz Ou SN -CD -Bl -Bg -wq +XT +XT +XT +vo zW "} -(25,1,1) = {" +(27,1,1) = {" zW zW ef -Og +pL jA Po iX @@ -7203,19 +8267,19 @@ AP Ih kK sJ -Zk -us +ex +sF sJ -XT +KU zC fz +Cn +xA XT -XT -XT -hz +cW zW "} -(26,1,1) = {" +(28,1,1) = {" zW zW zW @@ -7223,7 +8287,7 @@ zW Tb Tb Tb -dl +qZ aI Tb Tb @@ -7233,15 +8297,15 @@ Mf Mf Mf sJ -EP +pA ZL Nu MY xw -SC +wC sJ -cI -Fh +dx +RB sJ DZ So @@ -7252,23 +8316,23 @@ XT zW zW "} -(27,1,1) = {" +(29,1,1) = {" zW zW zW zW Tb Rn -mJ -KC -jZ +Oc +WR +Qf Be Tb sJ sJ Mf Gc -Ha +NZ Lk VE VE @@ -7277,10 +8341,10 @@ tj Lk sJ sJ -Tl CP +Tl XT -Iz +TL lv Yk pD @@ -7289,44 +8353,44 @@ XT zW zW "} -(28,1,1) = {" +(30,1,1) = {" zW zW zW zW Tb -ZS -rg -qZ -wu +hF +yU +DE +YJ yZ Tb NC Mf jC -mv -Ao -JO -pA -lD -hF -ec -wf +oi +yA +Kq +az +ZS +JK +eE +eD Lk -Wz -dx -RB -XT -lw -Om -Yk -gL -vo -XT +fd +iN +jr +Bv +yC +lj +Hp +Bv +Bv +Bv zW zW "} -(29,1,1) = {" +(31,1,1) = {" zW zW zW @@ -7334,15 +8398,15 @@ zW Tb Tb aK -WR -Qf +Sd +kQ Xt Tb zW Mf Mu Vk -NZ +vj Lk sf iF @@ -7350,20 +8414,20 @@ XA Sa xp Lk -wq +bX zW zW -XT -TL +Bv +PM Fg zB -eE -XT -XT +dl +Bv +Bv zW zW "} -(30,1,1) = {" +(32,1,1) = {" zW zW zW @@ -7371,8 +8435,8 @@ zW zW Tb Tb -DE -YJ +na +up Tb Tb zW @@ -7390,17 +8454,17 @@ Lk wq zW zW -XT -XT +Bv +Bv eU On -XT -XT +Bv +Bv zW zW zW "} -(31,1,1) = {" +(33,1,1) = {" zW zW zW @@ -7428,16 +8492,16 @@ zW zW zW zW -XT -XT -XT -XT +Bv +rM +rM +Bv zW zW zW zW "} -(32,1,1) = {" +(34,1,1) = {" zW zW zW @@ -7474,7 +8538,7 @@ zW zW zW "} -(33,1,1) = {" +(35,1,1) = {" zW zW zW @@ -7511,7 +8575,7 @@ zW zW zW "} -(34,1,1) = {" +(36,1,1) = {" zW zW zW @@ -7548,7 +8612,7 @@ zW zW zW "} -(35,1,1) = {" +(37,1,1) = {" zW zW zW @@ -7585,7 +8649,7 @@ zW zW zW "} -(36,1,1) = {" +(38,1,1) = {" zW zW zW diff --git a/code/game/area/ship_areas.dm b/code/game/area/ship_areas.dm index b1d47670aa2d..f62128b74516 100644 --- a/code/game/area/ship_areas.dm +++ b/code/game/area/ship_areas.dm @@ -163,6 +163,21 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/ship/crew/crewfive name = "Crew Quarters 5" +/area/ship/crew/specialized + name = "???" + +/area/ship/crew/specialized/medical + name = "Medical Specialist's Quarters" + +/area/ship/crew/specialized/security + name = "Security Specialist's Quarters" + +/area/ship/crew/specialized/engineering + name = "Engineering Specialist's Quarters" + +/area/ship/crew/specialized/cargo + name = "Cargo Specialist's Quarters" + /area/ship/crew/cryo name = "Cryopod Room" icon_state = "cryo" diff --git a/code/game/turfs/open/floor/misc_floor.dm b/code/game/turfs/open/floor/misc_floor.dm index d38a0ca6956a..1b5009d8245b 100644 --- a/code/game/turfs/open/floor/misc_floor.dm +++ b/code/game/turfs/open/floor/misc_floor.dm @@ -171,6 +171,8 @@ base_icon_state = "tcomms" icon = 'icons/turf/floors/misc.dmi' color = null +/turf/open/floor/plasteel/telecomms_floor/tatmos + initial_gas_mix = TCOMMS_ATMOS //ship turfs /turf/open/floor/ship diff --git a/code/game/turfs/open/floor/plasteel_floor.dm b/code/game/turfs/open/floor/plasteel_floor.dm index 56851f42795c..bac6f01e5f1f 100644 --- a/code/game/turfs/open/floor/plasteel_floor.dm +++ b/code/game/turfs/open/floor/plasteel_floor.dm @@ -62,6 +62,9 @@ base_icon_state = "techfloor" floor_tile = /obj/item/stack/tile/plasteel/tech +/turf/open/floor/plasteel/tech/tcomms + initial_gas_mix = TCOMMS_ATMOS + /turf/open/floor/plasteel/tech/airless initial_gas_mix = AIRLESS_ATMOS From bdf915af354099eb5af203176cfc8b0f4ec90fb6 Mon Sep 17 00:00:00 2001 From: Apogee-dev <60533805+Apogee-dev@users.noreply.github.com> Date: Sat, 16 Nov 2024 19:11:11 -0800 Subject: [PATCH 226/344] Replaces the Hyena with the Derecho (#3693) ## About The Pull Request ![derecho](https://github.com/user-attachments/assets/950af567-b610-46f3-9de9-e84bed9fd7c4) ![derecho_areas](https://github.com/user-attachments/assets/bf379173-0409-4666-9d00-6a89065617c7) ![derecho_ingame](https://github.com/user-attachments/assets/ce331440-b280-4f59-b304-fbecf56c39f0) Replaces the Hyena with the Derecho-class Auxiliary Wrecker, a mid-sized New Gorlex salvage ship. Comes with more advanced engineering gear than usual and a moderate array of weaponry including two Asp pistols and one Bulldog shotgun. Features a crew of six players: - Captain: You know what this is. - Foreman: Direct the efforts of the Wreckers and the Mechanic. - Wrecker x2: Explore, mine, and most especially salvage wrecks for materials and valuables. Comes with a limited number of advanced salvage supplies including power tools and a plasma cutter. One wrecker can wear a toolbelt, the other gets a mining webbing. - Mechanic: Maintain, repair, and improve the ship. - Initiate x2: The starter role. Keep the ship clean, your crewmates fed, and in general try to be useful while learning the ropes of the faction and/or the game. ## Why It's Good For The Game NGR needs more ships and the Hyena's been slated for replacement for a while now due to its outdated and profoundly crusty design. ## Changelog :cl: add: Replaced NGR Hyena with the NGR Derecho-class salvage ship /:cl: --- ..._hyena.json => syndicate_ngr_derecho.json} | 12 +- .../syndicate/syndicate_gorlex_hyena.dmm | 3901 --------- .../syndicate/syndicate_ngr_derecho.dmm | 7037 +++++++++++++++++ code/game/area/ship_areas.dm | 4 + .../nukeop/equipment/nuclearbomb.dm | 4 + .../manufacturer/scarborough/ballistics.dm | 6 + icons/turf/areas.dmi | Bin 42036 -> 42125 bytes 7 files changed, 7057 insertions(+), 3907 deletions(-) rename _maps/configs/{syndicate_gorlex_hyena.json => syndicate_ngr_derecho.json} (50%) delete mode 100644 _maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm create mode 100644 _maps/shuttles/syndicate/syndicate_ngr_derecho.dmm diff --git a/_maps/configs/syndicate_gorlex_hyena.json b/_maps/configs/syndicate_ngr_derecho.json similarity index 50% rename from _maps/configs/syndicate_gorlex_hyena.json rename to _maps/configs/syndicate_ngr_derecho.json index df4c6485bb0f..e65ab90e3c7c 100644 --- a/_maps/configs/syndicate_gorlex_hyena.json +++ b/_maps/configs/syndicate_ngr_derecho.json @@ -6,17 +6,17 @@ "GORLEX", "NATURAL_AGGRESSIVE", "BEASTS", - "WEAPONS", - "ACLF" + "WEAPONS" ], - "map_name": "Hyena-class Wrecking Tug", - "description": "The Hyena is a common salvage tug, frequently operated by the Gorlex Marauders for “salvage” missions on ICW-era Nanotrasen derelicts (and occasionally occupied outposts and ships). The Hyena features a fairly compact floor plan with a dedicated secure armory space and a fairly large cargo bay for its size, as well as a complement of high-grade hardsuits and mining equipment. The Hyena’s low cost and high demand in its niche has made it a very common sight on the Frontier in the years following the ICW, and despite their tight finances nearly all Gorlex Marauder splinter factions continue to acquire more.", + "map_name": "Derecho-class Wrecking Tug", + "description": "The Derecho-class is a series of salvage ships commissioned by the New Gorlex Republic almost as soon as the Republic was founded for the prodigious task of cleaning the space around New Gorlex of countless ICW-era shipwrecks. In recent years, Derechos are operated as auxiliary ships typically tasked with surveying, assessment, and their original mission of salvaging in space controlled or contested by the NGR.", "tags": [ "Mining", + "Salvage", "Combat" ], - "map_short_name": "Hyena-class", - "map_path": "_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm", + "map_short_name": "Derecho-class", + "map_path": "_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm", "job_slots": { "Captain": { "outfit": "/datum/outfit/job/syndicate/captain/ngr", diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm deleted file mode 100644 index 711a9f2033ae..000000000000 --- a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm +++ /dev/null @@ -1,3901 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aF" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"aH" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/firealarm/directional/east, -/obj/effect/decal/cleanable/oil, -/obj/structure/sign/warning/nosmoking{ - pixel_y = -28 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) -"aN" = ( -/obj/machinery/atmospherics/components/binary/dp_vent_pump/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"bd" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"bl" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=crew"; - location = "cargo" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"bH" = ( -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "hos"; - name = "captain's locker"; - req_access = list(20) - }, -/obj/item/storage/backpack/security, -/obj/item/clothing/under/syndicate/ngr/officer, -/obj/item/clothing/suit/armor/ngr/captain, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/gloves/combat, -/obj/item/clothing/glasses/hud/security/sunglasses/eyepatch, -/obj/item/clothing/head/ngr/peaked, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/ammo_box/a357/match, -/obj/item/pen/edagger, -/obj/item/storage/guncase/pistol/a357, -/obj/item/storage/box/ammo/a357, -/turf/open/floor/carpet/black, -/area/ship/bridge) -"bJ" = ( -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "syndicate"; - name = "armor locker" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/radio/intercom/directional/west{ - pixel_y = -5 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/light/small/directional/west{ - pixel_y = 7 - }, -/obj/item/clothing/glasses/hud/security/sunglasses/ngr, -/obj/item/clothing/glasses/hud/security/sunglasses/ngr, -/obj/item/clothing/suit/armor/ngr, -/obj/item/clothing/suit/armor/ngr, -/obj/item/clothing/head/helmet/ngr, -/obj/item/clothing/head/helmet/ngr, -/turf/open/floor/mineral/plastitanium, -/area/ship/security/armory) -"bN" = ( -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"bS" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/carpet/red_gold, -/area/ship/bridge) -"bV" = ( -/obj/machinery/door/poddoor/shutters{ - id = "wreckerarmory"; - name = "Security Shutters" - }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"cg" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/turretid/lethal{ - pixel_y = -24 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"ch" = ( -/turf/open/floor/carpet/red_gold, -/area/ship/bridge) -"cs" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/hallway/central) -"cB" = ( -/obj/structure/weightmachine/weightlifter, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"cH" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "wreckerwindows"; - name = "Blast Shutters" - }, -/turf/open/floor/plating, -/area/ship/storage) -"cV" = ( -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/turf_decal/trimline/opaque/red/filled/corner{ - dir = 1 - }, -/obj/machinery/light_switch{ - pixel_x = -12; - pixel_y = 23 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"dh" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/effect/landmark/start/shaft_miner, -/turf/open/floor/plasteel/tech, -/area/ship/storage) -"dA" = ( -/obj/item/reagent_containers/food/snacks/canned/beans{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/snacks/canned/beans{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/snacks/canned/beans{ - pixel_x = -2 - }, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = 5 - }, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = 1; - pixel_y = -3 - }, -/obj/item/reagent_containers/food/drinks/waterbottle/large{ - pixel_x = 8; - pixel_y = -3 - }, -/obj/structure/closet/crate{ - name = "food crate" - }, -/obj/item/storage/cans/sixbeer, -/obj/effect/spawner/random/food_or_drink/ration, -/obj/effect/spawner/random/food_or_drink/ration, -/obj/effect/spawner/random/food_or_drink/ration, -/obj/effect/spawner/random/food_or_drink/ration, -/obj/effect/spawner/random/food_or_drink/ration, -/obj/effect/spawner/random/food_or_drink/ration, -/obj/effect/turf_decal/industrial/outline, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"dG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security/armory) -"dQ" = ( -/obj/structure/bed, -/obj/item/bedsheet/black, -/obj/structure/curtain/cloth/fancy{ - name = "blood-red curtains" - }, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"dU" = ( -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/east, -/obj/machinery/door/poddoor{ - dir = 4; - id = "wrecker_engine_stbd" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"ec" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"fg" = ( -/obj/structure/sign/number/eight{ - pixel_y = 5 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/fore) -"fi" = ( -/obj/machinery/power/port_gen/pacman/super, -/obj/effect/turf_decal/radiation/white, -/obj/effect/turf_decal/industrial/outline, -/obj/effect/turf_decal/radiation/white, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"fv" = ( -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "syndicate"; - name = "ammunition locker" - }, -/obj/machinery/light/small/directional/east{ - pixel_y = -8 - }, -/obj/machinery/firealarm/directional/east{ - pixel_y = 6 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/industrial/outline, -/obj/item/storage/box/ammo/a12g_buckshot, -/obj/item/storage/box/ammo/c10mm, -/turf/open/floor/mineral/plastitanium, -/area/ship/security/armory) -"fC" = ( -/obj/structure/sign/number/four{ - pixel_y = 5 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/fore) -"fL" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/ship/cargo/office) -"fV" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"fW" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/effect/decal/cleanable/oil/streak, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"fY" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security/armory) -"ge" = ( -/obj/machinery/porta_turret/ship/syndicate{ - dir = 2; - id = "hyena_grid" - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew/dorm) -"gg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/outline, -/obj/structure/bed/roller, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"gM" = ( -/obj/machinery/power/apc/auto_name/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) -"hc" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/rnd/production/techfab/department/cargo, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"hh" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/structure/reagent_dispensers/fueltank, -/obj/effect/decal/cleanable/oil/slippery, -/obj/structure/sign/warning/nosmoking{ - pixel_y = -28 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"hD" = ( -/obj/structure/sign/syndicate{ - pixel_y = 2 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/hallway/central) -"hT" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"ia" = ( -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"ir" = ( -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "wrecker_engine_port" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"iv" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"ix" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=bridge"; - location = "crew" - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"iC" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"iI" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/trimline/opaque/red/filled/warning, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"iL" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/light/small/directional/west, -/obj/item/clothing/suit/space/syndicate/black/orange, -/obj/item/clothing/mask/gas/syndicate, -/obj/item/clothing/head/helmet/space/syndicate/black/orange, -/obj/item/tank/jetpack/carbondioxide, -/obj/machinery/suit_storage_unit/inherit/industrial{ - req_one_access = list(48,56) - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) -"iT" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/port) -"jf" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/dorm) -"ji" = ( -/obj/structure/sign/warning/vacuum/external{ - pixel_y = -9 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/cargo) -"jt" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "wreckerwindows"; - name = "Blast Shutters" - }, -/turf/open/floor/plating, -/area/ship/storage) -"jB" = ( -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "syndicate"; - name = "firearms locker" - }, -/obj/structure/sign/poster/contraband/stechkin{ - pixel_x = 32 - }, -/obj/effect/turf_decal/industrial/outline, -/obj/item/gun/ballistic/shotgun/brimstone, -/obj/machinery/button/door{ - dir = 1; - id = "wreckerarmory"; - name = "armory shutters"; - pixel_y = -21; - req_access = null - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/security/armory) -"jG" = ( -/obj/machinery/light/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/corner_techfloor_grid, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"jH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"jI" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/storage) -"jP" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/scrubber, -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/button/door{ - dir = 1; - id = "wrecker_engine_port"; - name = "thruster doors"; - pixel_y = -21 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"jT" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"jY" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/carpet/red, -/area/ship/cargo/office) -"kg" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/outline, -/obj/structure/closet/crate/medical, -/obj/item/bodybag, -/obj/item/storage/firstaid/regular, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"kM" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/turf/open/floor/carpet/red_gold, -/area/ship/bridge) -"kR" = ( -/obj/docking_port/stationary{ - dwidth = 10; - height = 15; - width = 30 - }, -/turf/template_noop, -/area/template_noop) -"lg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil/streak, -/obj/effect/turf_decal/industrial/outline, -/obj/structure/closet/crate/freezer, -/obj/machinery/airalarm/directional/west, -/obj/item/reagent_containers/blood/random, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"lt" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"lX" = ( -/obj/structure/sign/syndicate, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew) -"mf" = ( -/obj/structure/window/reinforced/tinted/frosted{ - dir = 4 - }, -/obj/structure/chair/stool, -/obj/structure/window/reinforced/tinted/frosted, -/obj/effect/landmark/start/captain, -/turf/open/floor/carpet/black, -/area/ship/bridge) -"mL" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/fore) -"mX" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/ship/crew) -"nn" = ( -/turf/template_noop, -/area/template_noop) -"no" = ( -/obj/structure/bed, -/obj/item/bedsheet/syndie, -/obj/structure/curtain/cloth/fancy{ - name = "blood-red curtains" - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/carpet/black, -/area/ship/bridge) -"nG" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"nK" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/grunge{ - name = "Foreman's Office"; - req_access = list(56) - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo/office) -"nR" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/vending/cola/sodie, -/obj/structure/sign/poster/contraband/smoke{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"nS" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"nT" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/button/door{ - dir = 8; - id = "wrecker_engine_stbd"; - name = "thruster doors"; - pixel_x = 21 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) -"nX" = ( -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "wrecker_engine_stbd" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"ob" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"ol" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin/carbon, -/obj/item/folder/syndicate, -/obj/item/pen/fourcolor, -/obj/item/gps/mining{ - pixel_x = 9; - pixel_y = -6 - }, -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/item/stamp/ngr/foreman, -/obj/machinery/button/shieldwallgen{ - dir = 1; - id = "hyena_cargo"; - pixel_x = -10; - pixel_y = -24 - }, -/obj/machinery/button/door{ - dir = 1; - id = "wreckercargobay"; - name = "cargo bay doors"; - pixel_y = -25 - }, -/turf/open/floor/carpet/red, -/area/ship/cargo/office) -"or" = ( -/obj/structure/sign/number/nine{ - pixel_y = 5 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/fore) -"oz" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - id = "wreckerwindows"; - name = "Blast Shutters" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"oF" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/filingcabinet{ - dir = 1 - }, -/obj/machinery/firealarm/directional/west, -/obj/effect/turf_decal/borderfloorblack, -/obj/item/folder/documents/syndicate/ngr, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"oJ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/red/filled/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"oO" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/maintenance/fore) -"oQ" = ( -/obj/structure/table/reinforced, -/obj/machinery/button/door{ - dir = 8; - id = "wreckerwindows"; - name = "Window Shutters"; - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/gps{ - pixel_x = 7 - }, -/obj/item/megaphone/sec{ - name = "syndicate megaphone"; - pixel_x = -4; - pixel_y = 7 - }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"oS" = ( -/obj/structure/table, -/obj/machinery/microwave, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/machinery/firealarm/directional/west, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/poster/syndicate/random{ - pixel_y = -32 - }, -/turf/open/floor/plasteel, -/area/ship/crew) -"oV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/fire{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"pi" = ( -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/window/eastright{ - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "wrecker_engine_stbd" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"pu" = ( -/obj/structure/bed, -/obj/item/bedsheet/black, -/obj/structure/curtain/cloth/fancy{ - name = "blood-red curtains" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 8 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"pv" = ( -/obj/structure/dresser, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"px" = ( -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"pz" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "0-6" - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) -"pH" = ( -/obj/machinery/holopad/emergency/command, -/turf/open/floor/carpet/red_gold, -/area/ship/bridge) -"pI" = ( -/obj/item/radio/intercom/wideband/directional/east, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/computer/cargo{ - dir = 1 - }, -/obj/effect/turf_decal/borderfloorblack, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"pP" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/autolathe, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"qt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/light/small/directional/west, -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/item/clothing/mask/breath, -/obj/item/tank/internals/oxygen, -/obj/item/clothing/suit/space/syndicate/surplus, -/obj/item/clothing/head/helmet/space/syndicate/surplus, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"qO" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/effect/landmark/start/shaft_miner, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/storage) -"rd" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"rF" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "eng_secure"; - name = "mechanic's locker"; - req_access = list(11) - }, -/obj/item/clothing/shoes/workboots, -/obj/item/clothing/accessory/armband/engine, -/obj/item/storage/belt/utility, -/obj/item/clothing/glasses/meson, -/obj/item/clothing/glasses/welding, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = -12; - pixel_y = -16 - }, -/obj/item/clothing/under/syndicate/ngr, -/obj/item/clothing/suit/hazardvest/ngr, -/obj/item/clothing/head/hardhat/ngr, -/obj/item/clothing/gloves/color/red/insulated, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) -"rM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) -"rP" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/chair/sofa/brown/left/directional/south, -/obj/effect/landmark/start/assistant, -/turf/open/floor/carpet/red, -/area/ship/crew) -"rR" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/industrial/outline, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) -"si" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"so" = ( -/obj/machinery/door/poddoor{ - dir = 4; - id = "wreckercargobay"; - name = "Cargo Bay Exterior Blast Door" - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - id = "hyena_cargo"; - locked = 1 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plating, -/area/ship/cargo) -"sx" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/door/poddoor{ - dir = 4; - id = "wreckercargobay"; - name = "Cargo Bay Exterior Blast Door" - }, -/turf/open/floor/plating, -/area/ship/cargo) -"sA" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"sE" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/starboard) -"sG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/airlock/hatch{ - name = "External Airlock" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"tl" = ( -/obj/machinery/shower{ - pixel_y = 19 - }, -/obj/structure/curtain, -/obj/item/bikehorn/rubberducky, -/obj/structure/sign/poster/official/cleanliness{ - pixel_x = -32 - }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/dorm) -"tn" = ( -/obj/machinery/light/small/directional/west, -/obj/machinery/atmospherics/pipe/simple/green/hidden, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) -"tI" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=storage"; - location = "bridge" - }, -/obj/effect/turf_decal/trimline/opaque/red/filled/warning, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"tS" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"uk" = ( -/obj/machinery/vending/cigarette/syndicate, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"un" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"uq" = ( -/obj/machinery/atmospherics/pipe/simple/cyan/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden/layer4{ - dir = 10 - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"ut" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/computer/helm/viewscreen/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"vi" = ( -/obj/structure/table, -/obj/item/toy/cards/deck/syndicate{ - pixel_y = 6 - }, -/obj/item/storage/fancy/cigarettes/cigpack_syndicate{ - pixel_x = 6; - pixel_y = -2 - }, -/obj/item/lighter{ - pixel_x = -5; - pixel_y = -1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/carpet/red, -/area/ship/crew) -"vv" = ( -/obj/structure/closet/crate, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/metal/fifty, -/obj/effect/turf_decal/industrial/outline, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"vG" = ( -/obj/machinery/atmospherics/components/unary/tank/toxins{ - dir = 1; - piping_layer = 4 - }, -/obj/effect/turf_decal/industrial/fire{ - dir = 8 - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = -12; - pixel_y = -16 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"vN" = ( -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/turf/open/floor/plasteel, -/area/ship/crew) -"vR" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/machinery/door/airlock/grunge{ - name = "Break Room" - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew) -"wp" = ( -/obj/structure/sign/number/nine{ - dir = 1; - pixel_y = 5 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) -"wE" = ( -/obj/item/toy/nuke, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/table, -/obj/effect/turf_decal/industrial/outline, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security/armory) -"wO" = ( -/obj/structure/table, -/obj/effect/spawner/random/food_or_drink/donkpockets, -/obj/effect/spawner/random/food_or_drink/donkpockets, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/item/reagent_containers/food/snacks/syndicake, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plasteel, -/area/ship/crew) -"wP" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/structure/closet/crate{ - desc = "A rectangular steel crate containing supplies to survive a desert environment more easily."; - name = "desert equipment crate" - }, -/obj/item/clothing/neck/shemagh/ngr, -/obj/item/clothing/neck/shemagh/ngr, -/obj/item/clothing/neck/shemagh/ngr, -/obj/item/clothing/neck/shemagh/ngr, -/obj/item/clothing/head/ngr/flap, -/obj/item/clothing/head/ngr/flap, -/obj/item/clothing/head/ngr/flap, -/obj/item/clothing/head/ngr/flap, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"xm" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "engine fuel pump" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"xx" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/effect/landmark/start/station_engineer, -/turf/open/floor/plasteel/tech, -/area/ship/storage) -"xK" = ( -/obj/machinery/light/small/directional/east, -/obj/machinery/advanced_airlock_controller{ - pixel_y = -21 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/item/clothing/mask/breath, -/obj/item/tank/internals/oxygen, -/obj/item/clothing/suit/space/syndicate/surplus, -/obj/item/clothing/head/helmet/space/syndicate/surplus, -/turf/open/floor/plasteel/tech/grid, -/area/ship/hallway/central) -"yd" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/carpet/red, -/area/ship/crew) -"yn" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/cargo/office) -"yw" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"yD" = ( -/obj/structure/closet/crate/radiation{ - name = "fuel crate" - }, -/obj/item/stack/sheet/mineral/uranium/five, -/obj/effect/turf_decal/radiation/white, -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) -"yG" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/syndicate/random{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"yH" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/rack, -/obj/item/gun/energy/plasmacutter{ - pixel_y = 10 - }, -/obj/item/gun/energy/plasmacutter, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) -"yM" = ( -/obj/item/lighter{ - pixel_x = -8; - pixel_y = 8 - }, -/obj/item/storage/fancy/cigarettes/cigars/cohiba{ - pixel_x = -6; - pixel_y = 6 - }, -/obj/item/reagent_containers/food/drinks/bottle/whiskey{ - pixel_x = 6; - pixel_y = 12 - }, -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 4 - }, -/turf/open/floor/carpet/black, -/area/ship/bridge) -"yV" = ( -/obj/machinery/door/airlock/grunge{ - dir = 8; - name = "Bridge"; - req_access = list(19) - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/bridge) -"zn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central4, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/landmark/observer_start, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"zq" = ( -/obj/structure/closet/wall/red/directional/east{ - name = "uniform closet" - }, -/obj/item/tank/jetpack/suit, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/under/syndicate/ngr, -/obj/item/clothing/under/syndicate/ngr, -/obj/item/clothing/under/syndicate/ngr, -/obj/item/clothing/under/syndicate/ngr, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/item/clothing/under/syndicate/ngr/jumpsuit, -/obj/item/clothing/under/syndicate/ngr/jumpsuit, -/obj/item/clothing/under/syndicate/ngr/jumpsuit, -/obj/item/clothing/under/syndicate/ngr/jumpsuit, -/obj/item/clothing/head/ngr, -/obj/item/clothing/head/ngr, -/obj/item/clothing/head/ngr, -/obj/item/clothing/head/ngr, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/obj/item/radio, -/turf/open/floor/plasteel/dark, -/area/ship/crew/dorm) -"zA" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"zQ" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/structure/cable{ - icon_state = "4-10" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"zZ" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"Af" = ( -/obj/structure/closet/emcloset/wall/directional/north, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Ap" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) -"Ax" = ( -/obj/structure/table, -/obj/machinery/recharger, -/obj/effect/turf_decal/industrial/outline, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security/armory) -"Ay" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"Az" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"AE" = ( -/obj/structure/sign/warning/vacuum/external{ - pixel_y = -9 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/hallway/central) -"AF" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/fire{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"AY" = ( -/obj/structure/sign/number/eight{ - dir = 1; - pixel_y = 5 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) -"Bg" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/carpet/red, -/area/ship/cargo/office) -"Bn" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/catwalk/over, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=dorms"; - location = "storage" - }, -/turf/open/floor/plating, -/area/ship/storage) -"BB" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"BG" = ( -/obj/machinery/porta_turret/ship/syndicate{ - dir = 8; - id = "hyena_grid" - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/storage) -"BR" = ( -/obj/machinery/porta_turret/ship/syndicate{ - dir = 1; - id = "hyena_grid" - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/port) -"BZ" = ( -/obj/structure/window/reinforced/tinted/frosted, -/obj/machinery/suit_storage_unit/inherit{ - name = "captain's suit storage unit"; - req_access = list(20) - }, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20 - }, -/obj/item/clothing/suit/space/hardsuit/syndi/ngr, -/obj/item/clothing/mask/gas/syndicate, -/turf/open/floor/carpet/black, -/area/ship/bridge) -"Ck" = ( -/obj/structure/sink{ - dir = 4; - pixel_x = -12 - }, -/obj/structure/mirror{ - pixel_x = -25 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/dorm) -"CW" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/maintenance/starboard) -"Dp" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Dq" = ( -/obj/structure/closet/crate/bin, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"DE" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 4 - }, -/turf/open/floor/engine/hull, -/area/ship/external) -"DF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/number/zero{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"DO" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/poddoor/shutters{ - id = "wreckerarmory"; - name = "Security Shutters" - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"DU" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/light_switch{ - pixel_x = 7; - pixel_y = 22 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) -"DW" = ( -/obj/effect/turf_decal/industrial/fire{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/sign/warning/nosmoking{ - pixel_y = -28 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"EH" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security/armory) -"EL" = ( -/obj/effect/turf_decal/industrial/fire{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-5" - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Fe" = ( -/obj/structure/table/reinforced, -/obj/item/soap/syndie, -/obj/machinery/light/small/directional/south, -/obj/effect/turf_decal/borderfloorblack, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/dorm) -"Ff" = ( -/obj/structure/table/reinforced, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/west, -/obj/structure/closet/wall/white/med{ - dir = 1; - name = "medicine locker"; - pixel_y = -28 - }, -/obj/item/storage/pill_bottle/lsd, -/obj/effect/turf_decal/borderfloorblack, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/dorm) -"Fl" = ( -/obj/machinery/door/airlock/hatch{ - name = "Starboard Thrusters"; - req_access = list(10) - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/fire{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) -"Fq" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = -12; - pixel_y = -16 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"Fr" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Ft" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"FA" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"FQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/steeldecal/steel_decals_central4{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"FR" = ( -/obj/structure/table/reinforced, -/obj/item/flashlight/lamp{ - pixel_x = -12; - pixel_y = 7 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/paper_bin/carbon, -/obj/item/pen/fountain/captain, -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 - }, -/obj/item/stamp/ngr{ - pixel_x = 13; - pixel_y = 7 - }, -/obj/item/stamp/ngr/captain{ - pixel_x = 13 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"Ge" = ( -/obj/structure/bed, -/obj/item/bedsheet/black, -/obj/structure/curtain/cloth/fancy{ - name = "blood-red curtains" - }, -/obj/structure/window/reinforced/tinted/frosted{ - dir = 8 - }, -/obj/structure/sign/poster/syndicate/random{ - pixel_y = -32 - }, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"Gj" = ( -/obj/structure/chair/sofa/brown/corner/directional/east, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/radio/intercom/directional/north, -/obj/machinery/light_switch{ - dir = 4; - pixel_x = -20; - pixel_y = 12 - }, -/turf/open/floor/carpet/red, -/area/ship/crew) -"Gm" = ( -/obj/machinery/atmospherics/pipe/layer_manifold, -/obj/machinery/door/airlock/hatch{ - name = "External Airlock" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"Gw" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - dir = 1; - piping_layer = 2 - }, -/obj/machinery/firealarm/directional/east, -/obj/effect/turf_decal/industrial/fire{ - dir = 4 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel/tech/grid, -/area/ship/maintenance/port) -"GM" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "mining"; - name = "wrecker's locker"; - req_access = list(48) - }, -/obj/item/clothing/shoes/workboots/mining, -/obj/item/clothing/accessory/armband/cargo, -/obj/item/storage/belt/mining, -/obj/item/clothing/glasses/meson, -/obj/item/clothing/glasses/welding, -/obj/machinery/airalarm/directional/north, -/obj/item/clothing/under/syndicate/ngr/jumpsuit, -/obj/item/clothing/suit/hazardvest/ngr, -/obj/item/clothing/head/hardhat/ngr, -/obj/item/pickaxe/drill, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) -"GV" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew/dorm) -"HJ" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/security/armory) -"HT" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"Ib" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/effect/landmark/start/chief_engineer, -/turf/open/floor/carpet/red, -/area/ship/cargo/office) -"Ic" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/effect/turf_decal/industrial/fire, -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ - dir = 8; - name = "Distribution" - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) -"Ii" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/outline, -/obj/structure/closet/crate/secure/loot, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Ik" = ( -/obj/structure/window/reinforced/spawner/east, -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/mineral/ore_redemption{ - dir = 1; - output_dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Iz" = ( -/obj/machinery/cryopod{ - dir = 1 - }, -/obj/machinery/computer/cryopod/directional/south, -/obj/effect/turf_decal/industrial/warning/full, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/dark, -/area/ship/crew/dorm) -"IO" = ( -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/structure/closet/crate/bin, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/food/egg_smudge, -/turf/open/floor/plasteel, -/area/ship/crew) -"Jf" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "wreckerwindows"; - name = "Blast Shutters" - }, -/turf/open/floor/plating, -/area/ship/bridge) -"Jv" = ( -/obj/machinery/modular_computer/console/preset/command{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/borderfloorblack{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"JD" = ( -/obj/machinery/door/airlock/grunge{ - dir = 4; - name = "Locker Room"; - req_one_access = list(10,48) - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/ship/storage) -"JL" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/maintenance/port) -"JP" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/ship/storage) -"JS" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/poddoor{ - dir = 4; - id = "wreckercargobay"; - name = "Cargo Bay Exterior Blast Door" - }, -/turf/open/floor/plating, -/area/ship/cargo) -"Kb" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/number/five{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"Kf" = ( -/turf/closed/wall/mineral/plastitanium, -/area/ship/storage) -"Ki" = ( -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/layer_manifold{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable/yellow{ - icon_state = "4-9" - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Kn" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/carpet/red, -/area/ship/crew) -"Ky" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/hardline_small/right{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"KA" = ( -/obj/machinery/door/window/northleft{ - dir = 2; - name = "Captain's Bunk" - }, -/turf/open/floor/carpet/black, -/area/ship/bridge) -"KH" = ( -/obj/machinery/atmospherics/components/binary/pump/layer2{ - dir = 4; - name = "Input to Air" - }, -/obj/machinery/atmospherics/components/binary/pump/layer4{ - dir = 4; - name = "Input to Fuel" - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"KJ" = ( -/obj/machinery/light/small/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/fire{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"KQ" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"KT" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/poddoor/shutters{ - id = "wreckerarmory"; - name = "Security Shutters" - }, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"KW" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/suit_storage_unit/inherit{ - name = "foreman's suit storage unit"; - req_access = list(56) - }, -/obj/item/clothing/shoes/magboots/syndie, -/obj/item/clothing/mask/gas/syndicate, -/obj/item/clothing/suit/space/syndicate, -/obj/item/clothing/head/helmet/space/syndicate, -/turf/open/floor/carpet/red, -/area/ship/cargo/office) -"KX" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/tank_dispenser/oxygen, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) -"La" = ( -/obj/machinery/atmospherics/pipe/manifold/cyan/visible/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden/layer4{ - dir = 9 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/fire, -/obj/item/analyzer, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) -"Lv" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"Ml" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/starboard) -"Mp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/outline, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Ms" = ( -/obj/structure/bed, -/obj/item/bedsheet/black, -/obj/structure/curtain/cloth/fancy{ - name = "blood-red curtains" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"MF" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"MP" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Nl" = ( -/obj/structure/chair/comfy/shuttle{ - dir = 4; - name = "Helm" - }, -/turf/open/floor/carpet/red_gold, -/area/ship/bridge) -"NA" = ( -/obj/machinery/porta_turret/ship/syndicate{ - dir = 2; - id = "hyena_grid" - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/maintenance/starboard) -"NF" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/cargo) -"NN" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/power/shieldwallgen/atmos/roundstart{ - dir = 1; - id = "hyena_cargo"; - locked = 1 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "wreckercargobay"; - name = "Cargo Bay Exterior Blast Door" - }, -/turf/open/floor/plating, -/area/ship/cargo) -"NS" = ( -/obj/effect/turf_decal/industrial/warning/fulltile, -/obj/machinery/door/poddoor{ - dir = 4; - id = "wreckercargobay"; - name = "Cargo Bay Exterior Blast Door" - }, -/obj/docking_port/mobile{ - can_move_docking_ports = 1; - dir = 8; - launch_status = 0; - name = "mining ship"; - preferred_direction = 4 - }, -/turf/open/floor/plating, -/area/ship/cargo) -"Ok" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/storage) -"Or" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/fire{ - dir = 4 - }, -/obj/machinery/light/small/directional/south, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/power/ship_gravity, -/obj/structure/cable, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"Oy" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/storage) -"OL" = ( -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Pd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/spider/stickyweb, -/obj/structure/closet/crate/secure/loot, -/obj/effect/turf_decal/number/three{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"Pn" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/effect/turf_decal/trimline/opaque/red/filled/warning{ - dir = 1 - }, -/obj/effect/turf_decal/corner_techfloor_grid{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Px" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"PG" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/door/firedoor/border_only, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/poddoor/shutters{ - id = "wreckerarmory"; - name = "Security Shutters" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"PL" = ( -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/atmospherics/components/unary/shuttle/heater{ - dir = 4 - }, -/obj/machinery/door/window/eastleft{ - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "wrecker_engine_port" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"PT" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Qy" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Qz" = ( -/obj/machinery/porta_turret/ship/syndicate{ - dir = 6; - id = "hyena_grid" - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/maintenance/fore) -"QG" = ( -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "warden"; - name = "foreman's locker"; - req_access = list(56) - }, -/obj/item/clothing/shoes/combat, -/obj/item/clothing/under/syndicate/ngr/officer, -/obj/item/clothing/gloves/combat, -/obj/item/storage/belt/utility/chief{ - name = "\improper Foreman's toolbelt" - }, -/obj/item/clothing/glasses/meson, -/obj/item/clothing/glasses/welding, -/obj/item/storage/toolbox/syndicate, -/obj/item/wrench/combat, -/obj/item/clothing/accessory/holster, -/obj/item/grenade/chem_grenade/metalfoam, -/obj/machinery/airalarm/directional/west, -/obj/item/clothing/suit/ngr, -/obj/item/clothing/head/hardhat/ngr/foreman, -/obj/item/tank/jetpack/suit, -/obj/item/storage/guncase/pistol/ringneck, -/turf/open/floor/carpet/red, -/area/ship/cargo/office) -"QW" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - id = "wreckerwindows"; - name = "Blast Shutters" - }, -/turf/open/floor/plating, -/area/ship/cargo/office) -"QZ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/catwalk/over, -/turf/open/floor/plating, -/area/ship/storage) -"Rc" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/ship/storage) -"Rl" = ( -/obj/structure/table/reinforced, -/obj/item/radio/intercom/directional/east{ - pixel_y = 7 - }, -/obj/item/toy/figure/syndie{ - pixel_x = 11; - pixel_y = -3 - }, -/obj/machinery/fax/syndicate, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"RD" = ( -/obj/machinery/door/airlock/hatch{ - name = "Port Thrusters"; - req_access = list(10) - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/industrial/fire, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) -"RE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/hardline_small{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"RQ" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/button/door{ - dir = 1; - id = "wreckercargobay"; - name = "cargo bay doors"; - pixel_y = -21 - }, -/obj/machinery/light/floor, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/button/shieldwallgen{ - dir = 1; - id = "hyena_cargo"; - pixel_x = -10; - pixel_y = -19 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Sa" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/suit_storage_unit/inherit/industrial{ - req_access = list(11) - }, -/obj/item/clothing/suit/space/syndicate/black/engie, -/obj/item/clothing/head/helmet/space/syndicate/black/engie, -/obj/item/clothing/mask/breath, -/obj/item/tank/jetpack/carbondioxide, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) -"Sd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=cargo"; - location = "dorms" - }, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"Sg" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/obj/machinery/door/poddoor/shutters{ - id = "wreckerwindows"; - name = "Blast Shutters" - }, -/turf/open/floor/plating, -/area/ship/crew/dorm) -"Sh" = ( -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"Sm" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/structure/closet{ - anchored = 1; - icon_door = "eng_tool"; - icon_state = "eng" - }, -/obj/item/storage/toolbox/syndicate{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/storage/toolbox/syndicate, -/obj/item/storage/toolbox/syndicate{ - pixel_x = -5; - pixel_y = -5 - }, -/obj/item/stack/cable_coil/random, -/obj/item/stack/cable_coil/random, -/obj/item/stack/cable_coil/random, -/obj/structure/sign/poster/syndicate/random{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) -"Sv" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/red/filled/corner{ - dir = 4 - }, -/obj/machinery/button/door{ - id = "wreckerarmory"; - name = "armory shutters"; - pixel_y = 23; - req_access = list(19) - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"Sy" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/effect/turf_decal/trimline/opaque/red/filled/warning, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"SE" = ( -/obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"SJ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/analyzer, -/obj/effect/turf_decal/steeldecal/steel_decals_central4, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"SK" = ( -/obj/structure/sign/number/four{ - dir = 1; - pixel_y = 5 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/bridge) -"SP" = ( -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/power/smes/shuttle/precharged{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/door/window/eastright{ - name = "Engine Access" - }, -/obj/machinery/door/poddoor{ - dir = 4; - id = "wrecker_engine_port" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"SV" = ( -/obj/machinery/atmospherics/pipe/simple/green/hidden{ - dir = 6 - }, -/obj/machinery/atmospherics/components/binary/pump/layer4{ - dir = 8; - name = "Input to Waste" - }, -/obj/effect/decal/cleanable/oil, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) -"Tg" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/light/floor, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Th" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/corner/opaque/red, -/obj/effect/turf_decal/corner/opaque/red{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/trimline/opaque/red/filled/corner{ - dir = 8 - }, -/obj/machinery/button/door{ - dir = 1; - id = "wreckerarmory"; - name = "armory shutters"; - pixel_y = -21; - req_access = list(19) - }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"Tq" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/chair/sofa/brown/right/directional/east, -/obj/effect/landmark/start/assistant, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/carpet/red, -/area/ship/crew) -"Tu" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "engine fuel pump" - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"TK" = ( -/obj/structure/closet/secure_closet/freezer{ - anchored = 1; - locked = 0; - name = "fridge" - }, -/obj/effect/turf_decal/corner/transparent/bar{ - dir = 1 - }, -/obj/effect/turf_decal/corner/transparent/bar, -/obj/item/storage/cans/sixbeer, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel, -/area/ship/crew) -"TR" = ( -/obj/structure/curtain/cloth/fancy{ - name = "blood-red curtains" - }, -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/ship/bridge) -"TT" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/maintenance/starboard) -"TX" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/turf_decal/steeldecal/steel_decals_central4{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Ua" = ( -/obj/machinery/power/shuttle/engine/electric{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"Uh" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/effect/turf_decal/trimline/opaque/red/filled/corner, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = -12; - pixel_y = -16 - }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"Ui" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/turretid{ - pixel_x = 32; - pixel_y = 22; - req_access = list(19) - }, -/turf/open/floor/carpet/red_gold, -/area/ship/bridge) -"Up" = ( -/obj/machinery/porta_turret/ship/syndicate{ - dir = 4; - id = "hyena_grid" - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/bridge) -"UI" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"UN" = ( -/obj/machinery/porta_turret/ship/syndicate{ - dir = 1; - id = "hyena_grid" - }, -/turf/closed/wall/mineral/plastitanium, -/area/ship/hallway/central) -"UX" = ( -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/ship/crew) -"Ve" = ( -/obj/structure/curtain, -/obj/structure/toilet, -/obj/effect/decal/cleanable/blood/old, -/obj/structure/window/reinforced/spawner/west, -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/crew/dorm) -"VA" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/mineral/plastitanium/red, -/area/ship/security/armory) -"VC" = ( -/obj/machinery/computer/helm{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/borderfloorblack{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"VD" = ( -/obj/item/reagent_containers/food/drinks/bottle/wine{ - pixel_x = -15; - pixel_y = 13 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/decal/remains/human, -/obj/effect/turf_decal/hardline_small/left{ - dir = 1 - }, -/turf/open/floor/plating, -/area/ship/maintenance/fore) -"VG" = ( -/turf/open/floor/engine/hull, -/area/ship/external) -"VX" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/clothing/suit/space/syndicate/black/orange, -/obj/machinery/suit_storage_unit/inherit/industrial{ - req_one_access = list(48,56) - }, -/obj/item/clothing/mask/gas/syndicate, -/obj/item/clothing/head/helmet/space/syndicate/black/orange, -/obj/item/tank/jetpack/carbondioxide, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) -"Wc" = ( -/obj/structure/table, -/obj/item/modular_computer/laptop/preset/civilian, -/obj/machinery/light/small/directional/north, -/turf/open/floor/carpet/red, -/area/ship/crew/dorm) -"Wd" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/ship/hallway/central) -"We" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light_switch{ - dir = 8; - pixel_x = 20 - }, -/turf/open/floor/plasteel/dark, -/area/ship/crew/dorm) -"Wp" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/poddoor/shutters{ - id = "wreckerarmory"; - name = "Security Shutters" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"Wt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"WN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/ship/bridge) -"WS" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/firedoor/border_only, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/machinery/door/airlock/grunge{ - name = "Dormitory" - }, -/turf/open/floor/plasteel/tech, -/area/ship/crew) -"Xb" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/poster/contraband/peacemaker{ - pixel_y = 32 - }, -/obj/machinery/rnd/server, -/obj/effect/turf_decal/borderfloorblack{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/bridge) -"Xj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/computer/crew{ - dir = 8 - }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo/office) -"Xv" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/item/clothing/shoes/workboots/mining, -/obj/item/clothing/accessory/armband/cargo, -/obj/item/storage/belt/mining, -/obj/item/clothing/glasses/meson, -/obj/item/clothing/glasses/welding, -/obj/machinery/light/small/directional/north, -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "mining"; - name = "wrecker's locker"; - req_access = list(48) - }, -/obj/machinery/firealarm/directional/east, -/obj/effect/turf_decal/industrial/outline, -/obj/item/clothing/under/syndicate/ngr/jumpsuit, -/obj/item/clothing/suit/hazardvest/ngr, -/obj/item/clothing/head/hardhat/ngr, -/obj/item/pickaxe/drill, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) -"Xz" = ( -/obj/machinery/power/shuttle/engine/fueled/plasma{ - dir = 4 - }, -/turf/open/floor/plating, -/area/ship/maintenance/port) -"XA" = ( -/obj/structure/bed/dogbed/cayenne{ - desc = "An ordinary dog bed, dusted with ash..."; - name = "David's bed" - }, -/mob/living/simple_animal/hostile/asteroid/goliath/pup{ - a_intent = "help"; - desc = "A small goliath pup. Its tendrils have not yet fully grown. Someone, somehow, has managed to fit a large dog collar around its neck."; - environment_smash = 0; - faction = list("neutral","playerSyndicate"); - mob_size = 2; - move_force = 1000; - move_resist = 1000; - name = "David"; - pull_force = 1000 - }, -/turf/open/floor/carpet/red_gold, -/area/ship/bridge) -"XO" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/item/storage/bag/ore, -/obj/item/storage/bag/ore, -/obj/item/mining_scanner, -/obj/item/mining_scanner, -/turf/open/floor/plasteel/tech/grid, -/area/ship/storage) -"XP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/item/wrench/syndie, -/turf/open/floor/plasteel/tech, -/area/ship/maintenance/port) -"XQ" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/effect/turf_decal/trimline/opaque/red/filled/warning{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/tech, -/area/ship/cargo) -"XR" = ( -/obj/structure/closet/secure_closet{ - anchored = 1; - icon_state = "syndicate"; - name = "explosives locker"; - req_access = "list(56, 20)" - }, -/obj/structure/sign/warning/explosives/alt{ - pixel_x = -32 - }, -/obj/item/storage/backpack/duffelbag/syndie/c4{ - name = "bag of mining charges" - }, -/obj/item/storage/belt/grenade, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/outline, -/obj/machinery/button/door{ - id = "wreckerarmory"; - name = "armory shutters"; - pixel_y = 23; - req_access = null - }, -/obj/machinery/light_switch{ - pixel_x = -12; - pixel_y = 23 - }, -/turf/open/floor/mineral/plastitanium, -/area/ship/security/armory) -"XU" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/closet/emcloset/wall/directional/north, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"Yv" = ( -/obj/machinery/nuclearbomb/beer{ - desc = "An evidently-decommissioned nuclear warhead. Sloppy paint on the casing declares 'VICTORY OVER NANOTRASEN,' followed by a badly-smudged date of 25-something. A drink tap has been drilled directly into the metal."; - name = "comemmorative nuclear fission explosive" - }, -/obj/effect/turf_decal/corner_techfloor_grid, -/turf/open/floor/plasteel/dark, -/area/ship/crew) -"YH" = ( -/obj/machinery/door/airlock/grunge{ - dir = 4; - name = "Cargo Bay" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/ship/crew) -"YI" = ( -/obj/machinery/door/poddoor/shutters{ - id = "wreckerwindows"; - name = "Blast Shutters" - }, -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/ship/hallway/central) -"YV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) -"Zb" = ( -/obj/structure/catwalk/over, -/turf/open/floor/plating/airless, -/area/ship/external) -"Zg" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/poddoor/shutters{ - id = "wreckerarmory"; - name = "Security Shutters" - }, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/tech/grid, -/area/ship/security/armory) -"Zi" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"Zn" = ( -/obj/effect/turf_decal/industrial/outline, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo) -"ZL" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/computer/rdconsole/core{ - dir = 8 - }, -/obj/effect/turf_decal/borderfloorblack{ - dir = 4 - }, -/obj/machinery/light_switch{ - dir = 1; - pixel_x = -10; - pixel_y = -19 - }, -/turf/open/floor/plasteel/tech/grid, -/area/ship/cargo/office) -"ZM" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/outline, -/turf/open/floor/plasteel/mono/dark, -/area/ship/cargo) -"ZR" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/tech, -/area/ship/hallway/central) - -(1,1,1) = {" -nn -iT -Ua -Xz -Ua -iT -nn -nn -nn -nn -nn -nn -nn -nn -sE -MF -TT -Ua -sE -"} -(2,1,1) = {" -nn -BR -ir -PL -SP -iT -nn -nn -nn -nn -nn -nn -nn -nn -sE -nX -dU -pi -NA -"} -(3,1,1) = {" -nn -iT -OL -xm -fW -iT -JL -VG -VG -VG -VG -DE -VG -Kf -sE -zZ -Tu -KQ -sE -"} -(4,1,1) = {" -nn -iT -KJ -EL -DW -iT -iT -iT -jt -BG -jI -cH -jI -jI -sE -oV -AF -Or -sE -"} -(5,1,1) = {" -nn -iT -zQ -pz -SV -tn -jP -iT -XO -VX -iL -yH -Sm -Sa -sE -DU -Ml -rR -sE -"} -(6,1,1) = {" -nn -iT -zA -XP -Ki -un -Ft -RD -QZ -Rc -Bn -Ok -QZ -QZ -Fl -nT -gM -aH -sE -"} -(7,1,1) = {" -nn -iT -fi -rM -KH -Ic -vG -iT -GM -dh -Oy -KX -jI -GV -GV -GV -GV -sE -sE -"} -(8,1,1) = {" -nn -JL -iT -yD -uq -La -Gw -iT -Xv -qO -xx -rF -jI -tl -Ck -Ff -GV -sE -CW -"} -(9,1,1) = {" -nn -Zb -JL -iT -iT -iT -iT -iT -jI -JD -JP -jI -jI -Ve -jf -Fe -GV -CW -Zb -"} -(10,1,1) = {" -nn -Zb -nn -cs -nR -uk -UX -Gj -Tq -jT -IO -oS -UX -pu -Ay -Ge -GV -nn -Zb -"} -(11,1,1) = {" -nn -Zb -nn -YI -Sh -BB -mX -rP -vi -UI -vN -wO -UX -Ms -Sd -dQ -Sg -nn -Zb -"} -(12,1,1) = {" -nn -Zb -nn -cs -FA -Px -vR -yd -Kn -ix -vN -TK -UX -Wc -Az -pv -GV -nn -Zb -"} -(13,1,1) = {" -nn -Zb -Zb -cs -yG -Lv -lX -Yv -cB -ut -ob -ec -WS -We -zq -Iz -GV -Zb -Zb -"} -(14,1,1) = {" -nn -Zb -nn -cs -HT -jG -HJ -HJ -HJ -HJ -YH -mX -UX -GV -GV -GV -ge -nn -Zb -"} -(15,1,1) = {" -nn -UN -cs -cs -XU -Uh -HJ -XR -bJ -HJ -Sv -bN -Zn -fL -KW -QG -QW -nn -Zb -"} -(16,1,1) = {" -nn -hD -qt -cs -ZR -iI -DO -EH -dG -bV -Pn -Fr -iv -nK -Bg -jY -yn -oO -Zb -"} -(17,1,1) = {" -nn -YI -lt -sG -YV -Sy -Wp -Ax -wE -Zg -oJ -nG -hc -fL -Ib -ol -yn -mL -oO -"} -(18,1,1) = {" -kR -Gm -aN -Wd -nS -tI -PG -fY -VA -KT -XQ -yw -pP -fL -Xj -ZL -yn -Pd -mL -"} -(19,1,1) = {" -nn -hD -xK -AE -px -Th -HJ -fv -jB -HJ -cV -jH -Ik -fL -fL -fL -yn -DF -mL -"} -(20,1,1) = {" -nn -SK -Ap -Ap -TR -yV -Ap -NF -NF -NF -TX -SJ -Dp -dA -Dp -hh -mL -Kb -fC -"} -(21,1,1) = {" -nn -AY -bH -BZ -Dq -rd -Ap -lg -ZM -Ii -Zi -bl -si -Wt -ia -SE -mL -Ky -or -"} -(22,1,1) = {" -nn -wp -no -KA -WN -cg -Ap -Af -hT -PT -FQ -zn -bd -sA -wP -vv -mL -RE -fg -"} -(23,1,1) = {" -nn -SK -yM -mf -aF -Fq -Ap -kg -gg -Mp -iC -Tg -Qy -MP -tS -RQ -mL -VD -fC -"} -(24,1,1) = {" -nn -Ap -Xb -XA -ch -bS -Ap -NF -NF -NF -ji -so -JS -NS -sx -NN -mL -mL -mL -"} -(25,1,1) = {" -nn -oz -FR -kM -pH -ch -oF -oz -nn -nn -nn -nn -nn -nn -nn -nn -oO -mL -mL -"} -(26,1,1) = {" -nn -oz -Rl -Ui -ch -Nl -pI -oz -nn -nn -nn -nn -nn -nn -nn -nn -nn -mL -mL -"} -(27,1,1) = {" -nn -Up -Ap -Jv -oQ -VC -Ap -Up -nn -nn -nn -nn -nn -nn -nn -nn -nn -mL -mL -"} -(28,1,1) = {" -nn -nn -fV -Jf -Jf -Jf -fV -nn -nn -nn -nn -nn -nn -nn -nn -nn -nn -oO -Qz -"} diff --git a/_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm b/_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm new file mode 100644 index 000000000000..fd082ec1ddca --- /dev/null +++ b/_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm @@ -0,0 +1,7037 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ab" = ( +/obj/structure/chair/sofa/brown/right/directional/north, +/obj/item/radio/intercom/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/red, +/area/ship/crew) +"au" = ( +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"av" = ( +/obj/structure/marker_beacon{ + picked_color = "Burgundy" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"aA" = ( +/obj/structure/chair/sofa/brown/left/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/plastic, +/turf/open/floor/carpet/red, +/area/ship/crew) +"aD" = ( +/obj/structure/guncloset{ + anchored = 1; + can_be_unanchored = 1; + open = 0; + req_access_txt = "3" + }, +/obj/item/gun/ballistic/shotgun/automatic/bulldog/no_mag, +/obj/item/gun/ballistic/automatic/pistol/asp/no_mag, +/obj/item/gun/ballistic/automatic/pistol/asp/no_mag, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/structure/sign/flag/ngr{ + dir = 4; + pixel_x = -32 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"aE" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/syndicate/surplus, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/clothing/head/helmet/space/syndicate/surplus, +/turf/open/floor/pod/dark, +/area/ship/hallway/central) +"aM" = ( +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"aP" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/engineering/electrical) +"aS" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/electrical) +"aU" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Command Deck"; + normalspeed = 0; + req_access_txt = "19" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/office) +"aX" = ( +/obj/machinery/suit_storage_unit/inherit{ + name = "wrecker's suit storage unit"; + req_access_txt = "48" + }, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/item/clothing/suit/space/syndicate/black/green, +/obj/item/clothing/head/helmet/space/syndicate/black/green, +/obj/item/clothing/mask/gas/syndicate, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ship/storage/equip) +"aY" = ( +/obj/machinery/mech_bay_recharge_port{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"aZ" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo/office) +"bp" = ( +/obj/structure/chair/office, +/obj/effect/turf_decal/corner/opaque/tan/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"bt" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = 7; + pixel_y = 6 + }, +/obj/item/folder/syndicate{ + pixel_x = 7; + pixel_y = 6 + }, +/obj/item/pen/blue{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/pen/red{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/flashlight/lamp{ + pixel_x = -8; + pixel_y = 13 + }, +/obj/effect/turf_decal/corner/opaque/tan/half{ + dir = 1 + }, +/obj/effect/turf_decal/borderfloorblack, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_x = -5; + pixel_y = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/office) +"bM" = ( +/obj/structure/chair/handrail, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/item/reagent_containers/food/drinks/soda_cans/xeno_energy{ + pixel_x = -4; + pixel_y = 14 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/xeno_energy{ + pixel_x = 6; + pixel_y = 9 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/pacfuel{ + pixel_x = -3; + pixel_y = 2 + }, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_y = 22 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ship/storage/equip) +"bT" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/tank_dispenser, +/turf/open/floor/pod/dark, +/area/ship/hallway/central) +"bW" = ( +/obj/machinery/door/airlock/hatch{ + name = "Foreman's Office"; + normalspeed = 0; + req_access_txt = "56" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo/office) +"cc" = ( +/obj/structure/closet/wardrobe/black{ + name = "wardrobe"; + populate = 0 + }, +/obj/item/storage/backpack, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/under/syndicate/ngr, +/obj/item/radio/headset, +/obj/item/clothing/head/ngr, +/obj/item/clothing/head/ngr/flap, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/suit/hooded/wintercoat/security/ngr, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/beige/half, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"ce" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/closet/wall/directional/west{ + name = "closet" + }, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/obj/item/radio, +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"cy" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/dorm/captain) +"cB" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/hydrogen, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"cE" = ( +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 10 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/pod, +/area/ship/crew/cryo) +"cG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"cJ" = ( +/obj/effect/turf_decal/industrial/warning, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light/small/directional/east, +/turf/open/floor/pod/dark, +/area/ship/hallway/central) +"cR" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/syndicate/surplus, +/obj/item/clothing/head/helmet/space/syndicate/surplus, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"cU" = ( +/obj/machinery/atmospherics/components/trinary/mixer{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"cX" = ( +/obj/structure/table/reinforced, +/obj/item/book/manual/wiki/piloting{ + pixel_x = -6; + pixel_y = 3 + }, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_x = 5; + pixel_y = 11 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"dn" = ( +/obj/machinery/porta_turret/ship/ngr{ + dir = 5; + id = "derecho_grid" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/science/workshop) +"dB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_y = 22 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"dC" = ( +/obj/machinery/porta_turret/ship/ngr{ + dir = 5; + id = "derecho_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/hallway/central) +"dW" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/obj/structure/filingcabinet/chestdrawer{ + pixel_x = -6 + }, +/obj/machinery/light/dim/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/button/door{ + id = "derecho_entrance_blast"; + name = "Blast Door Control"; + pixel_x = -4; + pixel_y = 23 + }, +/obj/machinery/button/shieldwallgen{ + id = "derecho_entrance_holo"; + pixel_x = 7; + pixel_y = 21 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"dX" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/chair/handrail, +/obj/item/radio/intercom/directional/north, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"dZ" = ( +/obj/structure/crate_shelf, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"ea" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/item/cutting_board{ + pixel_y = 3 + }, +/obj/item/melee/knife, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"eb" = ( +/obj/effect/turf_decal/rechargefloor, +/obj/structure/mecha_wreckage/ripley/mkii, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/glass, +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/plasteel/tech/grid, +/area/ship/science/workshop) +"ep" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/structure/rack, +/obj/item/tank/jetpack/carbondioxide{ + pixel_x = -6; + pixel_y = 9 + }, +/obj/item/storage/toolbox/syndicate{ + name = "syndicate toolbox"; + pixel_x = 3; + pixel_y = 1 + }, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_y = -20 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"er" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/obj/item/paper_bin/carbon{ + pixel_x = 7; + pixel_y = 6 + }, +/obj/item/desk_flag/ngr{ + pixel_x = -8; + pixel_y = 13 + }, +/obj/item/folder/syndicate{ + pixel_x = 7; + pixel_y = 6 + }, +/obj/item/pen/blue{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/pen/red{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/item/lighter{ + pixel_x = -10; + pixel_y = 2 + }, +/obj/item/storage/fancy/cigarettes/cigpack_syndicate{ + pixel_x = -3; + pixel_y = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"eu" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4; + layer = 2.04 + }, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/effect/spawner/random/food_or_drink/ration, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/drinks/waterbottle, +/obj/item/reagent_containers/food/snacks/canned/beans, +/obj/item/reagent_containers/food/snacks/canned/beans, +/obj/item/reagent_containers/food/snacks/canned/beans, +/obj/structure/closet/crate{ + name = "food crate" + }, +/obj/structure/chair/handrail, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"ex" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs{ + dir = 8; + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/hallway/fore) +"eA" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"eB" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/line{ + dir = 1 + }, +/obj/structure/cabinet/fireaxe{ + pixel_y = 21 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"eC" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/storage/equip) +"eD" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, +/obj/machinery/button/door{ + dir = 4; + id = "derecho_atmos_shut"; + name = "Atmospherics Shutters"; + pixel_x = -21; + pixel_y = -3 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 7 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"eL" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light_switch{ + pixel_x = 7; + pixel_y = 22 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"fa" = ( +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/structure/closet/emcloset, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 7; + pixel_y = -19 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/firealarm/directional/south{ + pixel_x = -7 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"fe" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/aft) +"fB" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -3 + }, +/obj/machinery/button/door{ + dir = 8; + id = "derecho_foreman_door"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 21; + pixel_y = 7; + req_access_txt = "3"; + specialfunctions = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"fC" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/airlock/maintenance_hatch{ + dir = 8; + name = "Thrusters"; + req_access_txt = "10" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engines) +"fD" = ( +/obj/item/cigbutt{ + pixel_x = -5; + pixel_y = -6 + }, +/turf/open/floor/carpet/red, +/area/ship/crew) +"fF" = ( +/obj/machinery/vending/cola/sodie, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/machinery/firealarm/directional/west, +/obj/structure/sign/poster/syndicate/random{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"fQ" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "derecho_starboard_engine_blast" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines) +"fX" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 1 + }, +/obj/structure/table/reinforced, +/obj/item/reagent_containers/food/drinks/modglass{ + icon_state = "mglass-6-"; + pixel_x = 7; + pixel_y = 2 + }, +/obj/item/reagent_containers/food/drinks/modglass{ + icon_state = "mglass-6-"; + pixel_x = -3 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"gc" = ( +/obj/structure/crate_shelf, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"gx" = ( +/obj/machinery/autolathe, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/item/radio/intercom/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"gD" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/structure/closet/crate/bin, +/obj/structure/noticeboard{ + dir = 8; + name = "menu board"; + pixel_x = 28 + }, +/obj/machinery/button/door{ + id = "derecho_mess_shut"; + name = "Canteen Shutters"; + pixel_x = 3; + pixel_y = 23 + }, +/obj/machinery/light_switch{ + pixel_x = -7; + pixel_y = 22 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/trash/chips, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"gF" = ( +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"gK" = ( +/obj/machinery/mineral/processing_unit_console{ + machinedir = 2; + pixel_y = 26 + }, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/chair/handrail, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"gU" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Life Support"; + normalspeed = 0; + req_access_txt = "10" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/atmospherics) +"gV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"gW" = ( +/obj/structure/rack, +/obj/item/gun/energy/plasmacutter{ + pixel_y = 15 + }, +/obj/item/screwdriver/power{ + pixel_x = 8; + pixel_y = 5 + }, +/obj/item/crowbar/power{ + pixel_x = -9; + pixel_y = -1 + }, +/obj/machinery/airalarm/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ship/storage/equip) +"hf" = ( +/obj/structure/table, +/obj/item/storage/toolbox/syndicate{ + name = "syndicate toolbox"; + pixel_x = -3; + pixel_y = -2 + }, +/obj/machinery/cell_charger{ + pixel_y = 7 + }, +/obj/item/clothing/head/welding{ + pixel_x = 9; + pixel_y = -2 + }, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500"; + layer = 2.04 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"hg" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/tan/half{ + dir = 1 + }, +/obj/item/desk_flag/ngr{ + pixel_x = 14; + pixel_y = 1 + }, +/obj/machinery/computer/helm/viewscreen/directional/south, +/obj/item/stamp/denied{ + pixel_x = -12; + pixel_y = 7 + }, +/obj/item/stamp{ + pixel_x = -12; + pixel_y = 1 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"hk" = ( +/obj/machinery/porta_turret/ship/ngr{ + dir = 5; + id = "derecho_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/bridge) +"hr" = ( +/obj/machinery/computer/mech_bay_power_console, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"hI" = ( +/obj/structure/table, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3; + pixel_y = 12 + }, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 5; + pixel_y = 14 + }, +/obj/effect/turf_decal/corner/opaque/tan/full, +/obj/structure/sign/flag/ngr{ + dir = 1; + pixel_y = -32 + }, +/obj/item/trash/popcorn, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"hL" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"in" = ( +/obj/structure/closet/secure_closet/armorycage{ + anchored = 1; + can_be_unanchored = 1; + name = "equipment locker" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/item/storage/box/ammo/a357{ + pixel_x = -7; + pixel_y = 2 + }, +/obj/item/storage/box/ammo/c57x39{ + pixel_x = 13; + pixel_y = 1 + }, +/obj/item/storage/box/ammo/c57x39{ + pixel_x = 13; + pixel_y = 1 + }, +/obj/item/storage/box/ammo/a12g_buckshot{ + pixel_y = -5 + }, +/obj/item/storage/box/ammo/a12g_buckshot{ + pixel_y = -5 + }, +/obj/item/ammo_box/magazine/m57_39_asp/empty, +/obj/item/ammo_box/magazine/m57_39_asp/empty, +/obj/item/ammo_box/magazine/m57_39_asp/empty, +/obj/item/ammo_box/magazine/m57_39_asp/empty, +/obj/item/ammo_box/magazine/m12g_bulldog/empty, +/obj/item/ammo_box/magazine/m12g_bulldog/empty, +/obj/machinery/light/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"iy" = ( +/obj/machinery/portable_atmospherics/pump, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"iA" = ( +/obj/machinery/door/poddoor/shutters{ + id = "derecho_bridge_shut" + }, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/structure/grille, +/obj/structure/window/plasma/reinforced/plastitanium, +/turf/open/floor/plating, +/area/ship/bridge) +"iC" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"iE" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"iH" = ( +/obj/structure/table, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"iK" = ( +/obj/structure/closet/crate, +/obj/item/stack/sheet/metal/twenty, +/obj/item/stack/sheet/glass/five, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"iO" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"iZ" = ( +/obj/structure/closet/wardrobe/black{ + name = "wardrobe"; + populate = 0 + }, +/obj/item/storage/backpack, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/under/syndicate/ngr, +/obj/item/radio/headset, +/obj/item/clothing/head/ngr, +/obj/item/clothing/head/ngr/flap, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/suit/hooded/wintercoat/security/ngr, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew) +"jn" = ( +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"js" = ( +/obj/structure/sign/warning/docking{ + pixel_y = -8 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/central) +"ju" = ( +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"jA" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"jN" = ( +/obj/effect/turf_decal/corner/opaque/tan/mono, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"jW" = ( +/obj/machinery/light/directional/north, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"jX" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/light_switch{ + pixel_x = -7; + pixel_y = 22 + }, +/obj/machinery/button/door{ + id = "derecho_dorms_shut"; + name = "Crew Quarters Shutters"; + pixel_x = 3; + pixel_y = 23 + }, +/obj/machinery/light/dim/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"kg" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/crew/canteen) +"ki" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"ks" = ( +/obj/structure/sign/warning/gasmask, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/fore) +"ky" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/external/dark) +"kG" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "derecho_bridge_shut" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/bridge) +"kH" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 9 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 7 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/button/door{ + dir = 8; + id = "derecho_engine_blast"; + name = "Engine Blast Doors"; + pixel_x = 21; + pixel_y = -3 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines) +"kU" = ( +/obj/machinery/power/terminal, +/obj/structure/cable/yellow, +/obj/machinery/light/dim/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"kX" = ( +/obj/structure/grille, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"ld" = ( +/obj/machinery/suit_storage_unit/inherit{ + name = "wrecker's suit storage unit"; + req_access_txt = "48" + }, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/item/clothing/suit/space/syndicate/black/green, +/obj/item/clothing/head/helmet/space/syndicate/black/green, +/obj/item/clothing/mask/gas/syndicate, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/sign/poster/official/safety_eye_protection{ + pixel_y = 32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod, +/area/ship/storage/equip) +"lg" = ( +/obj/structure/closet/secure_closet/engineering_personal{ + populate = 0 + }, +/obj/item/storage/backpack/industrial, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/under/syndicate/ngr, +/obj/item/clothing/suit/hazardvest/ngr, +/obj/item/clothing/accessory/armband/engine, +/obj/item/clothing/head/hardhat/ngr, +/obj/item/storage/belt/utility, +/obj/item/clothing/suit/hooded/wintercoat/security/ngr, +/obj/item/clothing/head/ngr, +/obj/item/radio/headset/alt, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 8 + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/item/clothing/mask/balaclava/ngr, +/obj/item/clothing/mask/gas/syndicate, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/item/clothing/glasses/meson, +/obj/item/pipe_dispenser{ + pixel_x = 2; + pixel_y = 9 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"lh" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"li" = ( +/obj/machinery/light/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"ln" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/science/workshop) +"lt" = ( +/obj/machinery/power/terminal, +/obj/structure/cable/yellow, +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"lv" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"lF" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"lQ" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/computer/atmos_alert{ + dir = 4; + icon_state = "computer-left" + }, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"lS" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"lU" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/effect/decal/cleanable/plastic, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"lY" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/holopad/secure, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/item/cigbutt{ + pixel_x = 14; + pixel_y = -3 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"mb" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/cable{ + icon_state = "0-9" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines) +"mu" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"mv" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/obj/structure/table, +/obj/item/storage/fancy/cigarettes/cigpack_robustgold{ + pixel_x = 3; + pixel_y = 14 + }, +/obj/item/storage/fancy/cigarettes/cigpack_robust{ + pixel_x = -7; + pixel_y = 9 + }, +/obj/item/lighter/greyscale{ + pixel_x = 12; + pixel_y = 12 + }, +/obj/item/storage/belt/mining{ + pixel_x = 5; + pixel_y = 8 + }, +/obj/item/storage/belt/utility, +/turf/open/floor/pod, +/area/ship/storage/equip) +"mJ" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"mM" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"mO" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/n2{ + dir = 1; + piping_layer = 4 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"mR" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"mT" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"mU" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -3 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/pacfuel{ + pixel_x = 10; + pixel_y = 16 + }, +/obj/structure/punching_bag, +/obj/effect/decal/cleanable/dirt, +/obj/item/cigbutt{ + pixel_x = -10; + pixel_y = 4 + }, +/turf/open/floor/pod, +/area/ship/storage/equip) +"nb" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/starboard) +"ng" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/line{ + dir = 8 + }, +/obj/structure/chair/handrail, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 24 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"nk" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/hatch{ + dir = 1; + name = "Engineering"; + normalspeed = 0; + req_access_txt = "10" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"nt" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"nz" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1; + layer = 2.04 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"nY" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) +"oa" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/noticeboard{ + pixel_y = 28 + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan/half, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"oc" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 8; + name = "Cargo Bay"; + req_ship_access = 0 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/fore) +"oe" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave{ + pixel_y = 8 + }, +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -3 + }, +/obj/machinery/button/door{ + dir = 4; + id = "derecho_mess_shut"; + name = "Canteen Shutters"; + pixel_x = -21; + pixel_y = 7 + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"oh" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"ok" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"om" = ( +/obj/machinery/airalarm/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"ot" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"ox" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"oy" = ( +/obj/effect/turf_decal/steeldecal/steel_decals_central4, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"oz" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan/half, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/button/door{ + dir = 4; + id = "derecho_office_shut"; + name = "Office Shutters"; + pixel_x = -21; + pixel_y = 7 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -3 + }, +/obj/structure/reagent_dispensers/water_cooler{ + pixel_x = -6 + }, +/obj/machinery/firealarm/directional/north{ + pixel_x = -7 + }, +/obj/structure/extinguisher_cabinet/directional/north{ + pixel_x = 7 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"oF" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"oQ" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 7; + pixel_y = -19 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"oS" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/firealarm/directional/west{ + pixel_y = -4 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 7 + }, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"oZ" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"pa" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"pd" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"pe" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"pg" = ( +/obj/structure/table, +/obj/machinery/jukebox/boombox, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"pk" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 4; + name = "Helm" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"pn" = ( +/obj/structure/closet/crate/secure/loot, +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"px" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 8; + req_ship_access = 0 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/aft) +"pF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Workshop"; + req_access = null; + req_one_access = list(10, 48) + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/science/workshop) +"pH" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/turretid/ship{ + id = "derecho_grid"; + pixel_x = -3; + pixel_y = 24 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"pJ" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"pL" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"pR" = ( +/obj/structure/marker_beacon{ + picked_color = "Yellow" + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"pS" = ( +/obj/structure/reagent_dispensers/fueltank, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500"; + layer = 2.04 + }, +/obj/effect/turf_decal/techfloor, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_x = 22 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"qc" = ( +/obj/machinery/cryopod, +/obj/effect/turf_decal/industrial/warning{ + dir = 6 + }, +/obj/machinery/light/small/directional/east, +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"qf" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"qh" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/computer/monitor{ + dir = 4; + icon_state = "computer-right" + }, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 4 + }, +/obj/machinery/light/dim/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"qi" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"qn" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/obj/machinery/light/dim/directional/east, +/obj/item/instrument/guitar, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/red, +/area/ship/crew) +"qr" = ( +/obj/machinery/shower{ + dir = 8 + }, +/obj/effect/turf_decal/steeldecal/steel_decals10{ + dir = 10 + }, +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/canteen) +"qA" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/engines) +"qB" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/atmospherics) +"qD" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"qE" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew) +"qF" = ( +/obj/machinery/atmospherics/components/trinary/mixer{ + dir = 1 + }, +/obj/item/paper/guides/jobs/engi/combustion_thruster, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"qH" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/hatch{ + name = "Crew Quarters"; + req_ship_access = 0 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew) +"qS" = ( +/obj/machinery/power/smes/engineering, +/obj/effect/turf_decal/techfloor, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/platform/military, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"qY" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/machinery/button/door{ + dir = 8; + id = "derecho_mess_shut"; + name = "Canteen Shutters"; + pixel_x = 21; + pixel_y = -3 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 7 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"rD" = ( +/obj/effect/turf_decal/spline/plain/opaque/solgovgold, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"rL" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/storage/equip) +"rW" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"sa" = ( +/obj/structure/chair/bench/orange/directional/east, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"se" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Control Room"; + normalspeed = 0; + req_access_txt = "10" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/electrical) +"sg" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-1" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"sm" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -7; + pixel_y = -19 + }, +/obj/machinery/button/door{ + dir = 1; + id = "derecho_eng_shut"; + name = "Engineering Shutters"; + pixel_x = 3; + pixel_y = -20 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"sn" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/trash/can, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"sv" = ( +/obj/structure/closet/firecloset/wall/directional/south, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"sC" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west, +/obj/structure/chair/plastic{ + dir = 4 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/xeno_energy{ + pixel_x = -2; + pixel_y = 20 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/pacfuel{ + pixel_x = 9; + pixel_y = 17 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/crosstalk{ + pixel_x = 3; + pixel_y = 14 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod, +/area/ship/storage/equip) +"sD" = ( +/obj/machinery/porta_turret/ship/ngr{ + id = "derecho_grid" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/canteen) +"sG" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/closet/crate/medical, +/obj/item/storage/box/bodybags, +/obj/item/storage/firstaid/regular, +/obj/effect/decal/cleanable/dirt, +/obj/structure/platform/military{ + dir = 10 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"sH" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ship/storage/equip) +"sL" = ( +/obj/machinery/door/airlock/hatch{ + dir = 4; + id_tag = "derecho_bathroom_door"; + name = "Restroom"; + req_ship_access = 0 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/canteen) +"sM" = ( +/obj/machinery/portable_atmospherics/canister/hydrogen, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/light/dim/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"sN" = ( +/obj/machinery/telecomms/relay/preset/mining{ + autolinkers = list("relay","hub"); + freq_listening = list(1213); + id = "NGR Relay"; + name = "NGR Relay"; + network = "ngr_commnet" + }, +/obj/machinery/door/window/brigdoor/westright{ + dir = 1; + req_access = list(20); + req_ship_access = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-1" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/bridge) +"sU" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/closet/crate/secure/loot, +/obj/effect/decal/cleanable/dirt, +/obj/structure/platform/military, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"sZ" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"te" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan/full, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"tg" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/firealarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/cobweb, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines) +"tp" = ( +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/structure/tank_dispenser, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/button/door{ + id = "derecho_storage_shut"; + name = "Storage Shutters"; + pixel_x = -3; + pixel_y = 20; + req_ship_access = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"tZ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"ua" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 8; + name = "Storage Bay" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"uE" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 7 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"uK" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"uX" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engines) +"vc" = ( +/obj/structure/sign/number/random{ + dir = 1 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/science/workshop) +"vd" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"vi" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/button/door{ + dir = 1; + id = "derecho_storage_shut"; + name = "Storage Shutters"; + pixel_x = 3; + pixel_y = -20 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -7; + pixel_y = -19 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"vr" = ( +/obj/structure/closet/syndicate/personal{ + name = "foreman's closet"; + populate = 0 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/item/storage/backpack/industrial, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/under/syndicate/ngr/officer, +/obj/item/clothing/suit/ngr, +/obj/item/clothing/gloves/color/red/insulated, +/obj/item/radio/headset/syndicate/alt, +/obj/item/clothing/head/hardhat/ngr/foreman, +/obj/item/clothing/glasses/sunglasses, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/mask/breath/ngr, +/obj/item/clothing/mask/balaclava/ngr, +/obj/item/megaphone, +/obj/item/storage/guncase/pistol/pc76, +/obj/machinery/light/small/directional/west, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"vs" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"vv" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"vA" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/door/airlock/hatch{ + name = "Canteen"; + req_ship_access = 0 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/canteen) +"vC" = ( +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 7 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"vF" = ( +/obj/machinery/conveyor{ + dir = 5; + id = "derecho_belt" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 7 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/science/workshop) +"vJ" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "derecho_belt" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/science/workshop) +"vS" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/structure/bed/dogbed, +/mob/living/simple_animal/hostile/asteroid/goliath/pup{ + a_intent = "help"; + desc = "A small goliath pup. Its tendrils have not yet fully grown. Someone, somehow, has managed to fit a large dog collar around its neck."; + environment_smash = 0; + faction = list("neutral","playerSyndicate"); + mob_size = 2; + move_resist = 1000; + name = "David"; + pixel_x = 0 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"vV" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Equipment Storage"; + req_access_txt = "10" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/atmospherics) +"wa" = ( +/obj/structure/cable{ + icon_state = "1-10" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Starboard Thrusters"; + req_access_txt = "10" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engines) +"wg" = ( +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Canteen"; + req_ship_access = 0 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew) +"wj" = ( +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/hallway/central) +"ws" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"wE" = ( +/obj/effect/turf_decal/corner/opaque/tan/mono, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"wF" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/opaque/bar/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"wG" = ( +/obj/structure/sign/flag/ngr{ + dir = 4; + pixel_x = -32 + }, +/turf/open/floor/carpet/red, +/area/ship/crew) +"wN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"wR" = ( +/obj/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4, +/turf/open/floor/engine/air, +/area/ship/engineering/atmospherics) +"wV" = ( +/obj/machinery/computer/helm{ + dir = 8; + icon_state = "computer-left" + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"wY" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/tan/half{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/closet/crate/bin, +/obj/machinery/light/dim/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"xD" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "derecho_belt" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/mineral/processing_unit{ + input_dir = 8; + output_dir = 4 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/science/workshop) +"xQ" = ( +/obj/machinery/door/airlock/hatch{ + name = "Foreman's Office"; + normalspeed = 0; + req_access_txt = "56" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo/office) +"xU" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"yb" = ( +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"yh" = ( +/obj/machinery/light_switch{ + pixel_x = 7; + pixel_y = 22 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/stairs{ + dir = 8; + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/hallway/fore) +"yi" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan/half, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"yq" = ( +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"yu" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/effect/turf_decal/industrial/stand_clear{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ship/science/workshop) +"yv" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/light/directional/south, +/obj/structure/closet/emcloset/wall/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"yz" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_x = -9; + pixel_y = 3 + }, +/obj/item/storage/toolbox/syndicate{ + name = "syndicate toolbox"; + pixel_x = 8; + pixel_y = -2 + }, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 8 + }, +/obj/machinery/cell_charger{ + pixel_y = 7 + }, +/obj/machinery/firealarm/directional/south, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"yD" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/oil/streak, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"yO" = ( +/obj/machinery/power/shuttle/engine/fire{ + dir = 4 + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "derecho_engine_blast" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines) +"yS" = ( +/obj/machinery/power/shuttle/engine/electric{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "derecho_port_engine_blast" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines) +"yW" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"zk" = ( +/obj/structure/closet/crate/radiation{ + name = "fuel crate" + }, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/item/stack/sheet/mineral/uranium/ten, +/obj/effect/turf_decal/radiation/white, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"zn" = ( +/obj/structure/table/wood, +/obj/item/paper{ + pixel_x = -6; + pixel_y = 7 + }, +/obj/item/stamp/ngr/captain{ + pixel_x = -7; + pixel_y = 8 + }, +/obj/item/flashlight/lamp/green{ + pixel_x = 7; + pixel_y = 16 + }, +/obj/item/stamp/ngr{ + pixel_x = 1; + pixel_y = 4 + }, +/obj/item/pen/fountain/captain{ + pixel_x = -4; + pixel_y = -1 + }, +/obj/item/reagent_containers/food/drinks/bottle/whiskey{ + pixel_x = 11; + pixel_y = 9 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/structure/sign/poster/contraband/syndiemoth{ + pixel_x = 32 + }, +/turf/open/floor/carpet/red_gold, +/area/ship/crew/dorm/captain) +"zr" = ( +/obj/structure/chair/comfy/grey/directional/west, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/carpet/red_gold, +/area/ship/crew/dorm/captain) +"zz" = ( +/obj/structure/chair/comfy/shuttle{ + dir = 1; + name = "Operations" + }, +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"zA" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"zB" = ( +/obj/machinery/door/airlock/external, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/central) +"zC" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"zI" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/table, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_x = 5; + pixel_y = 11 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/item/storage/box/gum/nicotine, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"zJ" = ( +/obj/machinery/nuclearbomb/beer/empty{ + desc = "An evidently-decommissioned nuclear warhead. Faded paint on the casing reads \"VICTORY OVER NANOTRASEN\", with a much newer plaque installed on top commemorating the end of the ICW in 497. A drink tap has been drilled directly into the metal."; + name = "comemmorative nuclear fission explosive" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"zL" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4{ + dir = 5 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"zN" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/structure/sign/flag/ngr{ + dir = 4; + pixel_x = -32 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"zV" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"zW" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/carpet/red_gold, +/area/ship/crew/dorm/captain) +"Ad" = ( +/obj/effect/turf_decal/industrial/outline{ + color = "#791500"; + layer = 2.04 + }, +/obj/structure/crate_shelf, +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"Ae" = ( +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/structure/sink/kitchen{ + dir = 4 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"Ah" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"Aq" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Bridge"; + normalspeed = 0; + req_access_txt = "19" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/bridge) +"Au" = ( +/obj/structure/toilet, +/obj/structure/sink{ + dir = 8; + pixel_x = 12 + }, +/obj/structure/mirror{ + pixel_x = 28 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -3 + }, +/obj/machinery/button/door{ + dir = 4; + id = "derecho_bathroom_door"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = -20; + pixel_y = 7; + req_access_txt = "3"; + specialfunctions = 4 + }, +/obj/effect/decal/cleanable/blood/drip, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plasteel/showroomfloor, +/area/ship/crew/canteen) +"AV" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"AW" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines) +"AZ" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod, +/area/ship/storage/equip) +"Ba" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"By" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-10" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines) +"BE" = ( +/obj/structure/bed, +/obj/structure/curtain/cloth/fancy, +/obj/item/bedsheet/syndie{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"BH" = ( +/obj/structure/window/plasma/reinforced, +/obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/atmos/air_output{ + piping_layer = 2 + }, +/turf/open/floor/engine/air, +/area/ship/engineering/atmospherics) +"BK" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/power/ship_gravity, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/airalarm/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"Ca" = ( +/obj/structure/railing{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/structure/closet/secure_closet/engineering_electrical{ + req_access = null; + req_access_txt = "11"; + req_one_access = null + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"Ci" = ( +/obj/machinery/door/poddoor/shutters{ + id = "derecho_bridge_shut" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/bridge) +"Cl" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/bridge) +"Cn" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 7 + }, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/engineering/electrical) +"Cs" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, +/obj/machinery/door/poddoor/shutters{ + id = "derecho_atmos_shut" + }, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/engineering/atmospherics) +"CB" = ( +/obj/machinery/power/smes/engineering, +/obj/effect/turf_decal/techfloor, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/platform/military, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"CI" = ( +/obj/machinery/computer/crew{ + icon_state = "computer-right" + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"CN" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"CX" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 7 + }, +/obj/machinery/button/door{ + dir = 8; + id = "derecho_starboard_engine_blast"; + name = "Engine Blast Doors"; + pixel_x = 21; + pixel_y = -3 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines) +"CY" = ( +/obj/structure/rack, +/obj/item/tank/jetpack/carbondioxide{ + pixel_x = 6; + pixel_y = 8 + }, +/obj/item/tank/jetpack/carbondioxide{ + pixel_x = -6 + }, +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ship/storage/equip) +"Dq" = ( +/obj/structure/rack, +/obj/item/pickaxe/drill{ + pixel_y = 9 + }, +/obj/item/pickaxe/drill, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/machinery/firealarm/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ship/storage/equip) +"DD" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"DI" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"DL" = ( +/obj/structure/railing/corner, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + layer = 2.04 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 7 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"DP" = ( +/obj/machinery/power/smes/shuttle/precharged{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/structure/cable{ + icon_state = "5-6" + }, +/turf/open/floor/plating, +/area/ship/engineering/engines) +"DS" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -3 + }, +/obj/machinery/button/door{ + dir = 8; + id = "derecho_port_engine_blast"; + name = "Engine Blast Doors"; + pixel_x = 21; + pixel_y = 7 + }, +/obj/item/trash/syndi_cakes, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines) +"DT" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/components/unary/portables_connector/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"Ef" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/structure/closet/secure_closet/engineering_chief{ + name = "\proper foreman's equipment locker"; + populate = 0 + }, +/obj/machinery/firealarm/directional/south, +/obj/machinery/airalarm/directional/east, +/obj/item/storage/belt/utility/chief, +/obj/item/clothing/glasses/meson/engine, +/obj/item/screwdriver/power{ + pixel_x = 8; + pixel_y = 5 + }, +/obj/item/crowbar/power{ + pixel_x = -9; + pixel_y = -1 + }, +/obj/item/t_scanner, +/obj/item/clothing/mask/gas/syndicate{ + pixel_x = 7; + pixel_y = 6 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"Eh" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/dorm) +"Ei" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/hardline_small/left, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"Ej" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/turf_decal/hardline_small, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"Ep" = ( +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/machinery/light/dim/directional/east, +/obj/effect/turf_decal/hardline_small/right, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"Et" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"Ez" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 8 + }, +/obj/structure/table/reinforced, +/obj/item/radio/intercom/table{ + dir = 1; + pixel_x = 7; + pixel_y = 3 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"ED" = ( +/obj/machinery/cryopod, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"EF" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"EM" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/stairs{ + icon = 'icons/obj/stairs.dmi' + }, +/area/ship/hallway/central) +"ER" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, +/obj/structure/reagent_dispensers/foamtank, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"EY" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/o2{ + dir = 1; + piping_layer = 4 + }, +/obj/structure/sign/poster/contraband/atmosia_independence{ + pixel_x = -32 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"EZ" = ( +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Fk" = ( +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"Fp" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 7 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1; + layer = 2.04 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"FC" = ( +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"Gb" = ( +/obj/structure/bed{ + dir = 1 + }, +/obj/structure/curtain/cloth/fancy, +/obj/item/bedsheet/syndie{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/carpet/red_gold, +/area/ship/crew/dorm/captain) +"Gc" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 7 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"Gg" = ( +/obj/structure/ore_box, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_y = 22 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"Gl" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-9" + }, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Port Thrusters"; + req_access_txt = "10" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ship/engineering/engines) +"Gr" = ( +/obj/structure/chair/sofa/brown/corner/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/carpet/red, +/area/ship/crew) +"GC" = ( +/obj/structure/sign/number/random{ + dir = 1 + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/cargo) +"GD" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"GI" = ( +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 5 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"GS" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + layer = 2.04 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/components/binary/pump/layer4, +/obj/machinery/light/dim/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"Hf" = ( +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/machinery/firealarm/directional/west, +/obj/effect/turf_decal/number/right_four, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"Hv" = ( +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, +/obj/machinery/atmospherics/components/unary/portables_connector/layer2, +/obj/machinery/airalarm/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"HJ" = ( +/obj/machinery/porta_turret/ship/ngr{ + dir = 1; + id = "derecho_grid" + }, +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering/electrical) +"HP" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/effect/turf_decal/number/left_nine, +/obj/effect/turf_decal/number/right_nine, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"HX" = ( +/obj/machinery/door/poddoor/shutters{ + id = "derecho_office_shut" + }, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/crew/office) +"Id" = ( +/obj/machinery/computer/cargo{ + icon_state = "computer-left" + }, +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/red/half, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"Im" = ( +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/structure/reagent_dispensers/fueltank, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_x = 22 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"Iq" = ( +/obj/effect/turf_decal/techfloor, +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"IV" = ( +/obj/structure/filingcabinet/double{ + density = 0; + dir = 8; + pixel_x = 10 + }, +/obj/effect/turf_decal/corner/opaque/tan/mono, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 7 + }, +/obj/machinery/button/door{ + dir = 8; + id = "derecho_office_shut"; + name = "Office Shutters"; + pixel_x = 21; + pixel_y = -3 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"Jh" = ( +/obj/machinery/cryopod, +/obj/effect/turf_decal/industrial/warning{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"Jj" = ( +/obj/structure/grille, +/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4{ + dir = 1 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) +"Jv" = ( +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/light/directional/north, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"JA" = ( +/obj/docking_port/stationary{ + dwidth = 15; + height = 30; + width = 30 + }, +/turf/template_noop, +/area/template_noop) +"JD" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"JE" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "engine fuel pump" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"JM" = ( +/obj/structure/chair/bench/orange/directional/west, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"JP" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"JS" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/turf/open/floor/pod, +/area/ship/storage/equip) +"JV" = ( +/obj/machinery/door/poddoor/shutters{ + id = "derecho_eng_shut" + }, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/engineering) +"Ki" = ( +/obj/machinery/conveyor{ + dir = 1; + id = "derecho_belt" + }, +/obj/machinery/mineral/unloading_machine{ + input_dir = 2; + output_dir = 1 + }, +/obj/structure/plasticflaps/opaque, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/science/workshop) +"Kn" = ( +/obj/effect/spawner/bunk_bed, +/obj/structure/curtain/bounty, +/turf/open/floor/carpet/red, +/area/ship/crew) +"Ko" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/hatch{ + id_tag = "derecho_foreman_door"; + name = "Foreman's Quarters"; + req_access_txt = "56" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/dorm) +"Kz" = ( +/obj/structure/crate_shelf, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"KD" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/structure/sign/poster/contraband/aclf{ + pixel_y = -32 + }, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_y = -20 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"KF" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan/half, +/obj/structure/sign/flag/ngr{ + pixel_y = 32 + }, +/obj/structure/chair/handrail, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"KL" = ( +/obj/structure/table/reinforced, +/obj/machinery/fax/syndicate{ + pixel_y = 8 + }, +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/tan/half{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light/dim/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"KR" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/machinery/light/dim/directional/west, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/radio/intercom/directional/south{ + pixel_x = -7 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 7; + pixel_y = -19 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"KX" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"La" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/computer/cryopod/directional/east, +/turf/open/floor/pod/dark, +/area/ship/crew/cryo) +"Ld" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/cryo) +"LC" = ( +/obj/structure/closet/crate/trashcart, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/pod, +/area/ship/crew/cryo) +"LI" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/office) +"LP" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/door/poddoor/shutters{ + id = "derecho_storage_shut" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/cargo) +"LT" = ( +/obj/machinery/power/port_gen/pacman/super, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/electrical) +"Ma" = ( +/obj/structure/bookcase/random/fiction, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/red, +/area/ship/crew) +"Ml" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"Mo" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/tan/full, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_x = 22 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"Ms" = ( +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/cargo/office) +"MA" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_cw, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"MB" = ( +/obj/structure/mopbucket, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/machinery/light/small/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/mop, +/turf/open/floor/pod, +/area/ship/crew/cryo) +"ME" = ( +/obj/structure/table, +/obj/item/toy/cards/deck/syndicate{ + pixel_x = -6; + pixel_y = 2 + }, +/obj/item/toy/cards/deck/kotahi{ + pixel_x = 4; + pixel_y = 2 + }, +/obj/item/dice/d6{ + pixel_x = 5; + pixel_y = 14 + }, +/obj/item/dice/d6{ + pixel_x = -5; + pixel_y = 11 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/red, +/area/ship/crew) +"MG" = ( +/obj/machinery/washing_machine, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ship/crew/cryo) +"MH" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/suit_storage_unit/inherit, +/obj/structure/sign/poster/contraband/gec{ + pixel_x = 32 + }, +/obj/item/clothing/suit/space/syndicate/black/engie, +/obj/item/clothing/head/helmet/space/syndicate/black/engie, +/obj/item/clothing/shoes/magboots/syndie, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 8 + }, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"MK" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"MM" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 1; + layer = 2.04 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 8 + }, +/obj/structure/closet/emcloset/wall/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"MN" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew/canteen) +"MU" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 1; + layer = 2.04 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Nk" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 10 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"Nm" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"Np" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -7; + pixel_y = -19 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"Nq" = ( +/obj/structure/railing{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"Nw" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/platform/military, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"Nz" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/structure/chair/office{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/turf/open/floor/plasteel/mono/dark, +/area/ship/engineering) +"NK" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"NW" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/structure/dresser{ + dir = 1 + }, +/obj/machinery/firealarm/directional/west, +/obj/machinery/airalarm/directional/south, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"NY" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/door/airlock/hatch{ + dir = 1; + name = "Cryo Bay" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"Oh" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/structure/platform/military{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"Oj" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/tan/half{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/machinery/photocopier, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"OC" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"OI" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/light/floor/hangar, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"OK" = ( +/obj/structure/crate_shelf, +/obj/machinery/light/dim/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"OR" = ( +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/syndicate/surplus, +/obj/item/clothing/head/helmet/space/syndicate/surplus, +/obj/machinery/light/dim/directional/west, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"Pc" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/tan/half, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"Pk" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/fore) +"Pq" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable{ + icon_state = "0-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"Py" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/engineering) +"PD" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "derecho_entrance_blast" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + id = "derecho_entrance_holo"; + locked = 1 + }, +/obj/structure/sign/warning/vacuum/external{ + pixel_y = 24 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/fore) +"PF" = ( +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines) +"PG" = ( +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/drip, +/obj/structure/platform/military{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"PH" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/corner/opaque/red/half{ + dir = 1 + }, +/obj/machinery/suit_storage_unit/inherit{ + name = "foreman's suit storage unit"; + req_access = list(56) + }, +/obj/item/clothing/suit/space/syndicate/black/engie, +/obj/item/clothing/head/helmet/space/syndicate/black/engie, +/obj/item/clothing/shoes/magboots/syndie, +/obj/structure/sign/poster/contraband/engis_unite{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"PV" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = -3 + }, +/obj/machinery/button/door{ + dir = 4; + id = "derecho_captain_door"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = -21; + pixel_y = 7; + req_access_txt = "3"; + specialfunctions = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/turf/open/floor/carpet/red_gold, +/area/ship/crew/dorm/captain) +"PY" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/tan, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Qj" = ( +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/effect/turf_decal/arrows{ + dir = 1 + }, +/obj/effect/decal/cleanable/oil/slippery, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"Qq" = ( +/obj/machinery/atmospherics/components/binary/pump/layer4{ + name = "waste pump" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"Qw" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -7; + pixel_y = -19 + }, +/obj/machinery/button/door{ + dir = 1; + id = "derecho_bridge_shut"; + name = "Bridge Shutters"; + pixel_x = 3; + pixel_y = -20 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"QB" = ( +/obj/structure/closet/secure_closet/freezer{ + anchored = 1; + locked = 0; + name = "fridge" + }, +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/item/reagent_containers/food/drinks/bottle/orangejuice, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/soymilk, +/obj/item/storage/fancy/egg_box, +/obj/machinery/light/directional/west, +/obj/structure/sign/poster/contraband/robustmore_drinkfoods{ + pixel_y = 32 + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"QC" = ( +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/item/storage/backpack, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/under/syndicate/ngr/jumpsuit, +/obj/item/clothing/accessory/armband/cargo, +/obj/item/clothing/suit/hazardvest/ngr, +/obj/item/clothing/head/hardhat/ngr, +/obj/item/radio/headset/alt, +/obj/item/clothing/gloves/explorer, +/obj/item/clothing/head/ngr/flap, +/obj/item/clothing/head/ngr, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/mask/balaclava/ngr, +/obj/item/clothing/suit/hooded/wintercoat/security/ngr, +/obj/item/clothing/glasses/meson, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/closet/wardrobe/cargotech{ + name = "wrecker's wardrobe"; + populate = 0 + }, +/obj/machinery/light/small/directional/north, +/obj/structure/sign/poster/official/moth/hardhats{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/melee/knife/survival, +/turf/open/floor/pod, +/area/ship/storage/equip) +"QD" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"QZ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/sign/directions/supply{ + dir = 4; + pixel_y = 25 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Re" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"Ry" = ( +/obj/structure/table, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/obj/structure/sign/poster/syndicate/random{ + pixel_x = -32 + }, +/obj/item/reagent_containers/food/drinks/waterbottle{ + pixel_x = 8; + pixel_y = 14 + }, +/obj/item/flashlight/lamp{ + pixel_x = -7; + pixel_y = 10 + }, +/obj/item/stamp/ngr/foreman{ + pixel_x = -4; + pixel_y = -1 + }, +/obj/item/stamp/ngr{ + pixel_x = 5; + pixel_y = 2 + }, +/turf/open/floor/carpet/black, +/area/ship/crew/dorm) +"RD" = ( +/obj/effect/spawner/bunk_bed, +/obj/structure/curtain/bounty, +/obj/structure/sign/poster/syndicate/random{ + pixel_x = -32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/carpet/red, +/area/ship/crew) +"RO" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/dark, +/area/ship/cargo) +"RP" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/structure/closet/emcloset/wall/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"RU" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"RY" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/hallway/central) +"RZ" = ( +/obj/effect/turf_decal/techfloor, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/effect/decal/cleanable/oil, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"Sf" = ( +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"Su" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/item/radio/intercom/wideband/table{ + dir = 1; + pixel_x = -6; + pixel_y = 3 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Sy" = ( +/obj/machinery/suit_storage_unit/inherit{ + req_access_txt = "3" + }, +/obj/item/clothing/suit/space/hardsuit/syndi/ngr, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/beige, +/obj/machinery/firealarm/directional/west, +/obj/machinery/airalarm/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"SC" = ( +/obj/machinery/door/poddoor/shutters{ + id = "derecho_dorms_shut" + }, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/crew) +"SD" = ( +/obj/machinery/portable_atmospherics/scrubber, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/machinery/light/small/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"SG" = ( +/obj/effect/turf_decal/corner/opaque/red/mono, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/cargo/office) +"SK" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"SP" = ( +/obj/machinery/door/poddoor/shutters{ + id = "derecho_mess_shut" + }, +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/crew/canteen) +"ST" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 4; + pixel_x = -20; + pixel_y = 7 + }, +/obj/structure/sign/poster/syndicate/random{ + pixel_y = -32 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"Ta" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = 7; + pixel_y = -19 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"Tb" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/structure/filingcabinet/chestdrawer{ + pixel_x = 6 + }, +/obj/item/folder/documents/syndicate/ngr, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Tg" = ( +/obj/effect/turf_decal/borderfloorblack, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + layer = 2.04 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4, +/obj/machinery/atmospherics/components/binary/pump/layer2{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -3 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/atmospherics) +"Tk" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/corner/transparent/bar/diagonal, +/obj/item/storage/box/drinkingglasses{ + pixel_x = -11; + pixel_y = 10 + }, +/obj/item/paper{ + pixel_x = 5; + pixel_y = 6 + }, +/turf/open/floor/plasteel, +/area/ship/crew/canteen) +"Tm" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/light/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"To" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"Tq" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "2-8" + }, +/obj/structure/chair/plastic{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"Ty" = ( +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/structure/closet/secure_closet/engineering_welding{ + req_access = null; + req_access_txt = "11"; + req_one_access = null + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/structure/sign/poster/contraband/tools{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ship/engineering/electrical) +"TC" = ( +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"TG" = ( +/obj/machinery/conveyor{ + dir = 4; + id = "derecho_belt" + }, +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/machinery/light/dim/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/science/workshop) +"TJ" = ( +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/door/poddoor{ + dir = 4; + id = "derecho_entrance_blast" + }, +/obj/machinery/power/shieldwallgen/atmos/roundstart{ + dir = 1; + id = "derecho_entrance_holo"; + locked = 1 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/fore) +"TT" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/oxygen, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/cyan/visible/layer4{ + dir = 9 + }, +/obj/structure/sign/warning/nosmoking/circle{ + pixel_x = 22 + }, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"TW" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/sign/directions/engineering{ + dir = 1; + pixel_y = 25 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"Uh" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/turf/open/floor/plating, +/area/ship/crew) +"Ui" = ( +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"Ul" = ( +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/noticeboard{ + dir = 1; + pixel_y = -28 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/cryo) +"Un" = ( +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/item/storage/backpack, +/obj/item/clothing/shoes/workboots, +/obj/item/clothing/under/syndicate/ngr/jumpsuit, +/obj/item/clothing/accessory/armband/cargo, +/obj/item/clothing/suit/hazardvest/ngr, +/obj/item/clothing/head/hardhat/ngr, +/obj/item/radio/headset/alt, +/obj/item/clothing/gloves/explorer, +/obj/item/clothing/head/ngr/flap, +/obj/item/clothing/head/ngr, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/mask/balaclava/ngr, +/obj/item/clothing/suit/hooded/wintercoat/security/ngr, +/obj/item/clothing/glasses/meson, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/structure/closet/wardrobe/cargotech{ + name = "wrecker's wardrobe"; + populate = 0 + }, +/obj/structure/sign/poster/contraband/hacking_guide{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt, +/obj/item/melee/knife/survival, +/turf/open/floor/pod, +/area/ship/storage/equip) +"UA" = ( +/obj/machinery/porta_turret/ship/ngr{ + dir = 6; + id = "derecho_grid" + }, +/turf/closed/wall/mineral/plastitanium, +/area/ship/crew/office) +"UB" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"Ve" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -3 + }, +/obj/machinery/light/dim/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"Vj" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, +/obj/structure/cable{ + icon_state = "2-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/starboard) +"Vn" = ( +/obj/effect/turf_decal/industrial/warning{ + dir = 1 + }, +/obj/structure/chair/handrail{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/layer_manifold/visible, +/obj/machinery/advanced_airlock_controller{ + pixel_x = 25; + req_access = null + }, +/turf/open/floor/pod/dark, +/area/ship/hallway/central) +"Vq" = ( +/obj/machinery/computer/card{ + dir = 8; + icon_state = "computer-right" + }, +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"VC" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew) +"VG" = ( +/turf/closed/wall/mineral/plastitanium/nodiagonal, +/area/ship/crew/canteen) +"VH" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/door/airlock/hatch{ + id_tag = "derecho_captain_door"; + name = "Captain's Quarters"; + req_access_txt = "20" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/dorm/captain) +"VL" = ( +/obj/machinery/holopad/emergency/command, +/obj/effect/turf_decal/industrial/outline{ + color = "#791500" + }, +/obj/effect/turf_decal/corner/opaque/tan/mono, +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/office) +"VW" = ( +/obj/structure/window/plasma/reinforced/plastitanium, +/obj/structure/grille, +/turf/open/floor/plating, +/area/ship/engineering/electrical) +"Wg" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Custodial Closet" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/crew/cryo) +"Wl" = ( +/obj/effect/turf_decal/techfloor{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/turf/open/floor/plasteel/tech, +/area/ship/cargo) +"Wn" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Command Deck"; + normalspeed = 0; + req_access_txt = "19" + }, +/obj/structure/sign/directions/command{ + dir = 4; + pixel_y = 25 + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/starboard) +"Wo" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/science/workshop) +"Wp" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/beige/half, +/obj/effect/turf_decal/corner/opaque/beige{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"Wu" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 8 + }, +/obj/machinery/button/door{ + dir = 8; + id = "derecho_dorms_shut"; + name = "Crew Quarters Shutters"; + pixel_x = 21; + pixel_y = 7 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = -3 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"Wx" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 10 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"WD" = ( +/obj/machinery/atmospherics/components/unary/shuttle/fire_heater{ + dir = 4 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/open/floor/plating, +/area/ship/engineering/engines) +"WE" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/door/airlock/hatch{ + dir = 4; + name = "Locker Room"; + req_access_txt = "48" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech/grid, +/area/ship/storage/equip) +"WJ" = ( +/obj/effect/spawner/bunk_bed, +/obj/structure/curtain/bounty, +/obj/structure/sign/poster/syndicate/random{ + pixel_y = 32 + }, +/turf/open/floor/carpet/red, +/area/ship/crew) +"WP" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 8 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew) +"WR" = ( +/obj/docking_port/stationary{ + dir = 4; + dwidth = 4; + height = 30; + width = 7 + }, +/turf/template_noop, +/area/template_noop) +"Xb" = ( +/turf/closed/wall/mineral/plastitanium, +/area/ship/bridge) +"Xd" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 4 + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/crew/canteen) +"Xi" = ( +/obj/effect/turf_decal/corner/opaque/beige/mono, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/mono/dark, +/area/ship/bridge) +"Xu" = ( +/obj/structure/marker_beacon{ + picked_color = "Lime" + }, +/obj/structure/catwalk/over, +/obj/docking_port/mobile{ + dir = 4; + launch_status = 0; + port_direction = 2; + preferred_direction = 4 + }, +/turf/open/floor/plating, +/area/ship/external/dark) +"Xx" = ( +/obj/effect/turf_decal/techfloor{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/manifold/yellow/visible{ + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech, +/area/ship/engineering/engines) +"XF" = ( +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/light_switch{ + dir = 1; + pixel_x = -7; + pixel_y = -19 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod, +/area/ship/crew/cryo) +"XJ" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/line, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 1 + }, +/obj/machinery/light_switch{ + dir = 8; + pixel_x = 20; + pixel_y = 7 + }, +/obj/structure/sign/directions/service{ + pixel_y = -20 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"XM" = ( +/obj/effect/spawner/bunk_bed, +/obj/structure/curtain/bounty, +/obj/structure/sign/poster/rilena/random{ + pixel_x = -32 + }, +/obj/item/trash/cheesie{ + pixel_x = 5; + pixel_y = 8 + }, +/turf/open/floor/carpet/red, +/area/ship/crew) +"XR" = ( +/obj/structure/sink/kitchen{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 8 + }, +/obj/structure/sign/poster/official/cleanliness{ + pixel_x = 32 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/reagent_containers/glass/bucket, +/obj/item/pushbroom, +/obj/item/soap, +/obj/structure/closet/wall/directional/south{ + name = "custodial closet" + }, +/obj/item/storage/bag/trash, +/turf/open/floor/pod, +/area/ship/crew/cryo) +"XY" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Yj" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Yn" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/airalarm/directional/east, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"Yp" = ( +/obj/structure/closet/syndicate/personal{ + name = "captain's closet"; + populate = 0 + }, +/obj/item/storage/backpack/security, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/under/syndicate/ngr/officer, +/obj/item/clothing/suit/armor/ngr/captain, +/obj/item/clothing/gloves/combat, +/obj/item/radio/headset/syndicate/alt/captain, +/obj/item/clothing/head/ngr/peaked, +/obj/item/clothing/neck/shemagh/ngr, +/obj/item/clothing/mask/breath/ngr, +/obj/item/clothing/mask/balaclava/ngr, +/obj/item/megaphone, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ + dir = 8 + }, +/obj/machinery/firealarm/directional/south, +/obj/item/storage/guncase/pistol/a357, +/obj/machinery/light/small/directional/east, +/turf/open/floor/carpet/red_gold, +/area/ship/crew/dorm/captain) +"Yq" = ( +/obj/machinery/door/poddoor{ + dir = 4; + id = "derecho_entrance_blast" + }, +/turf/open/floor/plasteel/tech/grid, +/area/ship/hallway/fore) +"Yv" = ( +/obj/structure/chair/handrail{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, +/obj/machinery/button/shieldwallgen{ + dir = 4; + id = "derecho_entrance_holo"; + pixel_x = -20; + pixel_y = 7; + req_one_access = null; + req_ship_access = 1 + }, +/obj/machinery/button/door{ + dir = 4; + id = "derecho_entrance_blast"; + name = "Blast Door Control"; + pixel_x = -21; + pixel_y = -4; + req_one_access = null; + req_ship_access = 1 + }, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"Yw" = ( +/obj/effect/turf_decal/techfloor{ + dir = 4 + }, +/obj/machinery/atmospherics/components/trinary/mixer/airmix/flipped{ + piping_layer = 4 + }, +/obj/machinery/firealarm/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/pod/dark, +/area/ship/engineering/atmospherics) +"YA" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/beige/half{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/crew/canteen) +"YD" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 9 + }, +/obj/effect/turf_decal/spline/plain/opaque/solgovgold{ + layer = 2.04 + }, +/obj/effect/turf_decal/trimline/opaque/bar/filled/shrink_ccw{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/central) +"YM" = ( +/obj/effect/turf_decal/techfloor, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/conveyor_switch{ + id = "derecho_belt" + }, +/turf/open/floor/pod/dark, +/area/ship/science/workshop) +"YR" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/pod, +/area/ship/hallway/fore) +"YZ" = ( +/obj/structure/catwalk/over, +/turf/open/floor/plating, +/area/ship/external/dark) +"Zm" = ( +/obj/effect/turf_decal/techfloor, +/obj/effect/turf_decal/industrial/warning{ + dir = 4 + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/machinery/light/floor/hangar, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"Zx" = ( +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 4 + }, +/obj/structure/bed/roller, +/obj/structure/platform/military{ + dir = 8 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"ZE" = ( +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 4 + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"ZF" = ( +/obj/structure/chair/handrail{ + dir = 1 + }, +/turf/open/floor/plasteel/dark, +/area/ship/hallway/fore) +"ZG" = ( +/obj/effect/turf_decal/corner/opaque/tan{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/opaque/bar/line, +/obj/structure/chair/handrail{ + dir = 1 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/aft) +"ZQ" = ( +/turf/template_noop, +/area/template_noop) +"ZR" = ( +/obj/structure/reagent_dispensers/watertank, +/obj/effect/turf_decal/steeldecal/steel_decals_central4{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) +"ZY" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/tech, +/area/ship/hallway/fore) + +(1,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +pR +ZQ +ZQ +ZQ +ZQ +qA +yO +yO +qA +ZQ +ZQ +ZQ +ZQ +pR +ZQ +ZQ +ZQ +"} +(2,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +qA +yS +yS +qA +ZQ +qA +WD +WD +qA +ZQ +qA +fQ +fQ +qA +ZQ +ZQ +ZQ +"} +(3,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +qA +uX +DP +qA +qA +qA +Xx +kH +qA +qA +qA +DP +AW +qA +ZQ +ZQ +ZQ +"} +(4,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +qA +By +DS +Gl +PF +qA +fC +qA +qA +tg +wa +CX +mb +qA +ZQ +ZQ +ZQ +"} +(5,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +ky +qA +qA +qA +qA +QD +EY +JE +mO +Gc +zL +qA +qA +qA +qA +ky +ZQ +ZQ +"} +(6,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +kX +qB +BH +DT +GS +Re +lv +yD +cU +qF +GI +vV +eD +Qq +Cs +Jj +ZQ +ZQ +"} +(7,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +kX +qB +wR +Hv +Tg +SK +Yw +ER +TT +sM +cB +qB +SD +iy +qB +kX +ZQ +ZQ +"} +(8,1,1) = {" +ZQ +ZQ +ZQ +aP +aS +aS +qB +qB +qB +qB +gU +qB +qB +qB +VC +VC +VC +VC +VC +VC +VC +qE +ZQ +"} +(9,1,1) = {" +ZQ +ZQ +ZQ +aS +LT +kU +CB +BK +Ei +Hf +Ta +aS +TW +RP +VC +XM +wG +RD +iZ +oh +NW +VC +qE +"} +(10,1,1) = {" +ZQ +ZQ +ZQ +aS +LT +lt +qS +Ca +Ej +HP +To +nk +zC +yW +VC +WJ +fD +Kn +cc +sZ +aA +Gr +SC +"} +(11,1,1) = {" +ZQ +ZQ +ZQ +aS +zk +lF +rD +Cn +Ep +Im +Ty +aS +zA +mu +qH +WP +rW +rW +Ui +GD +ME +ab +VC +"} +(12,1,1) = {" +ZQ +ZQ +ZQ +HJ +VW +VW +se +Ld +Ld +Ld +Ld +Ld +CN +Np +VC +jX +JM +Wu +yq +mJ +qn +Ma +SC +"} +(13,1,1) = {" +ZQ +ZQ +ZQ +Py +qh +lQ +sm +Ld +Jh +ce +fa +Ld +eL +ZG +VC +VC +VC +VC +wg +Uh +VC +VC +VC +"} +(14,1,1) = {" +ZQ +ZQ +ZQ +JV +Nz +lY +sv +Ld +ED +Iq +TC +NY +JD +OC +VG +QB +Ae +oe +ok +sn +fF +VG +ZQ +"} +(15,1,1) = {" +ZQ +ZQ +ZQ +Py +MH +lg +yz +Ld +qc +La +Ul +Ld +dB +yW +kg +ea +qD +Tk +ok +Xd +gF +VG +sD +"} +(16,1,1) = {" +ZQ +ZQ +eC +rL +rL +rL +rL +rL +rL +Ld +Wg +Ld +Ba +qi +vA +Et +oZ +NK +Wp +MK +yb +te +SP +"} +(17,1,1) = {" +ZQ +ZQ +rL +ld +aX +mv +sC +CY +rL +LC +XF +Ld +pd +XJ +VG +gD +iO +DD +au +gV +iH +hI +VG +"} +(18,1,1) = {" +ZQ +ZQ +rL +bM +AZ +AZ +JS +gW +rL +MB +cE +Ld +px +fe +VG +VG +sL +VG +pg +gV +YA +Mo +SP +"} +(19,1,1) = {" +ZQ +ZQ +rL +QC +Un +mU +sH +Dq +rL +MG +XR +Ld +lS +uE +VG +Au +qr +VG +zJ +zV +qY +VG +MN +"} +(20,1,1) = {" +ZQ +RY +RY +RY +RY +rL +WE +rL +rL +Ld +Ld +Ld +QZ +KD +Eh +Eh +Eh +Eh +Eh +Wn +nb +nb +ZQ +"} +(21,1,1) = {" +ZQ +js +aE +bT +RY +ng +uK +YD +wj +MM +Yj +XY +wF +KX +Eh +vr +sa +Ry +Eh +tZ +ST +nb +ZQ +"} +(22,1,1) = {" +JA +zB +Vn +cJ +nY +nz +vd +DL +EM +MU +Yn +mR +pe +Tm +Eh +BE +oF +fB +Ko +Vj +sg +nb +ZQ +"} +(23,1,1) = {" +ZQ +RY +RY +RY +RY +jA +ua +jA +Pk +Pk +Pk +oc +Pk +Pk +cy +cy +cy +cy +cy +eB +lh +nb +ZQ +"} +(24,1,1) = {" +ZQ +dC +jA +cR +OR +om +cG +jA +Jv +ki +Yv +wN +oS +yv +cy +Gb +zW +PV +VH +Sf +eA +nb +ZQ +"} +(25,1,1) = {" +ZQ +ZQ +jA +dX +hL +Wl +vi +jA +yh +Nq +YR +Tq +zI +pL +cy +zn +zr +Yp +cy +Ve +MA +nb +ZQ +"} +(26,1,1) = {" +ZQ +ZQ +GC +dZ +Kz +oy +vs +LP +FC +Oh +Zx +PG +sG +oQ +aZ +aZ +aZ +aZ +aZ +LI +aU +LI +LI +"} +(27,1,1) = {" +ZQ +ZQ +GC +eu +iC +pa +vv +LP +Wx +mM +aM +Fk +sU +UB +bW +Fp +zN +KR +aZ +oz +wE +wY +HX +"} +(28,1,1) = {" +ZQ +ZQ +GC +gc +OK +RO +vC +jA +tp +ox +pn +ZR +Nw +ex +Ms +Id +Nk +qf +xQ +Pc +jN +Oj +LI +"} +(29,1,1) = {" +ZQ +ZQ +vc +ln +ln +pF +ln +ln +Gg +ox +ZE +EF +RZ +ju +Ms +CI +zz +ep +aZ +KF +VL +bt +HX +"} +(30,1,1) = {" +ZQ +ZQ +ln +Ad +iK +pJ +vF +Ki +Qj +Nm +ZY +Fk +ot +ZF +Ms +er +SG +PH +aZ +yi +bp +hg +LI +"} +(31,1,1) = {" +ZQ +ZQ +ln +gx +lU +Ah +vJ +ln +jW +OI +iE +DI +Zm +li +aZ +dW +Pq +Ef +aZ +oa +IV +KL +HX +"} +(32,1,1) = {" +ZQ +ZQ +ln +gK +jn +YM +xD +ln +Pk +PD +Yq +Yq +TJ +ks +Pk +Cl +Cl +Cl +Cl +Aq +Cl +LI +UA +"} +(33,1,1) = {" +ZQ +ZQ +ln +hr +AV +xU +TG +ln +ZQ +ZQ +ZQ +WR +ZQ +ZQ +ZQ +Cl +Sy +aD +in +PY +sN +Cl +ZQ +"} +(34,1,1) = {" +ZQ +ZQ +ln +eb +Ml +ws +yu +ln +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +Cl +pH +JP +nt +Qw +Cl +Xb +ZQ +"} +(35,1,1) = {" +ZQ +EZ +ln +aY +hf +pS +ln +Wo +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +Ci +Tb +Xi +RU +vS +iA +ZQ +ZQ +"} +(36,1,1) = {" +ZQ +av +dn +ln +ln +ln +Wo +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +Ci +Ez +pk +mT +fX +iA +ZQ +ZQ +"} +(37,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +Cl +Su +wV +Vq +cX +Cl +ZQ +ZQ +"} +(38,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +hk +kG +kG +kG +kG +Cl +ZQ +ZQ +"} +(39,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +YZ +ZQ +ZQ +"} +(40,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +YZ +ZQ +ZQ +"} +(41,1,1) = {" +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +ZQ +Xu +ZQ +ZQ +"} diff --git a/code/game/area/ship_areas.dm b/code/game/area/ship_areas.dm index f62128b74516..20d299dc290c 100644 --- a/code/game/area/ship_areas.dm +++ b/code/game/area/ship_areas.dm @@ -321,6 +321,10 @@ NOTE: there are two lists of areas in the end of this file: centcom and station icon_state = "ai_chamber" ambientsounds = list('sound/ambience/ambimalf.ogg', 'sound/ambience/ambitech.ogg', 'sound/ambience/ambitech2.ogg', 'sound/ambience/ambiatmos.ogg', 'sound/ambience/ambiatmos2.ogg') +/area/ship/science/workshop + name = "Workshop" + icon_state = "workshop" + /// Engineering /// /area/ship/engineering name = "Engineering" diff --git a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm index af4b5bd60892..e18f6ff922e2 100644 --- a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm +++ b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm @@ -523,6 +523,10 @@ return TRUE return ..() +/obj/machinery/nuclearbomb/beer/empty/Initialize() + . = ..() + keg.reagent_id = null + /obj/machinery/nuclearbomb/beer/actually_explode() //Unblock roundend, we're not actually exploding. SSticker.roundend_check_paused = FALSE diff --git a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm index 3e5344af4b79..8e842d71fa6c 100644 --- a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm @@ -977,6 +977,9 @@ NO_MAG_GUN_HELPER(shotgun/automatic/bulldog) max_ammo = 8 multiple_sprites = AMMO_BOX_FULL_EMPTY +/obj/item/ammo_box/magazine/m12g_bulldog/empty + start_empty = TRUE + /obj/item/ammo_box/magazine/m12g_bulldog/drum name = "shotgun drum magazine (12g buckshot)" desc = "A bulky 12-round drum designed for the Bulldog shotgun and it's derivatives." @@ -988,6 +991,9 @@ NO_MAG_GUN_HELPER(shotgun/automatic/bulldog) w_class = WEIGHT_CLASS_NORMAL multiple_sprites = AMMO_BOX_FULL_EMPTY +/obj/item/ammo_box/magazine/m12g_bulldog/drum/empty + start_empty = TRUE + /obj/item/ammo_box/magazine/m12g_bulldog/drum/stun name = "shotgun drum magazine (12g taser slugs)" ammo_type = /obj/item/ammo_casing/shotgun/stunslug diff --git a/icons/turf/areas.dmi b/icons/turf/areas.dmi index 68d030ee383d1f51b7ec125317b2d6cbda536135..79ca6ed0ed87df9de8c2d8f7b2a487644f1bd673 100644 GIT binary patch literal 42125 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

    3{?(OWg83-bFNnhjPibILV3ih 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%0AmKc26;H`6V| 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 Q>fZ}y*Q`viM$VD{1F Date: Sat, 16 Nov 2024 22:53:44 -0500 Subject: [PATCH 227/344] girlfailing adjective (#3793) :cl: add: girlfailing adjective /:cl: --- strings/names/adjectives.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/strings/names/adjectives.txt b/strings/names/adjectives.txt index bca89bc5a257..88491827f3f2 100644 --- a/strings/names/adjectives.txt +++ b/strings/names/adjectives.txt @@ -149,6 +149,7 @@ gleaming glorious good gorgeous +girlfailing graceful greasy great From 9a8c485f5b442c7426efdf1f97696799b9e9b215 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Sun, 17 Nov 2024 02:43:49 -0500 Subject: [PATCH 228/344] Vomiting Is Now Nicer And Less Profuse (#3796) :cl: add: vomiting now removes a random amount of disgust. balance: vomiting should no longer trigger 12000 times in one minute on that one person. im so sorry /:cl: --- code/modules/mob/living/carbon/carbon.dm | 5 +++-- code/modules/mob/living/carbon/human/human.dm | 2 +- .../reagents/chemistry/reagents/medicine_reagents.dm | 2 +- code/modules/surgery/organs/stomach.dm | 7 ++++--- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 05973b27b3d6..c5f9698682c5 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -438,7 +438,7 @@ visible_message("[src] dry heaves!", \ "You try to throw up, but there's nothing in your stomach!") if(stun) - Paralyze(50) + Immobilize(30) return TRUE if(is_mouth_covered()) //make this add a blood/vomit overlay later it'll be hilarious @@ -454,7 +454,7 @@ SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "vomit", /datum/mood_event/vomit) if(stun) - Paralyze(20) + Immobilize(10) playsound(get_turf(src), 'sound/effects/splat.ogg', 50, TRUE) var/turf/T = get_turf(src) @@ -476,6 +476,7 @@ T = get_step(T, dir) if (T?.is_blocked_turf()) break + adjust_disgust(-(lost_nutrition*rand(0.5, 2))) return TRUE /mob/living/carbon/proc/spew_organ(power = 5, amt = 1) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 4af05b79fb8d..76307c3c909d 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -917,7 +917,7 @@ visible_message(span_warning("[src] dry heaves!"), \ span_userdanger("You try to throw up, but there's nothing in your stomach!")) if(stun) - Paralyze(30) + Immobilize(30) return 1 ..() diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 7da3a5dfec4a..c97e3a176876 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -581,7 +581,7 @@ /datum/reagent/medicine/anti_rad/on_mob_life(mob/living/carbon/M) M.radiation -= M.radiation - rand(50,150) - M.adjust_disgust(4*REM, 0) + M.adjust_disgust(4*REM) ..() . = 1 diff --git a/code/modules/surgery/organs/stomach.dm b/code/modules/surgery/organs/stomach.dm index a16a42ba78ea..89a0fab7c57e 100644 --- a/code/modules/surgery/organs/stomach.dm +++ b/code/modules/surgery/organs/stomach.dm @@ -104,7 +104,8 @@ if(prob(pukeprob)) H.blur_eyes(3) - H.manual_emote(pick("tears up!", "whimpers!", "chokes!")) + if(prob(25)) + H.manual_emote(pick("tears up!", "whimpers!", "chokes!")) H.vomit(20, 0, 1, 1, 1, 0) H.confused += 2.5 H.stuttering += 1 @@ -113,8 +114,8 @@ SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "disgust", /datum/mood_event/disgusted) //profusely vomiting. - H.force_scream() - H.vomit(40, 0, 1, 1, 1, 0) + if(prob(pukeprob)) + H.vomit(40, 0, 1, 1, 1, 0) H.adjust_disgust(-0.5 * disgust_metabolism) From 6d93e6c23c94d58ffecef8a704d295040d38dc27 Mon Sep 17 00:00:00 2001 From: thgvr <81882910+thgvr@users.noreply.github.com> Date: Sun, 17 Nov 2024 00:08:55 -0800 Subject: [PATCH 229/344] Revert "looc in crit/unconscious" (#3795) Reverts shiptest-ss13/Shiptest#3723 --- code/modules/client/verbs/looc.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/client/verbs/looc.dm b/code/modules/client/verbs/looc.dm index 41e5cf3b0712..faa33d7e5de0 100644 --- a/code/modules/client/verbs/looc.dm +++ b/code/modules/client/verbs/looc.dm @@ -47,8 +47,8 @@ GLOBAL_VAR_INIT(normal_looc_colour, "#6699CC") message_admins("[key_name_admin(src)] has attempted to advertise in LOOC: [msg]") return // [CELADON-REMOVE] - CELADON_FIXES - Разрешаем призракам писать в LOOC. - // if(mob.stat == 4) - // to_chat(src, span_danger("You cannot use LOOC while dead.")) + // if(mob.stat) + // to_chat(src, span_danger("You cannot use LOOC while unconscious or dead.")) // return // if(istype(mob, /mob/dead)) // to_chat(src, span_danger("You cannot use LOOC while ghosting.")) From 6ed37922d91d3f4324fd1e76d6c8538abb18a460 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Sun, 17 Nov 2024 03:44:41 -0800 Subject: [PATCH 230/344] Unbranded Utility Covers + Miskilamo Cap (#3735) ## About The Pull Request Adds some generic utility cover caps, after Apogee brought it up. Beige, Black, and an Olive Miskilamo Cap. Available now at your local LOADOUT retailers and Miskilamo.nt/shop. ![image](https://github.com/user-attachments/assets/3114f061-0add-4e72-ad26-50d33856005d) ![image](https://github.com/user-attachments/assets/37dcce4f-7805-49f8-bbda-396cfc0a3129) ![image](https://github.com/user-attachments/assets/7efabfa3-6a6a-4faa-8ab9-0b8231fcf7c3) ![image](https://github.com/user-attachments/assets/781bfb5e-5eb1-4e4b-b3a4-f885677f92dc) Also fixes one of my sprites from way back when to have the correct states. ## Why It's Good For The Game Additional customization for characters, and something that I believe there would be interest in. These clothing opens combine well with a number of items commonly available on ships or in loadout, such as the military jacket. Vox sprites included. ## Changelog :cl: add: Four new hats for your blorbo customization! Find them in loadout. Sponsored by Miskilamo Shipbreaking. fix: Vox Frontiersmen Officers finally stitched up their clothing. /:cl: --------- Signed-off-by: firebudgy <153147550+firebudgy@users.noreply.github.com> --- code/modules/client/loadout/loadout_hat.dm | 17 ++++++++++++ code/modules/clothing/head/soft_caps.dm | 29 +++++++++++++++++++++ code/modules/clothing/masks/boxing.dm | 2 +- icons/mob/clothing/head.dmi | Bin 85634 -> 75374 bytes icons/mob/species/vox/onmob_head_vox.dmi | Bin 85931 -> 87988 bytes icons/obj/clothing/hats.dmi | Bin 44391 -> 40350 bytes 6 files changed, 47 insertions(+), 1 deletion(-) diff --git a/code/modules/client/loadout/loadout_hat.dm b/code/modules/client/loadout/loadout_hat.dm index f660d35f676a..a393ec451c30 100644 --- a/code/modules/client/loadout/loadout_hat.dm +++ b/code/modules/client/loadout/loadout_hat.dm @@ -103,6 +103,23 @@ display_name = "cap, black" path = /obj/item/clothing/head/soft/black +/datum/gear/hat/utility_black + display_name = "utility cover, black" + path = /obj/item/clothing/head/soft/utility_black + +/datum/gear/hat/utility_olive + display_name = "utility cover, olive" + path = /obj/item/clothing/head/soft/utility_olive + +/datum/gear/hat/utility_beige + display_name = "utility cover, beige" + path = /obj/item/clothing/head/soft/utility_beige + +/datum/gear/hat/utility_navy + display_name = "utility cover, navy" + path = /obj/item/clothing/head/soft/utility_navy + + //Beanies /datum/gear/hat/beanie diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm index 3e5052cacc92..307106409f18 100644 --- a/code/modules/clothing/head/soft_caps.dm +++ b/code/modules/clothing/head/soft_caps.dm @@ -161,3 +161,32 @@ icon_state = "inteqmedsoft" soft_type = "inteqmed" dog_fashion = null + +/obj/item/clothing/head/soft/utility_beige + name = "beige utility cover" + desc = "A flat beige utility cover, unbranded. Just the right color for those sandy planetoids." + icon_state = "patrolbeigesoft" + soft_type = "patrolbeige" + dog_fashion = null + +/obj/item/clothing/head/soft/utility_black + name = "black utility cover" + desc = "A flat black utility cover, unbranded. Night Vision Goggles sold separately." + icon_state = "patrolblacksoft" + soft_type = "patrolblack" + dog_fashion = null + +/obj/item/clothing/head/soft/utility_olive + name = "miskilamao cap" + desc = "An olive utility cover emblazoned with the Miskilamo Shipbreaking logo. The material feels cheap." + icon_state = "patrololivesoft" + soft_type = "patrololive" + dog_fashion = null + +/obj/item/clothing/head/soft/utility_navy + name = "navy utility cover" + desc = "A navy blue utility cover, unbranded. Perfect for Seamen on long voyages." + icon_state = "patrolnavysoft" + soft_type = "patrolnavy" + dog_fashion = null +//recompile icons comment!!!!! diff --git a/code/modules/clothing/masks/boxing.dm b/code/modules/clothing/masks/boxing.dm index 8882fbfa8cdf..a1ddb98a3474 100644 --- a/code/modules/clothing/masks/boxing.dm +++ b/code/modules/clothing/masks/boxing.dm @@ -14,7 +14,7 @@ flags_cover = MASKCOVERSMOUTH visor_flags_cover = MASKCOVERSMOUTH resistance_flags = NONE - supports_variations = SNOUTED_VARIATION | SNOUTED_SMALL_VARIATION + supports_variations = SNOUTED_VARIATION | SNOUTED_SMALL_VARIATION | VOX_VARIATION /obj/item/clothing/mask/balaclava/attack_self(mob/user) adjustmask(user) diff --git a/icons/mob/clothing/head.dmi b/icons/mob/clothing/head.dmi index d2970f6b9eada22b7b77a8702b399f89e5eab177..da8e20aef955baeedc68683614a508a4502f6ac7 100644 GIT binary patch literal 75374 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 literal 85634 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

    8PK%Wu){qW*nb+<_^g6ML4X># z=5{R(vE>#+`C3ptEbyU9($>ZcUG@av8xO_c*{btyRy!DF>+i1UuP4RR3?SXA0z)&9mUYyfSOB)JJW}_GE~8qaAg>=zS%Rcx;BKhVHN`gyG#NH z8zqi)&Z=u_BVV@6Z}YeqOZvw7IHW_^GELuckB{#i@l4ML7(mn~hV||Cwm8SfPoJ;& zWV=Y9__YpS8s1D#hqIRaA>EOIe9{KVCiifFp!1aZgMGxy7JIXJjc3mn2E=O z+%yWF+4>S=(nHc0(E9@q{;P|1duwS6P{k#c|LWq?MmG5_sHaC#CH}yni7MG-yx|m4 z?1~^k`>yDPuk>*7WSaxVf9$JJMKkl8_6+Aey%N#?DCN@`JXWsvu2V_?A zndT+XX__7Y_Nhg_W4Ojg#Ls_78U_dKV{|1{_e?n19zUL|dP=-??llOpy0;Kdbo`%K zn!jdn;5JJ}JDjYACS_d-r306lv91OAa-mv73ftXyiw4qt5IQ#D;_f@F6c_40_>WoJ zk2f(_{LVUg_m$tASYOuh7H$1MHTzh1stLNyUGt zrj3&dLxnF~xBy1SdURD>QnDR%xJ+DB zEkn7V9PRz=D0e?mk$&8pBGhxRg)VbA-{46!`-^AbJ^|Q=(b7%H0?NlS_T$s7pDm%s znQw)fPm9C8N-xi$r!4nP_N3Q$`dm%I(!u3r`1SfQm)%J-Eg_TH3bFjaeh}DZ21}uX zRnXw~>?E&!sqJ!*9ivuxY{%6s{~~8+uMZ1OqxXA3IfAV#50xS)EmPSd60B@llX ziB913(@0`vVc}CzxkO1xdCS`u?3LdrIOOfyw|A|rOVrTdFR(huY@kt4mn>P>=^XeM zu}@&IIrGa-(3g$TR*6fiZ>yw!IC*Z(r)6+rO(rW8;JnqG07xUJQ%|LuYSkt1ynSUn zOXET@91YG)ZiiNZRrV&?{{cKj@9{TT@98VBkW!JIQtge7r^M5%F|mYjr84K#?R1(L zS@*A7HUwm3IpJzWLaO=tU)T1gk|N*pjQ*=$@ci(qI<4lgbl$FW9klbGus1D3GT(qd zo~VMigttoSF;%J`3*QHkGbXyNiCMFdgM-&wd?b!vA@A4Xk^8{DuG@{zo2)ccfTFo!)En!xqhzkUPb`7yrZ825bwgZhkr`UIH#O;qDQ~dKR4TI2?>>?E01g$jng{9jD&RRQ}v` zj2L4p6hFq}+CviU%Vof*nk-D;i3UmR$N21$k~@A4V@njxk4%`vObW|2lY7j1pH=t6 zt#DKBr)_(~F&``nB8KacofOTu?(b8iBq_^Pb?ty)@(j!jyl_w)uLbf!dnK|6A=>o| zmx+On)~%h+c&x|hq_XNLxvS2jsQR54adi!Fa_q{+OeUWx2bEugf&q@p4{H?p$>G5( zM$5_vSF&?xR=|J8;ei2j17$Ob+5WT95j4HUqsK1{MUiqg zI|pd=Uy_sdKDz3&I?`pCghZCf!CNBEE?*k{Jj4NrT>Q}}TNqu43@R9^BoIO}I#ngr zPdj=_@F8#L`E$_wZS~GRR{)MsEsyF;2G$KG|18(`JijA=2^sz0 zu~~W%AIw~RI$8BBeP6|cD;PoBo(-lNnI9VXpjmI2_L-wA!ejvWak1^gx`56AqI6&s zm+LfeeJ_(iO!T?7%FC!=64x_}8IcAbB8+&Ek`}`sJ1M8E`fgzJh=B z=#hwcZwDgS|N0?b@yQu5SccAn(y$Tyb6QDFFd7UP!|hUI*mp{H4w9Z8QxSX%>{L0? z236nH2=EM$<(Gi+zNp1xf5j+rHcEP*@5OCp1b003SLlt-6VkkU_imMblP^fAA3wP? zX+9>_s!|n?LCu>c=)=LO+7hvqb`^@osqPlXldT#J?C-v@Jo&N(UO7Z%#Xfs5W^Xmy zHTc*EyOjVE>JTM8um9+h=nX$`!v6<^e_wM=cV{sAC$iI`EAzT4-&#SFS@msN;CuH> z(ReB+Y#?Ptc(NNGq6aenz2(9TyZj zr;j@a>W$+m#;GIXOlJG=LD`(Vyf8Hc0%4H^H8nj0?&z>%P9lgWChtq&A$Dp2pZt}J zs{UXYmV#L6q|VM88Oq*z55S}gRY?vfujSPjbKVz_@MCL#+OS8iHx7K%9vdRRI$+=G z4wH2-Z3#I6Da6dUkcVR_?f_RCY59$PT5sF(n*>A_&kwMUw9JEQ^9JRUgo#bLcA?m? z_wqAG!T?~#+XveX^wuv>&qV(kb6iZvXny+;?suc6qe7g^Mr8`zb*XxWb3Lw~0s;;@ z^B%)%yRQ;=pO@y-v9^(7UR24kDoZS)7*V%UVrRf%l5l4?S|tB9aJoQ~R9k~eZYl9* z$&4=gf_!c3Nzu}Y3YBbu1htssd(M&KS9nRB+2}+>85Ls?=7pZL7b+)Ygk9s5ra4qO zZnvMO0&lu`ZYR^A&RtF$CC*!>Qhn4<-Cp$m5Cws zx=_4HYobS}VdWH_{)u1`)D!7K#Ky`d1ax$C%;zFBw83z2I|L9D!00-59h)be848TR zpl5&m&z-$E?)n2k0hynjAV;((aI0RkYo(blp}Y7%jA(_cE38qWn9-T`WF0#5!F8-u z5+WR|g!~2}ooiO^tfl!@$^VGm!p1ZI+u~OVfsN@Uh6=|91@_7^RCOI$Hiq-yQfH+Q zFHqX5;uhE^eV!FR%DnY`%J_xxHxHj&!3vOtXE#-QW+7OfPL-pxO74Ds{v)=zG?`ck zgWVD7cKo>mzUP;uOW}P)q`zLjG=qGcmOm3iCZ3TyElfO_yz}2!tN-2 zk_fzaBZ0zoZs$m>F_5A>>}kZ6+E(b@6vn2hrA6l6gntZfdWiQaI_c`^3CM(U$`sP; z;A5+`+sT%9*kP1FUIEPYi#2aY6q6vxwljEJsdtHqqYFpJ1Oh=Q`EsY1z*fMpE2%M} zNGJ;5Syh}n=$AX!iAo*y4%2uF=Pjnz^eL?YCy1|0n=;V1Uk%^gCqM(+5+Ag?dRq|` zD>)gR>VGt?t8QCmmU(N;xwJ72Ua_a1A3d5wj_f3DY>|YjQDW>uHXk?se5C~?W69Vd zaM%_W7H-rtHz`A|UM(4NO-xMe-sy`(;ZA^C?m;{h!?ItW4&PJ%6E~$GVMcdnU<52} zY9lkJ?e0p5y4nB~r}Tz@GFn`Z#xh6Y8-< zu=Z;b#?k>f-VtGJ-d0ryx=K>H zI4j-2$o*>twm-(ua>_0H+ascv3W_dL*t~j!dNM_IXI1IJ(bQOGqz@fa{}{ZO=f#sr zB7MnkqM&}`}jrJ4@hxp$K~6Oj#sp= zU&sE)X1=k!bjX~7&o7Ke-Gm#51XdrV{V4fCYR7DZ`v%EowOXn6(sC|lmmvDX?$vMGtAD}A0l0vj2MJe zn-JG~uD8|LXxQy9W|ITI8d5~s_jZgGUV1i$w5G8$M;2EwG8wNqJ1>^?_394C!!NS1 zEbO37&CSVydrlHVVJCxWyr-*xglFq3wUh%<+1IJ;mq!KTPoB6O&D8}L^vR_;BTGql zL(*%x5d)z==Z~ksm-@u1;!wWyUTQN{VK~4BDaC_4&g-}oT$YbI>S-K)`~|jwf^K&> z={o4>B&tG(|9G;nvQzhlt}}ejvhwdRTu4xTsnxJ|E*MuLyz?BG!n+N_tmJk z#+Q2JGFpO0nUb|8I7sTMl^3Ju5dZJMh6_;c;x`(l*;6O28OO}!Ze3b}q|KGa?YW*; zi3@A?KzMq)UrT{Opvb5F@8AvB!VJH?CCEz&#jry);yg$yaU4u9;9(gIK=&_R;NF&z z!Zd?ZQ-cMb=xi3Yvyi2?IqiQwux*P+ynXjOO5>W0FyZm@oxpN2_|TlL-eyT^RfFBJ zm2^Sa$??V1dcVzk8Vp(82jHG6$UjU>>svcte-w~g7Z^TzCYk)t)kqgdyZ)1QDoc|* zqCtw{VlmGvv+@3H?(5o@oSt~Snh`)@$r&)HyG-Ita1~g zY?;F>Hmf4L#@;ejL~6G!P5o=y`rJrHnG`3w1M8}#+mxz7y%^a90JxCOOFy`O@b!9^ zVpefdg2SmcAyOKquPPguEkiz@moBD-;)RYa;``g$r{fh- zA9j1mb3O^5YH9z+DHtu-HNt|)I&@7P&JeMiR$%HGy8EhCtJ7uo<1L_2AxFAXj>Gt)8co!i zW*=qa4`=4yH|Y^K)q{=i-HlL;Nt*u*FWvb)M2ayfyrh20ag+d;Y5>O;7eRH}5XCu6 zs%1^4yLblpO&Dia@|w~2p=0>5JtUY$(w!~XE-(Mk$ElFrkjH{$w+SEVk&HwXJnB$H z&rP$>dmevrtntT9V7X=P>iZ|}VQ9NU#((%k&+7O1U?Jb2S! z5`{S1PETPZIzSz+UQ3P(o2U)r2Sudj5>D;bhq>Ific%l1wF`m^qc%*`TD{$Hb;n?p zl|EOu#E;gs`keW4d+o<$ZvAkt_w)LM)D5TY1)zfz$o*>cR-Ymww_$Kh`YVM@uL;WfSX?#k|dOAnukJetg}aC7_bHiS5rAMP|gaBbjEeOC7sh;zMYsdK1>~b z^4z2H<4+DF@QHAhPk1RE-I&E(?Fz1N_zhK4iwrWxaQ2)Jc{Ff-v3qU-mFyZK<k+ zxr>;!Hju>nV9dK;yrPqV$CqStnJ|M4tU>jl-#fw5T9 zBV{53W&Ch&pmy8Z6ICeCoJNmG}uiF?vMdK%Y$SP()!^P z3BNOtC`Wcm#v%HX3S#62s1P2=7>g#_%Iw5V-X123a76y{yx z$^g1*!g|89S?(#WPnS=y?#0*wpx-32&tR3_uN>n z;Ng6g1-)k((H%*Yi1ci3!(pX@6T)I%@6J%YwbDt?T_;%>7oXx`rl_{VRSa*0 zEzzUh^1XXHX$^>l4?J$7g4&QwV0rZCR7kJGMF&+36 zZ#cP%J{5nk#TC6>TJk!~?WfPL^0LMVYZU90AbA0OrYtLy7x-LlGM26w`H~vxa|pF$ z3P7Z^_<95)_u^q8XKvmS0t$Vu|9HQ7JwLF$5t$^)5JO zYf1OfzPECUp8;bypk@r=1-3iYr8!WCBKxRIcRh( zEiH2eEOkqXo(G##zZ-)UkM=jj8@GR@ax!r$xH?kQLFrWVM_ z85C9FLQE=7*yC>#L5oR@M0FI>2&wn9FI5G~3;nz^A}X=vEV&u9pial(rTh(!lc*Ek z)hw6#mfOH$BAk$pKU)17yZ3yGIc^ROH>0R6JQMBK7S8{|V@z;scK6dQ z!qcG(XDF#-|I|I0T^s8!yl%@k9kQj4*rdfue_#G3N+T%cNtpA^p!|S(Fx&O<@rpjN zZ@}ytGSGG(oDteXKJIiSyp#sXemqK=9Z3;tG{5px`$w}Ec2*(Vpnm>K=X-0Q+LTZv z*4&pW(f6ukoxv&vx2?(ll}rW{XisG~nql89khmXVu(#$P?7rQ^3rwOwZ{_Q}f2NGq zb*{Ky;(TF{&ZV0Y#sC2AU$;SV;)XhX*l>Z`{K#=lD<2&vm}~ZpR=~lHD;_y0e3nk{sfR54TjRqQ1qTLPQR8@(-7uB`2DQ2>!}vCW*EZ zT%W%NMUhq^K-O$A`YrC?g~DI_b4g0+)us z)8h`|)>wA7rtk?Eid%DDmeD3)ma^9{Wy7y&;sD@#rG|Q`*ibPi=OsUOa7783LJP+k z2Q(hS3qM+V`-V0NH=3B17$n3oE(vM!oiV&F8(;P-H}zCD33mT3Yxk#W&DiEa%n6zl zUShBOCw1Gvwfa3lMlwG*!x^)M7$+UDO7aZyB6>qxa#3e?3D=LShCT%=h8&eKyz#xN zf6Rp@^A3N%>6vqI2<^--zy&X#RZxqdI#bX7A znM#|yWo0(?zfH#bZJ>>Q*pcY@myJz98*qb6B}rNQa~>rxzToC?{^ZBGJsmM^jFkD1wba%=rWXriy(We#42Z-Vk}OO`d+ zjA<@tgT5A+fY3x*>c7|EeMb<;%c8ut_L5P01xM3xaPutqEXA88&+MV!Y6emop+?7i z8=qyyZY9|Dy`1LeZHO@{!Ix&sjDI(m=;}!>w%Lw;%@CJj?!s~` zwu4eJ&y8PO6x6%3dIkul{U*k-$~xKwB)GsU3<*Z(1GApv{{>| zhUH>pQqqB?7U<$0Y3XWce_uS1YJb1RgC7i(IaAbWc>4x3=rpZ!DNTV|%@Mz|7_eT^ z5jRZgOD4N&Sq}6hOLdIa{Q11K@`frrMv!E_q}+p})jO1;ce=Fj&BB6UF&dFOxgruA z_*v7;K*@nObfC;D!`IgROiC#* z|$Mfr%KYWh~S!K0$W%Ysx1ZU za(aiJ+OLxP59h^a>f11~&cMFIrl$4*hx&TQksyh5<;rAU(;@Qgj6T5bbDnm(N!Yt1 zJmt6hHV*s!73qP*6Zw$@UdYgVU*BPhZOF;VO>0kmr}?M@37QUJRm0h}Eu&w&iOK$K z%~{sZG%C`tL!(~f`wQpdxR-0l#ycj&JO+MqfL6}8|Bx9BbmKnGU?%vz^i}D!z(2;M zu#7QhH5r53`#;uF`$!3?N$al|JoO%g#Vx&{71(u3cuoR|uDx;!ud(fe8@>b6rYnWe zZ@A(3C)QGZQ<7FWdS+-K1S>lVhmG$lPxlx3TS8(Qaq^f`be)BF=RFLYAr$Uc`pY-1 zRQ86Pl<}^Yl1FuZKH>AGU%Q4ec$#)(S6>~CfZXaU832}G(icWHQ=*X=QfM_ zB74pTNa4E3|D3%0wUqj}&JH)`;eC_KdAzfvuMYBj;BNU>Gg#w`nZX3W!^5mgYJL?O z_I`0Jot18VM}M7GoOxPXX=GqDH~R^$0~)jAu9zJ|jhC*>ZDYXBL#dKP=ao=)u( zM`!gZXIrrt(qnrHUqoXY(;(caz5YCd(Lfn8S@)+Gd#GjhUfi=N#HZF_26KU~4&LLn zA|}N@#vJe(gU!9IS34i#8~H8QyFOow3H2T-o8tjA=Wm}+z^G1#VB7!@;K=m4`@&#` z(bAaGc5e;wk7p`l!&`5Ru%Co2FV-+ARK{|Z^|0kCUn+&L{TPWW|AlBvKqORjxrQsT zkM-*ol+0OSLY|ot-AtdKXcjN>pADehx3IFX|!^v{1((j%Loeb5KQP z8Ew-Xog-xKFzq&t$yz}TvAtdlM$R!ytr?}KPclmfN1Qw)mdwCJg?ePB-B?i9+RcK1 zhrumWwit*9FkQpVvkfTY{;jm7NpOsB zB7cDD6ANp$wHM8P2~?Wixa{W|7zi6h;Q(Oe{h1TYrZ-fZH|hkO>f#ds?M$WWN-ieAOxVzQ3u9d_(|_I0~W zd-!(Zo3As7fnPR*RfXm$2k*XpC2%gbL1vWbAHc|$O<75rq0cx4BfKfJM~C3vh65Z? zFJ+m;-p6S{Xme|&yY}Zqct0>i)DCiit!z;0rar!mKBJ~_=Q`5a)<}!{LJMaa@ap#J zH8ql#v!d{N+u0S%&GPKR)5)btt+QlNSMC9wMss1clgNt+h0H}C1vPPmhEQbNOy(K8im@ZTZcR_9^%7x7TkTzHe^h9F((YYq zGhuP&lRk-TrhY!bSwDNC2B!il#45S9rM?{7Y}v0E)|7REke#OsCXPT`} z_0ayH9y*?N{KyfI|4Oe&#NvFpqATW&olmYt@I?rUe7Mual_J&lu>>`nFtwB!RU+Gj zfW4Ci)rFqV~@&Gg~Pc~i`3s5U01Oorcp zGevPJ>L0Nk1fGch+s@>}3Yz&JmNEi4xby!rEEj8C?szqndpD(aR|NC~Aw?g$tSFWA zR|nBemlJh#Fk%pY6rV=+EChWD`B~hC6PD5iikruoZvw}};bs~P=8IA(V1Qc9wxa=T zh-b8g8%bZVMR#igM*hKFvY<*YAz89^3?BrnLz8GnknH%Sb7p677 zYx*${*grJ~T4qWYc}`AowP(yAMM=wN?H4^LS#(erL+%oBm`?p2#=&%dHLUA_u)Wu_-9q7 zHH_0$lc5NJi=NTj4^*f$T~eSqiwupogg`zSgf}rGnHnj)z&Kp!n92)4b5oJ!y3I-6 zTY(T1DUpNmwd2(Zn?!-e?a^3LW?`_vrjvfvmBJr3J*W-V37eV3gpdk2;DkhxR=EytUF#(yyjU$GPzKz0f=?o33*`G=d? zXdvDxAh+W$*75?GL)v)y8w&8+X05M5HSx?&uf3g| z7tz93n@hNKuh#D0JC-lhxEma$y3MRa`VPCp|FGa+`~W}mBJ0QToj-0~w{g{b-HLjn zi!Ngf*=cZduFzFVd@^>6JLvtwL(F_o$m=<*|K&<5<3%HRB>{lKo`X5GLx@OhFwPx$m3G-;j?a5noC)T{z(k+zet>Ma z3BVPuX_6^N|`tJPUtlEMY^e@XKyK1re{MOZr#@i zdH|WSJW5%$JUZu==yytmF_@m6rn$U}CJy6*DMA;{k_H$XdLzsf8${AVDa?>8W{9sn zY;4e4B$X$;k@Z1@S=OoCyQnSge$muaq3lK(?{MOK-8bD!!hT1}rcH!M;rSe^?Rk>f z*BP=Qs58GFzIKLixlg%Xt37eotOKqzd?TU}@%vhv-rbdlC<$Y9;oQjv82-4QHm26( zyv7&jUIN|T>!IC3h;KBz^(Gcm^7&pvlu^wB=~cP>@CV9;TSoJj=^+_TUl!=IamOOe zZg0YpMUK8e1Kd+H=&QEvOuYNB_d+;DzY+7(bjER9a1YdwX|X4jJJGT9zV1jTQ0ASn zeZ2uZmJ|LnmjbebzDi9vB@5s6ZFri(V#oMc*qW!m;>Bu8f z$wedppA3KY^5xrm*G)`J($j)BES0LNMsc`X-rdUU@*fF#c^PRZ6)h$#=^#X4j0y5_ zgZRL~h!Zl^J`Xa|<>&6y_S))=$ek^*lMawilaSAjJ7-M~G=KFxuvb_APHdkzwjZ^y zQI{E>7X7)eKk@_4J#QApyl+MF_4NhQp3p&NpB^0}OLHC*m!|(hMa{RO$#bUFaENk5 z{n#iCy`5%~;`1eP;W|JMs+!zsk)%-ZEcAWC#9udy)LTBZ z@!PDIx!qZ4iIwLbmA`~IMmDajC}w|~-i*lyQ=6HpG|B#$?*wkt(|tksZbx5;P`*!f z2d6=!i?6PGcm0V)%8L!pl)Fgk8--K6p4JiD)ShMUytdccu1+ecMo|vDcBp%WGy=e*p*@WX(LU*B!4K2KKzSd{PQdv3Bp?Pu{edNmmGxXiX51=Yr z^}&E-TUx&%5%k`i0wGQYO)sgQA3A#K^;;jhLNRUzMwA1&Jk3Obz9F{}W-&J+c|>^_ zmUQ)nQ_DIZchO*%N|xE;ekb#NEOUGCm2jpvXH<+3Lh|o7>dqWzOos)&PN9pkFq$qJ z*iwlIuw=f+=bu#NN(+|`U9P}q0AJ1;{aOX`>FeeS z|Hi|1pW=sy`fvKxlK*|qr&>+8ZUwN#Re$RB`X|l#|6jt2{C7U;pf`C#wRL0jiEjp# z_ENqSDTP%HZHDX19(qt%}<0pDjvypc{KwHXTw zUZ_f2`kXOUme!^aa-|H8z2ZHqMXfj>RPl9Wp|Tj@A3J98OEIeg@Q5b}V*D`3KYuVY z`33vAXBs&Yo z9TY54$TfnE=hDP)SQxvk#^Jv})mQYWv~}3_k->Ekf+lqWzGgL>H~pSd9;sir-%yG} zlf598IgRd8(B)L#-PN&y)dY!sF1w+Js8V^a-K#lnS_6oMX-Ya4`mK7P;E?#kZ%;2c zD)^O^6$+tM@+yI%K|@rjc_qSNDN$q0z89!YLR_+^QYtqs_C_p;3%G6ySkg>OD8qc%EkA4k(D_%9iSj@;1b&qwB$ZKne@BYFN6}mtGFelUrRMOkex{N zwh**KxNRA*1$6+3f)3L5t|Tf8OkQSTaX==$^fdqg`GidaS*9@pFgeDYUI*}5GpxA{ za41GDY4n=S+jai+yI;NnCW(Pqt~0(H-FS2T?%lKR-@m^s;r%L<-f9Jb5}cQ{v64&c z;+F9Kyf{(q6bc)tc3Mz2l}gx3zQZvwMngZjbBdLJ_FSTV>-g#Jy^j^$h~x$AGUZYg zb&G&cme!1DTccb$*(=el2-%X@-uGT8av+x5Q|mn50dS4bS>hB8H%ulC_WDIrbnY3C zmr)Hc-j1b2r(t4Q26+e^Um9SejmoM7N2A=F-5osPdl%h}M)YP-bRr(@gQwwl>GcSJ zK|i9&)6TwC!){H*ro5cHU@KB=$o(wvSRdYQ>M^-cRDWj+7lM4lKWn9ivO+pxN#mk`eW?tZWrFMx zQvy_rapi%@lF4FUc+mmWUhP)Bw!seE^!i+_I2SmAmxKEMHG*#YX=&|lUUFO=@GSz) zi67VPpy~w>T79q1QvtnI4tZtoIb;xg#S;QKM&{UYZk9Hk*qLpN^A;`nY)t&)3s8OR6&SQ8{+icmodu_Z zS`k2%rJ&k(%x24=YFFczcdf(ZH(h&R>n^T<9A6B8&#E~myXM~k98a1BG+tpne7D#iq9D>S4(Mf?I&4>HP3te+m3` z!}g6z$;XdZtF#ZkXMfb!w_&V(ofRt6W0|#oFVE>nl#G>%9v#1okh2$dOXE z*DBw(hWdz#@B{kV^QlEjZOlKEdgX~81bV4A6ZByG2JmPfWa{*v3&;^aFnaIdiw;cg zdHC{!e4+buaUb&g&pYViVfpvPS;)P=FOEal{=PU0IrI0$|6(%@tmoyyhTeIzBBi^^ zcE>wyPCaa9TxCy{9J8HF;oej@Cg_WwGUS2Edu_+^R&zBi*8NhBUS=Lri|z<<+k|sl zW_{A9x`b3rkbc9ii@9}HqE;zEz2dlfzViSPH-Q)M{Weq4vh$fjG;CcHAZB&z*&bu& z?l-B;6KTc(Gm)pt@jHyNEeGe2uwa4v!U|5GmoVQWwfIu+Ks$PRbO0Ll1~lgeVTrZ3 z-qz*xgGgr8=^3$VUCp84q0WQF9}o>^O4rZo);p9KuK>jw4*yEP*pPqX_&YHFithrQ z*xm&DBdm(9gX{}$z-h!()tM49`S_;KGmZ9xMNwCk)`io4G4F7X5F(FM!a_aQf1G&N z?M4vM6{ySfXmT?%WI>fU)N2|^(o-IP>8!58*OETR4%#ncvNYcsxTuF0lGo*X96xRB z4Sb)i<#<#_O-Kie*;Xx?&OU9sbKeEu+3HG{B(r45IaZ<(UFOs#GqlUZecS@EfXrAh zuDFu4r?7>R={?PMPZcyG4{t8S%L0ipi+d071u|YOl_a@aL@I@$>Q3+kjNj0EmrLr_ z^7qaoWn#?<=~#Nk$97KQ$KYsrM$)P)8`{Jz3d(-(u)@vzDy@oU>=67<#;2Ag2R$P` z%+!`utkIXr+Eas-n%vqWgGv>(mPgzl@8Nggk1LEyHrV(A2rQ?H`U*MO=fxFoYIF?z zJ~!(OpeHk|oG!8J-YFiy3rMuw9_$7@gIw1}FOQ*Y+LZI0&KY>?j0`R+BK9Nqr+a}& zEv;HTVZZu4V_WDUjRxFTS*O4|?aTKP8uKX3S09{A76_ z)8^qEiI+UqS+1=pPOMrVkD5W(+%!B&PNtLaXsIAMkYDtwc^dl%G50k?J^DHHgi)E` zEXNC08G`lm4}dixXn!4pVB2Wl;e2WB^a5v28bZdqnBe0)U0-Q{CvWBn#m|W!nOlA8 z_sT1eNjA7N>zk6-?I$VCM@(Ao+#j*!AG}w6=e{Pl$YZVTE5~npMD8(l9W2*n&lp6< z)2yv5vAPRaSnm*nBXGk~hMTNZp1?n#6CKx z=PY18nKP~Db3rt4co&%Mw>G+VKx74)n7iOFxZ&0H%Z&J+IBLQUnXtH*Wlw(T@0N53tasLg}w^3WX!|;b$Rod^t#MOSX3hd zB&e(&b;q4puY7;iiCy|t=?pX@-S<)S_Rr;l+Y_6)TmDFQ5yj6jcDzgZOW$tM@yZ2?=|%GmIY*RBNuI$DXVkbfvTQVo>PIYB-qHq%G_2;NbwzU7|`D$D4R~ zB+OC>Veett+4bfrdTVQAjJP}3 z5}m%CUwXu8t6r=(?Ts=Xzg*8FKj_xe+`b!#o3k-7{$4?t$SEfjoNPASYw77c!0p$> zNq^q|&8@z(vf{G46m(u2=sb z=s9OLD#mw~kWE=ucy!-fuwV1ad+1`yl!TS{%G-CzA*2N7`ufy+B8WUbpAgSvD{NQG z2+YZK9?!7?d_;wI;OZNv)Wsup`_I%VvXe;ij~L{8V@i7>lg)(-uxR69=K@+$ro*cU z7z{ySk4$YJNy#P7w!Aw>aF@ZjL#77bxTjc0TCoa9lrWDFFUT`yHGX#YR^aAQjudMu z+JAq=cZm5ZwwaK8?t2>%yVV_9fJW?TE2@qf78%!%8_Jn|u6FMzt|Hct=oA^-*?D6x z>xaU{Dik9m@$32c4+8mpqwjAF0@>~R8&>=ufFA#A2*yu1 zWmQsVRY;V!u;lOf5a}b8rQr>MoE5+&JH$t&!;1E=&HPoz^@Uq<%>VrSgR;eh+rB^A2j@*qIR9yoq{@-Z^7%xi`1QPl(fr2BnzR zkk;~Y6e&4apck3V?@p92oXtv)5X*8S@IyBvO%G~VQ^MZN#dcmNj0Y}T zL;IrwJ=Y4x7w-Wy5#H-SuqSZClXihhJJ@VuPF&*QQ%NhrrWK(lHUurUKxVb{LM4gL zLL*oXR<+SqBTJ3 z{pr0S$KS8xAp> zV93gkD(qeth9)UE{%94h?)gPInDsJj)kMnlKh^gx73J$0Yz$Bw2LB`Kbaaf(eNNLZ z8&kT1#l)?M-A}+;Ry6tG4g{D7JU9(dLIdgV`es?K(Rz)b&fffn?^p&o`#RJgN7*sB zsN}cpw7sg%xg{5vInx_=_yizhW zm0=3pxVcfu>xk!*@9BGV-cT7nWqqv~A3JGVx0kj`4&7N+gqgdXW~H^A%6vQKFIZ8V zEjd+9NoiqI0+QpU0sy^7>@9H1W!$TJ}|Q~ z98c=wnPk>S0zGWF;mhYa0W93m99(BRgCW{q!A1C4tWr{Wrq|uJLdU4~`gyOl_Vo4< z^`5801&F;>3*HJAoNym8W5e6fXLgr~^N}rukNfhK#I08n_^T4M!tWOb;m!A;{X7fu z`71cogJ|d1ZER=O_M>*lq&AZ5*xs5oq*-=HF}_=k&P0Gw~2LE|lav+}h?#WhSa9L-hFoL5rv z+^eIbK+^BL^x@idi6?6g9`w!@I5J5&h0xaO08LQ6H&q8${d( z+AF9ByDOGYSow&hPLApT9d)O&G_cHF&}rr=^oLfMXFw5&)VANq7%+~8qo0Jh>Zkr0 zU@RiljAn!eOhVTybPVbTqNpu<3xcQ>k(4ePpNs+-pv>X!WY)bX!06lUXsD11)d?S8 zG|C!ykC;j&Qb7dsf*;^>VfOo?wkNlg77vy}Mq@ zbG0`uZrW_dMn$KOsjZ)K8EqdgHdzu>j@}%x)AiM}dwcNWj*fIN@|L2JDDEjTIe(~V zXn8>`At0iXx^)RC4J#?7rXpMZ%7fbwi*~>B5ga56doJVV|E!XO_3&n4e*P$4s^?Ns zYBxZN_wH5Ia&>imiz%p_SQbDb0IFd)7=1lD`n-koRbURst$Q610#O46=P{BhI0MW@ zAU^?qbBLy>9giFjdwdbn*=y=I-<|rmGUM9g}T`8JSnp z?X0?WpU==IIZ=A{e0YkewDkcX6~W42<5ir&ro5Qf zu5CECqH*-Sx9y)cPLY09NkO)D6@?hVekewtVmzb;lENqnxM5wgs%Il)_3?nv6;^e~ zCUTSlcYkF*k-ntmQ?-6YQm)QtEHx-R^oa9Vs_2D4J}cGzl8wN$7fG$<<5jmBcn-Kp z;s>T5+0nkKt!La~{3Ci0wd{~I#sqZHuf$&+uu3Cc?*$p?G>ZoY9P!9|oN3fGWFyAg zg3jBR>io-lR@j>Qcu|A%rNd9(wF#GJhtpv6mNKH|Es8i(b_s{Euf4om)UJt4<`_e5 z%#7W1vxL|0TE9J{_E(`sDCOfp&48 zs%a)g|8N+FZbHbKwqOzL&Evi0wQIVPmS9Y+q`TfV@sneg<&d2a1hkttkbJTaI#9qm z)wv#f#m%_#9T8LNF+FxCuzu)W^2yuj4oxGE?Y8hHjT^jq(jOCmT5 z2UTbMywDDbzl8IKz*QG;sVnV`D`)B#U!F{8w9Y-B?vS9y@+lrx4jtct+mu6$GuQQY zazBVwVc>0ZD|&susRqTLR%6Ug8{ICQYKRcmziYtBh8Ej6XMi9H*i3O5?Ie>q0paG zpW<~muI)B=Dd7ErCcX9VK3_7H!;F3uEEk~Z7J5RXuX7t&31Zv%V^Z(YRTOo?9d_SW zPR8lssz>w$G*^EDpl8Gl=r8?Tz36zE%S{z_m@+#|MYf$-rsw~ zSp)gwPSXi!idm>faX~pH2uQh6Zw_$Yr!~pEpfy!GBxOW$QjT5)-UPQJY>8;I&iG7S zq4=IpOv-7PN3^E%QNZX7fjGk6BwV*%SU09GU?*rFHtyP;^6t@V)qR<8cC0!(mx68i ziD$3+Zg}rL@S$9v2w1=>8rLM3q=C_ZLU+BjtiRaOi+u~$$#}#Qnzl&o5R7hC;p1K^~<@OZtc%7VXBL& znm!)U62j75WPsn)w^7{Gr2Rs?+Y;uF1_TW%r0VgwN3;tGz=xALDkSC`E`2K8lFNL| zwY7Nc1xfswaP#fg(36r!YzrHEf#8Ro>$dld1$x0c%Epzf^&Y1yOq)&b0DR6D?gQ#T zgj=`|D4&&X$oN{6fGop&J)mj(H#c@*T9aud?VzVmak5U|f;aUm+-G)`NpVNsm@@Ho zx=}Y;G>}8vDf^J-F!oVU9Oo_c{IR8hVT9oBP483(1=|gKRBXHd z@8K#AO#WEuw@u_nlUwK75tqq)0BzyHFSOehTInLt_K3E&Wsge8zFsCM)aJTyrcc}E zdeXJv*QODg%LuyrChiPX>8j_1_#mpYg7~o7J2XkIM;lk3Mrb!XPO%V182pPZ*uf z-`mx2BNYZGtfuXA3H#Q$WBK<9-c`RkUiGBj8!mGVe&5Xw0XOE5`zl}PexF1<=hj+b z@EI6Mz2ae?{!G;dv!B*`D#ZBDPr3YteB`OfPMBfcMiqrp&_~tJ_(d8Va2*yx&QF7x zVP5}kzO$TMQR#8hFWn|dA#D}$>-b@zpZLVl;xk^iZ3?Anx_{u-Z?eO&`|QUucdUA? z74H0@iJwO3vHM}4GV3hMgj}5_R>%hAaUJxZ*8P;GZ~7HT^#Kf5cWsO)l75GcLdsbG zZDL6N(+9|ZGDFxO*}GD{VEi}E<2`u>g515dr4B=65SP~ z)Y)3(4!@fkR08X_*~xQ%9$r|JYC$C9c=)lT!y?EO#~D9!8;mEmLmr}m_xkhQJ0aef z#cR%7d|R-6BJS^}*I@X^h~g&{{5Mr0#gYFtDoq(g&{wVYY!uK3Wk|x=5&jQ3#nNXn z8}BFvtTk+p>h>5|`YFh&V4zVqc^3VQjkY%>15Rc4CsH&sy>5(PtpC%sGagL|oPC-=yX;ZMG?H`N0B#1RjYUIdz4+I;(l@I9*s(J5)X7IuGrMdbkdQTU1@C* z$sEBjU6?TRHvjmNEe+gIg!Aq!kBR-T8))_ZkDnPC8jarxeHyj z{Qd=?9AHi&fmOtn5omOp*Fo{l&4yF3IP&IctA)(PHT39ICd5eYvAKqhZurUt+B{NL zqK+z@H*s+aOKY1o0sHS&{VvL11>P(A0u`J7qd@#QM%RuDpAM<^>612BGEdZsiBydi zRUt+3797}ok2%tX0o)D4u7M#AScM$#)BIBbn@f|gZ$=P`qBj@s-Uwg>6&wjZ^O#JF z&F4F7lJ}!yQ_m^*y+Xf1|Bvo1nZ21D8+(sa<|S*nkLC~;AA_ZX;yS}jaszl z_HowtUL+kE{)T#LWLwMSnHG}c^mWE9ry}vvV}^wx`;FOaHq7}BT7Es8&WX^K_`;$PU=E%fVafLBK|uH78wQqcVqK6VD~L%S_e2!`gi+x6OS$3VMsWwl&zqu|#rg7V-kM=A z740P?%@QUqa`h%yl%Yg%QADSMGFxAF(~X|M;-!FoygRlj`4mQagB77&o|Tuo>)c)M z5_zo4Lyt$a^ZK3A3ilQe`cXjo-^S>F=Z8J9b}_5qna#S%ZS|buX}Y1)WHMs=qtgjm6+Ppk=Z}5T@laufEuM@3TLIpar3-7jN%8RbbOgEN{6(<9$4n5F7MT zi>tqxNCkVi*1qR+aK=)PA`$-6;7nx>s=|ghjkJMpbY+^E$7$OJQ`CaH(da$6t?e^Y zQ-5FAY@O2F+k<%)z3m-!f*{rS&jY`|%7CMl6&qWoql=dn_0`fMUFv3rpT>@zl^7Zt zQJL{zh6~v)G{7ivk{4Cv`)e{(bntdW5LQN2vFrroW(yDI( zLz}m_3LQaI>t?n7{;;myha6K?OqrVE-y5bPp|>lIrnY&?{ZgD?-`s;HREC+F6oQ z+a9?gWmnh;&j)>u&ti^_z8cW(@2kQM^!b)tlVj~(Z3`Eq)tM|rJjRaQ+70D~I)vnB z4m4B_-x8OW(@4%M*4B+Kas0;@pgil2@wr#pUNr@u1oOw`x|auS(!l36a)#yo5aaHzA&%IKTw!A-iuV6; zJ7OMGzV(mP30qp)?s&;QdDL`G{2oWhc)UchhqxSnPHk&MvMmT$Bqbzn8DIEPQu0%$ z{nGBsH7gP3ik3?V@({OFxG5WLX;b3gE zDu;kl@<`R#^d7Y|sj?o7jq`8OOG=RG{5j4nsWd|n7!`!p?B=SabOWZE=(oK5Zlhn? zE5!K1-7ewKfNx>zSz%hwhshpLO#MPD7AnyW?a}1kdgf z@_;4mC1Mr;RLUd+f9rl&&@=1T@T;tm%k?U?74B=Rk5#lCmd?ibdcCP_{k?vyVd6nT zVwwF?$D+ck=vb_i>Ry216;_5(P|A0MJgyDV_w%r)*&rZ+vhkYM9^anP9b^rZbhh#Q z`2b|Ld@?|iOMTy*UO#qbW2-BZ%*{8O4&ju<+_EVf6uv=`GkZ5s^)}^?toG?XYzt?= z(c|yWkxzZ+e+9I-d#wA=MhApJeax3gd1~}8P6<_-i2JOg1B9yASxaPEKvXd+v^4W4VCG|7d)Oy1+pF z&4X`FE>$%ZEv~E#8_S5Ak!`N{jDdsQcwU#4AqhTN{XFE9W6adok&ofhM3h$@_+S2Fj2m@u^K6U31xv zL;8apEh!Xt6MMN1R81_iFJJ#7udOEgdGcl@_CgWD_yW!K;UTwr8~F+)T1GQoF?Ua~ zSaLr~yvE}n!M!fXq)s z{du%CNj5ZA*7n(3vz|+YDI7OW>>gj~P+WCH7(p0CC1&7er z8;3g42}JRzIM2183+IyV(xcVSjLe4r)TY(DV|k+fvpmnc9g&?o^N}{6;!-2EY6q#23A6Bj3o=;Xhe~!CprBTL^K! zSuaY=w1DS*;#E&|ttWC}Mb-_C-;9VDmt*%In^xau>ooB3d0Q#h-CIAreB0LJ zQHf{`v;Fg<@&6Y&ViF2amYI2>3n{ap=!5yrDGHn;!=HnCzX3aMXzthr-@R~BL7)ZG ziO2!`ZOZ%lLph!dVcgX}HP*NvC%EwQ$LI`@qe!h@ii^!u8Q98O4Sz%RS}CK|yFABS zG9O4EAP`AL4+~>vxOE zZfF0kQUMT1W&m}7TX-R>@aoQTp2ASl!goZkMs3~F)BCA~r|=p2FovRBsc(bZ0|pXw zwoJX)`|^(!MhM;h^=ktg;-qFW8?VOn)od1T*LvzETFY8HhFE zxQc*eh1-+24OU5`!%?gXJdmiVc$9^3lq5jn0QuHsUvB7FAD&2I$Cv3fu!lKA`)Vp!ia=;<1hp|E1J2e@+B~WH9HZ1#%Nw5bF1Y`av-bQ8_+sX_$NSn5 zFSU&?denQ{K<8GlBRqT*Qs4}S2J&LjU8m<)=XVk>i!Uo(Yzm%ojKG9aWT#S%)4p6U zQx|HBm%h25r330QPE2u9YU-v(g2A9K$%t+EbF!wANbK=B#W0Y?f#$+FoNNnj{tTcI zdx#Q_cyx?tecR-&6d_8_v0#F4Kg7&9+LmOExwVoPE$gGTy0cFtWarkY#w_%_BoCjT zoUjN#Tqa?CV;u;)3@tIovbFCCFGpUvG;a01`PV-Fw}|JBj3h8s9yA)Pa2-=GMwd&1 z+vpO7|1tWX9p6F!EpYu_T=@6y|G(ZM|DW?y{GY=UhZc*^A6k^7A2xBFE-&xCDV)}( zJ<%f*!OhHJ!@I=lC7~CI=xLb7+qyWNUs0mCPrY)YT|tZ_gjUF~_re^NlPeXZ3kJGC zHOC%>Jw<#V-F!|dO*f7;r^-2_)HF(|jSv@Wy}!$S1G?Ed?Rc6-ExIin&8tnoW!ALb z<|Af3?G=Ais>Rdm7N=u1xt!XASL`FcVB|~g3VY`b=MZX}!U0AZ+R^DhHg9XQjHEg4 z+y~bkiyO0u?!}CiG0biKI@cEYrQG%_CjD^XGMN*ZuS=x8`ktGG^~CeW!3CeUWbDqi z=2m%qls;%#boi{o%08kFDT2iFp5d^uy_8{0B($hI)2*%@7$8&dwsOWq1lYYw1zbU* z%-X){?5_icxqV2(L7gWc0d?H%>Oz9<>#5^NlE>y8$Bn)IHy=e<_78WG)-2_+5i-t{A#T&y~w}mqpV() zE?tQ97jZ{>)s0^HUaE~MSIW5p1~c1^E}?q8>)1BjiaXUCF&-~@TO~VO+m5m1_7L@y-?BFy6 zn(MuMW@-2Hg1)mTLc7-e%*U|4Zj7k1#T~n!47pVYXDrnHLTZCPCx=`rzud+`YKLBE zmW3dJB|7Ly)&@y&Rc4m~VS!e8gURjLWVY>4m`mivhECL|W;EuA(#hVRKZKuj(u6XY zP5`DUGIk*)Mn@+SCA2$*eGIr22D{Ba>zwIHvJ%Bh05hGJQwuB*+ZB#K%x^A2UT1E? z4ES&S+80KT?vaZMVi5w`O!x*{d7Pn$j3+JQ9euHkRr1cE>0-0s#tAvdX&o9B?R|qp zMvBUh%o&Y(PsM;FaO)BtNCZnMTX_Vi|NPuk8#mBfgyI8UxvCfaP+&A)A>#|5Cq^w` z-%sJ~9^Ym+H1h#>(ul2!Z+~5aJm>&E*z}0g8k<~b)bL(Vs{UpnrK?o1+GKS9j*^-; zQ2Q1FFM_z9gPoK#GHr_zkuf01k85A+G`;01CMmk0<&LWtsh)y+PnHxXuY1nCdwU?W z=6wFJ_3RnU9X}(`>p{J8)L|~Xqb~-Kcmm$|>L4gFN;;ttG+F)%AmjEEql(s_8oYZi z8qyy}EI=ljF;nv=6}>d7=r+1Cc)IG6tfIb+piic=gXWAaV>!*<{3Yu`Z-<~b?hk~* zrQFS=MQ#OjhsVo)h9_VvY1P|yHYM^P8fct|t+=~x19oBC-b^=n`n$}h7Il#X*nS1L zbWSHSgoc+5>92C*2ES}$PCa5_GXdvJ8aOR%90x8NvRu{b6ta!A8Zodr;?4+2vIzE< z7U`-w>8K=KEv&)iTyVUOb_Od;)&r&5+fUj(FI=tI+iHzUikeNQUyp==6S~Ay&&f2W ze->dA{C~Ex`k;You8u199D7U^cqhW_Uuw?Q9gfAryt%#4w*h<;kgDkd ze>U;yW>in$;d1j3AK>NB-AVw_1_-MI?QiR+ZzfrR>oL2W#T|b7ij^R2i|GiVQtDU{ zWMc+oa5^9t>GmSZE$u$6m$CpO$&;qy&@$>Z@)L`}@_Xvt?G8VV;Je?W_ees}9B|3= zt9X+7&v9apAF@NJS6Nh;qe*D=yZdEhk1#EDz*8@loc>`SC+*vPSb`m;ajd z<sK4SeSrjkQTUq8t@ zZ(a_F9z?5XYU}7&&wb{K@+g*P1UXxn%qdmrzP9^oEYZ?5R%qXdyyuk4(Lna_S5D|E4O~M^o1-CT|YKh%jR9m{D$uo0{Q6DTNW8tmb-OFI2B|cMaNNho7WNJAKtYQLcIFFV-XVe$7k0n zM{GZa^9P)wPtHSQg%y(>#`AQwa-+V5KEvcS5bYays_U61#W%Sx4N|-$71)wkgydv8 z&je{P^0D*R951gw$w4^wG#az=+lU8v^Pn3I+yCOs1Et^3vc}OiP`ayy$D2`==9Il) z<>=kDq8}2hOaA@ceza*4Ht@{K1qs|7I^!yc>W+o!Vorl1K?6U!@)tV7n->1J}YH$8>y#OjTy#hAILK|DELccX5NF(lbLiyp+ALXfgpoSoKGe`1U z(!+{{hC3B9re9|rZL!RpXbanoz~nYY~$N(6jV8D zudl=GwvY_d@S~&FN16-$yaLdJ-cNqKCB2?N233r*`Rls7pScWGA4%iyKfd@huk;XW zPK^{E^FxL|JaBigZCgGr0Y+A4D9K#P3XLibEw#CI zx2y#udc8j-^|pR$RR1I{8Luov|0z91Pqs<&L#aFSak#H(uhJ`!9mjND{qq}dQ=RD{ z>pM@Lh=W9xb!=?`r=s}UdjaTlsW1pnlq5-dJUOPJ&j@028`36QG7~-CREKZP zwY=}ihX%6WdjH^SNDVJ|)a&ropz!}Wh1*`^FYkdttC8gS1XO{Ca2o5_E-gvrA*V!c z%;m^Vk*WwrNE&E6VJB?W?0Z7BpnVz^ilIOL?`%(WhZf+f^JF*aW1v;sw6eMjPz=1t z0+>RDuSh2YY7a%5Oe?6|K}1s$Zs+pM8oF~Y`rfc4W3s}d37yOzE-$i-;Gj@G1j^1J zOpaOug@4MW=0jNoebU|j9F!myrrC$$07MGBONY8LZDU^OZ6Twjx40q&;m+-qA@ykI zH8kZxB=ta&7s|NIwDPM`tswFz_n~7U)tCAqmAe^ND^S^u5EQ~s?LN*ah?rhi$;
    Ry{lVu_3a^Lp^ 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 Kvt0k-v;PIVsnJ9L literal 85931 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 diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi index 52d9036e02118c84accc929e932c58cbb92fd35c..a3190f2ab8724348dd3042acc2839ed9386ed76c 100644 GIT binary patch literal 40350 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 literal 44391 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 K3T5)90sjYZ?Ix1| From e7b5f94c56f119528723387b43d53e11ecef87e7 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 19 Nov 2024 17:48:45 -0500 Subject: [PATCH 231/344] Fix Cthonian Platforms (#3780) :cl: fix: Cthonian Platforms now have proper dirs /:cl: --- _maps/shuttles/pgf/pgf_woeful_cthonian.dmm | 29 +++++++++++++--------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/_maps/shuttles/pgf/pgf_woeful_cthonian.dmm b/_maps/shuttles/pgf/pgf_woeful_cthonian.dmm index a04c729df8ef..0e6a33de1aeb 100644 --- a/_maps/shuttles/pgf/pgf_woeful_cthonian.dmm +++ b/_maps/shuttles/pgf/pgf_woeful_cthonian.dmm @@ -120,7 +120,7 @@ }, /obj/structure/catwalk/over, /obj/structure/platform{ - dir = 8 + dir = 4 }, /turf/open/floor/plating, /area/ship/engineering) @@ -922,7 +922,7 @@ }, /obj/structure/catwalk/over, /obj/structure/platform{ - dir = 8 + dir = 4 }, /turf/open/floor/plating, /area/ship/engineering) @@ -983,7 +983,7 @@ /obj/machinery/light/directional/north, /obj/machinery/power/ship_gravity, /obj/structure/platform{ - dir = 8 + dir = 4 }, /turf/open/floor/plasteel/tech, /area/ship/engineering) @@ -1033,9 +1033,6 @@ /obj/machinery/turretid/ship{ pixel_x = 26 }, -/obj/machinery/computer/cargo{ - dir = 8 - }, /obj/effect/turf_decal/techfloor{ dir = 4 }, @@ -1046,7 +1043,12 @@ name = "bridge shutter control" }, /obj/structure/platform/ship_two{ - dir = 8 + dir = 5 + }, +/obj/machinery/computer/cargo{ + dir = 8; + layer = 3.1; + pixel_y = -2 }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) @@ -1094,10 +1096,12 @@ dir = 4 }, /obj/machinery/computer/helm{ - dir = 8 + dir = 8; + layer = 3.1; + pixel_y = 5 }, /obj/structure/platform/ship_two{ - dir = 8 + dir = 6 }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) @@ -1366,13 +1370,14 @@ /obj/structure/table/reinforced, /obj/item/radio/intercom/wideband/table{ dir = 4; - pixel_y = 4 + pixel_y = 0; + pixel_x = 1 }, /obj/item/desk_flag/gezena{ pixel_x = 8 }, /obj/structure/platform/ship_two{ - dir = 8 + dir = 4 }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) @@ -3246,7 +3251,7 @@ }, /obj/machinery/light/directional/south, /obj/structure/platform{ - dir = 8 + dir = 4 }, /turf/open/floor/plasteel/tech, /area/ship/engineering) From c61b9af6d24fc07e3b29b94df3994a1db9a807ab Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Tue, 19 Nov 2024 16:50:13 -0600 Subject: [PATCH 232/344] Fixes the Listening Post Server Monitor + Replaces a Frontier Suit with a Softsuit (#3777) ## About The Pull Request The Telecomms Monitor board on the listening post doesn't actually work. It's just a maintenance computer. The intended thing to properly use the listening setup is a Server Monitor, that lets you see the contents of the server. Replaced the singular suit on the ruin with a Soft suit ## Why It's Good For The Game Fixes good ## Changelog :cl: add: Added a soft suit to the Listening Post fix: Fixed the Listening Post Comms Monitor to be the right type /:cl: --- .../LavaRuins/lavaland_abandonedlisteningpost.dmm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm b/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm index 6341438965e4..934f0ffe01ef 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm @@ -1232,7 +1232,9 @@ /turf/open/floor/plasteel/dark, /area/ruin/unpowered/listening_post/commons) "vJ" = ( -/obj/machinery/suit_storage_unit/mining/eva, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/syndicate, +/obj/item/clothing/head/helmet/space/syndicate, /turf/open/floor/plasteel/tech/grid, /area/ruin/unpowered/listening_post) "vR" = ( @@ -1762,12 +1764,12 @@ /turf/open/floor/plating, /area/ruin/unpowered/listening_post/engineering) "Gy" = ( -/obj/machinery/computer/telecomms/monitor{ - dir = 8 - }, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 4 }, +/obj/machinery/computer/telecomms/server{ + dir = 8 + }, /turf/open/floor/plasteel/dark, /area/ruin/unpowered/listening_post/operations) "GB" = ( From f0910ab81fd8307778fd2c1803faf956b8b53ae9 Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Tue, 19 Nov 2024 16:52:12 -0600 Subject: [PATCH 233/344] Replaces Rubbershot on the Kilo and Scarab with Buckshot (#3708) ## About The Pull Request Says on the tin. ## Why It's Good For The Game Every round on both these ships I've seen the boxes either go unused or recycled. What am I gonna shoot them at? Goliaths? My own crew? ## Changelog :cl: balance: Replaced rubbershot on the Kilo and Scarab with buckshot /:cl: --------- Signed-off-by: generalthrax <139387950+generalthrax@users.noreply.github.com> --- _maps/shuttles/independent/independent_kilo.dmm | 5 ++++- _maps/shuttles/independent/independent_scarab.dmm | 4 ---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/_maps/shuttles/independent/independent_kilo.dmm b/_maps/shuttles/independent/independent_kilo.dmm index d0d7523167b9..38d9d1cc6853 100644 --- a/_maps/shuttles/independent/independent_kilo.dmm +++ b/_maps/shuttles/independent/independent_kilo.dmm @@ -661,7 +661,10 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/item/storage/box/ammo/a12g_rubbershot, +/obj/item/storage/box/ammo/a12g_buckshot, +/obj/item/gun/ballistic/shotgun/doublebarrel/presawn{ + default_ammo_type = 0 + }, /obj/structure/cable/pink{ icon_state = "4-10" }, diff --git a/_maps/shuttles/independent/independent_scarab.dmm b/_maps/shuttles/independent/independent_scarab.dmm index 83af7832fd56..99e4797077d2 100644 --- a/_maps/shuttles/independent/independent_scarab.dmm +++ b/_maps/shuttles/independent/independent_scarab.dmm @@ -3987,10 +3987,6 @@ dir = 5 }, /obj/structure/rack, -/obj/item/storage/box/ammo/a12g_rubbershot{ - pixel_x = -4; - pixel_y = 9 - }, /obj/item/storage/box/ammo/a12g_buckshot{ pixel_y = 2; pixel_x = 4 From d0151a968cc8603ebd23a71027627dc559ba7d73 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 19 Nov 2024 18:25:53 -0500 Subject: [PATCH 234/344] fix super sporter wear slot (#3757) :cl: fix: super sporter fits on back /:cl: --- .../projectiles/guns/manufacturer/serene_sporting/ballistics.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm b/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm index ab997c044d01..13820fea264d 100644 --- a/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm @@ -169,6 +169,8 @@ EMPTY_GUN_HELPER(automatic/m12_sporter/mod) bolt_type = BOLT_TYPE_LOCKING + slot_flags = ITEM_SLOT_BACK + w_class = WEIGHT_CLASS_BULKY weapon_weight = WEAPON_MEDIUM From 79016c65cfd839365eb7b5142f1e4634f8a409ac Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 19 Nov 2024 18:26:41 -0500 Subject: [PATCH 235/344] 2 shelf fixes (#3769) :cl: fix: crate shelves now return all metal fix: crate shelves no longer lead to 0 metal stacks /:cl: --- code/game/objects/structures/crateshelf.dm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/code/game/objects/structures/crateshelf.dm b/code/game/objects/structures/crateshelf.dm index a637829bd2c2..65a20a128829 100644 --- a/code/game/objects/structures/crateshelf.dm +++ b/code/game/objects/structures/crateshelf.dm @@ -81,7 +81,7 @@ balloon_alert(user, "adding additional shelf to rack") if(do_after(user, 3 SECONDS, src)) add_shelf(1) - our_sheet.add(-2) + our_sheet.use(2) return TRUE to_chat(user, span_notice("Adding a shelf to [src] requires more metal.")) return FALSE @@ -169,8 +169,12 @@ shelf_contents[shelf_contents.Find(crate)] = null if(!(flags_1&NODECONSTRUCT_1)) density = FALSE - var/obj/item/rack_parts/shelf/newparts = new(loc) - transfer_fingerprints_to(newparts) + var/obj/item/rack_parts/shelf/new_parts = new(loc) + if(capacity >= 2) + var/obj/item/stack/sheet/metal/new_metal = new(loc) + new_metal.amount = (capacity-1)*2 + transfer_fingerprints_to(new_metal) + transfer_fingerprints_to(new_parts) return ..() /obj/item/rack_parts/shelf From 4121c38cd66e4cda2397aabf398f92ce521dc61f Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 19 Nov 2024 18:29:17 -0500 Subject: [PATCH 236/344] holopads now say the area disconnected on call end (#3773) :cl: fix: holopads now say the area disconnected on call end /:cl: --- code/datums/holocall.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index e6733b8d5612..d394d7707be8 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -112,7 +112,7 @@ var/area/A = get_area(connected_holopad) calling_holopad.say("[A] holopad disconnected.") else if(H == calling_holopad && connected_holopad) - connected_holopad.say("[user] disconnected.") + connected_holopad.say("[caller_location] disconnected.") ConnectionFailure(H, TRUE) From 83c639f595f30d75ef72c2766235712dcddee701 Mon Sep 17 00:00:00 2001 From: Sadhorizon <108196626+Sadhorizon@users.noreply.github.com> Date: Wed, 20 Nov 2024 00:30:07 +0100 Subject: [PATCH 237/344] Adds a Hardliner faction datum. (#3765) Title. Three Hardliner ships are open (#3761, #3744, #3741) and all are using the base syndicate faction. What a shame. :cl: code: Added a Hardliner faction datum. /:cl: --- _maps/configs/syndicate_gorlex_komodo.json | 2 +- code/__DEFINES/factions.dm | 34 ++++++++++++++++++++++ code/modules/faction/faction_datum.dm | 4 +++ 3 files changed, 39 insertions(+), 1 deletion(-) diff --git a/_maps/configs/syndicate_gorlex_komodo.json b/_maps/configs/syndicate_gorlex_komodo.json index 0cefb4ca08b3..5044590efb15 100644 --- a/_maps/configs/syndicate_gorlex_komodo.json +++ b/_maps/configs/syndicate_gorlex_komodo.json @@ -1,5 +1,5 @@ { - "faction": "/datum/faction/syndicate", + "faction": "/datum/faction/syndicate/hardliners", "prefix": "ISV", "namelists": [ "GORLEX", diff --git a/code/__DEFINES/factions.dm b/code/__DEFINES/factions.dm index e8ad58499d35..239a53b213f2 100644 --- a/code/__DEFINES/factions.dm +++ b/code/__DEFINES/factions.dm @@ -43,4 +43,38 @@ // #define PREFIX_FRONTIER list("FFV") // #define PREFIX_PGF list("PGF", "PGFMC", "PGFN") // #define PREFIX_INDEPENDENT list("SV", "IMV", "ISV") + +// #define FACTION_SYNDICATE "Syndicate" +// #define FACTION_NGR "New Gorlex Republic" +// #define FACTION_CYBERSUN "CyberSun" +// #define FACTION_HARDLINERS "Hardliners" +// #define FACTION_SUNS "Student-Union of Naturalistic Sciences" +// #define FACTION_SOLGOV "SolGov" +// #define FACTION_SRM "Saint-Roumain Militia" +// #define FACTION_INTEQ "Inteq Risk Management Group" +// #define FACTION_CLIP "CLIP Minutemen" +// #define FACTION_NT "Nanotrasen" +// #define FACTION_NS_LOGI "N+S Logistics" +// #define FACTION_VIGILITAS "Vigilitas Interstellar" +// #define FACTION_FRONTIER "Frontiersmen Fleet" +// #define FACTION_PGF "Pan-Gezenan Federation" +// #define FACTION_INDEPENDENT "Independent" + +// #define PREFIX_SYNDICATE list("SEV", "SSV") +// #define PREFIX_NGR list("NGRV") +// #define PREFIX_CYBERSUN list("CSSV") +// #define PREFIX_HARDLINERS list("ISV") +// #define PREFIX_SUNS list("SUNS") +// #define PREFIX_SOLGOV list("SCSV") +// #define PREFIX_SRM list("SRSV") +// #define PREFIX_INTEQ list("IRMV") +// #define PREFIX_CLIP list("CMSV", "CMGSV") +// #define PREFIX_NT list("NTSV") +// #define PREFIX_NS_LOGI list("NSSV") +// #define PREFIX_VIGILITAS list("VISV") +// #define PREFIX_FRONTIER list("FFV") +// #define PREFIX_PGF list("PGF", "PGFMC", "PGFN") +// #define PREFIX_INDEPENDENT list("SV", "IMV", "ISV") + + // [CELADON-REMOVE] diff --git a/code/modules/faction/faction_datum.dm b/code/modules/faction/faction_datum.dm index 017c324f5011..993fee1e37f3 100644 --- a/code/modules/faction/faction_datum.dm +++ b/code/modules/faction/faction_datum.dm @@ -24,6 +24,10 @@ name = FACTION_CYBERSUN prefixes = PREFIX_CYBERSUN +/datum/faction/syndicate/hardliners + name = FACTION_HARDLINERS + prefixes = PREFIX_HARDLINERS + /datum/faction/syndicate/suns name = FACTION_SUNS short_name = "SUNS" From 4b5d3f085fc52a60146b44ece17212a6b8312802 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 19 Nov 2024 18:31:32 -0500 Subject: [PATCH 238/344] increases marine armor prices (#3781) :cl: balance: medium marine armor now costs 3k at da outpost. /:cl: --- code/modules/cargo/packs/spacesuit_armor.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/cargo/packs/spacesuit_armor.dm b/code/modules/cargo/packs/spacesuit_armor.dm index ffa24a2dd2bd..612f530d4137 100644 --- a/code/modules/cargo/packs/spacesuit_armor.dm +++ b/code/modules/cargo/packs/spacesuit_armor.dm @@ -138,7 +138,7 @@ /datum/supply_pack/spacesuit_armor/marine_armor name = "Tactical Armor Crate" - desc = "One set of well-rounded, tactical body armor. The set includes a helmet and vest." + desc = "One set of well-rounded tactical armor. While it does not protect the limbs, the vest is fairly durable. The set includes a helmet and vest." cost = 1500 contains = list(/obj/item/clothing/suit/armor/vest/marine, /obj/item/clothing/head/helmet/marine) @@ -147,8 +147,8 @@ /datum/supply_pack/spacesuit_armor/medium_marine_armor name = "Medium Tactical Armor Crate" - desc = "One set of well-rounded medium tactical body armor. The set includes a helmet and vest." - cost = 2000 + desc = "One set of well-rounded medium tactical body armor. Plates are attached to the vest and cover the limbs. The set includes a helmet and chestpiece." + cost = 3000 contains = list(/obj/item/clothing/suit/armor/vest/marine/medium, /obj/item/clothing/head/helmet/marine) crate_name = "armor crate" From b94be0463098ec89208b1a9101597fa6a6c448d7 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 19 Nov 2024 18:41:44 -0500 Subject: [PATCH 239/344] frontiersmen turrets kill everything not in their faction (#3798) :cl: balance: frontiersmen turrets kill everything not in their faction /:cl: --- code/game/machinery/porta_turret/portable_turret.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 809fba0790bc..3d4cbb79a6e5 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -1082,6 +1082,9 @@ DEFINE_BITFIELD(turret_flags, list( shot_delay = 2 scan_range = 6 +/obj/machinery/porta_turret/ship/frontiersmen/assess_perp(mob/living/carbon/human/perp) + return 10 //Syndicate turrets shoot everything not in their faction //this needs to be default behavior and im gonna refactor it soon + /obj/machinery/porta_turret/ship/frontiersmen/light name = "Pounder Turret" desc = "A low caliber SMG with an atrociously high cycle rate, frankensteined together with a targetting assembly." From 1c21d25800c3def0d49ea3899bbf9e47017b4667 Mon Sep 17 00:00:00 2001 From: Theos Date: Tue, 19 Nov 2024 18:44:15 -0500 Subject: [PATCH 240/344] Real 9mm fix (#3804) ## About The Pull Request Fixes #3772 ## Why It's Good For The Game ## Changelog :cl: fix: 9mm AP boxes now work right /:cl: --------- Signed-off-by: Theos --- _maps/RandomRuins/RockRuins/rockplanet_distillery.dmm | 2 +- _maps/shuttles/nanotrasen/nanotrasen_heron.dmm | 2 +- code/modules/cargo/packs/ammo.dm | 2 +- .../ammo_stacks/prefab_stacks/premade_pistol_stacks.dm | 8 ++++---- code/modules/research/designs/weapon_designs.dm | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm b/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm index 67eb3e648365..ed1febb808b2 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm @@ -3073,7 +3073,7 @@ pixel_x = -3 }, /obj/item/ammo_box/magazine/illestren_a850r, -/obj/item/storage/box/ammo/c9mm/ap, +/obj/item/storage/box/ammo/c9mm_ap, /obj/item/ammo_box/magazine/illestren_a850r, /obj/item/ammo_box/magazine/co9mm{ start_empty = 1 diff --git a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm index 538c5717a840..feef647c1142 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm @@ -13080,7 +13080,7 @@ /obj/item/storage/box/ammo/c9mm, /obj/item/storage/box/ammo/c9mm, /obj/item/storage/box/ammo/c9mm, -/obj/item/storage/box/ammo/c9mm/ap, +/obj/item/storage/box/ammo/c9mm_ap, /obj/item/stock_parts/cell/gun{ pixel_x = -3; pixel_y = -5 diff --git a/code/modules/cargo/packs/ammo.dm b/code/modules/cargo/packs/ammo.dm index 5ebf45ef1d85..9047120b6afa 100644 --- a/code/modules/cargo/packs/ammo.dm +++ b/code/modules/cargo/packs/ammo.dm @@ -30,7 +30,7 @@ /datum/supply_pack/ammo/c9mmap_ammo_box name = "9mm AP Ammo Box Crate" desc = "Contains a 48-round 9mm box loaded with armor piercing ammo." - contains = list(/obj/item/storage/box/ammo/c9mm/ap) + contains = list(/obj/item/storage/box/ammo/c9mm_ap) cost = 400 /datum/supply_pack/ammo/c9mmhp_ammo_box diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm index 68ae4e2236ba..10c944b98d93 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm @@ -115,18 +115,18 @@ /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/surplus = 48) generate_items_inside(items_inside,src) -/obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm_ap +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/ap ammo_type = /obj/item/ammo_casing/c9mm/ap -/obj/item/storage/box/ammo/c9mm/ap +/obj/item/storage/box/ammo/c9mm_ap name = "box of AP 9mm ammo" desc = "A box of 9mm armor-piercing ammo, designed to penetrate through armor at the cost of total damage." icon_state = "9mmbox-ap" -/obj/item/storage/box/ammo/c9mm/ap/PopulateContents() +/obj/item/storage/box/ammo/c9mm_ap/PopulateContents() ..() var/static/items_inside = list( - /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm_ap = 4) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/ap = 4) generate_items_inside(items_inside,src) /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/hp diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index a07f9d96dd80..10d19097df56 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -388,7 +388,7 @@ id = "ap9mm" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000, /datum/material/uranium = 1000) - build_path = /obj/item/storage/box/ammo/c9mm/ap + build_path = /obj/item/storage/box/ammo/c9mm_ap category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY From b662b78d378a6a99335a7953fb6af2897a56ea6a Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 19 Nov 2024 18:52:28 -0500 Subject: [PATCH 241/344] projectiles no longer trigger prox sensors (#3774) :cl: balance: projectiles no longer trigger prox sensors /:cl: --- code/modules/assembly/proximity.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 1162f1d3b6cf..7368e05f1b44 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -71,7 +71,7 @@ return secured /obj/item/assembly/prox_sensor/HasProximity(atom/movable/AM as mob|obj) - if (istype(AM, /obj/effect/beam)) + if(istype(AM, /obj/effect/beam) || istype(AM, /obj/projectile) || istype(AM, /obj/effect/projectile)) return sense() From 962fda4b2d9d14526ed738cf4aee1aa1f722b725 Mon Sep 17 00:00:00 2001 From: Theos Date: Tue, 19 Nov 2024 18:54:12 -0500 Subject: [PATCH 242/344] Bandage lifespan no longer scales with bleeding speed (#3784) ## About The Pull Request Bandage lifespan is now a flat 1 point = 1 tick of bleed staunching instead of also being reduced by the current bloodloss speed ## Why It's Good For The Game Didn't scale well with higher speeds of bleeding, effectively making them unmanageable since the rate of bleed healing is balanced around casual bloodloss and not ranked and competitive bloodloss ## Changelog :cl: balance: bandages will no longer fall off faster with more bleeding /:cl: Signed-off-by: Theos --- code/datums/components/bandage.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/components/bandage.dm b/code/datums/components/bandage.dm index 16f6a2f0b059..05a31ec4ee32 100644 --- a/code/datums/components/bandage.dm +++ b/code/datums/components/bandage.dm @@ -41,7 +41,7 @@ SIGNAL_HANDLER var/obj/item/bodypart/heal_target = parent - lifespan -= 1 + heal_target.bleeding // particularly nasty bleeding can burn through dressing faster + lifespan-- heal_target.adjust_bleeding(-bleed_reduction) if(lifespan <= 0 || !heal_target.bleeding) //remove treatment once it's no longer able to treat drop_bandage(TRUE) From dd07bb1bbd9f1b3c9a16560962415bed445143e6 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 19 Nov 2024 18:55:16 -0500 Subject: [PATCH 243/344] wasteplanet walls SUCJK (#3748) :cl: add: walls on wasteworlds now have a chance to start damaged balance: walls on waste worlds are now universally weaker /:cl: --- .../turfs/open/floor/plating/wasteplanet.dm | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/code/game/turfs/open/floor/plating/wasteplanet.dm b/code/game/turfs/open/floor/plating/wasteplanet.dm index 6de774313697..250ab5f45569 100644 --- a/code/game/turfs/open/floor/plating/wasteplanet.dm +++ b/code/game/turfs/open/floor/plating/wasteplanet.dm @@ -266,19 +266,62 @@ //closed turfs are a thing /turf/closed/wall/r_wall/wasteplanet + max_integrity = 800 + integrity = 800 baseturfs = /turf/open/floor/plating/wasteplanet +/turf/closed/wall/r_wall/wasteplanet/Initialize(mapload, inherited_virtual_z) + . = ..() + if(prob(25)) + alter_integrity(-rand(200,400)) + + /turf/closed/wall/r_wall/rust/wasteplanet + max_integrity = 600 + integrity = 600 baseturfs = /turf/open/floor/plating/wasteplanet/rust +/turf/closed/wall/r_wall/rust/wasteplanet/Initialize(mapload, inherited_virtual_z) + . = ..() + if(prob(25)) + alter_integrity(-rand(0,400)) + /turf/closed/wall/wasteplanet + max_integrity = 200 + integrity = 200 baseturfs = /turf/open/floor/plating/wasteplanet +/turf/closed/wall/wasteplanet/Initialize(mapload, inherited_virtual_z) + . = ..() + if(prob(25)) + alter_integrity(-rand(0,150)) + /turf/closed/wall/rust/wasteplanet + max_integrity = 100 + integrity = 100 baseturfs = /turf/open/floor/plating/wasteplanet/rust +/turf/closed/wall/rust/wasteplanet/Initialize(mapload, inherited_virtual_z) + . = ..() + if(prob(25)) + alter_integrity(-rand(0,100)) + /turf/closed/wall/concrete/wasteplanet + max_integrity = 200 + integrity = 200 baseturfs = /turf/open/floor/concrete/wasteplanet +/turf/closed/wall/concrete/wasteplanet/Initialize(mapload, inherited_virtual_z) + . = ..() + if(prob(25)) + alter_integrity(-rand(0,100)) + /turf/closed/wall/concrete/reinforced/wasteplanet + max_integrity = 700 + integrity = 700 baseturfs = /turf/open/floor/concrete/wasteplanet + +/turf/closed/wall/concrete/reinforced/wasteplanet/Initialize(mapload, inherited_virtual_z) + . = ..() + if(prob(25)) + alter_integrity(-rand(0,500)) From 292d9eb129927758b65fba1800a917e5dbc89c2f Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Tue, 19 Nov 2024 15:59:21 -0800 Subject: [PATCH 244/344] Sound Enabling: Vox Screaming (#3778) ## About The Pull Request Within the files there existed a sound effect for Vox screaming, but for one reason or another it was never actually enabled for them. This fixes that. ## Why It's Good For The Game More species being able to scream in pain after getting an arm torn off is good. ## Changelog :cl: add: Enabled thee screaming audio emote for Vox. /:cl: --- code/modules/mob/living/carbon/human/emote.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index 146c60c9b79d..bcf3c1f033aa 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -86,6 +86,8 @@ return pick('sound/voice/human/malescream_1.ogg', 'sound/voice/human/malescream_2.ogg', 'sound/voice/human/malescream_3.ogg', 'sound/voice/human/malescream_4.ogg', 'sound/voice/human/malescream_5.ogg', 'sound/voice/human/malescream_6.ogg') else if(ismoth(H)) return 'sound/voice/moth/scream_moth.ogg' + else if(isvox(H)) + return 'sound/voice/vox/vox_scream_1.ogg' else if(islizard(H)) return pick('sound/voice/lizard/lizard_scream_1.ogg', 'sound/voice/lizard/lizard_scream_2.ogg', 'sound/voice/lizard/lizard_scream_3.ogg', 'sound/voice/lizard/lizard_scream_4.ogg') From 100e999f961e6b27430c81b9e4beb056782c2db5 Mon Sep 17 00:00:00 2001 From: Mark Suckerberg Date: Tue, 19 Nov 2024 18:14:00 -0600 Subject: [PATCH 245/344] Succumb Code Touchup (#3711) ## About The Pull Request Touches up saycode related to succumbing just a little bit. Originally was intended to actually solve a problem, but it didn't, and I figured it was fine to add the tweaks I made anyways for the hell of it. Also made the dramatic "last words" screen text a bit more consistent. Yes, I know it was for drama reasons, but this is far better than having to use an entire get_hearers call for it, and I doubt anyone will notice a difference. ## Why It's Good For The Game Succumb code was kind of a mess, so I cleaned it up. Honestly, I don't think this should be in say() at all, but hey, I just work here. ## Changelog :cl: tweak: Whispering (as in, directly using the verb or typing `#` before your message) will now skip the succumb confirmation prompt, while normal talking will still continue to prompt if you want to succumb. /:cl: --------- Co-authored-by: Sun-Soaked <45698967+Sun-Soaked@users.noreply.github.com> --- code/_onclick/hud/alert.dm | 6 ++- code/modules/mob/living/living_say.dm | 60 +++++++++++++-------------- 2 files changed, 32 insertions(+), 34 deletions(-) diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index b5026c71247f..5dacaec1b4cf 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -420,9 +420,11 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." return if (length(last_whisper)) - living_owner.dying_breath("[last_whisper]") living_owner.say("#[last_whisper]") - living_owner.succumb(whispered = length(last_whisper) > 0) + //Say handles everything else for us + return + + living_owner.succumb(FALSE) //ALIENS diff --git a/code/modules/mob/living/living_say.dm b/code/modules/mob/living/living_say.dm index 4470306774fb..817fcbd2d985 100644 --- a/code/modules/mob/living/living_say.dm +++ b/code/modules/mob/living/living_say.dm @@ -59,7 +59,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( "ö" = RADIO_CHANNEL_WIDEBAND )) -/mob/living/proc/Ellipsis(original_msg, chance = 50, keep_words) +/mob/living/proc/ellipsis(original_msg, chance = 50, keep_words) if(chance <= 0) return "..." if(chance >= 100) @@ -81,7 +81,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( return new_msg -/mob/living/say(message, bubble_type,list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null) +/mob/living/say(message, bubble_type, list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null) var/ic_blocked = FALSE if(client && !forced && CHAT_FILTER_CHECK(message)) //The filter doesn't act on the sanitized message, but the raw message. @@ -114,8 +114,13 @@ GLOBAL_LIST_INIT(department_radio_keys, list( client?.dsay(message) return - // dead is the only state you can never emote - if(stat != DEAD && check_emote(original_message, forced)) + var/succumbed = FALSE + + if(stat == DEAD) + say_dead(original_message) + return + + if(check_emote(original_message, forced)) return switch(stat) @@ -125,11 +130,19 @@ GLOBAL_LIST_INIT(department_radio_keys, list( if(!(message_mods[MODE_CHANGELING] || message_mods[MODE_ALIEN])) return if(HARD_CRIT) - if(!(message_mods[WHISPER_MODE] || message_mods[MODE_CHANGELING] || message_mods[MODE_ALIEN])) + if(!(message_mods[MODE_CHANGELING] || message_mods[MODE_ALIEN])) + // If we cut our message short, abruptly end it with a-.. + var/message_len = length_char(message) + var/health_diff = round(-HEALTH_THRESHOLD_DEAD + health) + message = copytext_char(message, 1, health_diff) + (message_len > health_diff ? "-.." : "...") + message = ellipsis(message, 10, 1) + + //If the player didn't voluntarily whisper, we'll ask them to confirm their dying words + if(!message_mods[WHISPER_MODE] && (tgui_alert(src, "Your dying words will be \"[message]\", continue?", "Succumb", list("Cancel", "Continue"), 15 SECONDS) != "Continue")) + return + message_mods[WHISPER_MODE] = MODE_WHISPER_CRIT - if(DEAD) - say_dead(original_message) - return + succumbed = TRUE if(client && SSlag_switch.measures[SLOWMODE_SAY] && !HAS_TRAIT(src, TRAIT_BYPASS_MEASURES) && !forced && src == usr) if(!COOLDOWN_FINISHED(client, say_slowmode)) @@ -151,33 +164,20 @@ GLOBAL_LIST_INIT(department_radio_keys, list( var/message_range = 7 - var/succumbed = FALSE - if(message_mods[MODE_CUSTOM_SAY_EMOTE]) log_message(message_mods[MODE_CUSTOM_SAY_EMOTE], LOG_RADIO_EMOTE) if(!message_mods[MODE_CUSTOM_SAY_ERASE_INPUT]) - if(message_mods[WHISPER_MODE]) + //Final words (MODE_WHISPER_CRIT) are already obfuscated, let them have full range + if(message_mods[WHISPER_MODE] == MODE_WHISPER) if(saymode || message_mods[RADIO_EXTENSION]) //no radio while in crit saymode = null message_mods -= RADIO_EXTENSION message_range = 1 var/logged_message = message - if(stat == HARD_CRIT) //This is cheaper than checking for MODE_WHISPER_CRIT message mod - var/health_diff = round(-HEALTH_THRESHOLD_DEAD + health) - // If we cut our message short, abruptly end it with a-.. - var/message_len = length_char(message) - message = copytext_char(message, 1, health_diff) + "[message_len > health_diff ? "-.." : "..."]" - message = Ellipsis(message, 10, 1) - last_words = message - var/final_warning = alert(usr, "Your dying words will be \"[last_words]\", continue?", "Succumb", "Cancel", "Continue") - if(final_warning == "Cancel" || QDELETED(src)) - return - message_mods[WHISPER_MODE] = MODE_WHISPER_CRIT - succumbed = TRUE - src.log_talk(logged_message, LOG_WHISPER, custom_say_emote = message_mods[MODE_CUSTOM_SAY_EMOTE]) + src.log_talk(logged_message, LOG_WHISPER, forced_by = forced, custom_say_emote = message_mods[MODE_CUSTOM_SAY_EMOTE]) else - src.log_talk(message, LOG_SAY, forced_by=forced, custom_say_emote = message_mods[MODE_CUSTOM_SAY_EMOTE]) + src.log_talk(message, LOG_SAY, forced_by = forced, custom_say_emote = message_mods[MODE_CUSTOM_SAY_EMOTE]) message = treat_message(message) // unfortunately we still need this var/sigreturn = SEND_SIGNAL(src, COMSIG_MOB_SAY, args) @@ -228,9 +228,8 @@ GLOBAL_LIST_INIT(department_radio_keys, list( send_speech(message, message_range, src, bubble_type, spans, language, message_mods) if(succumbed) - succumb(1) + succumb(TRUE) to_chat(src, compose_message(src, language, message, , spans, message_mods)) - dying_breath(message) return 1 @@ -251,6 +250,8 @@ GLOBAL_LIST_INIT(department_radio_keys, list( // Create map text prior to modifying message for goonchat if (client?.prefs.chat_on_map && !(stat == UNCONSCIOUS || stat == HARD_CRIT) && (client.prefs.see_chat_non_mob || ismob(speaker)) && can_hear()) + if(message_mods[MODE_WHISPER] == MODE_WHISPER_CRIT) + play_screen_text("message") if(message_mods[MODE_CUSTOM_SAY_ERASE_INPUT]) create_chat_message(speaker, null, message_mods[MODE_CUSTOM_SAY_EMOTE], spans, EMOTE_MESSAGE) else @@ -424,8 +425,3 @@ GLOBAL_LIST_INIT(department_radio_keys, list( if(get_minds && mind) return mind.get_language_holder() . = ..() - -/mob/living/proc/dying_breath(message) - for(var/mob/M in get_hearers_in_view(7, src)) - if(M.can_hear()) - M.play_screen_text("[message]") From 35386b3094b59aa79b7c1ebd2658ce6634091722 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 19 Nov 2024 19:18:27 -0500 Subject: [PATCH 246/344] increase plasmacutter price. reduce anglegrinder price (#3727) :cl: balance: plasma cutters r more expensive. balance: angle grinders are cheaper, and come with a bowman headset. /:cl: --------- Signed-off-by: Erika Fox <94164348+Erikafox@users.noreply.github.com> --- code/modules/cargo/packs/tools.dm | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/code/modules/cargo/packs/tools.dm b/code/modules/cargo/packs/tools.dm index 0cd01966b245..830746d96fa4 100644 --- a/code/modules/cargo/packs/tools.dm +++ b/code/modules/cargo/packs/tools.dm @@ -74,13 +74,6 @@ contains = list(/obj/item/pickaxe/drill/jackhammer) crate_name = "jackhammer crate" -/datum/supply_pack/tools/plasmacutter - name = "Plasmacutter Crate" - desc = "Contains a plasmacutter, capable of rapidly breaking down hull." - cost = 1250 - contains = list(/obj/item/gun/energy/plasmacutter) - crate_name = "plasmacutter crate" - /datum/supply_pack/tools/metalfoam name = "Metal Foam Grenade Crate" desc = "Seal up those pesky hull breaches with 7 metal foam grenades." @@ -112,10 +105,20 @@ /datum/supply_pack/tools/anglegrinder name = "Angle Grinder" desc = "Contains one angle grinder pack, a tool used for quick structure deconstruction and salvaging" - cost = 2000 - contains = list(/obj/item/gear_pack/anglegrinder) + cost = 1500 + contains = list( + /obj/item/gear_pack/anglegrinder, + /obj/item/radio/headset/alt + ) crate_name = "Angle Grinder" +/datum/supply_pack/tools/plasmacutter + name = "Plasmacutter Crate" + desc = "Contains a plasmacutter, capable of rapidly breaking down hull." + cost = 2500 + contains = list(/obj/item/gun/energy/plasmacutter) + crate_name = "plasmacutter crate" + /* Liquid tanks */ From 841204ffa9e70bbd32aa109b99955f749c804ba0 Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Tue, 19 Nov 2024 18:19:19 -0600 Subject: [PATCH 247/344] You can no longer see clothes through Blood Red Hardsuits (& others) (#3717) ## About The Pull Request Used to be able to see what someone was wearing underneath their hardsuit ## Why It's Good For The Game Oversight probably. I don't think the NGR / Hardliner / Ramzi hardsuits are supposed to have this var applied to them to begin with ## Changelog :cl: fix: You can no longer see through Marauder hardsuits /:cl: --- code/modules/clothing/factions/hardliners.dm | 2 -- code/modules/clothing/factions/ngr.dm | 1 - code/modules/clothing/spacesuits/hardsuit.dm | 1 - 3 files changed, 4 deletions(-) diff --git a/code/modules/clothing/factions/hardliners.dm b/code/modules/clothing/factions/hardliners.dm index ffa5a5e459ae..83c00e64b89e 100644 --- a/code/modules/clothing/factions/hardliners.dm +++ b/code/modules/clothing/factions/hardliners.dm @@ -126,7 +126,6 @@ icon = 'icons/obj/clothing/faction/hardliners/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/suits.dmi' helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/hl - lightweight = 1 jetpack = null /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite/hl @@ -148,7 +147,6 @@ helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite/hl icon = 'icons/obj/clothing/faction/hardliners/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/suits.dmi' - lightweight = 1 jetpack = null ///////// diff --git a/code/modules/clothing/factions/ngr.dm b/code/modules/clothing/factions/ngr.dm index cdf1f0bdc96f..366fa3b37cfe 100644 --- a/code/modules/clothing/factions/ngr.dm +++ b/code/modules/clothing/factions/ngr.dm @@ -138,7 +138,6 @@ icon = 'icons/obj/clothing/faction/ngr/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/ngr/suits.dmi' helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/ngr - lightweight = 1 jetpack = null greyscale_colors = list("#33353a", "#d9ad82", "#8c1a34") diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index 4095e2f9e781..b563d4fa300d 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -453,7 +453,6 @@ item_state = "hardsuit1-ramzi" hardsuit_type = "ramzi" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/ramzi - lightweight = 1 jetpack = null armor = list("melee" = 35, "bullet" = 25, "laser" = 20,"energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) // [CELADON - REMOVE] - BALANCE From 8943c72f487c9d1f97b62882c8b0b19b46df1774 Mon Sep 17 00:00:00 2001 From: Burning02 <141873051+Burning02@users.noreply.github.com> Date: Tue, 19 Nov 2024 19:20:31 -0500 Subject: [PATCH 248/344] Adds NVG's to the outpost market (#3616) ## About The Pull Request Adds Night vision goggles to the outpost, for 1000 credits a pop. ## Why It's Good For The Game Currently as it is, night vision goggles are inaccessible player wise unless your ship spawned with them, or you had found RnD in one of the few ruins left behind with them. With this PR, it adds them to the outpost cargo, which allows players to buy them without such needs. Night vision goggles add to PvP a different field of combat with other hostile vessels, which include ambushes or as we have seen with a recent round, potential traps for the opposing side to fall into. Another aspect is their use in exploration and potential PvE encounters, like deep drills in caves or asteroids, or ruin exploration for ruins that either start with low/no power or have no functional lights for the explorers to see. ## Changelog :cl: add: Night vision goggles are now purchasable via the outpost for 1000 credits /:cl: --- code/modules/cargo/packs/exploration.dm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/code/modules/cargo/packs/exploration.dm b/code/modules/cargo/packs/exploration.dm index a350fd323146..3a02f59c9b7a 100644 --- a/code/modules/cargo/packs/exploration.dm +++ b/code/modules/cargo/packs/exploration.dm @@ -97,3 +97,11 @@ /obj/item/storage/box/flares, /obj/item/storage/box/flares, ) + +/datum/supply_pack/exploration/nvg + name = "Night Vision Goggles" + desc = "Contains a singular pair of Night Vision Goggles, for all your spelunking and military LARP occasions." + cost = 1000 + contains = list( + /obj/item/clothing/glasses/night + ) From 91286ebf11f39998c008313f727aca4579df8167 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 19 Nov 2024 19:26:24 -0500 Subject: [PATCH 249/344] Moves more fax things around (#3756) :cl: add: fax secret documents add: and space cash and biscuit folders. without /:cl: --- code/modules/paperwork/fax.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/paperwork/fax.dm b/code/modules/paperwork/fax.dm index 90fdeb79af9c..c0b137ca2300 100644 --- a/code/modules/paperwork/fax.dm +++ b/code/modules/paperwork/fax.dm @@ -34,6 +34,9 @@ /obj/item/paper, /obj/item/photo, /obj/item/holochip, + /obj/item/folder/biscuit, + /obj/item/spacecash, + /obj/item/documents, ) /// List of types which should be allowed to be faxed if hacked var/static/list/exotic_types = list( @@ -47,9 +50,7 @@ /obj/item/reagent_containers/food/snacks/raisincookie, /obj/item/reagent_containers/food/snacks/pancakes, /obj/item/throwing_star, - /obj/item/spacecash, /obj/item/card, - /obj/item/folder/biscuit ) /// Internal radio for announcing over comms var/obj/item/radio/radio From cf0312192b28503c08ead5ece0683fe0567388be Mon Sep 17 00:00:00 2001 From: fighterslam <56803762+fighterslam@users.noreply.github.com> Date: Tue, 19 Nov 2024 20:07:38 -0600 Subject: [PATCH 250/344] Ranger Minor Fixes (#3794) ## About The Pull Request My stupid ass messed up the access requirements on the armory, so I've fixed that in this PR and added the vigilitas gas masks that were brought to my attention. ## Why It's Good For The Game ## Changelog :cl: fix: fixes access on the ranger armory /:cl: --- .../shuttles/nanotrasen/nanotrasen_ranger.dmm | 97 ++++++++++++------- 1 file changed, 63 insertions(+), 34 deletions(-) diff --git a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm index 76847f40a3dc..b38ddeee9892 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm @@ -344,6 +344,11 @@ /obj/effect/turf_decal/techfloor{ dir = 1 }, +/obj/item/radio/weather_monitor{ + pixel_x = 25; + anchored = 1; + name = "barometric monitor" + }, /turf/open/floor/circuit/telecomms, /area/ship/science/ai_chamber) "cN" = ( @@ -463,9 +468,7 @@ }, /obj/effect/turf_decal/trimline/opaque/vired/arrow_ccw, /obj/machinery/light/dim/directional/north, -/turf/open/floor/plasteel/tech/techmaint{ - color = "#a8b2b6" - }, +/turf/open/floor/plasteel/tech, /area/ship/hallway/central) "dC" = ( /obj/effect/turf_decal/ntspaceworks_small/right, @@ -590,9 +593,7 @@ /obj/machinery/advanced_airlock_controller{ pixel_y = 24 }, -/turf/open/floor/plasteel/tech/techmaint{ - color = "#a8b2b6" - }, +/turf/open/floor/plasteel/tech, /area/ship/hallway/central) "eD" = ( /obj/machinery/power/apc/auto_name/directional/west, @@ -694,10 +695,10 @@ dir = 1 }, /obj/structure/platform/industrial{ - dir = 8 + dir = 4 }, /obj/structure/platform/industrial/corner{ - dir = 9 + dir = 8 }, /turf/open/floor/plasteel/dark, /area/ship/bridge) @@ -987,6 +988,7 @@ /obj/machinery/airalarm/directional/south, /obj/item/clothing/head/nanotrasen/beret/security/command, /obj/item/clothing/suit/armor/nanotrasen/sec_director, +/obj/item/clothing/under/nanotrasen/security/director, /turf/open/floor/wood, /area/ship/crew/dorm/captain) "hz" = ( @@ -1000,7 +1002,9 @@ /area/ship/crew/specialized/engineering) "hF" = ( /obj/machinery/light/dim/directional/north, -/obj/structure/closet/secure_closet/armorycage, +/obj/structure/closet/secure_closet/armorycage{ + req_access = list(1) + }, /obj/effect/turf_decal/industrial/fire, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 5 @@ -1402,7 +1406,7 @@ }, /obj/item/paper{ name = "NT Spaceworks Notice"; - default_raw_text = "Dear engineer, please bring your attention to the advanced control mechanisms present on and around this console. There is an external lighting switch to toggle the vessel's exterior lighting, highlighted in yellow, an aiar alarm connected to this console which controls external atmospherics fittings, and the console itself, which can read external atmosphere from a main sensor affixed to the port-side hull. -NT Spaceworks" + default_raw_text = "Dear engineer, please bring your attention to the advanced control mechanisms present on and around this console. There is an external lighting switch to toggle the vessel's exterior lighting, highlighted in yellow, an air alarm connected to this console which controls external atmospherics fittings, and the console itself, which can read external atmosphere from a main sensor affixed to the fore of the vessel. -NT Spaceworks" }, /turf/open/floor/plasteel/mono/dark, /area/ship/external/dark) @@ -2035,9 +2039,7 @@ /obj/effect/turf_decal/techfloor{ dir = 8 }, -/turf/open/floor/plasteel/tech/techmaint{ - color = "#a8b2b6" - }, +/turf/open/floor/plasteel/tech, /area/ship/hallway/central) "oq" = ( /obj/structure/cable/cyan{ @@ -2274,7 +2276,6 @@ /obj/machinery/camera/autoname{ dir = 1 }, -/obj/machinery/air_sensor/external, /obj/item/radio/intercom/directional/south, /obj/machinery/light/floor, /turf/open/floor/engine/hull, @@ -2636,9 +2637,7 @@ /obj/machinery/camera/autoname{ dir = 10 }, -/turf/open/floor/plasteel/tech/techmaint{ - color = "#a8b2b6" - }, +/turf/open/floor/plasteel/tech, /area/ship/hallway/central) "sJ" = ( /turf/closed/wall/mineral/titanium/nodiagonal, @@ -3432,6 +3431,7 @@ /obj/structure/cable{ icon_state = "4-8" }, +/obj/effect/decal/cleanable/plasma, /turf/open/floor/plasteel/tech, /area/ship/engineering/engines/port) "yf" = ( @@ -3661,7 +3661,8 @@ }, /obj/structure/filingcabinet/chestdrawer{ dir = 4; - pixel_x = -6 + pixel_x = -6; + density = 0 }, /obj/structure/cable{ icon_state = "4-8" @@ -3774,6 +3775,9 @@ }, /obj/structure/closet/cabinet, /obj/machinery/light/small/directional/south, +/obj/item/clothing/head/nanotrasen/cap/security, +/obj/item/clothing/under/nanotrasen/science, +/obj/item/clothing/under/nanotrasen/medical/paramedic, /turf/open/floor/plasteel/tech, /area/ship/crew/specialized/medical) "AF" = ( @@ -4172,9 +4176,7 @@ /obj/effect/turf_decal/techfloor{ dir = 8 }, -/turf/open/floor/plasteel/tech/techmaint{ - color = "#a8b2b6" - }, +/turf/open/floor/plasteel/tech, /area/ship/hallway/central) "CW" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -4431,6 +4433,10 @@ }, /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/storage/ration/cheese_pizza_slice, +/obj/item/storage/ration/pepperoni_pizza_slice, /turf/open/floor/plasteel/tech, /area/ship/cargo) "EE" = ( @@ -5525,6 +5531,8 @@ pixel_y = -10 }, /obj/item/clothing/suit/hooded/wintercoat, +/obj/item/storage/backpack/duffelbag, +/obj/item/storage/backpack/duffelbag, /turf/open/floor/plasteel/tech, /area/ship/engineering/engines/starboard) "MR" = ( @@ -5902,6 +5910,13 @@ }, /turf/open/floor/plasteel/dark, /area/ship/hallway/central) +"Pa" = ( +/obj/structure/catwalk/over/plated_catwalk/dark{ + name = "sensor protection plate" + }, +/obj/machinery/air_sensor/external, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/external/dark) "Pd" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -5972,6 +5987,11 @@ /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos, /obj/machinery/airalarm/directional/north, /obj/machinery/light/small/directional/west, +/obj/item/clothing/head/nanotrasen/cap/security, +/obj/item/clothing/under/nanotrasen/science/robotics, +/obj/item/clothing/under/nanotrasen/engineering, +/obj/item/clothing/under/nanotrasen/engineering/atmos, +/obj/item/clothing/under/nanotrasen/engineering/director, /turf/open/floor/wood, /area/ship/crew/specialized/engineering) "PG" = ( @@ -6040,6 +6060,8 @@ /obj/machinery/camera/autoname{ dir = 6 }, +/obj/item/clothing/under/nanotrasen/supply, +/obj/item/clothing/under/nanotrasen/supply/miner, /turf/open/floor/plasteel/tech, /area/ship/crew/specialized/cargo) "PR" = ( @@ -6126,7 +6148,9 @@ /turf/open/floor/engine/hull, /area/ship/external/dark) "Rn" = ( -/obj/structure/closet/secure_closet/armorycage, +/obj/structure/closet/secure_closet/armorycage{ + req_access = list(1) + }, /obj/effect/turf_decal/industrial/fire, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 9 @@ -6147,14 +6171,6 @@ pixel_x = -1; pixel_y = 9 }, -/obj/item/clothing/mask/gas/sechailer{ - pixel_x = -10; - pixel_y = -14 - }, -/obj/item/clothing/mask/gas/sechailer{ - pixel_x = -1; - pixel_y = -14 - }, /obj/item/flashlight/seclite{ pixel_x = 5; pixel_y = 4 @@ -6169,6 +6185,18 @@ pixel_x = 5; pixel_y = -11 }, +/obj/item/clothing/mask/gas/vigilitas, +/obj/item/clothing/mask/gas/vigilitas, +/obj/item/clothing/mask/gas/sechailer{ + pixel_x = -1; + pixel_y = -14; + name = "half-mask respirator" + }, +/obj/item/clothing/mask/gas/sechailer{ + pixel_x = -1; + pixel_y = -14; + name = "half-mask respirator" + }, /turf/open/floor/plasteel/tech, /area/ship/storage/equip) "Ro" = ( @@ -6200,9 +6228,7 @@ /obj/effect/turf_decal/techfloor{ dir = 4 }, -/turf/open/floor/plasteel/tech/techmaint{ - color = "#a8b2b6" - }, +/turf/open/floor/plasteel/tech, /area/ship/hallway/central) "RM" = ( /obj/structure/chair/sofa/brown/left/directional/west, @@ -6893,6 +6919,7 @@ /obj/item/clothing/shoes/sneakers/black{ pixel_y = -10 }, +/obj/item/clothing/suit/hooded/wintercoat, /turf/open/floor/plasteel/dark, /area/ship/crew/cryo) "XL" = ( @@ -7203,6 +7230,8 @@ /obj/machinery/firealarm/directional/west, /obj/item/clothing/head/nanotrasen/beret/security, /obj/item/clothing/head/nanotrasen/cap/security, +/obj/item/clothing/under/nanotrasen/security, +/obj/item/clothing/under/nanotrasen/security/director, /turf/open/floor/plasteel/tech, /area/ship/crew/specialized/security) "Zw" = ( @@ -8627,7 +8656,7 @@ zW zW zW zW -wq +Pa zW Lk LU From 391d6bd1f718e26f193c4746bc9f590dd23d90a5 Mon Sep 17 00:00:00 2001 From: Mark Suckerberg Date: Tue, 19 Nov 2024 23:16:25 -0600 Subject: [PATCH 251/344] Auxmos update and potential fix (incredibly mergeable) (#3764) ## About The Pull Request Updates to the latest version of auxmos, and switches (temporarily) to a branch with a fix I added to auxmos to potentially stop the runtimes we're getting. Here's hoping at least ## Why It's Good For The Game These runtimes are the bane of everyone ## Changelog :cl: /:cl: --- auxmos.dll | Bin 715776 -> 772096 bytes code/__HELPERS/bindings.dm | 67 +++++++++++++++++- code/controllers/subsystem/air.dm | 2 + code/game/objects/effects/turf_fire.dm | 25 ++++--- code/game/turfs/open/_open.dm | 2 +- code/game/turfs/turf.dm | 2 +- .../environmental/LINDA_turf_tile.dm | 6 +- .../atmospherics/gasmixtures/gas_mixture.dm | 2 - dependencies.sh | 4 +- tools/ci/build_auxmos.sh | 4 +- tools/tgs_scripts/PreCompile.sh | 2 +- 11 files changed, 92 insertions(+), 24 deletions(-) diff --git a/auxmos.dll b/auxmos.dll index 0df77c97b287407c45b572918ffeb8fa3e34810b..ae9b9dbf52947e32e84ee0538822194c0a71d0eb 100644 GIT binary patch literal 772096 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�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 D>gtl5 From 54e39bc239849fd9e2bc1d96092f2d8241429a8e Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Fri, 15 Nov 2024 04:05:21 -0500 Subject: [PATCH 219/344] Crate Shelf Tweaks (#3560) ## About The Pull Request Mapped crate shelves now start at a height of 2. You can build them to a max height of 4 Constructed crate shelves start at 1 crate and need to be built up You can now add shelves to crate shelves (with metal) ## Why It's Good For The Game it's not, honestly. i think this change is going to be the death of the game. for pr after pr i've made nothing but hastily produced shitcode changes to a game that used to be soulful and thriving, stripping out the identity of what's made it so interesting to people. this is where it comes full circle. im sorry for doing this. but it had to be done. ## Changelog :cl: add: You can now add shelves to crate racks /:cl: --------- Co-authored-by: Erika Fox <94164348+Bjarl@users.noreply.github.com> Co-authored-by: Sun-Soaked <45698967+Sun-Soaked@users.noreply.github.com> --- code/game/objects/structures/crateshelf.dm | 37 ++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/code/game/objects/structures/crateshelf.dm b/code/game/objects/structures/crateshelf.dm index 0bf1cfa64c4f..a637829bd2c2 100644 --- a/code/game/objects/structures/crateshelf.dm +++ b/code/game/objects/structures/crateshelf.dm @@ -1,4 +1,5 @@ #define DEFAULT_SHELF_CAPACITY 3 // Default capacity of the shelf +#define DEFAULT_SHELF_MAX_CAPACITY 4 #define DEFAULT_SHELF_USE_DELAY 1 SECONDS // Default interaction delay of the shelf #define DEFAULT_SHELF_VERTICAL_OFFSET 10 // Vertical pixel offset of shelving-related things. Set to 10 by default due to this leaving more of the crate on-screen to be clicked. @@ -12,9 +13,13 @@ max_integrity = 50 // Not hard to break var/capacity = DEFAULT_SHELF_CAPACITY + var/max_capacity = DEFAULT_SHELF_MAX_CAPACITY var/use_delay = DEFAULT_SHELF_USE_DELAY var/list/shelf_contents +/obj/structure/crate_shelf/built + capacity = 1 + /obj/structure/crate_shelf/debug capacity = 12 @@ -47,12 +52,40 @@ for(var/obj/structure/closet/crate/crate in shelf_contents) . += " [icon2html(crate, user)] [crate]" +/obj/structure/crate_shelf/proc/add_shelf(num) + if(capacity + num > max_capacity) + return FALSE + var/stack_layer // This is used to generate the sprite layering of the shelf pieces. + var/stack_offset // This is used to generate the vertical offset of the shelf pieces. + var/prev_capacity = capacity + capacity += num + shelf_contents.len = capacity + for(var/i in prev_capacity to (capacity - 1)) + if(i >= 3) // If we're at or above three, we'll be on the way to going off the tile we're on. This allows mobs to be below the shelf when this happens. + stack_layer = ABOVE_MOB_LAYER + (0.02 * i) - 0.01 + else + stack_layer = BELOW_OBJ_LAYER + (0.02 * i) - 0.01 // Make each shelf piece render above the last, but below the crate that should be on it. + stack_offset = DEFAULT_SHELF_VERTICAL_OFFSET * i // Make each shelf piece physically above the last. + overlays += image(icon = 'icons/obj/objects.dmi', icon_state = "shelf_stack", layer = stack_layer, pixel_y = stack_offset) + /obj/structure/crate_shelf/attackby(obj/item/item, mob/living/user, params) if (item.tool_behaviour == TOOL_WRENCH && !(flags_1&NODECONSTRUCT_1)) item.play_tool_sound(src) - if(do_after(user, 3 SECONDS, target = src)) + if(do_after(user, 3 SECONDS, src)) deconstruct(TRUE) return TRUE + if(istype(item, /obj/item/stack/sheet/metal)) + if(capacity < max_capacity) + var/obj/item/stack/sheet/metal/our_sheet = item + if(our_sheet.get_amount() >= 2) + balloon_alert(user, "adding additional shelf to rack") + if(do_after(user, 3 SECONDS, src)) + add_shelf(1) + our_sheet.add(-2) + return TRUE + to_chat(user, span_notice("Adding a shelf to [src] requires more metal.")) + return FALSE + to_chat(user, span_notice("[src] cannot be built any higher!")) return ..() /obj/structure/crate_shelf/relay_container_resist_act(mob/living/user, obj/structure/closet/crate) @@ -143,4 +176,4 @@ /obj/item/rack_parts/shelf name = "crate shelf parts" desc = "Parts of a shelf." - construction_type = /obj/structure/crate_shelf + construction_type = /obj/structure/crate_shelf/built From 61dfbf63ee451167a0a06e46239a0cd6f9c30796 Mon Sep 17 00:00:00 2001 From: Apogee-dev <60533805+Apogee-dev@users.noreply.github.com> Date: Fri, 15 Nov 2024 07:21:18 -0800 Subject: [PATCH 220/344] Massively rebalances combat exosuit durability (#3351) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## About The Pull Request Numbers are very, VERY subject to change as this gets tested. In fact, they’re almost guaranteed to need tuning. ### Combat exos have dramatically buffed armor across the board. Gygax now has armor equivalent to a bulletproof vest; Durand has armor comparable to a marine vest. In general, this means that weapons with neutral or higher AP are necessary to deal more than chip damage to either exosuit, especially the Durand, but high-penetrating weapons such as DMRs or hard counters like EMPs and explosions are still just as effective as before. ### To compensate, repairs are now less efficient and slower. Repairs for all exosuits, when using a welder, now take a short do_after to complete, meaning you can't mash LMB to repair. Combat exos additionally have a repair multiplier that means repairs of all sorts heal less damage while still consuming the same amount of fuel or battery and time. Gygaxes have a 25% penalty to repair value and Durands have a 50% penalty. ### Civilian exo durability is unchanged. Outside of the slower welder repairs, civilian exos haven't been touched; Combat Ripleys are just as useful as before, they just shouldn't feel more durable than a Gygax anymore. Also I gave the Paladin higher melee armor and lower bullet armor so it isn't just a palette-swapped Durand. ## Why It's Good For The Game The fact that the most efficient way to kill combat exos is buckshot is just plain silly; Exosuits aren't tanks, but they're still supposed to be heavily armored and require bigger guns to crack. This change hopefully makes that the case without making exos too much harder to kill when you have the right tools. Pretty much everybody has access to a decent anti-exo weapon at low cost in the form of the Illestren, and bomb damage such as that dealt by a KA is still as efficient as it used to be, so even the poorest crews shouldn't be completely bereft of tools to deal with them. ## Changelog :cl: balance: Massively buffed combat exosuit armor balance: Made repairing exosuits with a welder a do_after balance: Combat exosuits get less healing from repairs balance: The Paladin now has higher melee armor and lower bullet armor than the Durand /:cl: --------- Co-authored-by: Sun-Soaked <45698967+Sun-Soaked@users.noreply.github.com> --- code/game/mecha/combat/combat.dm | 3 ++- code/game/mecha/combat/durand.dm | 14 +++++++----- code/game/mecha/combat/gygax.dm | 16 +++----------- code/game/mecha/combat/marauder.dm | 10 ++++----- .../game/mecha/equipment/tools/other_tools.dm | 22 ++++++++++++++----- code/game/mecha/mecha.dm | 1 + code/game/mecha/mecha_defense.dm | 12 +++++----- 7 files changed, 43 insertions(+), 35 deletions(-) diff --git a/code/game/mecha/combat/combat.dm b/code/game/mecha/combat/combat.dm index 0ebc11b39558..04f3272cce1b 100644 --- a/code/game/mecha/combat/combat.dm +++ b/code/game/mecha/combat/combat.dm @@ -2,10 +2,11 @@ force = 30 internals_req_access = list(ACCESS_MECH_SCIENCE, ACCESS_MECH_SECURITY) internal_damage_threshold = 50 - armor = list("melee" = 30, "bullet" = 30, "laser" = 15, "energy" = 20, "bomb" = 20, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) + armor = list("melee" = 40, "bullet" = 50, "laser" = 30, "energy" = 20, "bomb" = 20, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) mouse_pointer = 'icons/effects/mouse_pointers/mecha_mouse.dmi' destruction_sleep_duration = 40 exit_delay = 40 + repair_multiplier = 0.75 /obj/mecha/combat/restore_equipment() mouse_pointer = 'icons/effects/mouse_pointers/mecha_mouse.dmi' diff --git a/code/game/mecha/combat/durand.dm b/code/game/mecha/combat/durand.dm index a42e1e29f7ee..3e47ebe80e7c 100644 --- a/code/game/mecha/combat/durand.dm +++ b/code/game/mecha/combat/durand.dm @@ -1,12 +1,13 @@ /obj/mecha/combat/durand - desc = "An aging combat exosuit utilized by the Nanotrasen corporation. Originally developed to combat hostile alien lifeforms." + desc = "An aging and extremely well-armored combat exosuit utilized by the Nanotrasen corporation. Originally developed to combat hostile alien lifeforms." name = "\improper Durand" icon_state = "durand" step_in = 4 dir_in = 1 //Facing North. - max_integrity = 400 - deflect_chance = 20 - armor = list("melee" = 40, "bullet" = 35, "laser" = 15, "energy" = 10, "bomb" = 20, "bio" = 0, "rad" = 50, "fire" = 100, "acid" = 100) + max_integrity = 300 + deflect_chance = 15 + repair_multiplier = 0.5 + armor = list("melee" = 50, "bullet" = 75, "laser" = 50, "energy" = 10, "bomb" = 20, "bio" = 0, "rad" = 50, "fire" = 100, "acid" = 100) max_temperature = 30000 infra_luminosity = 8 force = 40 @@ -18,11 +19,12 @@ /obj/mecha/combat/durand/clip - desc = "An aging combat exosuit appropriated from abandoned Nanotrasen facilities, now supplied to the CMM-BARD anti-xenofauna division. The defence grid has been modified to disperse controlled electric shocks on contact, at the cost of its ability to block ranged projectiles." + desc = "An aging combat exosuit specially modified for the CMM-BARD anti-xenofauna division. Features improved close-combat armor and a modified defence grid able to electrocute melee attackers, at the cost of its ability to block projectiles." name = "\improper Paladin" icon_state = "clipdurand" + armor = list("melee" = 75, "bullet" = 50, "laser" = 50, "energy" = 10, "bomb" = 20, "bio" = 0, "rad" = 50, "fire" = 100, "acid" = 100) + deflect_chance = 20 wreckage = /obj/structure/mecha_wreckage/durand/clip - armor = list("melee" = 40, "bullet" = 35, "laser" = 15, "energy" = 10, "bomb" = 20, "bio" = 0, "rad" = 50, "fire" = 100, "acid" = 100) shield_passive_drain = 0 shield_type = /obj/durand_shield/clip diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm index 02f66b54236a..a22a8dd4706d 100644 --- a/code/game/mecha/combat/gygax.dm +++ b/code/game/mecha/combat/gygax.dm @@ -4,9 +4,9 @@ icon_state = "gygax" step_in = 3 dir_in = 1 //Facing North. - max_integrity = 250 + max_integrity = 300 deflect_chance = 5 - armor = list("melee" = 25, "bullet" = 20, "laser" = 30, "energy" = 15, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) + armor = list("melee" = 40, "bullet" = 60, "laser" = 40, "energy" = 15, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) max_temperature = 25000 leg_overload_coeff = 80 infra_luminosity = 6 @@ -22,20 +22,10 @@ mechstep(direction) //agile mechs get to move and turn in the same step /obj/mecha/combat/gygax/dark - desc = "A lightweight exosuit, painted in a dark scheme. This model appears to have some modifications." + desc = "A lightweight exosuit, painted in a dark scheme." name = "\improper Dark Gygax" icon_state = "darkgygax" - max_integrity = 300 - deflect_chance = 20 - armor = list("melee" = 40, "bullet" = 40, "laser" = 50, "energy" = 35, "bomb" = 20, "bio" = 0, "rad" =20, "fire" = 100, "acid" = 100) - max_temperature = 35000 - leg_overload_coeff = 70 - force = 30 - operation_req_access = list(ACCESS_SYNDICATE) - internals_req_access = list(ACCESS_SYNDICATE) wreckage = /obj/structure/mecha_wreckage/gygax/dark - max_equip = 5 - destruction_sleep_duration = 20 /obj/mecha/combat/gygax/dark/loaded/Initialize() . = ..() diff --git a/code/game/mecha/combat/marauder.dm b/code/game/mecha/combat/marauder.dm index 825d5e24a1b8..b35cc1e370ff 100644 --- a/code/game/mecha/combat/marauder.dm +++ b/code/game/mecha/combat/marauder.dm @@ -1,11 +1,11 @@ /obj/mecha/combat/marauder - desc = "Heavy-duty, combat exosuit, developed after the Durand model. Rarely found among civilian populations." + desc = "A heavy-duty combat exosuit that improves on the Durand model in nearly every way. Rarely found among civilian populations." name = "\improper Marauder" icon_state = "marauder" step_in = 5 - max_integrity = 500 - deflect_chance = 25 - armor = list("melee" = 50, "bullet" = 55, "laser" = 40, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 60, "fire" = 100, "acid" = 100) + max_integrity = 400 + deflect_chance = 20 + armor = list("melee" = 50, "bullet" = 75, "laser" = 50, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 60, "fire" = 100, "acid" = 100) max_temperature = 60000 resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF infra_luminosity = 3 @@ -43,7 +43,7 @@ max_ammo() /obj/mecha/combat/marauder/seraph - desc = "Heavy-duty, command-type exosuit. This is a custom model, utilized only by high-ranking military personnel." + desc = "A heavy-duty command-type exosuit. This is a custom model, utilized only by high-ranking military personnel." name = "\improper Seraph" icon_state = "seraph" operation_req_access = list(ACCESS_CENT_SPECOPS) diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm index 1b33de31b54e..d7cc256302bc 100644 --- a/code/game/mecha/equipment/tools/other_tools.dm +++ b/code/game/mecha/equipment/tools/other_tools.dm @@ -151,8 +151,8 @@ /obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster //what is that noise? A BAWWW from TK mutants. - name = "armor booster module (Close Combat Weaponry)" - desc = "Boosts exosuit armor against armed melee attacks. Requires energy to operate." + name = "applique armor (Close Combat Weaponry)" + desc = "Applique armor to protect civilian exosuits against armed melee attacks. Requires energy to operate. Cannot equip to combat mechs." icon_state = "mecha_abooster_ccw" equip_cooldown = 10 energy_drain = 50 @@ -166,11 +166,17 @@ start_cooldown() return 1 +/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/can_attach(obj/mecha/M) + if(!..()) + return FALSE + if(istype(M, /obj/mecha/working)) + return TRUE + return FALSE /obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster - name = "armor booster module (Ranged Weaponry)" - desc = "Boosts exosuit armor against ranged attacks. Completely blocks taser shots. Requires energy to operate." + name = "applique armor (Ranged Weaponry)" + desc = "Applique armor to protect civilian exosuits against ranged attacks. Completely blocks taser shots. Requires energy to operate. Cannot equip to combat mechs." icon_state = "mecha_abooster_proj" equip_cooldown = 10 energy_drain = 50 @@ -184,6 +190,12 @@ start_cooldown() return 1 +/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/can_attach(obj/mecha/M) + if(!..()) + return FALSE + if(istype(M, /obj/mecha/working)) + return TRUE + return FALSE ////////////////////////////////// REPAIR DROID ////////////////////////////////////////////////// @@ -244,7 +256,7 @@ STOP_PROCESSING(SSobj, src) set_ready_state(1) return - var/h_boost = health_boost + var/h_boost = health_boost * chassis.repair_multiplier var/repaired = 0 if(chassis.internal_damage & MECHA_INT_SHORT_CIRCUIT) h_boost *= -2 diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index eba4801ba56d..11c8003de4ae 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -13,6 +13,7 @@ light_power = 0.8 light_range = 6 light_on = FALSE + var/repair_multiplier = 1 //multiply incoming repairs by this value. used to make some mechs less efficient and slower to repair. var/ruin_mecha = FALSE //if the mecha starts on a ruin, don't automatically give it a tracking beacon to prevent metagaming. var/can_move = 0 //time of next allowed movement var/stopped = FALSE diff --git a/code/game/mecha/mecha_defense.dm b/code/game/mecha/mecha_defense.dm index b6c72134456d..dd65c6c499ca 100644 --- a/code/game/mecha/mecha_defense.dm +++ b/code/game/mecha/mecha_defense.dm @@ -298,17 +298,19 @@ if(!W.use_tool(src, user, 0, volume=50, amount=1)) return clearInternalDamage(MECHA_INT_TANK_BREACH) - to_chat(user, "You repair the damaged gas tank.") + to_chat(user, span_notice("You repair the damaged gas tank.")) return if(obj_integrity < max_integrity) + if(!do_after(user, 20, target= src)) + return if(!W.use_tool(src, user, 0, volume=50, amount=1)) return - user.visible_message("[user] repairs some damage to [name].", "You repair some damage to [src].") - obj_integrity += min(10, max_integrity-obj_integrity) + user.visible_message(span_notice("[user] repairs some damage to [name]."), span_notice("You repair some damage to [src].")) + obj_integrity += min(10 * repair_multiplier, max_integrity-obj_integrity) if(obj_integrity == max_integrity) - to_chat(user, "It looks to be fully repaired now.") + to_chat(user, span_notice("It looks to be fully repaired now.")) return - to_chat(user, "The [name] is at full integrity!") + to_chat(user, span_warning("The [name] is at full integrity!")) /obj/mecha/proc/mech_toxin_damage(mob/living/target) playsound(src, 'sound/effects/spray2.ogg', 50, TRUE) From 3471a72e8634efe3e86b49e6d38455bdfd1dc6ac Mon Sep 17 00:00:00 2001 From: Sadhorizon <108196626+Sadhorizon@users.noreply.github.com> Date: Fri, 15 Nov 2024 21:31:31 +0100 Subject: [PATCH 221/344] E-11 ruin fix (#3725) ## About The Pull Request It shouldn't be dark anymore. ~~I'll test tomorrow if it actually isn't.~~ It is not. ## Changelog :cl: fix: E-11 Manufactory ruin is no longer dark. /:cl: --- .../whitesands_surface_e11_manufactory.dmm | 560 +++++++++--------- 1 file changed, 280 insertions(+), 280 deletions(-) diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_e11_manufactory.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_e11_manufactory.dmm index de8c8a6e044f..94e21aa23134 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_surface_e11_manufactory.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_surface_e11_manufactory.dmm @@ -31,7 +31,7 @@ /obj/effect/turf_decal/weather/whitesands/corner{ dir = 8 }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "av" = ( /obj/machinery/door/airlock/external, @@ -75,7 +75,7 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "aF" = ( /obj/effect/turf_decal/corner/opaque/green/diagonal, @@ -133,7 +133,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 4 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "aU" = ( /obj/structure/marker_beacon{ @@ -165,13 +165,13 @@ dir = 8 }, /obj/effect/turf_decal/industrial/warning, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "bd" = ( /obj/machinery/power/tracker, /obj/effect/turf_decal/solarpanel, /obj/structure/cable/yellow, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "bf" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -196,7 +196,7 @@ /obj/item/restraints/legcuffs/beartrap{ armed = 1 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "bk" = ( /obj/machinery/door/airlock/external{ @@ -260,7 +260,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 10 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "bB" = ( /obj/structure/chair, @@ -287,7 +287,7 @@ /obj/structure/cable/yellow{ icon_state = "2-4" }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "bM" = ( /obj/structure/bed, @@ -354,7 +354,7 @@ "ch" = ( /obj/effect/decal/cleanable/dirt/dust, /mob/living/simple_animal/hostile/human/hermit/ranged/e11, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "cm" = ( /obj/effect/decal/remains/xeno/larva{ @@ -402,7 +402,7 @@ /obj/effect/turf_decal/industrial/warning/corner{ dir = 8 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "cx" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -426,7 +426,7 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "cK" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -455,7 +455,7 @@ id = "e11_manufactory_warehouse_holofield" }, /obj/effect/turf_decal/industrial/warning/corner, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/ruin/whitesands/e11manufactory/warehouse) "cN" = ( /obj/structure/closet/crate/secure/weapon{ @@ -480,11 +480,11 @@ "cR" = ( /obj/effect/turf_decal/industrial/warning/corner, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "dc" = ( /obj/item/shard, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "dg" = ( /obj/structure/chair/stool{ @@ -513,7 +513,7 @@ /area/ruin/whitesands/e11manufactory) "do" = ( /obj/effect/turf_decal/industrial/warning, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "dw" = ( /obj/structure/chair{ @@ -525,7 +525,7 @@ /area/ruin/whitesands/e11manufactory/barracks) "dz" = ( /obj/structure/railing, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "dA" = ( /obj/structure/flora/tree/dead/barren, @@ -553,7 +553,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 8 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "dP" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ @@ -569,7 +569,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 9 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "dX" = ( /obj/effect/turf_decal/industrial/warning{ @@ -601,7 +601,7 @@ /obj/structure/cable/yellow{ icon_state = "0-2" }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "eg" = ( /obj/effect/turf_decal/industrial/warning{ @@ -634,7 +634,7 @@ /obj/effect/turf_decal/weather/whitesands/corner{ dir = 1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "et" = ( /obj/structure/table, @@ -659,7 +659,7 @@ dir = 4 }, /obj/structure/reagent_dispensers/watertank/high, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "eG" = ( /obj/structure/fence{ @@ -668,7 +668,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 9 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "eM" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -695,14 +695,14 @@ /obj/effect/turf_decal/industrial/warning/corner{ dir = 4 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "eV" = ( /obj/structure/railing/corner{ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "fr" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -710,7 +710,7 @@ icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "fs" = ( /obj/structure/closet{ @@ -739,7 +739,7 @@ /obj/structure/cable/yellow{ icon_state = "0-2" }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "fu" = ( /obj/effect/turf_decal/corner/opaque/green/diagonal, @@ -753,7 +753,7 @@ /obj/structure/marker_beacon{ picked_color = "Cerulean" }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "fA" = ( /obj/machinery/power/tracker, @@ -764,7 +764,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "fJ" = ( /obj/structure/fence/cut/large{ @@ -773,7 +773,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 5 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "fM" = ( /obj/effect/decal/cleanable/dirt, @@ -783,7 +783,7 @@ /obj/structure/fence{ dir = 4 }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "fY" = ( /obj/effect/decal/cleanable/cobweb, @@ -805,7 +805,7 @@ /area/ruin/whitesands/e11manufactory/barracks) "gc" = ( /obj/structure/mecha_wreckage/ripley, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "gi" = ( /obj/effect/turf_decal/industrial/warning{ @@ -825,7 +825,7 @@ icon_state = "1-4" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "gt" = ( /obj/effect/turf_decal/road{ @@ -835,7 +835,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "gv" = ( /obj/effect/decal/cleanable/dirt, @@ -850,7 +850,7 @@ /obj/structure/railing{ dir = 1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "gG" = ( /obj/effect/spawner/random/maintenance, @@ -862,7 +862,7 @@ /obj/machinery/atmospherics/components/unary/passive_vent/layer4{ dir = 4 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "gM" = ( /turf/closed/wall/concrete, @@ -880,16 +880,16 @@ /turf/open/floor/plasteel/mono, /area/ruin/whitesands/e11manufactory/barracks) "gU" = ( -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "gV" = ( /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "hb" = ( /mob/living/simple_animal/hostile/human/hermit/ranged/e11, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "he" = ( /obj/machinery/conveyor{ @@ -906,7 +906,7 @@ /obj/structure/cable/yellow{ icon_state = "6-9" }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "hk" = ( /obj/machinery/door/airlock/external{ @@ -941,7 +941,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "hq" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -984,7 +984,7 @@ /area/ruin/whitesands/e11manufactory/office) "hw" = ( /obj/item/stack/ore/salvage/scrapmetal, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "hz" = ( /obj/structure/table/reinforced, @@ -1028,11 +1028,11 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "hI" = ( /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "hS" = ( /obj/structure/flora/ash/puce, @@ -1045,7 +1045,7 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "hY" = ( /turf/open/floor/concrete/slab_4{ @@ -1065,7 +1065,7 @@ }, /obj/effect/turf_decal/industrial/warning, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "ie" = ( /obj/structure/catwalk/over/plated_catwalk, @@ -1093,13 +1093,13 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "ir" = ( /obj/structure/railing{ dir = 1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "is" = ( /obj/structure/sign/poster/official/work_for_a_future{ @@ -1113,7 +1113,7 @@ /area/ruin/whitesands/e11manufactory/mats) "iu" = ( /obj/effect/turf_decal/weather/whitesands/corner, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "ix" = ( /obj/structure/flora/ash/garden/arid, @@ -1142,13 +1142,13 @@ /obj/effect/turf_decal/weather/whitesands/corner{ dir = 1 }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "iL" = ( /obj/effect/turf_decal/weather/whitesands{ dir = 5 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "iM" = ( /obj/structure/closet/crate/secure/plasma{ @@ -1241,7 +1241,7 @@ /obj/structure/chair/office{ dir = 4 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "jD" = ( /obj/structure/sign/poster/contraband/missing_gloves{ @@ -1371,7 +1371,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "kr" = ( /turf/closed/wall/rust/yesdiag, @@ -1380,7 +1380,7 @@ /obj/structure/cable/yellow{ icon_state = "2-4" }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "kt" = ( /obj/machinery/conveyor, @@ -1391,7 +1391,7 @@ max_integrity = 70; dir = 4 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "kA" = ( /obj/effect/turf_decal/road{ @@ -1404,7 +1404,7 @@ /obj/item/restraints/legcuffs/beartrap{ armed = 1 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "kB" = ( /obj/effect/turf_decal/corner/opaque/purple/diagonal, @@ -1461,7 +1461,7 @@ /obj/effect/turf_decal/industrial/warning/corner{ dir = 8 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "le" = ( /obj/structure/cable/yellow{ @@ -1470,7 +1470,7 @@ /obj/effect/turf_decal/weather/whitesands/corner{ dir = 1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "lh" = ( /obj/item/solar_assembly, @@ -1482,7 +1482,7 @@ /obj/structure/cable/yellow{ icon_state = "1-6" }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "ln" = ( /obj/structure/table/glass, @@ -1542,7 +1542,7 @@ /obj/structure/cable/yellow{ icon_state = "1-8" }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "lF" = ( /obj/effect/turf_decal/industrial/loading{ @@ -1558,7 +1558,7 @@ }, /obj/effect/turf_decal/industrial/warning, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "lT" = ( /obj/structure/fence{ @@ -1567,7 +1567,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 6 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "lV" = ( /obj/structure/closet/crate/secure/weapon{ @@ -1585,13 +1585,13 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 9 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "ma" = ( /obj/structure/railing{ dir = 8 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "mc" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -1613,7 +1613,7 @@ /obj/effect/turf_decal/industrial/warning/corner{ dir = 8 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "mk" = ( /obj/structure/table, @@ -1629,7 +1629,7 @@ pixel_x = 7; pixel_y = -1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "mm" = ( /obj/effect/turf_decal/box/corners, @@ -1693,7 +1693,7 @@ /obj/effect/turf_decal/solarpanel, /obj/structure/cable/yellow, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "mM" = ( /turf/template_noop, @@ -1702,7 +1702,7 @@ /obj/effect/turf_decal/road/slow{ dir = 8 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "mV" = ( /obj/structure/table/reinforced, @@ -1798,7 +1798,7 @@ icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "nw" = ( /obj/effect/turf_decal/road{ @@ -1810,14 +1810,14 @@ /obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "nA" = ( /obj/machinery/power/smes/engineering, /obj/structure/cable/orange{ icon_state = "0-10" }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "nE" = ( /obj/structure/fence{ @@ -1826,7 +1826,7 @@ /obj/effect/turf_decal/weather/whitesands/corner{ dir = 8 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "nG" = ( /obj/effect/turf_decal/road{ @@ -1875,7 +1875,7 @@ color = "#FFFFFF" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "og" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -1900,7 +1900,7 @@ "on" = ( /obj/effect/decal/cleanable/molten_object, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "op" = ( /obj/structure/chair/stool/bar{ @@ -1926,7 +1926,7 @@ "ox" = ( /obj/item/stack/ore/salvage/scrapmetal, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "oy" = ( /obj/structure/catwalk/over/plated_catwalk, @@ -1949,7 +1949,7 @@ /obj/structure/cable/orange{ icon_state = "4-8" }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "oE" = ( /obj/structure/fence{ @@ -1958,7 +1958,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 6 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "oJ" = ( /obj/effect/turf_decal/industrial/warning{ @@ -2004,7 +2004,7 @@ /area/ruin/whitesands/e11manufactory) "oS" = ( /obj/effect/decal/cleanable/greenglow, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "oX" = ( /obj/effect/turf_decal/corner/opaque/purple/diagonal, @@ -2021,7 +2021,7 @@ /area/ruin/whitesands/e11manufactory/barracks) "pb" = ( /obj/structure/fence/end, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "pf" = ( /obj/effect/spawner/structure/window/reinforced, @@ -2034,7 +2034,7 @@ /obj/structure/cable/yellow{ icon_state = "0-2" }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "pu" = ( /obj/structure/table, @@ -2051,7 +2051,7 @@ /obj/effect/turf_decal/weather/whitesands/corner{ dir = 4 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "pE" = ( /turf/closed/wall/rust/yesdiag, @@ -2121,7 +2121,7 @@ /area/ruin/whitesands/e11manufactory/barracks) "qi" = ( /obj/effect/turf_decal/weather/whitesands/corner, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "qj" = ( /obj/machinery/power/solar, @@ -2132,7 +2132,7 @@ /obj/structure/cable/yellow{ icon_state = "0-10" }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "qm" = ( /obj/structure/filingcabinet{ @@ -2161,7 +2161,7 @@ /obj/effect/turf_decal/weather/whitesands/corner{ dir = 4 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "qu" = ( /obj/structure/cable/yellow{ @@ -2173,7 +2173,7 @@ /obj/structure/cable/yellow{ icon_state = "0-10" }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "qx" = ( /turf/open/floor/plasteel/mono, @@ -2209,7 +2209,7 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "qH" = ( /obj/effect/turf_decal/industrial/warning{ @@ -2227,7 +2227,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 10 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "qN" = ( /obj/machinery/door/airlock/external{ @@ -2252,7 +2252,7 @@ /mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ faction = list("eoehoma") }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "rb" = ( /turf/closed/wall/rust/yesdiag, @@ -2262,7 +2262,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "rg" = ( /obj/machinery/power/solar, @@ -2273,7 +2273,7 @@ /obj/structure/cable/yellow{ icon_state = "0-2" }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "rj" = ( /obj/effect/decal/cleanable/dirt, @@ -2290,14 +2290,14 @@ /area/ruin/whitesands/e11manufactory) "rx" = ( /obj/effect/decal/cleanable/glass, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "ry" = ( /obj/structure/cable/yellow{ icon_state = "4-8" }, /obj/effect/turf_decal/weather/whitesands/corner, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "rB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -2322,14 +2322,14 @@ /obj/effect/turf_decal/industrial/caution{ dir = 8 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "rP" = ( /obj/effect/turf_decal/road{ dir = 8 }, /obj/effect/turf_decal/industrial/warning, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "rQ" = ( /obj/structure/closet/crate{ @@ -2370,7 +2370,7 @@ pixel_x = -3; layer = 2.99 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "rU" = ( /obj/structure/closet/crate/secure/weapon{ @@ -2396,7 +2396,7 @@ /obj/structure/cable/yellow{ icon_state = "1-4" }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "sc" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -2458,7 +2458,7 @@ "sB" = ( /obj/structure/railing/corner, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "sG" = ( /obj/effect/turf_decal/industrial/warning{ @@ -2476,7 +2476,7 @@ }, /obj/effect/turf_decal/industrial/warning, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "sI" = ( /obj/structure/closet{ @@ -2514,7 +2514,7 @@ /obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "sY" = ( /obj/structure/salvageable/server, @@ -2554,7 +2554,7 @@ pixel_x = -4; pixel_y = 3 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "tw" = ( /obj/machinery/door/poddoor/shutters{ @@ -2580,14 +2580,14 @@ /obj/effect/turf_decal/industrial/warning/corner{ dir = 4 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/ruin/whitesands/e11manufactory/warehouse) "tF" = ( /obj/structure/railing{ dir = 10; layer = 4.1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "tG" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -2610,12 +2610,12 @@ /obj/structure/cable/yellow{ icon_state = "0-1" }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "tN" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "tO" = ( /obj/machinery/vending/cigarette, @@ -2644,7 +2644,7 @@ /obj/effect/turf_decal/weather/whitesands/corner{ dir = 1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "uq" = ( /obj/effect/turf_decal/road{ @@ -2657,7 +2657,7 @@ picked_color = "Cerulean" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "ut" = ( /obj/machinery/door/airlock/external{ @@ -2686,7 +2686,7 @@ icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "uC" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ @@ -2723,7 +2723,7 @@ /obj/effect/turf_decal/weather/whitesands/corner{ dir = 8 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "uS" = ( /obj/structure/cable/yellow{ @@ -2735,11 +2735,11 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "uT" = ( /obj/effect/decal/cleanable/oil, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "uW" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, @@ -2761,7 +2761,7 @@ /obj/effect/turf_decal/industrial/warning{ dir = 10 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "vg" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -2803,7 +2803,7 @@ /obj/effect/turf_decal/road{ dir = 4 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "vA" = ( /obj/structure/flora/ash/cap_shroom, @@ -2852,7 +2852,7 @@ icon_state = "0-2" }, /obj/item/shard, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "wd" = ( /obj/structure/statue/snow/snowman{ @@ -2932,14 +2932,14 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "wL" = ( /obj/machinery/power/solar_control, /obj/structure/cable/yellow{ icon_state = "0-2" }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/ruin/whitesands/e11manufactory/office) "wQ" = ( /obj/structure/closet/crate/secure/weapon{ @@ -2989,7 +2989,7 @@ /obj/effect/turf_decal/industrial/warning/cee{ dir = 8 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "xi" = ( /obj/effect/turf_decal/industrial/caution, @@ -3061,7 +3061,7 @@ /obj/effect/turf_decal/weather/whitesands/corner{ dir = 8 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "xG" = ( /obj/machinery/door/airlock/grunge{ @@ -3120,7 +3120,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 4 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "xY" = ( /obj/structure/closet/firecloset/full, @@ -3142,13 +3142,13 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "yi" = ( /obj/structure/cable/orange{ icon_state = "2-8" }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "yl" = ( /obj/machinery/conveyor{ @@ -3173,7 +3173,7 @@ icon_state = "4-8" }, /obj/effect/turf_decal/weather/whitesands, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "yK" = ( /obj/machinery/door/airlock/grunge{ @@ -3191,7 +3191,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 5 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "yO" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -3210,7 +3210,7 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "zd" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -3249,7 +3249,7 @@ /obj/effect/turf_decal/industrial/stand_clear/white{ dir = 8 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "zz" = ( /turf/open/floor/concrete/slab_3{ @@ -3261,12 +3261,12 @@ /obj/structure/cable/yellow{ icon_state = "1-4" }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "zE" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/greenglow, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "zK" = ( /turf/open/floor/plasteel/mono, @@ -3287,7 +3287,7 @@ /obj/structure/cable/yellow{ icon_state = "0-1" }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "zZ" = ( /obj/effect/turf_decal/industrial/warning{ @@ -3344,7 +3344,7 @@ /obj/structure/railing/corner{ dir = 1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "AB" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ @@ -3393,7 +3393,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 8 }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "AK" = ( /obj/effect/turf_decal/industrial/warning{ @@ -3409,7 +3409,7 @@ /obj/effect/turf_decal/weather/whitesands/corner{ dir = 8 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "AU" = ( /obj/structure/fence{ @@ -3418,7 +3418,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 5 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "AW" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -3486,7 +3486,7 @@ dir = 9 }, /obj/structure/railing/corner, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Bl" = ( /obj/effect/turf_decal/corner/opaque/green/diagonal, @@ -3507,7 +3507,7 @@ dir = 9 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Bq" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -3527,7 +3527,7 @@ icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "BL" = ( /obj/machinery/door/airlock/grunge{ @@ -3557,7 +3557,7 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "BX" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -3570,7 +3570,7 @@ /obj/structure/fence{ dir = 2 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "BZ" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ @@ -3623,7 +3623,7 @@ dir = 8 }, /obj/effect/turf_decal/weather/whitesands, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "CH" = ( /obj/effect/turf_decal/box/corners{ @@ -3634,13 +3634,13 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/structure/reagent_dispensers/foamtank, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "CI" = ( /obj/effect/turf_decal/weather/whitesands{ dir = 6 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "CL" = ( /obj/effect/turf_decal/road{ @@ -3653,7 +3653,7 @@ /obj/effect/turf_decal/weather/whitesands/corner{ dir = 1 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "CN" = ( /obj/machinery/conveyor{ @@ -3666,7 +3666,7 @@ /obj/structure/railing{ dir = 8 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "CQ" = ( /obj/structure/chair{ @@ -3694,7 +3694,7 @@ /obj/effect/turf_decal/weather/whitesands/corner{ dir = 8 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "CY" = ( /mob/living/simple_animal/hostile/human/hermit/survivor/random, @@ -3704,7 +3704,7 @@ /obj/effect/turf_decal/road{ dir = 1 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Db" = ( /turf/closed/wall/mineral/titanium/survival/pod, @@ -3735,7 +3735,7 @@ /area/overmap_encounter/planetoid/sand/explored) "DC" = ( /obj/machinery/atmospherics/components/unary/passive_vent/layer4, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "DD" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -3762,7 +3762,7 @@ /obj/structure/cable/yellow{ icon_state = "0-8" }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "DL" = ( /obj/structure/fence/cut/large{ @@ -3771,7 +3771,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "DM" = ( /obj/structure/window/unanchored, @@ -3781,7 +3781,7 @@ }, /obj/effect/turf_decal/industrial/warning, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "DN" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, @@ -3836,7 +3836,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 5 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Eb" = ( /obj/machinery/door/airlock/external{ @@ -3892,7 +3892,7 @@ color = "#FFFFFF" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Ep" = ( /obj/effect/turf_decal/road{ @@ -3901,7 +3901,7 @@ /obj/effect/turf_decal/industrial/warning{ dir = 9 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Ex" = ( /obj/structure/fence{ @@ -3951,13 +3951,13 @@ /obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "EZ" = ( /obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Ff" = ( /obj/structure/chair/stool/bar{ @@ -3975,7 +3975,7 @@ dir = 4 }, /obj/effect/decal/cleanable/greenglow, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Fp" = ( /obj/effect/turf_decal/corner/opaque/red/diagonal, @@ -4016,7 +4016,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "FL" = ( /obj/structure/table/reinforced, @@ -4029,7 +4029,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 4 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "FR" = ( /obj/structure/sink/kitchen{ @@ -4047,12 +4047,12 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "FV" = ( /obj/effect/decal/cleanable/greenglow, /obj/effect/turf_decal/weather/whitesands/corner, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "FY" = ( /obj/effect/turf_decal/road{ @@ -4064,7 +4064,7 @@ /obj/structure/marker_beacon{ picked_color = "Cerulean" }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Ge" = ( /obj/effect/turf_decal/industrial/warning, @@ -4090,7 +4090,7 @@ /obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Gp" = ( /obj/machinery/atmospherics/components/unary/tank/toxins{ @@ -4103,7 +4103,7 @@ /obj/effect/turf_decal/industrial/warning/cee{ dir = 4 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Gs" = ( /obj/effect/turf_decal/industrial/warning{ @@ -4112,7 +4112,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Gw" = ( /obj/effect/decal/cleanable/cobweb, @@ -4169,7 +4169,7 @@ /obj/structure/railing{ dir = 6 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "GW" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -4193,7 +4193,7 @@ /obj/machinery/conveyor{ dir = 4 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Hd" = ( /obj/effect/spawner/random/maintenance, @@ -4206,7 +4206,7 @@ /obj/machinery/power/terminal{ dir = 1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Hi" = ( /obj/effect/turf_decal/weather/whitesands{ @@ -4216,7 +4216,7 @@ dir = 1 }, /obj/effect/turf_decal/weather/whitesands, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Hp" = ( /obj/structure/chair{ @@ -4252,7 +4252,7 @@ /obj/structure/railing{ dir = 9 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "HD" = ( /obj/item/restraints/legcuffs/beartrap{ @@ -4261,7 +4261,7 @@ /obj/effect/turf_decal/weather/whitesands/corner{ dir = 1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "HE" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ @@ -4273,7 +4273,7 @@ /obj/structure/cable/orange{ icon_state = "2-4" }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "HV" = ( /obj/structure/cable/orange{ @@ -4281,13 +4281,13 @@ }, /obj/machinery/atmospherics/components/unary/passive_vent/layer4, /obj/effect/turf_decal/industrial/warning/corner, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "HX" = ( /obj/item/restraints/legcuffs/beartrap{ armed = 1 }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Ia" = ( /obj/effect/spawner/structure/window, @@ -4295,7 +4295,7 @@ /area/ruin/whitesands/e11manufactory/barracks) "Ie" = ( /obj/structure/mecha_wreckage/ripley, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Ii" = ( /obj/effect/turf_decal/corner/opaque/green/diagonal, @@ -4307,7 +4307,7 @@ /area/ruin/whitesands/e11manufactory/barracks) "Ik" = ( /obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Il" = ( /obj/machinery/conveyor/inverted{ @@ -4341,7 +4341,7 @@ /obj/structure/cable/orange{ icon_state = "1-2" }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "It" = ( /obj/structure/table, @@ -4377,7 +4377,7 @@ /obj/effect/turf_decal/weather/whitesands/corner{ dir = 8 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "IC" = ( /obj/effect/turf_decal/industrial/warning{ @@ -4386,7 +4386,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "ID" = ( /obj/effect/turf_decal/industrial/warning{ @@ -4451,13 +4451,13 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Jn" = ( /obj/machinery/atmospherics/pipe/layer_manifold{ dir = 4 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Ju" = ( /obj/effect/decal/cleanable/oil, @@ -4482,7 +4482,7 @@ /obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "JM" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -4492,7 +4492,7 @@ icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "JP" = ( /obj/effect/turf_decal/rechargefloor, @@ -4509,7 +4509,7 @@ icon_state = "0-2" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "JX" = ( /obj/effect/turf_decal/corner/opaque/green/diagonal, @@ -4546,7 +4546,7 @@ armed = 1 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Km" = ( /turf/closed/wall/rust, @@ -4575,7 +4575,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 8 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "KC" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ @@ -4601,7 +4601,7 @@ /obj/structure/closet/crate/trashcart, /obj/item/trash/can/food/beans, /obj/effect/turf_decal/industrial/warning, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "KN" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -4609,7 +4609,7 @@ /obj/item/trash/plate{ pixel_x = 3 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "KO" = ( /obj/effect/turf_decal/solarpanel, @@ -4619,7 +4619,7 @@ icon_state = "0-8" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "KP" = ( /obj/structure/rack, @@ -4632,7 +4632,7 @@ /obj/structure/fence{ dir = 4 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "KR" = ( /obj/effect/decal/cleanable/cobweb, @@ -4653,7 +4653,7 @@ /obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "KZ" = ( /obj/structure/sink{ @@ -4671,7 +4671,7 @@ /obj/structure/cable/orange{ icon_state = "4-8" }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Lo" = ( /obj/item/solar_assembly, @@ -4681,7 +4681,7 @@ icon_state = "0-1" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Lq" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -4727,7 +4727,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 5 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "LB" = ( /obj/structure/cable/yellow{ @@ -4743,13 +4743,13 @@ dir = 4 }, /obj/structure/cable/yellow, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "LH" = ( /obj/machinery/atmospherics/pipe/simple/supply/visible/layer2{ dir = 5 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "LN" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ @@ -4766,7 +4766,7 @@ max_integrity = 70; dir = 4 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "LV" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -4785,7 +4785,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "LZ" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -4812,11 +4812,11 @@ icon_state = "0-2" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Mi" = ( /obj/effect/turf_decal/industrial/warning/corner, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Mm" = ( /obj/structure/closet{ @@ -4860,7 +4860,7 @@ /obj/structure/cable/yellow{ icon_state = "0-1" }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Mz" = ( /obj/effect/turf_decal/road{ @@ -4872,7 +4872,7 @@ /obj/structure/marker_beacon{ picked_color = "Cerulean" }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "MB" = ( /obj/effect/turf_decal/corner/opaque/red/diagonal, @@ -4919,7 +4919,7 @@ /obj/effect/turf_decal/trimline/opaque/white/arrow_ccw{ dir = 8 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "MR" = ( /turf/closed/wall/rust, @@ -4937,13 +4937,13 @@ /obj/structure/chair/plastic{ dir = 8 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Ni" = ( /obj/effect/turf_decal/road{ dir = 8 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Nj" = ( /obj/effect/turf_decal/road{ @@ -4955,7 +4955,7 @@ /obj/effect/turf_decal/weather/whitesands/corner{ dir = 8 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Nr" = ( /obj/structure/fence/door{ @@ -5013,7 +5013,7 @@ /obj/effect/turf_decal/weather/whitesands/corner{ dir = 1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "NH" = ( /turf/open/floor/plating/asteroid/whitesands/grass/dead/lit, @@ -5043,7 +5043,7 @@ /obj/structure/chair/plastic{ dir = 8 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "NW" = ( /obj/machinery/atmospherics/components/unary/tank/air{ @@ -5053,7 +5053,7 @@ /obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "NX" = ( /turf/closed/wall/rust, @@ -5084,7 +5084,7 @@ /obj/structure/cable/yellow{ icon_state = "2-4" }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Oo" = ( /obj/machinery/conveyor{ @@ -5097,7 +5097,7 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Oq" = ( /obj/structure/guncloset{ @@ -5110,14 +5110,14 @@ /obj/effect/turf_decal/trimline/opaque/white/corner{ dir = 1 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Ov" = ( /obj/effect/turf_decal/road{ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Oy" = ( /obj/machinery/door/airlock/grunge{ @@ -5131,7 +5131,7 @@ /obj/effect/turf_decal/industrial/warning/corner{ dir = 1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "OF" = ( /obj/effect/turf_decal/industrial/warning{ @@ -5146,7 +5146,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 8 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "ON" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, @@ -5163,14 +5163,14 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 1 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "OT" = ( /obj/effect/turf_decal/road{ dir = 8 }, /obj/effect/turf_decal/industrial/warning/corner, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "OU" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -5182,7 +5182,7 @@ /obj/effect/turf_decal/industrial/warning/corner{ dir = 4 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "OV" = ( /obj/item/stack/ore/salvage/scrapmetal, @@ -5207,10 +5207,10 @@ picked_color = "Cerulean" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Pg" = ( -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Pi" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -5222,7 +5222,7 @@ /area/ruin/whitesands/e11manufactory/office) "Pj" = ( /obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Pl" = ( /obj/structure/chair{ @@ -5301,7 +5301,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "PQ" = ( /obj/effect/turf_decal/industrial/warning{ @@ -5310,7 +5310,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "PR" = ( /obj/structure/closet/crate/secure/engineering{ @@ -5364,7 +5364,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 4 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Qi" = ( /obj/machinery/door/airlock/external{ @@ -5400,7 +5400,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 8 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Qq" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -5417,7 +5417,7 @@ icon_state = "4-8" }, /mob/living/simple_animal/hostile/human/hermit/ranged/e11, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Qu" = ( /obj/structure/flora/ash/garden/arid, @@ -5430,7 +5430,7 @@ dir = 6 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "QE" = ( /obj/structure/table, @@ -5461,7 +5461,7 @@ dir = 9 }, /obj/structure/railing/corner, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "QU" = ( /obj/structure/closet{ @@ -5484,7 +5484,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Ra" = ( /obj/effect/turf_decal/road{ @@ -5494,7 +5494,7 @@ dir = 10 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Rb" = ( /obj/structure/bed, @@ -5507,14 +5507,14 @@ /obj/effect/turf_decal/trimline/opaque/white/corner{ dir = 8 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Ri" = ( /obj/machinery/power/smes/engineering, /obj/structure/cable/orange{ icon_state = "0-1" }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Rl" = ( /obj/machinery/airalarm/directional/east, @@ -5541,7 +5541,7 @@ /obj/structure/railing/corner{ dir = 1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Rv" = ( /obj/effect/turf_decal/corner/opaque/green/diagonal, @@ -5594,7 +5594,7 @@ /obj/item/restraints/legcuffs/beartrap{ armed = 1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "RQ" = ( /obj/machinery/conveyor, @@ -5606,7 +5606,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "RS" = ( /obj/structure/salvageable/server, @@ -5617,7 +5617,7 @@ /obj/structure/fence/end{ dir = 1 }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "RV" = ( /obj/structure/flora/rock, @@ -5634,7 +5634,7 @@ /obj/effect/turf_decal/industrial/warning{ dir = 8 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "RZ" = ( /obj/structure/table, @@ -5703,14 +5703,14 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Sy" = ( /obj/machinery/power/smes/engineering, /obj/structure/cable/orange{ icon_state = "0-8" }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "SA" = ( /obj/effect/turf_decal/solarpanel, @@ -5723,7 +5723,7 @@ icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "SB" = ( /obj/effect/turf_decal/industrial/warning, @@ -5761,7 +5761,7 @@ /obj/effect/turf_decal/industrial/warning/corner{ dir = 4 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "SH" = ( /obj/effect/turf_decal/industrial/warning{ @@ -5778,7 +5778,7 @@ pixel_y = -15; pixel_x = -9 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "SO" = ( /turf/closed/wall/r_wall/rust/yesdiag, @@ -5799,7 +5799,7 @@ /obj/structure/cable/yellow{ icon_state = "0-2" }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "SX" = ( /obj/structure/closet{ @@ -5836,7 +5836,7 @@ /obj/effect/turf_decal/weather/whitesands/corner{ dir = 4 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Ti" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -5856,7 +5856,7 @@ /obj/effect/turf_decal/industrial/warning/corner{ dir = 1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "To" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ @@ -5880,7 +5880,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "TN" = ( /obj/machinery/door/airlock/external, @@ -5898,13 +5898,13 @@ dir = 4 }, /obj/effect/turf_decal/weather/whitesands, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "TU" = ( /obj/effect/turf_decal/weather/whitesands{ dir = 6 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "TX" = ( /obj/structure/fence{ @@ -5929,7 +5929,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 5 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Uj" = ( /turf/open/floor/concrete/slab_2{ @@ -5943,7 +5943,7 @@ /obj/effect/turf_decal/industrial/warning/corner{ dir = 1 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Un" = ( /obj/effect/turf_decal/road{ @@ -5952,7 +5952,7 @@ /obj/effect/turf_decal/industrial/warning/corner{ dir = 4 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Uq" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ @@ -5994,19 +5994,19 @@ /obj/effect/turf_decal/trimline/opaque/white/arrow_cw{ dir = 8 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "UM" = ( /obj/machinery/power/solar, /obj/effect/turf_decal/solarpanel, /obj/structure/cable/yellow, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "UN" = ( /obj/structure/railing/corner{ dir = 8 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "UR" = ( /obj/effect/turf_decal/road{ @@ -6025,7 +6025,7 @@ dir = 4 }, /obj/effect/turf_decal/weather/whitesands, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Vc" = ( /obj/machinery/power/solar, @@ -6033,7 +6033,7 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Vd" = ( /mob/living/simple_animal/hostile/human/hermit/ranged/gunslinger{ @@ -6067,7 +6067,7 @@ /obj/structure/chair/plastic{ dir = 4 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Vx" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -6092,7 +6092,7 @@ /obj/effect/turf_decal/industrial/warning/corner{ dir = 8 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "VG" = ( /obj/machinery/door/airlock/grunge{ @@ -6108,7 +6108,7 @@ /area/ruin/whitesands/e11manufactory/barracks) "VH" = ( /obj/structure/railing/corner, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "VL" = ( /obj/structure/bed, @@ -6122,14 +6122,14 @@ /obj/effect/turf_decal/weather/whitesands/corner{ dir = 8 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "We" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/structure/cable/orange{ icon_state = "1-2" }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Wi" = ( /obj/effect/turf_decal/industrial/warning{ @@ -6147,7 +6147,7 @@ /obj/effect/turf_decal/weather/whitesands/corner{ dir = 8 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Wn" = ( /obj/structure/table/reinforced, @@ -6171,11 +6171,11 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 10 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Wu" = ( /obj/effect/decal/cleanable/greenglow, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Wx" = ( /obj/effect/decal/cleanable/dirt, @@ -6188,7 +6188,7 @@ /obj/effect/turf_decal/weather/whitesands{ dir = 8 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "WC" = ( /obj/structure/table/reinforced, @@ -6243,7 +6243,7 @@ }, /obj/structure/railing, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "WS" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -6274,7 +6274,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Xf" = ( /obj/structure/closet/crate/secure/weapon{ @@ -6289,14 +6289,14 @@ /area/ruin/whitesands/e11manufactory/warehouse) "Xi" = ( /obj/effect/turf_decal/weather/whitesands, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Xj" = ( /obj/item/solar_assembly, /obj/effect/turf_decal/solarpanel, /obj/structure/cable/yellow, /obj/item/shard, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Xl" = ( /obj/effect/turf_decal/industrial/warning{ @@ -6327,7 +6327,7 @@ icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Xr" = ( /obj/machinery/conveyor, @@ -6349,7 +6349,7 @@ /obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Xz" = ( /obj/machinery/conveyor, @@ -6372,7 +6372,7 @@ /area/ruin/whitesands/e11manufactory/barracks) "XF" = ( /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "XI" = ( /obj/machinery/door/window/eastleft, @@ -6419,7 +6419,7 @@ /obj/effect/turf_decal/industrial/caution{ dir = 4 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "XX" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ @@ -6438,7 +6438,7 @@ /obj/effect/turf_decal/trimline/opaque/white/line{ dir = 8 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Ye" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -6457,7 +6457,7 @@ icon_state = "0-2" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Yx" = ( /obj/effect/turf_decal/road{ @@ -6469,7 +6469,7 @@ /obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/turf/open/floor/concrete/pavement/whitesands, +/turf/open/floor/concrete/pavement/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "YE" = ( /obj/effect/decal/cleanable/dirt/dust, @@ -6494,7 +6494,7 @@ /obj/item/restraints/legcuffs/beartrap{ armed = 1 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "YR" = ( /obj/machinery/door/airlock/external, @@ -6512,7 +6512,7 @@ /obj/effect/turf_decal/weather/whitesands/corner{ dir = 4 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Zd" = ( /obj/machinery/conveyor{ @@ -6522,11 +6522,11 @@ /area/ruin/whitesands/e11manufactory) "Ze" = ( /obj/effect/decal/cleanable/glass, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Zg" = ( /obj/machinery/conveyor, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Zi" = ( /obj/structure/cable/yellow{ @@ -6535,7 +6535,7 @@ /obj/structure/cable/orange{ icon_state = "2-4" }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "Zj" = ( /turf/open/floor/plating/asteroid/whitesands/dried{ @@ -6546,7 +6546,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "ZB" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -6583,7 +6583,7 @@ /obj/effect/turf_decal/industrial/warning{ dir = 4 }, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "ZO" = ( /obj/effect/turf_decal/industrial/warning{ @@ -6593,7 +6593,7 @@ /turf/open/floor/plasteel/patterned/ridged, /area/ruin/whitesands/e11manufactory/warehouse) "ZR" = ( -/turf/open/floor/concrete/reinforced/whitesands, +/turf/open/floor/concrete/reinforced/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "ZS" = ( /obj/effect/decal/cleanable/confetti, @@ -6617,7 +6617,7 @@ icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/whitesands, +/turf/open/floor/concrete/whitesands/lit, /area/overmap_encounter/planetoid/sand/explored) "ZZ" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, From 7f0b197ab52e560ed49428c0c52ea694e6000a72 Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Fri, 15 Nov 2024 15:13:46 -0600 Subject: [PATCH 222/344] Fixes 9mm AP not spawning with 9mm AP (#3766) ## About The Pull Request typo ## Why It's Good For The Game Fixes good ## Changelog :cl: fix: 9mm AP spawns with 9mm AP now /:cl: --- .../ammo_stacks/prefab_stacks/premade_pistol_stacks.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm index 128dae871dac..68ae4e2236ba 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm @@ -123,7 +123,7 @@ desc = "A box of 9mm armor-piercing ammo, designed to penetrate through armor at the cost of total damage." icon_state = "9mmbox-ap" -/obj/item/storage/box/ammo/c9mm_ap/PopulateContents() +/obj/item/storage/box/ammo/c9mm/ap/PopulateContents() ..() var/static/items_inside = list( /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm_ap = 4) From 7c6706252b38969efad26cbfd0a31e284c972e8a Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Fri, 15 Nov 2024 17:52:39 -0500 Subject: [PATCH 223/344] Rock Ruin: N+S Mining Installation (#3534) ## About The Pull Request

    tjP&VTLTUOD8TiTU2MB-}b^njvF`^w@vGr<+lp z$v+4QtA;?EijPNO^#`%$;`4-~nyEVdHpc-gqe|g+{9wz7>|4GAWP}4*TLEP)BtwS8;^5I$@!Y@7{;EQtX2zDmF-TZv=>`3V-iR}&lCK7g+e%d?51JU?NtV5IA5Y<~O2g30}%Q7OuH?$JjjqU)_%)ULXd zb=#VmcY0aa0V_TTh55j6N6t#A_DCIsur{KL4{a8e%#@$vi&@F!xLZ0iJhR_%J2Kkr*FZ3@VdR^Xf`UanOB$_$UH_%QuL;pg;z=%I0$ z2DOVqgl@Rt=Zcv=pXrxOPSt7ipp`og9vQ>x@2q@X>Vi}Ff@duE$rtN@r*hQV=dk2j z|6EsioepcBNGXPpq~d>+raE{*qM!PvutV&zjv;X^V<^SP8fKbRJ2;nZdfHKPW(ZNR zq*;z_ehwS2%NT z=I|E6c|;wM!KmDH<$dQL?Dyi5_$-j?64rts(8ZD0N%CAB^ z&k*Czv4L0020Ifsm2F7HNQloxfa-Da!*u=T2K_RwFHm2!UGz{7ftueCw{C4}Ssm|xzqP=vj_)V0tR zSXsFdTKBI~!OBf9Q`1#6Ha+XI%WMz{WJjVw;b3@rkZrnve=R38*KR5qT9g}#DRsP= zv+gAnT#@F;X9&P-TU67Jch+sePt6N&CjpQ+qt~x>0b~g!-onMVb2}0^cjo>tf<{)AAFP2-_&>5aHxVu8K0c}rhfAq-=1h+n%Q4QvvIYXE3DzI zTr|%k-2Sl&8i(5YvxWS6YM2r;;j{Jhh1?L>2<|`VSEHejY4uJ17$8~gKoW3SJ0U+!>_fzpi6IOqqv8$2XCD1Q%O~DHQ30)`qL+UA~p$j!{*Rx9=l`1zQNjNx1Fmg% zEcZ6xq+OS+!tasIk&xAA5Flc}3AR`}MbZF-b9^iQ88xn|=i-$Q_~L^7s=jqNjH#1Z ztt`Ekd82qcyZ0PTwbcXrLP5%_`@ATfphtuvMVlj$F)^wTNjo^q8nP(QQkOkXAL9hm zF1qOZ)aSX5kA4PKr~TXso&DPKtdAC2mXwv{bTAdkA};B!ADrpemIn?nH#ZOHZ#J+X zZ?m=-i7W%@J*#eDDxjS3YQy`y!3vEweB8?Od354+FetG}1|t!RNus3@6?E(?Q0Snn zR{#|-V|OqRv;(SO4wl5?YiPFk+^|2WG1t0^3Dub6iWhuIEN8$Hn% z@3?WZ=Yn0gg!P|&!2PO7vv}$1YSG+o67f(4qEcX2M_xx67zkW`HN7~&XJj~DqVA6H zFjU-v&m8j1yozg=R^09*?;eDhelE<~o)CE~GoX->gQ6kLl!bnqYnlcn7#xR_0Qhq} zwxM#wc1~_BQ<@9k(p7aY9$LxMN?bV{<};UpTrF)pG|-+(&vQo=HA{53&dX>LFo^Nt za=E)<{Sw1b;$(Ao(kp=G@|vVYXtzBtWvZ)42iE{AD6k2B+uzo%f7%fqnlR#pO1{aqk|trt)(Z^d6c<8+N}-IuW$oN{Bx~&%M`oc#m^g8R#jJL`*2TT zGYwTdN1qCS*g`(wE?V1JFP&kN@$P1mmdYf%c9+Qvnx_;2(F8QkDnZmC3}(10w89w- zgt25GTMv!0$Qb#GkHxGlb3imI8}2Nh%vjl^}(sKlkwV0W~!E&6T^ylY^RRJ51O70=O-Z3BT91O1<)bCJm{3 zyM7&Ox6uI^QvAdxT3zD6hjsv!@0p5&h>A?epCC>9h6qvRt96*v0*P$Q8MI^~AY#iL z9feKB9F&BS|E9q@QN_ucasWT&*Kz=NvVBnXF6w4(8YBsz=)R+sa93EkcWgKkI9fjN zq6C%j<)8#iGKDf#tghxJit8ZMq~$J#_0c+BzG+_p0xdlWn!N{y@Q~Z%;-D36@0**U zggJU6AcHkPcFut*9kKYSsgBsD0SY{oU%V0gC9kT2qZLXoUuSP3(99;r)_sE!L38s9 z&G+r#A|T6IlCLa9=heNlYRGNH83i?vs{uwDLk^$x;+k76;d-2k&KZbM!ewnAHtDL& zS^sTpSI%0Gp$*%jG;mqod33+2o$P2^S7c0SvA>@HDB8$(y7}vi&!nA6jk4$R))odU zGLR{oRUfCt1a7~y-WfYR_Vp+{jyXI%K3AHJpc)X)4vCC3JF6xngm2_^<|)?aCjL_V zAhh1|UEA!)QVYwYXA%&(oUZV?>sA`og^g@Iv z_DK0=9i~R3B1p3A$Lm#vBCNh~h%6;puh3mFH(lmA=v8`#om7+Dpvd(U``TTXE*>SaZ9|0t#TakS?vRQtwjX{C2GiSOrfxepnU?s8?Myvd z$EK4|ZIK2|f`-|9Z;XreYRQka;HDH`Sd#BX+YQ1RUlGA-uVhiMzmCMm#o$2Qw-dL1 za}-_jCLAp!+~fPerF5wOz9l}2p*(Qx`b4baCF|+V{Lq%PQ)0@k2wKbTNB(qnrST1! z8JC7vYrJ*pwF%|5{Gt3N4H~nxFD5eV5YB%`)gr|X6L~h2Y(}fDka(L>>iXe}?74Lw zg%1N-fYUt!rQkFjKFJThQv^`Z1G<~PB*aL$u>@#O{SbKz|m&TXTS-B1*?{-7~lWPEZ!Zsn?p1|WO$n^#?p^ySSIB${5Ffq35F zMuYVqv&zmi+5+3}z1Sgu8lcQ0;q?6DqYQ-n^>ISQm7du<%XK%LJRK$S@B|xG~;myC?hQ1!yhF{ z^^M(bTtn~sVG_qKP0Yc#f2TePLqV&Cad=?`O`5kVM*SOx4jRq-p+i5K;;aIX{4RuE zIG}p1uy_@Y!B>c{9mE?MTHoO$WAKGF`GZ+c`ek+nSI(&vc970c?2Pipm_EH?q-5?J zuz|w+r$lipoKB#~MgiUh-Upv=*=aT$!5X3m8r;n#tlG0VGmHnhr9J%-CE`460}84E z_wHOTX-GKRiZ)Nn`6TpRH&gKuOosTOrr2$-QX(7;{-1vHa!&ipv}ir}uV<<4inUtc zq&K$7yZ^L>xEqefV&6ro{2EwnN|~dJicF3`^Yg|RwjNc+#u(;Pdq{(yR9po&k5GQ; z?AMO&?m3u#Zn&N=-qbk?n1(v9zxe$j0TyaEM42Ac*6}*?hUfq@*t@E*PEc34*SKSBp*v^o>(?bv+$25ckMk3Ya7oXkg8pH!Rl!C1>+^zw zB7i0LWWu>pWrR|&{5r6SrXdU1Q0~q38e{O(cG4JQ+J*Lo;zAFe{jNe4Zuyw;2D`bx zObo%-e*YFIpD6UU(jQ6|9ngY{8}1ZI-52$F3Ts!(YliuNo)9Foe*z#!(S!fQSbC`G zF`w=<9sAtJ7urzr?DTK)h7}5{X2u-V2!-wPA>(fOT&oJ5i``BfTiv6eL_UxSej%#Z ziO5O-PpI1YD_xdQ;^n^(!>yltuX@31=Xo<)8x;MI)INf zQ}2>g^;EIq5p6mrkjZX}BO2jh{s>4wki{x>)c(dVo2U<^C>| z<6OJ4U2MtSN^D9&WbBcX%sgN%7nwX$p-Kq|G`htq{;d}+{j%?d4|;;$@-E9ULg@7? ziI*RJtZ((hW+;6v$;)#+t=_S2ljyt|C&ROTHMlp26fF1J;Wdx>?qHtVI(C}GR|dQu zyFiEdhL>$M{W&>MMq^mO#m>J=OgcEq_9*oV^c|u)*d=wgcPPSYO7S6KhXJ}fotFeT zMPbR@psa9ky~E_DTe;>nVq|4HQuyJ+=sI98q%Rd64iD>);Ly0gR(_05*i_?yOgqSX zN_3TtMCb#0b6c40ONM`t$02+d=yb{q5B0^1GgYC?kq3rz%Q(`G|IW&?(cM-Gv8Cuy z#F@i`mIFpe`CLgMnbw^9m|`b#qKbbG$b#7q>mel7vJM`lhkknL!3N4WBwIy7qK_R~ zSlLqVvnNN(%N&-~ic=Fw^Lc*v{y`4nkAR ziiqil3Pa?Z>^|SJcMetWmB*jsy1QNNU*%mE@j!ptzLfTw*!OIx?`NMv?dH#R05N^# zIh|Na2Sl@qZ0PJIE|Ct0J;v#CU?6vs_v=rl$trHZ8GI4_rG=t)-P&}o4Tk`*e&+lz?y1~|k|0(tnX?j@ z8vAJelmNPpcn9N9GWFBa*ugb_p~izgH72{)!&v|-)9a<=jf?U}SzADr(mONf5WRTg z;4{R8t%1g+=tMrn9N(j-089bE+*1|clC2MUeB_d7`)w<>9sus zhf~fe;M3H2E~;P2ip*4|G*}@aRe`K8qZ@Oz?}P|;MCLciwleAgFpYH;TOA*CyS{z< zW`&OJo%xtyC?KSaYwVTkex2ziG~CLlJz7F{+kf(?XX?cZg)EL{2k4>d%)u^$&0-q z=iA{DyOb)tyeDOGn+7j!R)v=ab72;I_>S9SI-0~#*kMzK1y=yxUmgG;1(3C4>tA%9 zEdP4X^V_>~rZmb3y-t2IIXQWuwxr}P$PfUo6nysixyTZi)T?*rZ1n#$&$X)P3v}b8 zTaLoe38Gy%=?Uvu`q(9|)`p=rYati^OGphH`0zW`p@x&ti}sKv2fIJ2(r70WdHW#&R|?JjnH0>Rz8glmq?AFMt33{hIz5APy7}(LVl8z~?go=mmJN zbO8FM6kr2jJcI&Zk;)D9CnME%s0Wmrz&`?*`Nuu|Z_zqIa#eFVJo7-?qdqXm8r4nq z+eBBxiyg(f_d|*zXO&sxflrGraU1wniQh?=Xi_u0*@)1X(k&jzp??15w?R%%X9=)M z5iyD5=TY_>cq;T(`EYZ#CY7w9fw^EK#LyAiS96Y`aqcZ6%iB7msKy3&%(e5+f#`MKF# zg*5ES~%>@r%w7O&DHdUpR{8LlK78w>_kmD?Z z8#X3q;et(RebhDuxfR;GhL>P*m+WDu&!1xJ2#4h!!Wa1mY3myO1iVsanQ`eW023|K zX&UHYSV>KxW5&FSR&WFtf3t z|1R}RH2Z?hHjA0rMSy!IO6TSToFVOF;)fL983KR?qYZ%7N!IJz!aja{(R@AMH??rG z`wwcf%?X$^V)7(Zk>0xu06eT}9cnPWNC+M)Dh2QyVFmU30ie;z6Q|yGx_f<_oC`xu z@cX9{OhGPVMIhLPXg3!>;Xn`y1DhM z4S>>XU(ms)xwnbs3n6%SGIIQB*=z@3m#x1H3_LR_HT*FJ4+H8d<2OI&6@cQ_Ti3$Id`u!RJ;a_Q<~Xw4b!(#^=2sTN0q1!taSecfI^$Y(uE-`t02U zQ?q{sbz+9v25g8?7yTW361s`ro;RBM+phjLqziaFojaA$+R|(rOtx@%?PPVl9IpsI z`&t$mooTSt?E;)`?pd_|IW#o+duOH>2|zR~ zF>&wpdr{$imvCTBlmH`TzJGtfPS!c=<8E}c043OW_O5bq-Frw$6;I+vxJ?@Z%p1GA zQY*j`kQ%h~J#U)`4oJV;0L5i|9U`LUHh-$B0C@AKNT^(mA)E#rG6$cuwYF>pzus;;T9Pk4c;cM zYlA=|S!`v;hFfx&Hdl8?CGh3!uPnTI-u;aQJ)uGXOdDER*UaXR1t0YnDG2GFjy9Eq7>vz#A`HQTNsfPt74A{i#Co3%OfJE%tTY-c8?UjBe z52QyveTWwfN|2@pZ2%Gr8Z1$i)+IF_j$SC;jPI9~xos3WR_?l7CvKur)xM*wE7+w)_}oUY0Lq=NTs-?r^Lpcd1Ha{%;8D`5GsL?I83 z7bI{vw!1dQbHLZ}?%b6MKvfDqc<`W6%;!v%lqS#&$r?3k`w<4qJ9kCUoO615a-r#=g;*_ z9PYKA(0i2$`oVn9Vcb`~W?QnaXwu`#Qj)&^Ch#})wGUumb2+AH=0$ZYNn z=-@%bQ^ia3f??wtqaXUmN*R0dX*#p}f0tP1OaZ)7?}ooZHk#Tz(~Bm3{bo5Ep9YnCWmI(Z??Oo$z(>k-ck*5il_G^<_kDZLL^~4Mi1D z5^VF`R$)i;j!;srES{=p*>qcK-@EKNLg5zVec|77gkv@}+h6Q_ z7K^_HyNz^6t*pybTPjAwdL899LAPM@yrQ-wV9jH#XX+PpD~GfYHMVptDB0%rzq{kr2Yv zN67d0mjopw^y0hQ`TJ{MTcjrNsa1&v?>-L*X#CdIWdfL0@z6a^12T~&py8(OxFob!C534A97fGh6AXsY8S450bf1qW{`=l z&5?NyCc9!O=W6Agk&&qUrWsX-_9Z2A4@}6(Sa0lUgJ1852E7GKd>E7M60#!qEFy_d zN5?sO?z$bg7iXDYJqm;0mOx^6qQp_UMs_#yE0qBXf?@06I^V&q-bvZC@7cBRW3JKV zL$&e~kl$J=GEO7+<6FJIm{v?%-un*IJN^7ex=Ltm&vKNR=%m}kPh}?8p*)8i=9+&C z6=te9@BmDq(6y*6^;^SlqLuE`AQQS_?Z2poEe8Dy3Tw2_ z1z7F?5@^An5&boITD?hEk6p5q=1L!Ok?+UqBycg3KC7 zDK0h;y4@=z`|{hn+epQi-%hI>EGG%Ex)T-vDQ=}^Lik>SM*HmE3~y#ChxfKautZ~e zzy>E6pHQ&y%)lz?45{8%3r71pC7q+-C{W1ztIl4FGk5^D`#0^@l|&c|y~%TEC$hnR zF$<@Ecs+Bjy{+A;C*eM*6yPjf$0A4`2UHriZReOe%7TRY0V|kl4o@8Cx+4(Dzd>4m zycXWGbH?}I5>?Sw(G68eRn?hg56n=&Wq+nrBt?Vc*on`%n*bm+p=F$ZJ^UXIzFFMg zIe)AyZ2Zfkh=p1n<&#bb@;B8ynvN;Z_LLjVtF)$|u3x>7yt6nX?UBf%Tm-0lSuP4J zEOa9bB-FkkY7AK8(Z;%=i1~ z5>>HCv5V{7Jw3r;%C=CFc#%bULZGAj%&mDANmXYc$aRpC!kLe@3)R`8|8cBT0$`2l zg@BtQ+H87<9niS2J!;u8Mdo@rEe98iKkIg4vo7M(uZur(0@qR*{s1a=AkcSoH)TTG zER$r}Qe5QpO?2)1!NZ+IJaFzAAaDnOqkiprl*H{pHdX=i2v~6+?hI9a(a3x z0Knc?E5>R67VQqWlvT{0l7P-V`N-#Gcv+iDUS8hrRu@~^&#CT2J`X)a)k19B$D8uX z%2wDgN+tfJweZE?5SUN=$rE2fr`3sPJ=_6XyEAl&^h?TT0D9xz&Fk|sxxun1Z1YXu zdSUHX@ILX{`LoqH1KEf7REO2ZO&wVAH+XG5c3XKO?7>`*0o@aPY}A@D zzcY7IR(PY%rya{P3VLG_U}XxJN)j@ytSl^Je@615-eP(gk>F?~@O?YK%56od7^R4s znFa&|-0P?`t+d?olOO!X%IYaB@+tvDsOMecdJ6yAK@I;lkk6cye zTTE?LhuHcnq6X!!AA|KZ@WQc^kQrvfe%{kc#uZm~Z*%At(GU6`+5uSDYj(TLo+v-CY&S!_U- z;?Vh)aT37Q78Ul)nQm-U=!qOUpe&KMOqoyny+ab~*5s?`w(gD78`Y}ymNKrze=Osz zIp(z)yDa|&k$mc;*unUZ^d+wD?jJu&0aLE{XuA}k7R+pHY*goi%2ik)^&7| zVHDwgNq_QVodsw%(MlX%S<oI{N{6F|^p!loDX{Ja7SpXKZL_m~m>)5RB|V zQNM~RdBDJY_I{~3+W25=Rsh~{&Zz8xDWEaL@q=}Xh?3F+ddomd{mD=?@U|)2Pl5n0 z21)}%g&-fw44lyB>2`1M!{IMrxEiRiQO~#!PDV$kE?*2X#pncnf-&+s>~KSMBfz@V ze&KG{Yw-pRU1egN&1W3Y983cGq(&w8^{~-A1_%UViY}dN1}L$2 zm6x48mqc7%2AZ=zL7C8I3^EDa;Z*^FcH(^NZ($xkRe6~|=+GjX=azS_iAzfxNlHq# zZpeUZ*PrSdy>$7q-5Wh;=OU3k9PQ!(4yyl^R;lQ_HUQp=37=A7`*nnN(LFNuQ%6Eo z-vG#?p?~-88^r1ukaW9d{Z#tVmt$b(w6;O*=AvbX=z-K1-+mF2p$ z|LK8*5_sIJ1;VAFZ6o=5$7U0}CV&4R6h(`bp1cmG$F9=(hJW;g1Y*4YMb4rNRh6XY z`2B03?D`+;+5azI7ICKnqEi!15>rq&!*w*#^)EWQG$BdJA9vH_B>jScjpM7Rs2a<_ zRcWui315z7$b&2?m2bE%{3w=Pd zT7CEK-B^QNRmu&wynzA3dNBZ0&@ss>)AU^}qRixy8%KPf2Gzv_jeJ@%cr)KJA~G`4 zerZ7W=`iETrXNPF=>TF&i{<8W4ih0XFr;nO=u48ky!EVvg^Q{;Saj#g<;xa$G-Sdq zqBie84n8XRQ0=1lgunjp)V|0IvekT+#Zd1CzC{O0m+k3=T~i_s7$kWAVm&2L5#3wM z8?cZywcXZ*{Qgl@F%^I79(s=;Y=a;nY>xtOje{HnNk`i|Szj?&s9S#6D0m%Qd!d2s zbzClo>i9*~=YJCJ+1hjW(j0e#O;209I0o+K2B(^|jni6p?1T)c@8LJ2^V?>*(-aRRg0ms>BWlUA@ExZ7u?Hl8mb*d(e=xlPYF>3CKm z+Jw-eqR!wevRT_d*2f{@*;b0-;OhBdyX{J>_h}_ zw00?M_#_os#b>)uP>bT?cp7&4V8!~mMP|(;@}(LNbhGy&hMj%z{okp2dMwh9f8EZ_ z=aWLy zul6v_h`g#lvt{o9L`v}(MD~sR2L8fF?XQY}>A?n~JfaS9?i@QiJ9mC_uz|k*4bXL` zccyxHRUJ1RCAKve?vGF_b8~XyH2hr5YnUMSeTx{6c`g_z7D2U6T51P`pmtb4En~UH3`6#yKjhLkATy1V0=1RE0%8 zsf>UnVVn{pSj)NX;P?ki&1E5NdtgFymLkDrgJ?r2%_b(Xr0%>*_TIc1K~(}_GG3wbqbw0 zr}AoQY54>}0*n2+7y~u6h6Zn^vNvzMgGr0N{_ehwgT}CGM-nFsPm-l$Q99 z%#4K`E%AE(bCcp0r1eX*8608lW^bFrxNbgPJE0GaRU4yr+L3b%?jzL+B;Qlyn6p)U zY3U9JD~t||%TjggJ)sk7YHC0mqsUn7LoWWJQ8}M)DZ=#=#Vt-y_NYk{l|0OV z7Q$E+b7LYmXMB31vzuI#a}&+x>wH03-`eiN3~}M^IG9WegATS75GzS8WGmwtJ{K?< zk0#g!eRoGv6TY-GZ1*U3FZRT-usCXw4`y$GN-$m!W+V|;ZHkP&)K86-d+_z=I8`Zi zfnjzox&O+}GF}Mh#K!MLdc#`MJJk&8#UbbwJ-G=Th{&IlXMKWc3I0y2#!n+!`T0p; zlJi+EMW+OlcNfE1ReGOuc^G!-s_12^1RG*Pf=#|Zv;duDX}H|#;Q=tP#a-$3{!nC8 z^d}Oh!rQ8`~M0OOtQvQuIo$nOT9m2{_?urGT5b%2k4d8K?L zDd}Nqg=Cn|D6;K}4&ME*66lX|&HkKk^p-|7xQ>}Zq>zXv=y8!Sv$)~RjJM+Tw;TLs zBx_v#?+Xhn4!CvNI(>gBWu}f6j*UlEs!F@4ooy&XtoAXav9Mb$@%r&?;Bu-esZ5zl zj{NC^Ucb(g1ni}36zAZH#Y)~;2{#t<=oNhnsRGDjP3NdoBrQG!qC5j8#v<@Z`P|R6 zuGX0-QT}9BX9kar;Tx{7!9Limunru05b}bRZ+9G<@mhiTW8JiPDPp2hd*T5Mvcf%mhIYlr4q~`E4tiBtlff&B zfR&}ZJ#lrpO0Z=&r2_i&w$3H-s_`4~O^R(Mz3fg5XWM!UK1H(4qiKingyNYKlwU=M z*U2r8^;r;_;&sRKpwZXc`wsN_k)Ld4a)5SgeZD|F?v*|x_G+43SSt@3lpo2Agw{>3 zoSN!c8L60hP1wu1`ufO4_wLLP6u(#rl(n0rDi_l7rqvYrn-jF>3z4ZT3HS*g`Qz$7Bj2WY~#GR1nq zkYZ|cC1yoJxC_Y{U=9Z!ibIQt_T#HPb0u9LcA#2h*;lqJC)eks)+d3$7s%W`yyy;J zlR`g3>$lLMdw~-}D8{?soxi7!)>Qm+cfAy)AwXD|CMBPGw_4@rKKe4d5 zr{6fM*jqzZ4`r^?vbKIm-H_Rz`w`Y^;rQ`Em3t&zya6$I?^e>x_UtArgR{$ zkXI$im$W@n2KA2CvMTSqtys=%P!DNqJa`qX(_h6t#-0mB5KFJ@2``hsyZM|t;pxzU zxS=pwUqFccoIuDsIgkE)C81BXJl=^p1KSN7#1Xf_;|leg@P)wtZeNW z8=k$P!SyL||DG_~frOMHRYyN&y1z{yB9$h^@-KZQ5DtM}5%>l|C zGYzs^S$}-VQhl)lT$ju(Crox*IIlen6^;tFMVlMn;)#a1A$h77NYJs8iGe%;d)Ykb14t=gy@VS~JnnIP-tq~6s(+!s>!ngjJ~ zc8g0=1MaEh?HqIws5NWk2_Eo0t_ID3SXezx48hchfK|62}MSer{8c zW$*#AfqK}HoSSc))eQSzNvGa;_=yh0I)j0KY4ceL%LgB9R{L^a9{^W)A}}O%0o1ys zk-Uh$KB;OSthnycI(L@PfW0+0;G#QF<)8~9yfWp5Z7GccaIg6uqU}p*$EmlsppVz= zmTbFNRza#02%CQ=Aw^Uy!&7A?YDf~Bbi*N43Gd#OH5WE|@87e}z{98;7ADR9ghnB0 zoSS6;TP7?A#0OX(By4aki_h;$C9*EWIq*KA;Mj^yg727Rt$gN^V~S%H7bJscg=$1l{OfQuwjwHr%pV7 z9+uUb&h=RV)OL@{>F(b=)Tb;9XgBIt@^M~YpOPT}sWPY@r9&k0X z0+?HuFywzTahmpj3)6U=tI#D zcBb(b@ntweMP4~i z&dyj|Tx4(;0o%L*#3j3?4MD0cpvm>l-W@D8P{$%xnJmi<@}nJGK&Qk)hv&zGBZpqN zYSDU5*T5#mEg_nxOB57r;9L>Uq^3TAhcxvdC(wdunml6G6F)DThS`L)GaY$Fnrqg_ z3~HJU%AR^Q@D1!)=)aF9l@86xJnj>9i23=j^Js3)pH$D_Yk}b?eN-F@RTM7FbtXYk z4gKPN)=w01(vHEsTo6t{ersMo$g8{A|2|ChZtghNB$d$IOEz4BULR#qB4|t|M`?hJ zF1u#xd^>hItkz8cj?ru-WpeP9!)hZ%f6!XvUOL*cf-19bx!q%4UKj8pZH1+QW3mZ< z^EOp>EzrO>{mF_zjacBslhos@FB0SC{C7guAD=mY=r_|H2uwil-oAZ1!w&IKuW!1G zU`h4T3OJ5M{(CTi9c)4k%Vo?%NC4|+jk2obE?>IzhKt0lK(5tqX97(}cs{T~<5!4xF44E^+7W7kHS{4T~{;6~(w1+aj3I#S$y2*=86~5DQB!bF# zT2w{-Pn&_<&ADObrmfA<7#MW~>183l29|fdk zM=BB2Y5NksYH2dkl$!gIJ2yYSc;l@z#@p*hemBF|h{VL9Z5aOdcm#@M z_L*=!_O37*9LfoZboRu$zvFjX3;Go+*qyMVCpGb*9QHT_>Uu(vHBT&RK$#7cmFmcI zXrU5b5PuNdGwj&&sf5KotaoR<;NGT{bN{3vyl`w>LEo|**|m=D(2C%O1c*Qp8H@Cw z9I)A4e?!;#g;JULRm$C;H9YWH4zD)$!^qsY*c!t-Ft=wG(AXKj!!Ry$VY5ZuyJ#WgqGF5BZ z%R?k;8uky&nAv*r*1Yf$L+Smh#gd>fkcx+9B3H_xt6*2h8+|?coBWxh_@Er(Mq5nM z{=PPFKfh-^&+eNdpp~G3`tU-az}cI@PS8O(L_cjs((mR4U`2m<@e4N14G<-+6`PbN zcwcG~>8#hK4VZvRR~#2N@bImj6;9%ML)ousS%1MMrc$Upd)LWp+s?VxHb%y`EPH=H zcmVTy33m0WzLq&RESqFCcIgxXD8OAefiT0Hus4a0G_0iaBG|G&HeK*1+THiM1n%>l zZ!VKf5x^=8Z05uyfi^aJGqPVh`FeY$YS9e*@tBgJ=C{~i{0#O&4V3BWgIvLNac_T3 z&7!{ke$af&Kv%g%Ul0q2!&x%+q?DB@IWfwk4b6s7s^TzBQ3416Nvux8q&#V$Ee;Nl zgSTt{EvH4!R!%gS7+6Do4E?adDiiP6?fW>raq5t#P z#74jVSW_(xRzm^TGh5m}8s&j7I=-Q>#5Vv%k_g+!K`CaE)J=;akdF2zvH<9d{XH5$ zk!q6-ABMfBY86tu;=RLD@wc7teYwz2!&xW^70ccA@S`l(4f5_*G}ZPWW#QIe=t;ir zQ#t#5m#1Fai4e{xnwU$H5T$#fN&)e3W6(jtKw|D`s;>`nW!;wR zWjDi*o|H_L@wjpy!q*ng$D738rQjg5C@xv?`%t&p@3z1Ga~O6&e?fK-3GO6^9VNbt zpv06&HczpLe1u5YzOjs4 z3l3u$g2H3bgxKHeF}j0L;gRg13_zXnOJJ?wSwFvoqz;p2Vs)9y zaR*k6OHgOAPC3q08vI!_`{rVty~Qa^Gp?&rhNWPJ_@_u`n#hSjbufI7S|I!h%*hC*3C>ysM|@ z9B-<>}9N+_< z^NuD4=2BJLa>)v!-=tI;jaR1@7mHt8L9y;SEGjBUS~u9AYQXXT>qh;5gAHbJ$4sH> z0+aHL5YnQ9$(xJP(gNq2-ta1$>B1=0w3_Ww)`Kqo?CX-ipd7{#r6A_ZutXf)Y%ho4 zu>%+=^eHiuE${0>11bk(#O%GfbscmMu&H4R)v^bO=mJ$TQp}q-fb3snENfNzHLgI3 z_!D#<(FfgD(5~C%L>-g$NfVA@YNiI|>i+&=IdX-Rgjj5LICC0^6qQ5z$2~7!&VHI6 zOj|o`i}{kRtoo$-o?8Ek)k<{q?DzTy4lUd2_We5i@emL*hY;{--K`m3Q1WqXdFTZ3 zXT8Q+h1mz9@BmrY za(l6mwyQdnnAPh8JGkJ(t&b8lP98-$hHmaW!sWxrbS}!!K3DDwz7T%Dwd~F5%oDDd zf7gHhEZdvy6>r(EdlV4e3nI!gy5Nw zL+F-RZt|J}H4!WdSN0*h5zFp|3O_95tMmA9FMxu_k^sV#^D9{g7!$0WB#3LP8PgaZ z%P3yuu|Q%bmw3zJmWZbIB={y|dI!mPN{JeStn8h}e14LXb`9vAiZraZ1S*?AH1PNQ z>{sMoq#b9u*gYxure4oF(zFcv90SET8>gGL!>9yL?JO*^d>9jaD6vAsq((#fYw~w% zzIuTcS4ZidM&{WU)?uN$QNwWX(FQ9g0@gR(>~olCI7P%fKpaBKO9Yy}!kB*`lQ$J3 z2igiqxX`Bo9gd!`K7g3m^h)g?y8iG9=S!}jvFn&71oeODets}Q0a)+t{HJsj>b#ui z4DY>Hq+y*@|03D*yoOZa5_~AZN;nmfB9drf*MO88HzchufCgx@|u^~mG{f-=JpBF zEyW}f`RqB|3Brl0f`dy-1Z$$zh`ci{ShDJN48+A(kRn@Wb+Ng(IunRdbOo7D?OU}r zJODB#x!37^zo9;1$Ec|(MQThzJCvBk#aA(eGigWH5I}0Sl7`JwWIg^mWEB_yoZ9bT z#jw57^dXIWshVy@s4`d?13D1+!A!DHx%aPWMl1Ez{<*oX0ay4#LF1sHsdjU)6q?5V zP0^xZWe)dzb4bhl&y%5U_@eKFm}WO@46-j^|EKyJ3q|)LXx2u5u+DBuDKEX_F)fr+ z8x7gjQ)zJ>4*&rH@Qw#dNr13uv7W@jX<8##Xhjb8NtHlsSO}9)NLnvwP5BwvRnqKj zv9XVw>>FAFe@IusOB0d7OT?v-#~+PL{Ish29Re$VcifK;?@Z!lRqhQodA^U~cd|WX z)K_=veXnw-2zoaNI~H_&?7d3Z_R5?k&SNHFG2q6Qv+fYYq!qB<2Tr)1V5vjlxKxs( z2(#-v)3r9kclk0qJ7*zG?I=}Yeg~70agtmfdH}Y@t|}{AfYmt&MhXx4E3NEI0$q6C zz)GLMo7;0@aVaSuK<~aHEq!N~nIRvH<`Aj`0$ub=T@6(+>b0RELBr>~I&CGq{#$>> z?qHvf4+Gaq5Y-Dh6r@e+URYXm0cOFYcyh>J%UtB#B!YXTft1N3ZyvK&XI6FDA+VOZ zYWk6(uf=^E9vtIETGc=6eA+93xqI5RND7`y4axtMJwm3 z)Jdu8T(ua8!2rJp1u_?_Th{V+Cz|znB|4sxi0_4Zn|Fq3*FY0O`)^OkOGJ^v?CMAD z=3yJo5lXUn6zzMElxiqBP-XP>{$HodDe+5pt-fsj`bSEQc7#_TRKf@53)Uq9(2jg@ z{~1u=0aGmph!002|H8ihEwDp_t02hyX_*M!UNU)R@*W)a)?ZVfH+3InG`*+(vBdXZ z|6xl0H%VV68#dY^13Uno=sz@${~<5qy>1BsKO6l{T((t zy>1R{YBeKo?SfEeinv9Png{&6sF>x7ueY1e=z`R19MJ%}BKg-}-QB~Pl=sE%bsCF{ zo6%*Z>l}H>S`C9aRJ}*yCB&Db*MjTKc9(Pb_LLVF#)?QjzOnv;N0uBfh(seEm)?e7)8<&1{(-e*_xmpI$aC|K2QDcJRy3i^{QGW4p)e zb(oyUqey*{y(VRo;x-f<=Ug~=Gx-FTfD-4vM7aW=S3sv)$dJAh2}b?F^ZLcPmBEes zZ~EyE`#yTN2DoXO6)Z6q6?XG=%GYKRB<@N<6AFJPdQTH|o$haArsvASCuaBJOXoku z;Dj7I8m5<0<1VmxyTgh@CMJ~L-H#lG-LVA`@T$sRy`DZ}xqD{=GXK!BddCk&WUC6* zaoW1^o%xa0jlwZxmJ zcS1h@F>&6+Lc7RlpsuE{m4LSA{!tnHLO1X`f{ZX<7vkVx`WQDpqoL5R+;@r4QxaXXFa*7!!yp4Gu{zf?mFyvtN8lY^V+t!QwvU zQnhf3>&Qowg^*ctF;cc0{N?o;Ac6`pn-~}v@Wa7aNDDdG+Q#Ml-Ai(u8BF;NBpqo$ zlC98+0k88LND7aXP1Je^T&yrqeHX&wQuNE8Llc!3Qh4B5PDkf(41W8jp|ll!d5b>E z+jcc3nia%CkP}-1&J%@IKu=~I=*bxGu7i>|Hd*d8xHX3Izl#jq+kO;vkd7~t+O=^* z;Il3cfl^XtKk-{WtPDA2ICqy|UA8(LYNnn%lXr^mij$qsQSl4$6P$G$c~x7cPj}u_ zH?_KLxeJS`gS&996*uw`s41{8Pk$l~q+yts%S~T9upbEaY^D9wc*-qqGJ zkk?#@(yyuav7OS9w|@1ejB7Dh?U7>WQK#BUP$K@28W z13EZy{>E30zTDI!2RrQ?EhZZ}B4?C>Zw08Cy>r-87~NgPcc+#&Uw|w4`aVrD7UOGj z)0&fXE8!A?H*BxHqnSg_&QNt@lup-;X9$v~XDIq23Jp;HbYs1g_OCKScwg#z&Fwg%0Qw+tx+y=#ZZ4uR7OB6eoiZZd|HhBxF*0Ip9kEk z6)GX$No9SHmfc&|N*c_Bo{9*cvUKxugmk;oV$KAvYKK)&R@DSF1E?Q-pGut~X6!5s zhWmh43o5WiLpxetLZ2Picu)66h}Kg1)QQ{MZ3ORmz9X&i&F;jeQ7J|#Ff#(g4|2Wf z=r+o#s6KBbZmbHCgX;WC-u7MYr{8m$RKIKzbU|9;QMSmD7`QI0lI5n575aKpl@yn( zdx?-5Yy4bLPKXuaUb~w=?5Q%vGo_4I+3;}`7swqx&Xusd)YfQ=Jm}q74I6#A%W+=7 z^?q50n4-UZriIL=&2r;-3<^8O3=Q8;Ik)cvs!*AKHd&iwp68+4pHO23FDlPt>&kpG zVX2U$M^oY}L;jv)ebWc&d})gt5aIux{mw)SwPJAfPmj!iNA|8@`ILI>&Y8jq^~>c$ zCBj0yijEIqYyp7*YEwbzzls)!;{n`3+Ql@6yUC_KeAU>S93)c;(F$@gYNGxVVLDvTI>1HAkM$X=>2KdC6qk4v06D zRINYXyB>*L_%H&A4Yk)?bsBAHt1J)n9~xIgTljWLIFm~8T171XIkx9X6Nb7g4XgzJ z?k`l23X*h5;Ud02ZvTaN!>osIqj=rEyPrgxdiqTY{qMr6d__0hb_op%|`&44WGl8%#gO4^|+WO|@d$MR_N9x{NYocMO< zJEcW&3!>7VZXq2+(HMw2iXcJ*txMIFD8JtCy%%{p-Dv#`H2qR}&uGB=_Vk*V^%w7_Rlzvvp1RsRzr-7Ft1k6k zUaQOXo!Y9$O56R7{j~0&Fxe|})O#Rqo)_0B9ynq5Q?B1`nttv%=dhd#_iE+lA6|ov zBKt8}XV4y|+{zfihF)PTP^Ckxq?ps(sFw)pvm8>+hy_r?L8)E zOrm5J$Qp3|?nXFq5F+PT{)1yE;EN%}JF;U)#mZu=#o52&f;-Qu6ggHjKIR(9^(g@b z_&_~+i`%l4Xx{B^)rRCY#*{YUgqD=rUefZl%x}kI?J;Y6UqTw~>u^Ex zKRhTz@yz4p7k~;{WmPUt=%Cbc&qq4&^BZULJ|T&;Nk0$nMXA6jLm_M*Rzjk(jB8Hn z=TH58d3{8}&f;=N*IIbu5@8rw@MBZ7FzC)fzIG-5H(xBh8aC!D)N@-sW^ivW@XhD0 zZxD_{489bwoZgXUaFdF*stH13u=lMK&T0p@vyr>@_8Oxgt8&v8{JJz#G5_+&O-?w~ zSLpu4(Gybg3AT3gjz7pA8AE=JlL7gXKdqUh`aV0wiW1x|zY+KrSAJ=hI{{iX5p86( zETlNB?M?ik1Zj_^^51FKScT@$8TABTY;Q&i>a;{~gHgCz^9+>FMy7rNz2K<#kGS*f zxyQYvHBb#cy>X<38*ULtSr$GB58Ygx;FDg^dl8)_X9MJa^MXDahr4e(X_C!z;uf0PIn=V|D_;O)clX|9u` zzpjPj(GGgvqx+$zL2Iwe{K{b4Z*gw|Iz5gHSkjwajB*JauPTRh=fXHGzP}FUXngct z0;G%2wJ5fLn0nUH>RS!F9;?dckm`$*(mV>@y_v)1tm0(fVq>%VC%Kb;(=6B+|A7KM zK?MafS$F)|2fOg;4ow}MAt{{FbYZXz5Kia^q{bs%{e69!woSXW02A1U;fKnt*6UZ{ zV0jH95dBP^z~G5r;sp1KhfQPhfVO;*z7}ag8sjtFtm37F@0%|ds|=V}mEyz9rOV0; z6Q-rAtXSU6=lxXK*3(E@3jE}7D3LLGe;fT*Lv*iCn|u)Zq_hI!c9F3;71?s?m|P6k zL4LFI!EbUtPHPp%VA{9y0qCf zt}VPlh*q=HkF?>M3F0n7&71xgrb_zMQg#}SMy=-xvm#fbK5a&Vv0&#-e_Z|Xu#XBi z?y|7>>H3x&;Ey$n!*?6HZuv25=qGZrCbb7!%}BF$<}mUuJhBXWT#>(wTn73|cP$4Auy6KhMX|y7 z%~TB&spW5Xn)aVN_%u^2s}@#2oxr=(t0$#heleS=A|N}})U^*06^N|50kp9TeQ;ye z0(s%#3gNavEl+I1%CQHS+{nD3xY1*Ln5z9sjv>wJ)QwU~!bad`A)T$b2LVlh2 z`jL%Ico(oFGQwajU`j!4{z&ftsOwg!G$7Ahh69BJLqIeVVE9~2QeGq7L?LKp?~PcPIjCp-m_op@)BD^ZzAxgf5hD-FxAl0qy83X?vtQ zw8q&PFG52NC%y<}2KB{BSXqLs!DHfGot=GvB((GOa*Us#BR8Nh!8J7Q#Q-2y|HKab zOhXZ|@-}CRs*rxF_~VB2eABQ5DhKRA{W&b{F{uPRul=t!<$_3y?BKsPdg<)qKn@12 zN?x4g0ZfYzK%oX~4Cn)CkVL}zp+N`Bxoe-Qfy6Y8%`IMhzv6?8+t^I~N68ysm}pu^ z(vH0s_5<^E(qEmSDZK)5fNiBo>crgOMgj=cOc+A5`|C_Jd=XmtZGF!iY>$rcUDSoc zA8Y#wFsSsbY#-dUp57X3sie>O+!44jbrT4G+yS~u_sq;vzz!_3su|E3K(idj3PA2?Do9}1hK_pFJeO~OFGvS6A z?8Tp1tEpwWm>gS4(Qpy9PaF_|^VCVW`2yPYjxR=*P_L z$JRwx1JUI!B#UBA|G`dKbGcR<@?3=E-g$V6%r#(zO0huMe%~3_%5Hznk@z*>jbv*V z$d=PUDF{-u_DFkhYGC)*$K`(FUo0peaoi6~h5VW|Unn~(PI>@wpO~5)tohig0c;0o zCnPX52XgH5YwdyMBgskzYnD(eM8vgRT_$1^m_QS!FhucXp=N zJN_(}2v}i~_nFJ3Y*NjPIyvgx2(30@rggkY(#|iya;QM(&IGB zIR4zFW-i_rfU|0_W%O~z>?K0`-(SAqZ%*>9H$e;iqjXF(9m7fFAH7s6VvOSV(HJR< ze;gLWU8?wGggq-_0y=pdAKqo$A?>XV;k-*wJ0Z5Vkx@Q3*C*$O1_r>kV}o+@z2C(5 zQW<2-d{V3^rYO;gEhJjJ&|9u<9%*zs*Y z04YB$mCf;-Asy2eAx08Xb$QWj~iSMwqlRIbN?3v5SfJ{qoc*&ZAPD$?!2w8Ui{I= z?{VN!)(};3{h%k$0dvdsfD!`IhT4t6+sX4!-ieSfphZR<1i5TDfC|YNl|5*~KOUCW zE4?~fvrr+zU-+dB-z&qRjEHbH5-z8GlC8kbyc&xSwkRyjILwM18o#F(aN*Q*r2|zq z+TUD&{2cmA?NAEW)un`yA^(Ix_(BU4r9vkDyC0@(z;H;A-I1V8yf?IjUBwYlCAx%c zFI{roN}zX{Fv#nPrBz2mBZ}!y4)==dW!4+m<*gWEi&cntMeS;BClKEI>^DI@^f7Zw znDhD`*#dhYjLYRB!?Hi?4Fkz78y3oAbFy7ci00}UCdQEI1}<*p07HD#50ERVZ1Mo% zHwNUlqz{HMPrDqdodw`ajUmmoRLVNgG>DU*NUlW4jn7y?o&E0j+{q}k{q%DmE}L}o zuUlSZ6<|cRew-PbtUJuzDW$p-&!D(7EE8`5BiDZ1kny&E>=aUL1L$;OK3v(EUJmjx zjb)J?K`qjC=~m~aqxyvp9S)lN*nG8M)d?ZTL{mqt({~nJ&JVUTP^@~*AyZ3<-gTV! zuj^9Z*lCWq0>Z(=B~7xT3#A{QiBh&JL@&dA_eIVWi$jadO5!Cyefpj<1$-oz1T8m< zZy=vxYx6n&U7iq|vM$+g1^FR=HqbEd1~8YFy=>ihh&sdO$ICC^YC;A%M?1)gcWqZi zwqkrNY;*MK$=w?Ig#JVEP)-%AjT&QH+Z@B^Xknbyi>P(qvhKcsX!$`E&OsFWiSpfV z7TX5S!XFjSuf`m+)ZJRBaMnh&2Dxb4*A)$^lt`ngqZ<0Ddyqv5shZEErgmp&QWF(j zBzn-ily9h$b?tvgE`xThN5s}9EkI&l5n;NFkGJJ#6HFm^8ZYHJU5>Hjalj3|S}r%) z9<3r;apLkYN8mVUz`Y2Zvg|1j zM4Ga>!LMKZ@cumQ>8>>HOAbHfwoyo{u-QGbbG^)`?r)S^wfi$CN+;RG;jJ6HshLR1 zL>n#D@un`?RhZns)e}wz z7z7moYcQE-o^PoEyhR%f-4@yN(wlk!}p_$UA+7+^o_Uv32w z0>a1^F}z^!G6SfgDRE4?r)|EMH@dKIj?UE1n*UT2eh1EAU)1mzGhikALxU-Uu;&_q z&hmNqq7H%NcXC+%+0^?FjsIruR^(4mX3JY9FRTW#R2ki5)o1{3w)`ZG0?f>5Xwe%uir;a*HD=Uq{){7U+EFs>Y@J`?vXem2wW z-{C3KW-jch8RZc|mBt}-H72_t&EHeyg&2K##xg+p3sT8k%s_oepb=eeDEroP$#ep8 zz9^teSKCG=XjDp2cu#Px(hYJv(Yb(+tCKSttx%<5w^$@atINw_K0_1i-liNbTWPNR zPzA`e7ko#c#H#%8XER}aZ$-2%Hl5z&3D)0JU=d9Gl@7mvoCY2s2ujGo72l!a*bylY z9OC_n-xrlu_`pdfBPl6qzE8V}``THDCXg*~jZ4P$ZNSc3#L5+Ya{_T83t&BsU*omz zY?*0U00#`VI8}#CqDr2P&jJB?@Ha0Dr4~>$1Ky5P%ytNI%b+2b?eP|zxpt$sBr0xW zg#FBg-)Fn>exSvB0sz+Ck}gnpjP#$ee8};SqZ2lO&pbpc1jV;vufW;<Im-xqK4f4LX8p#!taC9-HPu_Op2hqlT%EB);^$^@-B4Tpqr{{B^{d3->qOX|+pF{zcc>=3Lf6G3eO>U=W ze&cVLSa_D=i@mS)q$zhode3|ZCIO;LiGK6I z{Isk3I7~g!P=WiwF6F1DS#0otSJw1aaX@mbQ5CbOMB(PyS}`{dyXS$|zYvuh#|qRg z7mi5_owW}VUWEn$8Uhx$9X2(qev~)ZJ@UU(zZ?zC;G}&tl;DO zih|dUJx1cFi6Y%$LC883Ky3F3d}aLQilgUfg_Y+1^}NEi43Zqd(2xwaH4 zMK@Tz$WUFONyu}N7|dSu@lzo`UV>Sl@XlE}akrgO+@IQzPxU&;uyE6nwe6PLuC30r zI_d3c^t`CLI4`{T`U5=FZJ(ZETH5ucg~{mtlp$(05hM!mp-+s^0x5E?15UFPPv+A*Q?6#P#p;L891 zl2$&R|F7jx@Z{g+7ndj89HfRqRJSPAm9#c^NH5r6jQWnF567Yh&sNJaJ?XhL!b#qHrl)6@mA zA=8XTH=Qs^h|oCve;@tzP#teLZF2rjvU#Bh5bpK>HKni1LBTlo>g2HcM1y4(R{*Af zhT3vF`d+<3F`KLs$1&Q@gGKQwsl?E;;v_Y7OX~aE!}NfNUj|k2PL+j>IIJyMdLE!f za*fD6N)OFIY@oVWz+y6M%B@^t!#>n#BuUFTun+3vbAb;#IKi-K=U#d*4Zss0Jb`~Y**8w5e-Mh~la`+txB%~$7_nu^@Q zyN2w`jQd)n%8rSF8;+Jo+Z(i}d)@Rj{rn@dTGH+H{H?^#yYX%zomdB@$$9rwo3b}c zMi1*#m$FI*X_hBCMYz6@kiY2Sn|z7|Q)T9*2j4cT{CIzPSvvQTh;|4?t<<#fPAQ&c z^9vOSZeCheyK=oU`qE`ChH#@oTVN@u+!y&?RGMg#o3{pRb-Z!U>jsdc1xRe#t)KXK zA=XSC*@sN&K1mqL=Oa?(2MD`|X+ro~oxRaL{nb}}5ZZTs)5vfS!V(gBZXFrDU`_bz z6w~di3~{f|R=dB{|LYZlaD*B|*QG}y1)+nlKI``8)jj1BFYs|=co+Ifmg$}L(`TnH zh{C^WYFxM^hk=Pp)tml(fg_325{JDUGt;AO-;;dsy}NlmaBe*95y2PDSG;YJsZ$#6 zRReOJfuyjO%W#>GEtwFstxZ!w$>A>C!#`~X&pc?OU^}hugc)2IMhbfdP~<3w zEVqMIq<`5=KTtJ>-l6Bohn2BFd6Ww%P4xj?veKl7PUSg3EWwGiv-o^MRTSD-8fwGG z2`mm});g^Ouaj?;bTgkoKf7-VgF}&c#|d5zyb(%bz)Z@f;?dJ!^7I38YPEmZUu-MP zp96IHuEI&q?N7S*@N=awu$7MST82I_)Y;di=udGu-G3K%#Hsht3+a%vJ-wO1iZu#a z+@F&OULO92sB=5>fioZ_%R;AOd(7&GFB&df;OBo~Y5OitQdT8iN>xOvZluN~ar*a% z-@bj*yLIbU{VWhY>-_eu;#NTwOT~9g*SBv!(&W8#>fO*!{<(R>;FIUBO{HZfe);mn zFG1YGIW1osKIv(t{CnfR(jFxeBMS5>=Aqof6+q;MOw`U zCQgUHFbi8<<-H~%D?D`FG5CVy{$)6-@6c-ds1_ruy-UcrT6?=Z`CM`~Yn9IP{B(TH zM^eiwmM_z|#`$w%ohZCQbOF$!H(K`vc^UYEBWmNsnQbwBr!nGOU&73@4{B zytA_t2pn{EZgmTvJ}W5g`2M84yjD*wrlO)k?ZJaIEP101y}a-vW2{OjOVxJfG(5M~ zcloE=s}k|yyV-wJ6fsogav?a%eUC>?Y;k-uj^ZRqrz3^NY1s5|A5 zF3|E_>|LwIW}cG>yD#{aeV-siFF(olAw0MAfTL>JH7Y823XxpHP(q`ECTbEUf8KW^ zfxjIAB+ULzZomS;Mg12=Mv1Ono#&gxL|s3gzw!1Y@4&YU9+8}rqZU|k8)crvH)2&c zhCJIP6*w)48EfQwk_LBfu8lsgv-ev@e(#!R zPP!J1o+c@Cz2)S|MMmN}^AiHNh~e!3)T8yQe7{cri)?`v=AcSD-V^^?<@GWU_l!}O z^IpnNZP${j@RH@pEA$Q?&XWVr6+mEOW&l)WJFtx6$IT|cuGQ6Wus=8J-fkXjISj{{qBlL zF;(O~$G@ZmJh`RzCl6$ zd^S!_)2km#9j!(w;Y~-3ArC}co}j!S*iFKp4Et=`Mq)!3FSjkTK0j;rUOlzY2nkUj!P ze0}BC3O?iCftw>-T^GI?0Y%kQ2!w&@GjDN2cy4uA}h*3uBH73;yFC+S&^Anoofn*}l{elJ5YGY+iPpL&_;z z2*RjGSW_oACe(}|N@$PlSxS&l16?#Y{eat49Hkd3O}5VXenq$ee^Js)_2~M?@J7{V zU+;TC5501sd+Yq6RkpPs7Vj9%*pMS@v=omvSe5kyj_ioYNMSKCZ8#jR1d!(#lY$y~ zK!P)~vxu7MJwU15x_3`EVF(@^40J^xRwDpS4&>>V?s!R%?Oa@3;3SQN+BJ&`V0fNC z=u>o6pyMG7S}dWf`?Eypt~N|6M%wJ?)P=n$-$Pk}jFF&u`rL6-1$8=m$&qpti& znyOkXH+6sUil70?&)vKlO*RZgG;DT?s6O#Yng(Lima_ik<7i1|*jD+=q^!hTC7gd& z?qtIQ3zMc^Oo^rYDy~)o0lhQAd7hp(N^UYlSsAM*7=^Kx;W~uQoh>bcd7w$@C{8^T zQZbOBB>bz(_@kfu)olV#@yw=E>$t}bw9wpXZxlM*;44!4DO$q0B2k{YTJaNUS+9=s z(|af9z3?m-h)?H(>m`32R@!$B;~UA71g~+a)fa8S+g&6So(MFxV&r4{H0-l}iZQb8 z&GpKaVu1j@o)tKA2FmE$unKOB+Qn96*%QwjSc?t$t!BFgi0rr2ec`PYlHdWGlzGZ2k9qy>QQJ%v`Erd+s4l5hX#FN#zlXj zo1c!y-!6=MD8F{VA4*j${rc69ve9Zjgv31;5EPREa3F!iv4Ai3z!!#gG zwo=|Lg3R_OGOx#}{}fDET&O71E*o)8g%Hq+C=8_ki~MXwoYF9I?rJ0Brvk;#Sh;Ue zBjx%%^nTSf(Ew9@2l<8N;f3sbo=e*HqU4Fe&a_WBr9d2@EJ9&C!IF^`r->>CF-}@Q9$c%A_EU{rf(kpPp8vX_Uiy0KO zzYlSpOghRTH_PX{XUJyH{YxjH_0)JqgEDh(K=*dvavaBvFQlt-HZ3wF3Gli_?q9@s zp7hP4#jHWzduElci1hC84{lfU-C+?+1C(rr<_F>p_2NG)Hzz}KRbXc%ok@vRZq_coYg!$CPo6LC>}I(t zk@Jn9{JqddW4Lx{S^! zC+se!e5#R_Cx7yK(J^sO3?>c5Dl{vUzd)v?H$3hJh~lVjczOk?emJU>vg3B3ZgZ9h z0=o5Dl?0KHdSLLp6*Mv;Fh)753G@3)(}4tPk*E>#gXWR-JUF(Q#Oz^ie_b8ALs#vn zLF58B@dju-p}`!8!reBGX^~V*%P%PCWL&oQuC)Y=`93GWe!px~f*L0h=U&DMU%xl^ z1kIokNt3}uQ=n^rOR-s%2XZJ`L=XXNG$6I59oU2dE+gO#)3Sy)8`Xx?1$A6g;Sf;0 zUvrj3T&0lZ>(qX(HBAkBSBU+v3``;1VVwkjk|%0_kqk}q>Y}CJHyUNVv+38VY3s19 zSK#aNqucul0zZ@3;{y4eM^jaTwt2&M`uzP@U?jpYqHnm`g|Qn0i=nVg3(Fd0^F^IY zf+iw%jxP)UQp$6G&w2G4%a>E1zEFr%A}5JMb-b8XC^5&}s!;ZWhJ6q;_b!&`!53^-S`NGe7EQWdAk$qfao}W!TjKZdn+s+D32d?~CAp9BjT^BWLM-UoSQ)bvYRe zeFLZ#AyLtuI__WDK|o}Lhp~JMD8+Dyr~#99Pn#Q<=;Wz6{#fc?eqYRaIWN;Phr54w zE@R(l)Wk1P3CfjqQoHy5DT|Q;gQu2T6=g(`NtlO$l!c`7%m9Imw|aX`US{yR-0;4~ z1sR36-rMphHbfb8KruN)|H1|BfIgj;V52imrvhv=)0UWEQCV4d>E9BHfq@ZygFxrA z`+fGg9vUZ$LQkoanUeUKxMhdp)1GpG8#aG(E)FdM#GY9e?K&9**Y;#OZjN~c6 zgqS-I7O)NwIi&td$SWzijSC8Z{f+37^q!`~xdAk;$$AJw&WV-1O#z4NFBWy*S(Twa zi00JdiC9uRZ;A&c=%I*0?CFJFlOqv z&TuJP&OBq^U>k4pqRL}pgXL!xYBF#9(Ia(STHa_!B6nazd4)I=Nd28P{5W;6lm(T@ z^EvDhb-UY6qJ*V3hC>Zeh$<74edqSe0>L(RC^P`Zl4SGDl$3=|mYUky+Jrk3@@R)t z&TH2e>R4(V?(Pk=oM7b@#Uxe)6TWvK4C}SrV|d2&HPBB#Wwh2EF8X*C(%Pl6i1BL( z*bXn1N1b>IQA(pZavlUX((nbWpmx(UDo{SV60jfj1E|LiXI+9(2LXCc*JI6N>`Gw` z{XnTdVKOET76_E+!L56I95!*EfH}!*Fzv)tb6%~~wPpix(a~dSS#T=Bz z`1yCAKZ2nRH%|mQKTMC#US%2keFgX(9K;%P2m2W7%|xE(nN%OhQ!5BgxGY^{7q`B$ zyyjZS9sq;T&JiWcWC4mk@eG#j$S_O#*elVQS7{xtHs!j}p2!#(z zt^=j=z)MX2zSeTML73T56n7!8VkL_+Go?+}fc5^=(wcnHL%?};$T>6LI?oAEAlyRo zB{R8g7<$N^J68Uan6YFkYt2v(OuA13Jn?|=apRhw0r&*i&8=iQPyx=*BEvr6Fvki? zV4YAOkfb4pjYU#id!pN1j5O-jnHJIUX#W|L)`KKp(i*k0yK7VX)GNQN(?gJpzstMl z!RNTTVz2jfb?H-)rB$J`S`kubgh=&pEcw6|-)L246KPY>5PnjCaDhqG*SQI{Yd=Pj z=24J|TgesJ&ia$>M_^c2IC2VM69C-y&Y?TBzye*Mo%-S`w_-_3so6>sTH!@~7-a9~ zW4qz4VO39BQ08D2It~Rr#l*Y3H@k}_L$CWPD_6;c<*$FfH~VIH(Hd~{SvG_kra}t| z9=zR&!Oa4PQthb*IikiIsr9W%`eUr;kEa^mSHY%W_E7WcID0kD(?NOP7)1-^d}+99 z>!U|{b*A}kpnVNr_`e!F6*{~vRIHsKp`?1niSi_D}UfA7Y~B?~Uk9l#Zo zm6ZX&LO2(GL+(A$`zxT)itqmY%84kQTG0l;8VFmMpBDn&;CC9g3c5H{{@p;OJ5W(W z)OEPitZ=U0XJVodJZsGuPY|5F0y-Z`{d}0zX~7`NZ@gNpg~;3F6&OsEwJ4u-87@c` zZ8ZmR+z-iHY==SjWQ}B&@08%%|MU7wXI^-+w)3du3Ym$dv6Z zwke<}Kjoa;?95Cj%^Pr$9?P|ZenT<}S@lgG$mnu#0Z(HfT@|1)isSF>N0EWcHH?=i z?p$Vo$3B|sa})Y0tK(LiMjLCrU1gX}4pA>8|8U0;aAZ`Jd>?K0{W)@CMyvT?qke$_ zyql(F7g>XAFm`SC=dALz%VC+k+c{e63RO!8BCqJfXR83aS2@89<>oy1!Xe=0xpTuk z!IIOWQ?`8#Uz__EtJ#I?=8sov4XZJ-$CXSnWcC{^-!Z@(qMP{)foN zt@vF1A8!xvu=?L_p>F@>um2x8EFRyt2*hBRqkn0k0#oGWeq9e?MDY}^aTTH%&(^d8 zI^y%*w5p7wAt(-M@RvI@BKd(k(7*Wb=M^>`#Ztr0d5v8#mKy`W1CB=|GpCM<@C$-# z*MX0_Q9gU!)xd_07O$2x7Mtc4?-KE)(M%sN2)egw88t}bAHe1-dBOL~7{^)A8MP_L%>=L0P|C0W6G0t<5Z!e4~A*$GHCs4nw>h=okM@T0#3tW;6=7)K#nB_|qfE zvM>`R@6)*}7Bb_&NBnJLUd^yDC|MuHV>>i7yzwdW1Oc1XJQ z!|V`Bzp!#b9jPH_XzM2vAzeRay-!}xWvV6eEh!-ncFIb#XErBSF@xCf>`Od}7W}h! z=qk5R_a}Z<9vNhVauh2%pmJt1H5Lx(g0FJnP;;^As!`9>tsa-&> z)WZ`PsO^#{pxC^%U#KUn7@n^(BYShd;R8(~?t^_P2^% zp_W`>Q;KCfyn4O>V&?D^8vM6@FyxsovRnhFBuHmhi$FOXaUZAJeQ;HsNjVSK-X;C+ zt3AriUB6UEj{aKABr=ipdNRfG8HZwbO|fPNNx-`B#RHeh&%l2ySZ`XBYUN^C;=Qvb zYm%M9^mqtC@^|qZsa24c*{d5dsjsN7y5rqQJr}#z8^PCxWb%STsP&gffr@=%a@efE zAA6RJ%sM)6?hYE=n8UcE;c1{_Q;nai+|AM~n&Z9oIh0N;KcP^+eiAgGFHIw*QxxV0 z8IDf}XbL}*%*sf0(l(8*$`*ejgw}Gyi|h@LW{PP+WOo!h{Jfk-!p&|OHyT=w_Xhak zaSQm)yRM+`k1$)BFlm{a2luHuEYc@p92lw>coA<}{$}M?D99d{4)Z-lu`0@1jIUd5Ixy@>5cC9J@Dya? zb+~^Pp6gh^Wtf;rs}i&Md{e>D9GL0{f1eP?dPIuSzsF)9mzaZVac9ndG}_y=kUR_5 zUuo)LuU)x3U;lE-Eh_|;D|RqqLlg52d_~xycv1FU3n{lbr%tULln3t(A~o%B^?NL? zW82ES`Y$`f)ZRXHpaLZLE~404*D||tNcFVd7|ZJdJc$TLDxX?;-_M-kizYkr+~Wya zKIT<0QZ5sz$rTZ#K~X1`m$7^>(*RX2^GM?r%9`qMYqH1 zW1HRkZ$1XB8yWjoa#M9u)$WY34PI_JU};#3PKh^=@F|dY1axU<>{b<@w3g)aw55y} z4-^_C<8%kp+|@;~)Lddu{dVZ;%^*S3KBktd({;5GwBsdKrRYSN&K{wo@%#KkN}glJ zo3SUv*#n=g^}tr*VRa<-8!?rh)85FCXrDi!*DCYSSgydV zX`u&~zHWC39R-;4HHUqFJp?9(Pwk|M!_ojS!LFvj#EzVbPK z#x>J$vZguz*M(EoW~tc#><@bB=b`W*u*ziwUfRzWJg!(G(fae6d&o9P3h*%P{>!0s z(dnymRG50XDi=|!0|Q0q58amiJA3d+s=j_+z9Rt@I{xcI2Mt9mIKtL@w~P7&E^UhA zsIxA4^+Tz|bKtazCLkF`bvJTbT5>eTvtY>T8x%lTe>4V$(9T1aws*u+cvxMnu~FRvBXH(zC|j?r&Q9ldkuA^m$c`y2J94gGS6 z$)WE{Q|TX@24we>W6eym{}o|;skSCy_-yf)n@pT1d`_%4b%)F9`8*@H1y${Qyed$* zJ}4n}dt(n3UUAyB4;5l5cYj7;e9A3UWXk|J;HY8>!DTL z-JkLwo8XDgBJT{vd+=%hpEDb~pV_Vj92BC@_*i#E&MaKLx=`Iy?YZy|+W25#!*=Ag zq~FSY?ah8$024zQ{)KOS0NK0EPwX}Z&@-s%?qDf&Uuhd)ZOFT4$K+k<^-+pN9T4IZ zIk`u%s^EUzKOd9o-bktVC%$%YS#|2z0|Du{izFgUCi%6{?@+~I3VY~3iBMr@|3gSV zdR70{pYH+S9?gG;S^s}OG?cRz$-Ezu+7IY`erG_dD{TKX=kb&N*F+7@+Np9Z^g$pt zU!r!Qi-2v$yr)hCv{|l(K`MX~zNLg_BusZ+BClh?5-lr30}*Esi<1)L5AfKpA8+_a z-+iOpQi_c_|8l3d{-b;)J~LDjvP-PsZ`>J3S0@GTEWM8eh@el(VEVwgEP&hyazyKH z@NTPgni6N^ef!RmzEP0}Y|PI>yHja%d_15ao8H?52tM^ab8zRR2YDCrZ7&c(8)0f3 zVOcAS_PW9&wa}L_??sXNLqm-YNa^|PmcG(Nzmm24;0p~;k1xHbTUBb06^~sRfvTKn zpdICX?RqK=PzHy9Mr73OvYuLEB(ucCRe7VU2I%cayrA2%+H+=#T2{PsrF#RzBMdQ|O?e>y)*fA`KwMMV;oV*g^u^BJ`- zlHCf(v84sse0X0&F(&fYs`%Pz9bIsM}1yC5Ak z)A0Hc&AONbVeFk%4F~|y=H}*>#sa;$2S=1*IP}*+OI>9RQ+0NvWovcvHmrd!A&*=3 z3*c)4B@`%aZOD*SgiZA{e`8mk|B4AA33z$6-O1+ahx$@&ETqA z-S?Q|9x+RPD#SsIc2Bl!o!3+;OIGMkmfH%Rodmhlj#$N8oFj?txAbX2QA%qxzl&ZX z=YUqK$_DPCRORZcQ@f{qP5@DW1s)R<$BZGGk5`tM(I8zi zf&;<$ksCw`XO@3GVFfL^>)!ioxcQD~$vl{AOnxqwMRl;iy-O5d?;pkY_^&@k3p>|k zB!$$H1i58QB19zDp{*J{xn+}b50q;i6)yKHHOTthDjW)3sNQ0puM@w%L#$u6AkVhB zKze{msfO3z)RcJSZb~--^Pj~_j>~#(fvL`D;iQ~2`7A@RQ7h+rY#|Zy@xpoI!BWmj zl)kk6{KA7fZxy*EYE}&LQ!s(lq&hJ{2{jSpGCjN^zy(tN(z{poN80A-Z9egC|AQXi z{gH5f(mU(YQYE(fJHLvH=rBoSVbGW1>WW}^J_N=b~>L&WJ#IQtZazaJp%7DRG ze1}pI$M1^IR@4_2fYqKQ*<3Z>%3~kLwUeMu~MXBhW+aV`cCW%P|VWMIS_-kzRj*n6<~e zLAhc{3+1k1tkWwLsCo;w6z?(eI@<1ol8F;;(Ot(lCdcJh13vb~dXCU+Oz8f}`4)2s zaPJm_XqRFFT&y0B^KJl+U9}I#IV{FMLv%zz!C^^KcRU0|q1Qq;9Gc1Bo8Iu9L+EP& zNW2L2l)K99(oEf_p2NEiXwnI1;=J668!0u{#>Ux7V$uFYo?)crh*{W<(-*#R2%up) zt)D!p(eqpXJ^hAj4Og%H{l>Jcg{L1M%i(>W3jILD)whlt!7%O`F^_N8yQ3ah#ODIr zuJfcn9omO&qG@7NTp(-XzR4Mlt%mLIDa;LWQ5Ph;Ke^fi%?k#$a8v~@Ftwi_@u1Ink zwCU?>a!49^(w@8H>iUvN=wRYek&VE$#2(C+NPVS&s!@|K+A_2v5DM%?0<5QAy-G6I zna_3KS2=?L8CPnkTP;su@qTa3FxI%Tf+)`w>x!MSNQ*DP1vB4TD8`$1Wd?fG-=sBV z%&PgPz0TlQ!Qa=T_q?E#_>kx)Ugqn&p8W1z(8kbylr=P9h!S2jHG)NWv z6NR+?Tohp_=0gKml&%Ke@Dtc1U>wJi}5ydhJy z)N1U74(Z~t^qj}Sy!>(s4V}Fg2UFM$4H+XN>IqwDOQZ+JaM+I1+l|-u^BQAw^d3ln z_!li;HMP9Lo9jwT#(St$+N@A8{2-F)?6`Ptao#|C+4fF)#duWHEUz7{F{!L~@XCu= zH^1#A^U3CHy4WxUn%7^|bTF4CSBIOZpY|xRS6Y3F36GHu+0xs_Po^i@^|k-r*zmLj zM3fQIN`P^x_rlABgz92oM*vxZfJTUVS)Mm+dhXmgBi()*gf+9&jr4ZS*k=NbQg zX$?IcoelOfG>~`!$g2eYp5@GSb9{#{-8%}5xhNzd(K^1{sgX^u@P6r|^5Q$)Od&{$ z4ptT?5w|F1X0vK1PaEr#f9F#3S5~fEw&VvP&KIK+KMa@Ki_+xQ^+$#w0g1cgjsErg zLhJLVCCP?(>J@wm-Kw6Xxic;ZV`Vi(>tXMzZ92S|M_6Wcu~woE2oocUV-KZt5W`1CDIAzGb0l428+GdiNfnfkp*lr5{hO(dWcV{Oxv+$B3P%yP-(QSn_R=&;DRvAJ^TNpFw)nRB$zRa{mc3mlk zEc-$xILtzBEXAvGf~#gxS#mnvBKqt2L;?GpRd;o|_I}jM(kyg8EIU^%?D&Et$$8!G=A1%mdA3~*p9!dU;TQVv5JH`X{WdT-o`+bfF z%~as+B%iU5nX&j-@$O6A7K)Ta?tGvOww?9QR+*>p@^F+uKgi)i>`KMZRJW=+bFs@V z?tAO`Gx*5~1qDsKigblN*8AnlA>hTMN8f>jN=-ll4ZhBq)w6W&y+Lnw8N2QS2&(W!wV~YEU_#bcm%DAmiDF!Gb9m$itMg4hR?jYmL zgN!93&7mAq?-))-9%4nw5%0%T`^_KTRVE-LT;7CS9nd3&RR6@Rd5je&W6CIHEwD=C zE~8R)94eUTXX!;ET5Lkbxz46m+N!|kO_xt6)hwvB?bKRaS+7>a>U@Kwxuq`;u}Scx zx&3H7$o36hM`Q_k^%&XbFD79z_B4u6Lt7bFqZsY@Zx(I3(wgbcoDc!M{|-)R$F;h% z0*sx%l@_55fx5ahwaRXC#-ddEvA-{ovL4tb)%m)YI#`+$m{Cd3N)uD+1PKIRPQJbu zIAhXMnxw;oJ7!H<$*Qz6Mvm0qqI<5G6QDQsM{Ki>Q}~*F|3bz2C;~dh12Y_tX%pE) zvMGou-D`>0dT{dq=%q8(&@CfZKbPQwx~E)HpotaULq;j!8`jSwkV#?<33*fXR`RoH zk`U?Ta$|XJG`D?71+uuRVfm+NBzEEQosZIYix?VJbSjWEGWpdL{bFnw!t1u!S_-JOZ}Ixdf0AX zS|c;++mxIjIy#=Mx>YWw-eFAun}*-&=yclDN+k&$8ooQSg!`uTYu?4{mT?x>C?%D9 zp*eKwwQ1HNboCAX?XJM%N(Z;_4MExfVxBj{5@F8c=PT&vnO8*<@@ADZmfPn|8Lgkb zA`pgyk7jH5o%b2;{Sw+@ewH-YsU5e1>D(;6XGAS^iwZ;Xay3%6If>laVT@7Lc@X>+;6lY0a${?CY^?h&(4*+DO~$)V{Gme%w{Dpz|DAx| zW>8Bd`Ca7_L|PI07=}5#^fa%=Pzw$&4Jz-MK-nu#c$mMPNU9K9)L%i*P~zUpS5VMi zDov5Q_Xh-=U3H&~q6kgKI=FH5I|sT6JL6D%T{+!4a8|T0I_f5;o(3*h-x0vK6)gx4 zDdK>L6r&{WG;iR*c3*n|N1WD&;oQC-rd_-lR}s7Ju;uS+nLcgzVDuk@nYyh}?54{C z+v$^@t-h3lZLz$PkgAxHvfsz>G9F=j6Q9K)BL`faJ*#3OaL42al$skrLCH- zQ!inED!WYdot!&OX%iSs;9Ae*Y6ZKo1} zu9*ZLWpBZa8jq=5<4NF`+&IV!bv|uj$)I1;WcM)GxncdWAX=J3W%#Qvwk*y$has@8 zZ=zHBl01Knl|V_oc{HPSd&3&O=(^?sfzhKA* zT9)d*Vg`NQxDz6Lu)Oa5@esIbvEI&DZ+b{m02q&~S1EC|IV4SmAfMG~bO^34&-XpS zKP*U!qy(7n7|A7O`MZP)jeNR*^U#KkYTr7yWVWLOFw6Qa{-A1R4_f10$COVSmL29b z3P5ATp2D`Q>M$ag{S#Gby%(jnt`{vT@Q$*_Mh-IA7P`gxO{d+BC`TJ?%Z&dL3PhAW;~Gn#hP+*ls_hysvRt&vw+fpJcI zD*j&{CPTpO_0P{Mh5zgA|BXXKJGLV=CJk0%a{mwsOx?f!pCUx5wlfw-ke7IQJ!lPK zqc3t-X~qqt%Jze?SUyO`B)wuSmtVBT_00{?J;CCX73;sKCVntNl%~{WL}omHOlatO z;Mh%)GLS&Y=7Hxiq1e_^obONd#R7d%fe4{XKRSy}lglDOZd8K+y7?icS06X`wlG~1 zF-5;3F)=Bcy>l&LKNIril4z9Hcusj%Rs|i*oBEsAA^&upu^3>twDf&GMU1`}&`O<>kGnFCN18jf{isBx z2;2l4Hz51d%K@z7Cqi>ve~3&FZ`uV@2@W?89GyRIc+DXv2G!apw2DAXfmqKTBz<^ z@2lj-l7M=zfX?bRCWoH7k)`2zTQ!)pTXV3t|_sYl%r*v8mwyeSa ziGtmC$E%!6Fru(x->w1*5aJ5j&gf&3<|))xGP7UplegtAq6KBE{F zNAcI8Wf9wfEPAxT<;iOB*bj;ern=FgJD`PyW>K?uycNB+V65^5IT$x6Ibz|s!|Aye zxaO)tt-!x>_3e=yVFxZ$!anjfyXohIy!Wj^Pq$*8yR&lVn^vq#rVoWB>I2>hI#+Pv zH1A|Vfuqyff+l9Kt>fa@oon3r*XPbkM32!@G^p(&WpTs~ zY~2q{)wopa!1Uj{V1+UrAQmG~xC)gyhXU>uhj#?8K`##RkZd4P#6`5;mJz^2ttp$X zwYPsr-CvN);#}|p&J_E;hh1QN>H&Y-Y!7iy8k(I8)<*@_uY~W#B;-Nk7N53f^hcpr zkxQ8&#$36ha_drb1JQ{(_ec|)8)~G%Z;wOErBuS(Px!&IN;Lbm+t0CHyKL*;7sTS7 zQ*2AD!M+P78^*y_AZ@PFLOC#F5vxRTdUZO*{~?V`oh>xmOv`g=JyzGV%CxycZr8T7 zW^BU5ucC#N&)bfRh{#n8%`(oPhk_CsE-r;zndxo5guXRiIHSwBD|DNG?u|U1>LGoz zpfNI*XEn7S?x@co_AY;U2exXIQyaLkf|f;~{0Q83Upk5R0TQ!24Xo^r4*#RUcx@A3qbUWLQu|Ks}t$hMNKI zPxwFst;|Zq{jDy2MthUfQLxJN8it4>#AupE@`ok|J{>8_EEK;1cwWPj1AoQmMNL|i zPNP5Uq+(y%y>mU4{oa+$l@KfM>((&B(Lp&}J->^q-PImXO{}MBYvcEg`lsbD3ROLEoLTuRlM3-7qY#;hDcKzPVXkDe^rdazqf>=Ey zrMM$#lMclxX(YHj8I~3++!?K+?VnUB=DnPEO%!HMUYo3HHv^CCX2k#-qR6#}f?2CF z{CJgnEN7_ci~+A&G?(3zC#p|B#Pj#`bsCjjd4!>HLb{=x1jg?Uws0DK55B@(24Lho zdX&OWV|m3fYes*Jc}*RiZ9?*U4X9@aK5*Y}!aJeZG>*}P9nf@fh<#9PN&7MBh3c%D&~=y&srQZln^jdu!()_54e<$>TN}eV#?bzU0iWZIs%ywz5sO%Crjc0vP21r zk$chgh$6K_`O*z+0W7JM@xrizhk?xqS&XHifSx`rP3L9;B!{E6j;^_Ux}wT< z`DJp(;~TW+)qLYg=0+nj!niX(N)`eg zCtObz(*zaQ*zei?==*q0w7kHt$n6z@fm*180&+bS+bx$=#=YEbDZ#t`?vq_~{M1y! z=}sWNI#AKqnCIutAtGas=8!J2>uL)7lQWZR|hRov6ohudrjaSIY zWG^lh@|KDNNi{8X?pnIvyhkQKnq7GvayJ%80*rWQ-;z~+<9AMkSiq|6>6An)Acjc$RAihK{+b34Uu4P@dvVrfbb z0o4c%qQUg_lQP~YZ^ig%l>|Muv(9qGQpj0<|4^DDGmp(qh7Nxt;fr+ntW$$>4!A}Z zzR6^ftaU?Eu~vb9>jQnv55rR{_}8))Ja!j26`zQt+%Zi$!F=imz7D(4lx_HHDKwUn6VimZ5y+X){N$Ibwa zOrR+)Z1qPM8c+#7O|95+z=1bybq?4LIElcP3$x3$g9_42(S=)L(pNfEQ^6k#Pf0viI+Em(WQpAhM>7Maw z{~pD*{KcFTH8zi`lDwX}Tw9|)yvMjiek|UKjaF`ws{Jk&JW=}xq-SFBVRx~0eaqe1 zxK-%#<7bP`;MNJGOhoI>GIL;RFSFL{x7Mh~qG{rj*Efgc;G{Xw z;P8&-KV1%w94R!8_}7^uM|Pk5hmA=}<$w3^pNaVIqeZiKo!so~Ea}iXDDR4*Ih(=J z+d+-UQFb8pEFWBEkzz|~^k7I;6TQcF*?8ctRcLU=;}Ncka@uVy{)Z%|26u(`8lslF z;-YPkf2pT+-J1MA!@mkm_q#ZOvdVORq9T>VfYyd!N`jeC>q*I7deJR>zA-oKPA}6R zMM=I`{fiYCc<*$bmJX( zQ#}Tz;9|*Ulfts<0O-E&ifR0rNs}26i=OlSaQHt`CoK=h2I>9kl*_*;ee1=1hRYz? zy{fh$U#|&opUySC{4JPD`#hbSfrZ?mB^wl@h44f@a(YzWMd>6?$8nW@+4G<`bXvm(Vk3?Opu|!wB^Y3>Ycc&m9f#nHMe1(r>~GbVxV8vIMf>7L-US z{rT83*1>wjuv!JgSE)(apSbp=5?3a?z7IY+HtC_-Q0yQoyY!{N|CS2TjOzDm^pX00 z7}V$v)+v3W@I>uDlXRxYI{moxZGUCBMw|ZZh`Ex|SGQU#KnKni$aoUD#JkVLy!*Wc zXEH2oWx|B2Rfi&7v$_qe{HiCz7DeMM7n@@MiR-mkI;*`e=fQByoXN~u^r8T2>YWJ4 zOH9+)>B(Duxar4>L8M*_&_I>8gHbV%WoV%|EbaRX=Mg33PL=}c0mIp<^~KMf?`_v) zU$D9Oua*TT#({aem{E7VNw-K~z|Z4Q`&!U$I5@mBPhp=Nuj->8t>oY5m19ixBaiOX zaut@74Sgo6-EkpWe0Fj^E4Bs($L+^z{|MzHN2c5?wwT)Q9iM=K8^+F=DA86E^)WB) tRi`r5Rj@ak|H*{;?{@#6J9<#cVD_;7U7Gg3Q|j>IKq^{KkdL3g`9BCPHYWf8 diff --git a/icons/mob/species/vox/onmob_suit_vox.dmi b/icons/mob/species/vox/onmob_suit_vox.dmi index 47e2b625c116fd4ae878bb4543ef9206c3a5fb58..f078c471f3562a0479402f9a17f6907c6dde3736 100644 GIT binary patch literal 256107 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%0Ds-#^Jg>|iUIJ?P@Ek4ne!(9ZJ=(vs@d+>hO* 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

  • [CEILING(brute_loss,1)][CEILING(fire_loss,1)][CEILING(tox_loss,1)][CEILING(oxy_loss,1)]
    [CEILING(oxy_loss,1)]
    \ - \ - [advanced ? "" : ""]\ - " + \ + [advanced ? "" : ""]\ + " for(var/obj/item/organ/organ in H.internal_organs) var/status = "" @@ -300,8 +300,8 @@ GENE SCANNER else if (organ.damage > organ.low_threshold) status = "Mildly Damaged" if (status != "") render = TRUE - toReport += "\ - [advanced ? "" : ""]\ + toReport += "\ + [advanced ? "" : ""]\ " if (render) From 5e38564692c6a859e393b2cbb00f3ead81124f92 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Wed, 27 Nov 2024 00:20:14 -0500 Subject: [PATCH 269/344] Nerf Marine Armor (#3791) ## About The Pull Request Too much buff. we move back now. nerf. yes yes. nerf. ## Why It's Good For The Game I am the strongest balance warrior ## Changelog :cl: balance: marine armor is now less protective, marginally, and slows you down |more| del: Marine Helmets /:cl: --- .../shuttles/nanotrasen/nanotrasen_heron.dmm | 3 -- code/modules/cargo/packs/spacesuit_armor.dm | 4 +-- .../modules/clothing/factions/frontiersmen.dm | 8 ++++- code/modules/clothing/head/helmet.dm | 32 ------------------- .../clothing/outfits/ert/frontiersmen_ert.dm | 2 +- code/modules/clothing/suits/armor.dm | 8 ++--- 6 files changed, 14 insertions(+), 43 deletions(-) diff --git a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm index feef647c1142..29a64340fe3d 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm @@ -12703,9 +12703,6 @@ /obj/item/clothing/suit/armor/vest/marine/heavy, /obj/item/clothing/suit/armor/vest/marine/medium, /obj/item/clothing/suit/armor/vest/marine/medium, -/obj/item/clothing/head/helmet/marine/security, -/obj/item/clothing/head/helmet/marine, -/obj/item/clothing/head/helmet/marine, /obj/item/clothing/suit/armor/vest/bulletproof, /obj/item/clothing/suit/armor/vest/bulletproof, /obj/item/clothing/head/helmet/plate, diff --git a/code/modules/cargo/packs/spacesuit_armor.dm b/code/modules/cargo/packs/spacesuit_armor.dm index 612f530d4137..ea8aa2684847 100644 --- a/code/modules/cargo/packs/spacesuit_armor.dm +++ b/code/modules/cargo/packs/spacesuit_armor.dm @@ -141,7 +141,7 @@ desc = "One set of well-rounded tactical armor. While it does not protect the limbs, the vest is fairly durable. The set includes a helmet and vest." cost = 1500 contains = list(/obj/item/clothing/suit/armor/vest/marine, - /obj/item/clothing/head/helmet/marine) + /obj/item/clothing/head/helmet/bulletproof/x11) crate_name = "armor crate" crate_type = /obj/structure/closet/crate/secure/plasma @@ -150,6 +150,6 @@ desc = "One set of well-rounded medium tactical body armor. Plates are attached to the vest and cover the limbs. The set includes a helmet and chestpiece." cost = 3000 contains = list(/obj/item/clothing/suit/armor/vest/marine/medium, - /obj/item/clothing/head/helmet/marine) + /obj/item/clothing/head/helmet/bulletproof/x11) crate_name = "armor crate" crate_type = /obj/structure/closet/crate/secure/plasma diff --git a/code/modules/clothing/factions/frontiersmen.dm b/code/modules/clothing/factions/frontiersmen.dm index 946601ce1d5f..7c4857823260 100644 --- a/code/modules/clothing/factions/frontiersmen.dm +++ b/code/modules/clothing/factions/frontiersmen.dm @@ -190,12 +190,18 @@ resistance_flags = FIRE_PROOF armor = list("melee" = 15, "bullet" = 60, "laser" = 10, "energy" = 10, "bomb" = 40, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 50) -/obj/item/clothing/head/helmet/marine/frontier +/obj/item/clothing/head/helmet/frontier name = "frontiersmen reinforced helmet" desc = "A reinforced Frontiersmen X-11. The front plate has a small window to let the user see." icon_state = "marine_frontier" icon = 'icons/obj/clothing/faction/frontiersmen/head.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/frontiersmen/head.dmi' + armor = list("melee" = 35, "bullet" = 55, "laser" = 45, "energy" = 25, "bomb" = 30, "bio" = 75, "fire" = 40, "acid" = 50) + slowdown = 0.1 + min_cold_protection_temperature = HELMET_MIN_TEMP_PROTECT + clothing_flags = STOPSPRESSUREDAMAGE | SNUG_FIT | BLOCK_GAS_SMOKE_EFFECT | ALLOWINTERNALS + resistance_flags = FIRE_PROOF | ACID_PROOF + flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF | SEALS_EYES //////////// //Glasses// diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 93185618c33f..75103c5f524a 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -229,38 +229,6 @@ ) content_overlays = TRUE -/obj/item/clothing/head/helmet/marine - name = "tactical combat helmet" - desc = "A tactical black helmet, sealed from outside hazards with a reinforced visor." - icon_state = "marine_command" - item_state = "helmetalt" - armor = list("melee" = 35, "bullet" = 55, "laser" = 45, "energy" = 25, "bomb" = 30, "bio" = 75, "fire" = 40, "acid" = 50) - slowdown = 0.1 - min_cold_protection_temperature = HELMET_MIN_TEMP_PROTECT - clothing_flags = STOPSPRESSUREDAMAGE | SNUG_FIT | BLOCK_GAS_SMOKE_EFFECT | ALLOWINTERNALS - resistance_flags = FIRE_PROOF | ACID_PROOF - flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF | SEALS_EYES - can_flashlight = TRUE - dog_fashion = null - -/obj/item/clothing/head/helmet/marine/Initialize(mapload) - set_attached_light(new /obj/item/flashlight/seclite) - update_helmlight() - update_appearance() - . = ..() - -/obj/item/clothing/head/helmet/marine/security - name = "marine heavy helmet" - icon_state = "marine_security" - -/obj/item/clothing/head/helmet/marine/engineer - name = "marine utility helmet" - icon_state = "marine_engineer" - -/obj/item/clothing/head/helmet/marine/medic - name = "marine medic helmet" - icon_state = "marine_medic" - /obj/item/clothing/head/helmet/old name = "degrading helmet" desc = "Standard issue security helmet. Due to degradation the helmet's visor obstructs the users ability to see long distances." diff --git a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm index 7ec649bedf75..edbf57d08db4 100644 --- a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm +++ b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm @@ -273,7 +273,7 @@ /datum/outfit/job/frontiersmen/ert/sentry name = "ERT - Frontiersman Sentry (SKM-24v LMG)" - head = /obj/item/clothing/head/helmet/marine/frontier + head = /obj/item/clothing/head/helmet/frontier mask = /obj/item/clothing/mask/balaclava suit = /obj/item/clothing/suit/armor/vest/marine/frontier suit_store = /obj/item/gun/ballistic/automatic/hmg/skm_lmg/drum_mag diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 0619e19665e6..6e3f3ad8d52b 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -57,8 +57,8 @@ body_parts_covered = CHEST|GROIN|LEGS|ARMS cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS - armor = list("melee" = 35, "bullet" = 55, "laser" = 45, "energy" = 25, "bomb" = 30, "bio" = 75, "fire" = 40, "acid" = 50) - slowdown = 0.1 + armor = list("melee" = 35, "bullet" = 50, "laser" = 45, "energy" = 25, "bomb" = 30, "bio" = 75, "fire" = 40, "acid" = 50) + slowdown = 0.4 /obj/item/clothing/suit/armor/vest/marine/heavy name = "heavy tactical armor vest" @@ -66,8 +66,8 @@ body_parts_covered = CHEST|GROIN|LEGS|ARMS cold_protection = CHEST|GROIN|LEGS|ARMS heat_protection = CHEST|GROIN|LEGS|ARMS - armor = list("melee" = 60, "bullet" = 75, "laser" = 55, "energy" = 25, "bomb" = 50, "bio" = 75, "fire" = 40, "acid" = 50) - slowdown = 0.5 + armor = list("melee" = 60, "bullet" = 60, "laser" = 55, "energy" = 25, "bomb" = 50, "bio" = 75, "fire" = 40, "acid" = 50) + slowdown = 0.8 /obj/item/clothing/suit/armor/vest/old name = "degrading armor vest" From d50f5d39eb40be5d406be8abc883fafc098df71b Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Tue, 26 Nov 2024 21:22:34 -0800 Subject: [PATCH 270/344] Adds shoulder holsters to outpost cargo, and usage QOL (#3763) ## About The Pull Request Adds shoulder holsters to outpost sec supply for 600 credits. Replaces black market holsters with cham holsters, chance to spawn reduced to 40, max stock reduced to 4. Cham holsters use regular holster storage instead of the weird one they had before. Storage components now support holding only a certain amount of a specified item. Shoulder holsters can now only hold one pistol/revolver at a time. Detaching accessories is now bound to Ctrl-click, and alt click will now open the storage on accessories if possible. Clicking on the attached jumpsuit with an item will insert it if possible like other storage items. If a jumpsuit is destroyed with an accessory attached, it will fall off instead of being sent into the ether. ## Why It's Good For The Game Shoulder holsters are flavourful storage options compared to having guns in your bag and generally nice to have. The storage change was requested the last time holsters were PRed to the outpost market, and could be useful in future for other storage items. QOL life changes to make accessory storage for consistency with other storage items is good for sanity. ## Changelog :cl: add: Shoulder holsters to outpost for 600 add: Cham holsters to black market add: Accessories will fall off jumpsuits when destroyed. balance: Shoulder holsters can only hold one gun a time. fix: Accessory storage acts more consistently like other storage items. /:cl: --- .../components/storage/concrete/pockets.dm | 17 +++-------------- code/datums/components/storage/storage.dm | 11 +++++++++++ .../cargo/blackmarket/blackmarket_items/misc.dm | 10 +++++----- code/modules/cargo/packs/sec_supply.dm | 6 ++++++ code/modules/clothing/clothing.dm | 12 ++++++++++-- code/modules/clothing/under/_under.dm | 12 +++++++++++- code/modules/clothing/under/accessories.dm | 4 ++-- 7 files changed, 48 insertions(+), 24 deletions(-) diff --git a/code/datums/components/storage/concrete/pockets.dm b/code/datums/components/storage/concrete/pockets.dm index e00c40e116f8..065a398c3230 100644 --- a/code/datums/components/storage/concrete/pockets.dm +++ b/code/datums/components/storage/concrete/pockets.dm @@ -108,6 +108,9 @@ /obj/item/gun/ballistic/automatic/pistol, /obj/item/gun/ballistic/revolver, /obj/item/ammo_box)) + can_hold_max_of_items = typecacheof(list( + /obj/item/gun/ballistic = 1 + )) /datum/component/storage/concrete/pockets/holster/real_location() // if the component is reparented to a jumpsuit, the items still go in the protector @@ -136,17 +139,3 @@ /obj/item/gun/energy/dueling, /obj/item/gun/ballistic/shotgun, /obj/item/gun/ballistic/rocketlauncher)) - -/datum/component/storage/concrete/pockets/holster/chameleon - max_items = 1 - -/datum/component/storage/concrete/pockets/holster/chameleon/Initialize() - original_parent = parent - . = ..() - can_hold = typecacheof(list( - /obj/item/gun/ballistic/automatic/pistol/ringneck, - /obj/item/gun/ballistic/revolver, - /obj/item/gun/energy/e_gun/mini, - /obj/item/gun/energy/disabler, - /obj/item/gun/energy/pulse/carbine, - /obj/item/gun/energy/dueling)) diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm index 765e14e5db64..fab8ffdf3a2c 100644 --- a/code/datums/components/storage/storage.dm +++ b/code/datums/components/storage/storage.dm @@ -18,6 +18,7 @@ var/list/cant_hold //if this is set, items, and their children, won't fit var/list/exception_hold //if set, these items will be the exception to the max size of object that can fit. var/list/can_hold_trait /// If set can only contain stuff with this single trait present. + var/list/can_hold_max_of_items // if set, storage can only hold up to the set amount of said item. var/can_hold_description @@ -566,6 +567,16 @@ if(!stop_messages) to_chat(M, "[host] cannot hold [I]!") return FALSE + if(length(can_hold_max_of_items)) + if(is_type_in_typecache(I,can_hold_max_of_items)) + var/amount = 0 + for(var/_item in contents()) + if(is_type_in_typecache(_item,can_hold_max_of_items)) + amount++ + if(amount >= can_hold_max_of_items[I.type]) + if(!stop_messages) + to_chat(M, "[host] cannot hold another [I]!") + return FALSE if(is_type_in_typecache(I, cant_hold) || HAS_TRAIT(I, TRAIT_NO_STORAGE_INSERT) || (can_hold_trait && !HAS_TRAIT(I, can_hold_trait))) //Items which this container can't hold. if(!stop_messages) to_chat(M, "[host] cannot hold [I]!") diff --git a/code/modules/cargo/blackmarket/blackmarket_items/misc.dm b/code/modules/cargo/blackmarket/blackmarket_items/misc.dm index 8f51514de804..a9221fb95ecb 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/misc.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/misc.dm @@ -11,15 +11,15 @@ stock_max = 6 availability_prob = 80 -/datum/blackmarket_item/misc/shoulder_holster - name = "Shoulder holster" - desc = "Yeehaw, hardboiled friends! This holster is the first step in your dream of becoming a detective and being allowed to shoot real guns!" +/datum/blackmarket_item/misc/cham_holster + name = "Chameleon Shoulder holster" + desc = "Looking to pack some heat without attracting attention? This adapative chameleon shoulder holster can disguise itself and your piece!" item = /obj/item/clothing/accessory/holster price_min = 200 price_max = 800 - stock_max = 8 - availability_prob = 60 + stock_max = 4 + availability_prob = 40 /datum/blackmarket_item/misc/strange_seed name = "Strange Seeds" diff --git a/code/modules/cargo/packs/sec_supply.dm b/code/modules/cargo/packs/sec_supply.dm index 601d387cb222..86d631024705 100644 --- a/code/modules/cargo/packs/sec_supply.dm +++ b/code/modules/cargo/packs/sec_supply.dm @@ -5,6 +5,12 @@ /* Standard supplies */ +/datum/supply_pack/sec_supply/holster + name = "Shoulder Holster Crate" + desc = "Contains a shoulder holster, capable of holding a single pistol or revolver and your ammo." + cost = 600 + contains = list(/obj/item/clothing/accessory/holster) + crate_name = "holster crate" /datum/supply_pack/sec_supply/chemimp name = "Chemical Implants Crate" diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 99cfd0325b4a..c56416dd339c 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -438,11 +438,19 @@ if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user))) return else - if(attached_accessory) - remove_accessory(user) + if(attached_accessory && ispath(attached_accessory.pocket_storage_component_path) && loc == user) + attached_accessory.attack_hand(user) + return else rolldown() +/obj/item/clothing/under/CtrlClick(mob/user) + if(..()) + return 1 + if(attached_accessory) + remove_accessory(user) + + /obj/item/clothing/under/verb/jumpsuit_adjust() set name = "Adjust Jumpsuit Style" set category = null diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index 8843009813f3..7445eb2ad55a 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -39,6 +39,11 @@ if(accessory_overlay) . += accessory_overlay +/obj/item/clothing/under/Destroy() + . = ..() + if(attached_accessory) + attached_accessory.detach(src) + /obj/item/clothing/under/attackby(obj/item/I, mob/user, params) if((has_sensor == BROKEN_SENSORS) && istype(I, /obj/item/stack/cable_coil)) var/obj/item/stack/cable_coil/C = I @@ -46,6 +51,9 @@ has_sensor = HAS_SENSORS to_chat(user,"You repair the suit sensors on [src] with [C].") return 1 + if(attached_accessory && ispath(attached_accessory.pocket_storage_component_path) && loc == user) + attached_accessory.attackby(I,user) + return if(!attach_accessory(I, user)) return ..() @@ -180,7 +188,9 @@ if(SENSOR_COORDS) . += "Its vital tracker and tracking beacon appear to be enabled." if(attached_accessory) - . += "\A [attached_accessory] is attached to it." + . += "\A [attached_accessory] is attached to it. You could Ctrl-click on it to remove it." + if(attached_accessory.pocket_storage_component_path) + . += "You could open the storage of \the [attached_accessory] with Alt-click." /obj/item/clothing/under/rank dying_key = DYE_REGISTRY_UNDER diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm index 81e5da317553..9e66e9572c59 100644 --- a/code/modules/clothing/under/accessories.dm +++ b/code/modules/clothing/under/accessories.dm @@ -92,10 +92,11 @@ if(initial(above_suit)) above_suit = !above_suit to_chat(user, "[src] will be worn [above_suit ? "above" : "below"] your suit.") + return ..() /obj/item/clothing/accessory/examine(mob/user) . = ..() - . += "\The [src] can be attached to a uniform. Alt-click to remove it once attached." + . += "\The [src] can be attached to a uniform. Ctrl-click to remove it once attached." if(initial(above_suit)) . += "\The [src] can be worn above or below your suit. Alt-click to toggle." @@ -431,7 +432,6 @@ name = "syndicate holster" desc = "A two pouched hip holster that uses chameleon technology to disguise itself and any guns in it." var/datum/action/item_action/chameleon/change/chameleon_action - pocket_storage_component_path = /datum/component/storage/concrete/pockets/holster/chameleon /obj/item/clothing/accessory/holster/chameleon/Initialize() . = ..() From f1b93cc7565f54aa5349911ed8382b7153443404 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Wed, 27 Nov 2024 00:23:33 -0500 Subject: [PATCH 271/344] Snowballs do stam damage (#3802) :cl: balance: snowball do 8 stam damage now. instead of 12 brute. what the furk. /:cl: --- code/game/objects/items/toys.dm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 3c1ce5b25ada..01d0a273f74a 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -1016,7 +1016,8 @@ desc = "A compact ball of snow. Good for throwing at people." icon = 'icons/obj/toy.dmi' icon_state = "snowball" - throwforce = 12 //pelt your enemies to death with lumps of snow + throwforce = 1 //pelt your enemies to death with lumps of snow + var/stam_dam = 8 /obj/item/toy/snowball/afterattack(atom/target as mob|obj|turf|area, mob/user) . = ..() @@ -1025,6 +1026,10 @@ /obj/item/toy/snowball/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) if(!..()) + var/caught = hit_atom.hitby(src, FALSE, FALSE, throwingdatum=throwingdatum) + if(ishuman(hit_atom) && !caught)//if they are a carbon and they didn't catch it + var/mob/living/carbon/human/dorkass = hit_atom + dorkass.apply_damage(stam_dam, STAMINA) playsound(src, 'sound/effects/pop.ogg', 20, TRUE) qdel(src) From bfda38932cb6aa6af3c4583e7787db96e169f32c Mon Sep 17 00:00:00 2001 From: Martinpachu <86135885+Martinpachu@users.noreply.github.com> Date: Wed, 27 Nov 2024 02:24:33 -0300 Subject: [PATCH 272/344] Removes the S.W.A.T. Suit from cargo. (#3805) ## About The Pull Request Removes the cargo listing for the S.W.A.T. Suit, The item has not removed due to concerns regarding subtyping. ## Why It's Good For The Game This might be a little controversial, but it's what has to be done, and the marine armor is already here to replace it. I hate the swat suit so much, i have been getting constant requests every single fucking day to remove it, so here it is. Good thing too, this thing is so repulsive i can't look at it for two seconds without throwing up over my monitor. One time i was playing a medship and one of my patients had the fucking gall to be wearing one. I shot his ass thrice and got banned for two months. Worth it. ## Changelog :cl: del: The cargo listing for the SWAT suit. /:cl: --- code/modules/cargo/packs/spacesuit_armor.dm | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/code/modules/cargo/packs/spacesuit_armor.dm b/code/modules/cargo/packs/spacesuit_armor.dm index ea8aa2684847..2cbe012c71f1 100644 --- a/code/modules/cargo/packs/spacesuit_armor.dm +++ b/code/modules/cargo/packs/spacesuit_armor.dm @@ -86,16 +86,6 @@ crate_type = /obj/structure/closet/crate/secure/engineering faction = FACTION_NT -/datum/supply_pack/spacesuit_armor/swat - name = "SWAT Crate" - desc = "Contains one fullbody set of tough, fireproof, pressurized suit designed in a joint effort by IS-ERI and Nanotrasen. The set contains a suit, helmet, and combat belt." - cost = 3500 - contains = list(/obj/item/clothing/head/helmet/swat/nanotrasen, - /obj/item/clothing/suit/space/swat, - /obj/item/storage/belt/military/assault) - crate_name = "swat crate" - crate_type = /obj/structure/closet/crate/secure/gear - /* Non-spaceworthy (armor) */ From 115bc0af13c2800f06b256529917b4f4b5b6bfe5 Mon Sep 17 00:00:00 2001 From: zevo Date: Wed, 27 Nov 2024 00:25:11 -0500 Subject: [PATCH 273/344] Removes the Nanotrasen Asteroid Outpost (The one that's been disabled for like a year) (#3747) Removes a disabled outpost that isn't intended to be brought back. Already discussed with other maptainers and I'm tired of getting questions about it. This outpost hasn't been used ingame for a long time. It's been slated for removal for quite a while now. :cl: del: Removed the unused NT_Asteroid outpost. /:cl: --- _maps/outpost/hangar/nt_asteroid_20x20.dmm | 3251 -- _maps/outpost/hangar/nt_asteroid_40x20.dmm | 4301 --- _maps/outpost/hangar/nt_asteroid_40x40.dmm | 4829 --- _maps/outpost/hangar/nt_asteroid_56x20.dmm | 3765 -- _maps/outpost/hangar/nt_asteroid_56x40.dmm | 5465 --- _maps/outpost/nanotrasen_asteroid.dmm | 29807 ---------------- .../overmap/objects/outpost/outpost_types.dm | 31 - 7 files changed, 51449 deletions(-) delete mode 100644 _maps/outpost/hangar/nt_asteroid_20x20.dmm delete mode 100644 _maps/outpost/hangar/nt_asteroid_40x20.dmm delete mode 100644 _maps/outpost/hangar/nt_asteroid_40x40.dmm delete mode 100644 _maps/outpost/hangar/nt_asteroid_56x20.dmm delete mode 100644 _maps/outpost/hangar/nt_asteroid_56x40.dmm delete mode 100644 _maps/outpost/nanotrasen_asteroid.dmm diff --git a/_maps/outpost/hangar/nt_asteroid_20x20.dmm b/_maps/outpost/hangar/nt_asteroid_20x20.dmm deleted file mode 100644 index 858d984f4603..000000000000 --- a/_maps/outpost/hangar/nt_asteroid_20x20.dmm +++ /dev/null @@ -1,3251 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ah" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - req_access_txt = "109" - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"an" = ( -/obj/structure/chair/comfy/grey/directional/north, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"aD" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"aN" = ( -/obj/effect/turf_decal/steeldecal/steel_decals_central2{ - pixel_y = 2 - }, -/obj/effect/turf_decal/steeldecal/steel_decals6, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"bi" = ( -/obj/effect/turf_decal/box/corners, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"bv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/garbage{ - pixel_y = -5; - pixel_x = -7 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"cn" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/general, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"cB" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/table, -/obj/item/paper/pamphlet/gateway{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/item/paper/pamphlet/centcom{ - pixel_x = 8; - pixel_y = 1 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = -9; - pixel_y = 3 - }, -/obj/structure/sign/poster/official/do_not_question{ - pixel_x = 32 - }, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"cE" = ( -/obj/effect/landmark/outpost/hangar_dock, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"cY" = ( -/obj/structure/floodlight_frame{ - pixel_x = -9; - pixel_y = -1 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"dg" = ( -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"dz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil/streak, -/obj/machinery/light/directional/west, -/turf/open/floor/plating{ - icon_state = "foam_plating"; - planetary_atmos = 1 - }, -/area/hangar) -"dC" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"dQ" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"ea" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"ei" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"ek" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"eQ" = ( -/obj/item/organ/tail/lizard{ - pixel_x = 4; - pixel_y = 11 - }, -/obj/effect/decal/cleanable/blood{ - icon_state = "floor4"; - pixel_y = 13; - pixel_x = 8 - }, -/turf/open/floor/plating/asteroid/icerock/cracked, -/area/hangar) -"eV" = ( -/obj/effect/turf_decal/steeldecal/steel_decals9, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"fm" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/item/trash/cheesie{ - color = "#808080"; - pixel_x = 21; - pixel_y = 1; - layer = 2.9 - }, -/obj/effect/decal/cleanable/glass{ - dir = 8; - pixel_y = 1; - color = "#808080" - }, -/obj/effect/decal/cleanable/oil{ - icon_state = "streak4"; - pixel_x = -13; - pixel_y = -11 - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"fp" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/plating/asteroid/icerock/smooth, -/area/hangar) -"fO" = ( -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"gQ" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 4 - }, -/obj/structure/flora/ausbushes/sparsegrass{ - pixel_y = -1; - pixel_x = -1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/grass{ - planetary_atmos = 1 - }, -/area/hangar) -"hb" = ( -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"hf" = ( -/obj/structure/marker_beacon{ - picked_color = "Teal" - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"hq" = ( -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"hz" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"hE" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 6 - }, -/obj/effect/decal/cleanable/glass, -/obj/machinery/light/directional/east, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"hJ" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/effect/decal/cleanable/glass{ - dir = 8; - pixel_y = -3; - color = "#808080"; - pixel_x = 3 - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/confetti{ - color = "#808080"; - pixel_x = 18; - pixel_y = 9 - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"hL" = ( -/obj/machinery/door/airlock/highsecurity, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"hP" = ( -/obj/structure/flora/rock{ - pixel_x = 9 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"ia" = ( -/obj/structure/chair/greyscale{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"iK" = ( -/obj/structure/fence{ - dir = 4 - }, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"iZ" = ( -/turf/closed/indestructible/reinforced, -/area/hangar) -"js" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"jw" = ( -/obj/machinery/computer/cargo, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/structure/sign/poster/official/moth/smokey{ - pixel_y = 32 - }, -/turf/open/floor/plating/catwalk_floor{ - planetary_atmos = 1 - }, -/area/hangar) -"jQ" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"ka" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"kX" = ( -/obj/machinery/computer/crew/syndie{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"lt" = ( -/obj/effect/turf_decal/industrial/loading, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"lZ" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/landmark/outpost/hangar_numbers, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"mn" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"mw" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"mz" = ( -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"mV" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 5 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"mW" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/effect/decal/cleanable/sprayweb{ - color = "#808080" - }, -/obj/effect/decal/cleanable/sprayweb{ - color = "#808080" - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"mY" = ( -/turf/template_noop, -/area/template_noop) -"nt" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/confetti{ - color = "#808080" - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"nw" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "asclepius_reception_lockdown"; - name = "Lockdown Shutters" - }, -/obj/item/kirbyplants{ - icon_state = "plant-03" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"nP" = ( -/obj/structure/girder/displaced, -/obj/structure/grille/broken, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"nY" = ( -/obj/structure/fence/door, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"oj" = ( -/obj/machinery/vending/cigarette, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"ok" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/structure/frame/machine, -/obj/structure/grille/broken, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust{ - planetary_atmos = 1 - }, -/area/hangar) -"oq" = ( -/obj/structure/flora/ausbushes/ywflowers, -/turf/open/floor/grass{ - planetary_atmos = 1 - }, -/area/hangar) -"oC" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals6, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"oL" = ( -/obj/structure/table/wood/reinforced, -/obj/item/table_bell{ - pixel_x = 9; - pixel_y = -1 - }, -/obj/item/cigbutt/cigarbutt{ - pixel_x = -5; - pixel_y = 10 - }, -/obj/item/dice/d2, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"oP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/wrapping{ - color = "#808080" - }, -/obj/structure/closet/crate, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"pg" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"pV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/elevator_call_button{ - pixel_y = 31; - pixel_x = 10 - }, -/obj/item/kirbyplants{ - icon_state = "plant-21"; - pixel_x = -7; - pixel_y = 18 - }, -/obj/effect/landmark/outpost/elevator_machine, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"pW" = ( -/turf/open/floor/plasteel/stairs/mid{ - planetary_atmos = 1 - }, -/area/hangar) -"qa" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"qk" = ( -/obj/structure/table/wood/reinforced, -/obj/item/modular_computer/laptop/preset/civilian{ - pixel_x = -1; - pixel_y = 3 - }, -/obj/item/newspaper{ - pixel_x = 6; - pixel_y = 10 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"ql" = ( -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"qt" = ( -/obj/machinery/door/airlock, -/obj/effect/landmark/outpost/elevator_machine, -/obj/structure/lattice/catwalk, -/turf/open/floor/engine, -/area/hangar) -"qJ" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/effect/decal/cleanable/glass{ - dir = 8; - pixel_y = -4; - color = "#808080"; - pixel_x = 8 - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"qM" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"qY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"re" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"rg" = ( -/obj/item/binoculars{ - pixel_y = 6; - pixel_x = -3 - }, -/obj/structure/rack, -/obj/item/radio{ - pixel_y = 6; - pixel_x = 9 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"rw" = ( -/obj/structure/frame/machine, -/obj/machinery/light/directional/south, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"rP" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg2"; - planetary_atmos = 1 - }, -/area/hangar) -"ss" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"tk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"tm" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/leaper_sludge{ - color = "#808080" - }, -/obj/effect/decal/cleanable/sprayweb{ - color = "#808080" - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"ty" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - id = "asclepius_reception_lockdown"; - name = "Lockdown Shutters" - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"tz" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals1, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"tF" = ( -/obj/effect/turf_decal/arrows, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"tT" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/wrapping{ - color = "#808080"; - pixel_y = 8 - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"uL" = ( -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/turf/open/floor/plasteel/stairs/right{ - planetary_atmos = 1 - }, -/area/hangar) -"uY" = ( -/obj/machinery/computer/communications{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"vs" = ( -/obj/effect/turf_decal/steeldecal/steel_decals6, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"vE" = ( -/obj/machinery/door/poddoor/multi_tile/four_tile_ver, -/turf/closed/indestructible/reinforced, -/area/hangar) -"vW" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/vomit/old{ - color = "#808080" - }, -/obj/effect/decal/cleanable/sprayweb{ - color = "#808080" - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"wd" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"wu" = ( -/obj/structure/flora/ausbushes/sparsegrass{ - pixel_y = -12; - pixel_x = 9 - }, -/turf/open/floor/grass{ - planetary_atmos = 1 - }, -/area/hangar) -"wI" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 6 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg3"; - planetary_atmos = 1 - }, -/area/hangar) -"wN" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"yM" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Al" = ( -/obj/structure/rack, -/obj/item/poster/random_official{ - pixel_x = 2; - pixel_y = 9 - }, -/obj/item/poster/random_official{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/poster/random_contraband{ - pixel_y = 8; - pixel_x = -1 - }, -/obj/item/destTagger{ - pixel_x = -5 - }, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"Av" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"AK" = ( -/turf/open/floor/plating/asteroid/icerock/smooth, -/area/hangar) -"Bh" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"BM" = ( -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/machinery/computer/camera_advanced{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Cb" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"Ci" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/structure/fermenting_barrel{ - pixel_y = 9 - }, -/obj/structure/fermenting_barrel{ - pixel_y = 1; - pixel_x = 8 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"Cw" = ( -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"Cx" = ( -/obj/effect/turf_decal/industrial/caution{ - pixel_y = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"CA" = ( -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/fax/ruin, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"CR" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/effect/decal/cleanable/blood{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"CU" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"Dj" = ( -/turf/open/floor/plasteel/elevatorshaft{ - planetary_atmos = 1 - }, -/area/hangar) -"Do" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"DD" = ( -/turf/closed/mineral/random/snow, -/area/hangar) -"DG" = ( -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/floor/plasteel/stairs/left{ - planetary_atmos = 1 - }, -/area/hangar) -"DK" = ( -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Es" = ( -/obj/structure/grille, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ew" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"ER" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 9 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"Fd" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 1 - }, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Fg" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/newscaster/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"Fy" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"GE" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/directional/east, -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Hi" = ( -/obj/effect/turf_decal/steeldecal/steel_decals3, -/obj/effect/turf_decal/steeldecal/steel_decals3{ - dir = 6 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Hv" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"Hw" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 4 - }, -/obj/structure/flora/ausbushes/sparsegrass{ - pixel_y = -1; - pixel_x = -1 - }, -/obj/structure/flora/ausbushes/stalkybush, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/grass{ - planetary_atmos = 1 - }, -/area/hangar) -"Ij" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"It" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/effect/decal/cleanable/greenglow{ - color = "#808080"; - pixel_x = -11; - pixel_y = 3 - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"IR" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 4 - }, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/fernybush, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/grass{ - planetary_atmos = 1 - }, -/area/hangar) -"Je" = ( -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"Jf" = ( -/turf/open/floor/plating/catwalk_floor{ - planetary_atmos = 1 - }, -/area/hangar) -"Jt" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"Ju" = ( -/obj/effect/decal/cleanable/garbage{ - pixel_x = -12; - pixel_y = -6 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"Jz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"JN" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Kd" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid{ - planetary_atmos = 1 - }, -/area/hangar) -"Kf" = ( -/obj/effect/turf_decal/industrial/caution{ - pixel_y = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ki" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"Kl" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"KA" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/floor/plating/asteroid/icerock/cracked, -/area/hangar) -"KU" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - req_access_txt = "109" - }, -/obj/machinery/atmospherics/pipe/simple/general, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"LB" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - volume = 10000000 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"LN" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Mb" = ( -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"Mm" = ( -/obj/item/flashlight/lantern{ - pixel_x = 7 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"Mv" = ( -/obj/effect/turf_decal/steeldecal/steel_decals2, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"MZ" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Nc" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust{ - planetary_atmos = 1 - }, -/area/hangar) -"Nd" = ( -/obj/effect/turf_decal/steeldecal/steel_decals_central2{ - pixel_y = 2 - }, -/obj/effect/turf_decal/steeldecal/steel_decals_central2{ - pixel_y = 2 - }, -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ni" = ( -/obj/structure/closet/crate/bin, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/north, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"Nv" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"NB" = ( -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"OH" = ( -/obj/structure/frame/machine, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"OW" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/structure/frame/computer{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Ph" = ( -/obj/effect/landmark/outpost/elevator, -/turf/open/floor/plasteel/elevatorshaft{ - planetary_atmos = 1 - }, -/area/hangar) -"Pn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/steeldecal/steel_decals_central2{ - pixel_y = 2 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Py" = ( -/obj/structure/table/wood/reinforced, -/obj/item/flashlight/lamp/green{ - pixel_y = 13; - pixel_x = 8 - }, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = -4 - }, -/obj/item/clipboard{ - pixel_x = -2; - pixel_y = 8 - }, -/obj/item/phone{ - pixel_x = 8; - pixel_y = -4 - }, -/obj/item/storage/fancy/cigarettes/cigars/havana{ - pixel_y = -8; - pixel_x = 4 - }, -/obj/item/lighter{ - pixel_y = -16; - pixel_x = 13 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"PG" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/girder/displaced, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"PN" = ( -/obj/structure/chair/sofa/brown/left/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"QM" = ( -/obj/structure/flora/rock/icy{ - pixel_x = 5; - pixel_y = 5 - }, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"Ra" = ( -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/obj/structure/sign/warning/securearea{ - pixel_y = 32 - }, -/turf/open/floor/plating/catwalk_floor{ - planetary_atmos = 1 - }, -/area/hangar) -"RX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate/freezer, -/obj/machinery/light/directional/north, -/turf/open/floor/plating/rust{ - planetary_atmos = 1 - }, -/area/hangar) -"SH" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"Tj" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/item/trash/energybar{ - color = "#808080"; - layer = 2; - pixel_x = -4; - pixel_y = 4 - }, -/obj/effect/decal/cleanable/xenoblood{ - color = "#808080" - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"To" = ( -/obj/structure/table/reinforced, -/obj/item/stack/packageWrap{ - pixel_y = 7 - }, -/obj/item/clipboard{ - pixel_x = -5; - pixel_y = 1 - }, -/obj/item/export_scanner{ - pixel_x = 4 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"Tp" = ( -/obj/structure/mopbucket, -/obj/item/mop{ - pixel_y = 4; - pixel_x = -9 - }, -/obj/item/toy/plush/knight{ - pixel_y = 17; - pixel_x = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Tr" = ( -/obj/effect/decal/fakelattice{ - color = "#808080" - }, -/obj/item/trash/sosjerky{ - anchored = 1; - color = "#808080"; - pixel_x = 8; - pixel_y = 8 - }, -/obj/effect/decal/cleanable/dirt{ - color = "#808080" - }, -/obj/effect/decal/cleanable/vomit/old{ - color = "#808080" - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/floor/plasteel/elevatorshaft{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"Tw" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/structure/filingcabinet/chestdrawer, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"TV" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/item/desk_flag{ - pixel_x = -6; - pixel_y = 17 - }, -/obj/item/megaphone/sec{ - name = "syndicate megaphone"; - pixel_x = 1; - pixel_y = 4 - }, -/obj/item/camera_bug{ - pixel_x = -5; - pixel_y = -3 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"UG" = ( -/obj/effect/turf_decal/steeldecal/steel_decals_central2{ - pixel_y = 2 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"UH" = ( -/obj/structure/table/reinforced, -/obj/item/stamp{ - pixel_x = -8; - pixel_y = 8 - }, -/obj/item/stamp/denied{ - pixel_x = -8; - pixel_y = 3 - }, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = 5 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/light/directional/north, -/turf/open/floor/plating/catwalk_floor{ - planetary_atmos = 1 - }, -/area/hangar) -"UJ" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"UO" = ( -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"UX" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/blood/old, -/obj/machinery/atmospherics/pipe/simple/general, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"VA" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"VO" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/structure/grille, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"VS" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/computer/card/minor/cmo{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"WE" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"WJ" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/docking{ - pixel_x = -32 - }, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"WL" = ( -/obj/structure/table, -/obj/item/toy/cards/deck{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"Xs" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Xv" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "foam_plating"; - planetary_atmos = 1 - }, -/area/hangar) -"XB" = ( -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/catwalk_floor{ - planetary_atmos = 1 - }, -/area/hangar) -"XL" = ( -/obj/item/toy/plush/lizardplushie{ - pixel_x = -6; - name = "tail-less lizard plushie" - }, -/obj/effect/decal/cleanable/blood{ - icon_state = "splatter6"; - pixel_x = -13; - pixel_y = 6 - }, -/obj/item/toy/plush/goatplushie{ - pixel_x = 12 - }, -/obj/item/toy/katana{ - pixel_x = 20; - pixel_y = 1 - }, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"XN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/ian{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"XQ" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/structure/closet/crate/trashcart, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"XT" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"XW" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/corner, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/corner, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 10 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"YH" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid{ - planetary_atmos = 1 - }, -/area/hangar) -"Zb" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"Zq" = ( -/obj/structure/chair/sofa/brown/right/directional/south, -/obj/item/reagent_containers/food/drinks/mug{ - pixel_x = -5; - pixel_y = -3 - }, -/obj/item/toy/plush/hornet{ - pixel_x = 6; - pixel_y = 3 - }, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"Zu" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"ZL" = ( -/obj/item/chair{ - pixel_x = 6; - pixel_y = -4 - }, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) - -(1,1,1) = {" -mY -mY -mY -mY -mY -mY -mY -iZ -iZ -iZ -iZ -iZ -iZ -iZ -vE -iZ -iZ -iZ -vE -iZ -iZ -iZ -vE -iZ -iZ -iZ -vE -iZ -iZ -iZ -vE -iZ -iZ -iZ -iZ -mY -mY -mY -mY -"} -(2,1,1) = {" -mY -mY -mY -mY -mY -mY -iZ -iZ -DD -DD -DD -YH -Zb -Zb -Zb -Zb -Zb -Zb -Zb -Zb -Zb -Zb -Zb -Zb -Zb -Zb -Zb -Zb -Zb -Zb -YH -iZ -iZ -iZ -iZ -iZ -mY -mY -mY -"} -(3,1,1) = {" -mY -mY -mY -mY -mY -mY -iZ -iZ -DD -DD -Av -Kd -Mb -dg -ql -Mb -Mb -Mb -dg -ql -Mb -Mb -ql -tF -Mb -Mb -Mb -ql -tF -Mb -Kd -WJ -bv -DD -iZ -iZ -iZ -mY -mY -"} -(4,1,1) = {" -mY -mY -mY -mY -mY -mY -iZ -DD -DD -DD -wd -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -cE -Nv -MZ -DD -DD -DD -iZ -iZ -mY -"} -(5,1,1) = {" -mY -mY -mY -mY -mY -iZ -iZ -iZ -DD -OH -wd -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -Nv -Tp -iZ -DD -DD -DD -iZ -mY -"} -(6,1,1) = {" -mY -mY -mY -mY -mY -iZ -Al -dz -Xv -aN -Ij -hf -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hf -Nv -XN -iZ -iZ -DD -DD -iZ -mY -"} -(7,1,1) = {" -mY -iZ -iZ -iZ -iZ -iZ -To -UO -wI -Nd -Ij -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -ka -MZ -iK -KA -AK -DD -iZ -iZ -"} -(8,1,1) = {" -mY -iZ -LB -mV -iZ -jw -XB -DG -ei -Pn -wd -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -ka -vs -iK -AK -AK -DD -DD -iZ -"} -(9,1,1) = {" -iZ -iZ -iZ -ek -iZ -UH -Jf -pW -rP -Pn -Av -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -js -mz -iK -NB -fp -iZ -DD -iZ -"} -(10,1,1) = {" -iZ -Dj -Dj -re -iZ -iZ -Ra -uL -qM -Pn -Ij -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -ka -mz -nY -NB -NB -DD -DD -iZ -"} -(11,1,1) = {" -iZ -Dj -Dj -XW -cn -KU -UX -Hv -ER -UG -Ij -hf -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hf -Nv -MZ -iK -NB -NB -KA -DD -iZ -"} -(12,1,1) = {" -iZ -Dj -Dj -hE -DD -DD -VO -OW -ok -tz -Ij -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -ka -MZ -iK -NB -NB -NB -iZ -iZ -"} -(13,1,1) = {" -iZ -iZ -iZ -iZ -DD -DD -PG -Je -XQ -Cx -Ij -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -ka -mz -iK -NB -NB -NB -DD -iZ -"} -(14,1,1) = {" -mY -mY -mY -iZ -DD -iZ -RX -mw -Ju -lt -Av -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -Nv -mz -DD -QM -Mm -DD -DD -iZ -"} -(15,1,1) = {" -mY -mY -mY -iZ -DD -DD -Je -mw -mw -lt -wd -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -js -Es -DD -DD -iZ -DD -DD -iZ -"} -(16,1,1) = {" -mY -mY -mY -iZ -DD -DD -Cw -qa -Nc -lt -wd -hf -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hf -Nv -Es -DD -DD -DD -DD -DD -iZ -"} -(17,1,1) = {" -mY -mY -mY -iZ -DD -DD -dQ -oP -bi -Kf -Ij -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -Nv -Jz -hb -ZL -DD -DD -DD -iZ -"} -(18,1,1) = {" -mY -mY -mY -iZ -DD -DD -DD -Ki -pg -MZ -wd -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -ka -qY -tk -WL -DD -DD -DD -iZ -"} -(19,1,1) = {" -mY -mY -mY -iZ -DD -DD -DD -DD -Ci -MZ -wd -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -Nv -nP -Do -ia -DD -DD -DD -iZ -"} -(20,1,1) = {" -mY -mY -iZ -iZ -DD -DD -DD -DD -DD -MZ -UJ -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -ka -Es -rw -iZ -DD -DD -iZ -iZ -"} -(21,1,1) = {" -mY -mY -iZ -DD -DD -DD -wu -oq -DD -mz -Fy -hf -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hf -Bh -Es -DD -DD -DD -DD -iZ -mY -"} -(22,1,1) = {" -mY -iZ -iZ -DD -DD -IR -Hw -gQ -DD -Mv -UJ -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -ka -cY -iZ -DD -DD -DD -iZ -mY -"} -(23,1,1) = {" -mY -iZ -DD -DD -oj -Cb -Xs -Ew -ty -mz -UJ -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -hq -ka -hP -DD -DD -DD -iZ -iZ -mY -"} -(24,1,1) = {" -mY -iZ -DD -iZ -Ni -wN -Xs -Jt -ty -Mb -VA -yM -yM -yM -hz -ea -ea -ea -jQ -ea -WE -WE -ea -jQ -WE -WE -WE -oC -WE -WE -ea -Fd -DD -DD -DD -DD -iZ -mY -mY -"} -(25,1,1) = {" -mY -iZ -DD -iZ -Zq -wN -LN -Jt -ty -Mb -Mb -mz -eV -mz -mz -mz -mz -mz -mz -mz -qY -MZ -Hi -mz -vs -mz -MZ -mz -MZ -MZ -mz -iZ -DD -DD -DD -iZ -iZ -mY -mY -"} -(26,1,1) = {" -mY -iZ -DD -iZ -PN -wN -Xs -Ew -ty -CU -DD -iZ -DD -DD -iZ -vW -tm -qJ -mn -Kl -fm -hJ -Tr -CR -DD -DD -DD -DD -DD -DD -ah -DD -DD -DD -iZ -iZ -mY -mY -mY -"} -(27,1,1) = {" -iZ -iZ -iZ -iZ -iZ -pV -Xs -Ew -nw -DD -DD -DD -DD -DD -iZ -iZ -mW -Tj -tT -dC -nt -aD -It -DD -DD -DD -DD -DD -DD -DD -ss -DD -DD -DD -iZ -mY -mY -mY -mY -"} -(28,1,1) = {" -iZ -Dj -Dj -Ph -qt -Cb -LN -Ew -DD -DD -DD -DD -DD -DD -DD -iZ -iZ -XT -XT -XT -XT -iZ -iZ -DD -DD -NB -eQ -DD -DD -Dj -Dj -Dj -DD -DD -iZ -mY -mY -mY -mY -"} -(29,1,1) = {" -iZ -Dj -Dj -Dj -qt -Cb -lZ -Zu -iZ -DD -DD -DD -DD -DD -DD -iZ -Tw -rg -VS -kX -uY -iZ -Dj -Dj -DD -NB -XL -DD -iZ -Dj -Dj -Dj -iZ -DD -iZ -mY -mY -mY -mY -"} -(30,1,1) = {" -iZ -Dj -Dj -Dj -qt -wN -LN -Fg -iZ -DD -DD -DD -DD -DD -DD -iZ -qk -an -fO -JN -DK -hL -Dj -Dj -DD -NB -NB -DD -iZ -iZ -iZ -iZ -iZ -DD -iZ -mY -mY -mY -mY -"} -(31,1,1) = {" -iZ -iZ -iZ -iZ -iZ -SH -GE -cB -iZ -DD -DD -DD -DD -DD -DD -iZ -Py -oL -BM -TV -CA -iZ -Dj -Dj -iZ -iZ -iZ -iZ -iZ -mY -mY -mY -iZ -iZ -iZ -mY -mY -mY -mY -"} -(32,1,1) = {" -mY -mY -mY -mY -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -iZ -mY -mY -mY -mY -mY -mY -mY -mY -mY -mY -mY -mY -mY -mY -"} diff --git a/_maps/outpost/hangar/nt_asteroid_40x20.dmm b/_maps/outpost/hangar/nt_asteroid_40x20.dmm deleted file mode 100644 index ab49a101ee1e..000000000000 --- a/_maps/outpost/hangar/nt_asteroid_40x20.dmm +++ /dev/null @@ -1,4301 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ai" = ( -/obj/item/wallframe/airalarm{ - pixel_y = -7 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"au" = ( -/turf/closed/mineral/random/snow, -/area/hangar) -"ba" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"bX" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"ck" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"cn" = ( -/obj/machinery/light/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"cq" = ( -/obj/structure/closet/crate, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/plating{ - icon_state = "platingdmg1"; - planetary_atmos = 1 - }, -/area/hangar) -"cO" = ( -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"cY" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"dn" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"dw" = ( -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plasteel/stairs{ - dir = 4 - }, -/area/hangar) -"dK" = ( -/obj/machinery/door/poddoor/shutters/indestructible/preopen, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"dN" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"ed" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/structure/girder/reinforced, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"eg" = ( -/obj/structure/chair, -/obj/structure/sign/poster/official/enlist{ - pixel_x = 32 - }, -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken4"; - planetary_atmos = 1 - }, -/area/hangar) -"ep" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 9 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"eH" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/sign/poster/contraband/energy_swords{ - pixel_y = -32 - }, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plating/rust{ - planetary_atmos = 1 - }, -/area/hangar) -"eP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"fy" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"fB" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"fI" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"gr" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"gu" = ( -/turf/template_noop, -/area/template_noop) -"gE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"gL" = ( -/obj/machinery/door/airlock/highsecurity, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"gO" = ( -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"gV" = ( -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"he" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/structure/railing{ - dir = 1; - layer = 4.1 - }, -/obj/structure/grille/indestructable, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"hh" = ( -/obj/effect/landmark/outpost/elevator, -/turf/open/floor/plasteel/elevatorshaft{ - planetary_atmos = 1 - }, -/area/hangar) -"hp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"hs" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 6 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"hJ" = ( -/obj/structure/railing/wood{ - dir = 8 - }, -/turf/open/floor/plasteel/stairs/wood, -/area/hangar) -"ie" = ( -/turf/closed/indestructible/reinforced, -/area/hangar) -"iw" = ( -/obj/item/banner, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"iM" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/plasteel/stairs{ - dir = 8; - planetary_atmos = 1 - }, -/area/hangar) -"iV" = ( -/obj/structure/grille, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"jy" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"jF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"jR" = ( -/obj/machinery/atmospherics/components/unary/tank/air{ - volume = 10000000 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"jS" = ( -/obj/structure/flora/rock/icy, -/turf/open/water/beach/deep, -/area/hangar) -"jX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"ka" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"kk" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/machinery/light/floor/hangar, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"kD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"kG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"kU" = ( -/obj/effect/spawner/random/maintenance, -/obj/item/stack/sheet/mineral/wood{ - pixel_x = -6 - }, -/obj/item/stack/sheet/mineral/wood{ - pixel_x = 10; - pixel_y = 7 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance, -/obj/item/stack/sheet/mineral/wood{ - pixel_x = -6 - }, -/obj/item/stack/sheet/mineral/wood{ - pixel_x = 10; - pixel_y = 7 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"ll" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/light/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"lN" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"mb" = ( -/mob/living/simple_animal/hostile/cockroach, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"mo" = ( -/obj/structure/table/wood/reinforced, -/obj/item/table_bell{ - pixel_x = 9; - pixel_y = -1 - }, -/obj/item/cigbutt/cigarbutt{ - pixel_x = -5; - pixel_y = 10 - }, -/obj/item/dice/d2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"mq" = ( -/turf/open/floor/plasteel/stairs{ - dir = 8; - planetary_atmos = 1 - }, -/area/hangar) -"mN" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/mopbucket, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"ns" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"nW" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"os" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"oJ" = ( -/obj/item/kirbyplants{ - icon_state = "plant-09" - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"oK" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/structure/closet/crate, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/vomit, -/turf/open/floor/plating/rust{ - planetary_atmos = 1 - }, -/area/hangar) -"oU" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"pt" = ( -/obj/structure/table/reinforced, -/obj/item/stamp{ - pixel_x = -8; - pixel_y = 8 - }, -/obj/item/stamp/denied{ - pixel_x = -8; - pixel_y = 3 - }, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = 5 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plating/catwalk_floor{ - planetary_atmos = 1 - }, -/area/hangar) -"pu" = ( -/obj/structure/table/wood/reinforced, -/obj/item/flashlight/lamp/green{ - pixel_y = 13; - pixel_x = 8 - }, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = -4 - }, -/obj/item/clipboard{ - pixel_x = -2; - pixel_y = 8 - }, -/obj/item/phone{ - pixel_x = 8; - pixel_y = -4 - }, -/obj/item/storage/fancy/cigarettes/cigars/havana{ - pixel_y = -8; - pixel_x = 4 - }, -/obj/item/lighter{ - pixel_y = -16; - pixel_x = 13 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"px" = ( -/obj/effect/turf_decal/industrial/loading, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"py" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 5 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"pF" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"pG" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/item/desk_flag{ - pixel_x = -6; - pixel_y = 17 - }, -/obj/item/megaphone/sec{ - name = "syndicate megaphone"; - pixel_x = 1; - pixel_y = 4 - }, -/obj/item/camera_bug{ - pixel_x = -5; - pixel_y = -3 - }, -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"pJ" = ( -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"pQ" = ( -/obj/machinery/computer/communications{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"pT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"qc" = ( -/obj/effect/turf_decal/industrial/warning/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"qg" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/obj/structure/closet/toolcloset/empty, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"qh" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"qH" = ( -/obj/structure/flora/grass/both{ - pixel_x = 23; - pixel_y = 6 - }, -/turf/open/floor/grass/snow/safe{ - planetary_atmos = 1 - }, -/area/hangar) -"rt" = ( -/obj/structure/table/wood/reinforced, -/obj/item/modular_computer/laptop/preset/civilian{ - pixel_x = -1; - pixel_y = 3 - }, -/obj/item/newspaper{ - pixel_x = 6; - pixel_y = 10 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"rJ" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"rX" = ( -/obj/machinery/vending/coffee, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"sA" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/computer/card/minor/cmo{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"sG" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"sP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/sign/poster/official/moth/meth{ - pixel_x = 32 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"sY" = ( -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"sZ" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - req_access_txt = "109" - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/barricade/wooden/crude, -/obj/machinery/atmospherics/pipe/simple/general, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"te" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"to" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"tq" = ( -/obj/machinery/elevator_call_button{ - pixel_y = 31; - pixel_x = 10 - }, -/obj/effect/landmark/outpost/elevator_machine, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"tx" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"tF" = ( -/obj/effect/spawner/structure/window/hollow/reinforced/middle{ - dir = 4 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"tH" = ( -/obj/machinery/computer/cargo, -/obj/item/toy/plush/knight{ - pixel_y = 25; - pixel_x = 9 - }, -/turf/open/floor/plating/catwalk_floor{ - planetary_atmos = 1 - }, -/area/hangar) -"ug" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg3"; - planetary_atmos = 1 - }, -/area/hangar) -"vh" = ( -/obj/effect/spawner/random/trash/grille_or_waste, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"vk" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"vn" = ( -/obj/machinery/door/poddoor/shutters/indestructible/preopen, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"vq" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"vt" = ( -/obj/structure/railing/corner/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"vz" = ( -/obj/effect/turf_decal/industrial/caution{ - pixel_y = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"vG" = ( -/obj/machinery/light/floor/hangar, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"vJ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/item/mop{ - pixel_y = -8; - pixel_x = -13 - }, -/obj/item/clothing/head/soft/purple, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"vO" = ( -/obj/machinery/door/poddoor/multi_tile/four_tile_ver, -/turf/closed/indestructible/reinforced, -/area/hangar) -"wi" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"wk" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/water/beach/deep, -/area/hangar) -"wm" = ( -/obj/structure/grille/indestructable, -/obj/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"wo" = ( -/obj/structure/rack, -/obj/item/poster/random_official{ - pixel_x = 2; - pixel_y = 9 - }, -/obj/item/poster/random_official{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/poster/random_contraband{ - pixel_y = 8; - pixel_x = -1 - }, -/obj/item/destTagger{ - pixel_x = -2 - }, -/obj/effect/decal/cleanable/cobweb, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/tech/grid{ - planetary_atmos = 1 - }, -/area/hangar) -"xi" = ( -/obj/structure/closet/crate/trashcart/laundry, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"xu" = ( -/turf/open/floor/plasteel/stairs{ - dir = 4 - }, -/area/hangar) -"xF" = ( -/obj/structure/girder/displaced, -/obj/structure/grille, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"xN" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/grass/snow/safe{ - planetary_atmos = 1 - }, -/area/hangar) -"yd" = ( -/obj/structure/railing/wood{ - layer = 3.1 - }, -/obj/structure/fluff/hedge{ - icon_state = "hedge-8" - }, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"yO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"yQ" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/plating/catwalk_floor{ - planetary_atmos = 1 - }, -/area/hangar) -"zc" = ( -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"zr" = ( -/obj/item/trash/waffles{ - pixel_y = -3 - }, -/obj/item/trash/sosjerky{ - pixel_x = -4 - }, -/obj/item/trash/raisins, -/obj/item/trash/pistachios{ - pixel_x = 6 - }, -/obj/structure/closet/crate/trashcart, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"zs" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"zy" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"zA" = ( -/turf/open/floor/plating/ice/smooth, -/area/hangar) -"zK" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/stand_clear, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"zM" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"zN" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/item/trash/can{ - pixel_x = -8; - pixel_y = -6 - }, -/obj/item/trash/candy, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Ao" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/item/wallframe/light_fixture{ - pixel_y = -5; - pixel_x = 5 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Ap" = ( -/obj/item/storage/cans/sixbeer{ - pixel_x = 3; - pixel_y = 2 - }, -/obj/effect/decal/cleanable/greenglow, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"Av" = ( -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"AD" = ( -/obj/structure/statue/snow/snowman{ - pixel_y = 5 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/grass/snow/safe{ - planetary_atmos = 1 - }, -/area/hangar) -"AG" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 4 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Bx" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"BB" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/item/storage/fancy/donut_box{ - pixel_y = 6 - }, -/obj/item/storage/fancy/cigarettes{ - pixel_x = 10 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"BL" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/machinery/light/floor/hangar{ - pixel_y = 17 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"BU" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 8 - }, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Cd" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/structure/reagent_dispensers/watertank, -/obj/item/radio/intercom/directional/north{ - pixel_y = 20 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"Cf" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/structure/fluff/hedge{ - icon_state = "hedge-4" - }, -/turf/open/floor/plasteel/tech/grid{ - planetary_atmos = 1 - }, -/area/hangar) -"Cn" = ( -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"CI" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/fax/ruin, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"CS" = ( -/turf/open/floor/grass/snow/safe{ - planetary_atmos = 1 - }, -/area/hangar) -"De" = ( -/obj/effect/turf_decal/industrial/traffic/corner, -/obj/effect/decal/cleanable/plastic, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Dx" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"ET" = ( -/turf/open/floor/plasteel/stairs/wood, -/area/hangar) -"Fm" = ( -/obj/structure/girder/reinforced, -/obj/structure/grille/broken, -/obj/machinery/light/directional/north, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"Fv" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Fw" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 1 - }, -/obj/machinery/light/floor/hangar, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"FC" = ( -/obj/machinery/door/airlock, -/obj/effect/landmark/outpost/elevator_machine, -/obj/structure/lattice/catwalk, -/turf/open/floor/engine, -/area/hangar) -"GA" = ( -/obj/structure/railing/corner/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"He" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/beer{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/item/toy/cards/deck{ - pixel_y = 2; - pixel_x = -5 - }, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"Hg" = ( -/obj/effect/turf_decal/box, -/obj/structure/railing{ - layer = 3.1 - }, -/obj/machinery/power/floodlight, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"Hk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ho" = ( -/obj/structure/chair/plastic{ - dir = 4 - }, -/obj/structure/sign/poster/official/random{ - pixel_y = -32 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"HH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"HP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"HR" = ( -/obj/structure/railing/wood{ - dir = 4 - }, -/turf/open/floor/plasteel/stairs/wood, -/area/hangar) -"HX" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid{ - planetary_atmos = 1 - }, -/area/hangar) -"Ia" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/wood/walnut{ - icon_state = "wood-broken7"; - planetary_atmos = 1 - }, -/area/hangar) -"Iv" = ( -/obj/structure/girder, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Iy" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"IE" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"Jk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Jp" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"JF" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 6 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg3"; - planetary_atmos = 1 - }, -/area/hangar) -"JI" = ( -/obj/machinery/vending/cigarette, -/obj/item/radio/intercom/directional/north{ - pixel_y = 20 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/item/toy/plush/hornet/gay{ - pixel_y = 23; - pixel_x = 7 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = 1; - pixel_y = 19; - layer = 3.1 - }, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"KG" = ( -/obj/structure/table/reinforced, -/obj/item/stack/packageWrap{ - pixel_y = 7 - }, -/obj/item/clipboard{ - pixel_x = -5; - pixel_y = 1 - }, -/obj/item/export_scanner{ - pixel_x = 4 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/structure/sign/poster/contraband/eoehoma{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/tech/grid{ - planetary_atmos = 1 - }, -/area/hangar) -"KY" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid{ - planetary_atmos = 1 - }, -/area/hangar) -"Lc" = ( -/obj/structure/railing/wood{ - layer = 3.1 - }, -/obj/structure/fluff/hedge{ - icon_state = "hedge-4" - }, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"Lm" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Ly" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/general, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"LI" = ( -/obj/structure/railing/wood{ - layer = 3.1 - }, -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"LR" = ( -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"Mt" = ( -/turf/open/floor/plasteel/elevatorshaft{ - planetary_atmos = 1 - }, -/area/hangar) -"MV" = ( -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Nw" = ( -/obj/machinery/computer/camera_advanced{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"NC" = ( -/obj/structure/table, -/obj/item/reagent_containers/food/drinks/mug{ - pixel_x = 9; - pixel_y = -2 - }, -/obj/item/newspaper{ - pixel_x = -5; - pixel_y = -1 - }, -/obj/item/newspaper{ - pixel_x = -5; - pixel_y = 2 - }, -/obj/machinery/jukebox/boombox{ - pixel_y = 5 - }, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"NK" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"NW" = ( -/obj/item/binoculars{ - pixel_y = 6; - pixel_x = -3 - }, -/obj/structure/rack, -/obj/item/radio{ - pixel_y = 6; - pixel_x = 9 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"NX" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"Oh" = ( -/obj/effect/landmark/outpost/hangar_dock, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"ON" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"OS" = ( -/obj/item/kirbyplants{ - icon_state = "plant-25"; - pixel_x = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/robot_debris{ - pixel_x = 8 - }, -/obj/item/kirbyplants{ - icon_state = "plant-25"; - pixel_x = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/robot_debris{ - pixel_x = 8 - }, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 9 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Pv" = ( -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"PF" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/item/chair{ - pixel_x = -1; - pixel_y = -4 - }, -/obj/item/chair{ - pixel_x = -1 - }, -/obj/item/chair{ - pixel_x = -1; - pixel_y = 3 - }, -/obj/effect/turf_decal/box, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"QA" = ( -/obj/machinery/light/directional/east, -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/general, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"QB" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/structure/fluff/hedge{ - icon_state = "hedge-8" - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/tech/grid{ - planetary_atmos = 1 - }, -/area/hangar) -"QC" = ( -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"QL" = ( -/obj/structure/table_frame/wood, -/obj/item/trash/boritos, -/turf/open/floor/plating{ - icon_state = "platingdmg1"; - planetary_atmos = 1 - }, -/area/hangar) -"QP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/outpost/hangar_numbers, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"QR" = ( -/obj/machinery/light/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"QX" = ( -/obj/effect/turf_decal/arrows, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"RB" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/easel, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"RH" = ( -/obj/structure/girder/displaced, -/obj/structure/grille/broken, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"RI" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/machinery/power/floodlight, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"RN" = ( -/obj/structure/flora/grass/both, -/turf/open/floor/grass/snow/safe{ - planetary_atmos = 1 - }, -/area/hangar) -"Se" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"Sj" = ( -/obj/structure/girder/displaced, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"Sl" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Tu" = ( -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Tw" = ( -/obj/machinery/computer/crew/syndie{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"TT" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"TV" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/effect/turf_decal/box/corners, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"Uc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"Ue" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Uj" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - req_access_txt = "109" - }, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"UA" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"UL" = ( -/obj/effect/decal/cleanable/garbage{ - pixel_y = -7; - pixel_x = 6 - }, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"UN" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"UV" = ( -/obj/structure/girder/reinforced, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"We" = ( -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"Wi" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/general{ - dir = 9 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Wo" = ( -/obj/effect/turf_decal/techfloor, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Xg" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"Xq" = ( -/turf/open/water/beach/deep, -/area/hangar) -"Xs" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"XH" = ( -/obj/structure/frame/computer{ - dir = 8 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"XN" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut{ - planetary_atmos = 1 - }, -/area/hangar) -"XP" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"XX" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Yi" = ( -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Yw" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/structure/railing{ - layer = 3.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/machinery/atmospherics/pipe/simple/general, -/turf/open/floor/plating{ - icon_state = "platingdmg3"; - planetary_atmos = 1 - }, -/area/hangar) -"YK" = ( -/obj/structure/window/reinforced/spawner, -/obj/effect/spawner/structure/window/hollow/reinforced/middle{ - dir = 4 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Zm" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Zz" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"ZQ" = ( -/obj/structure/chair/comfy/grey/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"ZR" = ( -/obj/structure/marker_beacon{ - picked_color = "Teal" - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"ZU" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 5 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) - -(1,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -ie -ie -ie -ie -vO -ie -ie -ie -vO -ie -ie -ie -vO -ie -ie -ie -vO -ie -ie -ie -vO -ie -gu -gu -gu -gu -gu -gu -"} -(2,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -gu -ie -ie -ie -ie -ie -ie -KY -Se -Se -Se -Se -Se -Se -Se -Se -Se -Se -Se -Se -Se -Se -Se -Se -Se -Se -KY -ie -ie -gu -gu -gu -gu -gu -"} -(3,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -ie -ie -au -au -au -ie -fI -HX -gV -Av -Pv -gV -gV -gV -Av -Pv -gV -gV -Pv -QX -gV -gV -gV -Pv -QX -gV -HX -vG -ie -ie -ie -gu -gu -gu -"} -(4,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -ie -au -au -au -au -au -Zm -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Oh -Iy -au -au -ie -ie -gu -gu -"} -(5,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -ie -ie -au -au -au -au -QC -ck -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -au -au -au -ie -gu -gu -"} -(6,1,1) = {" -gu -gu -gu -gu -gu -gu -ie -ie -au -au -au -au -au -QC -yO -ZR -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -ZR -Iy -ON -au -au -ie -gu -gu -"} -(7,1,1) = {" -gu -gu -gu -gu -gu -ie -ie -au -au -au -au -au -au -QC -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -pT -au -au -ie -gu -gu -"} -(8,1,1) = {" -gu -gu -gu -gu -ie -ie -au -au -au -au -wk -Sj -au -ed -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -QC -au -au -ie -gu -gu -"} -(9,1,1) = {" -gu -gu -gu -gu -ie -au -au -au -au -jS -Xq -to -RI -fB -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -gr -ON -ie -au -ie -gu -gu -"} -(10,1,1) = {" -gu -gu -gu -gu -ie -au -au -au -Xq -Xq -Xq -to -NX -fB -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -ON -au -au -ie -gu -gu -"} -(11,1,1) = {" -gu -gu -gu -gu -ie -au -au -wo -gO -gO -gO -XP -NX -fB -Hk -ZR -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -ZR -Iy -ON -au -au -ie -gu -gu -"} -(12,1,1) = {" -gu -gu -gu -gu -ie -au -au -Cf -LR -JF -QA -Ly -Yw -py -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -QC -au -au -ie -gu -gu -"} -(13,1,1) = {" -gu -gu -ie -ie -ie -ie -ie -QB -Ap -ug -ie -mq -iM -fy -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -QC -au -au -ie -gu -gu -"} -(14,1,1) = {" -gu -gu -ie -Mt -Mt -Mt -ie -KG -mb -eH -ie -pF -tx -qh -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -gr -QC -au -au -ie -gu -gu -"} -(15,1,1) = {" -gu -gu -ie -Mt -Mt -Mt -ie -ie -xu -dw -he -zK -QC -ON -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -QC -ie -au -ie -ie -gu -"} -(16,1,1) = {" -gu -gu -ie -hs -NK -dN -dN -sZ -kU -OS -he -zK -QC -HH -yO -ZR -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -ZR -Iy -ON -au -au -au -ie -ie -"} -(17,1,1) = {" -gu -gu -ie -ll -qg -PF -ie -ie -Fm -XH -au -au -au -ON -Hk -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -ON -au -au -au -au -ie -"} -(18,1,1) = {" -gu -gu -ie -AG -ie -ie -ie -au -au -au -au -au -au -pT -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -ON -Iv -au -au -au -ie -"} -(19,1,1) = {" -gu -ie -ie -ka -ie -au -au -au -au -au -au -au -ie -ON -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -QC -iV -au -au -au -ie -"} -(20,1,1) = {" -ie -ie -au -nW -ie -au -zA -zA -au -au -au -au -ie -QC -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -gr -ON -vq -zr -au -au -ie -"} -(21,1,1) = {" -ie -jR -Lm -Wi -Uj -zc -CS -zA -au -au -au -au -ie -QC -yO -ZR -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -ZR -Iy -ON -mN -ai -au -au -ie -"} -(22,1,1) = {" -ie -au -au -au -ie -cn -CS -RN -qH -au -au -au -au -QC -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -ON -vJ -UL -au -au -ie -"} -(23,1,1) = {" -ie -ie -ie -ie -ie -au -AD -xN -xN -xN -au -au -au -QC -Hk -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -pT -zN -Ho -ie -au -ie -"} -(24,1,1) = {" -gu -gu -gu -gu -ie -ie -tF -tF -tF -tF -YK -au -au -QC -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -ON -Ao -QL -au -au -ie -"} -(25,1,1) = {" -gu -gu -gu -gu -ie -rX -UN -jy -Ia -NC -Lc -au -au -iw -yO -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -ON -vq -wi -au -au -ie -"} -(26,1,1) = {" -ie -ie -ie -ie -ie -tq -XN -XN -XN -Xg -yd -oJ -dK -ep -Uc -ZR -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -ZR -gr -ON -vq -RB -au -au -ie -"} -(27,1,1) = {" -ie -Mt -Mt -hh -FC -kG -kG -jX -kG -kD -GA -hJ -vn -jF -te -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -ON -RH -xF -au -au -ie -"} -(28,1,1) = {" -ie -Mt -Mt -Mt -FC -Tu -QP -Jk -Tu -Tu -bX -ET -vn -zM -te -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -QC -vq -Hg -ie -au -ie -"} -(29,1,1) = {" -ie -Mt -Mt -Mt -FC -sP -eP -eP -eP -gE -vt -HR -vn -ZU -hp -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -QC -vh -au -au -au -ie -"} -(30,1,1) = {" -ie -ie -ie -ie -ie -ie -ie -JI -eg -He -LI -au -au -iw -Ue -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -ON -au -au -au -au -ie -"} -(31,1,1) = {" -gu -gu -gu -gu -gu -gu -ie -ie -ie -ie -ie -au -au -QC -Ue -ZR -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -ZR -rJ -pT -au -au -au -au -ie -"} -(32,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -gu -ie -ie -au -au -QC -HP -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -kk -pT -au -au -au -ie -ie -"} -(33,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -ie -ie -ie -au -au -au -QC -Ue -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -QC -au -au -au -ie -gu -"} -(34,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -ie -au -au -au -au -yQ -ON -Dx -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -TT -au -au -au -ie -gu -"} -(35,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -ie -au -au -au -ie -tH -ON -Dx -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -Wo -Xq -au -au -ie -gu -"} -(36,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -ie -au -au -ie -ie -pt -QC -Dx -ZR -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -ZR -rJ -Wo -Xq -au -au -ie -gu -"} -(37,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -ie -au -au -ie -Cd -zs -vz -Dx -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -ns -au -au -au -ie -gu -"} -(38,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -ie -au -au -UA -Jp -cq -px -ba -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -gr -qc -ie -au -au -ie -gu -"} -(39,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -ie -au -ie -QR -Jp -We -px -Dx -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -sY -au -au -au -ie -gu -"} -(40,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -ie -au -au -oK -We -We -px -Dx -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -rJ -vk -au -au -au -ie -gu -"} -(41,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -ie -au -au -au -Xs -TV -vz -Dx -ZR -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -ZR -Iy -sY -au -au -au -ie -gu -"} -(42,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -ie -ie -au -au -au -xi -QC -Dx -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -zy -au -au -au -ie -gu -"} -(43,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -ie -au -au -au -au -QC -Dx -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -pJ -Iy -ON -au -au -au -ie -gu -"} -(44,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -ie -ie -au -au -au -QC -BU -cY -cY -oU -oU -oU -lN -oU -oU -oU -oU -BL -cY -oU -oU -lN -cY -cY -oU -oU -oU -Fw -QC -au -au -ie -ie -gu -"} -(45,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -gu -ie -au -au -au -ie -au -Yi -ON -ON -ON -QC -QC -De -Bx -Bx -Bx -Bx -dn -Sl -ON -ON -QC -ON -ON -ON -ON -QC -au -au -au -ie -gu -gu -"} -(46,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -gu -ie -ie -au -au -au -au -au -au -au -ie -au -au -ie -ie -wm -wm -wm -ie -ie -UV -au -au -au -au -ie -au -au -au -au -au -ie -gu -gu -"} -(47,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -ie -ie -ie -ie -au -au -au -au -au -au -ie -ie -Nw -sA -Tw -pQ -NW -ie -ie -ie -ie -ie -au -au -au -au -au -ie -ie -ie -gu -gu -"} -(48,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -ie -ie -ie -ie -au -au -au -ie -rt -ZQ -cO -XX -XX -Cn -ie -Mt -Mt -Mt -ie -ie -ie -ie -ie -ie -ie -gu -gu -gu -gu -"} -(49,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -ie -ie -ie -ie -ie -pu -mo -sG -ON -ON -Fv -ie -Mt -Mt -Mt -ie -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -"} -(50,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -ie -ie -IE -pG -CI -BB -MV -gL -os -Zz -os -ie -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -"} -(51,1,1) = {" -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -ie -ie -ie -ie -ie -ie -ie -ie -ie -ie -ie -gu -gu -gu -gu -gu -gu -gu -gu -gu -gu -"} diff --git a/_maps/outpost/hangar/nt_asteroid_40x40.dmm b/_maps/outpost/hangar/nt_asteroid_40x40.dmm deleted file mode 100644 index eab944babc1c..000000000000 --- a/_maps/outpost/hangar/nt_asteroid_40x40.dmm +++ /dev/null @@ -1,4829 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"aF" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"bg" = ( -/obj/effect/turf_decal/industrial/warning/corner, -/obj/structure/railing/corner, -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"ce" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/caution{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"cm" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/obj/machinery/light/floor/hangar, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"cT" = ( -/obj/structure/chair/sofa/brown/left/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"dd" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"dZ" = ( -/obj/machinery/door/poddoor/shutters/indestructible/preopen{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"ec" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/computer/cargo{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"fn" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"fR" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark, -/area/hangar) -"gN" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"hb" = ( -/obj/structure/catwalk/over, -/obj/structure/table/wood, -/obj/item/reagent_containers/syringe/contraband/space_drugs{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/reagent_containers/glass/mortar/metal, -/obj/item/reagent_containers/syringe/contraband/morphine{ - pixel_x = -3; - pixel_y = 1 - }, -/turf/open/floor/plating{ - icon_state = "foam_plating"; - planetary_atmos = 1 - }, -/area/hangar) -"hj" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"ht" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"hw" = ( -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/water/beach/deep, -/area/hangar) -"hz" = ( -/obj/structure/railing/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"hA" = ( -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"hB" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/landmark/outpost/hangar_numbers, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"hG" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"hO" = ( -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"hP" = ( -/obj/machinery/door/poddoor/multi_tile/four_tile_ver, -/turf/closed/indestructible/reinforced, -/area/hangar) -"iA" = ( -/obj/structure/fluff/hedge, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"iG" = ( -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"iL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"iS" = ( -/obj/machinery/vending/coffee{ - pixel_x = 5 - }, -/obj/item/kirbyplants{ - icon_state = "plant-22"; - pixel_x = -11 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/toy/plush/moth{ - pixel_y = 21; - pixel_x = 6 - }, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"jk" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/water/beach/deep, -/area/hangar) -"jp" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"jw" = ( -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark, -/area/hangar) -"kf" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"kF" = ( -/obj/effect/decal/cleanable/garbage{ - pixel_x = 11; - pixel_y = 5 - }, -/obj/effect/decal/cleanable/wrapping{ - color = "#808080"; - pixel_y = 12 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"la" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/structure/fans/tiny/invisible, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"lf" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair{ - dir = 8 - }, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"lr" = ( -/obj/effect/turf_decal/box/corners, -/obj/structure/closet/crate, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating{ - icon_state = "platingdmg1"; - planetary_atmos = 1 - }, -/area/hangar) -"ls" = ( -/obj/structure/chair/sofa/brown/right/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"lJ" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark, -/area/hangar) -"lP" = ( -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/turf/open/water/beach/deep, -/area/hangar) -"mg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/general/hidden, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"ml" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"mH" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/turf/open/floor/plasteel/dark, -/area/hangar) -"nK" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/machinery/light/floor/hangar, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"oj" = ( -/turf/open/floor/plasteel/tech, -/area/hangar) -"oq" = ( -/obj/structure/fence{ - dir = 4 - }, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"oC" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/item/stack/rods{ - pixel_x = -7; - pixel_y = -2 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"oU" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"oX" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"pa" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"ph" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"pt" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"pz" = ( -/turf/open/floor/plasteel/dark, -/area/hangar) -"pF" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/components/binary/pump/on, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"qq" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 1 - }, -/obj/machinery/light/floor/hangar, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"qx" = ( -/obj/structure/reagent_dispensers/fueltank, -/obj/structure/sign/warning/nosmoking{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"qy" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/light/directional/east, -/turf/open/floor/plating/rust{ - planetary_atmos = 1 - }, -/area/hangar) -"qG" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/caution, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"qT" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/obj/effect/decal/cleanable/glass{ - pixel_x = -8; - pixel_y = 6 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"ri" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"rp" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"rB" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/slab_2, -/area/hangar) -"rH" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/general/hidden, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"se" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/closet/crate/bin, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"sW" = ( -/obj/structure/sign/departments/cargo{ - pixel_x = 32 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"tN" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark, -/area/hangar) -"uf" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"vu" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"vy" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"vF" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/structure/closet/crate, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"vG" = ( -/obj/item/stack/ore/salvage/scrapsilver{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/turf/open/floor/plasteel/tech/techmaint{ - planetary_atmos = 1 - }, -/area/hangar) -"wc" = ( -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plating/rust{ - planetary_atmos = 1 - }, -/area/hangar) -"wm" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/rack, -/obj/effect/turf_decal/industrial/warning, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"ws" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/rack, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"wu" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"wH" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"wJ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/item/stack/ore/salvage/scraptitanium/five, -/obj/machinery/light/directional/north, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"xk" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"xX" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/frame/computer, -/turf/open/floor/plasteel/dark, -/area/hangar) -"ya" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/stand_clear, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"yb" = ( -/obj/structure/girder/displaced, -/turf/open/floor/plasteel/dark, -/area/hangar) -"yU" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"zd" = ( -/obj/machinery/light/floor/hangar, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"zL" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"zY" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"Aa" = ( -/obj/structure/grille, -/obj/structure/railing{ - dir = 1; - layer = 4.1 - }, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"AI" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/frame/machine, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"AO" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/plating/asteroid/icerock/cracked, -/area/hangar) -"AT" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/item/stack/rods{ - pixel_x = -7; - pixel_y = -2 - }, -/obj/structure/grille/broken, -/obj/structure/girder/reinforced, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Bb" = ( -/obj/effect/decal/cleanable/robot_debris{ - pixel_x = 12 - }, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"Br" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"BE" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"BI" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/components/unary/tank/air{ - volume = 10000000 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Cw" = ( -/obj/structure/closet/crate, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"DK" = ( -/turf/closed/mineral/random/snow, -/area/hangar) -"DS" = ( -/obj/structure/fence/door, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"Er" = ( -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Et" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark, -/area/hangar) -"Ew" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"EC" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/passive_vent{ - dir = 1 - }, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"EJ" = ( -/obj/structure/railing{ - dir = 1; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/turf/open/water/beach/deep, -/area/hangar) -"Fl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/landmark/outpost/elevator_machine, -/obj/machinery/elevator_call_button{ - pixel_y = 31; - pixel_x = 10 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_2, -/area/hangar) -"Fy" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/poddoor/shutters/indestructible/preopen{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"FC" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/girder, -/obj/structure/grille/broken, -/turf/open/floor/plating{ - icon_state = "platingdmg1"; - planetary_atmos = 1 - }, -/area/hangar) -"FI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/slab_2, -/area/hangar) -"FT" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust{ - planetary_atmos = 1 - }, -/area/hangar) -"FY" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/turf/open/floor/plasteel/dark, -/area/hangar) -"Gm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_2, -/area/hangar) -"GI" = ( -/turf/open/floor/plasteel/elevatorshaft{ - planetary_atmos = 1 - }, -/area/hangar) -"Hg" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark, -/area/hangar) -"HP" = ( -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust{ - planetary_atmos = 1 - }, -/area/hangar) -"HY" = ( -/turf/open/floor/plating/asteroid/icerock/smooth, -/area/hangar) -"It" = ( -/obj/machinery/light/floor/hangar, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"Iw" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"IB" = ( -/obj/structure/bed{ - icon_state = "dirty_mattress" - }, -/obj/structure/catwalk/over, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"IE" = ( -/obj/structure/closet/crate, -/obj/item/storage/box/donkpockets{ - pixel_x = 6; - pixel_y = -3 - }, -/obj/machinery/light/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"IF" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/machinery/light/floor/hangar, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"IK" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/caution, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"Jq" = ( -/obj/item/stack/cable_coil/cut/yellow, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/turf/open/floor/plasteel/tech/techmaint{ - planetary_atmos = 1 - }, -/area/hangar) -"Js" = ( -/obj/structure/easel, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"JN" = ( -/turf/closed/indestructible/reinforced, -/area/hangar) -"JZ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Km" = ( -/turf/open/floor/plating/asteroid/icerock/cracked, -/area/hangar) -"Kv" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"KJ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/girder, -/obj/structure/grille/broken, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"KL" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - req_access_txt = "109" - }, -/obj/machinery/atmospherics/pipe/simple/general/hidden, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"KN" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_2, -/area/hangar) -"KQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/table, -/obj/item/paper/pamphlet/gateway{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/paper/pamphlet/centcom{ - pixel_x = 8; - pixel_y = 1 - }, -/obj/item/paper_bin{ - pixel_x = -6; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = -7 - }, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"KS" = ( -/obj/item/stack/rods{ - pixel_x = 7; - pixel_y = -9 - }, -/turf/open/floor/plasteel/tech/techmaint{ - planetary_atmos = 1 - }, -/area/hangar) -"LE" = ( -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plasteel/dark, -/area/hangar) -"LH" = ( -/turf/template_noop, -/area/template_noop) -"LK" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"Mg" = ( -/obj/structure/girder/displaced, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"Mt" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"Mu" = ( -/turf/open/floor/plating/asteroid/iceberg, -/area/hangar) -"Nt" = ( -/turf/open/floor/plasteel/tech/techmaint{ - planetary_atmos = 1 - }, -/area/hangar) -"Ny" = ( -/obj/effect/landmark/outpost/elevator, -/turf/open/floor/plasteel/elevatorshaft{ - planetary_atmos = 1 - }, -/area/hangar) -"NE" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/spawner/random/decoration/glowstick, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"NX" = ( -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"Og" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair, -/obj/machinery/light/directional/east, -/turf/open/floor/concrete/slab_2, -/area/hangar) -"OI" = ( -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"OZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"Pf" = ( -/obj/structure/closet/crate, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/turf/open/floor/plating{ - icon_state = "foam_plating"; - planetary_atmos = 1 - }, -/area/hangar) -"Po" = ( -/obj/item/flashlight/lantern{ - pixel_x = 7 - }, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"Pu" = ( -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plating{ - icon_state = "foam_plating"; - planetary_atmos = 1 - }, -/area/hangar) -"Qb" = ( -/obj/structure/flora/rock/icy, -/turf/open/water/beach/deep, -/area/hangar) -"Qr" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/item/kirbyplants{ - icon_state = "plant-25"; - pixel_x = 11 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"Qy" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/caution{ - dir = 1 - }, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"Rw" = ( -/obj/effect/landmark/outpost/hangar_dock, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"RA" = ( -/obj/structure/railing{ - dir = 1; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/structure/flora/rock/pile/icy{ - pixel_y = -5; - pixel_x = 4 - }, -/turf/open/water/beach/deep, -/area/hangar) -"RS" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/turf/open/floor/plating/rust{ - planetary_atmos = 1 - }, -/area/hangar) -"So" = ( -/obj/structure/flora/rock/icy{ - pixel_x = 5; - pixel_y = 5 - }, -/turf/open/water/beach/deep, -/area/hangar) -"Td" = ( -/obj/effect/decal/cleanable/garbage, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Th" = ( -/obj/structure/fence/corner{ - dir = 9 - }, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"Tw" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/machinery/light/floor/hangar, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"Tz" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner, -/turf/open/water/beach/deep, -/area/hangar) -"Us" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/item/trash/boritos, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"UB" = ( -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"UO" = ( -/obj/structure/railing{ - dir = 6; - layer = 4.1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 6 - }, -/turf/open/water/beach/deep, -/area/hangar) -"UT" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/structure/grille, -/turf/open/floor/plating{ - icon_state = "platingdmg2"; - planetary_atmos = 1 - }, -/area/hangar) -"Vc" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/obj/structure/closet/crate/trashcart, -/obj/item/trash/can/food/beans{ - pixel_x = 4; - pixel_y = -5 - }, -/obj/item/trash/can/food/peaches, -/obj/item/trash/can/food, -/obj/effect/decal/cleanable/glass, -/turf/open/floor/plasteel/dark, -/area/hangar) -"Vj" = ( -/obj/structure/fence{ - dir = 1 - }, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plating/asteroid/icerock, -/area/hangar) -"Vk" = ( -/obj/machinery/door/airlock, -/obj/effect/landmark/outpost/elevator_machine, -/obj/structure/lattice/catwalk, -/turf/open/floor/engine, -/area/hangar) -"Vy" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"VA" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/cargo_one{ - planetary_atmos = 1 - }, -/area/hangar) -"Wo" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/firelock_frame, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"Xp" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"Xx" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"Xz" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/hangar) -"XF" = ( -/turf/open/water/beach/deep, -/area/hangar) -"Yt" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/item/stack/cable_coil/cut/yellow, -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"YA" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/hangar) -"YN" = ( -/obj/structure/marker_beacon{ - picked_color = "Teal" - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"YO" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/structure/fans/tiny/invisible, -/turf/open/floor/plasteel/dark, -/area/hangar) -"YX" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) -"Zi" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"ZE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = -9; - pixel_y = 3 - }, -/obj/item/reagent_containers/food/drinks/mug/tea{ - pixel_y = 9; - pixel_x = 5 - }, -/obj/machinery/light/floor/hangar, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/concrete/slab_3{ - planetary_atmos = 1 - }, -/area/hangar) -"ZX" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel{ - color = "#808080"; - planetary_atmos = 1 - }, -/area/hangar) - -(1,1,1) = {" -LH -LH -LH -LH -LH -LH -JN -JN -JN -JN -hP -JN -JN -JN -hP -JN -JN -JN -hP -JN -JN -JN -hP -JN -JN -JN -hP -JN -JN -JN -hP -JN -JN -JN -hP -JN -JN -JN -hP -JN -JN -JN -hP -JN -JN -JN -hP -JN -LH -LH -LH -LH -LH -LH -LH -LH -"} -(2,1,1) = {" -LH -LH -LH -JN -JN -JN -JN -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -BE -JN -JN -JN -JN -JN -LH -LH -LH -LH -"} -(3,1,1) = {" -LH -LH -JN -JN -DK -JN -lJ -oj -oj -OI -oj -oj -oj -oj -OI -oj -oj -oj -oj -OI -oj -oj -oj -oj -OI -oj -oj -oj -oj -OI -oj -oj -oj -oj -OI -oj -oj -oj -oj -OI -oj -oj -oj -oj -OI -oj -oj -zd -JN -DK -DK -JN -LH -LH -LH -LH -"} -(4,1,1) = {" -LH -LH -JN -DK -DK -DK -mH -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -rp -Kv -DK -DK -DK -JN -LH -LH -LH -LH -"} -(5,1,1) = {" -LH -LH -JN -DK -DK -DK -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Rw -pt -DK -DK -DK -JN -LH -LH -LH -LH -"} -(6,1,1) = {" -LH -LH -JN -DK -DK -pz -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -pz -DK -DK -JN -JN -LH -LH -LH -"} -(7,1,1) = {" -LH -LH -JN -DK -DK -pz -FY -YN -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -YN -pt -pz -DK -DK -DK -JN -LH -LH -LH -"} -(8,1,1) = {" -LH -LH -JN -DK -DK -pz -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -pz -JN -DK -DK -JN -JN -LH -LH -"} -(9,1,1) = {" -LH -LH -JN -DK -DK -pz -tN -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Et -zY -DK -DK -DK -DK -JN -LH -LH -"} -(10,1,1) = {" -LH -JN -JN -DK -DK -pz -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -zY -DK -DK -DK -DK -JN -LH -LH -"} -(11,1,1) = {" -LH -JN -DK -DK -DK -pz -oX -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Xx -pz -DK -DK -DK -DK -JN -JN -LH -"} -(12,1,1) = {" -JN -JN -DK -DK -DK -fn -oX -YN -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -YN -pt -pz -FC -DK -DK -DK -DK -JN -LH -"} -(13,1,1) = {" -JN -DK -DK -DK -Aa -Iw -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -zY -Us -DK -DK -DK -DK -JN -LH -"} -(14,1,1) = {" -JN -DK -DK -DK -Aa -Mg -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -zY -JZ -Qr -DK -DK -DK -JN -LH -"} -(15,1,1) = {" -JN -DK -DK -DK -Aa -xX -tN -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Et -zY -IB -hb -DK -DK -DK -JN -JN -"} -(16,1,1) = {" -JN -DK -DK -AI -AT -dd -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -pz -Th -Vj -JN -DK -DK -DK -JN -"} -(17,1,1) = {" -JN -DK -DK -oC -Jq -Iw -FY -YN -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -YN -pt -zY -oq -HY -jk -DK -DK -DK -JN -"} -(18,1,1) = {" -JN -JN -JN -wJ -Nt -ya -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -zY -oq -HY -XF -DK -DK -DK -JN -"} -(19,1,1) = {" -JN -DK -DK -NE -KS -Iw -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -zY -oq -Km -XF -XF -DK -DK -JN -"} -(20,1,1) = {" -JN -DK -DK -Wo -vG -Iw -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -zY -oq -HY -XF -XF -DK -DK -JN -"} -(21,1,1) = {" -JN -DK -DK -Yt -UT -dd -tN -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Et -zY -oq -HY -HY -XF -DK -DK -JN -"} -(22,1,1) = {" -JN -DK -DK -DK -KJ -Iw -FY -YN -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -YN -pt -pz -oq -hG -Km -XF -DK -DK -JN -"} -(23,1,1) = {" -JN -DK -DK -DK -DK -Xz -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -pz -DS -UB -AO -JN -DK -DK -JN -"} -(24,1,1) = {" -JN -JN -DK -DK -DK -zY -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -pz -oq -UB -UB -DK -DK -DK -JN -"} -(25,1,1) = {" -LH -JN -JN -DK -DK -zY -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -zY -oq -UB -DK -DK -DK -JN -JN -"} -(26,1,1) = {" -LH -LH -JN -DK -DK -pz -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -zY -oq -Po -DK -DK -DK -JN -LH -"} -(27,1,1) = {" -LH -LH -JN -DK -DK -pz -tN -YN -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -YN -Et -zY -oq -DK -DK -DK -DK -JN -LH -"} -(28,1,1) = {" -LH -LH -JN -DK -DK -zY -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -pz -oq -DK -DK -DK -JN -JN -LH -"} -(29,1,1) = {" -LH -LH -JN -DK -JN -zY -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -pz -JN -DK -DK -DK -JN -LH -LH -"} -(30,1,1) = {" -LH -LH -JN -DK -DK -ml -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -pz -DK -DK -DK -JN -JN -LH -LH -"} -(31,1,1) = {" -LH -LH -JN -DK -DK -iG -oX -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Xx -pz -DK -DK -DK -JN -LH -LH -LH -"} -(32,1,1) = {" -LH -LH -JN -DK -JN -iG -FY -YN -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -YN -Xx -pz -DK -DK -DK -JN -LH -LH -LH -"} -(33,1,1) = {" -LH -LH -JN -DK -JN -iG -cm -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Tw -pz -DK -DK -DK -JN -LH -LH -LH -"} -(34,1,1) = {" -LH -LH -JN -DK -DK -iG -oX -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Xx -pz -JN -DK -JN -JN -LH -LH -LH -"} -(35,1,1) = {" -LH -LH -JN -DK -DK -ht -oX -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -pz -DK -DK -JN -LH -LH -LH -LH -"} -(36,1,1) = {" -LH -LH -JN -DK -DK -pz -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -zY -DK -DK -JN -JN -LH -LH -LH -"} -(37,1,1) = {" -LH -LH -JN -DK -DK -pz -FY -YN -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -YN -Xx -zY -DK -DK -DK -JN -JN -LH -LH -"} -(38,1,1) = {" -LH -LH -JN -DK -DK -pz -oX -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Xx -hz -DK -DK -DK -DK -JN -LH -LH -"} -(39,1,1) = {" -LH -LH -JN -DK -DK -pz -cm -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -nK -YO -Mu -DK -DK -DK -JN -LH -LH -"} -(40,1,1) = {" -LH -LH -JN -DK -DK -pz -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Xx -YO -Mu -Mu -DK -DK -JN -LH -LH -"} -(41,1,1) = {" -LH -LH -JN -DK -DK -pz -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -YO -Mu -Mu -DK -DK -JN -LH -LH -"} -(42,1,1) = {" -LH -LH -JN -DK -DK -zY -FY -YN -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -YN -pt -YO -Mu -Mu -DK -DK -JN -LH -LH -"} -(43,1,1) = {" -LH -LH -JN -DK -DK -zY -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -pt -la -Mu -DK -DK -DK -JN -LH -LH -"} -(44,1,1) = {" -LH -JN -JN -DK -DK -kF -FY -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Er -Xx -la -Mu -DK -DK -DK -JN -LH -LH -"} -(45,1,1) = {" -LH -JN -DK -DK -DK -DK -It -wH -wH -YA -YA -fR -YA -gN -gN -gN -gN -Hg -gN -gN -gN -gN -gN -fR -YA -YA -gN -gN -gN -Hg -gN -gN -gN -aF -aF -IF -aF -gN -gN -gN -gN -Hg -gN -gN -gN -aF -xk -qq -jp -JN -DK -DK -DK -JN -LH -LH -"} -(46,1,1) = {" -LH -JN -DK -DK -DK -DK -DK -DK -DK -pz -zY -pz -pz -yb -pz -pz -pz -pz -pz -sW -jw -LE -pz -pz -pz -pz -pz -pz -pz -pz -pz -pz -zY -zY -pz -pz -pz -zY -zY -zY -pz -pz -pz -pz -zY -zY -pz -pz -DK -DK -DK -DK -JN -JN -LH -LH -"} -(47,1,1) = {" -LH -JN -DK -DK -XF -XF -DK -DK -DK -DK -dZ -Fy -DK -DK -DK -DK -DK -DK -DK -JN -JN -pz -pz -pz -pz -pz -pz -pz -jw -pz -pz -zY -pz -pz -pz -DK -DK -JN -DK -DK -JN -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -JN -JN -LH -LH -LH -"} -(48,1,1) = {" -LH -JN -DK -DK -XF -XF -XF -XF -XF -hw -ri -pa -DK -DK -DK -DK -DK -DK -DK -DK -JN -Vc -Ew -Mt -ph -bg -Ew -qT -JN -JN -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -JN -LH -LH -LH -LH -"} -(49,1,1) = {" -LH -JN -DK -DK -XF -XF -XF -XF -XF -hw -FI -Zi -RA -XF -XF -Qb -XF -DK -DK -DK -JN -uf -vu -YX -hA -wu -Pf -RS -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -DK -JN -JN -JN -JN -JN -JN -JN -JN -JN -LH -LH -LH -LH -"} -(50,1,1) = {" -LH -JN -DK -DK -DK -XF -XF -XF -Tz -UO -oU -Zi -EJ -XF -XF -XF -XF -XF -DK -DK -JN -HP -hO -IK -hj -ce -hO -Td -DK -DK -DK -JN -JN -JN -JN -JN -JN -JN -JN -JN -JN -JN -JN -JN -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -"} -(51,1,1) = {" -LH -JN -DK -DK -DK -DK -lP -lP -UO -kf -zL -rB -EJ -XF -XF -XF -XF -jk -DK -DK -JN -qx -VA -ZX -hA -NX -hO -Js -DK -JN -JN -JN -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -"} -(52,1,1) = {" -LH -JN -JN -BI -pF -KL -rH -rH -mg -EC -Vy -iL -EJ -XF -XF -XF -XF -DK -DK -DK -JN -Cw -OZ -yU -hj -vy -VA -IE -JN -JN -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -"} -(53,1,1) = {" -LH -LH -JN -qy -JZ -JN -iS -Og -ZE -Br -Zi -DK -DK -DK -So -XF -XF -DK -DK -DK -JN -Pu -FT -qG -Bb -Qy -hO -wc -JN -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -"} -(54,1,1) = {" -LH -LH -JN -JN -JN -JN -JN -JN -JN -Fl -Zi -se -DK -DK -DK -XF -DK -DK -DK -JN -JN -JN -lr -ws -ec -wm -vF -JN -JN -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -"} -(55,1,1) = {" -LH -LH -LH -LH -JN -GI -GI -Ny -Vk -ri -pa -Xp -iA -JN -DK -DK -DK -DK -JN -JN -JN -JN -JN -JN -JN -JN -JN -JN -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -"} -(56,1,1) = {" -LH -LH -LH -LH -JN -GI -GI -GI -Vk -Gm -hB -Xp -cT -JN -DK -DK -DK -JN -JN -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -"} -(57,1,1) = {" -LH -LH -LH -LH -JN -GI -GI -GI -Vk -oU -KN -Xp -ls -JN -JN -JN -JN -JN -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -"} -(58,1,1) = {" -LH -LH -LH -LH -JN -JN -JN -JN -JN -lf -KQ -LK -JN -JN -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -"} -(59,1,1) = {" -LH -LH -LH -LH -LH -LH -LH -LH -JN -JN -JN -JN -JN -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -LH -"} diff --git a/_maps/outpost/hangar/nt_asteroid_56x20.dmm b/_maps/outpost/hangar/nt_asteroid_56x20.dmm deleted file mode 100644 index 070f2a949044..000000000000 --- a/_maps/outpost/hangar/nt_asteroid_56x20.dmm +++ /dev/null @@ -1,3765 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ai" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"an" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"at" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/machinery/light/floor/hangar, -/obj/effect/turf_decal/industrial/warning/corner, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"aA" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/bookcase/random/fiction, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"aF" = ( -/obj/structure/bookcase/random/fiction, -/obj/structure/sign/plaques/deempisi{ - pixel_y = 22; - pixel_x = -8 - }, -/obj/item/toy/plush/hornet{ - pixel_x = 9; - pixel_y = 26 - }, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"aR" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"aU" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"bp" = ( -/obj/item/stack/rods{ - pixel_x = 7; - pixel_y = -9 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg2"; - planetary_atmos = 1 - }, -/area/hangar) -"bt" = ( -/obj/structure/chair/sofa/brown/left/directional/west, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"bu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"bP" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"ce" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"cz" = ( -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"cP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/carpet/red, -/area/hangar) -"df" = ( -/obj/structure/marker_beacon{ - picked_color = "Teal" - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"dj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/chair/office{ - dir = 8 - }, -/turf/open/floor/carpet/red, -/area/hangar) -"do" = ( -/obj/structure/chair/sofa/brown/right/directional/west, -/obj/machinery/light/directional/east, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"dr" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/water/beach/deep, -/area/hangar) -"eq" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"eE" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"eP" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"eW" = ( -/obj/effect/decal/cleanable/dirt, -/turf/closed/mineral/random/snow, -/area/hangar) -"fb" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"fn" = ( -/obj/effect/turf_decal/steeldecal/steel_decals6, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"ft" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/poster/official/moth/meth{ - pixel_y = 32 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"fM" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"fQ" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"hl" = ( -/obj/machinery/door/airlock, -/obj/effect/landmark/outpost/elevator_machine, -/obj/structure/lattice/catwalk, -/turf/open/floor/engine, -/area/hangar) -"hz" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 4 - }, -/obj/item/kirbyplants{ - icon_state = "plant-21"; - pixel_x = 6; - pixel_y = 17 - }, -/obj/structure/sign/poster/retro/random{ - pixel_x = 32 - }, -/turf/open/floor/carpet/red, -/area/hangar) -"ik" = ( -/obj/structure/fireplace, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/sepia{ - planetary_atmos = 1 - }, -/area/hangar) -"il" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"jd" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"je" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/bookcase/random/fiction, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"ju" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"jD" = ( -/obj/machinery/light/floor/hangar, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"kx" = ( -/obj/machinery/computer/cargo{ - dir = 8; - pixel_x = 7 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/garbage{ - pixel_x = -3; - pixel_y = -10 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"kL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/red, -/area/hangar) -"lD" = ( -/obj/structure/chair/comfy{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/carpet/green{ - planetary_atmos = 1 - }, -/area/hangar) -"lE" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"lS" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"lT" = ( -/obj/structure/table, -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/siding/wood, -/obj/item/newspaper{ - pixel_x = -5; - pixel_y = -1 - }, -/obj/item/newspaper{ - pixel_x = -5; - pixel_y = 2 - }, -/obj/machinery/jukebox/boombox{ - pixel_y = 3; - pixel_x = 4 - }, -/turf/open/floor/carpet/green{ - planetary_atmos = 1 - }, -/area/hangar) -"mh" = ( -/obj/structure/bookcase/random/fiction, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"mu" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - pixel_x = 5; - pixel_y = 14 - }, -/obj/item/storage/photo_album/library{ - pixel_y = -2; - pixel_x = -4 - }, -/turf/open/floor/carpet/red, -/area/hangar) -"mX" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"nl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"oi" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"oO" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"oU" = ( -/obj/structure/firelock_frame, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"oY" = ( -/obj/machinery/vending/coffee{ - pixel_x = 5 - }, -/obj/item/kirbyplants{ - icon_state = "plant-22"; - pixel_x = -11 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/elevator_call_button{ - pixel_y = 24; - pixel_x = -10 - }, -/obj/effect/landmark/outpost/elevator_machine, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"po" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/water/beach/deep, -/area/hangar) -"pr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_x = -32 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"qa" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"qb" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"qi" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"rn" = ( -/obj/structure/grille/broken, -/obj/structure/catwalk/over/plated_catwalk, -/obj/item/toy/plush/beeplushie{ - pixel_y = -1; - pixel_x = 2 - }, -/turf/open/floor/plating{ - icon_state = "foam_plating"; - planetary_atmos = 1 - }, -/area/hangar) -"rq" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"rB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/chair/comfy/grey/directional/north, -/turf/open/floor/carpet/red, -/area/hangar) -"sd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"se" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"sg" = ( -/obj/structure/bookcase/random/fiction, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"si" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood{ - icon_state = "wood-broken7" - }, -/area/hangar) -"sC" = ( -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"sF" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"sT" = ( -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"tc" = ( -/obj/machinery/door/poddoor/multi_tile/four_tile_ver, -/turf/closed/indestructible/reinforced, -/area/hangar) -"tC" = ( -/obj/machinery/light/floor/hangar, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"tW" = ( -/obj/effect/landmark/outpost/elevator, -/turf/open/floor/plasteel/elevatorshaft{ - planetary_atmos = 1 - }, -/area/hangar) -"ut" = ( -/obj/structure/rack, -/obj/item/poster/random_official{ - pixel_x = 2; - pixel_y = 9 - }, -/obj/item/poster/random_official{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/destTagger{ - pixel_x = -5 - }, -/obj/item/export_scanner{ - pixel_x = 6; - pixel_y = 2 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"uB" = ( -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/water/beach/deep, -/area/hangar) -"uX" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"vt" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"vA" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"wx" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/comfy/grey/directional/east, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"xe" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"xE" = ( -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"xK" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"yh" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/techfloor/hole, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"yK" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/light/broken/directional/south, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"yT" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/toy/cards/deck{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/toy/cards/deck/kotahi{ - pixel_x = 5; - pixel_y = 2 - }, -/obj/item/toy/plush/moth{ - pixel_y = -7; - pixel_x = -8 - }, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"yV" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"yY" = ( -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"zj" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"zr" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"zT" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"zX" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ab" = ( -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"BA" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/red, -/area/hangar) -"Cg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/table/wood, -/obj/item/storage/pill_bottle/dice{ - pixel_x = -6 - }, -/obj/item/toy/figure/lawyer{ - pixel_x = 3; - pixel_y = 7 - }, -/obj/item/toy/cards/deck/cas, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"CJ" = ( -/obj/structure/chair/comfy/grey/directional/east, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"CK" = ( -/obj/structure/grille, -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"CV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"CW" = ( -/obj/structure/statue/snow/snowlegion, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"Df" = ( -/obj/effect/decal/cleanable/oil, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Dy" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/machinery/light/floor/hangar, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"EQ" = ( -/obj/effect/landmark/outpost/hangar_dock, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Fi" = ( -/turf/open/water/beach/deep, -/area/hangar) -"Fm" = ( -/obj/machinery/door/airlock/outpost{ - req_one_access_txt = "109" - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Fz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/outpost/hangar_numbers, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"FB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"FF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/red, -/area/hangar) -"FN" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"FQ" = ( -/turf/closed/mineral/random/snow, -/area/hangar) -"Gc" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Gf" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Gl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Hi" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Im" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/concrete/tiles, -/area/hangar) -"Io" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Iu" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/concrete/tiles, -/area/hangar) -"ID" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"JD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/concrete/tiles, -/area/hangar) -"JM" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/red, -/area/hangar) -"JX" = ( -/obj/effect/turf_decal/techfloor, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Kg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Kp" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"KV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/vending/cigarette{ - pixel_x = 5 - }, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"Lg" = ( -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Ls" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"LT" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/hangar) -"LY" = ( -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/structure/girder, -/obj/structure/railing{ - dir = 1; - layer = 4.1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"MI" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/random/maintenance, -/obj/effect/spawner/random/maintenance, -/obj/machinery/light/directional/east, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"MP" = ( -/turf/closed/indestructible/reinforced, -/area/hangar) -"MZ" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/structure/girder/displaced, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Na" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Nt" = ( -/obj/machinery/door/airlock, -/obj/effect/landmark/outpost/elevator_machine, -/obj/effect/decal/cleanable/dirt, -/obj/structure/lattice/catwalk, -/turf/open/floor/engine, -/area/hangar) -"Nu" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"NP" = ( -/obj/machinery/light/floor/hangar, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ph" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/office{ - dir = 4 - }, -/turf/open/floor/carpet/red, -/area/hangar) -"Qi" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Qk" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/tiles, -/area/hangar) -"Rr" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/concrete/tiles, -/area/hangar) -"RO" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"RV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/fluff/hedge, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"Sj" = ( -/obj/structure/railing{ - dir = 10 - }, -/turf/open/water/beach/deep, -/area/hangar) -"Sw" = ( -/obj/structure/table, -/obj/item/paper/pamphlet/gateway{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/item/paper/pamphlet/centcom{ - pixel_x = 8; - pixel_y = 1 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = -6; - pixel_y = 3 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"Sx" = ( -/turf/template_noop, -/area/template_noop) -"Sz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/tiles, -/area/hangar) -"SA" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"SU" = ( -/turf/open/floor/plasteel/tech{ - planetary_atmos = 1 - }, -/area/hangar) -"Tg" = ( -/obj/structure/girder, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/structure/railing{ - dir = 1; - layer = 4.1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"TD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"TY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/red, -/area/hangar) -"Ub" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Uu" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ux" = ( -/obj/structure/noticeboard{ - pixel_y = 31 - }, -/obj/item/storage/box/matches, -/obj/item/grown/log{ - pixel_x = 7; - pixel_y = 14 - }, -/obj/item/grown/log{ - pixel_x = 7; - pixel_y = 14 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/sepia{ - planetary_atmos = 1 - }, -/area/hangar) -"UA" = ( -/obj/structure/girder/reinforced, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"VM" = ( -/obj/structure/flora/rock/icy, -/turf/open/water/beach/deep, -/area/hangar) -"Wp" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/spawner/random/decoration/glowstick, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"Xm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = 3; - pixel_y = 2 - }, -/obj/item/pen{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/structure/sign/poster/official/fruit_bowl{ - pixel_y = 32 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"Xp" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/turf/open/floor/concrete/tiles, -/area/hangar) -"XQ" = ( -/obj/structure/grille, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"XT" = ( -/obj/structure/rack{ - color = "#A47449"; - pixel_y = 11 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/grown/log{ - pixel_x = -7; - pixel_y = 20 - }, -/obj/item/grown/log{ - pixel_x = 7; - pixel_y = 20 - }, -/obj/item/grown/log{ - pixel_y = 25 - }, -/obj/item/statuebust{ - pixel_x = 6 - }, -/turf/open/floor/plasteel/sepia{ - planetary_atmos = 1 - }, -/area/hangar) -"Yn" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/south, -/turf/open/floor/concrete/tiles, -/area/hangar) -"YD" = ( -/turf/open/floor/plasteel/elevatorshaft{ - planetary_atmos = 1 - }, -/area/hangar) -"YI" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"YN" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"ZX" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) - -(1,1,1) = {" -Sx -Sx -Sx -Sx -MP -MP -MP -MP -tc -MP -MP -MP -tc -MP -MP -MP -tc -MP -MP -MP -tc -MP -MP -MP -tc -MP -Sx -Sx -Sx -Sx -"} -(2,1,1) = {" -Sx -Sx -Sx -MP -MP -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -ai -MP -MP -Sx -Sx -Sx -"} -(3,1,1) = {" -MP -MP -MP -MP -eP -SU -SU -sC -SU -SU -SU -SU -sC -SU -SU -SU -SU -sC -SU -SU -SU -SU -sC -SU -SU -xe -MP -MP -MP -MP -"} -(4,1,1) = {" -MP -FQ -FQ -FQ -eP -se -se -se -se -se -se -se -se -se -se -se -se -se -se -se -se -se -se -se -se -xe -FQ -FQ -FQ -MP -"} -(5,1,1) = {" -MP -FQ -FQ -Ub -fQ -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -EQ -uX -yY -FQ -FQ -MP -"} -(6,1,1) = {" -MP -FQ -FQ -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -yY -FQ -FQ -MP -"} -(7,1,1) = {" -MP -FQ -FQ -bP -Uu -df -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -df -lE -yY -FQ -FQ -MP -"} -(8,1,1) = {" -MP -FQ -FQ -eq -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -aR -MP -FQ -MP -"} -(9,1,1) = {" -MP -FQ -FQ -Ub -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -qi -yY -FQ -FQ -MP -"} -(10,1,1) = {" -MP -FQ -MP -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -yY -FQ -FQ -MP -"} -(11,1,1) = {" -MP -FQ -FQ -bP -fQ -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -uX -aR -FQ -FQ -MP -"} -(12,1,1) = {" -MP -FQ -FQ -eq -Uu -df -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -df -lE -yY -FQ -FQ -MP -"} -(13,1,1) = {" -MP -FQ -FQ -SA -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -FQ -FQ -MP -"} -(14,1,1) = {" -MP -FQ -FQ -vt -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -FB -FQ -FQ -MP -"} -(15,1,1) = {" -MP -FQ -FQ -vt -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -aR -FQ -FQ -MP -"} -(16,1,1) = {" -MP -FQ -FQ -eq -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -qi -yY -FQ -FQ -MP -"} -(17,1,1) = {" -MP -FQ -FQ -SA -fQ -df -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -df -uX -yY -FQ -FQ -MP -"} -(18,1,1) = {" -MP -FQ -FQ -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -yY -MP -FQ -MP -"} -(19,1,1) = {" -MP -FQ -FQ -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -yY -FQ -FQ -MP -"} -(20,1,1) = {" -MP -FQ -FQ -yV -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -FQ -FQ -MP -"} -(21,1,1) = {" -MP -FQ -FQ -Ub -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -qi -aR -FQ -FQ -MP -"} -(22,1,1) = {" -MP -FQ -FQ -vt -Uu -df -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -df -fb -FB -FQ -FQ -MP -"} -(23,1,1) = {" -MP -FQ -FQ -vt -fQ -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -uX -FB -FQ -FQ -MP -"} -(24,1,1) = {" -MP -FQ -FQ -eq -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -FQ -FQ -MP -"} -(25,1,1) = {" -MP -FQ -FQ -SA -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -FQ -FQ -MP -"} -(26,1,1) = {" -MP -FQ -FQ -bP -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -FQ -FQ -MP -"} -(27,1,1) = {" -MP -FQ -MP -vt -il -df -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -df -fb -yY -FQ -FQ -MP -"} -(28,1,1) = {" -MP -FQ -FQ -yV -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -yY -FQ -FQ -MP -"} -(29,1,1) = {" -MP -FQ -FQ -Ub -fQ -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -uX -aR -FQ -FQ -MP -"} -(30,1,1) = {" -MP -FQ -FQ -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -aR -FQ -FQ -MP -"} -(31,1,1) = {" -MP -FQ -FQ -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -FQ -FQ -MP -"} -(32,1,1) = {" -MP -FQ -FQ -eq -il -df -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -df -lE -yY -FQ -FQ -MP -"} -(33,1,1) = {" -MP -FQ -FQ -Ub -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -aR -FQ -FQ -MP -"} -(34,1,1) = {" -MP -FQ -FQ -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -aR -MP -FQ -MP -"} -(35,1,1) = {" -MP -FQ -FQ -vt -fQ -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -uX -aR -FQ -FQ -MP -"} -(36,1,1) = {" -MP -FQ -FQ -yV -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -FQ -FQ -MP -"} -(37,1,1) = {" -MP -FQ -FQ -Ub -Uu -df -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -df -lE -yY -FQ -FQ -MP -"} -(38,1,1) = {" -MP -FQ -MP -vt -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -FQ -FQ -MP -"} -(39,1,1) = {" -MP -FQ -FQ -vt -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -yY -FQ -FQ -MP -"} -(40,1,1) = {" -MP -FQ -FQ -yV -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -yY -MP -MP -MP -"} -(41,1,1) = {" -MP -FQ -FQ -Ub -fQ -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -uX -yY -Fm -yY -MP -"} -(42,1,1) = {" -MP -FQ -FQ -vt -Uu -df -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -df -lE -sT -MP -MP -MP -"} -(43,1,1) = {" -MP -FQ -FQ -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -JX -FQ -FQ -MP -"} -(44,1,1) = {" -MP -FQ -FQ -yV -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -JX -FQ -FQ -MP -"} -(45,1,1) = {" -MP -FQ -FQ -Ub -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -JX -FQ -FQ -MP -"} -(46,1,1) = {" -MP -FQ -FQ -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -yh -FQ -FQ -MP -"} -(47,1,1) = {" -MP -FQ -FQ -vt -fQ -df -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -df -uX -JX -MP -FQ -MP -"} -(48,1,1) = {" -MP -FQ -FQ -yV -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -JX -FQ -FQ -MP -"} -(49,1,1) = {" -MP -FQ -FQ -Ub -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -JX -FQ -FQ -MP -"} -(50,1,1) = {" -MP -FQ -FQ -vt -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -MZ -yh -FQ -FQ -MP -"} -(51,1,1) = {" -MP -FQ -FQ -vt -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -JX -FQ -FQ -MP -"} -(52,1,1) = {" -MP -FQ -FQ -yV -Uu -df -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -df -fb -ZX -FQ -FQ -MP -"} -(53,1,1) = {" -MP -FQ -FQ -Ub -jD -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -uX -yY -FQ -FQ -MP -"} -(54,1,1) = {" -MP -FQ -FQ -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -FQ -FQ -MP -"} -(55,1,1) = {" -MP -FQ -MP -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -FQ -FQ -MP -"} -(56,1,1) = {" -MP -FQ -FQ -yV -il -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -oU -cz -MP -"} -(57,1,1) = {" -MP -FQ -FQ -Ub -il -df -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -df -fb -yY -Tg -yK -MP -"} -(58,1,1) = {" -MP -FQ -FQ -vt -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -fb -yY -bp -Wp -MP -"} -(59,1,1) = {" -MP -FQ -FQ -vt -fQ -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -uX -yY -Tg -rn -MP -"} -(60,1,1) = {" -MP -FQ -FQ -yV -Uu -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -Ab -lE -yY -Tg -XQ -MP -"} -(61,1,1) = {" -MP -FQ -FQ -yY -lS -fn -NP -zj -sd -oO -at -aU -Na -tC -zr -ID -eE -RO -zj -NP -bu -zj -oO -Dy -RO -vA -yY -LY -FQ -MP -"} -(62,1,1) = {" -MP -FQ -MP -MP -yY -yY -yY -yY -yY -aR -Gc -MI -Df -fM -kx -ut -zX -aR -yY -aR -aR -yY -yY -yY -FB -yY -yY -FQ -FQ -MP -"} -(63,1,1) = {" -MP -FQ -MP -MP -MP -MP -ft -Lg -an -FQ -FQ -MP -MP -CK -CK -CK -MP -FQ -FQ -ju -Lg -zT -FQ -FQ -FQ -FQ -FQ -FQ -FQ -MP -"} -(64,1,1) = {" -MP -FQ -FQ -MP -CW -MP -nl -Io -Qi -jd -FQ -FQ -MP -FQ -FQ -FQ -MP -FQ -Gl -Hi -Io -zT -RV -FQ -FQ -FQ -FQ -FQ -FQ -MP -"} -(65,1,1) = {" -MP -FQ -FQ -MP -MP -MP -YN -xK -Kg -ce -jd -FQ -MP -CK -CK -CK -MP -Gl -qb -Io -sF -Nu -YI -je -FQ -FQ -MP -MP -MP -MP -"} -(66,1,1) = {" -MP -FQ -FQ -Fi -Fi -po -Sj -YN -oi -Io -ce -TD -pr -TD -TD -TD -Kp -Hi -Lg -sF -Nu -mX -xE -aA -FQ -FQ -MP -Sx -Sx -Sx -"} -(67,1,1) = {" -MP -FQ -FQ -FQ -Fi -dr -po -Sj -YN -oi -Io -Io -Lg -Lg -Lg -Lg -Lg -Io -FN -qa -xE -LT -mX -aA -FQ -FQ -MP -Sx -Sx -Sx -"} -(68,1,1) = {" -MP -FQ -FQ -FQ -Fi -Fi -Fi -po -Sj -YN -Gf -Ls -CV -CV -Gf -Ls -Gf -CV -qa -KV -CJ -xE -si -yT -Cg -FQ -MP -Sx -Sx -Sx -"} -(69,1,1) = {" -MP -MP -FQ -FQ -FQ -Fi -Fi -Fi -po -uB -uB -MP -FQ -eW -FQ -MP -Qk -Io -Sz -MP -Xm -wx -TY -kL -cP -MP -MP -Sx -Sx -Sx -"} -(70,1,1) = {" -Sx -MP -MP -FQ -MP -VM -Fi -Fi -dr -Fi -MP -MP -MP -MP -MP -MP -Xp -Io -Yn -MP -MP -Ux -FF -JM -Ph -sg -MP -Sx -Sx -Sx -"} -(71,1,1) = {" -Sx -Sx -MP -MP -MP -MP -Fi -Fi -Fi -UA -MP -YD -YD -tW -hl -JD -Im -Io -Sz -lD -MP -ik -rB -JM -mu -mh -MP -Sx -Sx -Sx -"} -(72,1,1) = {" -Sx -Sx -Sx -Sx -Sx -MP -MP -MP -MP -MP -MP -YD -YD -YD -Nt -Io -Io -Fz -Sz -lT -MP -XT -rq -BA -dj -mh -MP -Sx -Sx -Sx -"} -(73,1,1) = {" -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -MP -YD -YD -YD -Nt -Iu -Iu -Iu -Rr -lD -MP -MP -aF -hz -mh -MP -MP -Sx -Sx -Sx -"} -(74,1,1) = {" -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -MP -MP -MP -MP -MP -oY -do -bt -Sw -MP -MP -MP -MP -MP -MP -MP -Sx -Sx -Sx -Sx -"} -(75,1,1) = {" -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -MP -MP -MP -MP -MP -MP -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -Sx -"} diff --git a/_maps/outpost/hangar/nt_asteroid_56x40.dmm b/_maps/outpost/hangar/nt_asteroid_56x40.dmm deleted file mode 100644 index 020ab48b8d9f..000000000000 --- a/_maps/outpost/hangar/nt_asteroid_56x40.dmm +++ /dev/null @@ -1,5465 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ae" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"ak" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/chair/comfy/grey/directional/north, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"au" = ( -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"aE" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"ba" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"bx" = ( -/obj/effect/turf_decal/techfloor, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"bS" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/comfy/grey/directional/east, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"ca" = ( -/obj/effect/landmark/outpost/hangar_dock, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"cj" = ( -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"dQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"ee" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"ei" = ( -/obj/machinery/door/airlock/outpost{ - req_access_txt = "109" - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"ew" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"eA" = ( -/obj/machinery/door/airlock, -/obj/effect/landmark/outpost/elevator_machine, -/obj/structure/lattice/catwalk, -/turf/open/floor/engine, -/area/hangar) -"eH" = ( -/turf/closed/indestructible/reinforced, -/area/hangar) -"eS" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"fd" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"fh" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"fv" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"hB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/poster/official/moth/meth{ - pixel_y = 32 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"hG" = ( -/obj/effect/decal/cleanable/oil, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"hL" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"il" = ( -/obj/effect/decal/cleanable/dirt, -/turf/closed/mineral/random/snow, -/area/hangar) -"iT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"jj" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"jF" = ( -/obj/structure/marker_beacon{ - picked_color = "Teal" - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"jI" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/techfloor/hole, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"jK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_x = -32 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"kK" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"lk" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"lv" = ( -/turf/open/floor/plasteel/tech, -/area/hangar) -"lF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"lI" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"lN" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"lS" = ( -/obj/structure/railing{ - dir = 10 - }, -/turf/open/water/beach/deep, -/area/hangar) -"lY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"lZ" = ( -/obj/structure/closet/crate, -/obj/effect/spawner/random/maintenance, -/obj/effect/spawner/random/maintenance, -/obj/machinery/light/directional/east, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"mx" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"mK" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"nD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"nM" = ( -/obj/machinery/vending/coffee{ - pixel_x = 5 - }, -/obj/item/kirbyplants{ - icon_state = "plant-22"; - pixel_x = -11 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/elevator_call_button{ - pixel_y = 24; - pixel_x = -10 - }, -/obj/effect/landmark/outpost/elevator_machine, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"oa" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"op" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"oJ" = ( -/turf/open/space/basic, -/area/hangar) -"oL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/outpost/hangar_numbers, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"pp" = ( -/obj/structure/bookcase/random/fiction, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"pK" = ( -/obj/structure/chair/sofa/brown/left/directional/west, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"qh" = ( -/obj/structure/bookcase/random/fiction, -/obj/structure/sign/plaques/deempisi{ - pixel_y = 22; - pixel_x = -8 - }, -/obj/item/toy/plush/hornet{ - pixel_x = 9; - pixel_y = 26 - }, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"qD" = ( -/obj/machinery/light/floor/hangar, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"qK" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/light/broken/directional/south, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"qR" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/water/beach/deep, -/area/hangar) -"qT" = ( -/obj/effect/landmark/outpost/elevator, -/turf/open/floor/plasteel/elevatorshaft{ - planetary_atmos = 1 - }, -/area/hangar) -"rf" = ( -/obj/structure/noticeboard{ - pixel_y = 31 - }, -/obj/item/storage/box/matches, -/obj/item/grown/log{ - pixel_x = 7; - pixel_y = 14 - }, -/obj/item/grown/log{ - pixel_x = 7; - pixel_y = 14 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/sepia{ - planetary_atmos = 1 - }, -/area/hangar) -"rn" = ( -/obj/structure/fireplace, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/sepia{ - planetary_atmos = 1 - }, -/area/hangar) -"rw" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"rT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/table/wood, -/obj/item/storage/pill_bottle/dice{ - pixel_x = -6 - }, -/obj/item/toy/figure/lawyer{ - pixel_x = 3; - pixel_y = 7 - }, -/obj/item/toy/cards/deck/cas, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"rX" = ( -/obj/effect/turf_decal/steeldecal/steel_decals6, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"sn" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/structure/girder/displaced, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"sE" = ( -/obj/structure/chair/comfy{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/carpet/green{ - planetary_atmos = 1 - }, -/area/hangar) -"tD" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - pixel_x = 5; - pixel_y = 14 - }, -/obj/item/storage/photo_album/library{ - pixel_y = -2; - pixel_x = -4 - }, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"uz" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"uO" = ( -/obj/machinery/door/poddoor/multi_tile/four_tile_ver, -/turf/closed/indestructible/reinforced, -/area/hangar) -"uV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"vc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"vg" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"vi" = ( -/obj/item/stack/rods{ - pixel_x = 7; - pixel_y = -9 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg2"; - planetary_atmos = 1 - }, -/area/hangar) -"wk" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/machinery/light/floor/hangar, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"wm" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"wp" = ( -/turf/template_noop, -/area/template_noop) -"xo" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/south, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"xp" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"xW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"yi" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/office{ - dir = 4 - }, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"yL" = ( -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"zl" = ( -/obj/structure/chair/sofa/brown/right/directional/west, -/obj/machinery/light/directional/east, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"Ag" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/bookcase/random/fiction, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"Ai" = ( -/obj/structure/grille/broken, -/obj/structure/catwalk/over/plated_catwalk, -/obj/item/toy/plush/beeplushie{ - pixel_y = -1; - pixel_x = 2 - }, -/turf/open/floor/plating{ - icon_state = "foam_plating"; - planetary_atmos = 1 - }, -/area/hangar) -"AT" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"AW" = ( -/obj/structure/girder/reinforced, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Bp" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"BX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/fluff/hedge, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"Cl" = ( -/obj/machinery/door/airlock, -/obj/effect/landmark/outpost/elevator_machine, -/obj/effect/decal/cleanable/dirt, -/obj/structure/lattice/catwalk, -/turf/open/floor/engine, -/area/hangar) -"Cw" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw{ - dir = 8 - }, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Cx" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Df" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Dk" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"Dr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/vending/cigarette{ - pixel_x = 5 - }, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"DT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ed" = ( -/obj/machinery/computer/cargo{ - dir = 8; - pixel_x = 7 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/garbage{ - pixel_x = -3; - pixel_y = -10 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"EZ" = ( -/turf/open/floor/plasteel/elevatorshaft{ - planetary_atmos = 1 - }, -/area/hangar) -"Fs" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"FK" = ( -/obj/structure/firelock_frame, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"FP" = ( -/obj/structure/table, -/obj/item/paper/pamphlet/gateway{ - pixel_x = 3; - pixel_y = 4 - }, -/obj/item/paper/pamphlet/centcom{ - pixel_x = 8; - pixel_y = 1 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = -6; - pixel_y = 3 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"FS" = ( -/obj/machinery/light/floor/hangar, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Gj" = ( -/obj/structure/statue/snow/snowlegion, -/turf/open/floor/concrete/reinforced{ - planetary_atmos = 1 - }, -/area/hangar) -"GW" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Hs" = ( -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"HD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ib" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Ig" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/toy/cards/deck{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/toy/cards/deck/kotahi{ - pixel_x = 5; - pixel_y = 2 - }, -/obj/item/toy/plush/moth{ - pixel_y = -7; - pixel_x = -8 - }, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"Il" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/hangar) -"Io" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Is" = ( -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/structure/girder, -/obj/structure/railing{ - dir = 1; - layer = 4.1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Iy" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"IH" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"IV" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ji" = ( -/obj/structure/grille, -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"JA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"JM" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Kf" = ( -/obj/structure/reagent_dispensers/watertank, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ky" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"KQ" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"KT" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/spawner/random/decoration/glowstick, -/turf/open/floor/plating{ - icon_state = "panelscorched"; - planetary_atmos = 1 - }, -/area/hangar) -"Lc" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"LD" = ( -/turf/open/water/beach/deep, -/area/hangar) -"LM" = ( -/obj/structure/chair/comfy/grey/directional/east, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"Mf" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/floor/hangar, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Mh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"MN" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = 3; - pixel_y = 2 - }, -/obj/item/pen{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/structure/sign/poster/official/fruit_bowl{ - pixel_y = 32 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"Nt" = ( -/obj/structure/flora/rock/icy, -/turf/open/water/beach/deep, -/area/hangar) -"NC" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"NN" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"NV" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Ob" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"On" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/bookcase/random/fiction, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"OB" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_ccw{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"OC" = ( -/obj/machinery/light/floor/hangar, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"OL" = ( -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"Pg" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Pi" = ( -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Pj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"PQ" = ( -/obj/effect/turf_decal/siding/wood/end{ - dir = 4 - }, -/obj/item/kirbyplants{ - icon_state = "plant-21"; - pixel_x = 6; - pixel_y = 17 - }, -/obj/structure/sign/poster/retro/random{ - pixel_x = 32 - }, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"Rd" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"Rh" = ( -/obj/structure/table, -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/siding/wood, -/obj/item/newspaper{ - pixel_x = -5; - pixel_y = -1 - }, -/obj/item/newspaper{ - pixel_x = -5; - pixel_y = 2 - }, -/obj/machinery/jukebox/boombox{ - pixel_y = 3; - pixel_x = 4 - }, -/turf/open/floor/carpet/green{ - planetary_atmos = 1 - }, -/area/hangar) -"Rn" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Ry" = ( -/obj/structure/bookcase/random/fiction, -/turf/open/floor/wood{ - planetary_atmos = 1 - }, -/area/hangar) -"Rz" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/water/beach/deep, -/area/hangar) -"RX" = ( -/obj/structure/girder, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/structure/railing{ - dir = 1; - layer = 4.1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Sc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Sh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"Sq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood{ - icon_state = "wood-broken7" - }, -/area/hangar) -"Sw" = ( -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/water/beach/deep, -/area/hangar) -"SU" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"SY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"Tt" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/chair/office{ - dir = 8 - }, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"TU" = ( -/obj/structure/rack{ - color = "#A47449"; - pixel_y = 11 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/grown/log{ - pixel_x = -7; - pixel_y = 20 - }, -/obj/item/grown/log{ - pixel_x = 7; - pixel_y = 20 - }, -/obj/item/grown/log{ - pixel_y = 25 - }, -/obj/item/statuebust{ - pixel_x = 6 - }, -/turf/open/floor/plasteel/sepia{ - planetary_atmos = 1 - }, -/area/hangar) -"Un" = ( -/obj/effect/turf_decal/arrows{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"UY" = ( -/turf/closed/mineral/random/snow, -/area/hangar) -"VD" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"VE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"VV" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"WE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/concrete/tiles{ - planetary_atmos = 1 - }, -/area/hangar) -"Xo" = ( -/obj/structure/grille, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Xu" = ( -/obj/structure/rack, -/obj/item/poster/random_official{ - pixel_x = 2; - pixel_y = 9 - }, -/obj/item/poster/random_official{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/destTagger{ - pixel_x = -5 - }, -/obj/item/export_scanner{ - pixel_x = 6; - pixel_y = 2 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"YV" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_1{ - planetary_atmos = 1 - }, -/area/hangar) -"YW" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"YY" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/arrow_cw{ - dir = 8 - }, -/obj/machinery/light/floor/hangar, -/obj/effect/turf_decal/industrial/warning/corner, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"ZA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/carpet/red{ - planetary_atmos = 1 - }, -/area/hangar) -"ZK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) -"ZX" = ( -/obj/effect/turf_decal/industrial/traffic/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/dark{ - planetary_atmos = 1 - }, -/area/hangar) - -(1,1,1) = {" -wp -wp -wp -wp -eH -eH -eH -eH -eH -uO -eH -eH -eH -uO -eH -eH -eH -uO -oJ -eH -eH -uO -oJ -eH -eH -uO -oJ -eH -eH -uO -eH -eH -eH -uO -eH -eH -eH -uO -eH -eH -eH -uO -eH -eH -eH -uO -eH -eH -wp -wp -wp -wp -"} -(2,1,1) = {" -wp -wp -wp -eH -eH -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -YW -eH -eH -wp -wp -wp -"} -(3,1,1) = {" -eH -eH -eH -eH -lk -lv -lv -lv -lv -lv -lv -lv -lv -Un -lv -lv -lv -lv -Un -lv -lv -lv -lv -Un -lv -lv -lv -lv -lv -Un -lv -lv -lv -lv -Un -lv -lv -lv -lv -Un -lv -lv -lv -lv -Un -lv -lv -Iy -eH -eH -eH -eH -"} -(4,1,1) = {" -eH -UY -UY -UY -lk -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -AT -Iy -UY -UY -UY -eH -"} -(5,1,1) = {" -eH -UY -UY -Rn -fd -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -ca -cj -KQ -yL -UY -UY -eH -"} -(6,1,1) = {" -eH -UY -UY -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -yL -UY -UY -eH -"} -(7,1,1) = {" -eH -UY -UY -IV -rw -jF -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -jF -NC -yL -UY -UY -eH -"} -(8,1,1) = {" -eH -UY -UY -Lc -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -VV -eH -UY -eH -"} -(9,1,1) = {" -eH -UY -UY -Rn -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -op -yL -UY -UY -eH -"} -(10,1,1) = {" -eH -UY -eH -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -yL -UY -UY -eH -"} -(11,1,1) = {" -eH -UY -UY -IV -fd -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -KQ -VV -UY -UY -eH -"} -(12,1,1) = {" -eH -UY -UY -Lc -rw -jF -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -jF -NC -yL -UY -UY -eH -"} -(13,1,1) = {" -eH -UY -UY -uz -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -UY -UY -eH -"} -(14,1,1) = {" -eH -UY -UY -Df -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -DT -UY -UY -eH -"} -(15,1,1) = {" -eH -UY -UY -Df -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -VV -UY -UY -eH -"} -(16,1,1) = {" -eH -UY -UY -Lc -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -op -yL -UY -UY -eH -"} -(17,1,1) = {" -eH -UY -UY -uz -fd -jF -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -jF -KQ -yL -UY -UY -eH -"} -(18,1,1) = {" -eH -UY -UY -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -yL -eH -UY -eH -"} -(19,1,1) = {" -eH -UY -UY -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -yL -UY -UY -eH -"} -(20,1,1) = {" -eH -UY -UY -ZX -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -UY -UY -eH -"} -(21,1,1) = {" -eH -UY -UY -Rn -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -op -VV -UY -UY -eH -"} -(22,1,1) = {" -eH -UY -UY -Df -rw -jF -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -jF -hL -DT -UY -UY -eH -"} -(23,1,1) = {" -eH -UY -UY -Df -fd -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -KQ -DT -UY -UY -eH -"} -(24,1,1) = {" -eH -UY -UY -Lc -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -UY -UY -eH -"} -(25,1,1) = {" -eH -UY -UY -uz -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -UY -UY -eH -"} -(26,1,1) = {" -eH -UY -UY -IV -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -UY -UY -eH -"} -(27,1,1) = {" -eH -UY -eH -Df -JM -jF -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -jF -hL -yL -UY -UY -eH -"} -(28,1,1) = {" -eH -UY -UY -ZX -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -yL -UY -UY -eH -"} -(29,1,1) = {" -eH -UY -UY -Rn -fd -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -KQ -VV -UY -UY -eH -"} -(30,1,1) = {" -eH -UY -UY -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -VV -UY -UY -eH -"} -(31,1,1) = {" -eH -UY -UY -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -UY -UY -eH -"} -(32,1,1) = {" -eH -UY -UY -Lc -JM -jF -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -jF -NC -yL -UY -UY -eH -"} -(33,1,1) = {" -eH -UY -UY -Rn -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -VV -UY -UY -eH -"} -(34,1,1) = {" -eH -UY -UY -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -VV -eH -UY -eH -"} -(35,1,1) = {" -eH -UY -UY -Df -fd -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -KQ -VV -UY -UY -eH -"} -(36,1,1) = {" -eH -UY -UY -ZX -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -UY -UY -eH -"} -(37,1,1) = {" -eH -UY -UY -Rn -rw -jF -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -jF -NC -yL -UY -UY -eH -"} -(38,1,1) = {" -eH -UY -eH -Df -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -UY -UY -eH -"} -(39,1,1) = {" -eH -UY -UY -Df -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -yL -UY -UY -eH -"} -(40,1,1) = {" -eH -UY -UY -ZX -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -yL -eH -eH -eH -"} -(41,1,1) = {" -eH -UY -UY -Rn -fd -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -KQ -yL -ei -yL -eH -"} -(42,1,1) = {" -eH -UY -UY -Df -rw -jF -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -jF -NC -Pi -eH -eH -eH -"} -(43,1,1) = {" -eH -UY -UY -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -bx -UY -UY -eH -"} -(44,1,1) = {" -eH -UY -UY -ZX -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -bx -UY -UY -eH -"} -(45,1,1) = {" -eH -UY -UY -Rn -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -bx -UY -UY -eH -"} -(46,1,1) = {" -eH -UY -UY -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -jI -UY -UY -eH -"} -(47,1,1) = {" -eH -UY -UY -Df -fd -jF -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -jF -KQ -bx -eH -UY -eH -"} -(48,1,1) = {" -eH -UY -UY -ZX -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -bx -UY -UY -eH -"} -(49,1,1) = {" -eH -UY -UY -Rn -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -bx -UY -UY -eH -"} -(50,1,1) = {" -eH -UY -UY -Df -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -sn -jI -UY -UY -eH -"} -(51,1,1) = {" -eH -UY -UY -Df -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -bx -UY -UY -eH -"} -(52,1,1) = {" -eH -UY -UY -ZX -rw -jF -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -jF -hL -lN -UY -UY -eH -"} -(53,1,1) = {" -eH -UY -UY -Rn -qD -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -KQ -yL -UY -UY -eH -"} -(54,1,1) = {" -eH -UY -UY -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -UY -UY -eH -"} -(55,1,1) = {" -eH -UY -eH -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -UY -UY -eH -"} -(56,1,1) = {" -eH -UY -UY -ZX -JM -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -FK -Hs -eH -"} -(57,1,1) = {" -eH -UY -UY -Rn -JM -jF -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -jF -hL -yL -RX -qK -eH -"} -(58,1,1) = {" -eH -UY -UY -Df -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -hL -yL -vi -KT -eH -"} -(59,1,1) = {" -eH -UY -UY -Df -fd -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -KQ -yL -RX -Ai -eH -"} -(60,1,1) = {" -eH -UY -UY -ZX -rw -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -cj -NC -yL -RX -Xo -eH -"} -(61,1,1) = {" -eH -UY -UY -yL -Bp -OB -OB -OB -OB -Cw -OB -OB -Cw -OB -OB -OB -Cw -OB -OB -OB -Cw -OB -OB -OB -Cw -OB -OB -rX -OC -Cx -SY -ew -YY -xp -HD -FS -Ob -VD -Mf -vg -Cx -OC -ZK -Cx -ew -wk -vg -GW -yL -Is -UY -eH -"} -(62,1,1) = {" -eH -UY -UY -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -yL -VV -NN -lZ -hG -mx -Ed -Xu -Kf -VV -yL -VV -VV -yL -yL -yL -DT -yL -yL -UY -UY -eH -"} -(63,1,1) = {" -eH -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -eH -eH -eH -eH -hB -au -Fs -UY -UY -eH -eH -Ji -Ji -Ji -eH -UY -UY -iT -au -YV -UY -UY -UY -UY -UY -UY -UY -eH -"} -(64,1,1) = {" -eH -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -UY -eH -Gj -eH -Pj -NV -ae -Ky -UY -UY -eH -UY -UY -UY -eH -UY -Io -wm -NV -YV -BX -UY -UY -UY -UY -UY -UY -eH -"} -(65,1,1) = {" -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -eH -UY -UY -eH -eH -eH -xW -lI -nD -Pg -Ky -UY -eH -Ji -Ji -Ji -eH -Io -IH -NV -jj -Sh -mK -Ag -UY -UY -eH -eH -eH -eH -"} -(66,1,1) = {" -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -eH -UY -UY -LD -LD -Rz -lS -xW -ba -NV -Pg -JA -jK -JA -JA -JA -Ib -wm -au -jj -Sh -Dk -OL -On -UY -UY -eH -wp -wp -wp -"} -(67,1,1) = {" -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -eH -UY -UY -UY -LD -qR -Rz -lS -xW -ba -NV -NV -au -au -au -au -au -NV -eS -oa -OL -Il -Dk -On -UY -UY -eH -wp -wp -wp -"} -(68,1,1) = {" -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -eH -UY -UY -UY -LD -LD -LD -Rz -lS -xW -Sc -Mh -lY -lY -Sc -Mh -Sc -lY -oa -Dr -LM -OL -Sq -Ig -rT -UY -eH -wp -wp -wp -"} -(69,1,1) = {" -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -eH -eH -UY -UY -UY -LD -LD -LD -Rz -Sw -Sw -eH -UY -il -UY -eH -fh -NV -uV -eH -MN -bS -lF -dQ -ZA -eH -eH -wp -wp -wp -"} -(70,1,1) = {" -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -eH -eH -UY -eH -Nt -LD -LD -qR -LD -eH -eH -eH -eH -eH -eH -SU -NV -xo -eH -eH -rf -Rd -aE -yi -pp -eH -wp -wp -wp -"} -(71,1,1) = {" -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -eH -eH -eH -eH -LD -LD -LD -AW -eH -EZ -EZ -qT -eA -ee -WE -NV -uV -sE -eH -rn -ak -aE -tD -Ry -eH -wp -wp -wp -"} -(72,1,1) = {" -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -eH -eH -eH -eH -eH -eH -EZ -EZ -EZ -Cl -NV -NV -oL -uV -Rh -eH -TU -vc -fv -Tt -Ry -eH -wp -wp -wp -"} -(73,1,1) = {" -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -eH -EZ -EZ -EZ -Cl -VE -VE -VE -kK -sE -eH -eH -qh -PQ -Ry -eH -eH -wp -wp -wp -"} -(74,1,1) = {" -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -eH -eH -eH -eH -eH -nM -zl -pK -FP -eH -eH -eH -eH -eH -eH -eH -wp -wp -wp -wp -"} -(75,1,1) = {" -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -eH -eH -eH -eH -eH -eH -wp -wp -wp -wp -wp -wp -wp -wp -wp -wp -"} diff --git a/_maps/outpost/nanotrasen_asteroid.dmm b/_maps/outpost/nanotrasen_asteroid.dmm deleted file mode 100644 index 179aa234e780..000000000000 --- a/_maps/outpost/nanotrasen_asteroid.dmm +++ /dev/null @@ -1,29807 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ac" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"ae" = ( -/obj/machinery/door/airlock/freezer, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/hallway/central) -"ag" = ( -/obj/structure/table/reinforced, -/obj/item/folder/blue{ - pixel_x = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"ai" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"ak" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/external) -"an" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 9 - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"aq" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering/atmospherics) -"ar" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/outpost/maintenance/aft) -"av" = ( -/turf/open/floor/grass/snow/safe, -/area/outpost/hallway/starboard) -"aw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance/three, -/obj/machinery/light/small/broken/directional/south, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"ay" = ( -/obj/item/chair/stool/bar, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/carpet/blue, -/area/outpost/hallway/central) -"az" = ( -/obj/structure/closet/secure_closet/ertMed, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/light/directional/south, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"aA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/garden) -"aB" = ( -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"aC" = ( -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"aD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/alien/weeds, -/obj/structure/alien/egg/burst, -/obj/effect/decal/cleanable/xenoblood/xgibs/larva, -/obj/effect/decal/cleanable/xenoblood/xgibs/down{ - pixel_y = 11 - }, -/obj/effect/decal/cleanable/xenoblood/xgibs/limb{ - pixel_x = -11 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"aE" = ( -/obj/structure/table/wood, -/obj/item/food/cakeslice/birthday{ - pixel_x = -3; - pixel_y = -5 - }, -/obj/effect/decal/cleanable/confetti{ - pixel_x = -12; - pixel_y = -3 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/bar) -"aF" = ( -/obj/item/trash/popcorn{ - pixel_y = -7 - }, -/obj/item/stack/sheet/mineral/wood{ - pixel_x = 10; - pixel_y = 7 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/caution{ - dir = 4; - pixel_x = -6 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"aG" = ( -/obj/machinery/light/directional/north, -/obj/machinery/computer/rdconsole{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/purple/filled/line{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"aH" = ( -/obj/structure/fluff/hedge{ - icon_state = "hedge-8" - }, -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"aI" = ( -/obj/effect/turf_decal/techfloor, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"aJ" = ( -/obj/structure/grille, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/outpost/maintenance/fore) -"aL" = ( -/turf/closed/mineral/random/snow, -/area/outpost/maintenance/aft) -"aN" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"aO" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/autolathe, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"aR" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"aS" = ( -/obj/item/kirbyplants/random, -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"aU" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/aft) -"aV" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/item/banner, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/fore) -"aW" = ( -/turf/open/floor/plating, -/area/outpost/external) -"aZ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 8 - }, -/area/outpost/engineering/atmospherics) -"ba" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/kirbyplants/photosynthetic, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"bb" = ( -/obj/structure/statue/snow/snowman{ - pixel_y = 5 - }, -/turf/open/floor/grass/snow/safe, -/area/outpost/hallway/starboard) -"bd" = ( -/turf/open/floor/engine/air, -/area/outpost/engineering/atmospherics) -"bg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/line{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"bj" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/warning{ - dir = 1; - pixel_y = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"bk" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"bn" = ( -/obj/structure/table/reinforced, -/obj/machinery/computer/med_data/laptop{ - pixel_x = -3 - }, -/obj/machinery/computer/secure_data/laptop{ - pixel_x = 14 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo/office) -"bq" = ( -/obj/structure/table_frame/wood, -/obj/item/wallframe/airalarm, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"bt" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 10 - }, -/obj/structure/closet/secure_closet/security/sec, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/button/door{ - dir = 4; - pixel_x = -28; - pixel_y = 6; - id = "outpost_security"; - req_access_txt = "101"; - name = "Security Lockdown" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"bu" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"bv" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"bw" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/effect/decal/cleanable/oil/streak, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"bx" = ( -/obj/machinery/door/poddoor/shutters/preopen, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"by" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/vacant_rooms) -"bA" = ( -/obj/structure/flora/tree/palm{ - icon_state = "palm2" - }, -/obj/structure/railing/wood{ - dir = 4 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"bB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/light/directional/south, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/aft) -"bC" = ( -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/overlay/holoray, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"bG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random{ - pixel_x = -32 - }, -/obj/item/trash/waffles, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"bH" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/mono/dark, -/area/outpost/cargo) -"bJ" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = -6; - pixel_y = 3 - }, -/obj/item/pen{ - pixel_x = -3; - pixel_y = 6 - }, -/obj/structure/sign/poster/official/cohiba_robusto_ad{ - pixel_x = -32 - }, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"bL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"bO" = ( -/obj/effect/turf_decal/techfloor, -/obj/item/radio/intercom/directional/north{ - pixel_x = -3 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"bP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/fluff/hedge, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"bQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"bR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"bS" = ( -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"bU" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/library) -"bV" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/item/bedsheet/red, -/turf/open/floor/carpet, -/area/outpost/crew/dorm) -"bW" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line{ - dir = 6 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 6 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"bX" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/maintenance_hatch{ - req_access_txt = "109" - }, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"bY" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"ca" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"cb" = ( -/obj/effect/decal/fakelattice{ - icon_state = "lattice-12" - }, -/turf/open/space/basic, -/area/outpost/external) -"cc" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 6 - }, -/obj/item/cardboard_cutout{ - icon_state = "cutout_ian" - }, -/obj/structure/bed/dogbed/ian, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"ce" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/beige/filled/line, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"cf" = ( -/obj/structure/closet/crate/wooden, -/obj/structure/railing/wood{ - layer = 3.1 - }, -/obj/structure/railing/wood{ - layer = 3.1; - pixel_y = 24 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/retro/nanotrasen_logo_70s{ - pixel_x = -32 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken6" - }, -/area/outpost/crew/dorm) -"ci" = ( -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"cj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/newscaster/directional/east, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/hallway/central) -"ck" = ( -/obj/structure/chair/wood{ - dir = 8; - pixel_x = 7; - pixel_y = -3 - }, -/obj/item/toy/plush/beeplushie, -/obj/item/reagent_containers/food/drinks/mug/tea{ - pixel_y = -14; - pixel_x = -4 - }, -/obj/effect/turf_decal/weather/snow/surround{ - dir = 4 - }, -/turf/open/floor/plating/asteroid/snow/under/lit, -/area/outpost/external) -"cm" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"cn" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"cp" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/railing/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"cq" = ( -/obj/machinery/door/airlock/public/glass, -/obj/effect/landmark/outpost/elevator_machine{ - shaft = "3" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"cr" = ( -/turf/open/floor/grass, -/area/outpost/crew/garden) -"ct" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"cv" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/sign/departments/security{ - pixel_y = -32 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"cw" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"cB" = ( -/obj/item/kirbyplants/photosynthetic, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"cC" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/sign/poster/contraband/atmosia_independence{ - pixel_x = -32 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"cF" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"cG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate/trashcart/laundry, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"cH" = ( -/obj/structure/filingcabinet{ - pixel_x = 13 - }, -/obj/item/kirbyplants/random{ - pixel_x = -5 - }, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/newscaster/directional/north{ - pixel_y = 33 - }, -/obj/machinery/newscaster/directional/north{ - pixel_x = -32 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/wood, -/area/outpost/operations) -"cJ" = ( -/turf/open/floor/plating/ice/smooth, -/area/outpost/hallway/starboard) -"cK" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"cL" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/maintenance/aft) -"cM" = ( -/obj/structure/grille/broken, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"cR" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/overlay/holoray, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"cS" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"cU" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"cW" = ( -/obj/effect/decal/cleanable/glass, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/maintenance/fore) -"cX" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/line, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/poddoor/ert{ - dir = 8; - id = "outpost_security"; - desc = "A heavy duty blast door." - }, -/obj/machinery/door/airlock/outpost{ - dir = 4; - icon = 'icons/obj/doors/airlocks/station/security.dmi'; - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'; - assemblytype = /obj/structure/door_assembly/door_assembly_sec; - req_one_access_txt = "101" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"da" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/shower{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"db" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/closed/indestructible/reinforced, -/area/outpost/maintenance/fore) -"dd" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"de" = ( -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"df" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/effect/turf_decal/box/corners, -/obj/item/circuitboard/machine/vendor{ - pixel_y = 4; - pixel_x = 2 - }, -/obj/structure/window/reinforced/spawner/east, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"dg" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/engine, -/area/outpost/crew/cryo) -"dh" = ( -/obj/structure/mopbucket, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"di" = ( -/obj/structure/chair/comfy/orange/directional/west{ - buildstackamount = 0; - color = "#c45c57" - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"dj" = ( -/turf/closed/mineral/random/snow, -/area/outpost/hallway/central) -"do" = ( -/obj/structure/dresser, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/blue, -/area/outpost/operations) -"dp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"dq" = ( -/obj/structure/window/reinforced/spawner/east, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"dr" = ( -/obj/structure/chair, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"du" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/item/radio/intercom/directional/north{ - pixel_x = -3 - }, -/obj/effect/landmark/ert_outpost_spawn, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"dv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/ale{ - pixel_x = 6; - pixel_y = 1 - }, -/obj/item/reagent_containers/food/drinks/bottle/hcider{ - pixel_x = -9; - pixel_y = 11 - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"dw" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating/dark/corner, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/corner, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"dx" = ( -/obj/effect/decal/fakelattice{ - icon_state = "lattice-38" - }, -/turf/open/space/basic, -/area/outpost/external) -"dA" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/kirbyplants{ - icon_state = "plant-21" - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"dB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/vending/coffee, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"dC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/garden) -"dD" = ( -/obj/structure/table/glass, -/obj/machinery/computer/secure_data/laptop{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/toy/figure/dsquad{ - pixel_x = -9; - pixel_y = 4 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"dE" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners{ - icon_state = "box_corners"; - dir = 8 - }, -/obj/effect/turf_decal/box/corners, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"dF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"dL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"dM" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"dN" = ( -/obj/structure/barricade/wooden/crude{ - layer = 3.13 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/door/poddoor/shutters/indestructible{ - name = "Showcase Storage"; - dir = 4 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/outpost/maintenance/fore) -"dO" = ( -/obj/effect/turf_decal/snow, -/obj/effect/turf_decal/weather/snow{ - dir = 8 - }, -/turf/open/floor/concrete/reinforced, -/area/outpost/hallway/starboard) -"dQ" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"dR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"dT" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"dU" = ( -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/patterned/ridged, -/area/outpost/crew/canteen) -"dX" = ( -/obj/structure/closet/secure_closet/freezer/kitchen, -/turf/open/floor/plasteel/patterned/ridged, -/area/outpost/crew/canteen) -"ea" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/stand_clear, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"eb" = ( -/obj/structure/railing/wood{ - dir = 10 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"ee" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/fruit_bowl{ - pixel_y = 32 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"ef" = ( -/obj/item/trash/candy, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"eg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"eh" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"ei" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"ej" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"en" = ( -/obj/structure/closet/firecloset/full{ - anchored = 1; - can_be_unanchored = 1 - }, -/obj/structure/sign/poster/official/moth/hardhats{ - pixel_y = 32 - }, -/obj/effect/turf_decal/industrial/hatch/red, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"ep" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/newspaper{ - pixel_x = -4 - }, -/obj/item/newspaper{ - pixel_x = -4; - pixel_y = 2 - }, -/obj/item/newspaper{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/reagent_containers/food/drinks/mug{ - pixel_x = 9; - pixel_y = -1 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"er" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"et" = ( -/obj/structure/railing/wood{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"eu" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"ev" = ( -/obj/structure/girder, -/obj/effect/decal/fakelattice{ - icon_state = "lattice-9" - }, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/fore) -"ex" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/cargo/office) -"ez" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/railing/wood{ - dir = 10 - }, -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"eB" = ( -/obj/structure/chair/office/light{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/outpost/operations) -"eC" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"eF" = ( -/obj/structure/table/glass, -/obj/machinery/fax/admin/outpost{ - pixel_y = 5 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"eH" = ( -/obj/structure/railing/wood{ - dir = 4 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"eI" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/caution, -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/turf_decal/arrows{ - dir = 4 - }, -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"eK" = ( -/obj/machinery/light/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/carpet/royalblue, -/area/outpost/operations) -"eL" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"eM" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/turf_decal/corner/opaque/yellow/full, -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"eO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"eP" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 5 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"eQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"eR" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"eS" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/vacant_rooms) -"eU" = ( -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line{ - dir = 1 - }, -/obj/structure/sign/poster/official/moth/piping{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"eW" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"eX" = ( -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"eZ" = ( -/obj/structure/fluff/hedge{ - icon_state = "hedge-12" - }, -/obj/machinery/light/directional/south, -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"fb" = ( -/obj/machinery/vending/boozeomat/syndicate_access, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/bar) -"fc" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"ff" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"fg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/railing/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"fj" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/obj/item/reagent_containers/food/drinks/mug/coco{ - pixel_x = 7 - }, -/obj/item/trash/cheesie{ - pixel_x = -5 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"fk" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/south, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"fl" = ( -/obj/effect/turf_decal/borderfloorwhite{ - dir = 10 - }, -/obj/structure/toilet/secret{ - dir = 4; - secret_type = /obj/item/storage/box/donkpockets/donkpocketgondola - }, -/turf/open/floor/plasteel/white, -/area/outpost/crew/library) -"fn" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/number/one, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"fo" = ( -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"fp" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"fq" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"fr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"ft" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"fu" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"fv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/garden) -"fy" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"fA" = ( -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"fB" = ( -/obj/structure/janitorialcart, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/garbage, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/crew/library) -"fE" = ( -/obj/structure/fluff/hedge{ - icon_state = "hedge-12" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"fG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"fH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"fJ" = ( -/obj/effect/decal/cleanable/molten_object/large, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"fK" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/ebony, -/area/outpost/crew/lounge) -"fL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/garden) -"fM" = ( -/obj/structure/girder, -/obj/effect/decal/cleanable/glass{ - pixel_y = -7 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"fN" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"fO" = ( -/obj/structure/urinal{ - pixel_y = 28 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"fP" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"fQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/fluff/divine/nexus, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/lounge) -"fR" = ( -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/obj/machinery/newscaster/directional/north{ - pixel_y = 33 - }, -/obj/item/kirbyplants{ - icon_state = "plant-21" - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"fT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/machinery/firealarm/directional/south, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"fU" = ( -/obj/effect/turf_decal/trimline/opaque/purple/filled/line{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"fV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/bookcase/random, -/turf/open/floor/wood, -/area/outpost/maintenance/aft) -"fX" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"fZ" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - req_access_txt = "109"; - dir = 8 - }, -/turf/open/floor/plating, -/area/outpost/crew/library) -"ga" = ( -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi' - }, -/area/outpost/hallway/fore) -"gd" = ( -/obj/structure/chair/comfy/orange/directional/east, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"ge" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"gg" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"gh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"gk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"gl" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"gm" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/turf_decal/box/corners{ - icon_state = "box_corners"; - dir = 8 - }, -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, -/obj/item/paper/crumpled, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"gn" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 1 - }, -/area/outpost/crew/cryo) -"go" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"gs" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/hallway/starboard) -"gu" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/effect/decal/cleanable/wrapping, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"gv" = ( -/obj/structure/statue/snow/snowman{ - pixel_y = 3 - }, -/turf/open/floor/plating/asteroid/snow/airless, -/area/outpost/external) -"gw" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/caution{ - pixel_x = 17 - }, -/obj/effect/landmark/ert_outpost_spawn, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/security/armory) -"gx" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"gy" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"gz" = ( -/obj/structure/girder, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"gA" = ( -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/wood{ - icon_state = "wood-broken4" - }, -/area/outpost/crew/dorm) -"gB" = ( -/obj/item/kirbyplants{ - icon_state = "plant-22"; - pixel_x = -8 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"gC" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"gF" = ( -/obj/structure/table/reinforced, -/obj/item/melee/knife/kitchen{ - pixel_y = 6; - pixel_x = 9 - }, -/obj/item/book/manual/chef_recipes{ - pixel_x = -4; - pixel_y = 6 - }, -/obj/item/kitchen/rollingpin, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/library) -"gH" = ( -/obj/structure/girder, -/obj/effect/decal/cleanable/blood/gibs/old, -/obj/structure/sign/poster/official/random{ - pixel_x = -32 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"gI" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/machinery/light/directional/west, -/obj/item/bedsheet/red, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/carpet, -/area/outpost/crew/dorm) -"gJ" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/security/armory) -"gK" = ( -/obj/structure/chair, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"gL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/logo{ - pixel_y = 32 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"gM" = ( -/obj/structure/grille, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"gN" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"gO" = ( -/mob/living/simple_animal/pet/penguin/emperor, -/turf/open/floor/grass/snow/safe, -/area/outpost/hallway/starboard) -"gP" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/crew/canteen) -"gR" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi' - }, -/area/outpost/hallway/fore) -"gS" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/shreds{ - pixel_y = 14 - }, -/obj/effect/decal/cleanable/cobweb, -/turf/closed/mineral/random/snow, -/area/outpost/external) -"gT" = ( -/obj/machinery/vending/boozeomat/syndicate_access, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"gU" = ( -/obj/machinery/computer/prisoner/management, -/obj/effect/turf_decal/trimline/opaque/red/filled/line, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"gV" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/security/armory) -"gW" = ( -/obj/machinery/door/poddoor/ert{ - id = "outpost_ert" - }, -/obj/effect/turf_decal/industrial/traffic, -/obj/effect/turf_decal/industrial/traffic{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security/armory) -"ha" = ( -/obj/structure/grille, -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/outpost/maintenance/fore) -"hb" = ( -/obj/structure/girder, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"hc" = ( -/turf/closed/mineral/random/snow, -/area/outpost/crew/cryo) -"hd" = ( -/obj/effect/spawner/random/maintenance/three, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"he" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/barricade/security, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"hg" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/corner, -/obj/machinery/power/port_gen/pacman/super, -/obj/structure/cable/yellow{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"hh" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 10 - }, -/obj/structure/statue/sandstone/venus{ - layer = 3.1 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"hi" = ( -/turf/open/floor/plasteel/stairs{ - barefootstep = "woodbarefoot"; - color = "#A47449"; - footstep = "wood"; - dir = 8 - }, -/area/outpost/hallway/central) -"hj" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/engineering) -"hk" = ( -/obj/structure/table/reinforced, -/obj/machinery/chem_dispenser/drinks/beer/fullupgrade{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/bar) -"hp" = ( -/obj/machinery/processor, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/library) -"hu" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/outpost/maintenance/fore) -"hx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1 - }, -/obj/machinery/computer/communications, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"hy" = ( -/obj/machinery/door/airlock/external{ - dir = 8 - }, -/obj/structure/barricade/wooden/crude{ - layer = 3.1 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"hA" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/turf_decal/corner/opaque/yellow/full, -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"hD" = ( -/obj/structure/table/wood, -/obj/item/trash/plate{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/item/reagent_containers/food/drinks/soda_cans/cola{ - pixel_x = -5 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"hE" = ( -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"hF" = ( -/obj/structure/table/wood, -/obj/item/trash/plate{ - pixel_x = 8 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"hH" = ( -/obj/effect/decal/fakelattice{ - icon_state = "lattice-3" - }, -/turf/open/space/basic, -/area/outpost/external) -"hI" = ( -/obj/machinery/computer/atmos_alert{ - dir = 1 - }, -/obj/structure/railing, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"hJ" = ( -/obj/machinery/door/airlock/maintenance_hatch, -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"hK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/wood/walnut, -/area/outpost/crew/bar) -"hM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/closet/crate/bin, -/obj/item/trash/chips, -/obj/item/trash/pistachios{ - pixel_x = 6 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"hO" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/binary/pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"hP" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"hQ" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"hV" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/landmark/ert_outpost_spawn, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/security/armory) -"hW" = ( -/obj/effect/spawner/structure/window/plasma/reinforced/plastitanium, -/turf/open/floor/plating, -/area/outpost/crew/cryo) -"hX" = ( -/obj/structure/showcase/cyborg/old, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/decal/cleanable/ash/large{ - pixel_y = -11; - pixel_x = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/plastic, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"hZ" = ( -/obj/machinery/processor, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/hallway/central) -"ia" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"ic" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo/office) -"ie" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"ig" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"il" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"im" = ( -/obj/structure/rack, -/obj/effect/spawner/random/maintenance/two, -/obj/structure/grille/broken, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/aft) -"ip" = ( -/obj/structure/filler{ - icon_state = "safe-open" - }, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/fore) -"ir" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"iu" = ( -/obj/structure/chair/stool/bar, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"iv" = ( -/obj/structure/table/glass, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"iz" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"iB" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"iD" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/sign/poster/official/obey{ - pixel_y = -32 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"iE" = ( -/obj/structure/table/wood, -/obj/machinery/jukebox/boombox{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/item/reagent_containers/food/drinks/bottle/applejack{ - pixel_y = 8; - pixel_x = 5 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/bar) -"iG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"iH" = ( -/obj/effect/turf_decal/siding/wood/end, -/obj/structure/table_frame/wood, -/obj/structure/fluff/paper, -/turf/open/floor/wood, -/area/outpost/maintenance/aft) -"iJ" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"iK" = ( -/obj/machinery/door/airlock/command{ - name = "Council Chamber"; - req_access_txt = "19"; - security_level = 6; - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"iL" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"iM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"iN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"iQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"iR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"iT" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"iW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/grille_or_waste, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32; - pixel_y = -32 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"iX" = ( -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/security/armory) -"iY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil/streak, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"ja" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"jb" = ( -/obj/structure/rack, -/obj/item/storage/belt/utility/full/engi{ - pixel_y = 4 - }, -/obj/item/geiger_counter{ - pixel_x = 1; - pixel_y = 2 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"jc" = ( -/obj/structure/table/reinforced, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"je" = ( -/obj/structure/table, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/engine, -/area/outpost/crew/cryo) -"jf" = ( -/obj/structure/chair/stool/bar, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"jg" = ( -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/outpost/hallway/fore) -"jh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"jj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"jl" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8 - }, -/obj/structure/barricade/wooden, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"jm" = ( -/obj/structure/chair/comfy/orange/directional/east, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"jn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"jo" = ( -/obj/effect/decal/cleanable/plasma, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner/north, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"js" = ( -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"jv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"jw" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"jx" = ( -/obj/machinery/door/poddoor/shutters/preopen, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"jz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 4 - }, -/obj/machinery/airalarm/directional/south, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"jB" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"jC" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 2 - }, -/obj/item/pen{ - pixel_x = 5; - pixel_y = 1 - }, -/obj/item/circuitboard/machine/shuttle/engine/electric{ - pixel_x = -1; - pixel_y = -3 - }, -/obj/item/circuitboard/machine/shuttle/engine/electric{ - pixel_x = 1; - pixel_y = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"jD" = ( -/obj/effect/decal/cleanable/garbage{ - pixel_y = -7; - pixel_x = 6 - }, -/obj/machinery/light/broken/directional/east, -/obj/effect/turf_decal/industrial/warning, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"jE" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10, -/obj/effect/overlay/holoray, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"jF" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 10 - }, -/obj/structure/flora/ausbushes/fullgrass{ - pixel_x = 12; - pixel_y = 2 - }, -/turf/open/floor/grass, -/area/outpost/hallway/central) -"jG" = ( -/turf/open/floor/engine, -/area/outpost/maintenance/fore) -"jI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"jJ" = ( -/obj/structure/rack, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/item/storage/box/zipties{ - pixel_y = 7; - pixel_x = 8 - }, -/obj/item/storage/box/teargas{ - pixel_x = -8; - pixel_y = 7 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 6 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"jK" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"jL" = ( -/obj/effect/turf_decal/siding/wood, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"jP" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"jQ" = ( -/obj/structure/alien/weeds, -/obj/effect/decal/cleanable/blood/innards, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/blood/gibs, -/obj/structure/bed/nest, -/obj/machinery/light/built/directional/west, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"jR" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"jT" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/item/banner, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/fore) -"jU" = ( -/obj/effect/turf_decal/borderfloorwhite{ - dir = 5 - }, -/obj/structure/urinal{ - pixel_y = 28 - }, -/turf/open/floor/plasteel/white, -/area/outpost/crew/library) -"jV" = ( -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/outpost/security/armory) -"jW" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/brigdoor{ - base_state = "rightsecure"; - dir = 4; - icon_state = "rightsecure"; - name = "Head of Personnel's Desk"; - req_access_txt = "101" - }, -/obj/machinery/door/window/northleft{ - dir = 8; - name = "Reception Window" - }, -/obj/machinery/door/poddoor/preopen{ - id = "outpost_office_lockdown"; - dir = 8 - }, -/turf/open/floor/plasteel, -/area/outpost/operations) -"jX" = ( -/obj/structure/fireplace, -/turf/open/floor/plasteel/sepia, -/area/outpost/vacant_rooms/office) -"jY" = ( -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"jZ" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 10 - }, -/obj/machinery/autolathe, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"ka" = ( -/obj/structure/foamedmetal, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/fore) -"kc" = ( -/obj/effect/decal/cleanable/glass, -/obj/structure/window/reinforced/spawner, -/obj/structure/grille/broken, -/obj/effect/decal/cleanable/plasma, -/obj/item/shard, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"kd" = ( -/mob/living/simple_animal/chicken, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 4 - }, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/grass, -/area/outpost/hallway/central) -"ke" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line{ - dir = 5 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"kf" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/structure/sign/poster/contraband/tools{ - pixel_x = -32 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"ki" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/trimline/opaque/red/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"kk" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"kl" = ( -/obj/machinery/door/airlock/outpost{ - dir = 1; - icon = 'icons/obj/doors/airlocks/station/mining.dmi'; - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'; - assemblytype = /obj/structure/door_assembly/door_assembly_min - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo/office) -"kq" = ( -/obj/structure/railing{ - dir = 1; - layer = 4.1 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"kt" = ( -/obj/machinery/door/window/brigdoor/northright{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"kw" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"kx" = ( -/obj/structure/table/reinforced, -/obj/machinery/chem_dispenser/drinks/fullupgrade{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/bar) -"kz" = ( -/obj/structure/railing/wood{ - dir = 6 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"kA" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/sign/poster/official/here_for_your_safety{ - pixel_y = -32 - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"kB" = ( -/obj/effect/turf_decal/techfloor{ - dir = 6 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"kC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"kF" = ( -/obj/machinery/vending/medical/syndicate_access, -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"kH" = ( -/obj/machinery/door/airlock/maintenance_hatch, -/obj/structure/barricade/wooden/crude{ - layer = 3.13 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"kI" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/flora/grass/both, -/turf/open/floor/grass/snow/safe, -/area/outpost/hallway/starboard) -"kJ" = ( -/obj/effect/turf_decal/techfloor, -/obj/machinery/suit_storage_unit/inherit/industrial, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"kM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"kN" = ( -/obj/machinery/computer/secure_data{ - dir = 8 - }, -/obj/structure/railing{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"kO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/vacant_rooms) -"kP" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"kR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"kT" = ( -/obj/machinery/door/window/brigdoor/security{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"kY" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"kZ" = ( -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"la" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"lb" = ( -/obj/effect/spawner/structure/window/reinforced/indestructable, -/obj/machinery/door/poddoor/ert{ - id = "outpost_security_desk"; - desc = "A heavy duty blast door." - }, -/turf/open/floor/plating, -/area/outpost/security) -"le" = ( -/obj/structure/closet/crate/wooden, -/obj/structure/railing/wood{ - layer = 3.1 - }, -/obj/structure/railing/wood{ - layer = 3.1; - pixel_y = 24 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"lf" = ( -/obj/structure/table, -/obj/item/export_scanner{ - pixel_x = -3; - pixel_y = -10 - }, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 5 - }, -/obj/item/pen{ - pixel_x = -5; - pixel_y = 7 - }, -/obj/item/phone{ - pixel_x = 8; - pixel_y = 7 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/central) -"lg" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/sign/poster/contraband/engis_unite{ - pixel_y = 32 - }, -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"lh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"lq" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"lr" = ( -/turf/open/floor/engine/n2, -/area/outpost/engineering/atmospherics) -"lt" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"lx" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"ly" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/grille, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"lz" = ( -/obj/machinery/power/floodlight, -/obj/effect/decal/cleanable/greenglow, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"lA" = ( -/obj/structure/mopbucket, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"lB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"lD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/obj/machinery/newscaster/directional/north{ - pixel_y = 33 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"lG" = ( -/obj/structure/grille/broken, -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"lH" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/elevator_call_button{ - pixel_y = 25 - }, -/obj/effect/landmark/outpost/elevator_machine{ - shaft = "2" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"lI" = ( -/obj/item/trash/syndi_cakes{ - pixel_x = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"lJ" = ( -/turf/closed/wall/rust, -/area/outpost/maintenance/fore) -"lK" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ - dir = 1 - }, -/obj/structure/closet/crate/freezer/blood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"lL" = ( -/obj/structure/urinal{ - pixel_y = 33 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/foam, -/area/outpost/maintenance/aft) -"lM" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock{ - dir = 4; - name = "Chapel" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/lounge) -"lN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"lR" = ( -/obj/structure/table/wood, -/obj/item/newspaper{ - pixel_x = 4; - pixel_y = -1 - }, -/obj/item/newspaper{ - pixel_x = 4; - pixel_y = 2 - }, -/obj/item/newspaper{ - pixel_x = 4; - pixel_y = 5 - }, -/obj/item/table_bell{ - pixel_x = -8; - pixel_y = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/bar) -"lS" = ( -/obj/structure/table/reinforced, -/obj/item/radio/old{ - pixel_x = 2; - pixel_y = 4 - }, -/obj/item/cartridge/quartermaster{ - pixel_x = -3 - }, -/obj/item/cartridge/quartermaster{ - pixel_x = -1; - pixel_y = 5 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/destTagger, -/obj/machinery/light/directional/north, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo/office) -"lT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"lX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/fermenting_barrel{ - pixel_x = 7; - pixel_y = -2 - }, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"lY" = ( -/turf/open/floor/engine/hull/reinforced, -/area/outpost/external) -"lZ" = ( -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"mb" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 10 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"mc" = ( -/obj/structure/chair/wood{ - pixel_x = -1; - pixel_y = -3 - }, -/obj/item/toy/plush/moth{ - pixel_y = 3; - pixel_x = -1 - }, -/obj/effect/turf_decal/weather/snow{ - dir = 9 - }, -/turf/open/floor/plating/asteroid/snow/under/lit, -/area/outpost/external) -"mh" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"mj" = ( -/obj/effect/spawner/structure/window/reinforced/indestructable, -/obj/machinery/door/poddoor/preopen{ - id = "outpost_security_window" - }, -/turf/open/floor/plating, -/area/outpost/security) -"mk" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"ml" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/stack/rods/ten{ - pixel_x = -11; - pixel_y = -1 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"mn" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/chair/pew/left{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"mp" = ( -/obj/structure/bookcase/random/fiction, -/obj/item/candle/infinite{ - pixel_y = 19; - pixel_x = -14 - }, -/obj/structure/sign/poster/official/enlist{ - pixel_x = -32 - }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"mq" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"mr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"ms" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/beige/filled/line{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"mt" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"mu" = ( -/obj/structure/table/reinforced, -/obj/item/storage/backpack/duffelbag/med/surgery, -/obj/item/clothing/gloves/color/latex{ - pixel_y = -4 - }, -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/item/storage/pill_bottle/mannitol{ - pixel_x = -3; - pixel_y = 9 - }, -/obj/item/storage/pill_bottle/epinephrine{ - pixel_x = -8; - pixel_y = 11 - }, -/obj/item/reagent_containers/medigel/sterilizine{ - pixel_x = -9; - pixel_y = 7 - }, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"mv" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair{ - dir = 1; - pixel_x = 1; - pixel_y = 7 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"mw" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/machinery/door/airlock/outpost{ - assemblytype = /obj/structure/door_assembly/door_assembly_com; - icon = 'icons/obj/doors/airlocks/station/command.dmi'; - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'; - req_one_access_txt = "109" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"mx" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/item/bedsheet/nanotrasen, -/turf/open/floor/carpet, -/area/outpost/crew/dorm) -"my" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"mz" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plating, -/area/outpost/engineering/atmospherics) -"mA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"mB" = ( -/obj/structure/table/wood, -/obj/machinery/status_display/ai{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/operations) -"mD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"mE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/sign/plaques/deempisi{ - pixel_y = 26 - }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"mF" = ( -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 6 - }, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"mG" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/vomit/old, -/obj/item/cigbutt/cigarbutt{ - pixel_x = 15; - pixel_y = -8 - }, -/obj/effect/decal/cleanable/ash{ - pixel_x = 12; - pixel_y = -4 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"mH" = ( -/obj/structure/frame/machine, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"mI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/curtain{ - color = "#363636" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"mJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/garden) -"mN" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/button/door{ - pixel_y = 28; - id = "outpost_ert"; - req_access_txt = "101"; - pixel_x = -3 - }, -/obj/effect/landmark/ert_outpost_spawn, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"mP" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/sign/poster/contraband/smoke{ - pixel_y = -32 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"mR" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"mS" = ( -/obj/machinery/power/floodlight, -/obj/effect/decal/cleanable/glitter, -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/outpost/maintenance/fore) -"mW" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"mY" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"mZ" = ( -/obj/structure/table/wood, -/obj/machinery/fax/ruin, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"na" = ( -/obj/structure/flora/rock/pile/largejungle{ - pixel_x = 3; - pixel_y = -3 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"nb" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/sign/poster/official/miners{ - pixel_x = 32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi' - }, -/area/outpost/hallway/fore) -"nc" = ( -/obj/structure/girder/reinforced, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"ne" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"ng" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/fore) -"nh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"nj" = ( -/obj/machinery/light/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"nk" = ( -/obj/structure/chair/comfy/grey/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"nn" = ( -/obj/structure/elevator_platform, -/turf/open/floor/plasteel/elevatorshaft, -/area/outpost/vacant_rooms) -"no" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/effect/decal/cleanable/oil, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"nt" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"nv" = ( -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/outpost/maintenance/fore) -"ny" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/landmark/ert_outpost_spawn, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/security/armory) -"nz" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ - dir = 1 - }, -/obj/structure/closet/secure_closet/medical2, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"nA" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/pew/right{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"nC" = ( -/obj/structure/table/wood, -/obj/item/phone{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/storage/fancy/nugget_box{ - pixel_y = -5; - pixel_x = -9 - }, -/obj/item/reagent_containers/food/drinks/mug, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"nE" = ( -/obj/structure/chair/office, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/sign/poster/official/fruit_bowl{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"nF" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"nH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/bag/trash{ - pixel_x = 8; - pixel_y = -4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"nJ" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ - dir = 1 - }, -/obj/structure/table/glass, -/obj/item/storage/firstaid/toxin{ - pixel_x = -2; - pixel_y = 10 - }, -/obj/item/storage/firstaid/fire{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"nP" = ( -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/plating/airless, -/area/outpost/maintenance/fore) -"nQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/broken/directional/south, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"nT" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"nU" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"nV" = ( -/turf/closed/indestructible/fakeglass, -/area/outpost/engineering/atmospherics) -"nX" = ( -/turf/open/floor/wood, -/area/outpost/crew/bar) -"nY" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/engine, -/area/outpost/crew/cryo) -"nZ" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"oa" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/sign/poster/official/high_class_martini{ - pixel_x = 32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"ob" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/sign/poster/contraband/red_rum{ - pixel_x = 32 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_4, -/area/outpost/hallway/central) -"oc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/poster/official/safety_internals{ - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"od" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"of" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/noticeboard{ - icon_state = "nboard05"; - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"og" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"oh" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"ok" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/vehicle/ridden/atv{ - dir = 1 - }, -/turf/open/floor/engine, -/area/outpost/maintenance/fore) -"om" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"on" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/nachos, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"oo" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/closet/secure_closet/freezer/wall/directional/east, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"op" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/outpost{ - assemblytype = /obj/structure/door_assembly/door_assembly_com; - icon = 'icons/obj/doors/airlocks/station/command.dmi'; - glass = 1; - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'; - name = "Bridge Access"; - req_one_access_txt = "109" - }, -/obj/machinery/door/poddoor/preopen{ - id = "outpost_bridge_lockdown" - }, -/turf/open/floor/plasteel, -/area/outpost/operations) -"oq" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ - dir = 1 - }, -/obj/machinery/airalarm/directional/east, -/obj/structure/bed/roller, -/obj/machinery/iv_drip, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"ot" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"ow" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"oA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"oC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair/sofa/brown/right/directional/east, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"oD" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"oE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"oG" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"oH" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/structure/closet/crate/secure/loot, -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/outpost/maintenance/fore) -"oI" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"oJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/outpost/operations) -"oK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"oL" = ( -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/obj/structure/chair/office{ - dir = 8; - name = "tactical swivel chair" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"oN" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/sign/poster/official/safety_report{ - pixel_y = -32 - }, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/starboard) -"oS" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"oX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"oZ" = ( -/obj/structure/chair/sofa/brown/right/directional/north, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"pa" = ( -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/structure/displaycase/captain{ - req_access = null; - req_access_txt = "20"; - req_one_access_txt = "0" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/blue, -/area/outpost/operations) -"pe" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"pg" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/item/bedsheet/qm, -/turf/open/floor/carpet, -/area/outpost/crew/dorm) -"pj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair/sofa/brown/left/directional/east, -/obj/item/radio/intercom/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"pl" = ( -/obj/effect/landmark/outpost/elevator{ - shaft = "3" - }, -/turf/open/floor/plasteel/elevatorshaft, -/area/outpost/hallway/fore) -"pm" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"po" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/medical) -"pq" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"pr" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"ps" = ( -/obj/structure/fluff/hedge, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"pt" = ( -/obj/machinery/light/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/carpet/blue, -/area/outpost/hallway/central) -"pu" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"pv" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 4 - }, -/obj/structure/flora/ausbushes/sparsegrass{ - pixel_y = -1; - pixel_x = -1 - }, -/obj/structure/flora/ausbushes/stalkybush, -/obj/structure/flora/ausbushes/ywflowers, -/turf/open/floor/grass, -/area/outpost/hallway/aft) -"px" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"pz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"pC" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/machinery/light/directional/west, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"pD" = ( -/obj/effect/turf_decal/box/corners, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/structure/frame/machine, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"pE" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"pG" = ( -/obj/structure/chair/sofa/brown/left/directional/south, -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/greenglow/filled{ - pixel_y = 5 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/outpost/maintenance/aft) -"pI" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"pJ" = ( -/obj/structure/table/wood, -/obj/item/modular_computer/laptop/preset/civilian{ - pixel_y = 3 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"pK" = ( -/obj/effect/spawner/structure/window/reinforced/indestructable, -/obj/machinery/door/poddoor/preopen{ - id = "outpost_bridge_lockdown" - }, -/turf/open/floor/plating, -/area/outpost/operations) -"pL" = ( -/obj/structure/flora/rock/pile/largejungle{ - pixel_x = -26; - pixel_y = 3 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"pN" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"pR" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/button/door{ - pixel_y = 28; - id = "outpost_security_window"; - req_access_txt = "101"; - name = "Cell Window Shutters" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"pT" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/jukebox/boombox{ - pixel_y = 5 - }, -/obj/item/phone{ - pixel_x = -11; - pixel_y = 3 - }, -/obj/item/folder/yellow{ - pixel_x = 7; - pixel_y = -3 - }, -/obj/item/forcefield_projector{ - pixel_y = -2 - }, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"pU" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/engineering/atmospherics) -"pX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"pZ" = ( -/obj/structure/window/reinforced/spawner/east, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/computer/med_data, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"qb" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/crew/library) -"qc" = ( -/obj/effect/turf_decal/atmos/oxygen{ - dir = 1 - }, -/turf/open/floor/engine/o2, -/area/outpost/engineering/atmospherics) -"qd" = ( -/obj/machinery/vending/cigarette, -/turf/open/floor/plasteel, -/area/outpost/hallway/fore) -"qe" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/structure/reagent_dispensers/servingdish, -/obj/effect/decal/cleanable/vomit/old{ - pixel_x = 1; - pixel_y = -9 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"qg" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/condiment/enzyme{ - pixel_x = -2; - pixel_y = 6 - }, -/obj/item/reagent_containers/glass/beaker, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/library) -"qi" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"qj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/north, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/carpet, -/area/outpost/hallway/central) -"qk" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"qm" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"qo" = ( -/obj/structure/closet/secure_closet/freezer/meat, -/obj/effect/turf_decal/box/corners{ - icon_state = "box_corners"; - dir = 8 - }, -/obj/effect/turf_decal/box/corners, -/turf/open/floor/plasteel/patterned/ridged, -/area/outpost/crew/library) -"qp" = ( -/obj/effect/turf_decal/atmos/plasma{ - dir = 1 - }, -/turf/open/floor/engine/plasma, -/area/outpost/engineering/atmospherics) -"qu" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"qv" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = -6 - }, -/obj/item/pen{ - pixel_x = -6 - }, -/obj/item/stamp/qm{ - pixel_x = 6; - pixel_y = 9 - }, -/obj/item/stamp{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/stamp/denied{ - pixel_x = 6; - pixel_y = -1 - }, -/obj/item/toy/figure/cargotech{ - pixel_x = -8; - pixel_y = 15 - }, -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"qw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/bed{ - icon_state = "dirty_mattress" - }, -/obj/item/storage/wallet, -/obj/item/reagent_containers/food/drinks/bottle/pruno{ - pixel_x = 5 - }, -/obj/item/bedsheet/nanotrasen, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"qx" = ( -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"qy" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/carpet/nanoweave, -/area/outpost/hallway/central) -"qz" = ( -/obj/structure/railing/corner/wood{ - dir = 1 - }, -/obj/structure/railing/corner/wood{ - dir = 8 - }, -/obj/structure/flora/grass/jungle/b{ - pixel_x = 9; - pixel_y = 9 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"qA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/logo{ - icon_state = "nanotrasen_sign3"; - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"qC" = ( -/obj/machinery/light/directional/north, -/obj/machinery/status_display/ai{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"qE" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"qF" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/structure/frame/computer{ - anchored = 1; - dir = 8; - pixel_x = 7 - }, -/obj/structure/grille/broken, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"qG" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating/dark/corner, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/corner, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"qI" = ( -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/effect/turf_decal/box/corners, -/turf/open/floor/plasteel/patterned/ridged, -/area/outpost/hallway/central) -"qK" = ( -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 8 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"qL" = ( -/obj/effect/landmark/outpost/elevator_machine{ - shaft = "1" - }, -/obj/machinery/door/airlock/public/glass{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"qN" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 - }, -/obj/structure/cable/yellow{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"qO" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"qQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/girder, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"qT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/wood/walnut, -/area/outpost/crew/bar) -"qU" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/item/radio/intercom/directional/west, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi' - }, -/area/outpost/hallway/fore) -"qW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet, -/area/outpost/hallway/central) -"qX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"qZ" = ( -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating, -/area/outpost/hallway/fore) -"ra" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/west, -/obj/structure/sign/poster/retro/we_watch{ - pixel_y = 32 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"rc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/maintenance/aft) -"rd" = ( -/obj/item/storage/fancy/candle_box{ - pixel_x = 8; - pixel_y = 2 - }, -/obj/structure/table/wood, -/obj/item/lighter, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/lounge) -"re" = ( -/obj/structure/rack, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"rf" = ( -/obj/structure/table, -/obj/item/lighter{ - pixel_x = -8 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/carpet/blue, -/area/outpost/hallway/central) -"rh" = ( -/obj/item/storage/bag/tray, -/obj/item/storage/box/donkpockets{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/storage/box/donkpockets{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/reagent_containers/condiment/peppermill{ - desc = "Often used to flavor food or make people sneeze. Fashionably moved to the left side of the table."; - pixel_x = -8; - pixel_y = 2 - }, -/obj/item/reagent_containers/condiment/saltshaker{ - desc = "Salt. From space oceans, presumably. A staple of modern medicine."; - pixel_x = -8; - pixel_y = 12 - }, -/obj/machinery/reagentgrinder{ - pixel_y = 5 - }, -/obj/structure/table, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel, -/area/outpost/crew/library) -"rj" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"rk" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"rl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"ro" = ( -/obj/structure/table/wood/poker, -/obj/item/flashlight/lamp/green{ - pixel_y = 13; - pixel_x = -6; - layer = 4 - }, -/obj/item/paper_bin{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/pen/fountain{ - pixel_x = 4; - pixel_y = 2 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = 8 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"rs" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/outpost{ - dir = 4; - icon = 'icons/obj/doors/airlocks/station/medical.dmi'; - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'; - assemblytype = /obj/structure/door_assembly/door_assembly_med - }, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"ru" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/engine, -/area/outpost/crew/cryo) -"rv" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"rw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"rx" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"ry" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"rA" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"rB" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/poster/official/moth{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"rD" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/obj/machinery/suit_storage_unit/inherit, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/security) -"rE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/library) -"rG" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/item/grenade/frag{ - pixel_x = 6; - pixel_y = -3 - }, -/obj/item/grenade/empgrenade, -/obj/item/grenade/stingbang{ - pixel_x = -8; - pixel_y = -4 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"rJ" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"rL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"rN" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"rO" = ( -/obj/structure/filingcabinet/security{ - pixel_x = 11 - }, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"rP" = ( -/obj/effect/turf_decal/atmos/carbon_dioxide, -/turf/open/floor/engine/co2, -/area/outpost/engineering/atmospherics) -"rQ" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/sign/plaques/kiddie/library{ - pixel_y = -32 - }, -/obj/item/kirbyplants{ - icon_state = "plant-22"; - pixel_x = -11 - }, -/obj/machinery/vending/games{ - pixel_x = 4 - }, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"rR" = ( -/obj/structure/reagent_dispensers/water_cooler{ - pixel_x = 8; - pixel_y = 15; - density = 0 - }, -/obj/item/kirbyplants{ - icon_state = "plant-25"; - pixel_x = -3; - pixel_y = 6 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/fore) -"rT" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"rU" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/bottlegreen/line{ - dir = 1 - }, -/obj/structure/bed/roller, -/obj/machinery/iv_drip, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"rV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/sign/poster/retro/nanotrasen_logo_80s{ - pixel_y = 32 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/garden) -"rW" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 5 - }, -/obj/machinery/suit_storage_unit/inherit, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/security) -"rX" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/outpost/cargo) -"rZ" = ( -/obj/structure/table/reinforced, -/obj/item/reagent_containers/condiment/peppermill{ - desc = "Often used to flavor food or make people sneeze. Fashionably moved to the left side of the table."; - pixel_x = -8; - pixel_y = 2 - }, -/obj/item/reagent_containers/condiment/saltshaker{ - desc = "Salt. From space oceans, presumably. A staple of modern medicine."; - pixel_x = -8; - pixel_y = 12 - }, -/obj/item/toy/figure/chef, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"sb" = ( -/obj/machinery/door/window/westright{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/blue, -/area/outpost/operations) -"sd" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/plasma, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"sg" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/showcase/machinery/tv, -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"si" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood/walnut, -/area/outpost/crew/bar) -"sl" = ( -/obj/item/kirbyplants/dead{ - pixel_x = -6 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/west, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"sm" = ( -/obj/machinery/status_display/ai{ - pixel_y = 32 - }, -/obj/item/clothing/accessory/holster, -/obj/structure/closet/secure_closet/head_of_personnel, -/turf/open/floor/carpet/royalblue, -/area/outpost/operations) -"sn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, -/obj/structure/showcase/mecha/ripley, -/obj/effect/turf_decal/box/corners{ - dir = 1; - icon_state = "box_corners" - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"so" = ( -/turf/open/floor/carpet/blue, -/area/outpost/operations) -"st" = ( -/obj/machinery/door/airlock/freezer{ - req_access_txt = "109" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/kitchen_coldroom/freezerfloor, -/area/outpost/crew/canteen) -"su" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/aft) -"sv" = ( -/obj/structure/bookcase/random/fiction, -/obj/machinery/newscaster/directional/north{ - pixel_y = 33 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"sx" = ( -/obj/structure/table/glass, -/obj/effect/decal/cleanable/dirt, -/obj/item/pinpointer/nuke{ - pixel_x = -5; - pixel_y = 4 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 9 - }, -/obj/item/phone{ - desc = "Supposedly a direct line to Nanotrasen Central Command. It's not even plugged in."; - pixel_x = 9; - pixel_y = 3 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"sz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/fore) -"sA" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = -4; - pixel_y = 9 - }, -/obj/item/pen{ - pixel_x = -2; - pixel_y = 10 - }, -/obj/item/clipboard{ - pixel_x = -3; - pixel_y = -4 - }, -/obj/item/folder/blue{ - pixel_x = -6; - pixel_y = -5 - }, -/obj/item/stamp/qm{ - pixel_x = 8; - pixel_y = 9 - }, -/obj/item/stamp{ - pixel_x = 8; - pixel_y = 4 - }, -/obj/item/stamp/denied{ - pixel_y = -1; - pixel_x = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo/office) -"sB" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/hallway/fore) -"sD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/barricade/wooden, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"sF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"sH" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/item/kirbyplants{ - icon_state = "plant-09" - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"sI" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"sJ" = ( -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/fore) -"sL" = ( -/obj/structure/railing/wood{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"sM" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/techfloor, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"sN" = ( -/turf/open/floor/plating/asteroid/icerock/smooth, -/area/outpost/external) -"sP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"sQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/bar) -"sR" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"sT" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/closet/secure_closet/freezer/wall/directional/east, -/obj/item/clothing/suit/apron/chef, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/library) -"sU" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"sV" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/trimline/opaque/red/line, -/obj/machinery/light/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"sX" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/sign/poster/official/random{ - pixel_y = -32; - pixel_x = 32 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"ta" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/carpet, -/area/outpost/hallway/central) -"tb" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"td" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"te" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - req_access_txt = "109" - }, -/turf/open/floor/plating, -/area/outpost/crew/bar) -"tf" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi' - }, -/area/outpost/hallway/fore) -"ti" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line, -/obj/effect/turf_decal/industrial/loading{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"tj" = ( -/turf/open/floor/engine/vacuum, -/area/outpost/engineering/atmospherics) -"tl" = ( -/obj/machinery/computer/slot_machine, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"tm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"tp" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/fore) -"tr" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/starboard) -"ts" = ( -/obj/machinery/door/window/brigdoor/eastleft{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"tt" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"tv" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"tx" = ( -/obj/structure/table/wood, -/obj/item/papercutter{ - pixel_x = 7; - pixel_y = 2 - }, -/obj/item/hand_tele{ - pixel_x = -13; - pixel_y = 5 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/wood, -/area/outpost/operations) -"ty" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/outpost{ - assemblytype = /obj/structure/door_assembly/door_assembly_atmo; - icon = 'icons/obj/doors/airlocks/station/atmos.dmi'; - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'; - req_access_txt = "101" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"tz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/wood/ebony, -/area/outpost/crew/lounge) -"tA" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = -8; - pixel_y = 3 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"tC" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/line{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"tD" = ( -/obj/effect/spawner/random/trash/grille_or_waste, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"tE" = ( -/obj/structure/railing/wood{ - layer = 3.1 - }, -/obj/structure/flora/ausbushes/lavendergrass{ - pixel_x = -5; - pixel_y = 6 - }, -/obj/structure/flora/ausbushes/pointybush, -/turf/open/floor/grass, -/area/outpost/hallway/central) -"tF" = ( -/obj/effect/decal/cleanable/plasma, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"tG" = ( -/obj/effect/decal/cleanable/food/flour, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"tI" = ( -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"tJ" = ( -/obj/structure/table/wood/reinforced, -/turf/open/floor/wood/ebony, -/area/outpost/crew/lounge) -"tK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"tM" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/item/stamp/captain{ - pixel_x = 8; - pixel_y = 2 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/railing, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/outpost/operations) -"tN" = ( -/obj/structure/chair/sofa/brown/directional/north, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"tO" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"tP" = ( -/obj/machinery/washing_machine, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/outpost/crew/library) -"tQ" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"tV" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - req_access_txt = "109"; - dir = 8 - }, -/turf/open/floor/concrete/reinforced, -/area/outpost/maintenance/aft) -"tW" = ( -/obj/machinery/computer/cargo{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"tX" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"tY" = ( -/obj/structure/chair/sofa/brown/corner/directional/north, -/obj/structure/sign/poster/official/moth/epi{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"tZ" = ( -/obj/structure/chair/comfy/grey/directional/north, -/obj/machinery/button/door{ - dir = 4; - pixel_x = -28; - pixel_y = 6; - id = "outpost_security_desk"; - name = "Desk Shutter" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"ua" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"uc" = ( -/obj/structure/table/reinforced, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 1 - }, -/obj/item/pen/fountain{ - pixel_y = 2; - pixel_x = 4 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"ue" = ( -/obj/structure/table/wood, -/obj/structure/noticeboard{ - pixel_y = 30 - }, -/obj/item/storage/box/PDAs{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/storage/box/ids, -/obj/item/storage/box/silver_ids{ - pixel_y = 7; - pixel_x = 6 - }, -/turf/open/floor/plasteel, -/area/outpost/operations) -"uf" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/aft) -"ui" = ( -/obj/effect/turf_decal/atmos/nitrogen, -/turf/open/floor/engine/n2, -/area/outpost/engineering/atmospherics) -"uj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/plasma, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/outpost/maintenance/aft) -"uk" = ( -/obj/machinery/light/small/directional/west, -/turf/open/floor/concrete/reinforced, -/area/outpost/crew/garden) -"un" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"uo" = ( -/obj/item/stack/sheet/mineral/wood, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"up" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"uq" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"ur" = ( -/obj/structure/railing/corner, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"us" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/mug{ - pixel_x = -7; - pixel_y = -2 - }, -/obj/item/table_bell{ - pixel_x = -8; - pixel_y = 7 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"ut" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/hallway/central) -"uu" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"uv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"uw" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"uD" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"uE" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/item/flashlight/lamp{ - pixel_x = -8; - pixel_y = 13 - }, -/obj/item/storage/fancy/donut_box{ - pixel_y = 5; - pixel_x = -2 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"uG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/sign/poster/contraband/robustmore_drinkfoods{ - pixel_x = -32 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/hallway/central) -"uH" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"uI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"uJ" = ( -/obj/structure/showcase/machinery/cloning_pod, -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"uK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"uL" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"uP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/bag/tray/cafeteria{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32; - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"uQ" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/effect/decal/cleanable/dirt, -/obj/item/bedsheet/brown, -/turf/open/floor/carpet, -/area/outpost/crew/dorm) -"uR" = ( -/obj/effect/turf_decal/techfloor/corner, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"uS" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/turf_decal/corner/opaque/yellow/full, -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"uU" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 6 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"uV" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/aft) -"uX" = ( -/obj/structure/flora/grass/both, -/turf/open/floor/grass/snow/safe, -/area/outpost/hallway/fore) -"uZ" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"va" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/north, -/obj/structure/closet/wall/directional/east{ - name = "Storage Locker" - }, -/turf/open/floor/carpet, -/area/outpost/hallway/central) -"vc" = ( -/obj/structure/fluff/hedge{ - icon_state = "hedge-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"vd" = ( -/turf/open/floor/plasteel/tech, -/area/outpost/cargo/office) -"ve" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"vf" = ( -/obj/structure/showcase/cyborg/old, -/obj/effect/turf_decal/box/corners{ - dir = 4; - icon_state = "box_corners" - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"vk" = ( -/obj/structure/table, -/obj/machinery/microwave{ - pixel_y = 5 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - color = "#808080"; - dir = 8 - }, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"vl" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/item/clothing/suit/space/engineer, -/obj/item/clothing/head/helmet/space/light/engineer, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"vm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/vacant_rooms) -"vo" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/closet/emcloset/wall/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"vq" = ( -/obj/structure/sink/kitchen{ - dir = 4; - pixel_x = -12 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/food/plant_smudge, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"vr" = ( -/obj/structure/sink{ - pixel_y = 23 - }, -/obj/structure/mirror{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"vs" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/item/kirbyplants/random, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"vu" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"vv" = ( -/obj/structure/closet/bombcloset, -/obj/effect/decal/cleanable/robot_debris, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"vw" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/crew/garden) -"vx" = ( -/turf/closed/mineral/random/jungle, -/area/outpost/crew/garden) -"vy" = ( -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"vz" = ( -/obj/structure/grille, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"vB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"vC" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/hallway/aft) -"vD" = ( -/turf/open/floor/engine/co2, -/area/outpost/engineering/atmospherics) -"vE" = ( -/obj/effect/decal/cleanable/plasma, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"vG" = ( -/obj/machinery/door/poddoor/shutters/indestructible{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"vI" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"vJ" = ( -/obj/item/storage/box/maid, -/obj/item/clothing/gloves/color/latex/nitrile/evil, -/obj/item/clothing/head/soft/purple, -/obj/item/clothing/shoes/galoshes, -/obj/item/storage/box/mousetraps, -/obj/item/reagent_containers/glass/bucket, -/obj/item/reagent_containers/glass/rag, -/obj/item/mop, -/obj/item/soap/deluxe, -/obj/structure/closet/wall/blue/directional/west{ - name = "Janitorial Closet" - }, -/obj/machinery/door/window, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/crew/library) -"vK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/libraryscanner, -/obj/machinery/light/directional/south, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"vM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/kirbyplants{ - icon_state = "plant-21"; - pixel_x = 7 - }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"vN" = ( -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/machinery/computer/bounty, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"vO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"vQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/railing/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"vS" = ( -/obj/structure/fluff/hedge{ - icon_state = "hedge-8" - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"vT" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/obj/item/kirbyplants{ - icon_state = "plant-21" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"vV" = ( -/turf/open/space/basic, -/area/space) -"vW" = ( -/obj/structure/sign/logo{ - icon_state = "nanotrasen_sign5"; - pixel_y = 32 - }, -/turf/open/floor/plasteel/stairs{ - barefootstep = "woodbarefoot"; - color = "#A47449"; - footstep = "wood"; - dir = 4 - }, -/area/outpost/hallway/central) -"vY" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/outpost/maintenance/fore) -"vZ" = ( -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"wa" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/alien/weeds, -/obj/effect/decal/cleanable/xenoblood/xgibs/body, -/obj/effect/decal/cleanable/xenoblood/xgibs, -/obj/effect/decal/cleanable/xenoblood/xgibs/up, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"wc" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"wd" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"we" = ( -/obj/structure/railing/wood{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"wf" = ( -/obj/structure/flora/rock/jungle{ - pixel_x = 12 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"wg" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"wh" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/corner, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"wj" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"wk" = ( -/obj/machinery/atmospherics/components/unary/passive_vent/layer2{ - dir = 8 - }, -/turf/open/floor/engine/air, -/area/outpost/engineering/atmospherics) -"wl" = ( -/obj/machinery/cryopod, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"wn" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"wp" = ( -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"wq" = ( -/obj/structure/elevator_platform, -/turf/open/floor/plasteel/elevatorshaft, -/area/outpost/crew/library) -"wt" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/lounge) -"wu" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"wy" = ( -/obj/structure/chair/comfy/grey/directional/west, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"wz" = ( -/obj/effect/turf_decal/techfloor/orange, -/obj/machinery/computer/monitor{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"wB" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/spawner, -/obj/structure/window/reinforced/spawner/north, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"wC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"wE" = ( -/turf/open/floor/concrete/reinforced, -/area/outpost/hallway/starboard) -"wF" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/stool/bar, -/obj/effect/decal/cleanable/food/egg_smudge{ - pixel_x = 6; - pixel_y = -5 - }, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"wH" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/maintenance/fore) -"wI" = ( -/obj/effect/spawner/structure/window/reinforced/indestructable, -/turf/open/floor/plating, -/area/outpost/operations) -"wJ" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"wK" = ( -/obj/machinery/cryopod{ - dir = 8 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"wL" = ( -/obj/structure/table/wood, -/obj/item/modular_computer/laptop/preset/civilian{ - pixel_y = 5 - }, -/obj/structure/sign/poster/solgov/paperwork{ - pixel_y = 32 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"wM" = ( -/obj/structure/fluff/hedge{ - icon_state = "hedge-4" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"wN" = ( -/obj/structure/rack{ - color = "#A47449"; - pixel_y = 11 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/grown/log{ - pixel_x = -7; - pixel_y = 20 - }, -/obj/item/grown/log{ - pixel_x = 7; - pixel_y = 20 - }, -/obj/item/grown/log{ - pixel_y = 25 - }, -/obj/item/statuebust{ - pixel_x = 6 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/vacant_rooms/office) -"wQ" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/floor/plating/ice/smooth, -/area/outpost/hallway/fore) -"wR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"wS" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/operations) -"wT" = ( -/obj/structure/table/wood, -/obj/item/radio/intercom/directional/west{ - freerange = 1; - name = "Syndicate Radio Intercom" - }, -/obj/item/folder/red{ - pixel_x = 3 - }, -/obj/item/storage/fancy/cigarettes/cigpack_robustgold{ - pixel_x = -6 - }, -/obj/item/lighter{ - pixel_x = -5; - pixel_y = -1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"wV" = ( -/obj/structure/closet/radiation, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"wW" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"wY" = ( -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 1 - }, -/area/outpost/engineering) -"wZ" = ( -/obj/item/paper_bin{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = -8 - }, -/obj/item/pen/charcoal{ - pixel_y = 8; - pixel_x = -3 - }, -/obj/item/flashlight/lamp/green{ - pixel_y = 8; - pixel_x = 6 - }, -/obj/item/phone{ - pixel_x = 8; - pixel_y = -8 - }, -/obj/structure/table/wood, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"xa" = ( -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"xd" = ( -/obj/machinery/power/floodlight, -/obj/effect/decal/cleanable/garbage{ - pixel_x = -9; - pixel_y = -6 - }, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"xe" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"xf" = ( -/obj/structure/table_frame/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"xh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"xk" = ( -/obj/structure/bonfire/prelit, -/obj/effect/turf_decal/weather/snow{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/snow/under/lit, -/area/outpost/external) -"xm" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/banner, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"xo" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"xp" = ( -/obj/effect/turf_decal/techfloor, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"xr" = ( -/obj/structure/table/wood, -/obj/item/trash/plate{ - pixel_x = 1; - pixel_y = 6 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"xs" = ( -/obj/structure/table/wood/reinforced, -/turf/open/floor/carpet/nanoweave, -/area/outpost/vacant_rooms) -"xt" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/banner/command/mundane, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"xu" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"xv" = ( -/obj/structure/chair/sofa/brown/directional/north, -/obj/structure/sign/poster/contraband/free_tonto{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"xw" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/turf_decal/corner/opaque/yellow/full, -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/item/radio/intercom/directional/south, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"xy" = ( -/obj/structure/table, -/turf/open/floor/plasteel/sepia, -/area/outpost/hallway/central) -"xA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/machinery/light/built/directional/south, -/obj/item/wirerod, -/turf/open/floor/wood{ - icon_state = "wood-broken" - }, -/area/outpost/maintenance/aft) -"xC" = ( -/obj/structure/chair/office, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"xD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/wood{ - pixel_y = 3; - dir = 4; - pixel_x = -7 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"xE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"xF" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"xH" = ( -/obj/machinery/door/window/brigdoor/security, -/obj/structure/rack, -/obj/effect/decal/cleanable/insectguts{ - pixel_x = 13; - pixel_y = 5 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"xI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/sign/poster/retro/pdaancient{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"xK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/aft) -"xL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/railing/wood{ - dir = 8 - }, -/obj/structure/sign/poster/contraband/missing_gloves{ - pixel_y = 32 - }, -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"xM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/ammo_casing/spent{ - pixel_x = 4; - pixel_y = 2 - }, -/obj/item/ammo_casing/spent{ - pixel_x = -2; - pixel_y = -6 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"xO" = ( -/obj/structure/rack, -/obj/effect/decal/cleanable/wrapping{ - pixel_y = -2 - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"xQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"xR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"xT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"xU" = ( -/obj/structure/sign/poster/official/help_others, -/turf/closed/indestructible/reinforced, -/area/outpost/hallway/central) -"xV" = ( -/obj/machinery/light/dim/directional/south, -/obj/structure/closet/cardboard, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"xW" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 10 - }, -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/stock_parts/cell/high, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"xY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"xZ" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/item/banner, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/garden) -"yb" = ( -/obj/machinery/light/broken/directional/east, -/obj/item/light/tube/broken, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"yc" = ( -/obj/machinery/door/window/brigdoor/southright, -/obj/structure/sign/poster/contraband/starkist{ - pixel_x = -32 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/hallway/central) -"ye" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"yh" = ( -/obj/structure/rack, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"yi" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"yj" = ( -/obj/structure/barricade/wooden/snowed, -/turf/open/floor/plating/asteroid/snow/airless, -/area/outpost/external) -"yl" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"ym" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/corner, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"yn" = ( -/obj/effect/decal/cleanable/greenglow, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"yo" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"yp" = ( -/obj/item/wallframe/light_fixture{ - pixel_y = -5; - pixel_x = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"yr" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"ys" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"yy" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/effect/turf_decal/siding/wood, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/wood, -/area/outpost/operations) -"yA" = ( -/obj/structure/closet/secure_closet/ertCom, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"yB" = ( -/obj/structure/table/wood, -/obj/machinery/jukebox/boombox{ - pixel_y = 5 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/storage/fancy/cigarettes/cigpack_robustgold{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/lighter{ - pixel_x = -1 - }, -/obj/item/clothing/mask/cigarette/dromedary{ - pixel_x = -5 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/wood, -/area/outpost/crew/library) -"yD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner/north, -/obj/item/screwdriver, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"yE" = ( -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating{ - icon_state = "platingdmg1" - }, -/area/outpost/maintenance/aft) -"yF" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/overlay/holoray, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"yG" = ( -/obj/structure/table/reinforced, -/obj/item/flashlight/lamp{ - pixel_y = 10; - pixel_x = -7 - }, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = 5 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"yI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"yJ" = ( -/obj/item/kirbyplants{ - icon_state = "plant-09" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/lounge) -"yK" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/maintenance/fore) -"yL" = ( -/obj/machinery/door/airlock/grunge, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"yN" = ( -/obj/machinery/computer/cryopod/directional/north{ - pixel_y = -5 - }, -/turf/closed/wall/mineral/plastitanium/nodiagonal, -/area/outpost/crew/cryo) -"yO" = ( -/obj/structure/table, -/obj/item/circuitboard/machine/vendor{ - pixel_y = 6; - pixel_x = 2 - }, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/plasteel/sepia, -/area/outpost/hallway/central) -"yP" = ( -/obj/structure/bed{ - icon_state = "dirty_mattress" - }, -/obj/effect/decal/cleanable/oil, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/aft) -"yQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/railing/wood{ - dir = 4 - }, -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"yV" = ( -/obj/structure/table/reinforced, -/obj/item/trash/plate{ - pixel_x = 7 - }, -/obj/item/trash/plate{ - pixel_x = 7; - pixel_y = 2 - }, -/obj/item/trash/plate{ - pixel_x = 7; - pixel_y = 4 - }, -/obj/item/trash/plate{ - pixel_x = 7; - pixel_y = 6 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"yW" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/aft) -"yX" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"yZ" = ( -/obj/structure/barricade/wooden/crude{ - layer = 3.13 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/door/poddoor/shutters/indestructible{ - name = "Showcase Storage"; - dir = 4 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"za" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/railing/wood{ - dir = 4 - }, -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"zb" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"ze" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair, -/obj/structure/sign/poster/official/high_class_martini{ - pixel_x = -32 - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"zf" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"zi" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-8" - }, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"zj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"zl" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 5 - }, -/obj/structure/closet/firecloset/wall/directional/north, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"zm" = ( -/obj/machinery/computer/security, -/obj/effect/turf_decal/trimline/opaque/red/filled/line, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"zn" = ( -/obj/machinery/door/poddoor/ert{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"zo" = ( -/obj/structure/table/reinforced, -/obj/item/storage/photo_album{ - pixel_y = 10; - pixel_x = 4 - }, -/obj/machinery/recharger{ - pixel_x = -5 - }, -/obj/machinery/recharger{ - pixel_x = 6 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"zq" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"zs" = ( -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 - }, -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"zu" = ( -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"zv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"zy" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"zz" = ( -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"zB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/food/plant_smudge, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/plasteel/sepia, -/area/outpost/hallway/central) -"zD" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 9 - }, -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/item/clothing/suit/space/engineer, -/obj/item/clothing/head/helmet/space/light/engineer, -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"zF" = ( -/obj/machinery/light/broken/directional/south, -/obj/structure/table/reinforced, -/obj/item/t_scanner{ - pixel_y = -1; - pixel_x = -5 - }, -/obj/item/stack/packageWrap, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"zG" = ( -/obj/structure/chair/sofa/brown/left/directional/east, -/obj/machinery/light/directional/west, -/obj/effect/decal/cleanable/vomit/old{ - pixel_x = 7; - pixel_y = -5 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"zH" = ( -/obj/machinery/light/built/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/garbage{ - pixel_y = 10; - pixel_x = -3 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"zI" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"zK" = ( -/obj/structure/chair/comfy/orange/directional/west, -/obj/item/toy/plush/moth, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"zL" = ( -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"zM" = ( -/obj/structure/bookcase/random/fiction, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"zO" = ( -/obj/structure/flora/tree/palm{ - pixel_x = 16 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"zP" = ( -/obj/structure/closet/wall/red/directional/east{ - name = "Bartender's locker" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/carpet/blue, -/area/outpost/hallway/central) -"zQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"zR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/chair/pew/left{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"zS" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"zV" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line, -/obj/effect/turf_decal/industrial/warning, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"zY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"zZ" = ( -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/machinery/computer/bounty, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"Aa" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/computer/communications{ - dir = 8 - }, -/turf/open/floor/engine, -/area/outpost/crew/cryo) -"Ab" = ( -/obj/structure/elevator_platform, -/turf/open/floor/plasteel/elevatorshaft, -/area/outpost/cargo) -"Ac" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Ad" = ( -/turf/closed/mineral/random/snow, -/area/outpost/operations) -"Af" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Ag" = ( -/obj/machinery/door/airlock{ - req_access_txt = "109"; - explosion_block = 2; - normal_integrity = 1000 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/aft) -"Ai" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 10 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/machinery/airalarm/directional/south, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"Aj" = ( -/obj/structure/window/reinforced/spawner/east, -/obj/structure/filingcabinet/double, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"Ak" = ( -/obj/structure/flora/ausbushes/leafybush, -/obj/structure/railing/wood{ - layer = 3.1 - }, -/turf/open/floor/grass, -/area/outpost/hallway/central) -"Al" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ - pixel_x = 10; - pixel_y = 13 - }, -/obj/effect/decal/cleanable/vomit/old{ - pixel_y = 8 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"Am" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"Ao" = ( -/obj/structure/rack, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/item/crowbar/power{ - pixel_y = 5 - }, -/obj/item/crowbar/power, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"Ap" = ( -/obj/structure/chair/plastic{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"As" = ( -/obj/machinery/computer/med_data, -/obj/effect/turf_decal/trimline/opaque/green/filled/line, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"At" = ( -/obj/structure/fluff/hedge{ - icon_state = "hedge-4" - }, -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"Au" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"Ax" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/structure/railing/corner/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"Ay" = ( -/obj/machinery/door/airlock/maintenance_hatch, -/obj/effect/mapping_helpers/airlock/abandoned, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Az" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"AA" = ( -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"AB" = ( -/turf/open/floor/plating/asteroid/snow/airless, -/area/outpost/external) -"AC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"AD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"AE" = ( -/turf/open/floor/plasteel/elevatorshaft, -/area/outpost/hallway/fore) -"AF" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/turf_decal/box/corners{ - icon_state = "box_corners"; - dir = 8 - }, -/obj/effect/spawner/random/maintenance/two, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"AK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"AL" = ( -/obj/effect/landmark/outpost/elevator{ - shaft = "2" - }, -/turf/open/floor/plasteel/elevatorshaft, -/area/outpost/hallway/fore) -"AM" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi' - }, -/area/outpost/hallway/fore) -"AN" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 6 - }, -/obj/structure/flora/ausbushes/sparsegrass{ - pixel_y = 9; - pixel_x = -9 - }, -/turf/open/floor/grass, -/area/outpost/hallway/central) -"AR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"AS" = ( -/obj/machinery/door/airlock/grunge{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"AT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"AV" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/fence/door, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"AW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning, -/obj/structure/sign/poster/official/random{ - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Bb" = ( -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"Bc" = ( -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/newscaster/directional/north{ - pixel_y = 33 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Bf" = ( -/obj/effect/spawner/structure/window/reinforced/indestructable, -/turf/open/floor/plating, -/area/outpost/external) -"Bg" = ( -/obj/effect/turf_decal/corner/opaque/blue{ - dir = 5 - }, -/obj/machinery/smartfridge/bloodbank/preloaded, -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north{ - pixel_x = -3 - }, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"Bi" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/carpet/nanoweave, -/area/outpost/vacant_rooms) -"Bj" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/beer{ - pixel_x = -11; - pixel_y = 12 - }, -/obj/item/reagent_containers/food/drinks/beer{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/item/toy/cards/deck{ - pixel_y = 2; - pixel_x = -5 - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"Bm" = ( -/obj/structure/table/wood/reinforced, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/paper{ - pixel_x = 3; - pixel_y = 7 - }, -/obj/item/pen/charcoal{ - pixel_y = 8 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/vacant_rooms) -"Br" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light/small/directional/north, -/obj/effect/decal/cleanable/food/flour, -/obj/structure/chair/sofa/brown/right/directional/south, -/obj/item/toy/figure/botanist{ - pixel_x = 2 - }, -/obj/item/toy/figure/clown{ - pixel_x = 10 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Bs" = ( -/obj/structure/closet/crate/bin, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/generic, -/obj/item/toy/foamblade, -/obj/item/trash/can, -/obj/item/trash/pistachios{ - pixel_x = -3 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Bu" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 8 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"Bw" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/robot_debris, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/wood/walnut, -/area/outpost/crew/bar) -"Bx" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"By" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plating/asteroid/icerock/cracked, -/area/outpost/maintenance/fore) -"Bz" = ( -/obj/machinery/recharger, -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/airalarm/directional/north, -/obj/structure/table/wood/reinforced, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"BA" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"BB" = ( -/obj/effect/decal/cleanable/plasma, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel, -/area/outpost/maintenance/fore) -"BC" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/freezer{ - dir = 4; - req_access_txt = "109" - }, -/turf/open/floor/plasteel/kitchen_coldroom/freezerfloor, -/area/outpost/crew/canteen) -"BD" = ( -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/machinery/light/directional/west, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"BE" = ( -/obj/machinery/light/directional/west, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"BF" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sink/kitchen{ - dir = 4; - pixel_x = -12 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/wrapping, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/library) -"BG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"BH" = ( -/obj/effect/turf_decal/atmos/nitrous_oxide, -/turf/open/floor/engine/n2o, -/area/outpost/engineering/atmospherics) -"BI" = ( -/obj/machinery/door/window/brigdoor/southright, -/obj/structure/rack, -/obj/effect/spawner/random/decoration/glowstick, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"BJ" = ( -/obj/structure/noticeboard{ - pixel_y = 31 - }, -/obj/item/storage/box/matches, -/obj/item/grown/log{ - pixel_x = 7; - pixel_y = 14 - }, -/obj/item/grown/log{ - pixel_x = 7; - pixel_y = 14 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/vacant_rooms/office) -"BL" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"BN" = ( -/obj/structure/girder/reinforced, -/obj/effect/decal/cleanable/molten_object/large{ - pixel_x = -13; - pixel_y = -3 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"BQ" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/overlay/holoray, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"BR" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"BS" = ( -/obj/structure/urinal{ - pixel_y = 33 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/chem_pile, -/obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/plating/foam, -/area/outpost/maintenance/aft) -"BT" = ( -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"BV" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"BX" = ( -/obj/machinery/light/small/broken/directional/west, -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/sign/poster/official/random{ - pixel_x = -32 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"BY" = ( -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"Ca" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 4 - }, -/obj/structure/flora/ausbushes/fullgrass, -/obj/structure/flora/ausbushes/fernybush, -/turf/open/floor/grass, -/area/outpost/hallway/aft) -"Cc" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/firealarm/directional/east, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"Cd" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"Ce" = ( -/obj/machinery/light/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"Ci" = ( -/obj/structure/showcase/perfect_employee, -/obj/effect/turf_decal/box/corners{ - dir = 8 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Cj" = ( -/obj/structure/girder, -/obj/structure/grille/broken, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"Ck" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plating, -/area/outpost/engineering/atmospherics) -"Cl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/aft) -"Cn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/trash/pistachios, -/turf/open/floor/engine, -/area/outpost/maintenance/fore) -"Co" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Cp" = ( -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/machinery/power/terminal{ - dir = 8 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"Cs" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 9 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"Cv" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/machinery/airalarm/directional/west, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/outpost/operations) -"Cw" = ( -/obj/structure/chair/sofa/brown/left/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/wood, -/area/outpost/crew/library) -"Cy" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"CA" = ( -/obj/structure/table/wood, -/obj/machinery/computer/med_data/laptop{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"CC" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"CD" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"CE" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"CF" = ( -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/library) -"CG" = ( -/obj/effect/landmark/outpost/elevator{ - shaft = "1" - }, -/turf/open/floor/plasteel/elevatorshaft, -/area/outpost/hallway/fore) -"CH" = ( -/obj/structure/barricade/wooden, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"CJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/girder/displaced, -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"CK" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/computer/crew, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"CL" = ( -/obj/structure/railing, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/structure/table, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"CN" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/aft) -"CQ" = ( -/obj/structure/flora/grass/both, -/turf/open/floor/grass/snow/safe, -/area/outpost/hallway/starboard) -"CU" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/loading{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"CV" = ( -/obj/structure/grille, -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"CW" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"CZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil{ - icon_state = "streak5" - }, -/obj/effect/decal/cleanable/robot_debris{ - pixel_y = 1 - }, -/obj/effect/decal/cleanable/robot_debris/limb{ - pixel_y = 4; - pixel_x = -4 - }, -/obj/effect/decal/cleanable/robot_debris/gib{ - icon_state = "peaceborg-noir" - }, -/obj/effect/decal/cleanable/oil{ - icon_state = "floor6"; - pixel_y = 14; - pixel_x = -16 - }, -/obj/effect/decal/cleanable/oil{ - icon_state = "streak4"; - pixel_x = -13; - pixel_y = -11 - }, -/obj/effect/decal/cleanable/ash/large{ - pixel_x = 5; - pixel_y = -1 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Db" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"Df" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Dg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/aft) -"Dh" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"Di" = ( -/turf/open/floor/engine/n2o, -/area/outpost/engineering/atmospherics) -"Dk" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 8 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Dl" = ( -/obj/machinery/computer/card, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Dm" = ( -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/reagent_dispensers, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"Dp" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Ds" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners{ - icon_state = "box_corners"; - dir = 8 - }, -/obj/effect/turf_decal/box/corners, -/obj/item/storage/pill_bottle/floorpill/full{ - pixel_x = -8 - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"Dt" = ( -/obj/machinery/power/floodlight, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Du" = ( -/obj/machinery/computer/secure_data{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"Dw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/borderfloor, -/obj/structure/window/reinforced/spawner, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Dy" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair{ - dir = 4; - pixel_x = -8 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"DD" = ( -/obj/effect/decal/cleanable/glass{ - pixel_y = -10 - }, -/turf/open/floor/plating/airless, -/area/outpost/maintenance/fore) -"DE" = ( -/obj/structure/flora/rock/icy, -/turf/open/floor/plating/ice/smooth, -/area/outpost/hallway/starboard) -"DF" = ( -/obj/item/kirbyplants/random, -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"DH" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/table_frame/wood, -/obj/structure/fluff/paper/stack, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/maintenance/aft) -"DJ" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners{ - icon_state = "box_corners"; - dir = 8 - }, -/obj/effect/turf_decal/box/corners, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"DL" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/sign/poster/contraband/ambrosia_vulgaris{ - pixel_x = -32 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"DM" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"DO" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/library) -"DP" = ( -/obj/machinery/computer/crew, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"DR" = ( -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"DS" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/bar) -"DU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/carpet/blue, -/area/outpost/hallway/central) -"DV" = ( -/obj/structure/table/wood, -/obj/machinery/computer/med_data/laptop{ - dir = 4; - pixel_x = -1; - pixel_y = 3 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"DY" = ( -/obj/structure/railing, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"DZ" = ( -/obj/machinery/vending/snack, -/turf/open/floor/plasteel, -/area/outpost/hallway/fore) -"Eb" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"Ec" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"Ed" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"Ee" = ( -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Ef" = ( -/obj/structure/table/reinforced, -/obj/item/flashlight/lamp{ - pixel_x = -2; - pixel_y = 12 - }, -/obj/item/export_scanner{ - pixel_x = -3; - pixel_y = -10 - }, -/obj/item/toy/figure/qm{ - pixel_x = -9; - pixel_y = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo/office) -"Eg" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/plasma, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"Eh" = ( -/obj/effect/turf_decal/siding/wood, -/obj/item/kirbyplants{ - icon_state = "plant-03" - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"Ei" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/maintenance_hatch{ - req_access_txt = "109" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/maintenance/fore) -"El" = ( -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/hallway/central) -"Em" = ( -/obj/machinery/door/airlock{ - req_access_txt = "109"; - explosion_block = 2; - normal_integrity = 1000 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/crew/library) -"En" = ( -/obj/structure/chair/comfy/grey/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"Ep" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"Eq" = ( -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/engine, -/area/outpost/crew/cryo) -"Es" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"Et" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"Ev" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Ew" = ( -/obj/structure/flora/grass/jungle, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"Ex" = ( -/turf/open/floor/plating/ice/smooth, -/area/outpost/hallway/fore) -"Ey" = ( -/obj/structure/bookcase/random/fiction, -/obj/item/radio/intercom/directional/west, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"Ez" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/bottle/tomatojuice{ - pixel_y = 2 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ - pixel_x = 10; - pixel_y = 6 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass{ - pixel_x = -8; - pixel_y = 3 - }, -/obj/effect/decal/cleanable/food/tomato_smudge{ - pixel_y = -6 - }, -/obj/structure/sign/painting/library{ - pixel_y = 32 - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"EA" = ( -/obj/machinery/cryopod{ - dir = 4 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"EB" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/fluff/divine/nexus, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/lounge) -"EC" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"EE" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 6 - }, -/obj/machinery/recharger{ - pixel_x = -5 - }, -/obj/machinery/recharger{ - pixel_x = 6 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"EF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"EH" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"EJ" = ( -/obj/structure/chair/pew/left{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"EM" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/structure/railing/corner/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"EN" = ( -/obj/structure/lattice, -/turf/open/space/basic, -/area/outpost/external) -"EO" = ( -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/machinery/power/terminal{ - dir = 4 - }, -/obj/structure/cable/yellow{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"EP" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/sepia, -/area/outpost/hallway/central) -"EU" = ( -/obj/structure/filingcabinet, -/obj/structure/filingcabinet{ - pixel_x = 11 - }, -/obj/structure/filingcabinet{ - pixel_x = -11 - }, -/obj/structure/noticeboard{ - pixel_y = 31 - }, -/obj/effect/turf_decal/siding/wood/end{ - dir = 1 - }, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms) -"EV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/fore) -"EW" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/trimline/opaque/red/line, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"EY" = ( -/obj/effect/turf_decal/box/corners, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, -/area/outpost/maintenance/fore) -"EZ" = ( -/obj/structure/closet/crate/solarpanel_small, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Fd" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/fluff/hedge, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Fe" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/closed/indestructible/reinforced, -/area/outpost/maintenance/aft) -"Ff" = ( -/obj/structure/rack, -/obj/machinery/light/directional/east, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"Fh" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/stairs{ - barefootstep = "woodbarefoot"; - color = "#A47449"; - footstep = "wood" - }, -/area/outpost/hallway/fore) -"Fi" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"Fm" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"Fn" = ( -/obj/item/stack/sheet/mineral/wood{ - pixel_x = 9; - pixel_y = 6 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"Fo" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/radio/intercom/directional/north, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"Fp" = ( -/obj/effect/turf_decal/techfloor/orange, -/obj/structure/railing{ - dir = 2; - layer = 4.1 - }, -/obj/machinery/portable_atmospherics/canister/nitrous_oxide, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering/atmospherics) -"Fq" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/stairs{ - barefootstep = "woodbarefoot"; - color = "#A47449"; - footstep = "wood"; - dir = 4 - }, -/area/outpost/hallway/central) -"Fs" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/bag/tray/cafeteria{ - pixel_x = 5; - pixel_y = -4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Ft" = ( -/turf/open/floor/plating/asteroid/icerock, -/area/outpost/external) -"Fu" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"Fw" = ( -/obj/effect/turf_decal/siding/wood, -/obj/item/kirbyplants{ - icon_state = "plant-10" - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"Fx" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Fy" = ( -/obj/effect/turf_decal/techfloor/orange, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"Fz" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"FA" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/aft) -"FC" = ( -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"FD" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/obj/structure/chair, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"FG" = ( -/obj/machinery/telecomms/allinone{ - intercept = 1 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/engine, -/area/outpost/crew/cryo) -"FL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/caution{ - pixel_y = 6 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"FM" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"FN" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/garden) -"FQ" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/aft) -"FR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/plasma, -/obj/item/banner/command/mundane, -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"FT" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"FU" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/security/armory) -"FV" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"Gc" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Gd" = ( -/obj/structure/bookcase/random/fiction, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"Ge" = ( -/obj/structure/window/reinforced/spawner, -/obj/effect/turf_decal/industrial/warning{ - dir = 1; - color = "#808080" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"Gh" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - req_access_txt = "109" - }, -/turf/open/floor/plating, -/area/outpost/crew/lounge) -"Gi" = ( -/obj/structure/closet/wall/directional/south{ - name = "Storage Locker" - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/central) -"Gj" = ( -/obj/structure/table/optable, -/obj/machinery/defibrillator_mount/loaded{ - pixel_y = 24 - }, -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"Gk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"Gm" = ( -/obj/machinery/computer/monitor{ - dir = 1 - }, -/obj/structure/railing, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Gn" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/machinery/door/poddoor/shutters/indestructible{ - name = "Showcase Storage"; - dir = 4 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Gq" = ( -/obj/machinery/door/poddoor/multi_tile/three_tile_hor, -/turf/closed/indestructible/reinforced, -/area/outpost/maintenance/fore) -"Gr" = ( -/obj/structure/sign/warning/electricshock{ - pixel_y = 32 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/smes/magical{ - output_level = 200000 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/engineering) -"Gs" = ( -/obj/machinery/door/window/brigdoor/westright, -/obj/machinery/door/window/brigdoor/westright{ - dir = 4 - }, -/obj/structure/fans/tiny, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/operations) -"Gt" = ( -/obj/structure/railing/corner/wood, -/obj/structure/railing/corner/wood{ - pixel_y = 26 - }, -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"Gu" = ( -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 8 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"Gv" = ( -/obj/item/toy/snowball{ - pixel_x = -7; - pixel_y = -10 - }, -/obj/item/toy/snowball{ - pixel_x = 1; - pixel_y = -10 - }, -/obj/item/toy/snowball{ - pixel_x = 9; - pixel_y = -10 - }, -/obj/item/toy/snowball{ - pixel_x = 4; - pixel_y = -2 - }, -/obj/item/toy/snowball{ - pixel_x = -3; - pixel_y = -2 - }, -/obj/item/toy/snowball{ - pixel_y = 5; - pixel_x = 1 - }, -/obj/effect/turf_decal/weather/snow{ - dir = 10 - }, -/turf/open/floor/plating/asteroid/snow/under/lit, -/area/outpost/external) -"Gw" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/line, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/outpost{ - dir = 4; - name = "Briefing Room" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security/armory) -"Gx" = ( -/turf/open/floor/plating, -/area/outpost/hallway/fore) -"Gy" = ( -/obj/structure/railing/wood{ - layer = 3.1 - }, -/obj/structure/flora/ausbushes/sparsegrass, -/turf/open/floor/grass, -/area/outpost/hallway/central) -"Gz" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/broken/directional/north, -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"GA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/machinery/vending/clothing, -/obj/machinery/newscaster/directional/north{ - pixel_y = 33 - }, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"GB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"GC" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"GD" = ( -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/ridged, -/area/outpost/crew/library) -"GE" = ( -/obj/structure/window/reinforced/spawner/east, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"GG" = ( -/obj/structure/chair/sofa/brown/directional/north, -/obj/effect/decal/cleanable/vomit/old{ - pixel_y = 7 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"GH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/showcase/mecha/marauder, -/obj/effect/turf_decal/box/corners{ - dir = 4; - icon_state = "box_corners" - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"GI" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/trimline/opaque/red/line, -/obj/machinery/airalarm/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"GJ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"GK" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"GL" = ( -/obj/machinery/door/airlock/maintenance_hatch, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/starboard) -"GN" = ( -/obj/effect/turf_decal/trimline/opaque/purple/filled/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"GO" = ( -/obj/structure/showcase/cyborg/old, -/obj/effect/turf_decal/box/corners, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"GQ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 1 - }, -/area/outpost/engineering) -"GR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"GS" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/outpost/crew/bar) -"GT" = ( -/obj/effect/turf_decal/siding/wood, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"GU" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/aft) -"GW" = ( -/obj/structure/toilet{ - dir = 4; - pixel_x = -1; - pixel_y = 5 - }, -/obj/structure/curtain/bounty, -/turf/open/floor/plating/catwalk_floor, -/area/outpost/security) -"GY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/broken/directional/south, -/obj/structure/bed{ - icon_state = "dirty_mattress" - }, -/obj/item/storage/pill_bottle/happy{ - pixel_y = -11; - pixel_x = -13 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"Hb" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/outpost/cargo) -"Hh" = ( -/obj/machinery/chem_master/condimaster, -/obj/effect/turf_decal/industrial/warning{ - dir = 2; - color = "#808080" - }, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"Hi" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/east, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Hj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/fore) -"Hk" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/window/reinforced/spawner, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Ho" = ( -/obj/structure/table/wood/reinforced, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/storage/fancy/donut_box{ - pixel_y = 6 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/vacant_rooms) -"Hp" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/decal/cleanable/robot_debris, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/wood, -/area/outpost/crew/library) -"Hq" = ( -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"Hs" = ( -/obj/machinery/vending/cart{ - req_access_txt = "57" - }, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Hu" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/decal/cleanable/wrapping, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"Hv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"Hx" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/railing/wood, -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"Hy" = ( -/obj/machinery/portable_atmospherics/scrubber, -/obj/effect/decal/cleanable/glass, -/obj/effect/turf_decal/box, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"HA" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/south, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"HC" = ( -/obj/machinery/light/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"HD" = ( -/obj/machinery/door/airlock, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"HE" = ( -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 8 - }, -/area/outpost/engineering/atmospherics) -"HF" = ( -/obj/machinery/computer/card, -/obj/effect/turf_decal/trimline/opaque/green/filled/line, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"HG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"HH" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/number/three, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"HI" = ( -/obj/effect/turf_decal/techfloor{ - dir = 5 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"HJ" = ( -/obj/item/radio/intercom/directional/east, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"HL" = ( -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"HM" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"HO" = ( -/obj/machinery/door/window/brigdoor/eastleft{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"HS" = ( -/obj/structure/chair/comfy/orange/directional/west, -/obj/item/toy/plush/beeplushie, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"HT" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"HW" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 4 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"HY" = ( -/turf/open/floor/plating/asteroid/icerock/cracked, -/area/outpost/external) -"HZ" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 6 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"Ia" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"Ib" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/carpet/nanoweave, -/area/outpost/hallway/central) -"Ie" = ( -/obj/structure/railing, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"If" = ( -/obj/structure/rack, -/obj/structure/window/reinforced{ - dir = 1 - }, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"Ig" = ( -/obj/machinery/door/airlock/outpost{ - dir = 4; - icon = 'icons/obj/doors/airlocks/external/external.dmi'; - overlays_file = 'icons/obj/doors/airlocks/external/overlays.dmi'; - assemblytype = /obj/structure/door_assembly/door_assembly_ext; - doorClose = 'sound/machines/airlocks/external/airlock_ext_close.ogg'; - doorOpen = 'sound/machines/airlocks/external/airlock_ext_open.ogg' - }, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Ih" = ( -/obj/machinery/chem_master/condimaster, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/greenglow, -/obj/structure/sign/poster/retro/smile{ - pixel_y = -32 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/library) -"Ij" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Ik" = ( -/obj/structure/railing, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 10 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"Il" = ( -/obj/structure/alien/weeds, -/obj/structure/alien/resin/wall, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"In" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/curtain{ - color = "#363636" - }, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"Io" = ( -/obj/machinery/door/airlock/public/glass, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/fore) -"Iq" = ( -/obj/structure/table/wood, -/obj/item/trash/plate{ - pixel_x = 1; - pixel_y = -3 - }, -/obj/item/reagent_containers/food/snacks/meatbun, -/obj/item/reagent_containers/food/drinks/soda_cans/orange_soda{ - pixel_y = 12; - pixel_x = -8 - }, -/obj/structure/sign/poster/contraband/eat{ - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"It" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/vacant_rooms/office) -"Iu" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"Iv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/hallway/central) -"Iy" = ( -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/computer/med_data, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"Iz" = ( -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"IB" = ( -/obj/machinery/space_heater, -/obj/structure/railing{ - layer = 3.1 - }, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/turf_decal/box, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"IC" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/engine, -/area/outpost/crew/cryo) -"IE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/taperecorder{ - pixel_y = -5; - pixel_x = 10 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"IF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"IH" = ( -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"II" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/library) -"IJ" = ( -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"IL" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/item/bedsheet/brown, -/turf/open/floor/carpet, -/area/outpost/crew/dorm) -"IM" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"IN" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/plasteel, -/area/outpost/operations) -"IP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"IR" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"IS" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"IW" = ( -/turf/open/floor/plasteel/stairs{ - barefootstep = "woodbarefoot"; - color = "#A47449"; - footstep = "wood"; - dir = 4 - }, -/area/outpost/hallway/central) -"IY" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"IZ" = ( -/obj/machinery/computer/crew, -/obj/effect/turf_decal/trimline/opaque/green/filled/line, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Ja" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"Jb" = ( -/obj/effect/landmark/outpost/elevator{ - shaft = "4" - }, -/turf/open/floor/plasteel/elevatorshaft, -/area/outpost/hallway/fore) -"Jc" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"Jf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/fore) -"Jh" = ( -/obj/structure/table/wood, -/obj/item/storage/photo_album{ - pixel_y = 2; - pixel_x = 2 - }, -/obj/item/toy/figure/ian{ - pixel_x = -3 - }, -/obj/item/storage/pill_bottle/happy{ - pixel_y = -1; - pixel_x = 5 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/carpet/royalblue, -/area/outpost/operations) -"Ji" = ( -/obj/effect/turf_decal/box/corners, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/ridged, -/area/outpost/crew/canteen) -"Jj" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/decal/cleanable/generic, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/item/radio/intercom/directional/north{ - icon_state = "clip_headset" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo/office) -"Jm" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Jp" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"Jq" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/flashlight/lamp/green{ - pixel_x = 7; - pixel_y = 14; - layer = 3.1 - }, -/obj/item/toy/cards/deck{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/toy/cards/deck/kotahi{ - pixel_x = 5; - pixel_y = 2 - }, -/obj/item/storage/pill_bottle/dice{ - pixel_x = -11 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"Js" = ( -/obj/structure/table, -/obj/item/table_bell{ - pixel_x = -7 - }, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/item/pen{ - pixel_x = 4; - pixel_y = 4 - }, -/turf/open/floor/carpet/blue, -/area/outpost/hallway/central) -"Jt" = ( -/obj/machinery/modular_computer/console/preset/command{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Ju" = ( -/obj/structure/table, -/obj/item/reagent_containers/condiment/peppermill{ - desc = "Often used to flavor food or make people sneeze. Fashionably moved to the left side of the table."; - pixel_x = 9; - pixel_y = 2 - }, -/obj/item/reagent_containers/condiment/saltshaker{ - desc = "Salt. From space oceans, presumably. A staple of modern medicine."; - pixel_x = 9; - pixel_y = 12 - }, -/obj/item/trash/plate{ - pixel_x = -6 - }, -/obj/item/trash/plate{ - pixel_x = -6; - pixel_y = 2 - }, -/obj/item/trash/plate{ - pixel_x = -6; - pixel_y = 4 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/hallway/central) -"Jv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/plasma, -/obj/machinery/light/small/directional/east, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/fore) -"Jw" = ( -/obj/machinery/door/airlock/maintenance_hatch, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"JB" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"JC" = ( -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/fore) -"JE" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/sign/poster/contraband/xenofauna_parasite{ - pixel_y = -32 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"JH" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/trimline/opaque/red/line, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"JJ" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/airalarm/directional/east, -/obj/effect/landmark/ert_outpost_spawn, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"JK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"JM" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"JO" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/outpost/operations) -"JP" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/vacant_rooms) -"JR" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"JS" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"JX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/railing/corner/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"JY" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/alien/weeds/node, -/obj/effect/decal/cleanable/xenoblood/xtracks, -/obj/effect/decal/cleanable/xenoblood/xtracks{ - pixel_y = 21 - }, -/obj/effect/decal/cleanable/xenoblood/xtracks{ - pixel_y = -19 - }, -/obj/effect/decal/cleanable/xenoblood, -/obj/effect/decal/cleanable/xenoblood/xgibs/torso, -/obj/effect/decal/cleanable/xenoblood/xgibs/core{ - pixel_x = -4; - pixel_y = -6 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"JZ" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/vacant_rooms) -"Kb" = ( -/obj/structure/table, -/obj/item/circuitboard/machine/vendor, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/carpet/green, -/area/outpost/hallway/central) -"Kd" = ( -/obj/machinery/computer/operating, -/obj/effect/turf_decal/corner/opaque/blue/full, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/sign/poster/official/cleanliness{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"Ke" = ( -/obj/machinery/computer/aifixer{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/opaque/purple/filled/line, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Kf" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/effect/turf_decal/industrial/warning/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Kg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"Kh" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"Kj" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"Kk" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/railing/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/emcloset/wall/directional/east, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"Kn" = ( -/obj/machinery/telecomms/allinone/indestructable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/operations) -"Ko" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"Kp" = ( -/obj/machinery/door/airlock{ - name = "WC"; - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/ridged{ - color = "#4c535b" - }, -/area/outpost/crew/library) -"Kt" = ( -/obj/structure/bed{ - pixel_x = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/bedsheet/head_of_personnel, -/turf/open/floor/carpet/royalblue, -/area/outpost/operations) -"Kv" = ( -/obj/structure/table/wood/reinforced, -/obj/item/table_bell/brass{ - pixel_y = -9; - pixel_x = 7 - }, -/obj/item/candle/infinite{ - pixel_x = 11; - pixel_y = 10 - }, -/turf/open/floor/wood/ebony, -/area/outpost/crew/lounge) -"Kw" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"Kx" = ( -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/vehicle/ridden/atv{ - dir = 1 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"Kz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"KA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/closet/crate/bin, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"KC" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"KD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/wirecutters{ - pixel_x = 11; - pixel_y = -8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"KF" = ( -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/machinery/light/directional/north, -/obj/machinery/button/door{ - id = "outpost_bridge_lockdown"; - req_access_txt = "101"; - pixel_x = -8; - pixel_y = 8; - name = "Bridge Lockdown" - }, -/obj/structure/table/wood/reinforced, -/obj/machinery/button/door{ - id = "outpost_office_lockdown"; - req_access_txt = "101"; - pixel_x = -8; - name = "Office Lockdown" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"KG" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/overlay/holoray{ - pixel_y = -47 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"KL" = ( -/obj/structure/flora/junglebush, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"KM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"KP" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"KQ" = ( -/obj/structure/barricade/security, -/obj/structure/curtain/cloth/grey, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"KT" = ( -/obj/machinery/door/window/brigdoor/southright{ - req_access_txt = "1" - }, -/obj/effect/turf_decal/industrial/warning/corner{ - color = "#808080"; - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"KU" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/outpost/hallway/fore) -"KV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"KW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/grille_or_waste, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"KX" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"KY" = ( -/obj/structure/flora/grass/both, -/turf/open/floor/plating/asteroid/snow/airless, -/area/outpost/external) -"Lf" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Lg" = ( -/obj/machinery/deepfryer, -/obj/effect/turf_decal/industrial/warning{ - dir = 2; - color = "#808080" - }, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"Lh" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/logo{ - icon_state = "nanotrasen_sign2"; - pixel_y = 32 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 4 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Lj" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/stool/bar, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"Ll" = ( -/obj/structure/girder/reinforced, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Ln" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/cargo) -"Lo" = ( -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"Lp" = ( -/obj/machinery/pipedispenser, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"Lr" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 5 - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"Ls" = ( -/obj/machinery/pdapainter{ - pixel_y = 2 - }, -/obj/structure/railing{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Lu" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/effect/landmark/ert_outpost_spawn, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"Lv" = ( -/obj/structure/flora/tree/pine, -/obj/structure/flora/grass/both, -/turf/open/floor/grass/snow/safe, -/area/outpost/hallway/fore) -"Lw" = ( -/obj/effect/decal/fakelattice{ - icon_state = "lattice-11" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Lx" = ( -/obj/effect/turf_decal/borderfloorwhite{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/white, -/area/outpost/crew/library) -"Lz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/door/airlock/outpost{ - assemblytype = /obj/structure/door_assembly/door_assembly_mhatch; - icon = 'icons/obj/doors/airlocks/hatch/maintenance.dmi'; - overlays_file = 'icons/obj/doors/airlocks/hatch/overlays.dmi'; - req_access_txt = "101" - }, -/turf/open/floor/plating, -/area/outpost/engineering/atmospherics) -"LC" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/machinery/light/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/item/bedsheet/brown, -/turf/open/floor/carpet, -/area/outpost/crew/dorm) -"LD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"LE" = ( -/obj/machinery/computer/bounty{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"LF" = ( -/obj/effect/turf_decal/techfloor/corner, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 9 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 10 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"LG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"LI" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"LJ" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 4; - layer = 2.37 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-9" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"LK" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"LM" = ( -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/hallway/central) -"LN" = ( -/obj/machinery/light/small/broken/directional/north, -/obj/structure/reagent_dispensers/beerkeg{ - pixel_y = 3; - pixel_x = 4 - }, -/obj/structure/reagent_dispensers/beerkeg{ - pixel_y = -3; - pixel_x = -9 - }, -/obj/item/reagent_containers/food/drinks/bottle/cognac{ - pixel_x = 5; - pixel_y = -5 - }, -/obj/item/toy/plush/goatplushie{ - pixel_y = 12; - pixel_x = -9 - }, -/obj/effect/decal/cleanable/greenglow{ - pixel_y = -6 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"LO" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plating, -/area/outpost/engineering/atmospherics) -"LP" = ( -/obj/structure/girder/displaced, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/arrows{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"LQ" = ( -/obj/structure/flora/rock/icy, -/turf/open/floor/grass/snow/safe, -/area/outpost/hallway/fore) -"LS" = ( -/obj/structure/frame/machine, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"LV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/pew/right{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"LW" = ( -/obj/machinery/door/airlock/command{ - name = "Council Chamber"; - req_access_txt = "19"; - security_level = 6; - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"LX" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 - }, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"LZ" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"Mb" = ( -/obj/structure/showcase/perfect_employee, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Mc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/railing/wood{ - dir = 5 - }, -/obj/structure/chair, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"Md" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/pill_bottle/dice{ - pixel_x = -8; - pixel_y = 6 - }, -/obj/item/toy/cards/deck{ - pixel_x = 3; - pixel_y = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"Me" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/vending/cigarette, -/obj/machinery/newscaster/directional/west, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"Mf" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"Mi" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Mk" = ( -/obj/structure/flora/stump, -/turf/open/floor/grass/snow/safe, -/area/outpost/hallway/starboard) -"Mn" = ( -/obj/machinery/photocopier{ - pixel_y = 3 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"Mo" = ( -/obj/structure/bed, -/obj/structure/curtain/cloth/grey, -/obj/effect/decal/cleanable/cobweb, -/obj/item/bedsheet/nanotrasen, -/turf/open/floor/carpet, -/area/outpost/crew/dorm) -"Mp" = ( -/obj/structure/chair/comfy/grey/directional/south, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Mq" = ( -/turf/open/floor/concrete/reinforced, -/area/outpost/crew/garden) -"Mt" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/security) -"Mv" = ( -/obj/machinery/suit_storage_unit/captain, -/obj/machinery/light/directional/east, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/operations) -"Mw" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"Mx" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/crew/lounge) -"MA" = ( -/obj/effect/turf_decal/siding/white, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"MC" = ( -/obj/structure/filingcabinet/employment{ - pixel_x = -11 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"MD" = ( -/obj/machinery/door/airlock/maintenance_hatch, -/turf/open/floor/plating, -/area/outpost/hallway/fore) -"MF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/grunge, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/crew/cryo) -"MK" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"MM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"MO" = ( -/obj/structure/chair/sofa/brown/directional/north, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"MP" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"MQ" = ( -/obj/structure/table, -/obj/structure/window/reinforced/spawner/west, -/turf/open/floor/plasteel/sepia, -/area/outpost/hallway/central) -"MR" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"MU" = ( -/obj/effect/turf_decal/plaque, -/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"MX" = ( -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"MZ" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"Na" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"Nb" = ( -/obj/effect/turf_decal/techfloor/corner, -/obj/structure/sign/warning/coldtemp{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"Nc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"Nd" = ( -/obj/structure/frame/machine, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"Nf" = ( -/obj/machinery/modular_computer/console/preset/engineering{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Ng" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/aft) -"Nh" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner/east, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"Ni" = ( -/obj/structure/chair, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"Nj" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"Nm" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"Nn" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/cargo) -"Nq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/alien/weeds, -/obj/structure/alien/resin/wall, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"Nr" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/crew/library) -"Ns" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 10 - }, -/obj/item/kirbyplants{ - icon_state = "plant-10" - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Nu" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"Nw" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"Ny" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"Nz" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/fancy/cigarettes/cigpack_uplift{ - pixel_x = 6; - pixel_y = 7 - }, -/obj/item/lighter/greyscale{ - pixel_x = 8; - pixel_y = 1 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"NA" = ( -/obj/structure/table, -/obj/item/reagent_containers/condiment/enzyme{ - pixel_x = -2; - pixel_y = 6 - }, -/obj/item/reagent_containers/glass/beaker, -/obj/effect/turf_decal/industrial/warning{ - dir = 2; - color = "#808080" - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"NC" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"NF" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/effect/turf_decal/number/four, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"NG" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/stairs{ - barefootstep = "woodbarefoot"; - color = "#A47449"; - footstep = "wood" - }, -/area/outpost/hallway/fore) -"NH" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/stairs{ - barefootstep = "woodbarefoot"; - color = "#A47449"; - footstep = "wood"; - dir = 8 - }, -/area/outpost/hallway/central) -"NI" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/curtain/cloth/grey, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"NJ" = ( -/obj/structure/window/reinforced/spawner/west, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"NK" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"NL" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"NM" = ( -/obj/machinery/light/broken/directional/south, -/obj/item/trash/waffles{ - pixel_y = -3 - }, -/obj/item/trash/sosjerky{ - pixel_x = -4 - }, -/obj/item/trash/raisins, -/obj/item/trash/pistachios{ - pixel_x = 6 - }, -/obj/structure/closet/crate/trashcart, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"NO" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 4; - layer = 2.37 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/machinery/power/port_gen/pacman, -/obj/structure/cable/yellow{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"NP" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/table/reinforced, -/obj/item/melee/knife/kitchen{ - pixel_x = -6; - pixel_y = 2 - }, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"NQ" = ( -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"NR" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"NT" = ( -/obj/structure/bed, -/obj/item/bedsheet/captain, -/turf/open/floor/carpet/blue, -/area/outpost/operations) -"NV" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/item/kirbyplants{ - icon_state = "plant-21"; - pixel_x = -6; - pixel_y = 17 - }, -/obj/machinery/light/directional/west, -/turf/open/floor/carpet/nanoweave, -/area/outpost/vacant_rooms) -"NW" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"NX" = ( -/obj/structure/flora/tree/palm{ - icon_state = "palm2" - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"NY" = ( -/obj/structure/rack{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/engine, -/area/outpost/crew/cryo) -"NZ" = ( -/obj/effect/turf_decal/atmos/air{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/engine/air, -/area/outpost/engineering/atmospherics) -"Oa" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"Ob" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/fore) -"Oc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"Od" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/mono/dark, -/area/outpost/cargo) -"Oe" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 9 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 10 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"Of" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/structure/sign/poster/retro/radio{ - pixel_x = 32 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/wood, -/area/outpost/crew/library) -"Og" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/hallway/central) -"Oh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/structure/closet/body_bag, -/obj/effect/mob_spawn/human/corpse/damaged, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Oi" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/mob/living/simple_animal/pet/penguin/emperor, -/obj/machinery/light/directional/east, -/turf/open/floor/grass/snow/safe, -/area/outpost/hallway/starboard) -"Ok" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi' - }, -/area/outpost/hallway/fore) -"Ol" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"Oo" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/chair/pew/left{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"Op" = ( -/obj/machinery/light/directional/north, -/obj/structure/table/reinforced, -/obj/item/binoculars, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"Oq" = ( -/obj/structure/alien/weeds, -/obj/structure/alien/resin/wall, -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/outpost/maintenance/fore) -"Or" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 8 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Os" = ( -/obj/item/shovel, -/obj/item/flashlight/lantern{ - pixel_x = 7 - }, -/obj/effect/turf_decal/weather/snow{ - dir = 6 - }, -/turf/open/floor/plating/asteroid/snow/under/lit, -/area/outpost/external) -"Ot" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"Ou" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"Ov" = ( -/obj/effect/turf_decal/trimline/opaque/purple/filled/line{ - dir = 10 - }, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Ow" = ( -/obj/structure/window/reinforced/fulltile, -/obj/structure/grille, -/turf/open/floor/plating, -/area/outpost/crew/lounge) -"Ox" = ( -/obj/structure/flora/grass/jungle/b, -/obj/structure/railing/wood{ - dir = 4 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"Oy" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/mono/dark, -/area/outpost/cargo) -"OA" = ( -/obj/machinery/processor, -/obj/effect/turf_decal/industrial/warning{ - dir = 2; - color = "#808080" - }, -/obj/effect/decal/cleanable/food/tomato_smudge, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"OC" = ( -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"OE" = ( -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"OF" = ( -/obj/machinery/computer/security{ - dir = 8 - }, -/obj/effect/turf_decal/techfloor{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"OG" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4; - layer = 2.37 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"OI" = ( -/obj/effect/turf_decal/techfloor/orange, -/obj/machinery/portable_atmospherics/scrubber, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"OJ" = ( -/obj/structure/fluff/arc, -/obj/structure/sign/poster/official/love_ian{ - pixel_y = 32; - pixel_x = 32 - }, -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"OK" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"OM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/walnut, -/area/outpost/crew/bar) -"ON" = ( -/obj/structure/bookcase/random/fiction, -/turf/open/floor/wood, -/area/outpost/crew/library) -"OP" = ( -/turf/closed/mineral/random/snow, -/area/outpost/maintenance/fore) -"OQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"OR" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/shower{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"OU" = ( -/obj/machinery/vending/cola{ - pixel_x = -6 - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"OV" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"OX" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/obj/effect/turf_decal/corner/opaque/yellow/full, -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Pa" = ( -/obj/structure/table, -/obj/machinery/jukebox/boombox{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/item/reagent_containers/condiment/soysauce{ - pixel_x = -6; - pixel_y = 7 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/hallway/central) -"Pb" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/grille_or_waste, -/obj/item/stack/sheet/mineral/wood{ - pixel_x = -6 - }, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Pc" = ( -/obj/effect/turf_decal/techfloor{ - dir = 9 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"Pd" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/item/storage/fancy/cigarettes/cigpack_robustgold{ - pixel_x = -6; - pixel_y = 6 - }, -/obj/item/lighter{ - pixel_x = -5; - pixel_y = 3 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Pf" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/poster/contraband/mothpill{ - pixel_x = 32 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"Pi" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/chair/pew/right{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"Pk" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"Pl" = ( -/obj/effect/turf_decal/techfloor, -/obj/structure/sign/warning/electricshock{ - pixel_y = 32 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"Pm" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/kirbyplants{ - icon_state = "plant-10"; - pixel_x = -7 - }, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"Po" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/pew/right{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"Pp" = ( -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/plasteel, -/area/outpost/hallway/fore) -"Pt" = ( -/obj/item/kirbyplants{ - icon_state = "plant-21" - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"Pv" = ( -/obj/effect/turf_decal/techfloor/orange/corner, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"Px" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"PA" = ( -/obj/machinery/vending/coffee, -/obj/effect/decal/cleanable/robot_debris, -/obj/structure/sign/poster/contraband/space_cola{ - pixel_y = 32 - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"PB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/showcase/machinery/cloning_pod, -/obj/effect/turf_decal/box/corners{ - dir = 1; - icon_state = "box_corners" - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"PC" = ( -/obj/structure/closet/secure_closet/freezer/kitchen, -/obj/effect/decal/cleanable/food/flour, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/patterned/ridged, -/area/outpost/hallway/central) -"PE" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line, -/obj/effect/turf_decal/industrial/warning, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"PF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/aft) -"PG" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/line{ - dir = 9 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"PH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random{ - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"PL" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 9 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 10 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"PN" = ( -/obj/structure/fluff/paper/stack{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/maintenance/aft) -"PO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/chair/wood, -/obj/structure/sign/painting/library{ - pixel_x = 32 - }, -/turf/open/floor/wood, -/area/outpost/maintenance/aft) -"PP" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/outpost, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"PR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/aft) -"PS" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/carpet/royalblue, -/area/outpost/operations) -"PV" = ( -/obj/machinery/vending/snack/blue{ - pixel_x = -17 - }, -/obj/item/kirbyplants{ - icon_state = "plant-03"; - pixel_x = 4 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/decal/cleanable/wrapping, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"PX" = ( -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"PY" = ( -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"PZ" = ( -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi' - }, -/area/outpost/crew/cryo) -"Qb" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/outpost/hallway/fore) -"Qd" = ( -/turf/open/floor/wood/ebony, -/area/outpost/crew/lounge) -"Qe" = ( -/obj/structure/table/wood/reinforced, -/obj/item/candle/infinite{ - pixel_x = 11 - }, -/obj/item/binoculars, -/turf/open/floor/wood/ebony, -/area/outpost/crew/lounge) -"Qf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/machinery/door/airlock/outpost{ - dir = 4; - icon = 'icons/obj/doors/airlocks/station/mining.dmi'; - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'; - assemblytype = /obj/structure/door_assembly/door_assembly_min - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/cargo) -"Qj" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/library) -"Qk" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/closed/indestructible/fakeglass, -/area/outpost/engineering/atmospherics) -"Ql" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners, -/obj/effect/turf_decal/box/corners{ - dir = 4 - }, -/obj/effect/spawner/random/maintenance/two, -/obj/item/paperplane, -/obj/item/radio/intercom/directional/south, -/obj/machinery/firealarm/directional/south, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"Qm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/railing/wood{ - dir = 8 - }, -/obj/structure/table/wood, -/obj/item/storage/fancy/nugget_box{ - pixel_x = 5; - pixel_y = -4 - }, -/obj/item/reagent_containers/food/drinks/bottle/kahlua{ - pixel_x = -5; - pixel_y = 6 - }, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"Qn" = ( -/obj/machinery/photocopier{ - pixel_y = 3 - }, -/obj/structure/railing, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Qo" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"Qp" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Qq" = ( -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/turf_decal/box/corners{ - icon_state = "box_corners"; - dir = 8 - }, -/obj/structure/closet/secure_closet/freezer/meat, -/obj/item/reagent_containers/food/snacks/meat/slab/monkey, -/obj/item/reagent_containers/food/snacks/meat/slab/monkey, -/obj/item/reagent_containers/food/snacks/meat/slab/monkey, -/obj/item/reagent_containers/food/snacks/meat/slab/monkey, -/obj/item/reagent_containers/food/snacks/meat/slab/chicken, -/obj/item/reagent_containers/food/snacks/meat/slab/chicken, -/obj/item/reagent_containers/food/snacks/meat/slab/chicken, -/obj/item/reagent_containers/food/snacks/meat/slab/chicken, -/turf/open/floor/plasteel/patterned/ridged, -/area/outpost/crew/canteen) -"Qu" = ( -/obj/structure/flora/junglebush/large, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"Qv" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"Qw" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/closet/crate/trashcart, -/obj/item/trash/syndi_cakes{ - pixel_x = -4; - pixel_y = 3 - }, -/obj/item/trash/energybar, -/obj/item/trash/candy, -/obj/item/trash/sosjerky, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Qy" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/structure/railing/corner, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"Qz" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"QA" = ( -/turf/open/floor/engine/plasma, -/area/outpost/engineering/atmospherics) -"QB" = ( -/obj/machinery/light/broken/directional/south, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/aft) -"QC" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"QD" = ( -/obj/structure/flora/rock/pile/largejungle{ - pixel_x = 3; - pixel_y = -3 - }, -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/hallway/central) -"QG" = ( -/obj/machinery/vending/cigarette, -/turf/open/floor/concrete/reinforced, -/area/outpost/hallway/central) -"QH" = ( -/obj/machinery/door/airlock/maintenance_hatch, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"QI" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/outpost/operations) -"QK" = ( -/obj/machinery/door/airlock/public/glass, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"QL" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "2-4" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"QM" = ( -/obj/structure/chair/sofa/brown/right/directional/east, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/wood, -/area/outpost/crew/library) -"QN" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 4 - }, -/obj/structure/flora/ausbushes/fullgrass{ - pixel_x = 5; - pixel_y = 5 - }, -/obj/structure/flora/ausbushes/ppflowers, -/turf/open/floor/grass, -/area/outpost/hallway/aft) -"QO" = ( -/obj/effect/turf_decal/techfloor/orange, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"QP" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/railing/corner/wood, -/obj/structure/railing/corner/wood{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"QR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"QS" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"QT" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/vacant_rooms) -"QU" = ( -/turf/open/floor/engine/o2, -/area/outpost/engineering/atmospherics) -"QW" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/carpet/green, -/area/outpost/hallway/central) -"QY" = ( -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Ra" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Rc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"Rd" = ( -/turf/open/floor/carpet/green, -/area/outpost/hallway/central) -"Re" = ( -/obj/structure/flora/rock/icy, -/turf/open/floor/plating/asteroid/snow/airless, -/area/outpost/external) -"Rf" = ( -/obj/machinery/computer/station_alert{ - dir = 1 - }, -/obj/structure/railing, -/obj/effect/turf_decal/trimline/opaque/yellow/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Rg" = ( -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Rj" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/chem_dispenser/drinks/beer/fullupgrade{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"Rk" = ( -/obj/effect/turf_decal/techfloor, -/obj/machinery/suit_storage_unit/inherit/industrial, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Rl" = ( -/obj/structure/table/wood, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Rm" = ( -/obj/machinery/door/window/brigdoor/northright{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"Rn" = ( -/obj/structure/closet/secure_closet/ertSec, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"Ro" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Rp" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/hallway/fore) -"Rq" = ( -/turf/closed/mineral/random/snow, -/area/outpost/hallway/starboard) -"Rr" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/newscaster/directional/south, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"Rt" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/easel, -/turf/open/floor/wood{ - icon_state = "wood-broken7" - }, -/area/outpost/maintenance/aft) -"Ru" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"Rw" = ( -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"Rx" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/crew/cryo) -"Rz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/kirbyplants{ - icon_state = "plant-09" - }, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"RA" = ( -/obj/machinery/door/airlock/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"RB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"RC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"RD" = ( -/obj/structure/grille, -/obj/structure/window/reinforced/fulltile/indestructable, -/turf/open/floor/plating, -/area/outpost/operations) -"RE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"RF" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black/corner, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ - dir = 1 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ - dir = 4 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 9 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/goonplaque, -/area/outpost/crew/cryo) -"RG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"RH" = ( -/obj/effect/turf_decal/steeldecal/steel_decals10, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"RJ" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 9 - }, -/obj/machinery/suit_storage_unit/inherit, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/security) -"RK" = ( -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"RM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"RO" = ( -/obj/machinery/computer/slot_machine, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"RP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"RR" = ( -/obj/effect/turf_decal/techfloor, -/obj/machinery/light/directional/west, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"RS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/outpost{ - assemblytype = /obj/structure/door_assembly/door_assembly_eng; - icon = 'icons/obj/doors/airlocks/station/engineering.dmi'; - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'; - req_access_txt = "101" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"RT" = ( -/obj/structure/frame/machine, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/glass, -/obj/machinery/newscaster/directional/east, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"RV" = ( -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 - }, -/obj/structure/sink{ - dir = 4; - pixel_x = -12; - pixel_y = 2 - }, -/obj/effect/decal/cleanable/plasma, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"RX" = ( -/obj/effect/decal/cleanable/oil, -/obj/item/stack/sheet/mineral/wood{ - pixel_x = -4; - pixel_y = -5 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"RY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"RZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance, -/obj/item/stack/rods/ten{ - pixel_x = 9 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Sa" = ( -/obj/structure/toilet/secret{ - dir = 4; - secret_type = /obj/item/storage/box/donkpockets/donkpocketgondola - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"Sd" = ( -/obj/structure/grille/broken, -/obj/effect/spawner/random/clothing/pirate_or_bandana, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Se" = ( -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"Sh" = ( -/obj/structure/bookcase/random/fiction, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"Si" = ( -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"Sk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"Sm" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/poster/contraband/random{ - pixel_x = 32 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/aft) -"Sn" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"So" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Sp" = ( -/obj/structure/girder/displaced, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"Su" = ( -/obj/structure/filingcabinet/chestdrawer/wheeled, -/obj/effect/turf_decal/industrial/warning, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Sw" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/library) -"Sx" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/cable{ - icon_state = "0-4" - }, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"Sz" = ( -/obj/machinery/jukebox, -/obj/effect/decal/cleanable/plasma, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"SB" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/door/airlock/outpost{ - assemblytype = /obj/structure/door_assembly/door_assembly_com; - icon = 'icons/obj/doors/airlocks/station/command.dmi'; - glass = 1; - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi'; - name = "Bridge Access"; - req_one_access_txt = "109" - }, -/turf/open/floor/plasteel, -/area/outpost/operations) -"SE" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"SF" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"SH" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "foam_plating" - }, -/area/outpost/maintenance/fore) -"SK" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"SL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/lounge) -"SN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/pew/left{ - dir = 4 - }, -/obj/item/trash/can{ - pixel_y = 3 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"SP" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/techfloor/corner{ - dir = 4; - layer = 2.37 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/obj/structure/cable/yellow{ - icon_state = "1-10" - }, -/obj/structure/cable/yellow{ - icon_state = "1-6" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"SR" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/central) -"ST" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/nachos{ - pixel_y = 9 - }, -/obj/item/reagent_containers/food/drinks/soda_cans/pacfuel{ - pixel_x = 8; - pixel_y = 3 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"SW" = ( -/obj/structure/chair/sofa/brown/left/directional/north, -/obj/effect/decal/cleanable/robot_debris/gib{ - pixel_x = -13 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"SX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"Ta" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/railing/corner/wood{ - dir = 1 - }, -/obj/structure/railing/corner/wood{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"Tc" = ( -/obj/structure/closet/crate/trashcart/laundry, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/maintenance/two, -/obj/effect/spawner/random/clothing/kittyears_or_rabbitears, -/obj/structure/grille/broken, -/obj/effect/turf_decal/box/white, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/outpost/maintenance/aft) -"Td" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"Te" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Th" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/plasma, -/obj/structure/closet/crate/secure/loot, -/obj/effect/decal/cleanable/wrapping, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Tk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/vacant_rooms) -"Tm" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"Tn" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/outpost/hallway/central) -"To" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Tp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"Ts" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"Tt" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/newscaster/directional/north{ - pixel_y = 33 - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"Tu" = ( -/obj/item/toy/plush/beeplushie{ - pixel_y = 5; - pixel_x = 3 - }, -/obj/item/reagent_containers/food/snacks/cakebatter{ - pixel_y = -9; - pixel_x = -5 - }, -/turf/open/floor/engine/n2o, -/area/outpost/engineering/atmospherics) -"Tv" = ( -/obj/structure/railing/corner, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/broken/directional/north, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"Tw" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"Ty" = ( -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 5 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Tz" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/table/reinforced, -/obj/machinery/light/directional/south, -/obj/item/reagent_containers/glass/beaker, -/obj/item/reagent_containers/condiment/enzyme{ - pixel_x = -2; - pixel_y = 6 - }, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"TA" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/machinery/computer/security{ - dir = 4 - }, -/turf/open/floor/engine, -/area/outpost/crew/cryo) -"TC" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 5 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"TF" = ( -/obj/structure/table/wood, -/obj/item/paper_bin{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/item/stamp{ - pixel_x = -7; - pixel_y = 6 - }, -/obj/item/stamp/denied{ - pixel_x = -7 - }, -/obj/effect/turf_decal/trimline/opaque/blue/filled/line{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"TH" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"TI" = ( -/obj/effect/spawner/structure/window/reinforced/indestructable, -/obj/machinery/door/poddoor/preopen{ - id = "outpost_office_lockdown"; - dir = 8 - }, -/turf/open/floor/plating, -/area/outpost/operations) -"TJ" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/hallway/central) -"TL" = ( -/obj/structure/table, -/obj/item/book/manual/chef_recipes{ - pixel_x = -4; - pixel_y = 6 - }, -/obj/item/melee/knife/kitchen{ - pixel_y = 6; - pixel_x = 9 - }, -/obj/item/kitchen/rollingpin, -/obj/effect/turf_decal/industrial/warning{ - dir = 10; - color = "#808080" - }, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"TN" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/opaque/red/line, -/obj/machinery/door/airlock/security/glass{ - req_access_txt = "109"; - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4; - req_one_access_txt = "101" - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"TP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/chair/comfy/grey/directional/north, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"TQ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"TR" = ( -/obj/structure/filingcabinet/chestdrawer, -/obj/item/paper/crumpled/ruins, -/obj/item/paper/fluff/jobs, -/obj/item/paper/fluff/jobs/cargo/manifest, -/obj/machinery/newscaster/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo/office) -"TS" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"TT" = ( -/obj/structure/chair/office, -/turf/open/floor/carpet/nanoweave, -/area/outpost/vacant_rooms) -"TV" = ( -/obj/structure/dresser, -/obj/item/trash/candle{ - pixel_y = 15; - pixel_x = 3 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/carpet/royalblue, -/area/outpost/operations) -"TW" = ( -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/stairs{ - icon = 'icons/obj/stairs.dmi'; - dir = 8 - }, -/area/outpost/engineering/atmospherics) -"TZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/showcase/perfect_employee, -/obj/effect/turf_decal/box/corners, -/obj/structure/sign/poster/official/random{ - pixel_y = 32 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"Ua" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Ub" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/aft) -"Uc" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/poster/official/nanotrasen_logo{ - pixel_y = 32 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Ud" = ( -/obj/structure/barricade/security, -/obj/structure/curtain/cloth/grey, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"Ug" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"Uh" = ( -/obj/effect/turf_decal/borderfloorwhite{ - dir = 9 - }, -/obj/structure/sink{ - pixel_y = 23 - }, -/obj/structure/mirror{ - pixel_y = 32 - }, -/obj/machinery/light/small/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/white, -/area/outpost/crew/library) -"Ui" = ( -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/obj/structure/sign/poster/official/do_not_question{ - pixel_x = 32; - pixel_y = 32 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"Uk" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"Un" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/structure/sign/poster/contraband/cybersun_med{ - pixel_x = 32 - }, -/obj/item/kirbyplants{ - pixel_x = 6; - pixel_y = 7 - }, -/obj/item/radio/intercom/directional/north{ - pixel_x = -3 - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"Uo" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"Uu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/frame/machine, -/obj/structure/noticeboard{ - pixel_y = 28 - }, -/obj/effect/decal/cleanable/blood/old, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"Uv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - dir = 8; - layer = 4.1 - }, -/obj/item/toy/plush/beeplushie, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Ux" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"Uy" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/vacant_rooms) -"UA" = ( -/obj/structure/showcase/mecha/marauder, -/obj/effect/turf_decal/box/corners, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"UC" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"UD" = ( -/obj/effect/spawner/structure/window/reinforced/indestructable, -/turf/open/floor/plating, -/area/outpost/crew/canteen) -"UG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"UI" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black/corner{ - dir = 8 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"UK" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/corner, -/obj/machinery/light/small/broken/directional/east, -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"UL" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"UM" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on/layer4, -/turf/open/floor/plating/asteroid/icerock/cracked, -/area/outpost/maintenance/fore) -"UO" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"UP" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 4 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 8 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"UQ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/sign/poster/retro/nanotrasen_logo_80s{ - pixel_y = 32 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/garden) -"US" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"UT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/body_bag, -/obj/effect/mob_spawn/human/corpse/cargo_tech, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"UU" = ( -/obj/structure/railing/wood{ - layer = 3.1; - dir = 8 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/grass, -/area/outpost/hallway/central) -"UW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate/secure/loot, -/obj/effect/decal/cleanable/ash{ - pixel_x = 15; - pixel_y = -5 - }, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_y = 7; - pixel_x = -5 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"UY" = ( -/obj/structure/table/wood, -/obj/item/trash/plate{ - pixel_x = 1; - pixel_y = 2 - }, -/obj/item/reagent_containers/food/drinks/soda_cans/cola{ - pixel_x = 12 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"UZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/chair/pew/right{ - dir = 4 - }, -/obj/item/trash/boritos{ - pixel_x = 3; - pixel_y = -2 - }, -/turf/open/floor/plating{ - icon_state = "platingdmg3" - }, -/area/outpost/maintenance/fore) -"Vb" = ( -/obj/structure/window/reinforced/spawner/east, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/dark, -/area/outpost/crew/cryo) -"Vc" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/south, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"Vg" = ( -/obj/structure/table/reinforced, -/obj/item/storage/box/prisoner{ - pixel_x = -4; - pixel_y = 9 - }, -/obj/item/storage/box/flashbangs{ - pixel_x = 7; - pixel_y = 4 - }, -/obj/item/storage/box/flashes, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 10 - }, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 10 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"Vh" = ( -/obj/machinery/shower{ - dir = 8; - pixel_y = -7 - }, -/obj/machinery/door/window/eastleft{ - dir = 8 - }, -/obj/structure/curtain, -/obj/item/soap/deluxe, -/turf/open/floor/plasteel/freezer, -/area/outpost/crew/library) -"Vi" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/machinery/light/directional/east, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/obj/machinery/elevator_call_button{ - pixel_y = 25 - }, -/obj/effect/landmark/outpost/elevator_machine{ - shaft = "3" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"Vk" = ( -/obj/structure/flora/rock/jungle{ - pixel_y = -11 - }, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"Vl" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/rockvault, -/area/outpost/operations) -"Vn" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"Vp" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"Vq" = ( -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/crew/library) -"Vr" = ( -/obj/machinery/gibber, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"Vs" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "2-8" - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"Vu" = ( -/obj/effect/turf_decal/techfloor/orange/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"Vv" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/south, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"Vx" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/effect/turf_decal/industrial/loading{ - dir = 8 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Vy" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/obj/structure/sign/poster/contraband/random{ - pixel_y = 32 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/fore) -"Vz" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"VA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/carpet/green, -/area/outpost/hallway/aft) -"VC" = ( -/obj/effect/turf_decal/corner/opaque/blue/full, -/turf/open/floor/plasteel/white, -/area/outpost/medical) -"VF" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"VI" = ( -/obj/machinery/light/small/directional/south, -/obj/structure/chair{ - dir = 4; - pixel_x = -7 - }, -/obj/item/trash/can{ - pixel_x = 11; - pixel_y = -5 - }, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"VK" = ( -/obj/effect/landmark/outpost/elevator_machine{ - shaft = "4" - }, -/obj/machinery/door/airlock/public/glass{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"VL" = ( -/obj/machinery/gibber, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/hallway/central) -"VM" = ( -/turf/open/floor/grass, -/area/outpost/hallway/central) -"VN" = ( -/turf/open/floor/engine, -/area/outpost/crew/cryo) -"VT" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 4 - }, -/turf/open/floor/grass/snow/safe, -/area/outpost/hallway/starboard) -"VV" = ( -/obj/structure/railing, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/machinery/elevator_call_button{ - dir = 8; - pixel_x = 25 - }, -/obj/effect/landmark/outpost/elevator_machine{ - shaft = "4" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"VZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/opaque/beige/filled/corner{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Wc" = ( -/obj/structure/table/wood/reinforced, -/obj/item/paper_bin{ - pixel_x = -7; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_y = 4; - pixel_x = -8 - }, -/obj/item/pen/charcoal{ - pixel_y = 8; - pixel_x = -3 - }, -/obj/item/flashlight/lamp/green{ - pixel_y = 8; - pixel_x = 6 - }, -/obj/item/phone{ - pixel_x = 8; - pixel_y = -3 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/vacant_rooms) -"Wd" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/chair/comfy/grey/directional/west, -/obj/machinery/light/directional/south, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"Wi" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Wj" = ( -/obj/structure/rack, -/obj/effect/spawner/random/maintenance/two, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"Wn" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/directional/south, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"Wo" = ( -/obj/effect/decal/cleanable/plastic, -/obj/item/chair{ - pixel_x = -1; - pixel_y = -4 - }, -/obj/item/chair{ - pixel_x = -1 - }, -/obj/item/chair{ - pixel_x = -1; - pixel_y = 3 - }, -/obj/effect/turf_decal/box, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Wp" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/outpost/operations) -"Wq" = ( -/obj/effect/turf_decal/industrial/warning, -/turf/closed/mineral/random/jungle, -/area/outpost/crew/garden) -"Wu" = ( -/obj/effect/turf_decal/siding/white{ - dir = 6 - }, -/obj/structure/statue/sandstone/venus{ - dir = 8; - layer = 3.1 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"Ww" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/light/directional/north, -/obj/machinery/elevator_call_button{ - dir = 4; - pixel_x = -25 - }, -/obj/effect/landmark/outpost/elevator_machine{ - shaft = "1" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"Wx" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/newscaster/directional/north{ - pixel_y = 33 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/canteen) -"Wz" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"WB" = ( -/obj/structure/railing, -/obj/effect/turf_decal/spline/fancy/opaque/black, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/effect/turf_decal/corner_steel_grid{ - dir = 10 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"WC" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/crew/bar) -"WD" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"WE" = ( -/obj/structure/flora/grass/jungle, -/obj/machinery/light/directional/north, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"WI" = ( -/obj/machinery/door/airlock/wood/glass{ - dir = 8 - }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"WJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/chair/stool/bar, -/obj/effect/decal/cleanable/vomit/old, -/turf/open/floor/concrete/slab_2, -/area/outpost/hallway/central) -"WL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"WP" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "0-2" - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"WS" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"WT" = ( -/obj/structure/table/reinforced, -/obj/machinery/microwave{ - pixel_y = 5 - }, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/library) -"WU" = ( -/obj/structure/table/wood, -/obj/item/storage/photo_album/library{ - pixel_y = 1; - pixel_x = -4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"WX" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/turf/open/floor/plasteel/patterned/grid, -/area/outpost/hallway/fore) -"WY" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/item/radio/intercom/directional/north{ - pixel_x = -3 - }, -/turf/open/floor/plasteel/mono/dark, -/area/outpost/cargo) -"WZ" = ( -/turf/open/floor/plating, -/area/outpost/maintenance/aft) -"Xb" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/wood, -/area/outpost/crew/bar) -"Xd" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plasteel/stairs{ - dir = 1 - }, -/area/outpost/operations) -"Xf" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Xg" = ( -/obj/structure/railing/corner/wood, -/obj/structure/flora/tree/palm{ - icon_state = "palm2" - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"Xh" = ( -/obj/effect/turf_decal/corner/opaque/yellow/diagonal, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Xi" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/railing/wood{ - dir = 9 - }, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"Xm" = ( -/obj/structure/sink/puddle, -/obj/structure/flora/ausbushes/stalkybush{ - pixel_y = 6 - }, -/turf/open/floor/grass, -/area/outpost/hallway/central) -"Xo" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/warning{ - dir = 1; - pixel_y = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Xp" = ( -/obj/machinery/light/small/directional/west, -/turf/closed/indestructible/reinforced, -/area/outpost/maintenance/aft) -"Xs" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/corner, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Xt" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Xu" = ( -/obj/effect/decal/cleanable/plasma, -/obj/structure/curtain/cloth/grey, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"Xv" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/effect/turf_decal/industrial/loading{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Xw" = ( -/obj/structure/railing{ - layer = 3.1 - }, -/obj/effect/spawner/random/trash/grille_or_waste, -/obj/item/trash/can{ - pixel_x = -8; - pixel_y = -6 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"Xy" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"Xz" = ( -/obj/structure/table/reinforced, -/obj/item/modular_computer/laptop/preset/civilian{ - pixel_y = 6 - }, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/north{ - pixel_x = -3 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"XA" = ( -/obj/structure/bookcase/random/fiction, -/obj/item/candle/infinite{ - pixel_y = 19; - pixel_x = 15 - }, -/obj/structure/sign/poster/retro/random{ - pixel_x = 32 - }, -/turf/open/floor/wood, -/area/outpost/vacant_rooms/office) -"XB" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/slab_3, -/area/outpost/crew/garden) -"XC" = ( -/obj/item/storage/bag/tray, -/obj/item/storage/box/donkpockets{ - pixel_x = 8; - pixel_y = 8 - }, -/obj/item/storage/box/donkpockets{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/item/reagent_containers/condiment/peppermill{ - desc = "Often used to flavor food or make people sneeze. Fashionably moved to the left side of the table."; - pixel_x = -8; - pixel_y = 2 - }, -/obj/item/reagent_containers/condiment/saltshaker{ - desc = "Salt. From space oceans, presumably. A staple of modern medicine."; - pixel_x = -8; - pixel_y = 12 - }, -/obj/machinery/reagentgrinder{ - pixel_y = 5 - }, -/obj/structure/table, -/obj/effect/turf_decal/industrial/warning{ - dir = 2; - color = "#808080" - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"XD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable{ - icon_state = "1-4" - }, -/obj/structure/cable{ - icon_state = "1-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"XH" = ( -/obj/structure/flora/tree/palm{ - pixel_x = 16 - }, -/obj/structure/railing/wood{ - dir = 8 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"XI" = ( -/obj/machinery/computer/secure_data, -/obj/effect/turf_decal/trimline/opaque/red/filled/line, -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"XK" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"XP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"XQ" = ( -/obj/structure/table/wood, -/obj/item/table_bell{ - pixel_x = 9; - pixel_y = -1 - }, -/turf/open/floor/plasteel, -/area/outpost/crew/canteen) -"XS" = ( -/obj/effect/turf_decal/techfloor{ - dir = 10 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"XT" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/obj/item/banner, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/garden) -"XV" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 8 - }, -/obj/structure/sign/warning/coldtemp{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"XW" = ( -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/trimline/opaque/red/line, -/obj/structure/closet/secure_closet/security/sec, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/south, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"XY" = ( -/obj/machinery/door/airlock/public/glass, -/obj/effect/landmark/outpost/elevator_machine{ - shaft = "2" - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"Ya" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"Yb" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/kirbyplants{ - icon_state = "plant-03" - }, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"Yf" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 5 - }, -/obj/effect/turf_decal/steeldecal/steel_decals10{ - dir = 6 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"Yh" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 8 - }, -/obj/structure/closet/emcloset/wall/directional/west, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"Yi" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/number/two, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/hallway/fore) -"Yj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/mop{ - pixel_y = -8; - pixel_x = -13 - }, -/obj/item/clothing/head/soft/purple, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - icon_state = "platingdmg2" - }, -/area/outpost/maintenance/fore) -"Yl" = ( -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, -/obj/machinery/chem_dispenser/drinks/fullupgrade{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"Yo" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/oil, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"Yp" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/aft) -"Yq" = ( -/obj/structure/table/reinforced, -/obj/item/folder/yellow{ - pixel_x = -7 - }, -/turf/open/floor/plasteel/dark, -/area/outpost/operations) -"Yr" = ( -/obj/effect/turf_decal/techfloor/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ - icon_state = "4-8" - }, -/obj/structure/cable/yellow{ - icon_state = "2-5" - }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/engineering) -"Yt" = ( -/obj/structure/railing/corner/wood{ - dir = 8 - }, -/obj/structure/flora/tree/palm{ - pixel_x = 16 - }, -/turf/open/floor/grass, -/area/outpost/crew/garden) -"Yv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/storage/bag/tray/cafeteria{ - pixel_x = -9; - pixel_y = 12 - }, -/obj/effect/decal/cleanable/food/egg_smudge, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Yw" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/plasteel/mono/dark, -/area/outpost/cargo) -"Yy" = ( -/obj/effect/turf_decal/techfloor, -/obj/effect/turf_decal/trimline/transparent/lightgrey/line{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/warning{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"Yz" = ( -/obj/item/toy/plush/lizardplushie{ - name = "Him"; - desc = "A menace unleashed." - }, -/obj/effect/decal/fakelattice{ - icon_state = "lattice-38" - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating/rust, -/area/outpost/maintenance/fore) -"YC" = ( -/obj/structure/table/wood, -/obj/item/storage/secure/briefcase, -/obj/item/storage/lockbox/loyalty{ - pixel_x = 5; - pixel_y = 1 - }, -/obj/item/assembly/flash/handheld, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel, -/area/outpost/operations) -"YE" = ( -/obj/effect/decal/fakelattice{ - icon_state = "lattice-11" - }, -/turf/open/space/basic, -/area/outpost/external) -"YF" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/coffee{ - pixel_x = -8; - pixel_y = 3 - }, -/obj/item/trash/semki{ - pixel_y = 7; - pixel_x = 5 - }, -/turf/open/floor/wood, -/area/outpost/crew/library) -"YG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/railing/wood{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"YH" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 8; - color = "#808080" - }, -/obj/structure/bed, -/obj/machinery/light/directional/east, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"YI" = ( -/obj/structure/closet/secure_closet/captains, -/turf/open/floor/carpet/blue, -/area/outpost/operations) -"YJ" = ( -/obj/structure/table/wood, -/obj/item/paicard{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/paicard{ - pixel_x = -1; - pixel_y = 1 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/bar) -"YM" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 6 - }, -/obj/structure/tank_dispenser, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"YN" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 4 - }, -/obj/item/gun/energy/ionrifle, -/obj/item/gun/energy/beam_rifle{ - pixel_x = 3; - pixel_y = -4 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"YO" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/concrete/slab_4, -/area/outpost/hallway/central) -"YP" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/engineering/atmospherics) -"YR" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/railing/corner/wood{ - dir = 8 - }, -/obj/structure/sign/poster/official/soft_cap_pop_art{ - pixel_x = -32 - }, -/turf/open/floor/carpet, -/area/outpost/crew/library) -"YS" = ( -/obj/effect/turf_decal/techfloor{ - dir = 8 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"YT" = ( -/obj/effect/turf_decal/corner_techfloor_gray/diagonal{ - layer = 2.030 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"YX" = ( -/obj/effect/turf_decal/industrial/traffic{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/traffic{ - dir = 8 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"YZ" = ( -/obj/structure/closet/secure_closet/ertEngi, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plasteel/tech, -/area/outpost/security/armory) -"Za" = ( -/turf/closed/indestructible/reinforced, -/area/outpost/crew/dorm) -"Zb" = ( -/obj/structure/closet/secure_closet/freezer/wall/directional/east, -/obj/item/clothing/under/shorts/cookjorts, -/obj/item/clothing/suit/toggle/chef, -/obj/item/clothing/under/rank/civilian/chef, -/obj/item/clothing/under/rank/civilian/chef/skirt, -/obj/item/clothing/suit/hooded/wintercoat, -/obj/item/clothing/head/chefhat, -/obj/item/clothing/suit/apron/chef, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/showroomfloor, -/area/outpost/crew/canteen) -"Zc" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 5 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Zd" = ( -/obj/effect/turf_decal/trimline/opaque/beige/filled/line, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/dark, -/area/outpost/cargo) -"Ze" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/central) -"Zf" = ( -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 4 - }, -/obj/structure/cable{ - icon_state = "4-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"Zh" = ( -/obj/effect/turf_decal/siding/white, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel, -/area/outpost/vacant_rooms) -"Zi" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/alien/weeds, -/obj/structure/alien/egg/burst, -/obj/effect/decal/cleanable/xenoblood/xgibs/larva/body, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Zk" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/wood, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"Zl" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/grass, -/area/outpost/crew/lounge) -"Zm" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/concrete/tiles, -/area/outpost/hallway/aft) -"Zn" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/sign/logo{ - icon_state = "nanotrasen_sign4"; - pixel_y = 32 - }, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"Zp" = ( -/turf/closed/mineral/random/snow, -/area/outpost/external) -"Zr" = ( -/obj/machinery/vending/security, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/opaque/red/line{ - dir = 6 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/dark, -/area/outpost/security) -"Zs" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/light/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"Zt" = ( -/obj/structure/rack, -/obj/effect/turf_decal/box/corners{ - dir = 1 - }, -/obj/effect/turf_decal/box/corners{ - icon_state = "box_corners"; - dir = 8 - }, -/obj/machinery/light/directional/south, -/obj/item/shard, -/turf/open/floor/concrete/slab_1, -/area/outpost/hallway/central) -"Zu" = ( -/obj/machinery/cryopod{ - dir = 1 - }, -/turf/open/floor/plasteel/telecomms_floor, -/area/outpost/crew/cryo) -"Zv" = ( -/obj/structure/table, -/obj/structure/bedsheetbin, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/outpost/crew/library) -"Zw" = ( -/obj/machinery/light/directional/east, -/obj/effect/decal/cleanable/plasma, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable{ - icon_state = "0-8" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo/office) -"Zy" = ( -/obj/structure/girder/displaced, -/obj/structure/railing{ - dir = 4; - layer = 4.1 - }, -/turf/open/floor/plating, -/area/outpost/maintenance/fore) -"Zz" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/central) -"ZB" = ( -/turf/open/floor/plasteel/stairs{ - barefootstep = "woodbarefoot"; - color = "#A47449"; - footstep = "wood" - }, -/area/outpost/hallway/fore) -"ZC" = ( -/obj/structure/railing/corner/wood{ - dir = 8 - }, -/obj/structure/railing/corner/wood{ - dir = 8; - pixel_y = 26 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/wood, -/area/outpost/crew/dorm) -"ZD" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/brigdoor/southright{ - req_access_txt = "101" - }, -/obj/machinery/door/window/brigdoor/southright{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/ert{ - id = "outpost_security_desk"; - desc = "A heavy duty blast door." - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/outpost/security) -"ZE" = ( -/obj/effect/turf_decal/techfloor/orange{ - dir = 6 - }, -/obj/machinery/portable_atmospherics/scrubber/huge, -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/tech/grid, -/area/outpost/engineering) -"ZF" = ( -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 6 - }, -/turf/open/floor/plasteel/mono/dark, -/area/outpost/cargo) -"ZG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/railing/corner/wood{ - dir = 1 - }, -/obj/structure/railing/corner/wood{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/outpost/hallway/central) -"ZH" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/concrete/slab_3, -/area/outpost/hallway/starboard) -"ZJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/carpet/nanoweave, -/area/outpost/crew/canteen) -"ZK" = ( -/obj/machinery/door/poddoor/shutters/preopen, -/turf/open/floor/plasteel/tech, -/area/outpost/cargo) -"ZM" = ( -/obj/effect/turf_decal/industrial/hatch/yellow, -/turf/open/floor/plasteel/mono/dark, -/area/outpost/cargo) -"ZN" = ( -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 8 - }, -/obj/effect/turf_decal/spline/fancy/opaque/black{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/structure/cable{ - icon_state = "1-2" - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"ZO" = ( -/obj/structure/chair/office{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/machinery/light/directional/south, -/obj/structure/closet/wall/directional/east{ - name = "Game Locker"; - desc = "It's a basic storage unit. Theres a little label on it, asking you to put the toys back in when finished" - }, -/obj/item/toy/figure/curator{ - pixel_x = 7; - pixel_y = 8 - }, -/obj/item/toy/figure/detective, -/obj/item/toy/figure/dsquad{ - pixel_x = 7 - }, -/obj/item/toy/figure/head_of_personnel{ - pixel_y = -5; - pixel_x = 11 - }, -/obj/item/toy/figure/ian{ - pixel_y = -3; - pixel_x = 5 - }, -/obj/item/toy/figure/ian{ - pixel_y = -3; - pixel_x = 5 - }, -/obj/item/toy/figure/ian{ - pixel_y = -3; - pixel_x = 5 - }, -/obj/item/toy/figure/janitor{ - pixel_y = -7 - }, -/obj/item/toy/figure/lawyer{ - pixel_x = -7; - pixel_y = -8 - }, -/obj/item/toy/figure/ninja{ - pixel_y = -9; - pixel_x = 6 - }, -/obj/item/toy/figure/captain, -/obj/item/toy/figure/syndie, -/obj/item/toy/figure/syndie, -/obj/item/toy/figure/syndie, -/obj/item/toy/figure/secofficer, -/obj/item/toy/figure/secofficer, -/obj/item/toy/figure/wizard, -/obj/item/toy/plush/knight, -/obj/item/toy/plush/hornet{ - pixel_x = 9; - pixel_y = -4 - }, -/obj/item/toy/toy_xeno, -/obj/item/toy/toy_xeno, -/obj/item/storage/pill_bottle/dice{ - pixel_x = 6; - pixel_y = 6 - }, -/turf/open/floor/carpet/red, -/area/outpost/vacant_rooms/office) -"ZQ" = ( -/obj/machinery/light/directional/north, -/turf/open/floor/grass, -/area/outpost/hallway/fore) -"ZR" = ( -/obj/structure/chair/sofa/brown/corner/directional/east, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/wood, -/area/outpost/crew/library) -"ZS" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/turf/open/floor/plasteel/tech, -/area/outpost/crew/cryo) -"ZT" = ( -/obj/effect/turf_decal/techfloor{ - dir = 1 - }, -/obj/structure/cable{ - icon_state = "1-2" - }, -/obj/machinery/computer/bounty, -/turf/open/floor/plasteel/tech, -/area/outpost/hallway/fore) -"ZV" = ( -/obj/structure/table, -/obj/machinery/light/directional/south, -/turf/open/floor/plasteel/patterned/cargo_one, -/area/outpost/crew/library) -"ZW" = ( -/obj/structure/chair/stool/bar, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ - dir = 10 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/library) -"ZX" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/door/airlock/maintenance_hatch{ - dir = 8 - }, -/turf/open/floor/plating{ - icon_state = "panelscorched" - }, -/area/outpost/maintenance/aft) -"ZY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/concrete/tiles, -/area/outpost/crew/garden) -"ZZ" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/drinks/mug{ - pixel_x = -7; - pixel_y = -2 - }, -/obj/item/toy/cards/deck{ - pixel_y = 7; - pixel_x = 5 - }, -/turf/open/floor/plasteel/sepia, -/area/outpost/crew/bar) - -(1,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(2,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(3,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(4,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(5,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(6,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(7,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(8,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(9,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(10,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(11,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(12,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(13,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(14,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(15,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(16,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(17,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(18,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(19,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(20,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(21,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(22,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(23,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(24,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Ow -Ow -Ow -Ow -Ow -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(25,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Ow -Ow -Kv -tJ -Qe -Ow -Ow -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(26,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Ow -Ow -EB -Qd -fK -fK -fQ -Ow -Ow -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(27,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Mx -rd -wt -fK -Qd -Qd -SL -yJ -Mx -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(28,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -vV -Zp -Zp -Zp -Zp -Zp -Zp -Mx -lD -uw -ot -Qd -vu -uw -ia -Mx -aL -aL -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(29,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Mx -AC -EJ -Po -fK -zR -nA -FM -Mx -cL -aL -aL -aL -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(30,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Mx -Zl -dM -od -fK -qX -BY -Vp -Gh -BX -Ap -EZ -aL -aL -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(31,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Mx -kk -mn -Pi -tz -Oo -LV -lh -Mx -yP -iN -iN -uV -aL -Zp -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(32,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -TJ -TJ -TJ -TJ -TJ -TJ -Mx -Mx -Mx -Mx -lM -Mx -Mx -Mx -Mx -cL -cL -cL -Tv -cL -cL -aL -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(33,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -Zp -wH -lJ -wH -wH -lJ -OP -OP -Zp -TJ -TJ -qj -yc -Ja -gu -Wj -re -dE -Tn -cw -Iz -gN -Tn -AF -Pm -rf -pt -cL -tQ -Xp -RV -Fe -Zp -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(34,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -HY -sN -sN -sN -Zp -OP -wH -RO -xD -xf -eX -zu -OP -Zp -TJ -xH -ta -MQ -sd -Cd -Cd -Cd -RE -Cd -Gc -Wi -cm -Tn -xO -OV -Js -ay -bX -Lf -cL -lL -Ll -Zp -Zp -Zp -Zp -Zp -Zp -Zp -aW -aW -aW -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(35,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -sN -Ft -sN -HY -Zp -OP -LS -eW -eW -eW -Nz -PH -wH -Zp -TJ -BI -qW -xy -Ze -EH -pz -pz -pz -pz -Dp -jn -TS -Tn -df -OV -DU -zP -cL -uq -cL -BS -cL -gS -Zp -Zp -Zp -Zp -Zp -Zp -ak -aW -aW -aW -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(36,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -HY -sN -vV -Ft -Ft -Zp -wH -tl -yb -zu -eW -Ra -ip -wH -wH -wH -wH -va -yO -dA -Kh -Ff -yh -DJ -Nd -zI -LG -yX -YO -ob -eO -RT -TJ -cL -Gz -cL -qK -cL -aL -cL -cL -aL -aL -Zp -cL -cL -Ig -cL -aW -aW -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(37,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -sN -vV -vV -cb -Ft -OP -wH -wH -wH -HW -wH -lJ -wH -wH -Zi -jQ -wH -WC -WC -WC -WC -WC -WC -WC -PA -jI -Zc -HA -xU -TJ -TJ -TJ -TJ -hX -uj -hJ -eI -bG -nc -cL -uo -Fn -aL -aL -cL -WZ -WZ -cL -aW -aW -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(38,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -HY -Ft -dx -YE -hH -DD -kc -sn -sg -yD -Dw -PB -uJ -lJ -wa -JY -aD -WC -mA -Uk -ze -dv -Hu -WC -TJ -vO -gk -mW -WJ -Pa -wn -NP -TJ -cL -cL -cL -Bs -KD -aw -cL -fV -RX -Rt -aL -cL -QY -WZ -cL -aW -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(39,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -HY -HY -Ft -hH -hH -nP -wB -vf -GO -jo -Hk -GH -UA -wH -Oq -Il -Nq -WC -Ez -uv -dr -Bj -mv -GS -bP -Gc -GB -zz -wF -EP -xh -Tz -TJ -hZ -VL -cL -Br -iN -ly -cL -DH -PN -PO -iH -cL -cL -hy -cL -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(40,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -AB -Zp -Zp -Zp -Zp -Zp -Zp -OP -lJ -dN -yZ -lG -lJ -Gn -Gn -wH -wH -Dk -wH -WC -Tt -ge -nX -Tm -un -sQ -LK -BG -Ij -zz -Lj -Ju -xh -Sn -ae -El -Og -cL -pG -sX -Tc -cL -rc -xA -cL -cL -cL -Dt -QB -cL -cL -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(41,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -gv -AB -Re -Zp -Zp -Zp -Zp -wH -wH -wH -vy -zv -IE -vE -LP -xY -SH -Jf -Oh -ha -WC -Eb -Ep -Xb -Kg -yI -DS -wJ -Px -er -Ua -RY -zB -oo -JE -TJ -El -LM -cL -ar -lI -cL -cL -CH -jl -cL -Sp -Xw -yn -uV -im -cL -cL -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(42,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -mc -Gv -AB -Zp -Zp -Zp -wH -lJ -oH -eR -Yo -he -CZ -xM -Cj -xd -RZ -UT -Jv -cM -te -IF -lR -aE -ZZ -YJ -GS -Fd -Dp -Ev -GT -TJ -TJ -TJ -TJ -TJ -PC -qI -cL -ZX -cL -cL -mh -bR -ar -QH -tD -bR -yp -iN -Dy -gH -cL -cL -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(43,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -xk -Os -yj -Zp -Zp -Zp -OP -Ci -UG -nH -xV -wH -lJ -wH -Rp -Rp -Rp -Rp -Rp -gM -WC -il -iE -si -si -qT -WC -TJ -vO -Ev -mt -Tn -SR -QW -Gi -TJ -TJ -cL -cL -rk -rk -bR -bR -iW -fJ -cL -Hy -IB -bq -zH -KW -To -sl -cL -cL -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(44,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -ck -KY -Zp -Zp -Zp -Zp -OP -Mb -UG -lz -wH -wH -Lw -ev -Rp -AE -AE -CG -Rp -hb -WC -Un -hK -OM -OM -Bw -WC -OU -Qp -Ev -Zz -Tn -lf -Kb -Rd -If -Ds -cL -mH -Sm -UK -yr -qF -Qw -Rx -Rx -Rx -Rx -Rx -Rx -Rx -fM -sF -yE -cL -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(45,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -OP -OP -OP -OP -OP -wH -TZ -UG -wH -wH -ng -SH -BB -Rp -AE -AE -AE -Rp -Rp -WC -WC -WC -fb -hk -kx -WC -PV -Qp -jh -Jm -AD -nU -eg -dF -kT -wR -vw -vw -vw -cL -tV -cL -Rx -Rx -uR -wW -NQ -yF -Fm -Rx -Rx -ef -cL -cL -cL -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(46,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -OP -OP -Zy -JC -CV -aJ -wH -Uu -eR -Ay -ai -SK -Yz -NC -Rp -AE -AE -AE -Rp -Lv -Ex -wQ -WC -WC -WC -WC -WC -TJ -iR -SF -bk -Tn -gm -NW -Zt -vw -vw -vw -vx -vx -Wq -Mq -uk -Rx -uR -de -Gu -Bu -UP -kZ -Fm -Rx -Mi -hd -dh -aL -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(47,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Gq -ka -ok -Ob -nv -zF -wH -ml -Xs -wH -gz -cW -yK -vY -Rp -Rp -qL -Rp -Rp -LQ -uX -Ex -MD -Gx -Gx -Gx -Gx -TJ -gL -gk -Zz -Tn -pD -Pf -Ql -vw -vx -vx -vx -pL -Ed -fc -fc -Rx -xp -LF -kB -wK -HI -pq -qm -Rx -zY -qQ -aL -aL -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(48,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -wH -ea -jG -jG -Cn -eW -kH -FL -lX -Rp -Rp -Rp -Rp -Rp -Rp -Ww -fn -CL -Rp -KU -KU -KU -Rp -Rp -Rp -Rp -Gx -TJ -Lh -ir -HA -TJ -TJ -TJ -vw -vw -vx -cr -cr -cr -RK -cr -RK -Rx -Pl -Oe -Zu -yN -wl -Ou -oh -Rx -Rx -Rx -Rx -Rx -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(49,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -wH -tF -Kx -hu -EY -nQ -wH -NI -KQ -Rp -AE -AE -AL -Rp -pC -Bb -kw -OC -qU -gR -WX -Ug -hh -At -Rp -Gx -Gx -TJ -qA -TH -Zz -sH -hM -TJ -vw -Vk -cr -cr -NX -cr -Xg -eH -bA -Rx -KG -PL -XS -EA -Pc -Yf -ZS -hW -rJ -Fu -Rx -Rx -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(50,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -OP -OP -Uv -vz -gM -Sd -wH -Vy -GY -Rp -AE -AE -AE -XY -Yi -Ko -vZ -vZ -ga -ga -tX -vZ -MA -eZ -Rp -qZ -jg -TJ -Zn -gk -TS -JX -xu -Zs -vw -we -bA -Ox -eH -eH -kz -aA -ZY -Rx -Na -Se -HT -JM -pE -js -cR -hW -CK -rA -MC -Rx -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(51,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -OP -OP -OP -OP -HW -wH -Te -qw -Rp -AE -AE -AE -Rp -lH -Ko -vZ -ur -AM -AM -oK -vZ -MA -vS -Rp -Rp -QC -TJ -vW -Fq -IW -Mc -yQ -za -vw -rV -fL -fL -mJ -mJ -mJ -XT -fT -Rx -Rx -XV -eC -eC -eC -gC -hW -hW -pZ -Rm -Vb -Rx -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(52,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -OP -mS -aF -wH -Xu -Ud -Rp -Rp -Rp -Rp -Rp -aV -Ko -vZ -Ik -wM -zZ -uZ -OK -rj -YS -Rp -sJ -sz -Fh -Rw -Gk -Ny -Cd -Cd -Kj -vw -Hv -Oc -Ol -Ol -Ol -Ol -sP -XB -zL -Rx -ra -NJ -HO -NJ -fX -hW -TA -ru -nY -je -Rx -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(53,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -OP -sD -Pb -wH -CD -vB -AV -Hi -Dh -BV -Ei -sB -bv -zy -WB -fE -ZT -Uo -WS -up -WS -Io -EV -Hj -NG -iJ -MU -Sk -Sk -iJ -iJ -QK -KC -dp -zb -Bx -zb -zb -zb -Bx -Bx -MF -gn -ZN -RF -BL -PZ -PP -dg -Eq -VN -FG -Rx -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(54,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -OP -OP -Th -AW -wH -xF -wH -Rp -Rp -Rp -Rp -Rp -jT -Ko -vZ -Ik -vc -vN -OG -RH -wh -oS -Rp -rR -tp -ZB -Rw -rw -og -pz -pz -pz -vw -Fo -uI -rx -td -rx -rx -rx -jw -zL -Rx -Nh -dq -kt -GE -Tw -hW -Aa -IC -IC -NY -Rx -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(55,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -OP -OP -OP -lA -Ru -gl -Jw -UG -xm -Rp -AE -AE -pl -Rp -FD -Ko -vZ -UI -tf -tf -Vz -vZ -MA -At -Rp -xL -Ta -ez -hi -NH -hi -Xi -cp -Qm -vw -UQ -fv -fv -fv -fv -fv -xZ -RM -Rx -Rx -Nb -iB -iB -iB -Fm -hW -hW -Iy -ts -ci -Rx -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(56,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -OP -UZ -SN -Yj -HG -jD -wH -oE -zs -Rp -AE -AE -AE -cq -HH -Ko -vZ -vZ -ga -ga -Vz -vZ -MA -eZ -Rp -ZQ -OJ -QP -zz -gk -zz -ZG -Ec -Wd -vw -sL -XH -qz -et -et -eb -dC -FN -Rx -bC -de -Gu -Bu -UP -kZ -Fm -hW -DP -rA -rO -Rx -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(57,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -OP -UW -UG -HG -NM -wH -wH -wH -wH -Rp -AE -AE -AE -Rp -Vi -Ui -WD -Qy -nb -Ok -hP -KX -Wu -aH -Rp -Rp -xa -Hx -Dp -GB -Ua -Kk -lt -TJ -vw -WE -cr -cr -zO -cr -Yt -et -XH -Rx -bO -LF -kB -wK -HI -pq -ZS -hW -Cc -nT -Rx -Rx -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(58,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -wH -bQ -iM -vv -hj -hj -Gr -BD -hg -Rp -Rp -Rp -Rp -Rp -Rp -vT -NF -VV -Rp -qd -Qb -Pp -DZ -Rp -QT -QT -QT -QT -xQ -Ev -HA -It -WI -It -vw -vw -Qu -cr -na -KL -wf -Ew -vx -Rx -Pl -Oe -Zu -yN -wl -Ou -oh -Rx -Rx -Rx -Rx -hc -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(59,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -wH -wH -xF -wH -hj -Gr -Cp -Yr -LX -wY -an -Yh -px -xW -Rp -Rp -VK -Rp -QT -QT -JP -QT -QT -QT -EU -NV -Bi -Ho -Oa -Ev -mt -It -mE -nk -bJ -vw -vx -vx -cr -cr -vx -vx -vx -Rx -xp -PL -XS -EA -Pc -Yf -BQ -Rx -Uh -fl -Nr -Nr -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(60,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -wH -wH -CJ -iY -VI -hj -lg -SP -IY -Jc -GQ -CC -sU -ie -wz -Rp -AE -AE -Jb -QT -nn -nn -nn -QT -wL -Rl -by -TT -xs -Qp -xT -bY -RA -yi -fp -wy -vw -vw -vx -vx -vx -vx -vx -vx -Rx -qO -Se -jE -JM -pE -js -gC -Rx -jU -Lx -Vh -Nr -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(61,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -wH -Wo -uP -Yv -BN -hj -Gr -EO -LJ -qN -wY -Lr -Vu -Pv -YM -Rp -AE -AE -AE -QT -nn -nn -nn -QT -Wc -di -vm -eS -Bm -Co -Ev -Zz -It -BJ -dL -GR -vK -vw -vw -vw -vw -po -po -po -Rx -Rx -Na -mR -mk -eC -gC -Rx -Rx -Nr -Kp -Nr -Nr -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(62,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -wH -qe -Fs -wH -wH -hj -hj -Gr -DR -NO -hj -hj -yl -Fy -hj -Rp -AE -AE -AE -QT -nn -nn -nn -QT -ps -Ee -Ee -Ee -QT -Nu -jh -QS -It -jX -TP -Si -rQ -It -Gd -mp -Ey -po -Bg -fo -nz -Rx -Rx -Rx -Rx -Rx -Rx -Rx -fB -vJ -cn -Zv -Nr -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(63,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -wH -LN -nt -pU -uE -jC -pU -pU -pU -pU -pU -zD -HL -OE -jZ -Rp -Rp -Rp -Rp -QT -vG -vG -vG -QT -QT -QT -AS -QT -QT -rl -Ev -Or -It -wN -lB -Si -uL -dR -dR -dR -fk -po -kF -VC -lK -po -Mo -uQ -cf -bV -gI -Za -Nr -Nr -cn -ZV -Nr -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(64,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -wH -wH -HG -pU -pT -Eg -NK -cC -Jp -Lp -pU -vl -Iu -UL -OI -hj -en -wV -hj -fR -Qz -Xf -lN -nj -Qz -kf -Qz -Ns -QT -Uc -Ev -CW -It -It -xC -WU -FT -tK -QR -QR -vM -po -Kd -qx -nJ -po -xI -UC -ZC -oA -Am -mI -Sx -pX -eu -tP -Nr -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(65,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -UM -By -db -Xt -Lz -ry -ry -YP -dT -Qv -Mf -ty -qi -tb -NL -QO -RS -WL -WL -RS -eL -kO -kO -JZ -Ro -Uy -Tk -kO -Zh -yL -fr -ve -Zz -QG -It -nE -Jq -ZO -It -XA -zM -Gd -po -Gj -aB -rU -po -Zk -Mw -Gt -cG -Mw -In -gA -LD -mY -Nr -Nr -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(66,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -HY -HY -wH -wH -pU -aq -Fp -jb -Kw -tO -Et -pU -zl -wg -vI -ZE -hj -da -OR -hj -aC -iT -iT -ys -jv -gh -zi -Ac -MX -QT -vO -GB -mP -TJ -It -It -It -It -It -It -It -It -po -mu -fA -oq -po -LC -IL -le -pg -mx -Za -GA -MK -Vv -Nr -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(67,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -HY -Zp -Zp -pU -aq -Fp -pU -HE -aZ -TW -pU -kq -Dm -hj -hj -hj -hj -hj -hj -QT -QT -AS -QT -QT -QT -QT -QT -QT -QT -RB -gk -Zz -vC -Me -pj -oC -ep -vC -pv -Ca -QN -po -po -rs -po -po -Za -Za -Za -Za -Za -Za -Za -AT -rT -Nr -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(68,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -pU -pU -pU -pU -eU -tO -JS -pU -pU -pU -gP -Vr -BA -sR -gP -ba -DL -FC -IJ -cB -gP -dj -dj -dj -dj -Gy -Qp -gk -mW -Ub -Dg -Cl -Dg -bB -vC -mr -mr -mr -Zm -la -MM -mr -Nr -Rz -zj -Db -nh -YR -fG -fG -Nj -Xy -Nr -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(69,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -pU -vD -nV -my -LO -CE -nV -QU -pU -Qq -AK -sR -sR -gP -ua -sI -mZ -IJ -IJ -gP -dj -dj -dj -Xm -Ak -Qp -uH -Px -uf -aU -GU -FQ -FA -Ag -xK -su -Ng -Yp -Yp -CN -Yp -Em -YG -vQ -fg -EM -Ax -JK -rL -Es -jz -Nr -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(70,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -pU -rP -nV -my -LO -CE -nV -qc -pU -dX -Pk -Rc -tm -st -lT -gy -wZ -XQ -CA -gP -TJ -TJ -TJ -kd -AN -Qp -gk -Ua -yW -PR -PR -VA -PF -vC -Fi -Ux -KM -RG -RP -iG -Rr -Nr -Sh -ON -ON -Nc -XK -ZW -us -Ts -Yl -Nr -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(71,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -pU -vD -nV -my -mz -ye -nV -QU -pU -dU -Td -gx -sR -gP -zQ -wc -xE -XP -eQ -jj -qy -uG -Ib -ut -ut -Gc -Ev -cv -vC -dB -KA -iG -Yb -vC -bn -Ef -sA -ex -Nn -Qf -Nn -Nr -ZR -QM -ro -pN -XK -jf -Al -BT -Rj -Nr -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(72,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -pU -pU -pU -pu -mz -zV -pU -pU -pU -Ji -go -Zb -Hq -gP -ee -Vs -VF -ZJ -bL -oa -cj -Iv -Iv -Iv -Iv -wJ -XD -Wn -Mt -Mt -Mt -cX -Mt -Mt -lS -Jj -TR -ex -RR -Ln -oI -Nr -Cw -fq -gB -Au -Fz -iu -pJ -Nm -gT -Nr -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(73,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -pU -lr -nV -my -mz -ye -nV -QA -pU -gP -BC -gP -gP -gP -AR -JB -gP -gP -gP -gP -TJ -dj -UU -QD -jF -Qp -Ev -Zz -Mt -yG -zo -tt -bt -Mt -ic -Zw -vd -kl -aI -Ln -oI -Nr -sv -mG -aR -Nc -kA -Nr -Nr -Nr -Nr -Nr -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(74,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -pU -ui -nV -my -mz -ye -nV -qp -pU -Hh -pr -vq -gP -Sz -Nw -ff -AA -zG -tY -gP -dj -dj -dj -VM -tE -Qp -Ev -Zz -Mt -Xz -En -QL -XW -Mt -Mt -ex -ex -ex -Nn -Qf -Nn -Nr -Nr -yB -Md -pN -Fw -Nr -hp -rh -WT -Nr -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(75,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -pU -lr -nV -my -mz -ye -nV -QA -pU -OA -IJ -tv -rZ -AA -Nw -ff -gK -tA -xv -gP -Rq -Rq -Rq -Rq -gs -vo -tr -jL -Mt -Mn -zf -rv -ki -RJ -Mt -Ab -Ab -Ab -bx -qu -mb -cS -Nr -of -qb -xR -MR -BF -II -rE -qg -Nr -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(76,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -pU -pU -pU -Yy -mz -ig -pU -pU -pU -XC -IJ -tv -jc -AA -iQ -bu -gK -UY -tN -UD -DE -Rq -Rq -Rq -gs -xo -EF -iD -Mt -Mt -Aj -LI -ki -rD -Mt -Ab -Ab -Ab -ZK -Zf -jY -cS -Nr -rB -Vq -ca -LZ -bU -Qj -Sw -gF -Nr -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(77,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -pU -Di -nV -my -mz -PE -nV -tj -pU -NA -tG -tv -yV -AA -AA -TQ -Ni -xr -oZ -UD -cJ -cJ -Rq -Rq -gs -zq -MP -fy -ZD -tZ -wp -jK -EW -rW -Mt -Ab -Ab -Ab -jx -IH -jY -cS -Nr -fj -YF -ca -cU -sT -DO -CF -Ih -Nr -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(78,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -pU -BH -nV -MZ -Ck -ye -nV -tj -pU -vk -TL -IJ -uc -AA -GC -mD -oD -oD -pI -UD -bb -CQ -gO -Rq -gs -Ya -MP -fy -lb -Du -OF -qG -uU -Mt -Mt -Nn -Nn -Nn -Nn -GK -jY -Nn -Nr -Of -Hp -ca -Eh -Nr -GD -qo -Nr -Nr -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(79,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -pU -Tu -nV -ke -hO -bW -nV -tj -pU -gP -Lg -IJ -gP -zS -fP -aN -AA -Pt -GC -UD -av -Mk -CQ -Rq -gs -Kz -uD -oN -Mt -Mt -Mt -TN -Mt -Mt -NR -EC -cF -WP -Df -xe -Kf -ow -Nr -Nr -Nr -fZ -Nr -Nr -Nr -Nr -Nr -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(80,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -pU -pU -pU -nV -Qk -nV -pU -pU -pU -gP -gP -gP -gP -Iq -hD -AA -gK -on -SW -UD -VT -Oi -kI -Rq -gs -KV -uD -fy -mj -GW -Ge -tt -Vg -Mt -Od -Od -Od -ZM -Wz -jB -YT -iL -uS -Nr -wq -wq -wq -Nr -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(81,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -pU -bd -bd -NZ -bd -bd -pU -Ad -gP -vr -Sa -gP -Wx -dQ -GC -gK -hF -GG -gP -dO -gs -gs -gs -gs -ZH -tr -fy -mj -YH -KT -LI -JH -Mt -Od -Od -bH -ZM -Wz -jB -YT -iL -eM -Nr -wq -wq -wq -Nr -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(82,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -pU -bd -bd -wk -bd -bd -pU -Ad -gP -fO -hE -HD -mq -HJ -lx -gK -ST -MO -gP -wE -GL -Ot -ja -Vn -ct -uD -Vc -Mt -Mt -Mt -pR -sV -Mt -YX -uu -ft -ft -kY -bw -cK -Zd -OX -Nr -wq -wq -wq -Nr -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(83,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -pU -pU -pU -pU -pU -pU -pU -wS -gP -gP -gP -wS -wS -wS -gP -gP -gP -gP -gP -gP -gP -SX -Qo -wu -wu -kR -fN -mj -GW -Ge -fu -GI -Mt -Yw -Od -bH -ZM -Xo -yo -YT -Zd -hA -Nn -Nn -Nn -Nn -Nn -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(84,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Ft -Ft -lY -Bf -EN -wS -wS -Nf -iv -Jt -wS -Ad -Ad -Ad -Kn -Ad -Ad -Ad -Ad -Ad -Ad -Ad -wS -oc -Tp -eh -IS -lq -RC -mj -YH -KT -dw -Zr -Mt -WY -bH -ZF -Oy -bj -BR -om -ce -uS -Nn -aO -Pd -qv -Nn -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(85,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Ft -Zp -lY -Bf -EN -RD -gU -Ty -tI -mF -wS -wS -wS -wS -Gs -wS -wS -wS -wS -wS -Ad -Ad -wS -OQ -MP -fy -FU -FU -FU -FU -FU -FU -Gw -FU -FU -YX -ft -rN -uu -Wz -Fx -dd -VZ -ms -rX -PY -oL -sM -Nn -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(86,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -lY -Bf -EN -RD -XI -Cs -FV -ne -JO -BE -Cv -UO -ej -pm -Lo -jR -Ai -wS -wS -wS -wS -wC -tr -Vc -FU -du -Lu -jJ -YN -EE -gJ -rG -FU -Od -bH -Od -ZM -Xo -wj -no -ym -nF -Hb -PX -Xh -Rk -Nn -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(87,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -HY -lY -Bf -EN -RD -zm -Vl -PG -hI -sx -uK -DV -wT -kP -jm -gd -Rg -Cy -wI -aS -FR -pK -Ya -pe -TC -gW -bS -bS -jV -gw -hV -gV -Rn -FU -Od -Od -Od -ZM -Xo -cK -cK -iL -xw -Nn -lZ -Xh -kJ -Nn -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(88,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -HY -HY -lY -Bf -EN -wS -Op -GJ -tC -Gm -hx -US -Mp -KP -vs -ag -Yq -Rg -kM -SB -Wp -oJ -op -IP -kR -oG -gW -bS -bS -jV -ny -ny -iX -Rn -FU -nZ -hQ -ei -ei -CU -Vx -Xv -ti -uS -Nn -tW -LE -Nn -Nn -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(89,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Ft -HY -lY -Bf -EN -RD -IZ -Vl -bg -Rf -dD -oX -TF -nC -SE -HS -zK -US -iz -wI -DF -xt -pK -KV -jP -jL -FU -mN -JJ -Ao -yA -YZ -az -FU -FU -Nn -Nn -Nn -Nn -zn -zn -zn -zn -Nn -Nn -Nn -Nn -Nn -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(90,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Ft -Zp -lY -Bf -EN -RD -As -eP -Ia -Az -QI -Ce -Xd -wd -IM -ac -HC -qE -HZ -wS -wS -wS -wS -TI -jW -TI -wS -wS -FU -FU -FU -FU -FU -FU -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(91,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -lY -Bf -EN -RD -HF -fU -GN -Ov -wS -wS -wS -LW -wS -wS -wS -iK -wS -wS -sm -Jh -wS -Dl -HM -Su -Qn -wS -Zp -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(92,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -lY -Bf -EN -wS -wS -aG -eF -Ke -wS -cH -yy -kC -pa -YI -wS -Bc -IN -wS -eK -PS -wS -KF -fH -So -Ie -wS -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(93,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -ak -ak -ak -wS -RD -RD -RD -wS -mB -eB -qk -sb -so -wS -qC -DM -mw -IR -Af -mw -JR -gg -cc -DY -wS -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(94,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -ak -ak -ak -ak -EN -EN -EN -wS -tx -tM -Mv -do -NT -wS -ue -YC -wS -TV -Kt -wS -Bz -Ls -Hs -kN -wS -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(95,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -ak -ak -ak -Bf -Bf -Bf -wS -RD -RD -wS -wS -wS -wS -RD -wS -wS -wS -wS -wS -wS -wS -wS -wS -wS -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(96,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -sN -sN -sN -HY -HY -HY -HY -HY -sN -sN -sN -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(97,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -sN -sN -HY -HY -Zp -Zp -HY -sN -sN -sN -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(98,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -HY -HY -HY -Zp -vV -vV -vV -vV -vV -Zp -Zp -Zp -Zp -Zp -Zp -Zp -Zp -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(99,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(100,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(101,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(102,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(103,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(104,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(105,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(106,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(107,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(108,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(109,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(110,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(111,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(112,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(113,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(114,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(115,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(116,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(117,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(118,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(119,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(120,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} -(121,1,1) = {" -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -vV -"} diff --git a/code/modules/overmap/objects/outpost/outpost_types.dm b/code/modules/overmap/objects/outpost/outpost_types.dm index 7b664afdd43c..bd6e7c727b59 100644 --- a/code/modules/overmap/objects/outpost/outpost_types.dm +++ b/code/modules/overmap/objects/outpost/outpost_types.dm @@ -61,37 +61,6 @@ dock_width = 56 dock_height = 40 -/* - Nanotrasen Ice Asteroid -*/ -/datum/map_template/outpost/nt_asteroid - name = "nanotrasen_asteroid" - -/datum/map_template/outpost/hangar/nt_asteroid_20x20 - name = "hangar/nt_asteroid_20x20" - dock_width = 20 - dock_height = 20 - -/datum/map_template/outpost/hangar/nt_asteroid_40x20 - name = "hangar/nt_asteroid_40x20" - dock_width = 40 - dock_height = 20 - -/datum/map_template/outpost/hangar/nt_asteroid_40x40 - name = "hangar/nt_asteroid_40x40" - dock_width = 40 - dock_height = 40 - -/datum/map_template/outpost/hangar/nt_asteroid_56x20 - name = "hangar/nt_asteroid_56x20" - dock_width = 56 - dock_height = 20 - -/datum/map_template/outpost/hangar/nt_asteroid_56x40 - name = "hangar/nt_asteroid_56x40" - dock_width = 56 - dock_height = 40 - /* Nanotrasen Ice Planet */ From 3a825e29be5de94747e512460e9fc9ab8e2b4791 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Wed, 27 Nov 2024 00:27:14 -0500 Subject: [PATCH 274/344] You can now put Items on Dressers (#3821) ## About The Pull Request As title + makes rack behavior equal to how tables work instead of the jank ass forced slots ## Why It's Good For The Game placing objects for style is nice ## Changelog :cl: add: You can now place objects on dressers. fix: Racks no longer are incredibly annoying to place objects on /:cl: --- code/game/objects/structures/dresser.dm | 36 +++++++++++++++++--- code/game/objects/structures/tables_racks.dm | 11 ++++-- 2 files changed, 39 insertions(+), 8 deletions(-) diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm index ebfda776726f..61944f81198c 100644 --- a/code/game/objects/structures/dresser.dm +++ b/code/game/objects/structures/dresser.dm @@ -9,14 +9,40 @@ hitsound_type = PROJECTILE_HITSOUND_WOOD /obj/structure/dresser/attackby(obj/item/I, mob/user, params) - if(I.tool_behaviour == TOOL_WRENCH) - to_chat(user, "You begin to [anchored ? "unwrench" : "wrench"] [src].") - if(I.use_tool(src, user, 20, volume=50)) - to_chat(user, "You successfully [anchored ? "unwrench" : "wrench"] [src].") - set_anchored(!anchored) + var/list/modifiers = params2list(params) + if(user.transferItemToLoc(I, drop_location(), silent = FALSE)) + //Center the icon where the user clicked. + if(!LAZYACCESS(modifiers, ICON_X) || !LAZYACCESS(modifiers, ICON_Y)) + return + //Clamp it so that the icon never moves more than 16 pixels in either direction (thus leaving the table turf) + I.pixel_x = clamp(text2num(LAZYACCESS(modifiers, ICON_X)) - 16, -(world.icon_size/2), world.icon_size/2) + I.pixel_y = clamp(text2num(LAZYACCESS(modifiers, ICON_Y)) - 16, -(world.icon_size/2), world.icon_size/2) + return TRUE else return ..() +/obj/structure/dresser/wrench_act(mob/living/user, obj/item/I) + . = ..() + to_chat(user, "You begin to [anchored ? "unwrench" : "wrench"] [src].") + if(I.use_tool(src, user, 20, volume=50)) + to_chat(user, "You successfully [anchored ? "unwrench" : "wrench"] [src].") + set_anchored(!anchored) + +/obj/structure/dresser/crowbar_act(mob/living/user, obj/item/I) + . = ..() + if(!anchored) + to_chat(user, span_notice("You begin to pull apart [src].")) + if(I.use_tool(src, user, 30, volume=50)) + to_chat(user, span_notice("You successfully deconstruct [src].")) + deconstruct() + +/obj/structure/dresser/deconstruct_act(mob/living/user, obj/item/I) + . = ..() + to_chat(user, span_notice("You begin to disassemble [src].")) + if(I.use_tool(src, user, 10, volume=50)) + to_chat(user, span_notice("You successfully deconstruct [src].")) + deconstruct() + /obj/structure/dresser/deconstruct(disassembled = TRUE) new /obj/item/stack/sheet/mineral/wood(drop_location(), 10) qdel(src) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 6887ba3d59a2..fdafc92db4ac 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -684,15 +684,20 @@ step(O, get_dir(O, src)) /obj/structure/rack/attackby(obj/item/W, mob/user, params) + var/list/modifiers = params2list(params) if (W.tool_behaviour == TOOL_WRENCH && !(flags_1&NODECONSTRUCT_1) && user.a_intent != INTENT_HELP) W.play_tool_sound(src) deconstruct(TRUE) return if(user.a_intent == INTENT_HARM) return ..() - if(user.transferItemToLoc(W, drop_location())) - W.pixel_x = pick(9,0,-9) - W.pixel_y = pick(10,1) + if(user.transferItemToLoc(W, drop_location(), silent = FALSE)) + //Center the icon where the user clicked. + if(!LAZYACCESS(modifiers, ICON_X) || !LAZYACCESS(modifiers, ICON_Y)) + return + //Clamp it so that the icon never moves more than 16 pixels in either direction (thus leaving the table turf) + W.pixel_x = clamp(text2num(LAZYACCESS(modifiers, ICON_X)) - 16, -(world.icon_size/2), world.icon_size/2) + W.pixel_y = clamp(text2num(LAZYACCESS(modifiers, ICON_Y)) - 16, -(world.icon_size/2), world.icon_size/2) return TRUE /obj/structure/rack/attack_paw(mob/living/user) From d971cd74e77c18effd4081fe2b69a7956b5071d1 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Wed, 27 Nov 2024 00:29:45 -0500 Subject: [PATCH 275/344] Reduce Claymore Explosive Power (#3817) ## About My PR Claymores work off shrapnel. not delimbing someone with a shaped blast. ## Changelog :cl: balance: claymores are now less explody - they have increased shrapnel prowess to mildly compensate. /:cl: --- code/game/objects/items/devices/mines.dm | 4 ++-- code/game/objects/items/shrapnel.dm | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items/devices/mines.dm b/code/game/objects/items/devices/mines.dm index 4f2169350d79..6a7887c57601 100644 --- a/code/game/objects/items/devices/mines.dm +++ b/code/game/objects/items/devices/mines.dm @@ -631,8 +631,8 @@ //customize explosive power var/range_devastation = -1 - var/range_heavy = 1 - var/range_light = 2 + var/range_heavy = 0 + var/range_light = 1 var/range_flame = 0 //using this to indicate pb diff --git a/code/game/objects/items/shrapnel.dm b/code/game/objects/items/shrapnel.dm index c95f0fded445..8eb154baf74f 100644 --- a/code/game/objects/items/shrapnel.dm +++ b/code/game/objects/items/shrapnel.dm @@ -153,7 +153,7 @@ /obj/item/ammo_casing/caseless/shrapnel name = "directional shrapnel burst :D" desc = "I May Have Overreacted" - pellets = 4 + pellets = 5 variance = 70 projectile_type = /obj/projectile/bullet/shrapnel/claymore randomspread = TRUE @@ -161,7 +161,7 @@ /obj/item/ammo_casing/caseless/shrapnel/shred name = "point blank directional shrapnel burst" desc = "Claymores are lethal to armored infantry at point blank range." - pellets = 3 + pellets = 4 variance = 50 projectile_type = /obj/projectile/bullet/shrapnel/claymore/pointbl randomspread = TRUE From 7965c6f4c8673eb378fafa1795a93e12d6a6c8aa Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Wed, 27 Nov 2024 00:47:06 -0500 Subject: [PATCH 276/344] Anomaly Core Edits (#3786) ## About The Pull Request most anomaly cores now grind down into something (usually on the rare side) plasmasouls will no longer turn into a raging inferno if shot at new detonate effect for phantom cores and plasmasoul cores. ## Changelog :cl: add: new detonate effect for phantom cores and plasmasoul cores. add: Anomaly cores now grind down into something. balance: plasmasouls suck less /:cl: --------- Signed-off-by: Erika Fox <94164348+Erikafox@users.noreply.github.com> Co-authored-by: Mark Suckerberg --- .../effects/anomalies/anomalies_plasmasoul.dm | 4 ++ .../effects/anomalies/anomalies_veins.dm | 4 +- code/modules/assembly/anomalies.dm | 48 ++++++++++++++++--- 3 files changed, 47 insertions(+), 9 deletions(-) diff --git a/code/game/objects/effects/anomalies/anomalies_plasmasoul.dm b/code/game/objects/effects/anomalies/anomalies_plasmasoul.dm index f2d9bf6308a5..04157af5ff27 100644 --- a/code/game/objects/effects/anomalies/anomalies_plasmasoul.dm +++ b/code/game/objects/effects/anomalies/anomalies_plasmasoul.dm @@ -18,6 +18,10 @@ harm_surrounding_mobs() /obj/effect/anomaly/plasmasoul/Bumped(atom/movable/AM) + if(!COOLDOWN_FINISHED(src, pulse_cooldown)) + return + + COOLDOWN_START(src, pulse_cooldown, pulse_delay) var/turf/open/spot = locate(rand(src.x-effectrange, src.x+effectrange), rand(src.y-effectrange, src.y+effectrange), src.z) harm_surrounding_mobs() if(istype(spot)) diff --git a/code/game/objects/effects/anomalies/anomalies_veins.dm b/code/game/objects/effects/anomalies/anomalies_veins.dm index b148f2d01666..e23728356b8d 100644 --- a/code/game/objects/effects/anomalies/anomalies_veins.dm +++ b/code/game/objects/effects/anomalies/anomalies_veins.dm @@ -1,7 +1,7 @@ /obj/effect/anomaly/veins - name = "veins" + name = "fountain" icon_state = "veins" - desc = "Throbbing purple veins, an exposed artery of the world. It thirsts." + desc = "Throbbing purple veins, an exposed artery of the world. It leaks into the world beyond it." density = TRUE core = /obj/item/assembly/signaler/anomaly/veins effectrange = 3 diff --git a/code/modules/assembly/anomalies.dm b/code/modules/assembly/anomalies.dm index 0b390b39e8b4..9770370624b8 100644 --- a/code/modules/assembly/anomalies.dm +++ b/code/modules/assembly/anomalies.dm @@ -49,6 +49,7 @@ name = "\improper bluespace anomaly core" desc = "The stabilized core of a bluespace anomaly. It keeps phasing in and out of view." icon_state = "anomaly core" + grind_results = list(/datum/reagent/bluespace = 25) /obj/item/assembly/signaler/anomaly/bluespace/anomaly_core_detonation() //just teleports people @@ -62,11 +63,12 @@ name = "\improper flux anomaly core" desc = "The stabilized core of a flux anomaly. Touching it makes your skin tingle." icon_state = "flux core" + grind_results = list(/datum/reagent/teslium = 15) /obj/item/assembly/signaler/anomaly/flux/anomaly_core_detonation() //zap visible_message(span_warning("Electrical arcs flash off of [src] as it fizzles out!")) - tesla_zap(src, 3, 1000, ZAP_FUSION_FLAGS) + tesla_zap(src, 5, 7000, ZAP_FUSION_FLAGS) ..() ///Gravity Anomaly @@ -74,6 +76,7 @@ name = "\improper gravitational anomaly core" desc = "The stabilized core of a gravitational anomaly. It feels much heavier than it looks." icon_state = "grav core" + grind_results = list(/datum/reagent/gravitum = 20, /datum/reagent/liquid_dark_matter = 10) /obj/item/assembly/signaler/anomaly/grav/anomaly_core_detonation() //throngles u cutely @@ -90,15 +93,17 @@ name = "\improper hallucination anomaly core" desc = "The stabilized core of a hallucination anomaly. It's never entirely there." icon_state = "hallucination_core" + grind_results = list(/datum/reagent/toxin/mindbreaker = 20) //LSD orb ///Heartbeat Anomaly /obj/item/assembly/signaler/anomaly/heartbeat name = "\improper heartbeat anomaly core" desc = "The stabilized core of a heartbeat anomaly. Pulses of heat run across its shell." + grind_results = list(/datum/reagent/uranium/radium = 30, /datum/reagent/uranium = 20) /obj/item/assembly/signaler/anomaly/heartbeat/anomaly_core_detonation() visible_message(span_warning("[src] expands and throbs, before shattering into dozens of fragments!")) - radiation_pulse(src, 500, 2) + radiation_pulse(src, 1000, 3) new /obj/effect/decal/cleanable/glass/strange(src) ..() @@ -107,6 +112,7 @@ name = "\improper melter anomaly core" desc = "The stabilized core of a melter anomaly. It sizzles and crackles." icon_state = "pyro core" + grind_results = list(/datum/reagent/toxin/acid/nitracid = 10, /datum/reagent/toxin/acid/fluacid = 10, /datum/reagent/toxin/acid = 10) //soup /obj/item/assembly/signaler/anomaly/melter/anomaly_core_detonation() visible_message(span_warning("[src] melts into a glowing residue!")) @@ -117,25 +123,42 @@ /obj/item/assembly/signaler/anomaly/phantom name = "\improper phantom anomaly core" desc = "The stabilized core of a phantom anomaly. It quietly screams." + grind_results = list(/datum/reagent/blood = 20) /obj/item/assembly/signaler/anomaly/phantom/anomaly_core_detonation() playsound(src,'sound/hallucinations/far_noise.ogg', 100, 0, 50, TRUE, TRUE) - visible_message(span_warning("[src] screams as it disappates!")) + visible_message(span_warning("[src] screams as it fades, trying to lash out!")) + for(var/mob/living/carbon/handsy in range(5, src)) + if(handsy.stat != DEAD) + var/grab_dir = turn(handsy.dir, pick(-90, 90, 180, 180)) + var/turf/spawn_turf = get_ranged_target_turf(handsy, grab_dir, 8) + if(!spawn_turf) + return + new /obj/effect/temp_visual/dir_setting/curse/grasp_portal(spawn_turf, handsy.dir) + playsound(spawn_turf, 'sound/effects/curse2.ogg', 80, TRUE, -1) + var/obj/projectile/curse_hand/phantom/hand = new (spawn_turf) + hand.preparePixelProjectile(handsy, spawn_turf) + if(QDELETED(hand)) + return + hand.fire() ..() ///Plasmasoul Anomaly /obj/item/assembly/signaler/anomaly/plasmasoul name = "\improper plasmasoul anomaly core" desc = "The stabilized core of a plasmasoul anomaly. The air around it hisses." + grind_results = list(/datum/reagent/toxin/plasma = 50) /obj/item/assembly/signaler/anomaly/plasmasoul/anomaly_core_detonation() - visible_message(span_warning("[src] rapidly delaminates, leaving behind trace vapors!")) + visible_message(span_warning("[src] rapidly delaminates into plasma!")) + atmos_spawn_air("plasma=500;TEMP=[T20C]") ..() ///Pulsar Anomaly /obj/item/assembly/signaler/anomaly/pulsar name = "\improper pulsar anomaly core" desc = "The stabilized core of a pulsar anomaly. Electromagnetic crackles come off it." + grind_results = list(/datum/reagent/iron = 25, /datum/reagent/uranium = 25) /obj/item/assembly/signaler/anomaly/pulsar/anomaly_core_detonation() visible_message(span_warning("[src] gives off one last pulse as it melts!")) @@ -144,9 +167,10 @@ ///Pyroclastic Anomaly /obj/item/assembly/signaler/anomaly/pyro - name = "\improper pyroclastic anomaly core" - desc = "The stabilized core of a pyroclastic anomaly. It almost burns to touch." + name = "\improper plasmaball anomaly core" + desc = "The stabilized core of a plasmaball anomaly. It almost burns to touch." icon_state = "pyro core" + grind_results = list(/datum/reagent/clf3 = 25, /datum/reagent/toxin/plasma = 15) //glorified molotov /obj/item/assembly/signaler/anomaly/pyro/anomaly_core_detonation() @@ -163,6 +187,7 @@ /obj/item/assembly/signaler/anomaly/sparkler name = "\improper sparkler anomaly core" desc = "The stabilized core of a sparkler anomaly. Tiny electrical sparks arc off it." + grind_results = list(/datum/reagent/teslium = 10) /obj/item/assembly/signaler/anomaly/sparkler/anomaly_core_detonation() visible_message(span_warning("[src] shoots out one last assortment of sparks!")) @@ -173,6 +198,7 @@ /obj/item/assembly/signaler/anomaly/tvstatic name = "\improper static anomaly core" desc = "The stabilized core of a static anomaly. Your head hurts just staring at it" + grind_results = list(/datum/reagent/three_eye = 5) /obj/item/assembly/signaler/anomaly/tvstatic/anomaly_core_detonation() visible_message(span_warning("[src] withdraws into itself, one last message escaping it!")) @@ -188,6 +214,7 @@ name = "\improper transfusion anomaly core" desc = "The stabilized core of a tranfusion anomaly. Crimson slowly seeps out of the containment unit." icon_state = "pyro core" + grind_results = list(/datum/reagent/toxin/heparin = 15, /datum/reagent/blood = 35) var/blood_stored var/blood_max @@ -222,6 +249,11 @@ /obj/item/assembly/signaler/anomaly/veins name = "\improper fountain anomaly core" desc = "The stabilized core of a fountain anomaly. It's slippery, like an intestine." + grind_results = list(/datum/reagent/medicine/strange_reagent = 1) + +/obj/item/assembly/signaler/anomaly/veins/Initialize() + . = ..() + grind_results = list(/datum/reagent/medicine/strange_reagent = rand(10,20)) /obj/item/assembly/signaler/anomaly/veins/anomaly_core_detonation() //goreshit @@ -231,7 +263,8 @@ /obj/effect/gibspawner/generic/animal )) visible_message(span_warning("[src] erupts into a fountain of gore and viserca!")) - new mess(src.loc) + for(var/i in 1 to 4) + new mess(src.loc) ..() ///Vortex Anomaly @@ -239,6 +272,7 @@ name = "\improper vortex anomaly core" desc = "The stabilized core of a vortex anomaly. It won't sit still, as if some invisible force is acting on it." icon_state = "vortex core" + grind_results = list(/datum/reagent/liquid_dark_matter = 30) /obj/item/assembly/signaler/anomaly/vortex/anomaly_core_detonation() //disappears bigly From 76be537ad47711427769836e2958440022c5992a Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Wed, 27 Nov 2024 00:47:49 -0500 Subject: [PATCH 277/344] blood drip randomization + ammo casings (#3731) mapping tools as title :cl: code: more spent casings + blood drips moving themselves on mapload /:cl: --- .../effects/decals/cleanable/humans.dm | 10 +++++ .../projectiles/ammunition/_ammo_casing.dm | 45 +++++++++++++++++-- 2 files changed, 51 insertions(+), 4 deletions(-) diff --git a/code/game/objects/effects/decals/cleanable/humans.dm b/code/game/objects/effects/decals/cleanable/humans.dm index 5de5510bec7b..8f49c0d667cc 100644 --- a/code/game/objects/effects/decals/cleanable/humans.dm +++ b/code/game/objects/effects/decals/cleanable/humans.dm @@ -178,6 +178,16 @@ var/drips = 1 dryname = "drips of blood" drydesc = "It's red." + var/move_on_init = TRUE + +/obj/effect/decal/cleanable/blood/drip/Initialize(mapload, list/datum/disease/diseases) + . = ..() + dry() + add_blood_DNA(list("Non-human DNA" = random_blood_type())) + if(move_on_init) + pixel_x = rand(-16,16) + pixel_y = rand(-16, 16) + /obj/effect/decal/cleanable/blood/drip/can_bloodcrawl_in() return TRUE diff --git a/code/modules/projectiles/ammunition/_ammo_casing.dm b/code/modules/projectiles/ammunition/_ammo_casing.dm index 4d53b664a975..b478523f7b95 100644 --- a/code/modules/projectiles/ammunition/_ammo_casing.dm +++ b/code/modules/projectiles/ammunition/_ammo_casing.dm @@ -153,10 +153,6 @@ ammo_stack.update_ammo_count() return ammo_stack -/obj/item/ammo_casing/spent - name = "spent bullet casing" - BB = null - /obj/item/ammo_casing/Initialize() . = ..() if(projectile_type) @@ -221,3 +217,44 @@ else if(location.bullet_bounce_sound) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(playsound), src, pick(location.bullet_bounce_sound), 20, 1), bounce_delay) //Soft / non-solid turfs that shouldn't make a sound when a shell casing is ejected over them. + +/obj/item/ammo_casing/spent + name = "spent bullet casing" + projectile_type = null + BB = null + +/obj/item/ammo_casing/spent/pistol_brass + icon_state = "pistol-brass" + +/obj/item/ammo_casing/spent/pistol_steel + icon_state = "pistol-steel" + +/obj/item/ammo_casing/spent/magnum_brass + icon_state = "magnum-brass" + +/obj/item/ammo_casing/spent/magnum_steel + icon_state = "magnum-steel" + +/obj/item/ammo_casing/spent/rifle_brass + icon_state = "rifle-brass" + +/obj/item/ammo_casing/spent/rifle_steel + icon_state = "rifle-steel" + +/obj/item/ammo_casing/spent/big_brass + icon_state = "big-brass" + +/obj/item/ammo_casing/spent/big_steel + icon_state = "big-steel" //balls + +/obj/item/ammo_casing/spent/slug + icon_state = "slug" + +/obj/item/ammo_casing/spent/slug/buck + icon_state = "buckshot" + +/obj/item/ammo_casing/spent/slug/beanbag + icon_state = "beanbag" + +/obj/item/ammo_casing/spent/slug/rubber + icon_state = "rubber" From 738beefbbc726fdc91766945618fabff3c424803 Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Wed, 27 Nov 2024 00:02:58 -0600 Subject: [PATCH 278/344] Makes the HP Beacon cheaper (#3834) ## About The Pull Request Makes the Beacon 1000 instead of 2250 Makes .45-70 slightly less expensive ## Why It's Good For The Game Despite hitting really hard its a pretty sluggish weapon to use and the ammo is already really expensive for not a lot of shots. Should make this a more frequent buy ## Changelog :cl: balance: The HP Beacon is now 1000 credits balance: .45-70 standard is now 400 and .45-70 match is now 800 /:cl: --------- Co-authored-by: github-actions --- code/modules/cargo/packs/ammo.dm | 4 ++-- code/modules/cargo/packs/gun.dm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/cargo/packs/ammo.dm b/code/modules/cargo/packs/ammo.dm index 641247c2612a..d3b87bb2aed9 100644 --- a/code/modules/cargo/packs/ammo.dm +++ b/code/modules/cargo/packs/ammo.dm @@ -248,13 +248,13 @@ name = ".45-70 Ammo Box Crate" desc = "Contains a 20-round box containing devastatingly powerful .45-70 caliber ammunition." contains = list(/obj/item/storage/box/ammo/a4570) - cost = 500 + cost = 400 /datum/supply_pack/ammo/a4570_box/match name = ".45-70 Match Crate" desc = "Contains a 20-round box containing devastatingly powerful .45-70 caliber ammunition, that travels faster, pierces armour better, and ricochets off targets." contains = list(/obj/item/storage/box/ammo/a4570_match) - cost = 1000 + cost = 800 /* 7.62 */ diff --git a/code/modules/cargo/packs/gun.dm b/code/modules/cargo/packs/gun.dm index b15d0029ed21..fd5eac41c228 100644 --- a/code/modules/cargo/packs/gun.dm +++ b/code/modules/cargo/packs/gun.dm @@ -211,7 +211,7 @@ /datum/supply_pack/gun/beacon name = "Beacon Break Action Rifle Crate" desc = "Contains a single shot break action rifle to hunt wildlife that annoys you in particular. Chambered in devastating .45-70 rounds. Warranty voided if sawed off." - cost = 2250 + cost = 1000 contains = list(/obj/item/storage/guncase/beacon) crate_name = "rifle crate" faction = FACTION_SRM From 8ec3e27b1563b5dbe724a8eb3189ae3f1277e315 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Wed, 27 Nov 2024 01:54:37 -0500 Subject: [PATCH 279/344] More Hivebot Changes (#3831) ## About The Pull Request Hivebots now drop stock parts. Stronger ones drop better parts. Some hivebots drop more metal core defender hivebots now explode on death. ## Why It's Good For The Game I heard the hivebot stuff get called nothingburgers and honestly yeag. this should make them less so ## Changelog :cl: add: hivebots now drop stock parts. Stronger ones drop better parts /:cl: --- .../spawners/random.dm/waste_planet.dm | 40 +++++++++++++++++++ .../living/simple_animal/hostile/hivebot.dm | 39 ++++++++++++++++-- 2 files changed, 75 insertions(+), 4 deletions(-) diff --git a/code/game/objects/effects/spawners/random.dm/waste_planet.dm b/code/game/objects/effects/spawners/random.dm/waste_planet.dm index 22618dada63d..b90b335b62ae 100644 --- a/code/game/objects/effects/spawners/random.dm/waste_planet.dm +++ b/code/game/objects/effects/spawners/random.dm/waste_planet.dm @@ -82,6 +82,7 @@ /obj/structure/girder/displaced, /obj/structure/girder/reinforced ) + /obj/effect/spawner/random/waste/hivebot loot = list( /obj/effect/spawner/random/salvage/metal, @@ -97,5 +98,44 @@ ) spawn_loot_count = 2 +/obj/effect/spawner/random/waste/hivebot/more + spawn_loot_count = 4 + +/obj/effect/spawner/random/waste/hivebot/part + loot = list( + /obj/item/stock_parts/capacitor, + /obj/item/stock_parts/scanning_module, + /obj/item/stock_parts/manipulator, + /obj/item/stock_parts/micro_laser, + /obj/item/stock_parts/matter_bin, + /obj/item/stock_parts/capacitor/adv, + /obj/item/stock_parts/scanning_module/adv, + /obj/item/stock_parts/manipulator/nano, + /obj/item/stock_parts/micro_laser/high, + /obj/item/stock_parts/matter_bin/adv, + ) + spawn_loot_count = 1 + spawn_loot_chance = 100 + +/obj/effect/spawner/random/waste/hivebot/part/heavy + loot = list( + /obj/item/stock_parts/capacitor/super, + /obj/item/stock_parts/scanning_module/phasic, + /obj/item/stock_parts/manipulator/pico, + /obj/item/stock_parts/micro_laser/ultra, + /obj/item/stock_parts/matter_bin/super, + ) + + +/obj/effect/spawner/random/waste/hivebot/part/superheavy + loot = list( + /obj/item/stock_parts/capacitor/quadratic, + /obj/item/stock_parts/scanning_module/triphasic, + /obj/item/stock_parts/manipulator/femto, + /obj/item/stock_parts/micro_laser/quadultra, + /obj/item/stock_parts/matter_bin/bluespace, + ) + + /obj/effect/spawner/random/waste/hivebot/beacon spawn_loot_count = 6 diff --git a/code/modules/mob/living/simple_animal/hostile/hivebot.dm b/code/modules/mob/living/simple_animal/hostile/hivebot.dm index e4d4c090ca4e..b1ec09756c82 100644 --- a/code/modules/mob/living/simple_animal/hostile/hivebot.dm +++ b/code/modules/mob/living/simple_animal/hostile/hivebot.dm @@ -35,7 +35,11 @@ del_on_death = 1 minbodytemp = 0 maxbodytemp = 600 - loot = list(/obj/effect/decal/cleanable/robot_debris) + loot = list( + /obj/effect/decal/cleanable/robot_debris, + /obj/effect/spawner/random/waste/hivebot, + /obj/effect/spawner/random/waste/hivebot/part, + ) //yeah so it turns out that /simple_animal/hostile gets upset when you call say because say contains a sleep. so we have to do this on subtypes. var/list/aggro_blurb = list("INFILTRATOR WITHIN AO!!", "TERMINATE HOSTILE!!", "DEFEND TERMINUS!!", "CODE 7-34!!") @@ -75,7 +79,6 @@ /mob/living/simple_animal/hostile/hivebot/death(gibbed) do_sparks(3, TRUE, src) - new /obj/effect/spawner/random/waste/hivebot(loc) ..(TRUE) /mob/living/simple_animal/hostile/hivebot/ranged @@ -87,6 +90,12 @@ ranged = TRUE retreat_distance = 5 minimum_distance = 5 + loot = list( + /obj/effect/decal/cleanable/robot_debris, + /obj/effect/spawner/random/waste/hivebot, + /obj/effect/spawner/random/waste/hivebot/part, + /obj/effect/spawner/random/waste/hivebot/part, + ) /mob/living/simple_animal/hostile/hivebot/ranged/rapid ranged = TRUE @@ -108,7 +117,14 @@ projectilesound = 'sound/weapons/gun/rifle/hydra.ogg' melee_damage_lower = 12 melee_damage_upper = 20 - move_to_delay = 7 + move_to_delay = 10 + loot = list( + /obj/effect/decal/cleanable/robot_debris, + /obj/effect/spawner/random/waste/hivebot/more, + /obj/effect/spawner/random/waste/hivebot/part/heavy, + /obj/effect/spawner/random/waste/hivebot/part, + /obj/effect/spawner/random/waste/hivebot/part, + ) /mob/living/simple_animal/hostile/hivebot/defender //slave to the system name = "core hivebot" @@ -131,7 +147,22 @@ melee_damage_lower = 15 melee_damage_upper = 28 - move_to_delay = 15 + move_to_delay = 20 + + loot = list( + /obj/effect/decal/cleanable/robot_debris, + /obj/effect/spawner/random/waste/hivebot/more, + /obj/effect/spawner/random/waste/hivebot/part/superheavy, + /obj/effect/spawner/random/waste/hivebot/part/heavy, + /obj/effect/spawner/random/waste/hivebot/part/heavy, + ) + +/mob/living/simple_animal/hostile/hivebot/defender/death(gibbed) + //once we get better sprites i want this to be like the claw's death. aka fucking cool. + radiation_pulse(src, 500) + explosion(src, 0,1,3,3,) + ..(TRUE) + /mob/living/simple_animal/hostile/hivebot/defender/Initialize(mapload) . = ..() From addbab267c0d263f1db38a5d17d915c345f6c151 Mon Sep 17 00:00:00 2001 From: Apogee-dev <60533805+Apogee-dev@users.noreply.github.com> Date: Tue, 26 Nov 2024 22:56:37 -0800 Subject: [PATCH 280/344] Replaces sec hailers in outfits, boxes, and maps (#3828) ## About The Pull Request Replaces sec hailers with breath masks or faction-appropriate gas masks wherever they appear. ## Why It's Good For The Game Hailers are kind of a vestigial station item at this point, theoretically associated with Vigilitas but still having the same design from TG. I don't like them for a couple reasons. - First off: they're gas masks that fit in your pocket. No eye protection, yes, but any future gas mask buffs (and they do need buffs) would also apply to these. This is the exact reason I made balaclavas breath masks instead of gas masks earlier this year. Major protection in your pocket is boring the way noslips are boring, and stuff like that should look bulky and _be_ bullky. - Secondly: Aesthetically, they don't match VI's style. Or anyone's, really. VI's friendly neighborhood mall cops wouldn't wear them and militaries would just use actual full face masks. - Thirdly: pretty much anywhere they're currently used, they could be replaced with a normal breath mask or a normal gas mask (which is, of course, exactly what this PR does). ## Changelog :cl: balance: replaced sec hailers in outfits and maps with gas masks or breath masks depending on circumstance /:cl: --- .../RockRuins/rockplanet_budgetcuts.dmm | 26 +- _maps/shuttles/inteq/inteq_valor.dmm | 2 +- .../shuttles/nanotrasen/nanotrasen_heron.dmm | 2 +- .../shuttles/nanotrasen/nanotrasen_ranger.dmm | 536 +++++++++--------- .../syndicate_cybersun_litieguai.dmm | 6 +- code/game/machinery/suit_storage_unit.dm | 6 +- code/game/objects/items/storage/boxes.dm | 2 +- .../crates_lockers/closets/secure/security.dm | 4 +- code/modules/cargo/packs/costumes_toys.dm | 2 +- .../clothing/outfits/ert/frontiersmen_ert.dm | 2 +- .../hostile/human/frontiersman.dm | 14 +- .../hostile/mining_mobs/hivelord_outfits.dm | 2 +- 12 files changed, 297 insertions(+), 307 deletions(-) diff --git a/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm b/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm index 4f7dd5413840..3eeb093aa53f 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm @@ -96,7 +96,6 @@ req_access_txt = "3" }, /obj/item/gun/energy/e_gun/hos, -/obj/item/clothing/mask/gas/sechailer, /obj/item/clothing/shoes/cowboy/black, /obj/item/storage/belt/military, /obj/item/clothing/suit/armor/vest/leather, @@ -106,6 +105,7 @@ /obj/item/clothing/under/rank/security/head_of_security/alt/skirt, /obj/item/clothing/under/rank/security/head_of_security/nt, /obj/item/clothing/under/rank/security/head_of_security/nt/skirt, +/obj/item/clothing/mask/gas/vigilitas, /turf/open/floor/wood, /area/ruin/rockplanet/nanotrasen) "by" = ( @@ -566,8 +566,8 @@ "jb" = ( /obj/structure/bed, /obj/effect/turf_decal/industrial/warning{ - dir = 2; - color = "#808080" + color = "#808080"; + dir = 2 }, /obj/effect/decal/cleanable/vomit, /obj/effect/decal/cleanable/blood/old, @@ -944,8 +944,8 @@ "oO" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/item/wallframe/light_fixture{ - pixel_y = -14; - pixel_x = 10 + pixel_x = 10; + pixel_y = -14 }, /turf/open/floor/plating{ icon_state = "panelscorched" @@ -1185,8 +1185,8 @@ pixel_y = 5 }, /obj/item/trash/sosjerky{ - pixel_y = 8; - pixel_x = -2 + pixel_x = -2; + pixel_y = 8 }, /turf/open/floor/plasteel/dark, /area/ruin/rockplanet/nanotrasen) @@ -1348,8 +1348,8 @@ pixel_x = -32 }, /obj/effect/turf_decal/industrial/warning{ - dir = 1; - color = "#808080" + color = "#808080"; + dir = 1 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, @@ -1615,8 +1615,8 @@ "Bl" = ( /obj/structure/bed, /obj/effect/turf_decal/industrial/warning{ - dir = 1; - color = "#808080" + color = "#808080"; + dir = 1 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, @@ -2139,8 +2139,8 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb, /obj/effect/turf_decal/industrial/warning{ - dir = 2; - color = "#808080" + color = "#808080"; + dir = 2 }, /turf/open/floor/plasteel, /area/ruin/rockplanet/nanotrasen) diff --git a/_maps/shuttles/inteq/inteq_valor.dmm b/_maps/shuttles/inteq/inteq_valor.dmm index 1db2ec07d37b..90bb139eab9e 100644 --- a/_maps/shuttles/inteq/inteq_valor.dmm +++ b/_maps/shuttles/inteq/inteq_valor.dmm @@ -668,7 +668,7 @@ /obj/effect/turf_decal/industrial/outline/yellow, /obj/item/clothing/glasses/hud/security/sunglasses/inteq, /obj/item/clothing/head/helmet/swat/inteq, -/obj/item/clothing/mask/gas/sechailer, +/obj/item/clothing/mask/gas/inteq, /obj/item/radio/intercom/directional/north, /turf/open/floor/plasteel, /area/ship/crew/office) diff --git a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm index 29a64340fe3d..31b65dd7747c 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm @@ -2587,7 +2587,7 @@ /obj/item/clothing/accessory/medal/gold/heroism, /obj/item/clothing/accessory/holster/detective, /obj/item/clothing/mask/bandana/skull, -/obj/item/clothing/mask/gas/sechailer, +/obj/item/clothing/mask/gas/vigilitas, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/steeldecal/steel_decals10, /obj/effect/turf_decal/steeldecal/steel_decals10{ diff --git a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm index b38ddeee9892..c006dcd06703 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm @@ -2,16 +2,16 @@ "ab" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ + layer = 4.2; pixel_x = 5; - pixel_y = 11; - layer = 4.2 + pixel_y = 11 }, /obj/item/toy/plush/moth/redish{ pixel_x = -4 }, /obj/item/folder/red{ - pixel_x = -4; layer = 3.01; + pixel_x = -4; pixel_y = -8 }, /obj/effect/turf_decal/siding/wood{ @@ -20,9 +20,9 @@ /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, /obj/machinery/light_switch{ + dir = 8; pixel_x = 20; - pixel_y = 11; - dir = 8 + pixel_y = 11 }, /turf/open/floor/wood, /area/ship/crew/specialized/security) @@ -70,8 +70,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/stairs{ - dir = 1; - color = "#a8b2b6" + color = "#a8b2b6"; + dir = 1 }, /area/ship/bridge) "aD" = ( @@ -112,8 +112,8 @@ dir = 8 }, /obj/effect/turf_decal/siding{ - dir = 4; - color = "#730622" + color = "#730622"; + dir = 4 }, /obj/machinery/door/poddoor/shutters{ dir = 4; @@ -345,9 +345,9 @@ dir = 1 }, /obj/item/radio/weather_monitor{ - pixel_x = 25; anchored = 1; - name = "barometric monitor" + name = "barometric monitor"; + pixel_x = 25 }, /turf/open/floor/circuit/telecomms, /area/ship/science/ai_chamber) @@ -383,8 +383,8 @@ "cW" = ( /obj/docking_port/mobile{ dir = 2; - preferred_direction = 4; - port_direction = 8 + port_direction = 8; + preferred_direction = 4 }, /obj/machinery/camera/autoname, /obj/machinery/light/floor, @@ -412,8 +412,8 @@ /obj/machinery/light/small/directional/south, /obj/machinery/light_switch{ dir = 4; - pixel_y = 8; - pixel_x = -21 + pixel_x = -21; + pixel_y = 8 }, /turf/open/floor/carpet/orange, /area/ship/crew/specialized/cargo) @@ -463,8 +463,8 @@ dir = 4 }, /obj/effect/turf_decal/siding/thinplating{ - dir = 1; - color = "#a8b2b6" + color = "#a8b2b6"; + dir = 1 }, /obj/effect/turf_decal/trimline/opaque/vired/arrow_ccw, /obj/machinery/light/dim/directional/north, @@ -544,9 +544,9 @@ /area/ship/hallway/central) "ef" = ( /obj/docking_port/stationary{ - width = 30; + dwidth = 15; height = 15; - dwidth = 15 + width = 30 }, /turf/template_noop, /area/template_noop) @@ -586,8 +586,8 @@ dir = 4 }, /obj/effect/turf_decal/siding/thinplating{ - dir = 1; - color = "#a8b2b6" + color = "#a8b2b6"; + dir = 1 }, /obj/effect/turf_decal/trimline/opaque/vired/arrow_ccw, /obj/machinery/advanced_airlock_controller{ @@ -633,16 +633,16 @@ "eT" = ( /obj/machinery/button/door{ dir = 1; - pixel_y = -21; id = "Rangar_Starboard_Blasts"; name = "Blast Doors"; + pixel_y = -21; req_ship_access = 1 }, /obj/machinery/button/shieldwallgen{ dir = 1; + id = "Ranger_Starboard_holofield"; pixel_x = 9; - pixel_y = -20; - id = "Ranger_Starboard_holofield" + pixel_y = -20 }, /obj/structure/cable{ icon_state = "4-8" @@ -659,11 +659,11 @@ "eU" = ( /obj/machinery/computer/helm/viewscreen/directional/north, /obj/machinery/button/door{ - pixel_x = 12; - pixel_y = 4; dir = 8; - name = "Supply Quarters Windows"; id = "Ranger_Supply_Specialist_Quarters"; + name = "Supply Quarters Windows"; + pixel_x = 12; + pixel_y = 4; req_ship_access = 1 }, /obj/effect/turf_decal/siding/wood{ @@ -749,8 +749,8 @@ }, /obj/effect/turf_decal/techfloor, /obj/machinery/door/window/brigdoor/northright{ - req_access_txt = "1"; name = "Secure Lockup"; + req_access_txt = "1"; req_ship_access = 1 }, /turf/open/floor/plasteel/tech, @@ -813,11 +813,11 @@ name = "Cryogenic Storage" }, /obj/machinery/button/door{ - pixel_x = -21; dir = 4; - pixel_y = 3; + id = "RangerCryoShutters"; name = "Cryogenics Access"; - id = "RangerCryoShutters" + pixel_x = -21; + pixel_y = 3 }, /turf/open/floor/plasteel/stairs{ color = "#8A9397" @@ -1018,8 +1018,8 @@ pixel_y = 9 }, /obj/item/storage/guncase/pistol{ - pixel_y = -4; - pixel_x = -7 + pixel_x = -7; + pixel_y = -4 }, /obj/item/melee/knife/survival{ pixel_x = 7; @@ -1079,8 +1079,8 @@ /obj/structure/grille, /obj/machinery/door/firedoor/window, /obj/machinery/door/poddoor/shutters{ - id = "Engineering_Specialist_Shutters"; dir = 4; + id = "Engineering_Specialist_Shutters"; name = "Communications Shutters" }, /obj/structure/window/reinforced/fulltile/shuttle, @@ -1177,12 +1177,12 @@ /area/ship/hallway/central) "ix" = ( /obj/item/storage/box/syringes{ - pixel_y = 10; - pixel_x = -5 + pixel_x = -5; + pixel_y = 10 }, /obj/item/reagent_containers/glass/bottle/mannitol{ - pixel_y = 8; - pixel_x = 8 + pixel_x = 8; + pixel_y = 8 }, /obj/item/reagent_containers/glass/bottle/morphine{ pixel_x = 5 @@ -1246,8 +1246,8 @@ dir = 10 }, /obj/item/clipboard{ - pixel_y = -2; - pixel_x = -7 + pixel_x = -7; + pixel_y = -2 }, /obj/item/pen{ pixel_x = -7; @@ -1399,14 +1399,14 @@ icon_state = "computer-right" }, /obj/machinery/light_switch{ - pixel_y = 23; - name = "External Lighting Switch"; color = "#efbc43"; - pixel_x = 6 + name = "External Lighting Switch"; + pixel_x = 6; + pixel_y = 23 }, /obj/item/paper{ - name = "NT Spaceworks Notice"; - default_raw_text = "Dear engineer, please bring your attention to the advanced control mechanisms present on and around this console. There is an external lighting switch to toggle the vessel's exterior lighting, highlighted in yellow, an air alarm connected to this console which controls external atmospherics fittings, and the console itself, which can read external atmosphere from a main sensor affixed to the fore of the vessel. -NT Spaceworks" + default_raw_text = "Dear engineer, please bring your attention to the advanced control mechanisms present on and around this console. There is an external lighting switch to toggle the vessel's exterior lighting, highlighted in yellow, an air alarm connected to this console which controls external atmospherics fittings, and the console itself, which can read external atmosphere from a main sensor affixed to the fore of the vessel. -NT Spaceworks"; + name = "NT Spaceworks Notice" }, /turf/open/floor/plasteel/mono/dark, /area/ship/external/dark) @@ -1421,8 +1421,8 @@ pixel_y = 2 }, /obj/item/storage/firstaid/medical{ - pixel_y = 7; - pixel_x = -2 + pixel_x = -2; + pixel_y = 7 }, /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable{ @@ -1546,8 +1546,8 @@ pixel_y = 10 }, /obj/item/folder/red{ - pixel_x = -4; layer = 3.01; + pixel_x = -4; pixel_y = -8 }, /obj/item/folder, @@ -1637,25 +1637,25 @@ dir = 4 }, /obj/structure/window/reinforced/survival_pod{ - dir = 6; - density = 0 + density = 0; + dir = 6 }, /obj/structure/window/reinforced/survival_pod{ - dir = 10; - density = 0 + density = 0; + dir = 10 }, /turf/open/floor/plasteel/white, /area/ship/crew/specialized/cargo) "lp" = ( /obj/machinery/button/door{ dir = 8; - pixel_y = 6; - pixel_x = 22; id = "Ranger_FireFighting_Shut"; name = "Ready Room"; - req_ship_access = 1; + pixel_x = 22; + pixel_y = 6; + req_one_access = list(50, 10, 5, 1, 20); req_one_access_txt = "50,10,5,1,20"; - req_one_access = list(50, 10, 5, 1, 20) + req_ship_access = 1 }, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 @@ -1680,8 +1680,8 @@ /obj/structure/grille, /obj/machinery/door/poddoor/preopen{ dir = 4; - name = "Intelligence Core"; - id = "AiCore" + id = "AiCore"; + name = "Intelligence Core" }, /obj/structure/window/reinforced/fulltile/shuttle, /turf/open/floor/plating, @@ -1700,8 +1700,8 @@ }, /obj/machinery/door/poddoor/preopen{ dir = 4; - name = "Intelligence Core"; - id = "AiCore" + id = "AiCore"; + name = "Intelligence Core" }, /obj/machinery/door/airlock/engineering/glass{ dir = 4; @@ -1726,8 +1726,8 @@ }, /obj/effect/turf_decal/techfloor, /obj/structure/sign/warning/coldtemp{ - pixel_y = -29; - layer = 2.8 + layer = 2.8; + pixel_y = -29 }, /turf/open/floor/plasteel/mono/dark, /area/ship/engineering) @@ -1804,8 +1804,8 @@ "mv" = ( /obj/machinery/light/dim/directional/east, /obj/effect/turf_decal/siding/thinplating{ - dir = 1; - color = "#a8b2b6" + color = "#a8b2b6"; + dir = 1 }, /obj/machinery/shower{ dir = 1 @@ -1877,28 +1877,28 @@ }, /obj/structure/table/reinforced, /obj/item/stack/marker_beacon/thirty{ + amount = 100; icon_state = "markerrandom"; pixel_x = -9; - pixel_y = 13; - amount = 100 + pixel_y = 13 }, /obj/item/stack/marker_beacon/thirty{ + amount = 100; icon_state = "markerrandom"; pixel_x = 11; - pixel_y = 13; - amount = 100 + pixel_y = 13 }, /obj/item/stack/marker_beacon/thirty{ + amount = 100; icon_state = "markerrandom"; pixel_x = 5; - pixel_y = 13; - amount = 100 + pixel_y = 13 }, /obj/item/stack/marker_beacon/thirty{ + amount = 100; icon_state = "markerrandom"; pixel_x = -2; - pixel_y = 13; - amount = 100 + pixel_y = 13 }, /obj/item/stock_parts/cell/gun, /obj/effect/turf_decal/corner/opaque/syndiered/three_quarters{ @@ -1947,18 +1947,18 @@ "nE" = ( /obj/machinery/button/door{ dir = 2; - pixel_x = -2; - name = "Access Blast Doors"; id = "Ranger_AI_Core_Blasts"; + name = "Access Blast Doors"; + pixel_x = -2; pixel_y = 22; req_access_txt = "10"; req_ship_access = 1 }, /obj/machinery/button/shieldwallgen{ dir = 2; + id = "AI_Core_Field_Engi"; pixel_x = 6; - pixel_y = 20; - id = "AI_Core_Field_Engi" + pixel_y = 20 }, /obj/effect/turf_decal/techfloor{ dir = 8 @@ -2064,8 +2064,8 @@ /obj/structure/chair/sofa/brown/corner/directional/south, /obj/machinery/light/dim/directional/east, /obj/item/ammo_casing/spent{ - pixel_x = 13; - desc = "A spent bullet-casing that someone hid behind the couch, likely to avoid the Lieutenant's ire." + desc = "A spent bullet-casing that someone hid behind the couch, likely to avoid the Lieutenant's ire."; + pixel_x = 13 }, /turf/open/floor/plasteel/lightgrey, /area/ship/hallway/central) @@ -2158,11 +2158,11 @@ }, /obj/machinery/button/door{ dir = 8; - pixel_x = 26; id = "AiCore"; name = "Core Access"; - req_access_txt = "20"; + pixel_x = 26; pixel_y = 8; + req_access_txt = "20"; req_ship_access = 1 }, /obj/effect/turf_decal/spline/fancy/opaque/black{ @@ -2302,12 +2302,12 @@ }, /obj/structure/table/wood, /obj/item/toy/plush/moth/deadhead{ - pixel_x = -7; - layer = 4.3 + layer = 4.3; + pixel_x = -7 }, /obj/item/folder/yellow{ - pixel_y = -4; - pixel_x = 4 + pixel_x = 4; + pixel_y = -4 }, /obj/item/pen/survival{ pixel_x = 5; @@ -2317,11 +2317,11 @@ dir = 5 }, /obj/machinery/button/door{ - pixel_x = 22; - pixel_y = -2; dir = 8; - name = "Engineering Quarters Windows"; id = "Ranger_Engineering_Specialist_Quarters"; + name = "Engineering Quarters Windows"; + pixel_x = 22; + pixel_y = -2; req_ship_access = 1 }, /obj/structure/cable{ @@ -2332,9 +2332,9 @@ pixel_y = 21 }, /obj/item/flashlight/lamp/green{ + layer = 4.2; pixel_x = 12; - pixel_y = 13; - layer = 4.2 + pixel_y = 13 }, /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/wood, @@ -2419,8 +2419,8 @@ dir = 8 }, /obj/effect/turf_decal/siding{ - dir = 4; - color = "#730622" + color = "#730622"; + dir = 4 }, /obj/machinery/door/poddoor/shutters{ dir = 4; @@ -2566,10 +2566,10 @@ dir = 9 }, /obj/machinery/button/door{ - pixel_y = 21; id = "BridgeAtrium"; name = "Atrium Shutters"; pixel_x = 9; + pixel_y = 21; req_ship_access = 1 }, /turf/open/floor/plasteel/telecomms_floor, @@ -2577,9 +2577,9 @@ "sl" = ( /obj/machinery/telecomms/processor/preset_four{ autolinkers = list("processor4","bus"); - network = "nt_commnet"; id = "Nanotrasen Communications Processor"; - layer = 3.09 + layer = 3.09; + network = "nt_commnet" }, /obj/effect/turf_decal/techfloor{ dir = 4 @@ -2655,10 +2655,10 @@ "sU" = ( /obj/machinery/button/door{ dir = 4; - pixel_x = -22; - pixel_y = 8; id = "Ranger_Cycler_Shutters"; name = "Air Cycler Shutters"; + pixel_x = -22; + pixel_y = 8; req_ship_access = 1 }, /obj/structure/chair/handrail{ @@ -2806,11 +2806,11 @@ "tZ" = ( /obj/machinery/button/door{ dir = 4; - pixel_x = -21; - name = "Shutters"; id = "Ranger_SB_maint_shut"; - req_ship_access = 1; - pixel_y = 5 + name = "Shutters"; + pixel_x = -21; + pixel_y = 5; + req_ship_access = 1 }, /turf/open/floor/plating, /area/ship/engineering/engines/starboard) @@ -2859,24 +2859,24 @@ pixel_y = -8 }, /obj/item/holosign_creator/engineering{ - pixel_y = 6; - pixel_x = -5 + pixel_x = -5; + pixel_y = 6 }, /obj/item/holosign_creator/atmos{ - pixel_y = 6; - pixel_x = 6 + pixel_x = 6; + pixel_y = 6 }, /obj/item/flashlight/seclite{ pixel_x = 2; pixel_y = 15 }, /obj/item/gps{ - pixel_y = 9; - pixel_x = -12 + pixel_x = -12; + pixel_y = 9 }, /obj/item/melee/knife/survival{ - pixel_y = 6; - pixel_x = 5 + pixel_x = 5; + pixel_y = 6 }, /obj/item/clothing/head/welding{ pixel_y = -9 @@ -2894,9 +2894,9 @@ /area/ship/engineering) "ux" = ( /obj/machinery/telecomms/hub{ - network = "nt_commnet"; + autolinkers = list("hub","bus","relay","messaging","nanotrasen","broadcasterB","receiverB"); id = "Nanotrasen Communications Hub"; - autolinkers = list("hub","bus","relay","messaging","nanotrasen","broadcasterB","receiverB") + network = "nt_commnet" }, /obj/effect/turf_decal/techfloor{ dir = 1 @@ -2924,8 +2924,8 @@ dir = 1 }, /obj/machinery/door/poddoor/shutters/preopen{ - name = "Corridor Lockdown Port"; - id = "RangerPortShutters" + id = "RangerPortShutters"; + name = "Corridor Lockdown Port" }, /obj/effect/turf_decal/corner/opaque/vired/half{ dir = 8 @@ -2976,8 +2976,8 @@ "vh" = ( /obj/effect/turf_decal/corner/opaque/blue/diagonal, /obj/machinery/door/window{ - req_ship_access = 1; - name = "Surgical Compartment" + name = "Surgical Compartment"; + req_ship_access = 1 }, /obj/effect/turf_decal/borderfloorwhite{ dir = 1 @@ -3095,12 +3095,12 @@ pixel_y = 4 }, /obj/machinery/button/door{ - pixel_x = 26; dir = 8; - name = "Medical Shutters"; id = "MedShutters"; - req_ship_access = 1; - req_access_txt = "5" + name = "Medical Shutters"; + pixel_x = 26; + req_access_txt = "5"; + req_ship_access = 1 }, /obj/machinery/light_switch{ dir = 8; @@ -3265,8 +3265,8 @@ "wu" = ( /obj/machinery/telecomms/server/presets/nanotrasen{ autolinkers = list("nanotrasen","hub"); - network = "nt_commnet"; - freq_listening = list(1353,1447,1459) + freq_listening = list(1353,1447,1459); + network = "nt_commnet" }, /obj/item/disk/holodisk/lp/stations, /obj/effect/turf_decal/techfloor{ @@ -3287,8 +3287,8 @@ pixel_y = 4 }, /obj/item/storage/box/donkpockets/donkpocketspicy{ - pixel_y = 9; - pixel_x = 7 + pixel_x = 7; + pixel_y = 9 }, /obj/structure/table/reinforced{ color = "#8A9397" @@ -3298,15 +3298,15 @@ /area/ship/hallway/central) "wE" = ( /obj/machinery/button/door{ - pixel_y = 21; - name = "Blast Doors"; id = "Ranger_Port_Blasts"; + name = "Blast Doors"; + pixel_y = 21; req_ship_access = 1 }, /obj/machinery/button/shieldwallgen{ - pixel_y = 20; + id = "Ranger_Port_holofields"; pixel_x = 8; - id = "Ranger_Port_holofields" + pixel_y = 20 }, /obj/effect/turf_decal/trimline/transparent/white/filled/corner{ dir = 4 @@ -3444,15 +3444,15 @@ /obj/effect/turf_decal/industrial/warning, /obj/machinery/button/shieldwallgen{ dir = 8; + id = "AI_Core_Field_Engi"; pixel_x = 20; - pixel_y = 9; - id = "AI_Core_Field_Engi" + pixel_y = 9 }, /obj/machinery/button/door{ dir = 8; - pixel_x = 22; - name = "Access Blast Doors"; id = "Ranger_AI_Core_Blasts"; + name = "Access Blast Doors"; + pixel_x = 22; pixel_y = 1; req_access_txt = "10"; req_ship_access = 1 @@ -3516,12 +3516,12 @@ dir = 1 }, /obj/structure/window/reinforced/survival_pod{ - dir = 5; - density = 0 + density = 0; + dir = 5 }, /obj/structure/window/reinforced/survival_pod{ - dir = 9; - density = 0 + density = 0; + dir = 9 }, /turf/open/floor/plasteel/white, /area/ship/crew/specialized/cargo) @@ -3532,8 +3532,8 @@ /obj/structure/window/reinforced/fulltile/shuttle, /obj/structure/grille, /obj/machinery/door/poddoor/shutters{ - name = "Security Specialist's Quarters"; - id = "Ranger_Security_Specialist_Quarters" + id = "Ranger_Security_Specialist_Quarters"; + name = "Security Specialist's Quarters" }, /obj/machinery/door/firedoor/window, /turf/open/floor/plating, @@ -3548,8 +3548,8 @@ "yU" = ( /obj/machinery/door/window/brigdoor/eastright{ dir = 2; - req_access_txt = "1"; name = "Armory"; + req_access_txt = "1"; req_ship_access = 1 }, /obj/effect/turf_decal/steeldecal/steel_decals10{ @@ -3660,9 +3660,9 @@ dir = 4 }, /obj/structure/filingcabinet/chestdrawer{ + density = 0; dir = 4; - pixel_x = -6; - density = 0 + pixel_x = -6 }, /obj/structure/cable{ icon_state = "4-8" @@ -3672,8 +3672,8 @@ pixel_y = -1 }, /obj/item/paper/crumpled{ - pixel_y = -6; - pixel_x = -4 + pixel_x = -4; + pixel_y = -6 }, /obj/item/paper/crumpled{ pixel_x = -10; @@ -3694,8 +3694,8 @@ "zM" = ( /obj/structure/window/reinforced/fulltile/shuttle, /obj/machinery/door/poddoor/shutters{ - name = "Security Specialist's Quarters"; - id = "Ranger_Security_Specialist_Quarters" + id = "Ranger_Security_Specialist_Quarters"; + name = "Security Specialist's Quarters" }, /obj/structure/grille, /obj/machinery/door/firedoor/window, @@ -3737,11 +3737,11 @@ }, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/machinery/button/door{ - pixel_x = -22; - pixel_y = 1; dir = 4; - name = "Medical Quarters Windows"; id = "Ranger_Medical_Specialist_Quarters"; + name = "Medical Quarters Windows"; + pixel_x = -22; + pixel_y = 1; req_ship_access = 1 }, /turf/open/floor/wood, @@ -3790,17 +3790,17 @@ dir = 1 }, /obj/machinery/button/door{ - pixel_y = 20; - pixel_x = -5; - name = "Starboard Corridor Shutters"; id = "RangerStarboardShutters"; + name = "Starboard Corridor Shutters"; + pixel_x = -5; + pixel_y = 20; req_ship_access = 1 }, /obj/machinery/button/door{ - pixel_y = 20; - pixel_x = 5; - name = "Port Corridor Shutters"; id = "RangerPortShutters"; + name = "Port Corridor Shutters"; + pixel_x = 5; + pixel_y = 20; req_ship_access = 1 }, /turf/open/floor/plasteel/telecomms_floor, @@ -3874,9 +3874,9 @@ name = "Ready Room"; pixel_x = -22; pixel_y = 6; + req_one_access = list(50, 10, 5, 1, 20); req_one_access_txt = "50,10,5,1,20"; - req_ship_access = 1; - req_one_access = list(50, 10, 5, 1, 20) + req_ship_access = 1 }, /obj/item/clothing/suit/space/hardsuit/ert/lp/sec, /obj/machinery/suit_storage_unit/inherit{ @@ -3960,8 +3960,8 @@ dir = 1 }, /obj/effect/turf_decal/siding/thinplating{ - dir = 1; - color = "#a8b2b6" + color = "#a8b2b6"; + dir = 1 }, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plasteel/showroomfloor, @@ -4055,14 +4055,14 @@ /obj/structure/crate_shelf, /obj/machinery/light_switch{ dir = 4; - pixel_y = 8; - pixel_x = -21 + pixel_x = -21; + pixel_y = 8 }, /obj/machinery/button/door{ - pixel_x = -22; dir = 4; - name = "Cargo Privacy Shutters"; id = "Ranger_Cargo_Privacy"; + name = "Cargo Privacy Shutters"; + pixel_x = -22; pixel_y = -1; req_ship_access = 1 }, @@ -4071,15 +4071,15 @@ "Cq" = ( /obj/machinery/button/door{ dir = 4; - pixel_x = -21; + id = "Ranger_AI_Core_Ext_Blasts"; name = "Outer Window Blast Doors"; - id = "Ranger_AI_Core_Ext_Blasts" + pixel_x = -21 }, /obj/machinery/light/dim/directional/south, /obj/machinery/telecomms/message_server/preset{ autolinkers = list("messaging","hub"); - network = "nt_commnet"; - layer = 3.1 + layer = 3.1; + network = "nt_commnet" }, /obj/effect/turf_decal/techfloor{ dir = 1 @@ -4098,9 +4098,9 @@ "CB" = ( /obj/machinery/telecomms/bus/preset_four{ autolinkers = list("hub","processor4","bus"); - network = "nt_commnet"; + freq_listening = list(1353,1447,1459); id = "Nanotrasen Communications Bus"; - freq_listening = list(1353,1447,1459) + network = "nt_commnet" }, /obj/effect/turf_decal/techfloor{ dir = 4 @@ -4181,11 +4181,11 @@ "CW" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/machinery/button/door{ - pixel_x = 21; dir = 8; - pixel_y = 3; + id = "RangerCryoShutters"; name = "Cryogenics Access"; - id = "RangerCryoShutters" + pixel_x = 21; + pixel_y = 3 }, /obj/machinery/door/poddoor/shutters/preopen{ id = "RangerCryoShutters"; @@ -4205,8 +4205,8 @@ /area/ship/engineering/engines/starboard) "Dr" = ( /obj/machinery/power/shieldwallgen/atmos/roundstart{ - id = "AI_Core_Field_Engi"; - dir = 8 + dir = 8; + id = "AI_Core_Field_Engi" }, /obj/machinery/door/poddoor{ dir = 2; @@ -4251,40 +4251,40 @@ }, /obj/machinery/button/door{ id = "SecureCell"; + name = "Cell Bolt Controls"; normaldoorcontrol = 1; pixel_x = 7; pixel_y = 10; - specialfunctions = 4; req_access_txt = "1"; req_ship_access = 1; - name = "Cell Bolt Controls" + specialfunctions = 4 }, /obj/structure/table/reinforced{ color = "#8A9397" }, /obj/machinery/button/door{ id = "SecShutters"; - name = "Privacy Shutters"; layer = 2.92; - req_ship_access = 1; - req_access_txt = "1"; + name = "Privacy Shutters"; pixel_x = -5; - pixel_y = 10 + pixel_y = 10; + req_access_txt = "1"; + req_ship_access = 1 }, /obj/machinery/button/door{ id = "CellHallShutters"; + layer = 2.91; name = "Cell Hall Shutters"; - req_access_txt = "1"; - req_ship_access = 1; pixel_x = -5; pixel_y = 2; - layer = 2.91 + req_access_txt = "1"; + req_ship_access = 1 }, /obj/machinery/button/door{ - pixel_y = -6; - pixel_x = -5; id = "SecCellWindowShutters"; name = "Cell Window Shutters"; + pixel_x = -5; + pixel_y = -6; req_access_txt = "1"; req_ship_access = 1 }, @@ -4341,8 +4341,8 @@ color = "#c1b6a5" }, /obj/item/paper/crumpled{ - pixel_y = -6; - pixel_x = -4 + pixel_x = -4; + pixel_y = -6 }, /obj/item/paper/crumpled/muddy{ name = "coffee-stained paper scrap"; @@ -4425,11 +4425,11 @@ /obj/item/storage/ration/beef_strips, /obj/item/storage/ration/fried_fish, /obj/item/reagent_containers/food/snacks/popcorn{ - icon_state = "seed-sunflower"; - icon = 'icons/obj/hydroponics/seeds.dmi'; desc = "Dehydrated, salted sunflower seeds, for snacking!"; - name = "Snacking Sunflower Seeds"; - list_reagents = list(/datum/reagent/consumable/nutriment = 4) + icon = 'icons/obj/hydroponics/seeds.dmi'; + icon_state = "seed-sunflower"; + list_reagents = list(/datum/reagent/consumable/nutriment = 4); + name = "Snacking Sunflower Seeds" }, /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, @@ -4518,12 +4518,12 @@ pixel_y = 4 }, /obj/item/reagent_containers/glass/maunamug{ - pixel_y = 9; - pixel_x = 8 + pixel_x = 8; + pixel_y = 9 }, /obj/item/clothing/mask/cigarette/cigar/havana{ - pixel_y = 2; - pixel_x = -5 + pixel_x = -5; + pixel_y = 2 }, /obj/structure/table/reinforced{ color = "#8A9397" @@ -4636,8 +4636,8 @@ dir = 1 }, /obj/machinery/door/window{ - opacity = 1; - name = "Toilet" + name = "Toilet"; + opacity = 1 }, /obj/item/soap/nanotrasen, /obj/structure/closet/wall/directional/west{ @@ -4723,8 +4723,8 @@ }, /obj/machinery/door/firedoor/window, /obj/machinery/door/poddoor/shutters{ - id = "Engineering_Specialist_Shutters"; dir = 4; + id = "Engineering_Specialist_Shutters"; name = "Communications Shutters" }, /obj/structure/window/reinforced/fulltile/shuttle, @@ -4795,9 +4795,9 @@ "Ib" = ( /obj/machinery/button/door{ dir = 4; - pixel_x = -21; - name = "Shutters"; id = "Ranger_Port_maint_shut"; + name = "Shutters"; + pixel_x = -21; req_ship_access = 1 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ @@ -4863,9 +4863,9 @@ dir = 5 }, /obj/machinery/light_switch{ + dir = 8; pixel_x = 20; - pixel_y = 11; - dir = 8 + pixel_y = 11 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 4 @@ -4954,9 +4954,9 @@ dir = 8 }, /obj/machinery/door/airlock/security{ + dir = 8; name = "Security Specialist's Office"; - req_access_txt = "1"; - dir = 8 + req_access_txt = "1" }, /obj/structure/cable{ icon_state = "4-8" @@ -4988,8 +4988,8 @@ pixel_y = 6 }, /obj/item/extinguisher/advanced{ - pixel_y = 10; - pixel_x = 12 + pixel_x = 12; + pixel_y = 10 }, /obj/item/extinguisher{ pixel_x = -3 @@ -5046,8 +5046,8 @@ /area/ship/hallway/central) "Kq" = ( /obj/machinery/door/airlock/command{ - req_access_txt = "20"; - name = "Lieutenant's Quarters" + name = "Lieutenant's Quarters"; + req_access_txt = "20" }, /obj/structure/cable{ icon_state = "1-2" @@ -5148,13 +5148,13 @@ dir = 5 }, /obj/item/stack/tape{ - pixel_y = 10; - pixel_x = 6 + pixel_x = 6; + pixel_y = 10 }, /obj/item/stack/tape{ - pixel_y = 17; + layer = 3.01; pixel_x = 7; - layer = 3.01 + pixel_y = 17 }, /obj/item/hand_labeler{ pixel_x = -7; @@ -5300,8 +5300,8 @@ /obj/structure/window/reinforced/fulltile/shuttle, /obj/structure/grille, /obj/machinery/door/poddoor/shutters{ - name = "Medical Specialist's Quarters"; - id = "Ranger_Medical_Specialist_Quarters" + id = "Ranger_Medical_Specialist_Quarters"; + name = "Medical Specialist's Quarters" }, /obj/machinery/door/firedoor/window, /turf/open/floor/plating, @@ -5359,11 +5359,11 @@ /area/ship/hallway/central) "Ms" = ( /obj/machinery/button/door{ - pixel_y = -20; - name = "Ranger Bridge Shutters"; - id = "Ranger_Bridge_Shutters"; dir = 1; + id = "Ranger_Bridge_Shutters"; + name = "Ranger Bridge Shutters"; pixel_x = 6; + pixel_y = -20; req_ship_access = 1 }, /obj/effect/turf_decal/steeldecal/steel_decals4, @@ -5405,9 +5405,9 @@ pixel_x = -10 }, /obj/item/flashlight/lamp/green{ + layer = 4.2; pixel_x = 5; - pixel_y = 13; - layer = 4.2 + pixel_y = 13 }, /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -5427,9 +5427,9 @@ }, /obj/machinery/button/door{ dir = 4; - pixel_x = -26; id = "AiCore"; name = "Core Access"; + pixel_x = -26; req_access_txt = "20"; req_ship_access = 1 }, @@ -5450,10 +5450,10 @@ }, /obj/machinery/button/door{ dir = 4; - pixel_y = 6; - pixel_x = -22; id = "Engineering_Specialist_Shutters"; - name = "Comms Shutters" + name = "Comms Shutters"; + pixel_x = -22; + pixel_y = 6 }, /obj/machinery/camera/autoname{ dir = 5 @@ -5504,8 +5504,8 @@ pixel_y = 1 }, /obj/item/aiModule/reset/purge{ - pixel_y = 6; - pixel_x = 1 + pixel_x = 1; + pixel_y = 6 }, /obj/item/aiModule/reset{ pixel_x = 4; @@ -5591,8 +5591,8 @@ }, /obj/machinery/computer/security/telescreen{ dir = 1; - pixel_y = -28; - network = list("ss13") + network = list("ss13"); + pixel_y = -28 }, /turf/open/floor/mineral/plastitanium/red/brig, /area/ship/security) @@ -5630,8 +5630,8 @@ "NM" = ( /obj/structure/railing, /turf/open/floor/plasteel/stairs{ - dir = 4; - color = "#a8b2b6" + color = "#a8b2b6"; + dir = 4 }, /area/ship/bridge) "NR" = ( @@ -5667,8 +5667,8 @@ dir = 4 }, /obj/machinery/door/airlock/medical{ - name = "Medical Specialist's Quarters"; dir = 8; + name = "Medical Specialist's Quarters"; req_access_txt = "5" }, /obj/structure/cable{ @@ -5778,8 +5778,8 @@ "Oc" = ( /obj/machinery/door/window/brigdoor/eastleft{ dir = 2; - req_access_txt = "1"; name = "Armory"; + req_access_txt = "1"; req_ship_access = 1 }, /obj/effect/turf_decal/siding/thinplating/dark{ @@ -5821,9 +5821,9 @@ /obj/machinery/airalarm/directional/south, /obj/structure/table/reinforced, /obj/item/flashlight/lamp/green{ + layer = 4.2; pixel_x = 9; - pixel_y = 11; - layer = 4.2 + pixel_y = 11 }, /turf/open/floor/wood/ebony, /area/ship/crew/specialized/cargo) @@ -5894,8 +5894,8 @@ /area/ship/hallway/starboard) "OK" = ( /obj/effect/turf_decal/siding/thinplating{ - dir = 1; - color = "#a8b2b6" + color = "#a8b2b6"; + dir = 1 }, /obj/item/bikehorn/rubberducky, /obj/machinery/airalarm/directional/west, @@ -6014,8 +6014,8 @@ /obj/structure/closet/secure_closet{ icon_state = "qm"; name = "Logistics Specialist's Locker"; - req_ship_access = 1; - req_one_access = list(50) + req_one_access = list(50); + req_ship_access = 1 }, /obj/item/clothing/suit/hooded/wintercoat/cargo{ pixel_x = 14 @@ -6081,8 +6081,8 @@ }, /obj/item/stock_parts/micro_laser/high, /obj/item/stock_parts/micro_laser/high{ - pixel_y = 4; - pixel_x = -2 + pixel_x = -2; + pixel_y = 4 }, /obj/item/stack/cable_coil/cut/red, /turf/open/floor/plasteel/mono/dark, @@ -6187,16 +6187,6 @@ }, /obj/item/clothing/mask/gas/vigilitas, /obj/item/clothing/mask/gas/vigilitas, -/obj/item/clothing/mask/gas/sechailer{ - pixel_x = -1; - pixel_y = -14; - name = "half-mask respirator" - }, -/obj/item/clothing/mask/gas/sechailer{ - pixel_x = -1; - pixel_y = -14; - name = "half-mask respirator" - }, /turf/open/floor/plasteel/tech, /area/ship/storage/equip) "Ro" = ( @@ -6341,12 +6331,12 @@ dir = 4 }, /obj/effect/turf_decal/siding{ - dir = 8; - color = "#FF6600" + color = "#FF6600"; + dir = 8 }, /obj/effect/turf_decal/siding{ - dir = 4; - color = "#FF6600" + color = "#FF6600"; + dir = 4 }, /turf/open/floor/pod/light, /area/ship/cargo) @@ -6396,8 +6386,8 @@ name = "Secure Holding Locker" }, /obj/machinery/door/window/brigdoor/northleft{ - req_access_txt = "1"; name = "Secure Lockup"; + req_access_txt = "1"; req_ship_access = 1 }, /turf/open/floor/plasteel/tech, @@ -6453,9 +6443,9 @@ dir = 8 }, /obj/item/gps/computer{ + density = 0; pixel_x = 32; - pixel_y = 0; - density = 0 + pixel_y = 0 }, /turf/open/floor/plasteel/telecomms_floor/tatmos, /area/ship/science/ai_chamber) @@ -6523,9 +6513,9 @@ /area/ship/crew/toilet) "UQ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/high_volume/siphon/atmos/air_output{ - piping_layer = 2; dir = 8; - layer = 2 + layer = 2; + piping_layer = 2 }, /turf/open/floor/engine/air, /area/ship/hallway/central) @@ -6549,8 +6539,8 @@ dir = 1 }, /obj/machinery/door/poddoor/shutters/preopen{ - name = "Corridor Lockdown Port"; - id = "RangerPortShutters" + id = "RangerPortShutters"; + name = "Corridor Lockdown Port" }, /obj/effect/turf_decal/corner/opaque/vired/half{ dir = 4 @@ -6632,8 +6622,8 @@ /obj/structure/grille, /obj/machinery/door/poddoor/shutters/preopen{ dir = 4; - name = "Bridge-Atrium Shutters"; - id = "BridgeAtrium" + id = "BridgeAtrium"; + name = "Bridge-Atrium Shutters" }, /obj/structure/window/reinforced/fulltile/shuttle, /turf/open/floor/plating, @@ -6708,11 +6698,11 @@ dir = 1 }, /obj/machinery/button/door{ - pixel_x = -22; - pixel_y = -2; dir = 4; - name = "Security Quarters Windows"; id = "Ranger_Security_Specialist_Quarters"; + name = "Security Quarters Windows"; + pixel_x = -22; + pixel_y = -2; req_ship_access = 1 }, /turf/open/floor/wood, @@ -6724,8 +6714,8 @@ name = "Communications Access" }, /obj/machinery/power/shieldwallgen/atmos/roundstart{ - id = "AI_Core_Field_Engi"; - dir = 4 + dir = 4; + id = "AI_Core_Field_Engi" }, /obj/structure/cable{ icon_state = "0-5" @@ -6931,8 +6921,8 @@ dir = 1 }, /obj/machinery/door/poddoor/shutters/preopen{ - name = "Corridor Lockdown Starboard"; - id = "RangerStarboardShutters" + id = "RangerStarboardShutters"; + name = "Corridor Lockdown Starboard" }, /obj/effect/turf_decal/corner/opaque/vired/half{ dir = 4 @@ -7016,8 +7006,8 @@ dir = 1 }, /obj/machinery/door/poddoor/shutters/preopen{ - name = "Corridor Lockdown Starboard"; - id = "RangerStarboardShutters" + id = "RangerStarboardShutters"; + name = "Corridor Lockdown Starboard" }, /obj/effect/turf_decal/corner/opaque/vired/half{ dir = 8 @@ -7088,9 +7078,9 @@ }, /obj/machinery/power/apc/auto_name/directional/east, /obj/machinery/light_switch{ + dir = 8; pixel_x = 20; - pixel_y = 11; - dir = 8 + pixel_y = 11 }, /obj/structure/cable{ icon_state = "0-2" @@ -7221,7 +7211,7 @@ /obj/item/clothing/head/soft/black, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /obj/item/clothing/glasses/hud/security/prescription, -/obj/item/clothing/mask/gas/sechailer, +/obj/item/clothing/mask/gas/vigilitas, /obj/item/clothing/suit/armor/nanotrasen, /obj/item/clothing/suit/armor/nanotrasen/slim, /obj/item/clothing/suit/armor/vest/security/officer, @@ -7286,8 +7276,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel/stairs{ - dir = 1; - color = "#a8b2b6" + color = "#a8b2b6"; + dir = 1 }, /area/ship/bridge) "ZW" = ( diff --git a/_maps/shuttles/syndicate/syndicate_cybersun_litieguai.dmm b/_maps/shuttles/syndicate/syndicate_cybersun_litieguai.dmm index 0591010c5b10..2d25efe0cfef 100644 --- a/_maps/shuttles/syndicate/syndicate_cybersun_litieguai.dmm +++ b/_maps/shuttles/syndicate/syndicate_cybersun_litieguai.dmm @@ -1675,7 +1675,7 @@ "BU" = ( /obj/machinery/suit_storage_unit/inherit, /obj/item/clothing/suit/space/hardsuit/syndi/cybersun/paramed, -/obj/item/clothing/mask/gas/sechailer, +/obj/item/clothing/mask/breath, /obj/item/tank/internals/oxygen/red, /obj/effect/turf_decal/box/white, /obj/machinery/camera/autoname{ @@ -1897,7 +1897,7 @@ "Fe" = ( /obj/machinery/suit_storage_unit/inherit, /obj/item/clothing/suit/space/hardsuit/syndi/cybersun/paramed, -/obj/item/clothing/mask/gas/sechailer, +/obj/item/clothing/mask/breath, /obj/item/tank/internals/oxygen/red, /obj/machinery/light/directional/south, /obj/effect/turf_decal/box/white, @@ -2317,7 +2317,7 @@ pixel_x = 32 }, /obj/item/clothing/suit/space/hardsuit/syndi/cybersun/paramed, -/obj/item/clothing/mask/gas/sechailer, +/obj/item/clothing/mask/breath, /obj/item/tank/internals/oxygen/red, /obj/effect/turf_decal/box/white, /turf/open/floor/plasteel/tech, diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 9f69bb5748c8..abba1da51704 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -99,11 +99,11 @@ /obj/machinery/suit_storage_unit/security suit_type = /obj/item/clothing/suit/space/hardsuit/security - mask_type = /obj/item/clothing/mask/gas/sechailer + mask_type = /obj/item/clothing/mask/gas/vigilitas /obj/machinery/suit_storage_unit/hos suit_type = /obj/item/clothing/suit/space/hardsuit/security/hos - mask_type = /obj/item/clothing/mask/gas/sechailer + mask_type = /obj/item/clothing/mask/gas/vigilitas storage_type = /obj/item/tank/internals/oxygen /obj/machinery/suit_storage_unit/mining @@ -165,7 +165,7 @@ /obj/machinery/suit_storage_unit/independent/security suit_type = /obj/item/clothing/suit/space/hardsuit/security/independent - mask_type = /obj/item/clothing/mask/gas/sechailer + mask_type = /obj/item/clothing/mask/gas /obj/machinery/suit_storage_unit/independent/engineering suit_type = /obj/item/clothing/suit/space/engineer diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index ccbd150ce2cf..270e54e21ad2 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -169,7 +169,7 @@ // Security survival box /obj/item/storage/box/survival/security - mask_type = /obj/item/clothing/mask/gas/sechailer + mask_type = /obj/item/clothing/mask/gas // Medical survival box /obj/item/storage/box/survival/medical diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 573c44a40ea2..f6395e6a6d04 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -138,7 +138,7 @@ new /obj/item/clothing/under/rank/security/warden/skirt(src) new /obj/item/clothing/glasses/hud/security/sunglasses(src) new /obj/item/holosign_creator/security(src) - new /obj/item/clothing/mask/gas/sechailer(src) + new /obj/item/clothing/mask/gas(src) new /obj/item/storage/box/zipties(src) new /obj/item/storage/box/flashbangs(src) new /obj/item/storage/belt/security/full(src) @@ -336,7 +336,7 @@ ..() new /obj/item/gun/ballistic/automatic/smg/wt550(src) new /obj/item/clothing/head/helmet/bulletproof(src) - new /obj/item/clothing/mask/gas/sechailer(src) + new /obj/item/clothing/mask/gas/vigilitas(src) new /obj/item/clothing/suit/armor/vest/bulletproof(src) /obj/structure/closet/secure_closet/lethalshots diff --git a/code/modules/cargo/packs/costumes_toys.dm b/code/modules/cargo/packs/costumes_toys.dm index ddf4cd7d8dc0..4d24698480f5 100644 --- a/code/modules/cargo/packs/costumes_toys.dm +++ b/code/modules/cargo/packs/costumes_toys.dm @@ -159,7 +159,7 @@ desc = "This is it. The Bee's Knees. The Creme of the Crop. The Pick of the Litter. The best of the best of the best. The Crown Jewel of Nanotrasen. The Alpha and the Omega of security headwear. Guaranteed to strike fear into the hearts of each and every criminal unfortunate enough to hear its screeching wail bore into their soul. Also comes with a security gasmask." cost = 6000 //justice comes at a price. An expensive, noisy price. contains = list(/obj/item/clothing/head/helmet/justice, - /obj/item/clothing/mask/gas/sechailer) + /obj/item/clothing/mask/gas) crate_name = "security clothing crate" /datum/supply_pack/costumes_toys/collectable_hats diff --git a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm index edbf57d08db4..56f2a677c129 100644 --- a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm +++ b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm @@ -195,7 +195,7 @@ suit = /obj/item/clothing/suit/armor/vest/marine/frontier head = /obj/item/clothing/head/helmet/bulletproof/x11/frontier - mask = /obj/item/clothing/mask/gas/sechailer + mask = /obj/item/clothing/mask/breath belt = /obj/item/gun/ballistic/automatic/pistol/deagle/gold // daring today aren't we backpack = /obj/item/minigunpack diff --git a/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm b/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm index a1e4d55a89c4..b3884d104372 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/frontiersman.dm @@ -17,7 +17,7 @@ icon_state = "frontiersmanmelee_mask" icon_living = "frontiersmanmelee_mask" loot = list(/obj/effect/mob_spawn/human/corpse/frontier, - /obj/item/clothing/mask/gas/sechailer, + /obj/item/clothing/mask/breath, /obj/item/tank/internals/emergency_oxygen/engi) atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 @@ -41,14 +41,14 @@ icon_living = "frontiersmanranged_mask" loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged, /obj/item/gun/ballistic/revolver/shadow, - /obj/item/clothing/mask/gas/sechailer, + /obj/item/clothing/mask/breath, /obj/item/tank/internals/emergency_oxygen/engi) atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/internals/neutered loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged, - /obj/item/clothing/mask/gas/sechailer, + /obj/item/clothing/mask/breath, /obj/item/tank/internals/emergency_oxygen/engi) /mob/living/simple_animal/hostile/human/frontier/ranged/neutered @@ -81,14 +81,14 @@ loot = list(/obj/effect/mob_spawn/human/corpse/frontier/surgeon, /obj/item/melee/knife/survival, /obj/item/gun/syringe, - /obj/item/clothing/mask/gas/sechailer, + /obj/item/clothing/mask/breath, /obj/item/tank/internals/emergency_oxygen/engi) /mob/living/simple_animal/hostile/human/frontier/ranged/surgeon/internals/neuter icon_state = "frontiersmansurgeon_mask" icon_living = "frontiersmansurgeon_mask" loot = list(/obj/effect/mob_spawn/human/corpse/frontier/surgeon, - /obj/item/clothing/mask/gas/sechailer, + /obj/item/clothing/mask/breath, /obj/item/tank/internals/emergency_oxygen/engi) /mob/living/simple_animal/hostile/human/frontier/ranged/mosin @@ -106,14 +106,14 @@ icon_living = "frontiersmanrangedrifle_mask" loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged, /obj/item/gun/ballistic/rifle/illestren, - /obj/item/clothing/mask/gas/sechailer, + /obj/item/clothing/mask/breath, /obj/item/tank/internals/emergency_oxygen/engi) atmos_requirements = IMMUNE_ATMOS_REQS minbodytemp = 0 /mob/living/simple_animal/hostile/human/frontier/ranged/mosin/internals/neutered loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged, - /obj/item/clothing/mask/gas/sechailer, + /obj/item/clothing/mask/breath, /obj/item/tank/internals/emergency_oxygen/engi) /mob/living/simple_animal/hostile/human/frontier/ranged/mosin/neutered diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm index d12ae0605643..cf3d4ba33479 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm @@ -451,7 +451,7 @@ if(prob(75)) head = pick(/obj/item/clothing/head/helmet/sec, /obj/item/clothing/head/helmet/blueshirt, /obj/item/clothing/head/helmet/bulletproof) if(prob(75)) - mask = /obj/item/clothing/mask/gas/sechailer + mask = /obj/item/clothing/mask/gas if(prob(75)) ears = /obj/item/radio/headset/headset_sec if(prob(75)) From aca7d8c84ffb0610c91e984d2c8442d711757854 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Wed, 27 Nov 2024 01:58:46 -0500 Subject: [PATCH 281/344] Legion Core Adjustment (#3830) ## About The Pull Request Reduces clonedam from legion cores (and makes them actually do clonedam). Also makes it so you can no longer eat them??? ## Why It's Good For The Game thingy works. ## Changelog :cl: fix: legion cores should now ACTUALLY give you cloneloss. my bad there guys. sorry. /:cl: --- code/datums/status_effects/buffs.dm | 1 - code/modules/mining/equipment/regenerative_core.dm | 10 ++++++---- .../reagents/chemistry/reagents/medicine_reagents.dm | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index 8be8d1913a59..73de61dd219d 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -427,7 +427,6 @@ owner.adjustBruteLoss(-20) owner.adjustFireLoss(-20) owner.remove_CC() - owner.reagents.add_reagent(/datum/reagent/medicine/soulus=15) owner.bodytemperature = owner.get_body_temp_normal() return TRUE diff --git a/code/modules/mining/equipment/regenerative_core.dm b/code/modules/mining/equipment/regenerative_core.dm index 2f42c3f3f2ac..3fefea228b4b 100644 --- a/code/modules/mining/equipment/regenerative_core.dm +++ b/code/modules/mining/equipment/regenerative_core.dm @@ -27,6 +27,7 @@ icon_state = "roro core 2" item_flags = NOBLUDGEON slot = ORGAN_SLOT_REGENERATIVE_CORE + organ_flags = null force = 0 actions_types = list(/datum/action/item_action/organ_action/use) var/inert = 0 @@ -103,10 +104,10 @@ if(inert) to_chat(user, span_notice("[src] has decayed past usabality.")) return - else - if(H.stat == DEAD) - to_chat(user, span_notice("[src] is useless on the dead.")) - return + if(H.stat == DEAD) + to_chat(user, span_notice("[src] is useless on the dead.")) + return + if(do_after(user, 10, target)) if(H != user) H.visible_message(span_notice("[user] smears [src] across [H]... malignant black tendrils entangle and reinforce [H.p_their()] flesh!")) SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "other")) @@ -114,6 +115,7 @@ to_chat(user, span_notice("You smear [src] across your body. Malignant black tendrils start to grow around the application site, reinforcing your flesh!")) SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "self")) H.apply_status_effect(STATUS_EFFECT_REGENERATIVE_CORE) + H.reagents.add_reagent(/datum/reagent/medicine/soulus,15) H.force_scream() SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "core", /datum/mood_event/healsbadman) qdel(src) diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index c97e3a176876..052c5c594c34 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -1957,7 +1957,7 @@ color = "#302f20" metabolization_rate = REAGENTS_METABOLISM * 0.8 overdose_threshold = 50 - var/clone_dam = 0.25 + var/clone_dam = 0.1 /datum/reagent/medicine/soulus/expose_mob(mob/living/M, method=TOUCH, reac_volume, show_message = 1) if(iscarbon(M) && M.stat != DEAD) From 3fd2e80b975395f37a0dc7ad00602856955d9fd7 Mon Sep 17 00:00:00 2001 From: Samantha Yule Fireheart Date: Wed, 27 Nov 2024 08:13:12 -0800 Subject: [PATCH 282/344] Fix shuttle transit resetting turfs modified by floor painter (#3837) ## About The Pull Request The Floor Painter modifies a turf's `base_icon_state`, whereas turfs placed by mappers do not depend upon this variable. The post-transit code copies over each turf's _components_ and _decals_, but does not handle its icon state. Ideally, the Floor Painter should be refactored to use the same mechanisms that are already in place to modify a turf's appearance, but doing so is a much taller order and beyond the scope of this PR. This is a one-liner PR that simply instructs BYOND to also copy over each turf's icon state in addition to its components and decals. I verified that the bug was fixed both visually and via VVs, and additionally applied a decal to the tile to trigger an icon update (prior to this PR, doing so would cause affected turfs to display their true icon state if they did not have a decal on them already). ## Why It's Good For The Game Prior to this PR, Floor Painters were ineffective in Shiptest as a result of the shuttle-focused gameplay. All of the customization they offer was not actually available to players who ever intended to move their shuttle. Now, it is. ## Changelog :cl: Yule& fix: Tiles modified by the Floor Painter no longer reset after shuttle transit /:cl: --- code/modules/shuttle/on_move.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm index 6cb9f7304585..65e893994912 100644 --- a/code/modules/shuttle/on_move.dm +++ b/code/modules/shuttle/on_move.dm @@ -82,6 +82,7 @@ All ShuttleMove procs go here /turf/proc/afterShuttleMove(turf/oldT, rotation, list/all_towed_shuttles) //Dealing with the turf we left behind oldT.TransferComponents(src) + src.base_icon_state = oldT.base_icon_state SEND_SIGNAL(oldT, COMSIG_TURF_AFTER_SHUTTLE_MOVE, src) //Mostly for decals if(rotation) From 7f6d02cdb00bcfeee61c03b565cbf40d6c7d2dcd Mon Sep 17 00:00:00 2001 From: Sadhorizon <108196626+Sadhorizon@users.noreply.github.com> Date: Wed, 27 Nov 2024 17:59:11 +0100 Subject: [PATCH 283/344] Waiter access fix. (#3783) ## About The Pull Request Waiters can access kitchen again on the sunskipper. ## Changelog :cl: fix: Waiters can access Sunskipper kitchen again. /:cl: --- code/modules/clothing/outfits/factions/independent.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/clothing/outfits/factions/independent.dm b/code/modules/clothing/outfits/factions/independent.dm index 4c336f3a1713..7b82368f14da 100644 --- a/code/modules/clothing/outfits/factions/independent.dm +++ b/code/modules/clothing/outfits/factions/independent.dm @@ -30,7 +30,7 @@ ..() if(visualsOnly) return - var/obj/item/card/id/W = H.wear_id + var/obj/item/card/id/W = H.get_idcard() W.access += list(ACCESS_KITCHEN) /datum/outfit/job/independent/assistant/fancy From d1ea77368a57b53acda923059e68304a42ba388c Mon Sep 17 00:00:00 2001 From: zevo Date: Wed, 27 Nov 2024 12:35:37 -0500 Subject: [PATCH 284/344] Moves the Brazillab ruin to Sandplanet and fixes the Trabuco's inhand sprites (#3375) ## About The Pull Request Remaps the Brazillab ruin to fit on whitesands, because on iceplanet all of the hermits in it would die to the cold and the ruin looked ugly there anyways. Also fixes the trabuco's inhands that were apparently broken. Ruin has been given a serious touchup, but otherwise remains similar to its iceplanet counterpart. ![image](https://github.com/user-attachments/assets/16517740-302b-499e-b3ee-241bc3685d24)
    SDMM Pictures ![StrongDMM-2024-11-16 00 30 10](https://github.com/user-attachments/assets/c0c7ae32-ce94-4f62-b343-e1ba29578d56) ![StrongDMM-2024-11-16 00 30 13](https://github.com/user-attachments/assets/35d0af51-926b-4623-8272-5d7537b9bd76)
    ## Why It's Good For The Game This ruin always was a better fit for sandplanet, and now has had a serious touch-up so it better fits with our increasing quality standards. ## Changelog :cl: add: Remapped and moved the Brazillab ruin to Sandplanet. fix: Fixed the Trabuco's inhand sprites. /:cl: --------- Signed-off-by: zevo <95449138+Zevotech@users.noreply.github.com> --- .../icemoon_underground_brazillianlab.dmm | 2514 -------------- .../SandRuins/whitesands_brazillianlab.dmm | 2881 +++++++++++++++++ _maps/map_catalogue.txt | 18 +- code/datums/ruins/icemoon.dm | 7 - code/datums/ruins/whitesands.dm | 7 + .../projectiles/guns/ballistic/shotgun.dm | 2 + 6 files changed, 2899 insertions(+), 2530 deletions(-) delete mode 100644 _maps/RandomRuins/IceRuins/icemoon_underground_brazillianlab.dmm create mode 100644 _maps/RandomRuins/SandRuins/whitesands_brazillianlab.dmm diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_brazillianlab.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_brazillianlab.dmm deleted file mode 100644 index 1a52405a3ec0..000000000000 --- a/_maps/RandomRuins/IceRuins/icemoon_underground_brazillianlab.dmm +++ /dev/null @@ -1,2514 +0,0 @@ -//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE -"ae" = ( -/obj/effect/decal/cleanable/dirt, -/turf/closed/wall/mineral/wood/nonmetal, -/area/ruin/unpowered) -"aS" = ( -/obj/machinery/iv_drip, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/green/border{ - dir = 1 - }, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"aW" = ( -/turf/template_noop, -/area/template_noop) -"bq" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_y = 12 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_x = 8; - pixel_y = 2 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_x = -6; - pixel_y = 4 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"bv" = ( -/obj/effect/decal/cleanable/blood/splatter, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"bB" = ( -/obj/structure/flora/rock/jungle, -/obj/item/candle/tribal_torch{ - name = "standing torch"; - start_lit = 1 - }, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"cr" = ( -/obj/structure/barricade/sandbags, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"ct" = ( -/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ - faction = list("brazillian") - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"cH" = ( -/turf/open/floor/carpet/blue{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"dz" = ( -/obj/structure/table/wood/fancy/green, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"fd" = ( -/obj/structure/barricade/wooden/crude/snow, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"fz" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/green/border{ - dir = 4 - }, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"fB" = ( -/obj/structure/chair/stool/bar, -/mob/living/simple_animal/hostile/human/hermit/survivor{ - desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body."; - faction = list("brazillian") - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"fK" = ( -/obj/structure/flora/grass/both, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/ruin/unpowered) -"gH" = ( -/mob/living/simple_animal/hostile/human/hermit/ranged/gunslinger{ - faction = list("brazillian") - }, -/turf/open/floor/carpet/green{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"hg" = ( -/obj/structure/barricade/wooden/snowed, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"hp" = ( -/obj/item/stack/cable_coil, -/obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ - faction = list("brazillian") - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"hr" = ( -/turf/closed/wall/mineral/wood/nonmetal, -/area/overmap_encounter/planetoid/cave/explored) -"ht" = ( -/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ - faction = list("brazillian") - }, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"hA" = ( -/obj/item/candle/tribal_torch{ - name = "standing torch"; - start_lit = 1 - }, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"hO" = ( -/obj/structure/flora/tree/jungle, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"hR" = ( -/obj/structure/flora/rock/icy, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"hT" = ( -/obj/structure/flora/grass/jungle/b, -/obj/item/cultivator/rake, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"ib" = ( -/obj/structure/table/wood, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"iu" = ( -/obj/item/restraints/handcuffs/cable, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"jn" = ( -/obj/item/ammo_casing/spent, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"jy" = ( -/obj/structure/chair/wood{ - dir = 1 - }, -/mob/living/simple_animal/hostile/human/hermit/survivor{ - desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body."; - faction = list("brazillian") - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"jU" = ( -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"kD" = ( -/obj/item/storage/toolbox/drone, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"kQ" = ( -/obj/structure/bed, -/obj/structure/curtain, -/obj/effect/decal/cleanable/blood, -/obj/effect/turf_decal/corner/opaque/green/border, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"kX" = ( -/turf/closed/wall/mineral/wood/nonmetal, -/area/ruin/unpowered) -"lu" = ( -/obj/structure/barricade/wooden/snowed, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"lA" = ( -/obj/structure/table, -/obj/item/weaponcrafting/stock{ - pixel_x = 8; - pixel_y = 3 - }, -/obj/item/stack/cable_coil/blue, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"mn" = ( -/obj/item/gun/ballistic/shotgun/doublebarrel/improvised/sawn, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"mo" = ( -/obj/structure/flora/grass/brown, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"mM" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/item/candle/tribal_torch{ - name = "standing torch"; - start_lit = 1 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"nf" = ( -/obj/structure/table/wood, -/obj/item/reagent_containers/food/snacks/meat/steak/bear, -/obj/item/reagent_containers/food/snacks/meat/steak/goliath{ - pixel_x = 4; - pixel_y = 3 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"nF" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/cannabis, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"nG" = ( -/obj/structure/flora/junglebush/large, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"oo" = ( -/obj/structure/table, -/obj/machinery/recharger, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"oR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"pf" = ( -/obj/item/weaponcrafting/receiver{ - pixel_x = -16; - pixel_y = -8 - }, -/turf/open/floor/wood{ - icon_state = "wood-broken"; - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"ql" = ( -/obj/effect/decal/cleanable/blood/old, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"qm" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_x = 1; - pixel_y = 8 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_x = 5 - }, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_x = -4; - pixel_y = 4 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"qC" = ( -/obj/structure/bed, -/obj/structure/curtain, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/green/border{ - dir = 1 - }, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"qD" = ( -/obj/structure/flora/tree/pine, -/obj/structure/flora/tree/pine, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"qS" = ( -/mob/living/simple_animal/hostile/human/hermit/survivor{ - desc = "The greatest chef this side of the wastes."; - faction = list("brazillian"); - health = 150; - name = "Margarine" - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"rw" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 4 - }, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"rP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"si" = ( -/obj/structure/flora/rock/jungle, -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"sE" = ( -/obj/structure/flora/grass/green, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"te" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"tf" = ( -/obj/item/weaponcrafting/stock, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"uv" = ( -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"uG" = ( -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"vi" = ( -/obj/structure/flora/rock/pile, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"vH" = ( -/obj/structure/flora/junglebush/b, -/obj/item/reagent_containers/glass/bucket/wooden, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"vR" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"wd" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/drinks/bottle/wine{ - pixel_y = 12 - }, -/obj/item/reagent_containers/food/drinks/bottle/tequila{ - pixel_x = 8; - pixel_y = 4 - }, -/obj/item/reagent_containers/food/drinks/bottle/vermouth{ - pixel_x = -8; - pixel_y = 4 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"wh" = ( -/obj/structure/flora/tree/jungle/small, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"wk" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_x = 8; - pixel_y = 2 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"xg" = ( -/obj/structure/flora/tree/pine, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"xu" = ( -/obj/structure/bed, -/obj/structure/curtain, -/obj/effect/decal/cleanable/dirt, -/mob/living/simple_animal/hostile/human/hermit/survivor{ - desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body."; - faction = list("brazillian") - }, -/obj/effect/turf_decal/corner/opaque/green/border{ - dir = 1 - }, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"xI" = ( -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/ruin/unpowered) -"xK" = ( -/obj/structure/statue/snow/snowman, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"xN" = ( -/obj/structure/rack, -/obj/effect/spawner/random/maintenance/three, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"xQ" = ( -/obj/item/clothing/neck/stethoscope, -/obj/structure/closet/secure_closet/medical1, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/reagent_containers/syringe, -/obj/item/reagent_containers/syringe, -/obj/item/reagent_containers/syringe, -/obj/item/stack/medical/mesh, -/obj/item/stack/medical/suture, -/obj/item/stack/sheet/cotton/cloth/ten, -/obj/item/stack/sheet/cotton/cloth/ten, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"xV" = ( -/obj/structure/bed, -/obj/structure/curtain, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/green/border, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"yr" = ( -/obj/effect/decal/cleanable/vomit/old, -/obj/effect/turf_decal/corner/opaque/green/border, -/obj/machinery/space_heater, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"zi" = ( -/obj/structure/flora/grass/both, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"zy" = ( -/mob/living/simple_animal/hostile/human/hermit/survivor{ - desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body."; - faction = list("brazillian") - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"Al" = ( -/obj/structure/chair/wood{ - dir = 8 - }, -/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ - faction = list("brazillian") - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Aw" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/drinks/shaker, -/obj/item/reagent_containers/glass/rag{ - pixel_x = 8; - pixel_y = 3 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"AN" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/drinks/bottle/sarsaparilla{ - pixel_y = 12 - }, -/obj/item/reagent_containers/food/drinks/bottle/kahlua{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/reagent_containers/food/drinks/bottle/hcider{ - pixel_x = 16; - pixel_y = 12 - }, -/obj/item/reagent_containers/food/drinks/bottle/rum{ - pixel_x = 8; - pixel_y = 4 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Br" = ( -/obj/item/candle/tribal_torch{ - name = "standing torch"; - start_lit = 1 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Bw" = ( -/turf/open/floor/carpet/green{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"BL" = ( -/obj/item/weaponcrafting/receiver, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Cl" = ( -/obj/item/candle/infinite{ - pixel_y = 4 - }, -/obj/item/candle/infinite{ - pixel_x = -5; - pixel_y = 6 - }, -/obj/item/candle/infinite{ - pixel_x = -10; - pixel_y = 8 - }, -/obj/item/candle/infinite{ - pixel_x = -5; - pixel_y = 2 - }, -/obj/item/candle/infinite{ - pixel_x = -10 - }, -/obj/item/candle/infinite{ - pixel_x = -16; - pixel_y = -2 - }, -/obj/structure/table/wood/fancy/blue, -/turf/open/floor/carpet/orange{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"CI" = ( -/obj/structure/flora/junglebush/c, -/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ - faction = list("brazillian") - }, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"CL" = ( -/obj/structure/bookcase/random, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"CS" = ( -/obj/machinery/hydroponics/soil, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"CT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/candle/tribal_torch{ - name = "standing torch"; - start_lit = 1 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Da" = ( -/obj/machinery/rnd/production/protolathe/department/security, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"DH" = ( -/obj/structure/railing, -/obj/item/flashlight/lantern{ - on = 1 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"DX" = ( -/obj/structure/flora/rock/jungle, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Eg" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Ex" = ( -/obj/structure/flora/grass/brown, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"Fh" = ( -/obj/structure/statue/snow/snowlegion, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"Gc" = ( -/obj/machinery/pipedispenser, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"Ge" = ( -/obj/structure/flora/grass/jungle/b, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Gl" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/eggplant/eggy, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"GK" = ( -/obj/structure/flora/junglebush/c, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"GU" = ( -/turf/open/floor/carpet/orange{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Hb" = ( -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"HI" = ( -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/overmap_encounter/planetoid/cave/explored) -"HV" = ( -/obj/item/target/alien/anchored, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"Il" = ( -/obj/vehicle/ridden/atv, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"Iz" = ( -/obj/structure/rack, -/obj/item/clothing/ears/earmuffs, -/obj/item/clothing/ears/earmuffs, -/obj/item/clothing/ears/earmuffs, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"IE" = ( -/obj/machinery/iv_drip, -/obj/effect/turf_decal/corner/opaque/green/border, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Jt" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"JK" = ( -/obj/item/seeds/glowshroom, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"JM" = ( -/obj/structure/bed, -/obj/structure/curtain, -/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ - faction = list("brazillian") - }, -/obj/effect/turf_decal/corner/opaque/green/border, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Kl" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Kt" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/green/border{ - dir = 4 - }, -/obj/item/flashlight/lantern{ - on = 1 - }, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Ly" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/drinks/bottle/whiskey{ - pixel_x = 16; - pixel_y = 12 - }, -/obj/item/reagent_containers/food/drinks/bottle/vodka{ - pixel_y = 12 - }, -/obj/item/reagent_containers/food/drinks/bottle/cognac{ - pixel_x = 8; - pixel_y = 4 - }, -/obj/item/reagent_containers/food/drinks/bottle/gin{ - pixel_x = -8; - pixel_y = 4 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"LA" = ( -/obj/structure/chair/stool/bar{ - dir = 4 - }, -/mob/living/simple_animal/hostile/human/hermit/survivor{ - desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body."; - faction = list("brazillian") - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"LB" = ( -/obj/effect/decal/cleanable/blood/old, -/mob/living/simple_animal/bot/secbot/ed209/rockplanet{ - faction = list("brazillian") - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"LC" = ( -/obj/structure/flora/grass/jungle/b, -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"LI" = ( -/turf/open/floor/wood{ - icon_state = "wood-broken2"; - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"LR" = ( -/obj/effect/decal/cleanable/blood, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"MI" = ( -/obj/structure/flora/grass/jungle, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"MM" = ( -/obj/effect/decal/cleanable/blood/tracks{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Nt" = ( -/obj/structure/flora/junglebush/b, -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"NG" = ( -/obj/structure/table, -/obj/item/ammo_box/magazine/zip_ammo_9mm, -/obj/item/ammo_box/magazine/zip_ammo_9mm, -/obj/item/gun/ballistic/automatic/zip_pistol, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"NR" = ( -/mob/living/simple_animal/hostile/human/hermit/survivor{ - desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body."; - faction = list("brazillian") - }, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"NY" = ( -/obj/structure/barricade/wooden/snowed, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"OA" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/glass/maunamug, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Pb" = ( -/obj/structure/bed/roller, -/obj/effect/decal/cleanable/blood/gibs/down, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/corner/opaque/green/bordercorner, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Pm" = ( -/obj/item/candle/tribal_torch{ - name = "standing torch"; - start_lit = 1 - }, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Ps" = ( -/obj/structure/table/wood, -/obj/item/screwdriver/old{ - pixel_y = 20 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Pu" = ( -/obj/structure/flora/tree/pine/xmas, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"Qk" = ( -/obj/structure/table/wood/reinforced, -/obj/machinery/chem_dispenser/drinks/beer, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Ql" = ( -/obj/structure/bonfire/prelit, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Qm" = ( -/obj/machinery/hydroponics/soil, -/obj/item/seeds/corn, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Sd" = ( -/obj/item/gun/ballistic/shotgun/doublebarrel/brazil{ - pixel_x = 8 - }, -/obj/structure/table/wood/fancy/blue, -/turf/open/floor/carpet/orange{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Sf" = ( -/obj/item/ammo_box/magazine/zip_ammo_9mm, -/obj/item/ammo_casing/shotgun/improvised, -/obj/item/ammo_casing/shotgun/improvised, -/obj/item/ammo_casing/shotgun/improvised, -/obj/item/ammo_casing/shotgun/improvised, -/obj/item/ammo_casing/shotgun/improvised, -/obj/item/ammo_casing/shotgun/improvised, -/obj/item/ammo_casing/shotgun/improvised, -/obj/structure/closet/secure_closet, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Sj" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/corner/opaque/green/border{ - dir = 1 - }, -/obj/machinery/space_heater, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"To" = ( -/obj/structure/barricade/wooden/crude/snow, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"Tw" = ( -/obj/item/candle/infinite{ - pixel_x = 10; - pixel_y = 8 - }, -/obj/item/candle/infinite{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/item/candle/infinite{ - pixel_y = 4 - }, -/obj/item/candle/infinite{ - pixel_x = 5; - pixel_y = 2 - }, -/obj/item/candle/infinite{ - pixel_x = 10 - }, -/obj/item/candle/infinite{ - pixel_x = 16; - pixel_y = 10 - }, -/obj/structure/table/wood/fancy/blue, -/turf/open/floor/carpet/orange{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Tx" = ( -/obj/structure/flora/junglebush/b, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"TA" = ( -/obj/structure/railing, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"TL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/item/hatchet, -/obj/item/hatchet, -/obj/effect/spawner/random/maintenance/three, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"Ul" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/ruin/unpowered) -"Uu" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/drinks/bottle/amaretto{ - pixel_y = 12 - }, -/obj/item/reagent_containers/food/drinks/bottle/trappist{ - pixel_x = 16; - pixel_y = 12 - }, -/obj/item/reagent_containers/food/drinks/bottle/bottleofnothing{ - pixel_x = 8; - pixel_y = 4 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Ux" = ( -/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ - faction = list("brazillian") - }, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Vt" = ( -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"VB" = ( -/obj/structure/table/wood/reinforced, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"VI" = ( -/obj/structure/flora/rock/pile, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/ruin/unpowered) -"VS" = ( -/obj/structure/flora/grass/jungle/b, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"VX" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/item/ammo_casing/shotgun/improvised, -/obj/item/ammo_casing/shotgun/improvised, -/obj/item/ammo_casing/shotgun/improvised, -/obj/item/ammo_casing/shotgun/improvised, -/obj/effect/spawner/random/maintenance/three, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"WH" = ( -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Xq" = ( -/obj/structure/table, -/obj/item/storage/firstaid/regular, -/obj/effect/decal/cleanable/dirt/dust, -/obj/item/reagent_containers/food/snacks/soup/vegetable, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"XD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"XL" = ( -/obj/structure/table/wood/reinforced, -/obj/item/reagent_containers/food/drinks/drinkingglass{ - pixel_x = -6; - pixel_y = 4 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Ya" = ( -/mob/living/simple_animal/bot/medbot/rockplanet{ - faction = list("brazillian") - }, -/obj/effect/turf_decal/corner/opaque/green/border{ - dir = 4 - }, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Yc" = ( -/obj/structure/table/wood/fancy/blue, -/obj/structure/safe/floor{ - maxspace = 99 - }, -/obj/item/storage/box/lethalshot, -/obj/item/storage/box/lethalshot, -/obj/item/storage/box/lethalshot, -/obj/item/storage/box/lethalshot, -/obj/item/ammo_casing/shotgun/techshell, -/obj/item/ammo_casing/shotgun/techshell, -/obj/item/ammo_casing/shotgun/techshell, -/obj/item/ammo_casing/shotgun/techshell, -/obj/item/ammo_casing/shotgun/techshell, -/obj/item/ammo_casing/shotgun/techshell, -/obj/item/ammo_casing/shotgun/techshell, -/obj/item/ammo_casing/shotgun/techshell, -/obj/item/ammo_casing/shotgun/techshell, -/obj/item/ammo_casing/shotgun/techshell, -/obj/item/ammo_casing/shotgun/meteorslug, -/obj/item/ammo_casing/shotgun/meteorslug, -/obj/item/ammo_casing/shotgun/meteorslug, -/obj/item/ammo_casing/shotgun/laserscatter, -/obj/item/ammo_casing/shotgun/laserscatter, -/obj/item/ammo_casing/shotgun/laserscatter, -/obj/item/ammo_casing/shotgun/pulseslug, -/obj/item/ammo_casing/shotgun/pulseslug, -/obj/item/ammo_casing/shotgun/pulseslug, -/obj/item/key, -/turf/open/floor/carpet/orange{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Yg" = ( -/obj/item/candle/tribal_torch{ - name = "standing torch"; - start_lit = 1 - }, -/turf/open/floor/plasteel/white{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Yh" = ( -/obj/item/shovel, -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Yx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/item/rack_parts, -/obj/effect/spawner/random/maintenance/three, -/turf/open/floor/wood{ - icon_state = "wood-broken3"; - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Yy" = ( -/mob/living/simple_animal/hostile/human/hermit/survivor{ - desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body."; - faction = list("brazillian") - }, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"YV" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/floor/plating/asteroid/snow/icemoon, -/area/overmap_encounter/planetoid/cave/explored) -"YX" = ( -/turf/open/floor/plating/grass/jungle{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"YZ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/item/candle/tribal_torch{ - name = "standing torch"; - start_lit = 1 - }, -/turf/open/floor/wood{ - initial_gas_mix = "ICEMOON_ATMOS" - }, -/area/ruin/unpowered) -"Zd" = ( -/obj/effect/decal/cleanable/blood, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) -"Zf" = ( -/obj/item/candle/tribal_torch{ - name = "standing torch"; - start_lit = 1 - }, -/turf/open/floor/plating/snowed/smoothed/icemoon, -/area/ruin/unpowered) - -(1,1,1) = {" -aW -aW -aW -aW -aW -aW -Hb -zi -cr -cr -cr -Hb -Hb -aW -aW -aW -aW -aW -aW -aW -aW -aW -lu -Hb -lu -lu -aW -aW -aW -aW -"} -(2,1,1) = {" -aW -aW -aW -aW -aW -aW -aW -Hb -cr -zi -Hb -kX -Vt -NY -kX -kX -kX -kX -kX -aW -aW -aW -aW -YV -Hb -cr -Hb -aW -aW -aW -"} -(3,1,1) = {" -aW -aW -aW -aW -aW -aW -aW -aW -cr -Hb -Hb -NY -Zd -Vt -Ul -TA -Eg -NG -kX -aW -aW -aW -aW -Hb -Hb -Hb -hr -Hb -lu -aW -"} -(4,1,1) = {" -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -Hb -fd -Vt -HV -Ul -WH -hp -oo -kX -aW -aW -aW -aW -Hb -Hb -aW -To -Hb -Hb -aW -"} -(5,1,1) = {" -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -Hb -fd -Vt -xI -Ul -DH -LI -CT -kX -aW -Hb -aW -zi -Hb -Hb -aW -lu -Hb -xg -aW -"} -(6,1,1) = {" -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -Hb -kX -kX -kX -kX -kX -WH -Iz -kX -aW -cr -cr -Hb -zi -Hb -aW -zi -Hb -cr -aW -"} -(7,1,1) = {" -aW -aW -aW -kX -kX -kX -kX -kX -aW -aW -xg -Hb -Hb -Hb -zi -kX -iu -kX -kX -Hb -Hb -cr -Hb -Hb -Hb -aW -sE -lu -cr -hr -"} -(8,1,1) = {" -aW -aW -aW -kX -te -xN -VX -Gc -xI -aW -aW -kX -kX -NY -kX -kX -kD -oR -kX -Hb -zi -cr -Hb -Hb -aW -aW -sE -zi -Hb -To -"} -(9,1,1) = {" -aW -aW -aW -kX -Vt -Eg -LI -Vt -xI -aW -aW -kX -Sf -zy -Jt -LB -BL -mn -hg -Hb -Fh -cr -Hb -aW -aW -aW -Hb -Hb -Hb -lu -"} -(10,1,1) = {" -aW -aW -aW -kX -Il -Yx -TL -Zf -fK -xI -aW -kX -Zf -Vt -lA -Da -tf -pf -hg -YV -Hb -Hb -aW -aW -aW -aW -xg -cr -lu -aW -"} -(11,1,1) = {" -aW -aW -aW -kX -kX -kX -kX -kX -xI -xI -aW -kX -kX -kX -kX -kX -ae -Eg -kX -aW -Hb -Hb -aW -aW -aW -Hb -Hb -Hb -To -aW -"} -(12,1,1) = {" -aW -aW -aW -Hb -cr -aW -aW -aW -aW -xI -YX -YX -YX -YX -YX -YX -kX -Ge -kX -aW -Hb -Hb -cr -Hb -hr -Hb -lu -Hb -hr -aW -"} -(13,1,1) = {" -aW -aW -aW -Hb -cr -aW -aW -aW -YX -YX -YX -hO -YX -uG -YX -uG -uG -YX -kX -aW -Hb -zi -cr -Hb -To -Hb -To -Hb -aW -aW -"} -(14,1,1) = {" -aW -aW -aW -zi -cr -aW -aW -aW -MI -YX -YX -YX -DX -Ql -Nt -si -Tx -YX -aW -cr -Hb -hA -cr -Hb -hr -YV -hr -aW -aW -aW -"} -(15,1,1) = {" -aW -aW -aW -cr -cr -aW -aW -MI -YX -YX -YX -YX -YX -nF -Gl -hT -MI -YX -CI -cr -lu -Hb -Hb -NR -cr -Hb -aW -aW -aW -aW -"} -(16,1,1) = {" -aW -aW -Hb -cr -zi -aW -aW -GK -Ux -YX -Pm -kX -kX -kX -kX -Pm -YX -MI -YX -aW -YV -aW -lu -Hb -cr -Hb -Hb -Hb -aW -aW -"} -(17,1,1) = {" -aW -aW -Hb -cr -ht -aW -CI -YX -MI -kX -kX -kX -dz -dz -kX -kX -kX -YX -YX -nG -aW -aW -lu -Hb -Hb -Hb -Hb -Hb -Hb -aW -"} -(18,1,1) = {" -aW -aW -zi -cr -Hb -aW -YX -MI -MI -kX -CL -Bw -Bw -gH -Bw -CL -kX -Pm -MI -MI -aW -aW -kX -aW -aW -Hb -cr -cr -vi -aW -"} -(19,1,1) = {" -aW -aW -Hb -cr -Hb -aW -YX -bB -kX -kX -ct -Bw -GU -GU -Bw -WH -kX -kX -YX -MI -mM -kX -kX -kX -Hb -hA -Ex -cr -Hb -aW -"} -(20,1,1) = {" -aW -aW -qD -cr -Hb -aW -YX -YX -WH -WH -WH -GU -Sd -Tw -GU -WH -WH -kX -YX -YX -rP -WH -WH -XD -zi -Hb -jn -cr -Hb -aW -"} -(21,1,1) = {" -aW -aW -Hb -cr -Hb -aW -YX -YX -WH -WH -WH -GU -Yc -Cl -GU -WH -WH -kX -YX -YX -Yy -WH -WH -mo -Hb -Ex -Hb -Ex -Hb -aW -"} -(22,1,1) = {" -aW -aW -Hb -cr -Hb -aW -YX -Pm -kX -kX -ct -Bw -GU -GU -Bw -WH -kX -kX -uG -LC -YZ -kX -kX -kX -Ex -xK -Ex -cr -zi -aW -"} -(23,1,1) = {" -aW -aW -zi -cr -Hb -aW -YX -MI -DX -kX -CL -Bw -Bw -gH -Bw -CL -kX -Pm -uG -YX -aW -aW -kX -zi -hA -Hb -Hb -cr -Hb -aW -"} -(24,1,1) = {" -aW -aW -Hb -cr -cr -aW -Ux -MI -MI -kX -kX -kX -dz -dz -kX -kX -kX -YX -YX -GK -aW -lu -aW -jn -Hb -NR -cr -cr -Hb -aW -"} -(25,1,1) = {" -aW -aW -aW -Hb -cr -Hb -aW -YX -Ux -YX -Pm -kX -kX -kX -kX -Pm -YX -YX -nG -aW -aW -lu -aW -aW -Pu -cr -cr -Hb -aW -aW -"} -(26,1,1) = {" -aW -aW -aW -aW -aW -aW -aW -Tx -Tx -YX -YX -YX -JK -YX -YX -Tx -YX -DX -Ux -aW -cr -aW -aW -Hb -Hb -Hb -aW -aW -aW -aW -"} -(27,1,1) = {" -aW -aW -aW -aW -aW -aW -aW -aW -Tx -YX -YX -wh -CS -Ql -YX -DX -YX -YX -aW -aW -cr -zi -Hb -cr -Hb -Hb -Hb -Hb -Hb -aW -"} -(28,1,1) = {" -aW -aW -aW -aW -WH -WH -WH -WH -YX -YX -YX -Yh -Qm -YX -nG -vH -YX -Tx -aW -YV -aW -hR -xK -cr -Hb -Hb -zi -Hb -Hb -aW -"} -(29,1,1) = {" -aW -aW -aW -WH -WH -WH -WH -LA -WH -WH -YX -GK -YX -YX -YX -GK -VS -rw -uv -lu -aW -aW -Hb -aW -aW -xg -Hb -Hb -Hb -Hb -"} -(30,1,1) = {" -aW -kX -WH -Br -kX -Br -fB -OA -VB -kX -kX -aW -aW -kX -kX -kX -kX -jU -MM -jU -kX -aW -aW -aW -aW -Hb -Hb -cr -Hb -Hb -"} -(31,1,1) = {" -aW -cH -cH -cH -WH -WH -WH -VB -WH -Br -kX -aW -aW -kX -Xq -vR -Kl -uv -rw -bv -kX -aW -aW -aW -aW -Hb -Hb -cr -zi -Hb -"} -(32,1,1) = {" -aW -WH -jy -ib -WH -WH -WH -XL -WH -qm -kX -aW -aW -kX -xQ -ql -Pb -Kt -Ya -fz -kX -aW -aW -aW -aW -aW -cr -cr -Hb -Hb -"} -(33,1,1) = {" -aW -Br -ib -ib -WH -WH -fB -Qk -WH -Aw -kX -Hb -aW -kX -kX -NY -kX -kQ -vR -xu -kX -aW -aW -aW -aW -aW -Hb -Hb -Hb -Hb -"} -(34,1,1) = {" -aW -WH -Ps -Al -WH -WH -WH -VB -WH -Uu -kX -Hb -aW -Hb -Hb -zi -kX -yr -vR -Sj -kX -aW -aW -aW -aW -aW -Hb -Ex -Hb -aW -"} -(35,1,1) = {" -aW -aW -WH -WH -WH -WH -WH -Qk -qS -AN -kX -Hb -Hb -zi -Hb -Hb -NY -JM -vR -qC -kX -aW -aW -aW -aW -Hb -Ex -zi -Hb -aW -"} -(36,1,1) = {" -aW -kX -aW -Br -kX -Br -fB -wk -WH -Ly -kX -Hb -Hb -Hb -Hb -Hb -fd -IE -LR -aS -kX -aW -aW -aW -aW -Hb -xg -Hb -Hb -aW -"} -(37,1,1) = {" -aW -aW -cH -cH -WH -WH -WH -VB -WH -wd -kX -aW -Hb -Hb -Hb -zi -fd -xV -Yg -xu -kX -aW -aW -aW -aW -zi -cr -Hb -aW -aW -"} -(38,1,1) = {" -aW -aW -aW -WH -Br -nf -fB -bq -WH -Br -aW -HI -aW -Hb -Hb -Hb -kX -fd -kX -kX -kX -aW -aW -Hb -Hb -cr -cr -Hb -aW -aW -"} -(39,1,1) = {" -aW -aW -aW -WH -kX -kX -kX -kX -kX -aW -HI -aW -aW -aW -Hb -aW -aW -VI -aW -aW -aW -Hb -vi -Hb -cr -cr -Hb -aW -aW -aW -"} -(40,1,1) = {" -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -aW -Hb -zi -Hb -Hb -aW -aW -aW -aW -"} diff --git a/_maps/RandomRuins/SandRuins/whitesands_brazillianlab.dmm b/_maps/RandomRuins/SandRuins/whitesands_brazillianlab.dmm new file mode 100644 index 000000000000..b6436b5c8296 --- /dev/null +++ b/_maps/RandomRuins/SandRuins/whitesands_brazillianlab.dmm @@ -0,0 +1,2881 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"ae" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/firingrange{ + pixel_y = 32 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken" + }, +/area/ruin/unpowered) +"aS" = ( +/obj/machinery/iv_drip, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"aW" = ( +/turf/template_noop, +/area/template_noop) +"bq" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = 8; + pixel_y = 2 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = -6; + pixel_y = 4 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"bv" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/green/half, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"bB" = ( +/obj/structure/flora/rock/jungle, +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/plating/grass/jungle, +/area/ruin/unpowered) +"cr" = ( +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/whitesands/grass/lit, +/area/overmap_encounter/planetoid/sand/explored) +"ct" = ( +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"cH" = ( +/obj/structure/fermenting_barrel, +/turf/open/floor/wood, +/area/ruin/unpowered) +"cN" = ( +/obj/structure/girder/displaced, +/obj/structure/railing/wood{ + dir = 4 + }, +/obj/structure/railing/wood{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/whitesands/dried/lit, +/area/overmap_encounter/planetoid/sand/explored) +"cS" = ( +/obj/structure/flora/stump, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"dz" = ( +/obj/structure/table/wood/fancy/green, +/obj/item/storage/box/ammo/a12g_buckshot{ + pixel_y = 5 + }, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"eC" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"eD" = ( +/obj/structure/flora/ash/stem_shroom, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"fd" = ( +/obj/structure/table/optable, +/obj/item/stack/medical/bruise_pack/herb, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"fz" = ( +/obj/structure/table/wood/fancy/green, +/obj/item/ammo_casing/shotgun/dragonsbreath{ + pixel_y = 4; + pixel_x = -2 + }, +/obj/item/ammo_casing/shotgun/dragonsbreath{ + pixel_y = 4; + pixel_x = -10 + }, +/obj/item/ammo_casing/shotgun/dragonsbreath{ + pixel_y = 4; + pixel_x = -6 + }, +/obj/item/ammo_casing/shotgun/dragonsbreath{ + pixel_y = 4; + pixel_x = 6 + }, +/obj/item/ammo_casing/shotgun/dragonsbreath{ + pixel_y = 4; + pixel_x = 2 + }, +/obj/item/ammo_casing/shotgun/dragonsbreath{ + pixel_y = 4; + pixel_x = 10 + }, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"fB" = ( +/obj/structure/chair/stool/bar, +/mob/living/simple_animal/hostile/human/hermit/survivor{ + desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body." + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/ruin/unpowered) +"fI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/carpet/blue, +/area/ruin/unpowered) +"fK" = ( +/obj/structure/flora/rock, +/turf/open/floor/plating/asteroid/whitesands{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"fO" = ( +/obj/structure/flora/junglebush/b, +/obj/structure/sign/poster/official/fruit_bowl{ + pixel_y = 32 + }, +/turf/open/floor/plating/grass/jungle, +/area/ruin/unpowered) +"gk" = ( +/obj/structure/flora/rock, +/turf/open/floor/plating/asteroid/whitesands/dried/lit, +/area/overmap_encounter/planetoid/sand/explored) +"gH" = ( +/mob/living/simple_animal/hostile/human/hermit/ranged/gunslinger, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"hg" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/structure/curtain/cloth/grey{ + open = 0; + icon_state = "bathroom-closed"; + opacity = 1 + }, +/turf/open/floor/plating, +/area/ruin/unpowered) +"hp" = ( +/obj/item/stack/cable_coil, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter, +/turf/open/floor/wood, +/area/ruin/unpowered) +"hr" = ( +/turf/open/floor/plating/asteroid/whitesands/dried{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"ht" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/green{ + dir = 9 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"hA" = ( +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"hN" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/ruin/unpowered) +"hO" = ( +/obj/structure/flora/tree/jungle, +/turf/open/floor/plating/grass/jungle, +/area/ruin/unpowered) +"hR" = ( +/mob/living/simple_animal/hostile/human/hermit/survivor, +/obj/structure/chair/plastic, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"hT" = ( +/obj/structure/flora/grass/jungle/b, +/obj/item/cultivator/rake, +/turf/open/floor/plating/grass/jungle, +/area/ruin/unpowered) +"ib" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/onionrings{ + pixel_y = 7 + }, +/obj/item/spacecash/bundle/c1{ + pixel_x = -6; + pixel_y = -13 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"is" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/ruin/unpowered) +"iu" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"jn" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/glass/rag{ + pixel_x = 8; + pixel_y = 3 + }, +/obj/item/cigbutt/cigarbutt{ + pixel_x = -5; + pixel_y = 9 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"jy" = ( +/obj/structure/chair/wood, +/mob/living/simple_animal/hostile/human/hermit/survivor{ + desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body." + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"jU" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 5 + }, +/obj/effect/turf_decal/corner/opaque/green/half{ + dir = 8 + }, +/obj/structure/sign/departments/medbay/alt{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"kD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/stack/cable_coil/yellow{ + pixel_y = -10 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"kF" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/unpowered) +"kQ" = ( +/obj/effect/turf_decal/corner/opaque/green/three_quarters{ + dir = 1 + }, +/obj/effect/decal/cleanable/blood/innards, +/obj/item/reagent_containers/glass/bucket{ + pixel_x = 9; + pixel_y = 15 + }, +/obj/item/chainsaw{ + pixel_x = -11; + pixel_y = 11 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"kX" = ( +/turf/closed/wall/mineral/wood/nonmetal, +/area/ruin/unpowered) +"lu" = ( +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"lA" = ( +/obj/item/weaponcrafting/stock{ + pixel_x = 8; + pixel_y = 3 + }, +/obj/item/stack/cable_coil/blue, +/obj/effect/turf_decal/siding/wood, +/obj/structure/table, +/obj/item/screwdriver/old{ + pixel_y = 20 + }, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"mi" = ( +/obj/structure/railing/wood{ + dir = 8 + }, +/obj/structure/railing/wood{ + dir = 4 + }, +/obj/structure/girder/displaced, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"mn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/food/drinks/soda_cans/cola{ + pixel_x = -11; + pixel_y = 1 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/pacfuel{ + pixel_y = -6; + pixel_x = -6 + }, +/obj/item/reagent_containers/food/drinks/soda_cans/shoal_punch{ + pixel_y = 8 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"mo" = ( +/obj/structure/table/wood/reinforced, +/obj/item/spacecash/bundle/c50{ + pixel_x = 14; + pixel_y = 7 + }, +/obj/item/spacecash/bundle/smallrand{ + pixel_x = -9 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"mq" = ( +/obj/item/stack/sheet/mineral/wood/twentyfive{ + pixel_x = 8; + pixel_y = -9 + }, +/turf/open/floor/plating, +/area/overmap_encounter/planetoid/sand/explored) +"mv" = ( +/obj/structure/barricade/wooden, +/turf/open/floor/plating/asteroid/whitesands{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"mz" = ( +/turf/closed/wall/rust, +/area/overmap_encounter/planetoid/sand/explored) +"mM" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/ruin/unpowered) +"nf" = ( +/obj/structure/flora/ash/stem_shroom, +/turf/open/floor/plating/asteroid/whitesands/dried/lit, +/area/overmap_encounter/planetoid/sand/explored) +"nn" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"nF" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/item/ammo_box/magazine/m45{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/ammo_box/magazine/m45{ + pixel_x = -10; + pixel_y = 6 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"nG" = ( +/obj/structure/flora/junglebush/large, +/turf/open/floor/plating/grass/jungle, +/area/ruin/unpowered) +"oo" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken5" + }, +/area/ruin/unpowered) +"oR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/wood, +/area/ruin/unpowered) +"pa" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"pf" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken" + }, +/area/ruin/unpowered) +"pn" = ( +/obj/item/target, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"pu" = ( +/obj/structure/flora/rock, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"ql" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/green{ + dir = 6 + }, +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"qm" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = 1; + pixel_y = 8 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/drinks/drinkingglass{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"qC" = ( +/obj/structure/bed, +/obj/structure/curtain, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"qD" = ( +/obj/structure/flora/ash/tall_shroom, +/turf/open/floor/plating/asteroid/whitesands{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"qS" = ( +/mob/living/simple_animal/hostile/human/hermit/survivor{ + desc = "The greatest chef this side of the wastes."; + health = 150; + name = "Margarine"; + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"qT" = ( +/obj/item/wrench, +/turf/open/floor/plating, +/area/overmap_encounter/planetoid/sand/explored) +"rs" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/green/border{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/green/border, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"rw" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"rP" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"sf" = ( +/obj/structure/table/wood, +/obj/item/toy/cards/deck{ + pixel_y = 12 + }, +/obj/item/spacecash/bundle/c10{ + pixel_x = 9 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"si" = ( +/obj/structure/flora/rock/jungle, +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/plating/grass/jungle, +/area/ruin/unpowered) +"sj" = ( +/obj/structure/girder/reinforced, +/turf/open/floor/plating/asteroid/whitesands{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"sA" = ( +/obj/structure/flora/ash/stem_shroom, +/turf/open/floor/plating/asteroid/whitesands{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"sE" = ( +/turf/closed/mineral/random/whitesands, +/area/overmap_encounter/planetoid/sand/explored) +"te" = ( +/obj/structure/table/wood/reinforced, +/obj/item/spacecash/bundle/c200, +/turf/open/floor/wood, +/area/ruin/unpowered) +"tf" = ( +/obj/structure/flora/ash/fern, +/turf/open/floor/plating/asteroid/whitesands/grass/lit, +/area/overmap_encounter/planetoid/sand/explored) +"tx" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/carpet/blue, +/area/ruin/unpowered) +"tY" = ( +/mob/living/simple_animal/bot/secbot/ed209/rockplanet{ + faction = list("hermit"); + name = "The Crimson King" + }, +/obj/structure/curtain/cloth/fancy, +/turf/open/floor/carpet/red_gold, +/area/ruin/unpowered) +"un" = ( +/obj/structure/flora/ash/puce, +/turf/open/floor/plating/asteroid/whitesands/dried{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"uq" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"uv" = ( +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plasteel/tech/grid, +/area/ruin/unpowered) +"uG" = ( +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/plating/grass/jungle, +/area/ruin/unpowered) +"vg" = ( +/obj/item/stack/sheet/metal/ten{ + pixel_x = -9 + }, +/turf/open/floor/plating, +/area/overmap_encounter/planetoid/sand/explored) +"vi" = ( +/obj/structure/flora/rock/pile, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"vr" = ( +/obj/item/toy/plush/moth/snow{ + pixel_x = 17; + pixel_y = -5 + }, +/turf/open/floor/plating/asteroid/snow/lit/whitesands, +/area/overmap_encounter/planetoid/sand/explored) +"vH" = ( +/obj/structure/flora/junglebush/b, +/obj/item/reagent_containers/glass/bucket/wooden, +/turf/open/floor/plating/grass/jungle, +/area/ruin/unpowered) +"vR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/corner/opaque/green/bordercorner, +/obj/effect/turf_decal/corner/opaque/green/bordercorner{ + dir = 4 + }, +/obj/effect/decal/cleanable/blood/gibs/core, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"wd" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/bottle/wine{ + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/bottle/tequila{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/drinks/bottle/vermouth{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"wh" = ( +/obj/structure/flora/tree/jungle/small, +/turf/open/floor/plating/grass/jungle, +/area/ruin/unpowered) +"wk" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/snacks/meat/steak/meatproduct, +/turf/open/floor/wood, +/area/ruin/unpowered) +"wm" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/drinks/bottle/wine{ + pixel_x = 7; + pixel_y = 16 + }, +/obj/item/food/spaghetti/pastatomato{ + pixel_y = 3 + }, +/obj/item/candle/infinite{ + pixel_y = 17 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"wn" = ( +/obj/structure/flora/stump, +/turf/open/floor/plating/asteroid/whitesands/grass/lit, +/area/overmap_encounter/planetoid/sand/explored) +"xg" = ( +/obj/structure/flora/tree/tall/whitesands, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"xj" = ( +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood, +/area/ruin/unpowered) +"xm" = ( +/obj/structure/table, +/obj/item/weaponcrafting/receiver{ + pixel_x = -7; + pixel_y = -12 + }, +/obj/item/weaponcrafting/stock{ + pixel_x = 5; + pixel_y = 13 + }, +/obj/item/attachment/laser_sight{ + pixel_x = 10; + pixel_y = -9 + }, +/obj/item/gun/ballistic/automatic/pistol/candor/factory/no_mag{ + pixel_x = -6 + }, +/obj/item/reagent_containers/glass/rag{ + pixel_x = -10; + pixel_y = 19 + }, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"xu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/bed/roller, +/obj/effect/turf_decal/corner/opaque/green{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"xI" = ( +/turf/closed/wall/concrete, +/area/ruin/unpowered) +"xK" = ( +/obj/structure/flora/ash/cacti, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"xN" = ( +/obj/item/flashlight/lantern{ + on = 1; + pixel_x = -10; + pixel_y = 17 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"xQ" = ( +/obj/item/clothing/neck/stethoscope, +/obj/structure/closet/secure_closet/medical1{ + populate = 0 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, +/obj/item/reagent_containers/syringe, +/obj/item/stack/medical/mesh, +/obj/item/stack/medical/suture, +/obj/item/stack/sheet/cotton/cloth/ten, +/obj/item/stack/sheet/cotton/cloth/ten, +/obj/effect/turf_decal/corner/opaque/green/three_quarters{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"xV" = ( +/obj/structure/bed, +/obj/structure/curtain, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"yp" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"yr" = ( +/obj/machinery/space_heater, +/obj/effect/turf_decal/corner/opaque/green/border{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"zi" = ( +/mob/living/simple_animal/bot/secbot{ + desc = "A little security robot. He looks downright furious!"; + emagged = 2; + name = "\improper Officer Hermitsky"; + faction = list("neutral","silicon","turret","hermit") + }, +/obj/structure/closet/crate/critter{ + name = "DANGER: DO NOT OPEN" + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"zj" = ( +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/ruin/unpowered) +"zy" = ( +/mob/living/simple_animal/hostile/human/hermit/survivor{ + dir = 4 + }, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"Al" = ( +/obj/structure/chair/wood{ + dir = 8 + }, +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Aw" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/shaker{ + pixel_x = 16 + }, +/obj/effect/turf_decal/siding/wood, +/obj/item/spacecash/bundle/c1000{ + pixel_x = -2; + pixel_y = 3 + }, +/obj/item/spacecash/bundle/c1000{ + pixel_x = -5 + }, +/obj/item/spacecash/bundle/c5{ + pixel_x = -8; + pixel_y = 9 + }, +/obj/item/spacecash/bundle/c10{ + pixel_x = 2; + pixel_y = 4 + }, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"AN" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/bottle/sarsaparilla{ + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/bottle/kahlua{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/drinks/bottle/hcider{ + pixel_x = 16; + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/bottle/rum{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"Br" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Bw" = ( +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"BL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/item/assembly/igniter{ + pixel_x = -9; + pixel_y = -14 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"BQ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Cc" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"Cl" = ( +/obj/item/candle/infinite{ + pixel_y = 4 + }, +/obj/item/candle/infinite{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/item/candle/infinite{ + pixel_x = -10; + pixel_y = 8 + }, +/obj/item/candle/infinite{ + pixel_x = -5; + pixel_y = 2 + }, +/obj/item/candle/infinite{ + pixel_x = -10 + }, +/obj/item/candle/infinite{ + pixel_x = -16; + pixel_y = -2 + }, +/obj/structure/table/wood/fancy/blue, +/turf/open/floor/carpet/orange, +/area/ruin/unpowered) +"Cn" = ( +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter, +/obj/structure/chair/plastic{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/snow/lit/whitesands, +/area/overmap_encounter/planetoid/sand/explored) +"CI" = ( +/obj/structure/girder/reinforced, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"CL" = ( +/obj/structure/bookcase/random, +/turf/open/floor/wood, +/area/ruin/unpowered) +"CN" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/carpet/blue, +/area/ruin/unpowered) +"CS" = ( +/obj/machinery/hydroponics/soil, +/turf/open/floor/plating/grass/jungle, +/area/ruin/unpowered) +"CT" = ( +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/hermit/ranged/gunslinger, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Da" = ( +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Dk" = ( +/obj/structure/table/wood/fancy/green, +/obj/item/ammo_casing/shotgun/laserscatter{ + pixel_y = 4; + pixel_x = 10 + }, +/obj/item/ammo_casing/shotgun/laserscatter{ + pixel_y = 4; + pixel_x = -10 + }, +/obj/item/ammo_casing/shotgun/laserscatter{ + pixel_y = 4; + pixel_x = -6 + }, +/obj/item/ammo_casing/shotgun/laserscatter{ + pixel_y = 4; + pixel_x = -2 + }, +/obj/item/ammo_casing/shotgun/laserscatter{ + pixel_y = 4; + pixel_x = 2 + }, +/obj/item/ammo_casing/shotgun/laserscatter{ + pixel_y = 4; + pixel_x = 6 + }, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"DA" = ( +/mob/living/simple_animal/hostile/human/hermit/ranged/gunslinger, +/turf/open/floor/plating/grass/jungle, +/area/ruin/unpowered) +"DH" = ( +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/snow/lit/whitesands, +/area/overmap_encounter/planetoid/sand/explored) +"DX" = ( +/obj/structure/flora/rock/jungle, +/turf/open/floor/plating/grass/jungle, +/area/ruin/unpowered) +"DY" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood{ + icon_state = "wood-broken6" + }, +/area/ruin/unpowered) +"Eg" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Ep" = ( +/obj/machinery/pipedispenser, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"Ex" = ( +/obj/structure/flora/tree/tall/whitesands, +/turf/open/floor/plating/asteroid/whitesands/grass/lit, +/area/overmap_encounter/planetoid/sand/explored) +"EW" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/carpet/blue, +/area/ruin/unpowered) +"Fh" = ( +/obj/structure/girder, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"FB" = ( +/obj/structure/barricade/wooden/crude, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"FI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/carpet/blue, +/area/ruin/unpowered) +"FK" = ( +/obj/item/stack/tape/industrial{ + pixel_x = 12 + }, +/turf/open/floor/plating, +/area/overmap_encounter/planetoid/sand/explored) +"FU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/item/clothing/ears/earmuffs, +/obj/item/clothing/ears/earmuffs{ + pixel_x = -8 + }, +/obj/item/clothing/ears/earmuffs{ + pixel_x = 8 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Gc" = ( +/turf/open/floor/plating/asteroid/whitesands/grass/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Ge" = ( +/obj/structure/flora/grass/jungle/b, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Gl" = ( +/obj/structure/barricade/wooden, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Gt" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"GK" = ( +/obj/structure/flora/junglebush/c, +/turf/open/floor/plating/grass/jungle, +/area/ruin/unpowered) +"GO" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"GU" = ( +/turf/open/floor/carpet/orange, +/area/ruin/unpowered) +"Hb" = ( +/turf/open/floor/plating/asteroid/whitesands{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"Ht" = ( +/obj/structure/table/wood, +/obj/item/food/spaghetti/pastatomato{ + pixel_y = 8 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"HI" = ( +/turf/open/floor/plating/asteroid/whitesands/dried/lit, +/area/overmap_encounter/planetoid/sand/explored) +"HV" = ( +/obj/item/target/alien/anchored, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"Il" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Iz" = ( +/turf/open/floor/plating, +/area/overmap_encounter/planetoid/sand/explored) +"IE" = ( +/obj/machinery/iv_drip, +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/item/stack/medical/gauze/improvised{ + pixel_x = -16 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"IZ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/ruin/unpowered) +"Jt" = ( +/obj/effect/turf_decal/siding/wood, +/obj/item/storage/toolbox/drone{ + pixel_x = 8; + pixel_y = 9 + }, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"JK" = ( +/turf/open/floor/concrete/slab_4, +/area/ruin/unpowered) +"JM" = ( +/obj/structure/bed, +/obj/structure/curtain, +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter, +/obj/effect/turf_decal/corner/opaque/green/border, +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/effect/decal/cleanable/vomit/old, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"Kb" = ( +/obj/machinery/recharge_station, +/turf/open/floor/carpet/red_gold, +/area/ruin/unpowered) +"Kl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/decal/cleanable/blood/splatter, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"Kt" = ( +/obj/effect/turf_decal/corner/opaque/green/three_quarters, +/obj/effect/decal/cleanable/blood/gibs/up, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"Lv" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood{ + icon_state = "wood-broken2" + }, +/area/ruin/unpowered) +"Ly" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/bottle/whiskey{ + pixel_x = 16; + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/bottle/vodka{ + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/bottle/cognac{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/item/reagent_containers/food/drinks/bottle/gin{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"LA" = ( +/obj/structure/chair/stool/bar{ + dir = 4 + }, +/mob/living/simple_animal/hostile/human/hermit/survivor{ + desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body."; + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"LB" = ( +/obj/effect/decal/cleanable/blood/old, +/turf/open/floor/wood, +/area/ruin/unpowered) +"LC" = ( +/obj/structure/flora/grass/jungle/b, +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/plating/grass/jungle, +/area/ruin/unpowered) +"LI" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken2" + }, +/area/ruin/unpowered) +"LR" = ( +/obj/effect/decal/cleanable/blood, +/obj/effect/turf_decal/corner/opaque/green/border{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/green/border, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"Mg" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/turf/open/floor/plating/grass/jungle, +/area/ruin/unpowered) +"Mt" = ( +/obj/structure/flora/ash/fern, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Mz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/green/three_quarters{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"MI" = ( +/obj/structure/flora/grass/jungle, +/turf/open/floor/plating/grass/jungle, +/area/ruin/unpowered) +"MM" = ( +/obj/effect/decal/cleanable/blood/tracks{ + dir = 10 + }, +/obj/effect/turf_decal/corner/opaque/green/half{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"Nt" = ( +/obj/structure/flora/junglebush/b, +/obj/structure/flora/grass/jungle/b, +/turf/open/floor/plating/grass/jungle, +/area/ruin/unpowered) +"NG" = ( +/obj/structure/guncloset, +/obj/item/gun/ballistic/automatic/smg/skm_carbine, +/turf/open/floor/wood, +/area/ruin/unpowered) +"NR" = ( +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter, +/obj/structure/chair/plastic, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"NY" = ( +/turf/open/floor/plating/asteroid/snow/lit/whitesands, +/area/overmap_encounter/planetoid/sand/explored) +"Op" = ( +/obj/structure/statue/snow/snowman, +/turf/open/floor/plating/asteroid/snow/lit/whitesands, +/area/overmap_encounter/planetoid/sand/explored) +"OA" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/glass/maunamug, +/obj/item/reagent_containers/food/snacks/cracker{ + pixel_x = 12; + pixel_y = 7 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Pb" = ( +/obj/effect/decal/cleanable/blood/gibs/down, +/mob/living/simple_animal/hostile/human/hermit/survivor{ + desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body." + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"Pm" = ( +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/plating/grass/jungle, +/area/ruin/unpowered) +"Ps" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/meat/steak/meatproduct{ + pixel_y = 6 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Pu" = ( +/obj/structure/flora/ash/puce, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"PP" = ( +/obj/structure/flora/ash/fern, +/turf/open/floor/plating/asteroid/whitesands/dried/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Qk" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/corner/opaque/green/three_quarters{ + dir = 1 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"Ql" = ( +/obj/structure/bonfire/prelit, +/turf/open/floor/plating/grass/jungle, +/area/ruin/unpowered) +"Qm" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken3" + }, +/area/ruin/unpowered) +"Rq" = ( +/obj/structure/window/reinforced/fulltile, +/obj/structure/grille, +/obj/structure/curtain/cloth/grey, +/turf/open/floor/plating, +/area/ruin/unpowered) +"RN" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/mineral_door/iron, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Sd" = ( +/obj/item/gun/ballistic/shotgun/doublebarrel/brazil{ + pixel_x = 8 + }, +/obj/structure/table/wood/fancy/blue, +/turf/open/floor/carpet/orange, +/area/ruin/unpowered) +"Sf" = ( +/obj/item/ammo_casing/shotgun/improvised, +/obj/item/ammo_casing/shotgun/improvised, +/obj/item/ammo_casing/shotgun/improvised, +/obj/item/ammo_casing/shotgun/improvised, +/obj/item/ammo_casing/shotgun/improvised, +/obj/item/ammo_casing/shotgun/improvised, +/obj/item/ammo_casing/shotgun/improvised, +/obj/structure/closet/secure_closet, +/obj/item/ammo_box/magazine/skm_46_30/recycled, +/obj/item/ammo_box/magazine/skm_46_30/recycled, +/obj/item/attachment/rail_light, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"Sj" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/space_heater, +/obj/effect/turf_decal/corner/opaque/green/border{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"SB" = ( +/obj/structure/bed, +/obj/structure/curtain, +/obj/effect/decal/cleanable/dirt, +/mob/living/simple_animal/hostile/human/hermit/survivor{ + desc = " A wild-eyed figure, wearing tattered mining equipment and boasting a malformed body." + }, +/obj/effect/turf_decal/corner/opaque/green/diagonal, +/obj/item/reagent_containers/syringe{ + pixel_x = -11 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"To" = ( +/obj/structure/flora/ash/cap_shroom, +/turf/open/floor/plating/asteroid/whitesands{ + light_range = 2 + }, +/area/overmap_encounter/planetoid/sand/explored) +"Tw" = ( +/obj/item/candle/infinite{ + pixel_x = 10; + pixel_y = 8 + }, +/obj/item/candle/infinite{ + pixel_x = 5; + pixel_y = 6 + }, +/obj/item/candle/infinite{ + pixel_y = 4 + }, +/obj/item/candle/infinite{ + pixel_x = 5; + pixel_y = 2 + }, +/obj/item/candle/infinite{ + pixel_x = 10 + }, +/obj/item/candle/infinite{ + pixel_x = 16; + pixel_y = 10 + }, +/obj/structure/table/wood/fancy/blue, +/turf/open/floor/carpet/orange, +/area/ruin/unpowered) +"Tx" = ( +/obj/structure/flora/junglebush/b, +/turf/open/floor/plating/grass/jungle, +/area/ruin/unpowered) +"TA" = ( +/turf/open/floor/wood{ + icon_state = "wood-broken7" + }, +/area/ruin/unpowered) +"TL" = ( +/obj/structure/barricade/sandbags, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Ul" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/railing, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"Uu" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/bottle/amaretto{ + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/bottle/trappist{ + pixel_x = 16; + pixel_y = 12 + }, +/obj/item/reagent_containers/food/drinks/bottle/bottleofnothing{ + pixel_x = 8; + pixel_y = 4 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"Ux" = ( +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter, +/turf/open/floor/plating/grass/jungle, +/area/ruin/unpowered) +"UE" = ( +/mob/living/simple_animal/hostile/human/hermit/ranged/hunter, +/turf/open/floor/plating/asteroid/whitesands/grass/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Vy" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/railing, +/obj/item/flashlight/lantern{ + on = 1 + }, +/turf/open/floor/concrete/slab_1, +/area/ruin/unpowered) +"VB" = ( +/obj/structure/table/wood/reinforced, +/turf/open/floor/wood, +/area/ruin/unpowered) +"VI" = ( +/obj/structure/flora/rock/pile, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/ruin/unpowered) +"VR" = ( +/mob/living/simple_animal/hostile/human/hermit/survivor, +/turf/open/floor/plating, +/area/overmap_encounter/planetoid/sand/explored) +"VS" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"VX" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/bottle/sarsaparilla{ + pixel_y = 8; + pixel_x = -13 + }, +/obj/item/reagent_containers/food/drinks/bottle/tequila{ + pixel_x = 13; + pixel_y = 10 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"WH" = ( +/turf/open/floor/wood, +/area/ruin/unpowered) +"Xq" = ( +/obj/structure/table, +/obj/item/storage/firstaid/regular{ + pixel_y = 12 + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/item/reagent_containers/food/snacks/soup/vegetable, +/obj/item/storage/pill_bottle/iron{ + pixel_x = 12; + pixel_y = 8 + }, +/obj/effect/turf_decal/corner/opaque/green/three_quarters{ + dir = 4 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"XD" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/carpet/green, +/area/ruin/unpowered) +"XH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table, +/obj/machinery/recharger, +/obj/item/attachment/foldable_stock{ + pixel_x = -14 + }, +/obj/item/attachment/foldable_stock{ + pixel_x = -14; + pixel_y = 8 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"XK" = ( +/obj/structure/chair/plastic{ + dir = 8 + }, +/turf/open/floor/plating, +/area/overmap_encounter/planetoid/sand/explored) +"XL" = ( +/obj/structure/table/wood/reinforced, +/obj/item/reagent_containers/food/drinks/sillycup/smallcarton{ + pixel_x = 9; + pixel_y = 7 + }, +/obj/item/cigbutt{ + pixel_x = -8; + pixel_y = 11 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Ya" = ( +/mob/living/simple_animal/bot/medbot/rockplanet{ + faction = list("hermit") + }, +/obj/effect/decal/cleanable/blood/tracks{ + dir = 4 + }, +/obj/effect/turf_decal/corner/opaque/green/three_quarters{ + dir = 8 + }, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"Yc" = ( +/obj/structure/table/wood/fancy/blue, +/turf/open/floor/carpet/orange, +/area/ruin/unpowered) +"Yg" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/corner/opaque/green/border{ + dir = 1 + }, +/obj/effect/turf_decal/corner/opaque/green/border, +/turf/open/floor/plasteel/white, +/area/ruin/unpowered) +"Yh" = ( +/obj/item/shovel, +/turf/open/floor/plating/grass/jungle, +/area/ruin/unpowered) +"Yk" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/carpet/blue, +/area/ruin/unpowered) +"Yv" = ( +/obj/structure/flora/ash/cap_shroom, +/turf/open/floor/plating/asteroid/whitesands/dried/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Yx" = ( +/obj/structure/mineral_door/iron, +/turf/open/floor/wood, +/area/ruin/unpowered) +"Yy" = ( +/mob/living/simple_animal/hostile/human/hermit/survivor, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) +"YV" = ( +/obj/structure/destructible/tribal_torch/lit, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/ruin/unpowered) +"YX" = ( +/turf/open/floor/plating/grass/jungle, +/area/ruin/unpowered) +"YZ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/structure/destructible/tribal_torch/lit, +/turf/open/floor/wood{ + icon_state = "wood-broken" + }, +/area/ruin/unpowered) +"Zd" = ( +/obj/effect/decal/cleanable/blood, +/turf/closed/wall/mineral/wood/nonmetal, +/area/ruin/unpowered) +"Zf" = ( +/obj/structure/flora/ash/tall_shroom, +/turf/open/floor/plating/asteroid/whitesands/lit, +/area/overmap_encounter/planetoid/sand/explored) +"Zh" = ( +/turf/closed/wall/mineral/wood/nonmetal, +/area/overmap_encounter/planetoid/sand/explored) +"Zs" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/food/snacks/meat/steak/goliath{ + pixel_x = 4; + pixel_y = 7 + }, +/obj/item/spacecash/bundle/c5{ + pixel_x = 15; + pixel_y = -2 + }, +/turf/open/floor/wood, +/area/ruin/unpowered) + +(1,1,1) = {" +aW +aW +aW +aW +aW +aW +lu +eD +TL +DH +DH +lu +lu +lu +aW +aW +aW +aW +aW +aW +aW +aW +lu +lu +lu +lu +aW +aW +aW +aW +"} +(2,1,1) = {" +aW +aW +aW +aW +aW +aW +aW +lu +DH +Cn +NY +lu +kX +kX +kX +kX +kX +kX +kX +aW +aW +aW +HI +vi +lu +lu +lu +aW +aW +aW +"} +(3,1,1) = {" +aW +aW +aW +aW +aW +aW +aW +NY +DH +NY +vr +NY +Zd +pn +Ul +TA +Eg +NG +kX +kX +HI +HI +HI +lu +lu +lu +lu +lu +lu +aW +"} +(4,1,1) = {" +aW +aW +aW +aW +aW +aW +lu +HI +NY +NY +Op +NY +kX +HV +Cc +WH +hp +oo +nF +kX +HI +sj +Hb +Hb +sE +Hb +To +Hb +Hb +aW +"} +(5,1,1) = {" +aW +aW +aW +aW +aW +aW +lu +sE +gk +NY +NY +lu +kX +pn +Vy +WH +LI +CT +XH +kX +lu +sE +sE +mz +hr +hr +Hb +Hb +Hb +aW +"} +(6,1,1) = {" +aW +aW +aW +aW +aW +lu +lu +lu +HI +NY +lu +lu +kX +kX +kX +WH +WH +Da +FU +kX +CI +hr +Hb +sE +hr +sE +sE +Hb +Hb +aW +"} +(7,1,1) = {" +aW +aW +aW +aW +aW +lu +mz +lu +HI +HI +xg +lu +Pu +kX +zi +LI +WH +kX +kX +kX +lu +sE +Hb +hr +hr +hr +sE +mz +hr +Hb +"} +(8,1,1) = {" +aW +aW +aW +aW +aW +lu +lu +sE +lu +HI +HI +kX +kX +kX +kX +WH +kD +oR +kX +lu +lu +Hb +Hb +sE +sE +sE +Hb +Hb +sE +hr +"} +(9,1,1) = {" +aW +aW +aW +aW +aW +lu +sE +lu +lu +Yv +HI +kX +Sf +zy +Jt +LB +BL +mn +hg +lu +lu +To +fK +hr +Hb +mz +hr +un +Hb +hr +"} +(10,1,1) = {" +aW +aW +aW +aW +lu +lu +lu +Zf +lu +lu +HI +kX +Ep +xm +lA +Da +Eg +pf +hg +lu +cS +Hb +hr +hr +sE +hr +hr +sE +Hb +aW +"} +(11,1,1) = {" +aW +aW +aW +aW +sE +lu +HI +HI +lu +xI +xI +xI +xI +xI +xI +xI +ae +Eg +kX +lu +lu +Hb +Hb +Hb +Hb +Hb +hr +Hb +Hb +aW +"} +(12,1,1) = {" +aW +aW +aW +aW +aW +HI +HI +xI +xI +xI +YX +YX +YX +YX +YX +YX +nn +Ge +xI +Fh +lu +mv +qD +Hb +sA +Hb +sE +sE +Hb +aW +"} +(13,1,1) = {" +aW +aW +aW +aW +aW +aW +aW +xI +YX +YX +YX +hO +YX +uG +YX +uG +uG +YX +xI +HI +lu +hr +Hb +mv +Hb +hr +Hb +Hb +aW +aW +"} +(14,1,1) = {" +aW +aW +aW +aW +aW +aW +xI +xI +MI +YX +YX +YX +DX +Ql +Nt +si +Tx +Ux +xI +xI +lu +hA +TL +TL +hr +vi +hr +aW +aW +aW +"} +(15,1,1) = {" +aW +aW +aW +aW +aW +aW +xI +MI +YX +Ux +YX +YX +CS +CS +CS +hT +MI +YX +GK +xI +lu +lu +lu +hR +TL +lu +aW +aW +aW +aW +"} +(16,1,1) = {" +aW +aW +aW +aW +aW +xI +xI +GK +YX +YX +Pm +xI +xI +xI +xI +Pm +YX +MI +YX +xI +xI +HI +lu +lu +TL +lu +lu +lu +aW +aW +"} +(17,1,1) = {" +aW +aW +aW +aW +aW +xI +GK +YX +MI +xI +xI +xI +dz +fz +xI +xI +xI +YX +YX +nG +xI +HI +lu +lu +lu +lu +lu +lu +lu +aW +"} +(18,1,1) = {" +aW +aW +aW +aW +aW +xI +YX +MI +MI +xI +CL +Bw +Bw +gH +Bw +CL +xI +Pm +MI +MI +xI +xI +kX +HI +HI +lu +TL +TL +vi +aW +"} +(19,1,1) = {" +aW +aW +aW +aW +aW +xI +YX +bB +xI +xI +ct +Bw +GU +GU +Bw +JK +xI +xI +YX +MI +mM +kX +kX +kX +kX +hA +lu +TL +lu +aW +"} +(20,1,1) = {" +aW +aW +aW +aW +aW +xI +YX +YX +JK +JK +JK +GU +Sd +Tw +GU +JK +tY +xI +YX +YX +rP +oo +Yx +WH +RN +lu +lu +TL +lu +aW +"} +(21,1,1) = {" +aW +aW +aW +aW +aW +xI +YX +YX +JK +JK +JK +GU +Yc +Cl +GU +JK +Kb +xI +YX +YX +Yy +WH +Yx +pf +RN +lu +lu +lu +lu +aW +"} +(22,1,1) = {" +aW +aW +aW +aW +aW +xI +YX +Pm +xI +xI +ct +Bw +GU +GU +Bw +JK +xI +xI +uG +LC +YZ +kX +kX +kX +kX +lu +lu +TL +lu +aW +"} +(23,1,1) = {" +aW +aW +aW +aW +aW +xI +YX +MI +DX +xI +CL +Bw +Bw +gH +Bw +CL +xI +Pm +uG +YX +xI +xI +kX +lu +hA +lu +lu +TL +lu +aW +"} +(24,1,1) = {" +aW +aW +aW +aW +aW +xI +YX +MI +MI +xI +xI +xI +Dk +dz +xI +xI +xI +YX +YX +GK +xI +Gl +HI +lu +lu +NR +TL +TL +lu +aW +"} +(25,1,1) = {" +aW +aW +aW +aW +aW +xI +xI +YX +Ux +YX +Pm +xI +xI +xI +xI +Pm +YX +YX +nG +xI +xI +Gl +HI +HI +Pu +TL +TL +lu +aW +aW +"} +(26,1,1) = {" +aW +aW +aW +aW +aW +aW +xI +Tx +Tx +YX +YX +CS +CS +CS +YX +Tx +YX +DX +YX +xI +lu +HI +HI +lu +lu +lu +aW +aW +aW +aW +"} +(27,1,1) = {" +aW +aW +kX +kX +xI +xI +xI +xI +fO +YX +YX +wh +Yh +Ql +YX +DX +YX +YX +YX +xI +lu +lu +lu +TL +lu +lu +lu +lu +lu +aW +"} +(28,1,1) = {" +aW +kX +kX +jy +Ht +wm +zj +yp +IZ +YX +YX +YX +YX +YX +nG +vH +YX +Mg +uv +kX +HI +lu +xK +TL +lu +Gc +Gc +Gc +lu +aW +"} +(29,1,1) = {" +aW +kX +WH +Qm +pa +WH +xj +LA +uq +BQ +YX +GK +YX +DA +YX +GK +uG +kF +uv +kX +kX +HI +lu +HI +Gc +Ex +Gc +tf +Gc +lu +"} +(30,1,1) = {" +kX +kX +oo +YV +kX +Lv +fB +OA +VB +xI +xI +xI +xI +xI +xI +xI +xI +jU +MM +Qk +hg +HI +HI +Gc +Gc +Gc +Gc +cr +Gc +lu +"} +(31,1,1) = {" +kX +cH +WH +WH +Gt +WH +DY +te +XD +GO +kX +HI +HI +kX +Xq +ht +Kl +xN +rw +bv +hg +HI +HI +wn +Gc +Gc +UE +cr +Gc +lu +"} +(32,1,1) = {" +kX +pf +jy +Zs +CN +tx +Il +XL +VS +qm +kX +HI +gk +kX +xQ +ql +Pb +Kt +Ya +bv +hg +HI +lu +Gc +tf +Gc +cr +cr +Gc +lu +"} +(33,1,1) = {" +kX +Da +ib +sf +fI +Yk +fB +wk +VS +Aw +kX +Mt +HI +kX +kX +kX +fd +kQ +Mz +xu +kX +mi +Gl +lu +Gc +Gc +Gc +Gc +lu +lu +"} +(34,1,1) = {" +kX +kX +Ps +Al +EW +FI +Il +jn +VS +Uu +Rq +xK +HI +lu +lu +kX +kX +yr +vR +Sj +kX +Iz +mq +qT +FK +Gl +Gc +Ex +lu +aW +"} +(35,1,1) = {" +aW +kX +cH +Qm +pa +LI +Il +mo +qS +AN +Rq +xK +lu +lu +lu +lu +kX +JM +rs +qC +kX +lu +Iz +vg +VR +FB +Gc +Gc +lu +aW +"} +(36,1,1) = {" +aW +kX +kX +YV +kX +Br +fB +wk +VS +Ly +Rq +xK +lu +lu +Zf +lu +kX +IE +LR +aS +kX +Iz +lu +Iz +lu +Zh +tf +Gc +lu +aW +"} +(37,1,1) = {" +aW +aW +kX +WH +is +WH +hN +VX +eC +wd +kX +PP +lu +lu +lu +lu +kX +xV +Yg +SB +kX +lu +XK +lu +Iz +Zh +Gc +lu +aW +aW +"} +(38,1,1) = {" +aW +aW +kX +kX +Da +WH +fB +bq +iu +kX +kX +HI +HI +lu +pu +lu +kX +kX +kX +kX +kX +cN +Zh +Gl +lu +lu +lu +lu +aW +aW +"} +(39,1,1) = {" +aW +aW +aW +kX +hg +hg +hg +kX +kX +kX +HI +nf +HI +aW +lu +aW +aW +VI +aW +aW +aW +lu +vi +lu +Zf +lu +lu +aW +aW +aW +"} +(40,1,1) = {" +aW +aW +aW +aW +aW +aW +aW +aW +aW +aW +HI +HI +HI +aW +aW +aW +aW +aW +aW +aW +aW +aW +lu +lu +lu +lu +aW +aW +aW +aW +"} diff --git a/_maps/map_catalogue.txt b/_maps/map_catalogue.txt index 35eb2db0bb16..fbc8db2de21e 100644 --- a/_maps/map_catalogue.txt +++ b/_maps/map_catalogue.txt @@ -22,10 +22,6 @@ Find the key for using this catalogue in "map_catalogue_key.txt" Size = (x = 28)(y = 28)(z = 1) Tags = "Medium Combat Challenge", "Minor Loot", "Antag Gear", "Inhospitable" - File Name = _maps\RandomRuins\IceRuins\icemoon_underground_brazillianlab.dmm - Size = (x = 40)(y = 30)(z = 1) - Tags = "Boss Combat Challenge", "Major Loot", "Inhospitable" - File Name = _maps\RandomRuins\IceRuins\icemoon_underground_burnies_lair.dmm Size = (x = 20)(y = 20)(z = 1) Tags = "Boss Combat Challenge", "Minor Loot", "Shelter", "Antag Gear" @@ -140,22 +136,25 @@ Find the key for using this catalogue in "map_catalogue_key.txt" SandRuins: - File Name = "_maps\RandomRuins\Ruins\whitesands_surface_camp_saloon.dmm" + File Name = "_maps\RandomRuins\SandRuins\whitesands_surface_camp_saloon.dmm" Size = (x = 30)(y = 30)(z = 1) Tags = "Medium Combat Challenge", "Medium Loot", "Inhospitable" - File Name = "_maps\RandomRuins\Ruins\whitesands_surface_camp_combination.dmm" + File Name = "_maps\RandomRuins\SandRuins\whitesands_surface_camp_combination.dmm" Size = (x = 59)(y = 59)(z = 1) Tags = "Medium Combat Challenge", "Medium Loot", "Inhospitable", "Hazardous" - File Name = "_maps\RandomRuins\Ruins\whitesands_surface_medipen_plant.dmm" + File Name = "_maps\RandomRuins\SandRuins\whitesands_surface_medipen_plant.dmm" Size = (x = 23)(y = 29)(z = 1) Tags = "No Combat", "Major Loot", "Shelter" - File Name = "_maps\RandomRuins\Ruins\whitesands_surface_pubbyslopcrash.dmm" + File Name = "_maps\RandomRuins\SandRuins\whitesands_surface_pubbyslopcrash.dmm" Size = (x = 40)(y = 25)(z = 1) Tags = "Minor Combat Challenge", "Medium Loot", "Shelter" + File Name = _maps\RandomRuins\SandRuins\whitesands_brazillianlab.dmm + Size = (x = 40)(y = 30)(z = 1) + Tags = "Boss Combat Challenge", "Major Loot", "Inhospitable" SpaceRuins: @@ -236,7 +235,8 @@ Find the key for using this catalogue in "map_catalogue_key.txt" File name = "_maps\RandomRuins\wasteruins\wasteplanet_abandoned_mechbay.dmm" Size = (x = 45)(y = 47)(z = 1) Tags = "Boss Combat Challenge", "Medium Loot", "Shelter", "Hazardous" - + File name = "_maps\RandomRuins\wasteruins\wasteplanet_yard.dmm" Size = (x = 43)(y = 51)(z = 1) Tags = "Medium Combat Challenge", "Medium Loot", "Shelter", "Hazardous" + diff --git a/code/datums/ruins/icemoon.dm b/code/datums/ruins/icemoon.dm index 30b231c385c2..1ea3d57e6928 100644 --- a/code/datums/ruins/icemoon.dm +++ b/code/datums/ruins/icemoon.dm @@ -18,13 +18,6 @@ suffix = "icemoon_underground_abandoned_village.dmm" ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MINOR_LOOT, RUIN_TAG_INHOSPITABLE) -/datum/map_template/ruin/icemoon/brazillian_lab - name = "Barricaded Compound" - id = "brazillian-lab" - description = "A conspicuous compound in the middle of the cold wasteland. What goodies are inside?" - suffix = "icemoon_underground_brazillianlab.dmm" - ruin_tags = list(RUIN_TAG_BOSS_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_INHOSPITABLE) - /datum/map_template/ruin/icemoon/crashed_holemaker name = "Crashed Holemaker" id = "crashed_holemaker" diff --git a/code/datums/ruins/whitesands.dm b/code/datums/ruins/whitesands.dm index 1afc8bb4cc6c..0ec75c936dd9 100644 --- a/code/datums/ruins/whitesands.dm +++ b/code/datums/ruins/whitesands.dm @@ -47,3 +47,10 @@ description = "An old Eoehoma Firearms manufacturing plant dedicated to assembly of the beloved-by-many E-11 rifle." suffix = "whitesands_surface_e11_manufactory.dmm" ruin_tags = list(RUIN_TAG_MEDIUM_COMBAT, RUIN_TAG_MEDIUM_LOOT, RUIN_TAG_HAZARDOUS) + +/datum/map_template/ruin/whitesands/brazillian_lab + name = "Hermit Weapons-Testing Compound" + id = "brazillian-lab" + description = "A conspicuous compound in the middle of the sandy wasteland. What goodies are inside?" + suffix = "whitesands_brazillianlab.dmm" + ruin_tags = list(RUIN_TAG_BOSS_COMBAT, RUIN_TAG_MAJOR_LOOT, RUIN_TAG_INHOSPITABLE) diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index a519dc257ae6..39f6cb0dbea1 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -441,6 +441,8 @@ EMPTY_GUN_HELPER(shotgun/doublebarrel/presawn) icon = 'icons/obj/guns/48x32guns.dmi' lefthand_file = 'icons/mob/inhands/weapons/64x_guns_left.dmi' righthand_file = 'icons/mob/inhands/weapons/64x_guns_right.dmi' + inhand_x_dimension = 64 + inhand_y_dimension = 64 item_state = "shotgun_qb" w_class = WEIGHT_CLASS_BULKY force = 15 //blunt edge and really heavy From f8f7c5a1380b53268b519f9f156625b52af9d613 Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Wed, 27 Nov 2024 11:48:28 -0600 Subject: [PATCH 285/344] New Cargo Missions (Pirate Bounties, Salvage) (#3327) ## About The Pull Request A few more missions to cargo. Should make them more varied, with some financial incentive for combat ships or scrappers to search for certain things - [x] Add dogtags to Frontiersmen corpses - [x] Add dogtags to Ramzi drops or have them spawn corpses with dogtag on them (ramzi mobs are kind of stupid i might change them) - [x] Frontie Mission - [x] Ramzi Mission - [x] Turn in Protolathe Mission - [x] Turn in RND Console Mission (may combine all three of these into one) - [x] Remove Fishing Missions - [x] Remove impossible missions like Capture Abandoned Floorbot and Capture Bluespace Watcher - [x] Descriptions - [x] Increase value of migo mission - [x] Increase value of Strange Crystal mission - [x] Dogtag sprites (courtesy of @rye-rice (prices subject to change) ## Why It's Good For The Game More financial incentives to go hunt down the Pirate ruins for combat ships. A reason to stash up the rare machinery you find from ruins to sell them instead of Grinding RND And Getting Those Sweet Research Points Crew bonding session of stripping dogtags from pirates, ensuring their bodies never return to their loved ones and you can rack in that sweet, sweet Inteq cash ## Changelog :cl: add: Adds Dogtag Missions to hunt down Ramzi Clique and Frontiersman NPCS from Ruins add: Adds Salvage Missions to collect Protolathe or R&D Console Boards del: Removes Fishing Missions del: Removes impossible missions like Bluespace Watcher and Abandoned Floorbot balance: Increases price of Migo missions to be on par with Legion balance: Increases the value of Strange Crystal missions del: Remove R&D design board from unlocked Protolathes and Science Protolathes /:cl: --------- Signed-off-by: generalthrax <139387950+generalthrax@users.noreply.github.com> Co-authored-by: Mark Suckerberg --- code/game/objects/items/storage/toolbox.dm | 20 +++++ code/modules/clothing/neck/_neck.dm | 17 ++++ .../mob/living/simple_animal/corpse.dm | 1 + .../simple_animal/hostile/human/syndicate.dm | 14 ++-- .../overmap/missions/acquire_mission.dm | 74 +++++++++++------- .../research/designs/comp_board_designs.dm | 8 -- code/modules/research/techweb/all_nodes.dm | 2 +- icons/obj/clothing/neck.dmi | Bin 5982 -> 11476 bytes 8 files changed, 95 insertions(+), 41 deletions(-) diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index 5313478846b9..0dafea0611bf 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -273,6 +273,26 @@ STR.max_combined_w_class = 4 STR.max_items = 2 +/obj/item/storage/toolbox/bounty/hunt + name = "dogtag case" + desc = "Store pirate dogtags in here." + +/obj/item/storage/toolbox/bounty/hunt/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_combined_w_class = 6 + STR.max_items = 3 + +/obj/item/storage/toolbox/bounty/salvage + name = "research case" + desc = "Store salvaged science equipment in here." + +/obj/item/storage/toolbox/bounty/salvage/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_combined_w_class = 2 + STR.max_items = 1 + //floorbot assembly /obj/item/storage/toolbox/attackby(obj/item/stack/tile/plasteel/T, mob/user, params) var/list/allowed_toolbox = list(/obj/item/storage/toolbox/emergency, //which toolboxes can be made into floorbots diff --git a/code/modules/clothing/neck/_neck.dm b/code/modules/clothing/neck/_neck.dm index 2165baaa2b0e..be896c6cee3c 100644 --- a/code/modules/clothing/neck/_neck.dm +++ b/code/modules/clothing/neck/_neck.dm @@ -310,6 +310,23 @@ tagname = stripped_input(user, "Would you like to change the name on the tag?", "Name your new pet", "Spot", MAX_NAME_LEN) name = "[initial(name)] - [tagname]" +/obj/item/clothing/neck/dogtag + name = "dogtag" + desc = "A nondescript dogtag." + icon = 'icons/obj/clothing/neck.dmi' + icon_state = "dogtag" + resistance_flags = FIRE_PROOF + w_class = WEIGHT_CLASS_SMALL + slot_flags = ITEM_SLOT_NECK | ITEM_SLOT_POCKETS + +/obj/item/clothing/neck/dogtag/frontier + name = "frontiersman dogtag" + desc = "A dogtag marked with the name and rank of a Frontiersmen pirate. You could turn this in to an outpost console contract for money." + +/obj/item/clothing/neck/dogtag/ramzi + name = "ramzi clique dogtag" + desc = "A dogtag marked with the name and rank of a Ramzi Clique pirate. You could turn this in to an outpost console contract for money." + ////////////// //DOPE BLING// ////////////// diff --git a/code/modules/mob/living/simple_animal/corpse.dm b/code/modules/mob/living/simple_animal/corpse.dm index eb8de8863ce1..f189084e6dc1 100644 --- a/code/modules/mob/living/simple_animal/corpse.dm +++ b/code/modules/mob/living/simple_animal/corpse.dm @@ -129,6 +129,7 @@ shoes = /obj/item/clothing/shoes/jackboots head = /obj/item/clothing/head/beret/sec/frontier gloves = /obj/item/clothing/gloves/color/black + neck = /obj/item/clothing/neck/dogtag/frontier /obj/effect/mob_spawn/human/corpse/frontier/ranged outfit = /datum/outfit/frontier diff --git a/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm index 2f61ba65a289..b20945bfccd1 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm @@ -12,7 +12,8 @@ icon_living = "syndicate" speak_chance = 0 stat_attack = HARD_CRIT - loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier) + loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier, /obj/item/clothing/neck/dogtag/ramzi) + atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) maxbodytemp = 400 unsuitable_atmos_damage = 15 faction = list(FACTION_ANTAG_SYNDICATE) @@ -32,6 +33,7 @@ minbodytemp = 0 maxbodytemp = 1000 speed = 1 + loot = list(/obj/item/clothing/neck/dogtag/ramzi) armor_base = /obj/item/clothing/suit/space/hardsuit/syndi/ramzi /mob/living/simple_animal/hostile/human/syndicate/space/Initialize() @@ -53,7 +55,7 @@ melee_damage_upper = 15 icon_state = "syndicate_knife" icon_living = "syndicate_knife" - loot = list(/obj/effect/gibspawner/human) + loot = list(/obj/effect/gibspawner/human, /obj/item/clothing/neck/dogtag/ramzi) attack_verb_continuous = "slashes" attack_verb_simple = "slash" attack_sound = 'sound/weapons/bladeslice.ogg' @@ -82,6 +84,8 @@ icon_state = "syndicate_stormtrooper_knife" icon_living = "syndicate_stormtrooper_knife" name = "Ramzi Clique Stormtrooper" + maxHealth = 250 + health = 250 projectile_deflect_chance = 50 armor_base = /obj/item/clothing/suit/space/hardsuit/syndi @@ -99,7 +103,7 @@ light_color = COLOR_SOFT_RED status_flags = 0 var/obj/effect/light_emitter/red_energy_sword/sord - projectile_deflect_chance = 50 + projectile_deflect_chance = 25 /mob/living/simple_animal/hostile/human/syndicate/melee/sword/Initialize() . = ..() @@ -157,13 +161,13 @@ icon_living = "syndicate_pistol" casingtype = /obj/item/ammo_casing/c10mm projectilesound = 'sound/weapons/gun/pistol/shot.ogg' - loot = list(/obj/effect/gibspawner/human) + loot = list(/obj/effect/gibspawner/human, /obj/item/clothing/neck/dogtag/ramzi) dodging = FALSE rapid_melee = 1 /mob/living/simple_animal/hostile/human/syndicate/ranged/infiltrator //shuttle loan event projectilesound = 'sound/weapons/gun/smg/shot_suppressed.ogg' - loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier) + loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier, /obj/item/clothing/neck/dogtag/ramzi) /mob/living/simple_animal/hostile/human/syndicate/ranged/space name = "Ramzi Clique Operative" diff --git a/code/modules/overmap/missions/acquire_mission.dm b/code/modules/overmap/missions/acquire_mission.dm index 411e0444099f..71bb5546fe03 100644 --- a/code/modules/overmap/missions/acquire_mission.dm +++ b/code/modules/overmap/missions/acquire_mission.dm @@ -104,7 +104,7 @@ /datum/mission/acquire/true_love/strange_crystal name = "Strange crystal needed (urgent!!!)" - value = 1000 + value = 4000 weight = 1 objective_type = /obj/item/strange_crystal @@ -172,40 +172,16 @@ Acquire: Anomaly value = 1300 objective_type = /mob/living/simple_animal/hostile/asteroid/hivelord/legion -/datum/mission/acquire/creature/ice_whelp - name = "Capture an ice whelp" - desc = "I require a live ice whelp for research purposes. Trap one within the given \ - Lifeform Containment Unit and return it to me and you will be paid handsomely." - value = 1700 - weight = 2 - objective_type = /mob/living/simple_animal/hostile/asteroid/ice_whelp - /datum/mission/acquire/creature/migo name = "Capture a live mi-go" desc = "I require a live mi-go for research purposes. Trap one within the given \ Lifeform Containment Unit and return it to me and you will be paid handsomely." - value = 1050 + value = 1300 weight = 2 objective_type = /mob/living/simple_animal/hostile/netherworld/migo/asteroid -/datum/mission/acquire/creature/floorbot - name = "Detain a malfunctioning floorbot" - desc = "I require a functional abandoned floorbot for \"research\" purposes. Trap one within \ - the given Lifeform Containment Unit and return it to me and you will be paid handsomely." - value = 1450 - weight = 1 - objective_type = /mob/living/simple_animal/bot/floorbot/rockplanet - -/datum/mission/acquire/creature/firebot - name = "Detain a malfunctioning firebot" - desc = "I require a functional abandoned firebot for \"research\" purposes. Trap one within \ - the given Lifeform Containment Unit and return it to me and you will be paid handsomely." - value = 1450 - weight = 1 - objective_type = /mob/living/simple_animal/bot/firebot/rockplanet - /* - Acquire: Landmines + Acquire: Salvage */ /datum/mission/acquire/landmine @@ -219,6 +195,50 @@ Acquire: Anomaly objective_type = /obj/item/mine/pressure/explosive num_wanted = 2 +/datum/mission/acquire/bounty + name = "Hunt down Frontiersmen Dogtags" + desc = "CLIP has assigned us to offer out bounties to hunt down Frontiersman cells and turn in their dogtags. We'll reward you well." + weight = 4 + value = 3000 + duration = 100 MINUTES + dur_mod_range = 0.2 + container_type = /obj/item/storage/toolbox/bounty/hunt + objective_type = /obj/item/clothing/neck/dogtag/frontier + num_wanted = 3 + +/datum/mission/acquire/bounty/ramzi + name = "Hunt down Ramzi Clique Dogtags" + desc = "Gezena has assigned us to offer out bounties to hunt down Ramzi Clique outfits and turn in their dogtags. We'll reward you well." + weight = 3 + value = 4000 + duration = 120 MINUTES + dur_mod_range = 0.1 + container_type = /obj/item/storage/toolbox/bounty/hunt + objective_type = /obj/item/clothing/neck/dogtag/ramzi + num_wanted = 3 + +/datum/mission/acquire/salvage + name = "Deliver Protolathe" + desc = "The Nanotrasen Corporation is contracting out to have scientific equipment returned. Looking for a rare circuitboard (R&D Console, Protolathe, Circuit Imprinter) of any type." + weight = 2 + value = 4000 + duration = 120 MINUTES + dur_mod_range = 0.3 + container_type = /obj/item/storage/toolbox/bounty/salvage + objective_type = /obj/item/circuitboard/machine/protolathe + num_wanted = 1 + +/datum/mission/acquire/salvage/console + name = "Deliver R&D Console" + desc = "The Nanotrasen Corporation is contracting out to have scientific equipment returned. Looking for a rare circuitboard (R&D Console, Protolathe, Circuit Imprinter) of any type." + weight = 3 + value = 2500 + duration = 120 MINUTES + dur_mod_range = 0.3 + container_type = /obj/item/storage/toolbox/bounty/salvage + objective_type = /obj/item/circuitboard/computer/rdconsole + num_wanted = 1 + /* Acquire: Fishing */ diff --git a/code/modules/research/designs/comp_board_designs.dm b/code/modules/research/designs/comp_board_designs.dm index baa48134abbd..6cd4b69f4062 100644 --- a/code/modules/research/designs/comp_board_designs.dm +++ b/code/modules/research/designs/comp_board_designs.dm @@ -182,14 +182,6 @@ category = list("Computer Boards") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE | DEPARTMENTAL_FLAG_CARGO -/datum/design/board/rdconsole - name = "Computer Design (R&D Console)" - desc = "Allows for the construction of circuit boards used to build a new R&D console." - id = "rdconsole" - build_path = /obj/item/circuitboard/computer/rdconsole - category = list("Computer Boards") - departmental_flags = DEPARTMENTAL_FLAG_SCIENCE - /datum/design/board/bounty name = "Computer Design (Bounty Console)" desc = "Allows for the construction of circuit boards used to build a Bounty Console." diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index f4b0276c18a3..e8d8f6e54728 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -13,7 +13,7 @@ // Cargo Stuff "c-reader", "desttagger", "salestagger", "handlabel", "packagewrap", // Research Stuff - "destructive_analyzer", "experimentor", "rdconsole", "rdserver", "design_disk", "tech_disk", "mechfab", + "destructive_analyzer", "experimentor", "rdserver", "design_disk", "tech_disk", "mechfab", // Miscellaneous Stufff "paystand", "space_heater", "bucket", "plastic_knife", "plastic_fork", "plastic_spoon", "fax", // Security Stuff diff --git a/icons/obj/clothing/neck.dmi b/icons/obj/clothing/neck.dmi index 3109928ff7aedd2ac0b37651762f0e4e0cfa604e..0c4ba91632f745672f42562bf3dc7cf204fb29a3 100644 GIT binary patch literal 11476 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 G@qYj_uhjAY literal 5982 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 TU!I@cKmu0{%?zrLF8BWnlbRTb From ab7d051fd6a898877327154eac8e368133081d64 Mon Sep 17 00:00:00 2001 From: Mark Suckerberg Date: Wed, 27 Nov 2024 12:39:22 -0600 Subject: [PATCH 286/344] Blocks items meant for other slots for being beak-holdable for Kepori (#3816) ## About The Pull Request I'm sorry to do this and make it even more niche, but it IS kind of jank. This also solves the issue of things being equipped to the wrong slot when you hit the quick-equip or quick-swap key. Fixes: #3657 ## Why It's Good For The Game Prevents any other oversights like welding goggles from being doable by Kepori. Hopefully this doesn't block TOO many items, I even added a few other slots that should be pretty harmless to equip items flagged as such, but if there's any exceptions that should be made, I'm open for feedback. ## Changelog :cl: tweak: Kepori can't hold items in their beak that are (allegedly) meant to be equipped to other slots. /:cl: --- code/__DEFINES/inventory.dm | 2 ++ .../carbon/human/species_types/kepori.dm | 21 ++++++++++++------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/code/__DEFINES/inventory.dm b/code/__DEFINES/inventory.dm index a0466cee0653..5a7613760384 100644 --- a/code/__DEFINES/inventory.dm +++ b/code/__DEFINES/inventory.dm @@ -31,6 +31,8 @@ //SLOT GROUP HELPERS #define ITEM_SLOT_POCKETS (ITEM_SLOT_LPOCKET|ITEM_SLOT_RPOCKET) +//All the item slots that are allowed to be held in Kepori beaks (their mask slot) +#define ITEM_SLOT_KEPORI_BEAK (ITEM_SLOT_MASK|ITEM_SLOT_ID|ITEM_SLOT_POCKETS|ITEM_SLOT_DEX_STORAGE|ITEM_SLOT_SUITSTORE) //Bit flags for the flags_inv variable, which determine when a piece of clothing hides another. IE a helmet hiding glasses. //Make sure to update check_obscured_slots() if you add more. diff --git a/code/modules/mob/living/carbon/human/species_types/kepori.dm b/code/modules/mob/living/carbon/human/species_types/kepori.dm index 76bedbb8828f..7033040770c5 100644 --- a/code/modules/mob/living/carbon/human/species_types/kepori.dm +++ b/code/modules/mob/living/carbon/human/species_types/kepori.dm @@ -128,14 +128,19 @@ /datum/species/kepori/can_equip(obj/item/I, slot, disable_warning, mob/living/carbon/human/H, bypass_equip_delay_self, swap) if(..()) //If it already fits, then it's fine. return TRUE - if(slot == ITEM_SLOT_MASK) - if(H.wear_mask && !swap) - return FALSE - if(I.w_class > WEIGHT_CLASS_SMALL) - return FALSE - if(!H.get_bodypart(BODY_ZONE_HEAD)) - return FALSE - return equip_delay_self_check(I, H, bypass_equip_delay_self) + if(slot != ITEM_SLOT_MASK) + return FALSE + //Blocks all items that are equippable to other slots. (block anything with a flag that ISN'T item_slot_mask) + if(I.slot_flags & ~ITEM_SLOT_KEPORI_BEAK) + return FALSE + if(H.wear_mask && !swap) + return FALSE + if(I.w_class > WEIGHT_CLASS_SMALL) + return FALSE + //ya ain't got no biters to put it in sir + if(!H.get_bodypart(BODY_ZONE_HEAD)) + return FALSE + return equip_delay_self_check(I, H, bypass_equip_delay_self) /datum/species/kepori/on_species_gain(mob/living/carbon/C, datum/species/old_species, pref_load) . = ..() From d13a0bacb40c16d8fbd650dc34156ffc8ed9bebe Mon Sep 17 00:00:00 2001 From: Imaginos16 <77556824+Imaginos16@users.noreply.github.com> Date: Thu, 28 Nov 2024 00:07:12 -0800 Subject: [PATCH 287/344] The Voxening (#3820) ## About The Pull Request This PR visually overhauls the Vox, bringing them to a better quality standard to match our other species! ![image](https://github.com/user-attachments/assets/c5f9246c-07cf-4ced-8503-04555dd31f26) This PR also repaths one of the files to be in the Vox folder, as it should. This change is not player-facing. ## Why It's Good For The Game No more picklevox ## Changelog :cl: PositiveEntropy imageadd: The Vox have been visually overhauled and resprited! /:cl: --- .../living/carbon/human/species_types/vox.dm | 2 +- icons/mob/species/vox/bodyparts.dmi | Bin 2017 -> 1802 bytes icons/mob/{ => species/vox}/vox_parts.dmi | Bin 3 files changed, 1 insertion(+), 1 deletion(-) rename icons/mob/{ => species/vox}/vox_parts.dmi (100%) diff --git a/code/modules/mob/living/carbon/human/species_types/vox.dm b/code/modules/mob/living/carbon/human/species_types/vox.dm index bdd95ef18b3e..55e7d27cd120 100644 --- a/code/modules/mob/living/carbon/human/species_types/vox.dm +++ b/code/modules/mob/living/carbon/human/species_types/vox.dm @@ -16,7 +16,7 @@ attack_sound = 'sound/weapons/slash.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' species_clothing_path = 'icons/mob/clothing/species/vox.dmi' - species_eye_path = 'icons/mob/vox_parts.dmi' + species_eye_path = 'icons/mob/species/vox/vox_parts.dmi' punchdamagelow = 6 punchdamagehigh = 12 mutanttongue = /obj/item/organ/tongue/vox diff --git a/icons/mob/species/vox/bodyparts.dmi b/icons/mob/species/vox/bodyparts.dmi index fb098fa01d809488fba4e95d8f35c3df19b446fd..20e39116a8e0ea9302460b916425f8bab2665400 100644 GIT binary patch delta 1625 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 Date: Thu, 28 Nov 2024 00:07:22 -0800 Subject: [PATCH 288/344] Removes tactical maids (#3824) ## About The Pull Request Removes the Inteq and Syndicate tactical maid outfits, and replaces them with normal maid outfits where currently present (one map, basically). ## Why It's Good For The Game They don't add much to the game, they're sillier in tone than I'd like, they don't really gel with the vibes of either faction, and people have, historically, been Pretty Weird about them. You can still wear unbranded maid gear if you really want a maid outfit, but I'd rather not have them in mercenary colors. ## Changelog :cl: del: Removed inteq and syndicate maid outfits /:cl: --- .../JungleRuins/jungle_cavecrew.dmm | 2 +- .../syndicate/syndicate_gorlex_komodo.dmm | 9 +++--- .../syndicate/syndicate_twinkleshine.dmm | 2 +- code/game/objects/items/storage/boxes.dm | 27 ++---------------- code/modules/clothing/gloves/miscellaneous.dm | 10 ------- code/modules/clothing/head/misc.dm | 12 -------- code/modules/clothing/under/accessories.dm | 10 ------- code/modules/clothing/under/syndicate.dm | 24 ---------------- icons/mob/clothing/accessories.dmi | Bin 14059 -> 12255 bytes icons/mob/clothing/hands.dmi | Bin 15266 -> 14788 bytes icons/mob/clothing/head.dmi | Bin 75374 -> 86099 bytes icons/mob/clothing/under/syndicate.dmi | Bin 44036 -> 42025 bytes icons/mob/species/vox/onmob_uniform_vox.dmi | Bin 200417 -> 236128 bytes icons/obj/clothing/accessories.dmi | Bin 13442 -> 13046 bytes icons/obj/clothing/gloves.dmi | Bin 21845 -> 22569 bytes icons/obj/clothing/hats.dmi | Bin 40350 -> 44826 bytes icons/obj/clothing/under/syndicate.dmi | Bin 9898 -> 10709 bytes 17 files changed, 9 insertions(+), 87 deletions(-) diff --git a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm index 9abecb5dec66..e4199f6282b6 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm @@ -4076,7 +4076,7 @@ "WQ" = ( /obj/effect/turf_decal/industrial/outline/yellow, /obj/structure/closet/crate/secure/loot, -/obj/item/storage/box/inteqmaid{ +/obj/item/storage/box/maid{ pixel_x = -5; pixel_y = 3 }, diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm index 4b4f9f217cde..8961a67042fe 100644 --- a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm @@ -2134,10 +2134,11 @@ /obj/structure/railing{ dir = 4 }, -/obj/item/clothing/under/syndicate/skirt/maid, -/obj/item/clothing/gloves/combat/maid, -/obj/item/clothing/head/maidheadband/syndicate, -/obj/item/clothing/accessory/maidapron/syndicate, +/obj/item/clothing/under/costume/maid, +/obj/item/clothing/gloves/maid, +/obj/item/clothing/head/maidheadband, +/obj/item/clothing/neck/maid, +/obj/item/clothing/accessory/maidapron, /obj/structure/closet/crate/secure/loot, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 10 diff --git a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm index f52d41d021c3..49e0cacc0c02 100644 --- a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm +++ b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm @@ -6601,7 +6601,7 @@ name = "mot containment box"; desc = "WARNING: Contains mot." }, -/obj/item/storage/box/syndimaid, +/obj/item/storage/box/maid, /obj/item/trash/cheesie, /mob/living/carbon/human/species/moth{ name = "Secret Box Moth"; diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 270e54e21ad2..1ccadddfb4db 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -1332,30 +1332,6 @@ /obj/item/screwdriver = 1) generate_items_inside(items_inside,src) -//It's a maid costume from the IRMG and Syndicate, what else. -/obj/item/storage/box/inteqmaid - name = "IRMG non standard issue maid outfit" - desc = "A box containing a 'tactical' and 'practical' maid outfit from the IRMG." - -/obj/item/storage/box/inteqmaid/PopulateContents() - var/static/items_inside = list( - /obj/item/clothing/head/maidheadband/inteq = 1, - /obj/item/clothing/under/syndicate/inteq/skirt/maid = 1, - /obj/item/clothing/gloves/combat/maid/inteq = 1,) - generate_items_inside(items_inside,src) - -/obj/item/storage/box/syndimaid - name = "Syndicate maid outfit" - desc = "A box containing a 'tactical' and 'practical' maid outfit." - icon_state = "syndiebox" - -/obj/item/storage/box/syndimaid/PopulateContents() - var/static/items_inside = list( - /obj/item/clothing/head/maidheadband/syndicate = 1, - /obj/item/clothing/under/syndicate/skirt/maid = 1, - /obj/item/clothing/gloves/combat/maid = 1,) - generate_items_inside(items_inside,src) - // because i have no idea where the fuck to put this /obj/item/storage/box/maid name = "Maid box" @@ -1366,7 +1342,8 @@ /obj/item/clothing/head/maidheadband = 1, /obj/item/clothing/under/costume/maid = 1, /obj/item/clothing/gloves/maid = 1, - /obj/item/clothing/neck/maid = 1,) + /obj/item/clothing/neck/maid = 1, + /obj/item/clothing/accessory/maidapron = 1,) generate_items_inside(items_inside,src) /obj/item/storage/box/material diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index e326b55f58f3..45999fd75db6 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -41,16 +41,6 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 50) //supports_variations = KEPORI_VARIATION -/obj/item/clothing/gloves/combat/maid - name = "combat maid sleeves" - desc = "These 'tactical' gloves and sleeves are fireproof and acid-resistant. Warm to boot." - icon_state = "syndimaid_arms" - -/obj/item/clothing/gloves/combat/maid/inteq - name = "inteq combat maid sleeves" - desc = "Tacticute and comfy, along with being both fireproof and acid-resistant." - icon_state = "inteqmaid_arms" - /obj/item/clothing/gloves/bracer name = "bone bracers" desc = "For when you're expecting to get slapped on the wrist. Offers modest protection to your arms." diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm index 1271717fc537..0c638fb75e2c 100644 --- a/code/modules/clothing/head/misc.dm +++ b/code/modules/clothing/head/misc.dm @@ -226,18 +226,6 @@ icon_state = "intern_hat" item_state = "intern_hat" -/obj/item/clothing/head/maidheadband/syndicate - name = "tactical maid headband" - desc = "Tacticute." - icon_state = "syndieheadband" - item_state = "syndieheadband" - -/obj/item/clothing/head/maidheadband/inteq - name = "inteq maid headband" - desc = "Tacticute." - icon_state = "inteqheadband" - item_state = "inteqheadband" - /obj/item/clothing/head/inteq_peaked name = "inteq peaked cap" desc = "A peaked cap for Vanguards with a commanding authority, emblazoned with the golden badge of the IRMG." diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm index 9e66e9572c59..f084d50f6418 100644 --- a/code/modules/clothing/under/accessories.dm +++ b/code/modules/clothing/under/accessories.dm @@ -116,16 +116,6 @@ minimize_when_attached = FALSE attachment_slot = null -/obj/item/clothing/accessory/maidapron/syndicate - name = "syndicate maid apron" - desc = "Practical? No. Tactical? Also no. Cute? Most definitely yes." - icon_state = "maidapronsynd" - -/obj/item/clothing/accessory/maidapron/inteq - name = "inteq maid apron" - desc = "A 'tactical' apron to protect you from all sorts of spills, from dough to blood!" - icon_state = "inteqmaidapron" - ////////// //Medals// ////////// diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm index 82b4b663a66b..4770b84e8b33 100644 --- a/code/modules/clothing/under/syndicate.dm +++ b/code/modules/clothing/under/syndicate.dm @@ -186,17 +186,6 @@ icon_state = "gec_ce" armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 80, "acid" = 40) -/obj/item/clothing/under/syndicate/skirt/maid - name = "tactical maid outfit" - desc = "A 'tactical' turtleneck fashioned to the likeness of a maid outfit. Why the Syndicate has these, you'll never know." - icon_state = "syndimaid" - item_state = "syndimaid" - -/obj/item/clothing/under/syndicate/skirt/maid/Initialize() - . = ..() - var/obj/item/clothing/accessory/maidapron/syndicate/A = new (src) - attach_accessory(A) - /datum/outfit/syndicate/intern name = "Syndicate Operative - Intern" @@ -269,19 +258,6 @@ icon_state = "inteqmed_skirt" supports_variations = KEPORI_VARIATION | DIGITIGRADE_VARIATION_NO_NEW_ICON -/obj/item/clothing/under/syndicate/inteq/skirt/maid - name = "inteq tactical maid outfit" - desc = "A 'tactical' turtleneck fashioned to the likeness of a maid outfit. This one is lovingly knitted in the colors of the IRMG." - icon_state = "inteqmaid" - item_state = "inteqmaid" - can_adjust = FALSE - supports_variations = KEPORI_VARIATION | VOX_VARIATION | DIGITIGRADE_VARIATION_NO_NEW_ICON - -/obj/item/clothing/under/syndicate/inteq/skirt/maid/Initialize() - . = ..() - var/obj/item/clothing/accessory/maidapron/inteq/A = new (src) - attach_accessory(A) - /obj/item/clothing/under/syndicate/inteq/honorable name = "honorable vanguard turtleneck" desc = "a midnight black turtleneck worn by honorable Vanguards of the IRMG." diff --git a/icons/mob/clothing/accessories.dmi b/icons/mob/clothing/accessories.dmi index 7e87f94fd1830c74350547c20b73e777112b58f7..2cf6dbff2416bbd3b5e804700feb91a7374fd430 100644 GIT binary patch literal 12255 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 literal 15266 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 Nw@hwUY2AJDzW|(GnNa`$ diff --git a/icons/mob/clothing/head.dmi b/icons/mob/clothing/head.dmi index da8e20aef955baeedc68683614a508a4502f6ac7..638398b7b649ed2ca950ad7b3d45893698f3479f 100644 GIT binary patch literal 86099 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 z zAD575UnpFh^Bo92N&-XVseo6Q85TaFdWq^h8wHt@_I&&AXe`_0YM1^hZ z^Hwu4IXO?ruUvWQ{D2ZvI-9^wh~&eO#cET>0XZ0%)Cxk>K16sONga#6&^@Vk&GCyg zcyYoTy!`}s(0NGJfwT)fJ(Er^@W<(B0uzk*Pu8<6Jbj-`PX!%5%sdO83PKYp==Z1B zVrj{@CtqSo*dy@uw;wUzBCa9>&~nt=+i9P)j{-9gI+AA#O_YGkT_o2JM_=buFIx6O zYfa2SE46SoYXp8R`4CdRBmk4wR^4Fa4{?B*I>pAf7_Gz21+EDAJ*QQ0>Q!S zSvk*c;e*$mb&l9}5ClNi%i{<3-C@fWaRBzQ|E37eAjYXZuyw@UTvxtUlGKfdV5=K# zuQyBZ`e1KbEb$ce_@grbG+i+NS($P7h>CL9cdl()nRx&J1NZnShfn1i45Y8HyJL1E z@h;8~r14BW@1JMs#6OGBWWk^=IK=^3x2@`r)>44rzbK8TZS_C9-pDn+U&2&5sp7)F zcQja7IB$<}Bhq4?^-jqN{&GBTX`>tuXdnd+*7!;m5*-np;Z=7V^)%+(%zXZIeqWmD z`fHSe7Q2$!TYL|vS+Ti6;;cyxG{M^Of@?UW__H${z8{Tmo1wA8 zn)cu2ZTZUd^~QHOac_n=;1s*0e%b~@yb=F}z;nvuSqDXEubqMFVZ(m0^qaDI?78H| z1MkQ$)i&|*7&dn}FaL*Y(*W=n0ca{aL-NvyKcAgbyWE$ngu_x?5hsMNR)`dq@ANu4 zA$tVnVa;nkrcU?1e4%=?(}~lb7P2;cC+uYbK%A$mVcUwH!!uybCo z$7P)m>Vq{5GdPLC{nj$1jqKcIL^g$JVe=84(s?S5tw!Z{cw@aa9xd$~4OYBo#yoc5 z$u72}&DM|x6c6WJPAFX&Q9rWZ<}nM<$7e5YFfTnVfol+stR8Ot`T@a(pt;$nv)&P> z6zNT_u9qdW1%*qxAINw^BB;=K#h}vTl zw`%aDRq$#IJmd-Icu@s96vv3Bilg#LAoDcLVm1G4Ob+F6yKGc05s6`JfWMfGZFs_u zGoqwac$Q64WGMdVZ_?F@TepHANEgNd+P7Y;+I7Id-HF~{yftzcw?)BUx&{&J#VbUXH-h^9OGg0cqgTq@I~G<#`lAAjXz%nf4GyWP4M&rZRS486|62wj}Q4q zym2vKq^-9|&0}!zB!KYN>;!~Qv_tdmIYyE-cDU~qcHaL8t{#Uee@U_MCk8Iy z8KHGU*W|`eiVgJy&loc&JgD|;K5+hhUiS9ttSO#g%nUYo)QX`nwrOOJRuAx?o z(ap^@a>>dzP7791gR?gw*5)btII3pza*bf^5lhm7;`I1)pOWXWPP^7Gf@aUjoI|G8 z1^cQT!>WqP?hst6jBlh|TVGn~kLFNLI@dav;;4#bZb(GiS$XajvEosdK5>|mN-y2? zUL18BVX$F<^&QssIOlrnVMy83!BLs#k58e;BXanIQEP{(EXVCp4MOALn1ZhOxUuOa zw-lrAL#N6J^G~tdck|{;+x7SDr%?j2e(ion+Hd^rUnS!Z;*5!%5p^olB zhGS=3hW9GAVmNCSeFaOtNL>`@_?(|u?r(ETNZbU0hs`jgv9WRJC?GH}YxlT!8G16< z_jG%4M6Dno86V3OJ+Zu{d@L{As@agUj%GAHZ8UxS_%V$LjwA(la2PvIDJLg4aO&HG zW(?SY=XATZ?j`}jFU`%AInN%tWM-aoo>d^LHH;;3j~auv)^FdwJ@#PmB&?$uH+0^- z{2D(vB^PsuwWu&%M&PSr$@d3ubfkZJ{8&S5$*t_rb-z)i^Y2qI6)nsB{(w!iq)*aF zOG~Q=g_;-B_6rIXh%e(R@GZ;3{Uh zC!nZB+tf|?!@}c_Wg||?{Vdw@8u7Va%~$rdts$7@7NM^*!l@`{*6!lmuLhG1Ae7hK1p+ za)yttUE^1MU+QgX8rhky5!~k*qSxzv`f(e_Y)+Qs+tLF+_{W!iB~q4^6>d*iuC7Yp zFpP2_Sl8=MNJuOgSNd4uF6M|ki@2HsIbY|ym$N>8I`KxPdzD zG?>~R6c~SM-Pu>wxUM;P=El`{@IFR)cSe<8p6b^hsi$02wIXaNNu zcx=3|byWG=^-7Sy;CIux)69dk!~((dM5ja<+zq^D?~px)fL&f5LXz8dsb2l>kj*3c zFCVY~Pp@@!CGZ`Z#-#J|@;?n~Ox^z6w*2)~Dm)tTV?*$=SNHm+1JZiLY~FwP=IXO( z=1Jfo5nPyM(ACFUmwNvA^})cSu7mv6x7S-o3kPUKRDY$TR;Mcl>XUU_l}9Pzh#WNpef2Z@lVJ!B2LGNF&>KjUXBHfM5REeqn=A z@2^caa)W*-h*&o(UpL|kXvfNV%zkjAfjuCYTWw`cx!<+q91D9kJ`M}^ytw!zPDKFt z_~|09n5d|H^E16uItr>1b?>yE=AY^LakXFs6X>W~rt?B;X%V(l+%@|I2XGf;qZiLR zwlCCeW}U>_{z4VVtxUFk*JTxC{SIc~H#yx}da&jI<(BKkh2Isb$Y7`nZ#_{hd)d}R zropF`MzW?GFGnswLm1!s+9>^ zZOg5;l!JmAPXYja)Us5Z4G~ZY2?-6o&cYJKt@icxY|PQzyT>b$GJ~jWe&OT5fPmi~ zo7!C5+_&%Eea3$t@$0IfR={6Fg7LNW)zz#wk!xGZrl#qawc%Sy|E=xPE78)1L`?4--AH2rODNRpNTTENTWCgdu3^?xvuaGYGae4Pbkj zr_ly#gO;{-NCKap+15zD&sy7h=|URG!O<6Y*0RJz#xW3$Zfm?5YaBa0p&IygQ2 zdfhn=_5}Xoq0QhcY;~5=PjL9*b2rUt9YF;4Y%0 zRcFuow!Aq4*WD}l=SPwM=uy7KSVh(#|zT+Fxt7B^Tqr)F9t7@vD)FiXLgVWIR3#ziA=P$;n~owt1nRw4WrWbJKg#C?j3O+Dy*mD4o5BR?tDgu7?KT%X5=e?2XzN9;_944`G)hN zN`055ch~uJ+ZO6RG31}IHcb6O8CBU_0eGd2K3wj=<8$3J1b{;C&>BU}+54e$g$vZW zwH#g(iMHOa&j}JZHbGm@%DwPC`DpDpht{|_cv02>` z0ppVC{+vtfpb->Z7a%O`o}(dW+{b*}&Ii2E)&1ZtcWz+EoDSPz$hB0nUo5dkO#9o9 z5w~>+0)P-Uf!f2q;}Yf*n6TiNo=mw$j{FVlHaJ{+c@>CfpkMl^1byb%ich%+URryT z_Rj4o!ksYqUuvim*uv-m|G^V&oVQ*9IR1Tz7Knj=siar}m;aXjXE2K3V*#WB?Ei`i z0~!F$zp_jK&wo~SE%*j-DF{BKP5;NMwOQFB9YFF_SpOshhVwL)U%iS)W)jBnO)DyL z8Tpr-s+L>z4%GX)S64cG94ZrzPfT2%sd1M`f@z=kE9k8gDMWtdkH7OgxoLKmwKrKb z)TsMwXJ^j{KcYd;KQ}G|qT1c%vNt11$H@3SJDbqDyKn1U`sbU8ml3Byt69`J>vbIE za#hVbyZV+P&)4V}8}}w{LfqQlJ6;c5{3YjNiCbX~h!=%fr2HuwJR*a8zXX~}8l(Y* zeKGaMW@Uolp13w3IE_cmvlsf?rRLmyp$6P<=kU^AJG#eVRIEO|XEOu}di}&C$C?)#=TYqq4B(Chczl6{j0XX+B4Tz7~UtIo#jC1qYC zqRBi1`(`G8H&aN55-CwQ&olP7zRl zZ*--1SY9I8iBqW0T)HV6%`VLi+A@CqYU9aLbGUHexrB^VHu-Q~Olvf29sTaRV79Ya zXYvpMd^sJ!5uWrvJ)455#Tq>(X9) zrFA!QcgTPDkJH{D82?y)SVJ`hOX3N(#WC;1uEHI=!QR8oGbRsW-eImkOoo~tpb@tHY&P|=3ScNLjE zhX97$Tnq8&dL6!Ss92GzDsU3dGF(DZ=S!U&JEnO023Z=Q|)v62)XLFh)%6Qp8OtUP#S3$Ds`Ds;V91Y8V0cMPVq zAm?VNVNC&CO?cSzF383OL1Vv14?ZGDOCs+k5pGTs_6Z0{+ME9huF3 z?~YS|vPzA-^_5h+y(9dP-~2eZV|a7DWvaF{mS%>Q;0(|AA)xDP3VusO2mi{y zIGRP&(%QPXzki8EuCci6j&qE)?a9_9fTcj#!YLp?b>{2K%g@)EKI@-T=q0`-d>t4- z@3`_Z_AO>BQ-_t7|lfN?-)%s>`g17r*ywZ#wxXZ4!S9I;InK6@^ES9u+~CH#a|~XUXR7J*FXXdG_pM z>)E?>+3SG4tAIP9g2gpewI_CVzk1IWTR*5_nGU*7p$<4rQc}{XRO$oj&tK*nlwRgK zcDHYd?t^}7OLF&~&zngS7D@lPO-C2c#z5wZvusKjGQd5OEy5pR^cy$GX)}n`MWQD; znIGWd_IT$|BKNIt zbRtbMYuQD=eAKkm3Hyz1F=vmF*DZcMC*A(ujC-QD zb{nSnfCG^rQXl|1s#h8GDN4N6-LvuZ@TC?q8-MTygE{UWUC+|Q?N(#U*3*)pz8ge0 zT7G?f_Uo$F1--4Sz$)Ru&q$_6pZEcwd+?9FfE*un;A`4~UEs4@vqNBjK85jWi)1Bv zl^|x+3;!&eG8=$bJ;94jpkT}8qjB?7VmZb_-?b9AW(oSf1rOZg<*jyjYY$D8GU|Uv z93LM)B6Vd@#BK`C zyNL~2I1yONI1yx~p}#;eL<)zE8HdkD*LQ2Fv|}=)s?=nmdY+BMul1fipz`r-`Y#eJ z5>qb~1}z}6%;iORJWC6fc%d61$G_SLFi!7L#~UCBlnxyw^`cGEcSms(o;%eQc;dRF z{%`7`bvh{D=4UBhHq%=@&j5oqOor>qH5w>Dr^7FU`N{*^M%=CD44$HZzI0K37+*nY zl7hD~v)^BuQLjh+b(1;XX!Q{(twh;BQjP8j044&b1NOtsA?pwGSHbfZ->2r>c#fS$ z$41oGeZ<%6G0&Cz&4&k%quZQx9^Fgngodm480r3EgGzMwt~Kri#9q<&CX7n=r2`Ho z(E0ku)3DrCxcx9`T-eM9xE_ufIA|qn-0DK?te1>S&y0^_&Id^KRtuCYbZ#4(Ycc6I zBo1j$j~hSPyB?n4V?P*peXIz1nrh%N4bP&5Oze=lC@}*~K^#rD>zbC(&Z#+$9w+pX zCX;OkqdNlO(b2jzOn1wfc%!39IXFE9arWAfDTVeo{70V zCjKviYi&Jir9~-^G2`@%tV{Kc(-;dsvzVfRWv-upX5lM4IpET~dKqpINNZ+1RzSQJ z!R7p7vGuZsmXifr-@{9pw#HPyto``(G|{ysj*=aU&iKBvQz=(w|$MS@pVo-?!l zOm6N11l1dZ#FWb#KiBWIN`KeVB8guy?vdKt!^XbDz*6_uWPfcpgiD;d_WhK$CIU|P zCMjgjg`Up(3YtouJ}|56JDvN27B&5&b%p<@uIn$B=Tnn=ay9YV#N3jMc!~L5BVC+) zpZ77&|7b8(?Puf8qv<=7`!-TlMlUOYF^0OfHtwynDO9Hf5A09xrw6cHB*MS@YY~Y1 zL(ce~>w_y;i#5^qN))ily~ZsDa%Bl)X~5o|n;yP$X4WXHdck8<;N6yU;9!-2Nl!#! zH%(`?fZnUF`qP=k(pDD1nfSn6{|39zzRAG{gQ{?+Sqs_v;czduPtm08*0h<99uF<7 zX=3HJPLj{sngr0ele@3SsVeraf5^_}sBjvlqObE}hi_rN^msgbUMVLBcv1xIy}#;V zYs0U2Ug1GhpJ{Yx4=&AD_tgX2%?}m)%!5`_UwI7x4#)pB8qA+1A2P)H$c@%N`((-ER?AA1uBB>#u`7UE|eRPlTb1N5tr6 zj^BHq-Q9Ld(aA8-dmM-*)S@|k?+udC`IErs2Yd5#X<``uyvOe9>OmHA$Dt@jX9TaP z{BaVb9y^!vQ{#`#^gmJtU!M$>DIG#K<|o&xc~#nclg_51%F1YwUUS0vgTNo+a8Y;M zE2Th4@DqQL2hNjM95m!Uh|M(*9Zma?nY$l7pkqvJYB6vk-`+3y3qNh0aC%j5j;eEe3K&3zLJsBSrg(B>K6}ajw|2|daEa>OBh#V;=BZaj z#dcnt69}GW=qFyBCf&Bt!MGw_W?M~?3ObNE#DAU~kU(lzj1bCj4*T`K^!1f26Mnf! zk?C7U#Vem+-7w!WyS8nyN)-GhHS(#B(ILUY(qLR?5-QaD>+0uySF7-$`1om zAcY{2B8D(G-|ou57VTh?_4^VE_T^vb8hlLC9xC{l4f%;}pteB1<*TVh@2{+fu0k3k z!!iOGE_Kbs)HE7o=YikF7#{F$aE<2y13>?xBLvUgmjQ`Ix@` zCoP-W`DaD9^!k$?I@w?`k5`qhjT!q3x|0Ebs9K6(ym2*n-+!W;p^N_r*e~+ocGA!k zz!b+xNxJ6c*?hbN)J7Z1BfFvs2eVnP8g4M)gE8Y08yDGCuQjX~*IaT5OsnIM2!bQJ zR58gf*()i<{r&Gf|K$a2OzsyqEoJ<)0tZ$gUsJR6{IW{D?PQPzI1$PrqGP}-R{aqG zig7o<5owwH40|4Xu`%Z>0Qq5h)}tr8JIFihZOS)5x|J$axuSvpfB|;t;<-QALG?P5)@w z7M>>#3#*l)U=YybAU#z;F^7zpe;U?XigRQexU{W!$K zMvPY|AClf74O=Fo#=bpy6?r07Ed{M;E^pugwz=NvT6r~AgvbOmvFHAf0eB@0*s*7@ z`WNd1Tczds zlM=KUMcrJ%opA4>GtYE@hVKAmBMPYSoFvUWxM+r1XQk}}>m09^q-s=rxw05X&9S`0 z9f)q>1fZ}-MSRhM>d^FGj#j4H(tS6k>$9Ci4P;Z2@K8APM8Hi@)Qj8&mT>s(m`9=<6J*o>gQ(G(Mq2p@y!sYlPh^Lgc6-W_9Z@!_S{+HR&$p z09?;{Cq_PNt`WXPtBdpaOLGQoU=79|@{E`V`g^t$3Fd5m+3ymwp~#s2;q*wnoJpCV z0pq>OYZ5_Iy2XS$NTXU``U)%QRxPZe{^L#>T>NB4=*;s*ZBj3KtGhp^V(~4R^*yjm zq3`q3zoS)3R`}@{e1TTnLHklA3+&ZD??QWfc{vqtTHz30=liDHWryPo_~k~4ydb>u zw=wm^XTc;UnI}SUCG@)>u(h$>C)v3){j4R^TpK!2LLo7?U&5HL*9VHvA!nQZ4c5S8AHzVvvwf3pH1RZkUIsK*FNc**efVu0Q8@x+YJ^dH@=3ViJBUf z=71H3`OSQW8yb%%;hoIbwKd}^S>cbP)_QLm?T?fWD_0s`-V8i8M55QAd_wC1rzdM6*iLo2U;n{zCSvI$kmlBh-p>j>f_2`aC8MECm19Wai1k!V3HiJyNS zEHv9=6_r*;hA675s|7|YEJ1feXP}hng|U|R;3GwDM@>>wE~525;j_;~gnmM;ZO=l_ zJ=;NL5c1kvFJ^+N-EQGIc`{QQ$SZJIfWtu(KOS7cen!u}VJf9^Y^n_ug&;`vWC?!X z^~=2y`=SJe->GbK+4rUZGEK%|W^KJ0-`jSK9=L79bv3d=RGETwS=->vhaHX2FuZUYW<8vKJ z?r))aE-!*`R$vN6@VS9RPIfeVEycZ?09Z_*B*?6lFSDou^k?d7`w7^K-*5v>L!~tW zi6FDDt{$~RzBWD_(2b*wYOJ}!hRq?UuQvn(c&^F$R$RG%q2|%ufvXfkIp(qrGlcqW zNc+;N#)+BZlPf1M_9VdTK9Svl{jZRP)zRxs5N$W_)V=V1r!#_Sd8aTqq+A0R4OZF{ zXw=Ma@lXt3Yp7cM)e?3k-Q?s}z?1nWtGSdm6R%k=lT^;=#1n^DD6|6+H~=esy1Nr+m=GPggQha2H!{Z5cg*`4f4?e_{h;qyTP z9;{~kA3*#!s`O(bWRF33s`d!ed{t)X3i_cFHR(I*&(|pdUb~G@Sy%r9l|1bLNo$fn zcGVM<9y@St+xNe*=n})UusffYOR*@K`k)Nv4#W*1Z``{6Ll`NIPmOYoSKVn^)67{$ zodu?C%O6ymjk#_zqABVZ2z;GC^zmiJ8?c8aR}*TBTgJKPaYsa1{-adyYS+fkXaSIm zp~62_C$^FFr_G!n;9+%(L}7OhJinHItThf3tV$y~H-?!)CQ(G}aKV#4PTK7Gt)g(V zb+=0^>_T=H_ko6Ej0MAR_x<?~^1h^q>^P^^c68ABaPb$w^tu7FK|f5( z;xi#IB@VfvxOm&0qN<9#f+qrEaCYikdxvXJFr-Q-p_1OD4r@|~iP%Y=;wm5~lfW51 zy@e++DU`?ieVdlD(k*K0=EYT>nb9`Q#iDoYYl#<<=ZQaqSfDe#5OsN_k}V(e-!~_j z{Ypmvq9nx??f+lhxcu*dr~l3Sp<5=~@)!{OM4)8`wZqq=TUS!=n56x?3F++5SLMHe z2kg3wn}MqqC5FSFS$%(kpNI7qefSG^ZhbousDH9oP`lP2cuJY8sVI+Zj6I(pJv((2 znnDYn9=L7be`W`?u1v!h6NlW<`DOa!m}%x(zSh~~eAK5A{3T=y9c+iKJYi-zhi&6O ziKv6^XfMGzSDVaCjziBC?>=hy@IOWIK_yC5SbPSiX56yz3Kg}dC7yL!cM~)Qe!@Ti zuzp#7IO`qe$w$cO@z!nJBunf}d8ypHXKzt(geOJL-EdO2n-gH*EeL<9X)p8`>&#qvjNgJ z`%Li=e?0`Ln%uWfm|4kMy4xJ{>858>V&QTsVAh1D-nK3=De|K>2U|`59q2x89nI{H z*+&`X5c{2H+Lusmm6{*=s_=J?S<))3OxKNJq@aYE{J6d!R-8_=ax5SF+fBURXT$!y zSOvj|X={ATsP95^k}5tts|);NNu^%&!og0=koY{)UohjAUVGZJic7A+uP(#ap!ws1Z7f$)7CUZ%gv>x0cu|L~;V& zo?u{|e6hoP74W#SvvQCnD;QTr9i3kOF92U>hpBwu-?KuYKf+EU5+|6cgLk?)QR@1Mue{I0|A{vVV2Ipb z`;WR+PubeWD6dSU`4b2d!-sY+@b4FNFH=V1T$vX8TK`n8seZHn5Y7yfZN!_1;-*@x zhs#kM$Ys6K%}M|3Gt*?IL=E=FNuED4<+QE>#HdqO^gw#zvuU!wWaXvy1}sP3>+DOh z7akY57@rlnmHocvVoO(Wjf#vwR0qQsI!ofbmP=Df=c&GsByOc$(B$IJ5W6_u{ z2M>{y2d8e=XWF6-tmsU!eR+rlSt%GTfmg4zJQX5az=28Y=Fw`-su z;IQY`m&TPtZe<7I-7!U%EnhSFXRZ
    t>-(M;FTA>~$MHe77-uPC;QDsI;J&5L!@lT1dZlxacskKk)f{ zFZ+peDpkF~m#wcxKw|`stU49)7t(M<>NiYO6I<6a$z*=QagwrZoj=hZ@iwe#{#{^@ z9+NhC!7Df>2xnAZc$cB3Q$jPyp+F(b{M&>y=ZI=^XLWr&gqU5SJ)cI&zQhZg;NW0q z$q%x(&*!{A7M-!_6~A+te{42|@Bx^UP|SUJRxrM>HfCVb0=`-tH^&aQ0=hm3P9mZO_ua%{hA~=)mWq z>f2t@TP+8>Eo8|M)5z@?gqAZty9OD*L-LdDjm8Xp`qi5Vrg`j||I+DB>7oVt(@OgF zyNl3#<9q#r{^-N?QfKPTJcstSc$4l8I&-L)RJdL5!o5HDgPQd~vFcYV35mP%#H&Q=eM^TH*H++a~D~d$AEfrAQ*ne%CG1Y!J*K=hmr&IuE|4)SMk zXgm>(isJw)q*!jAoab(-#fO%bKcd@?f0sLl;#X0)lowI8W~)i=*4yTgMA+FM-WTBx z4Aog%YL6T8ZXTP9b#e;NhiMC_WzQsM&#w1iL;AF9BiW+NlE7_XgWBQva7T%PeYY?@ zq-u>Oh?<=_88upWqt^-9iK`(-uyi;fOZ-g8Zqpw5G(u;9)BQZ{n^<9+ z_m+F=_CMi56(m7yM>p`!Dv$@B)SqNMuYXS9Wykp@98;E3U@PBVI=rPlE@f*3N^2JW zAljP@`GP-tkGD)PwU>8GV=?Z$RhAh+djY3FS_X?!H3ItRvr7x|rRi_>K2xv%thqA+ zYG#+6DD!Vf_b)|^zfxY{2{?XwsAta+?&x{85451%Ta^h`7%tUoH-iEB8%!BAQ{En! z=ROHX^*=}K^XQ3x7G3U@PAn4qCL6fG0DJ=9;rCKNqQ~sXg(D+aK3HUL9~9xjUDosX z+q=RfC#c^ejKmek%#)AiM6xD5Of6+-EE!6?RX92x;u|JPb6DNBK!Llyte{z`5HtKp z)G!f)8lFNP9BP1Id@bdir$|%`iFHzjNA0vk)0$T7VufW9>wo-Wm8J3J&4!#*GbIM@ zED>3rbQ+#%4s#`wtT>w>KD_*~^V#YAukfr&=@YG9;q>Y_-YkH3s)R58$Xw{I}e6O z+;Az@$vTz0;!zjY_0tl+34E7}{$%-@6L?8jP&`&$V1Axdny!#rPX#MT;!@L-Mlfha z7Bc$ii#j*+ojzc!u)?HXzbbmxf__0E5{|oGJ9^Q%tSPa|KL6R+>{gfyQZvgC%^O3J zS!&s#;E2U(#%9fHMUS_TBcP10@L5Z~k%E)&NKfVy>N@oNtssF{!oJs{V8j|h&-5Re z6~b2M0sDG^tiwyO0N4kh3I8!+nvFDoloPiItAgru5f(H+!=`Q;N`c$q69yWOjJub+ z$GP#>ITgEh@@Zxe_nPS0j@xYpVkH|KY3D2+hl1wI2pf=;<1Loy@C6-!ozmkK@3>7` zTY!%p;t0nYGXa8E=qH9})PAi@VvcW^YTVKCr*#M6neh;1PBgXk06BVScr`0@F2@0% zX$kL1MVf{^nq}%=pRd1ur8|FV(Mb^FDLytHgLjV#2Uw$CkUPo!L7<^b8E>t*$7U z`<&oEyYHujRJky^dC(twnaZA^LlcKel*YUUZDDKY#kMCx{{*-=Z*lLogH1 z_th?XZ%A2ct7MzXk6|Oy%afpDdWBwL~M)_v1&rt+UDgV@tU}^e8$Cjs2;p z=xQqKO};vgwOU69d23>+8q61vU2c(@9mY87tQhrxi)t;82Mq4c+RB?%CP85q=L#=5 z=awhyU9iA4Vi#3DS=de`b-eglZhk($w@1>5cvL#{xApZ-LJ}KL_C&nJZr>jKjBnUk zyU>-7gF&KMcoKS(-8R3txD!mY`|IHnTi~&gm|~l0r1Q*4KDN=Px2(T#9jBJ->!XUQ z^0JF4mCf0%=*?}F&GX$Aeye|Rh6;fI#tzr?`+~ITd*tW0!*Y-IwH}dQzbegTMb0#iHP( ze2eGz$F?(%WfB-Wp(>MlKd^zy;)ok&NrS4hOG{7wzWBI0NKVHiu!EefcritaR zy-7Z7R%xwIl9i}E4mKc>@9Ux-%-+I1`e6I9hku1Hw=UAI24b_(^#!3s0gtQd~al8=)iMIcMx}2pK;a$El|^^yFjfd3&<59<9~Py3&=90 z7nO&96gLyPRza|!?@HFBvibkb$+dKR#7yiu7h1Gri^_$lJ z&kaTJ|JaZ8zssdFd}w9rgcTb=pay9RNC3-bHRj*bz`^(IKRi=$wK71cd7dP(6_)3L z0DnG2H=znESZG|}RbK3*-COBLMiN|JYep>xSB#+I!47i9l)uVQ>qaAiDg+-qoP5Z3 z-3mi6eKQ}N!8&0pz5i7->GXBwBRstow`CY{h0&XWYyYjpmU0P zgWO%B_mloe*q5w#={xVX-6_Y28&28zp1eDqt8qIxr_3+}UFpZupGd|aFnDv6Aw4p6 zgw80tgvloD?3#NYZ@F9i@|xWTISK_;+=F+&WE_kW{wg|sKo}g`S`ZU`oKpc-JMZBH zI>HpVSQ{}fvhB9Efv4jB+`Z`???Jbmg0Qfh1?bUX4qT%H8d=np%ac-+oG~ic2vvb9 z!A7Z2Lp`%PcMhT}%$WapUx)w*-zlv7MkQr$$k=Dj)jFN}I%AO018oU(@Q|+Nqg0LJ z8ahdJZfRRGzn1=$<9QENTGQ@K~aKqf}=KbG$$G?)VijJMrAWSrMsA2PRq~R0K zxCa-qOTDOD)r$|#4Jq|ebx64-g(B2)AKK7IM#$uIJTflGvPJYUF0l~W>t$s_fo`oyvhpL}y^nJ4;-}|uTkWRI{2KQI4`)u&JS2$dqTe}x_(Rzjy)Jx^T zPIL?wEfi6I6o=9y8XCs3Z;0qTKsU)TkQjT-5^H_RsanMx%{BZz=bJ;K?)) zP*#l*u#pnTlj8HLn5u5_iM#2%UAD@dv#or7U06|%Jy9=_gB#=gYTYZmx+DL}w1|-# znbVTor|uv^vPKFQaKTVU;SDz8f}`*kI=RirpV&IwWLt36g)CPW3hdlk{za~in~x7- zUV-q~w4l&YRXsW+@ljEHzo?vG4O>lUl_Fm8R1nJb!o&DS{^sHsW?lPMt8YyB0=73y zUBk_-#m?P-n9@*og~lJwG^_Q7K&bP;!qQqp6Xy@@& zSX8i-UobB?e?t$jV!*--#1qKNmhb5~e!pH|=j9>*eaC(Ra3%UZ_ALy9r2eK8T;b#_5EFMMl`1%vSZt`fBt5(DG5h4D4qpvlNJ|$@ zY=WO^*ZOlx!crSG%MjwV$JX^?m-AjIIZ>QvEJ{*-5|OL~?9|i*6S)J5ieB~0anwcw zY@GWcDW9xp*S_Wz{#pkH|3_0UI&BfQE*_g6XAu&W_(|;8ACLal-Vjb*S6O889>QYk zPN_cNx2$fyvf!MI04xE5w%x1x=Wd)~v1|==f95$j_ZRrbFIt{9Iu zKS3X&aQOX!0&Pl)d(`pV(9GUR1Z1O&&fmVzJB%% z_2xYNt&!y?kJ^T%anNKKECGp1T-ZUY@pc;+G>fEFn02{hBGWhZzwnTX`P2XwGG@|iElysuh z@O(SF?alBAsJGwg6uj+o(MLo?VbCx87&JBiSS_jWd%?5H zZ)tmiGDEx?aq@MvH|OorAj9v~o@UAs`ctIgT8hd^B_wEn9-b@f%eTwS9dvI^jD)?+ z1YQ}}{`74$k7v1?`@Gg_0+rd(jUs6OBBy?eMivtsyXsr0A7uX3t^B2@(8NQ7Zt<}T zna1-}V``@_FaL?QU)bq=ZeDBA|7_>|--XZr*WJAE|GF9YpI;B78+nxT?*>gD&1i17 z>IJ*#;>-yZ+IrX(m|d(k)K_BI(~sE}4dM9mr|JoArx=;X0yF=!u5&Xs(4kZwK$;-* z=7?21D>$OGSlQty8q!L8N9VdCxd&RSLU^90*S==>gI@~%p6tT2IHqm6LoN2Rnf1%3 zMV=#M-b~KvMU5`8Z|n7m@~dv>MB8Y;+hkjb_5CLbf@1O!D(2OPhMYR`AUi4$u0j4z z2(dahTuVc1T8I9fAa0+S{1Pc_bfMhQJ7v|JtH=9s@9^!~ThWwv7hNW(>rt%Ka6Clh zU8xViDmGr)7G&)920_`1UaVXR!QkiBnaG&(8uaTH#!6b~p%?nR#M9MH{!5?Vx&K{f zG_7M(#poA7m|l5Z;y-q-ePxahEgWwv@J*sJb+2vFiWF=|sYYH$&i^Iwz8Iiwi~lQ8 zC){)NN&@Km?9Rb+esGO*2r=j#Ya?WPzClIbH*m5k{aMTD;WoF?N>RZccwLJC>Q?R% zCF}YP05yE)A~m+2Ph;B2X&K*BT7FULw;fHHI4fnnw4HuMn#yUgq-FwEIm~~MM{pda zrr>w8-atD!-f#3B*w7&hr#`k50JGw7pgy4(e+D~KF(r$5ztZRJ=aaJmlPudrt7F)i zYq;k6U>)}wNp^7z+ZCGAC%Qz6g%b)Jl1plGy*`(!+(4&R42}@IxGXhZwbq7D*M=32 z^5_`qFGGz_sM){a-HEOHO2nJg+j7+#b7lYUU_XD=Gyf&S{_fmW|FNM;kp2d^wq>~k#C0m>)?%bDp*;f@Byww;SlJ&;N}C`f z+*%F4j#bT)x7a}QI^4&xN#gNX%pbs!4Tcew_te*DA6j*imb7B}x7Gd&~J5 zh5!UYx5g&M^5wjZx5??|wCyuuPTmPZqv4{0@7>Hdk%CiZ0$>;ITZCWefXFRx=<%thcKp1nx93<)PTMa_8|ucXtMCcwME>waVX zBwxz^zk6dd*@k1^B8Y=GTk4Ksg&Ij}j8u_DfC&WQxJth7%c4B^O^;ilLytw%_3NLz zInbVJM46NeM$lHVQPr_ z5h{p!Uuf!ajk$ zE)B)(5Bz3MsD*LfSgUoS;TnX3FeyX}T2Ak$wN@JE=G;%;ac|n8%i{>!E@v~DMHcL# zvQ}YeWzigfg&?=Vdq7E4;VTOAO)ih*9qL}_F5wUN0IOSua2E>Zqt~ykOW|XB$e5M- z`?dLo(*af)rmyLM0&d270*G>?1;$v1flyymQ=;PR;rog4Pj&D$Vx&@YCKRdELo$=Y zn$7on$Kt17P7+zc_W!^I4CtbX4opnJ5h@FV$zTQ$%^DU^2|mmS^5cQ2--sAzS9%H< z;`{pZATUXQDJf61v7Y$RNV3z+mA#l;PAZ-P8_<^8P}gvw(=##o=@i3{VR+a+3w4qn za7_vy=F|Jt*97^-ra)_)X92$mz!95=-k{0xyRMhf2u5X*Gx3+x%s3dMhpAHYI}{guWI5ik7bCgD$FjC| zv-<;_xSGFFo#hCv6_ASKP`iG{bDSH#Wx7(si-jF_(pWS?7x^rDQR~qbEUI}SUbqdb zK3)|n_UZcR7va!S{AzybaC}lidjgrXjbh&sli0BR>BMtzt?_y4-zyskt0Dw7eJf=- zTIx6X`VMGs3r9jJA0$Ym$^B^z2gIl&hF5O#AEG!xvF@+I?;l3z+6Sf*yvL)8Hc|4CP~IR6BIh;M zh`@(Okq-0qa{IrB#XGMD3|8k%Kt^Fr>qC-F_FLCx&Nk zM7DDsf!b!w#r$&VG7Pd}h89aPp(;#OBF{u&jqVMmBG3vr7V#POnpy9;xsrx{A|5CJ zfWkfw#X@;){l{BbKFtWMYe2ewopl&h)~@ehIRRvX1>$PE_a?)SfAPu0zxjmc8pTd_ zXM_KXQlx=gAq(51`g;5Px{T#K-;yK|r-B+Q2}7{Ksq5Q{9z&$)&^sV;0DVHF@^$l$ zyPa!9xx)1t4MZLj@gFN>E2To*%v;AIY|qMts{r3*Y^mvU?I&>eqEY5Coxr$&N#<>? zHH>Q~Wamo2filYC13opXTo()#xB@SBV5Sqqg0;Kl_Ua(;4QK(FKXfohW8m4Bq1M-- zc(gM*PCtI2qEGuUa5ebO(X&GR#RMy^0N7=$vTXKHA3IezE%YT?*Q0<~{8r2fZ4P;t zJRCU?stxjTBbQg$U=AK9=e<#U4-%pbp#RiEft>2fZ@&La)e)SAQRLVXrlqt6Q8~-u zNU>`I5kMUXs?t8XwbsG-FDSCr_?Hk;a;w_-x*82a2|6@)W=G^|^D3xD{Fls|{ha+1 zmV}A2ca-4cKFk*9^8vlq^*eVFhY9!{tDLq)wdaXWKT8SO%lx{HQ9+Stkgz}r*@`ix zI{a5yAo%4R+ps-QSrR{^!ox?@qhJ;qRLNJ-9tv+}z&PL`s^2H5z)+*O`SK1~%O-$S zA@2mA>yqFVoqQbwgO2;7*@+f6#%9YQ``CtxN@4Fw z$k!Sp85a}V;V8ajxq4nA-ov2;F6t^UBrxzj77zxe0`4aJByIFe_}dnaPO9U!OV_5V zF4^2*uJ9}FEzEMIK|x1{G#oeBipbX~mtjqkJB>XOq^fH?ik!S4Uj=#R(}dHLb#Z%Q zqQv|fK=DP5KsUVkr4qH-5WrI~BcFQ0vWzk~=20@d{|`z=!gweZD^Q}VKn%Tv6)p$I z&I~BGe7qY7*Qcdnj0xvWHbPu1Bbp#it$SkV>%ie-*D$HKd6R&|mb>pZ0Yna4gIIit zRIb(e>G9x!eTI=UVVf1-+PA$UZsxtCxoA96l;xf9n6o!?3>M^DdSFqg@eMz$&m}DG zU23WPQy8R}g!iM5Ti6i4E&%6c6o?zOC&>ZQMt{qa{XSlf;L5(T$EFs!`LF^h=gpW# zw+HSbs{Pv7Ph6bcs^N`$a>q|DhvOLzI|1!KhIv3UL^6ar>> z{qOg%%ltG?h}qZ-60rKkE`GW@i&L?KMYq{}Gv^T{$k4%-TCz)Cek2j?)!)sWTK%={ z&EafAT!+SX5pU*zcwbQ3Nv0B$1r?Mh4BQ@<7vH<3@7Xg7;Tl!`UUhHGZKj5WU?#MH z_}@x?vL<&>1t#T4t*4)7^9JjHJoA%wFgzP|=-9-HUHJ(m-DU}Z&=ai=xv8p(%AtS~ zCP>%Ov+#%U(EUiXaSdeJAsFoCC-3T%lg9s`3w`^4pCb>?{~#cu!ScHJ7~1MLuve`!m=1V0|KT><`7Ny5q1d;R$Zk;(6#QDZPEM`tP%QlD zM{ZxMfNVrlKa5;v-K!Zn^t>F9 z9Ay3E1JtE#CsOB~KU4)YjHc3xnMSh?KLqd4k`k6L{UDb8+Na(_;|(@hUbE*P^C?Dl zEW+G`fX2jWlzfiFx?J>@@*pkGUq6kL@2qJ9K@vncBLS2TNK~;ol@dj!qFLH;urUPS z(b%%=B8{vh&>HEdBB_&_>4bcpC+IvwLt`}2@8j)oBYwQAK*@zrq2#PQ*Ivn7=$T!* zRaK)@=do|oxYsXmH1B;s;@ml3w_&0X_xAsExHB@HUi3BbWfAvgcPM(H?nfn=M4U3R zg8q0!3Cr9Sv5bW$haIZ8`b2z#rHuzJGb?0a(B8irwx3dKv_dZbCuP@J;+S0WHJHzB zxKsa3_KZEOjICLNP^$1aJkd`=xME~s>bNK(^A@l#*A^G1nNdAu})I%(Z z+m-*R0BxiOY3=k4d07%|<%-|?2POf6frUx&X!po06UgGAGGXI3TBDOetgSURXcVh- zI5bqr2YcR`v$dtt4F#&@=>mzeo10z+F=Tln<4jBx!U-vYNBRmX?}us#^eXp^ynin? zBI@?&*UktTc}aWFj#KxsJUjnAO3@}!6YEO(dlkdH{F%*^t77yvJk!@2Vr(;dI1LKm zl=3lQMys)$P+BEvAyCB_4JtDSMDb&(tKjs3ZK>m@!feBIiFDK&>;D_X#G;98kH}IS zz|(g<8=|{IQZRNOY(W0;gn=+X`lrLx(*eZ_mOEXRa$xv3SKaxZ@Z=A1gNK!T-jkaP zVVLMm4;BGV#Y!wM|E9F#i_3A#UsG;pfj0`O=$dWTJt2tsnb4 zdH|dE21IT9jOOBnT3*Tb>uU!vsk-Kx4tAe_AP_kpLkLZ1%wr!FypuEq;OAQ7c{5*6 ztP}p*&H^@a1rdVNA9gK21;njD!Foe#WKFBaivV0W*tK#Etq>@8o#9G=ua`p2bfry; z%0pWLzA78$Ho^yU@6v=nfcc#;!7AGm=db6R(tY(Q8(#vFF;XYReI^c!V=E^JE_;oE zj%*qjVjt`rXYEa4MOT4=nV?Upi!!!yHEh3l>T!Zg8<`X>FeI#vNPrheMBTdfj5i+G z9v;#qVr+?qADj%5e?ISTtt%d=N=-=dLzj>zVFR{PmEPU8pvn}Rs;>~a{(dPET>;TD zmE?y(pU#_BUh0S`bgf~d>8fylw|No5h64K?zzP9xhrYWt;dOQwGKw&FzWYbfDUD7i zaWb#AMq?yhW>ym?wB4t7T;%C~uto*l{~z@&H!_c>#C zl%DqO4-l#oyNiT_J8(VT_`+uV(@Nv3HtS4jKo@?ad*>&4Zo@MlW$ z^pBwA$CDp2&V#;PKVNionQ1Bhfz#W^P)Fb4Uuq?AO-uuq&ggywl zSzFInIg{HwJ!O{}#e{W-J!&{jw&C|!`k)wzl}#R6T+ImeaBiB>tEdNNQsD8{Tae5$ zw|&T?WHb)$pD&l9y)Fr|yeK3hh9efM)z;RxNmmvBuSU)?E{d-G<3lVRBHghF3KA;P zu_&d~A|VPAk|HTm5<}g9Gy>8B(t-*oA|cBXq9BdZ9fEY@!YzkpmtMDR{fPjwH=x42{AJfvrA5N!^6g(S};b95}eQbRtk7$XU4>?pRA@Qvx#E`q5p_1y^d#|}1dT!bN z{)qg1dLq8L6UN{qh7dyfy*@1)MbOdic?G-=zVqx^tdjP*)^iVy%J=n43tJmRK3$ui~7>d1rReR<*#d@iVo#XS8;%eRotu@d3BKmn{un;ZTJ$hgoKIa?Laj#EVnOfu*DBXb}2Dt`J^Cy zw}f|9F3WVp!PQ32n>BiZf(|pN^@XlhDkE=2y&PrhtjX~L_0`kw#nzw=De-GSO4p09 z2BWF9%C8usu!3N6&`MtG8y_eT+yXAE4@*u=P%IktZadfb7s=)y`jM?A1E@I}nz&Uq zyV!3Em*3_=*`9K)SBGlFSXBshzhYy2fIJ(x#f`3;kOkh~LQyM%D5IaDC{JzIgH&uF zZ!cQ}4+bGN4xFSjseLiQw6C$ixyx3g)EiI&N?>5HQepdHe!_%_otK|{eeTs$5 zL>Vm5y(@FYWbui=KSwXIw&X0T_MfywBdjl+*n@ub|@w$m`+n!raTJ=?!&@FgTfl#=8DNqhxDyQ6grA=^~xb51kJoKw>d zW4_hC>DM$&Mv57x$GLeZCeera(@Hz%pz@`e*CEb#G6Ygd(1lC|%$J(`lO`ScVpCX* zo}ZAuTnRS*RJsKNuce+}yTCphFlU`x?vKM&u>EE8T7c!WZmZn4CeOjpr2fN9h$=cQ z^T=`ZulZ9l%4h(lZf!4bAVh@wO;rzP5;p=C;~}xzcf77O4yFoduNAFxsFTXu&KRfyz7(Rz*Y#dNjJ5V*+SSz&UI@tv%c{=Pp#W5pHl{6J4U1d z$3Dnsfc$)-t&d0@`%jSG_7r&H*R^Oc@$1dnEvc$K70Bbmv1#@S4K(?OShZr`GuwMx z61ow@5$hC)vLyQ|1{G1iIDh`U2Y!FI-wSS{rlfrSt>?#$@j5#5ti<3wxfP1NL(xGN z+%8q0*R0~wqF=v?Y_P5Wc|92!{=fq+(ooeR9F+Jf2>~p|FV=54Dhv~WEhrBdub;St zc5*_%41adQ)0wj^HXf5kRrzd*nqK@A4{e%7dk8P1M2kX+HMEOQ8G54yQ zvA*^9?j8nOl^h44`}4JP%ll4&K_Rn3T^f33S(+UdQ*`=>Kpl0`#_Z&4ti*V2YTw2s zY&=IeQ-n$x6udFefa`m{iNkj<`JiknB*v4Jg&(j&$?Lb4dAU$7lLp$a5N0OzT1Z_v z$UA5Aj`zl!P7o}@C_hS(NpekWFh`Id-M1e}>0psQB8kDm;@w@x&M`1ZW@>6gomp<; zQCcb>*jhGV2X=wB?iJKUDE+M^NQN!OpXi2I@DL@7J(YMJZQytrPp^}0kuvBm66J$8 z9ZyV5qyYB^+=}{s4ZfD&B2hI>u@%-{TO`3_^#!mrRp=AHQZ?hh`tr~~pybDeSE1PP zNV>DQu2vA_+?0OMoLL|0{oNP7<{m7jWRJ$FtPE0VQMFv%V}}O!IXND?Y&0qB>d7qG z|IVu`q68}mWGGl6Dw@ISG9G^V`?P<`0v&yDxVlwDtFL~d2V^Q?zDRiX9y+>Ua~OUU z^NWC~a1*Hd6vCn4w+aeICpHwjea#V7zhuThIbt|?AV3#eKQB%Kwc!+k;Tl%J{A!#E z8(l)Tq*DRQMKoDobYzvr?bdtwVyj)XYNlQr8i5?!#J_Sd&Lk`M=T3KZGf&qZeZ*Lj z_iEi-yN9MaobXFbX!zYjvg8YQ*YZ#8BS)-;OdgRGH9Nl3bcMHuA*;lxrjR}U&SR6+J#iMhTufF>wZ=RO2YjPkvgE*xUL9=n~#yP1BEa0c_L6IgDN zJQ&x*k&}PLpE&i&JZulmTCoj_-pL){0<~&76?uR8GD%)z=5?o?CRZNDWGwdnFAyu< zlcoUt0RSf$n3V&Rf^;^9!IKNE$bZ>k%KwM?_5TaUZVkz_2m_bK!#OV?5Y@q4IzmSq z=s0@3Y+qvMq=BcN{C)XL$y51}X5bFg$tfka!orOLVjhLqUY%YDs#;$`P*p3Al?@7~ zV9pJ5tHRQG_ZY$#>4N(s3iIi&r{YrUn8&syj<)*Y#<=+$hj2Xr9`jyLbJh3`58G&J z*IW&}*P(UB8S}soPGdza2|FK`-6sH+>;U@}V;Hmnyt}jzFcjAxzDfo4Ys+OPu&(Z= z=!cNKxXrxeL*qYPpvJB0az%J&j&s%A1iNR(Q>u?Z<-G(#e<;Q1NMX!l&bGi+o5zQOS@FdNsuHAePl9sU zeMx+F%gEvg2;A|kj$TB^x(2AjzaX911h#-18I%#i+Y-}R^f;YV?1L3rTq;3ugdHu#kD3c z^8j^|!4od9A^`|sCx&nTZEzqC>jpucKCbFJh7#88he4s>rdV0upsJtq4OT-azp+&kvz}rZ~ubcs9-J zSY*%c;t^4EPfl+PCXHFF<+b*;N=g29=kJm%LWNfSMeMJCfbmH>lPIpSG{5NUuUU7i z$q2V-NG%r;rfR79Py@e>&X>6P=$Dn`#dxqwmWys8aPuyhmnOkEfIWSF!yf}vMYb~7 zM>-=t?Ic&2E*7zOAVD{h%j33tBI$sTZ*-m)NSgnMRB3&F4KVJcFzDwRQcT?vG}LYO zXXGr%cYF1*$HqL-q(eu9zxuiQ)vYes!)?go1b2V(^qN_2Xm%1{-l;xs>Sys2bmGEu z92#3){x70!us3T7K5%^Z2rx-V1;88?jGoEwUDzz|;}xZNL2JL-)%TY;->>6r+}}Hl znXzdf|9%S~Bn0}V6Tm(;9-e4N%EncgnSHbNESt2Any=Pu(w8CIsdak1yg(~jEBB_Gt(uGfcn2Gn=#NY(pD1MY^Z4<{IxQe1 zNpp6`BVh+ah9jSi0G8?(I4Jx?)P%ynKE9Fjpw1YH;xk%O1I#^jjudApP7LOr z`CX=`pr)g3I;pAT_H^u~F2Zl`LJ3D1O$7%LN0%b-<_{QLwBa$BBuh&7&7qLq$>xj; z0y#1gGLj`TIij7nY;X4CJcC8Pzcpo$o|BWFh#>$x)(zYg7G~7k#=5(WI0_E2xyk5S z64n_ zHW+$3_^Cl~1frHV_Md>&o7hHyIOiRok6GRd8imIbJ%NhBt08?_TLNuSTL4MetOY3^ z40va;hjf(c6CL4_@RrI4K64*z?m*Jou;RsYJjV&OUW?WUqb2YnBn7p0cRr0RCbXheuYx+OZVz+8pGo&aj_srC}IX5F(kv zA~jgCos`>rmAkU@B^W0^KN=j=3i@*aDo~a9TbAZNSX|=aJU^|wMV;2WuMcZ3Gk(|q z5`H$lSOI_6ip*uY21<-&b;oBdEyR-yO_7*+OH-Og&l?%a2>#GJt|oDcgwul_-eNdT zA$oo~Ifi~KM>QHwq(HEbmC@+7e;c@LT{dEB+Mu>$YWMwNQofm{{u=u?6FYuwwoIDT ziq9_5Z|D&0b!52@2-z+HmrUf-4+ne6Nc2wpKYias=I`QNeK&ow;oeRBl>e}ZCHL>( zrSgqBkEt;4U77q|Y$1|_jhnM$+W>AINa7c4y<48cColc(Iw?Chr)JP5uivX_1-Zc@ zP{!xtQvJNrMZ5RCi9(WmpTTb>3XqXNq#eBew)^C+A@~B7xrkMVXw;@nY9>@I>*O>X z;QDPQ9{53pQ;x})<2^*>4(io39>@8){L+u%n=T&=y%H(uwkI8G6D@QB|4JzHs)|o; zQ=iEAr$`3U>l3wH0nF^J?|;f$G)Z)MOeSV~Ytmh0deiyEP438BfY{ukY`gzNmI3S8 z`{FRb-=SfJhm9;Io+i(QetvgUVkR{@Jtw~Py~#|x#+Hva`J4$&N9Wf{@wPS>wFj&l zj-+*XC3eDA^egXCwUJMD2k>y!rj65%^of)DF;8=Y!~5V5l7i4>dBbm{kpmP>{s*_S zoL^u-vqXc)Az8z3jxY7)zkTV+C44qz6S&_J+{dmx<+3P?;wyc$9-i3i@HU1fR)HfVit?>L z{Tn&~A<)#G2h^dN-rSDZ5_ev1Ia*bDqYirEdw)ypi~kfpMOO~}9mpQcmp?cy&wGmQ zBb*9zJNCTcsrSlLgJXUv$vPzzE6|j%yf&OwV#bsYdnNTch~e^AnU#Fi>4(_Aiav9m zh6k*Ll#%;0L)bp0cP@~NKbwG%)p)D!6dk+je!Z)fP@iN_P)*C&xx?D&K^8v@w1DrU z^;3R2aq+h}*D$T0yb%l5APAL0M`a=;n?iPx`;AROw#}6w_zfNBqIoi1#tgcFZfJAR zgX`}kXo_>fR|E3jvU-MvVS6)g!jL3_4{va&a5xy`ssGXmAQKRZ-R4At>-Z_b#r+-m zn0uJkDI@#jJjd=(DS&<72cpWEMR7Lc1362Aq}t2eLwu0wW^MX2~~`ialIG z*FB1o%iw~e_b#8@_HtKHfbTicaLRJP3Rc)87-|694DlAeB|R^%V0D~*S19-of&%$eFH;OOd99uOUe^<5+^fYl@7F7CCG)jhs zRC0Y~XwhQ5)0bkt>k9bG;D!#oG+)9DK=a#yj+PfQ8q5lDMhq|x; diff --git a/icons/mob/species/vox/onmob_uniform_vox.dmi b/icons/mob/species/vox/onmob_uniform_vox.dmi index b9df0887e7b3ca6fd493d75f3363de69919005f9..9bafaedb2006917cef7970a69e0963e4dce39209 100644 GIT binary patch literal 236128 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%0AmB~jOdV~~Aym)! z;&%4)HlHoM2+k7?=N0K&yj$}D@5Uc6$qp$3e8&SNaBUXl@~!*4UQnYN(rBSKJDSGy zgaiU2Dj(}Bnjbgpw)9>RA7rn@-`<{L1Q5~3E5M9Le3r%S>%;9jJ9f%N$6M>)gSS~2 zy^^7k`@GQhJo$&m`#M&4uEWP-SdH2Rq_va1u8D!PegO{g{n`(ZMIj^{f7E_Yn8Q7^ zWH{TN`S5A~peiRcwlgF zM`Z;NM7t@$b_|(MXuuQ99TGp}vKiY+`xLVDurR{ehF*0$)I)Af0UU3DIWRW@sA;7( zR`NqA2-}WmE{Wp#XxGuhg&*8+vCz_BPN>;{6V`32hK+I&s(4w78xJEZSvMZ+$udgFHidF z+wJ*|pFLbRu*aLPm;4eO&lNN^pFvpYbv)HIgXuztvA`93mfL;HfsEIrVU~DA4`AY2 zMgzI&KvDJOh~4n^XjZvlFUI6q;<$zUK3G5o9?YllM}{Nr2y2-{!4VEAsVpxdL6Efj zp%lTeA=cU*o#fp|#!>EBT!@166Ydxs~2@LpK2{Pw*T?v zkez~vp8N1HyhY$A*5VxcQymX1MF0D9pC*cP;^)Y%c}Kn{f9yAJe;z+PMYTtBQ#tJ|Ryywee`(cMk@p9dJb`YY^rm*cNCZ_^QrD{;%e5G;a)$YZF9 z%I9{W^2>dJWgK7Lb4B4NXjz}=7y$hjx$W{}n(JE~Sk>H&-hLT3HX5DuTgtzGY@OXR zKdpdtv24$$M@UzfjMmz9L`VpgouvHJ;{#I|ff$sOJ_98ImDy35KcFUp10Axr1Z!bsu?seLYLk;F$BTtpKVEiS*8kY%&zl-J6v$*UFjD`FSly_itN6-9QXF zC&*RiMlUn!J_~hu@mkaQ4{4iVgF3mPKY1>()``+0!L|emi=2}cYUOBDVk1if!zvw9L&YK zh3}m`GBoFX|H&Ae`+%MAErP6A%={j?9atyer-ZD&qq zfej_I&+C0riSh7N)=OkSPN$&P*49=Ow=YO~P6qWBrOpj@n*$4AcR|v0!PZ9=m2@EM z6&`EI4LD}{aw&b{4OiEW(vl(*6Qz_f*TGh{VNx*iH-C>x@O`B*%Boy |{d@X{<+ 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%0Aj+&5nCCU~eo~SX? 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 bb%*3(V}x^RH8i*|@K55QtZ43o#~%L&1-qMP literal 200417 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 diff --git a/icons/obj/clothing/accessories.dmi b/icons/obj/clothing/accessories.dmi index ecf54fb9f61a62117e51c433d69e4a0346118d2c..fd66991eb7765ea31b23c12746c352bf18859b2d 100644 GIT binary patch literal 13046 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 diff --git a/icons/obj/clothing/under/syndicate.dmi b/icons/obj/clothing/under/syndicate.dmi index 1a2fcad74b840c56ed4e74dfb1f239ee41019543..4c3f0b5fc26a626245081f91740638713e9dee58 100644 GIT binary patch literal 10709 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 aWIQI&>pOx=b^i|<;H8qfVwwEA!2bnn&|A#_ From cdc1fde6e9962eb17bc05001ee84cbb21ab29335 Mon Sep 17 00:00:00 2001 From: Imaginos16 <77556824+Imaginos16@users.noreply.github.com> Date: Thu, 28 Nov 2024 01:01:55 -0800 Subject: [PATCH 289/344] Adds A New Hair Gradient! (#3849) ## About The Pull Request Does exactly what it says on the tin, adding a new hair gradient called splotches! ![image](https://github.com/user-attachments/assets/3715a606-34df-4911-a20d-bf413030e514) ![image](https://github.com/user-attachments/assets/dd5c09b1-f256-4a79-8f87-6dea03ff33cb) ## Why It's Good For The Game I think it looks cute! ## Changelog :cl: PositiveEntropy imageadd: Adds a new hair gradient: Splotches! /:cl: --- .../new_player/sprite_accessories/hair.dm | 4 ++++ icons/mob/hair_gradients.dmi | Bin 1645 -> 2223 bytes 2 files changed, 4 insertions(+) diff --git a/code/modules/mob/dead/new_player/sprite_accessories/hair.dm b/code/modules/mob/dead/new_player/sprite_accessories/hair.dm index d2444886867a..3e04a257bfb6 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/hair.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/hair.dm @@ -809,3 +809,7 @@ /datum/sprite_accessory/hair_gradient/long_fade_down name = "Long Fade Down" icon_state = "long_fade_down" + +/datum/sprite_accessory/hair_gradient/splotches + name = "Splotches" + icon_state = "splotches" diff --git a/icons/mob/hair_gradients.dmi b/icons/mob/hair_gradients.dmi index df0fd1b6f744169215b3c377de6f62474413bb14..7537193b1314f2e98394693dd6076370398d9978 100644 GIT binary patch literal 2223 zcmb7Gc{mhm7oQn3m_frJu5E^fOO}znj9uK3EeVAf%94^b!(5qUL}M#+%M?OnUq;!< z*pop-cE-|bPexgIPdQ~&v~BnJMVkmv&7q4oAbfMU;qGs5BG#>%@EpNE_f}F3;@~!Xk zd`Dt(93$+b0h4uXMrm=jzc`z7UE)cQ zAhos_0N^UbnHt#>(w8%ul8&7gBHIuXz-W}iMKCvg90D3mNXbR3u>`o|sp4x~dPOX$V>xKS#W2&g^@f)V9 zx1ELJ^GNmLaTf#jHm1HPj{g%12s?h}CM4;;T@kZHi&-D#VTd2sBt+RyW`g(YvR0t4606Nc} zccQfGrBNzd%UJ2B*;2EU^}#u|80i8kis9!p;z_PTxrD6HzwuL+YAM5zuhGPp3L_mE z#OB=yqbx8`|L)ZOge)I5KkmX9{o+K%`LhnQ zwOi6n)+>ec>!*KAmIu$4SM25d^p@S-E2OS*5so(C2g$+^d%UAiog?L`c}|v#gw#z} z(`LM~p+P1E9We)M@Mz>+-KaoDb@gvaK2etCUOQEt$Xg;l)FEtAEC~71>PlX$sAH>1 z6bs4&u-s2Ebm2{qb22UJrRJr!jLZwYVqcZ;R;uHGFLHvMi( zN5%*AzT$5J1Yi`2?ExZW(I(vY z%y8sDf2r|F{~J)2;}T4OwcQ>n(ab>GYx_l>5D?T5S=+ceEbhe)o6)kf;8}{$ z+dR-ZOeI#rN(D=!d4G`cWM{ayoCXQmqYaJzKd>O6Lf_|7=j`sZ_%<}V2_DfCPyv3+ zUSX!#MZnrMPasf8b{{Y1PVI49&_dfZZI&}`F-O)=zxj59dYkg|NN5V2=p8%Jvci&b z0xbk1Co_JV2GZfjf#2|}%mBf5B^MC-9HWo7+Cb|5c$CdA z#XovSwbk`AKIXy(qBhxcit8WhY-{putg!syJ*>&}e|)5h|L8lZAzW}iF!~-?zTgki z|AaTF;1=0~t~G@ci!%xx=JZp|`T9NO%#z~DKAF7l@G1~P-E!WG?e=6bI4~wiR{%Hj z!4WW8T)A>H@R)LKw}!u0R0i>ShK})Asp(+YPsT-2Dk|dXSib2|8*zfB5EyUxJHottsgV{PPZ^=n>@q$QO^_|?}%B1jo#C0WL zYQM1h5#SbRgrgGjLt|_oH>CN}J10R^(qyABR30z4;8wXe zz-x;1^SOy!m#|2K;)x7gjJsT*#M%(X2s%$%qNUXQda|Z-eFinzXYyibDI+xY2{m}F z4Iz>@d1#=j6oF-xR%;I+zCHk}6Ki@mcQ{LS5O`#@g_Gbn<*|LA2Px_GV-NHzXJ1|W zt3s~*HQQV`I^PWHXH13kry<_QG@4Z(K;G5ThUM^9YSRyPNLF9nT3yzb>)-ITj~srE z>M;DS0$hfg2GK5!f~rfyT9khavaIlPehgKxCtddvvB>h>J0r^V=i9H=6C1xDdeZBD z*&nMf*eaK&F&@ZJcc(y6YD&Bc84aPt`4t)gvgOOaRye)_sg3fWqXxde$0Zp;EqxNFZ043f!L+6mT%iE;zXpPty zoTVx0ZuJrIdX+g1IcdWam#h)2G|t=(9Umpe1Fqaf#1UDU59&02Ect+T!dy&GU^yYY x=J~1brW%h@JAwIV>{-rKXp2Yse~We({tN@tsjaKXKHNY6xYO3AWybE&e*-@v6es`y literal 1645 zcma)-eKga19LIl~VG*0DvWrZ5xcDe7e8Aw*W$2)pcoMNS?%)72Dth&&{n zNTd)=sYz>d$wMBlQABGaB+KHidv536Kf34KKfd4hIiK_XocH^W*ZF?44tcvODQGJI z0HEaVhVhds{riE+N$;lz!d^z!M1okW`%C+pdsqp(@L_P0r2{ zRXNlJWc%qXt8I@Vcsg!zCm7P!l+nR~O{2C8Z_H|lmb zo&K`WGQHWliRqRHhn(P|I5vl^F!0zZPkGy^JO?+A3?5$Na0;o&;u-#K)4eHF8^yrk zgHzuOn@(oQmw&h@e5E(mdVbqfM`J+s&<^cK0+gv5sjV3&p3jJ{8A0?^&k!v&8Is`f zW5xg=OLWIL9Z4z{mb5c;TvRiBc>53xsEH|9F|6=91iT%cmj_kxaXQGoz3Swad1=>^ z6O326(`r7BX-aD%V_*pR1PZZ%F za2n9i++FQ~Zx-&knBVHry4=6${We=6mJGiU`#c5#^Woan72)x+q=KW^(b^@kXI*biF?7v0i`TG4pYb4{Y3O_5*5;z+ z4k2lAp1NKeu}_+;^&BlnlGV;Ha;99$fW|e?*=-&o^fl1Z09LZyLMg3}p$6arB z>*N6g^2Z$2xQ%b62}k})8)PavC>UKBH9-@+Y{^X#=iNrDcv%uMkQyG?AiQ7SuY_qm zFz&-JpkcQLdopm}JFaQU$F;B)3;4aSP5rT`4dO{e3o5IjOEHKrEfkRC5YvMs-{j|g zSk*bJf*GgCP2l3N5%iKEh#uq8JdPgiS+d#oQsuEBS#mB|lQ^Wk_}Ojf-5TBnSH*)C zj&{TGOP&{=`$2$eTGHs3(u;wDiJROC=DjCP1Lik2!n7s8G(XSjszs3e2~C?2PMggxP>ss zvBsN&U(bY2a-58(^`h31^y{o~+a*-&ufnggV_p@dbT`<#)Ym!wU_M8n_U4YW5KR8K z!i^Lai&bn>lR?9%lPRT(k(e?V3n^2Q{+D}#j*=6r2F5r9bf`*{ADZ%Aq2?|!s~`*+&`U=tQI$pe7AUdhJ~Db~ZSVwX9TNzR z)^5<2Si0A8zB4pC(%dCgk)VOuV3)b_n^{KugZkop7OYd49xAQ+Tgax1P?ia>;4`E6kuHI#Y1UNTloQCbc7$7~{IIT9B6^rI!}J>#=o8nm{Ja1bmVc5XnU=*lLdsy^ zfv|eWdJks|yx%NHMBlI-5e-`1FzWT_F5f%0tUgHf@)PIG5SYW=tPISu0A`5$+A6VJT!PzSRfbiC-%!cuU zH(i;`xBsH*ll~zc*B^Z5g1X`$e*;>c>HuU;96m$e0LeO1`{92GN2LD;;O^p$sY4%6 F`x6;0>yiKf From a2cf1f86bf92a6ded88649b78475a30c0ce7c181 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Thu, 28 Nov 2024 13:15:07 -0500 Subject: [PATCH 290/344] Painkillers now reduce severity of damage overlays (#3845) ## About The Pull Request Having medication in your system that makes you resist pain will now make the red hurt overlay not happen as hard. ## Why It's Good For The Game immersion ## Changelog :cl: add: painkillers now reduce the intensity of the damage overlay /:cl: --- code/modules/mob/living/carbon/carbon.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index c5f9698682c5..5276cf514d65 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -710,7 +710,9 @@ //Fire and Brute damage overlay (BSSR) var/hurtdamage = getBruteLoss() + getFireLoss() + damageoverlaytemp - if(hurtdamage) + if(HAS_TRAIT(src, TRAIT_PAIN_RESIST)) + hurtdamage = round(hurtdamage/2) + if(hurtdamage && !HAS_TRAIT(src, TRAIT_ANALGESIA)) var/severity = 0 switch(hurtdamage) if(5 to 15) From c5fb3b04cb1fde068e7b5e0d6987121674ebf553 Mon Sep 17 00:00:00 2001 From: Burning02 <141873051+Burning02@users.noreply.github.com> Date: Thu, 28 Nov 2024 13:16:45 -0500 Subject: [PATCH 291/344] Brazil lab tile fix (#3847) ## About The Pull Request Fixes the **PLANETARY** jungle tiles to be "regular" ship jungle tiles. ~~I should shake you Zevo~~ ## Why It's Good For The Game Oh boy, I can't wait to go into this rui- _gets flunged into a lake of acid for even thinking of having fun_ ## Changelog :cl: fix: Swaps the planetary tiles on Brazil lab to be non-planetary tile types. /:cl: --- .../SandRuins/whitesands_brazillianlab.dmm | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/_maps/RandomRuins/SandRuins/whitesands_brazillianlab.dmm b/_maps/RandomRuins/SandRuins/whitesands_brazillianlab.dmm index b6436b5c8296..60f81246be09 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_brazillianlab.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_brazillianlab.dmm @@ -37,7 +37,7 @@ "bB" = ( /obj/structure/flora/rock/jungle, /obj/structure/destructible/tribal_torch/lit, -/turf/open/floor/plating/grass/jungle, +/turf/open/floor/grass/ship/jungle, /area/ruin/unpowered) "cr" = ( /obj/structure/barricade/sandbags, @@ -141,7 +141,7 @@ /obj/structure/sign/poster/official/fruit_bowl{ pixel_y = 32 }, -/turf/open/floor/plating/grass/jungle, +/turf/open/floor/grass/ship/jungle, /area/ruin/unpowered) "gk" = ( /obj/structure/flora/rock, @@ -191,7 +191,7 @@ /area/ruin/unpowered) "hO" = ( /obj/structure/flora/tree/jungle, -/turf/open/floor/plating/grass/jungle, +/turf/open/floor/grass/ship/jungle, /area/ruin/unpowered) "hR" = ( /mob/living/simple_animal/hostile/human/hermit/survivor, @@ -201,7 +201,7 @@ "hT" = ( /obj/structure/flora/grass/jungle/b, /obj/item/cultivator/rake, -/turf/open/floor/plating/grass/jungle, +/turf/open/floor/grass/ship/jungle, /area/ruin/unpowered) "ib" = ( /obj/structure/table/wood, @@ -394,7 +394,7 @@ /area/ruin/unpowered) "nG" = ( /obj/structure/flora/junglebush/large, -/turf/open/floor/plating/grass/jungle, +/turf/open/floor/grass/ship/jungle, /area/ruin/unpowered) "oo" = ( /turf/open/floor/wood{ @@ -512,7 +512,7 @@ "si" = ( /obj/structure/flora/rock/jungle, /obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle, +/turf/open/floor/grass/ship/jungle, /area/ruin/unpowered) "sj" = ( /obj/structure/girder/reinforced, @@ -573,7 +573,7 @@ /area/ruin/unpowered) "uG" = ( /obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle, +/turf/open/floor/grass/ship/jungle, /area/ruin/unpowered) "vg" = ( /obj/item/stack/sheet/metal/ten{ @@ -595,7 +595,7 @@ "vH" = ( /obj/structure/flora/junglebush/b, /obj/item/reagent_containers/glass/bucket/wooden, -/turf/open/floor/plating/grass/jungle, +/turf/open/floor/grass/ship/jungle, /area/ruin/unpowered) "vR" = ( /obj/effect/decal/cleanable/dirt, @@ -626,7 +626,7 @@ /area/ruin/unpowered) "wh" = ( /obj/structure/flora/tree/jungle/small, -/turf/open/floor/plating/grass/jungle, +/turf/open/floor/grass/ship/jungle, /area/ruin/unpowered) "wk" = ( /obj/structure/table/wood/reinforced, @@ -901,7 +901,7 @@ /area/ruin/unpowered) "CS" = ( /obj/machinery/hydroponics/soil, -/turf/open/floor/plating/grass/jungle, +/turf/open/floor/grass/ship/jungle, /area/ruin/unpowered) "CT" = ( /obj/effect/decal/cleanable/dirt, @@ -942,7 +942,7 @@ /area/ruin/unpowered) "DA" = ( /mob/living/simple_animal/hostile/human/hermit/ranged/gunslinger, -/turf/open/floor/plating/grass/jungle, +/turf/open/floor/grass/ship/jungle, /area/ruin/unpowered) "DH" = ( /obj/structure/barricade/sandbags, @@ -950,7 +950,7 @@ /area/overmap_encounter/planetoid/sand/explored) "DX" = ( /obj/structure/flora/rock/jungle, -/turf/open/floor/plating/grass/jungle, +/turf/open/floor/grass/ship/jungle, /area/ruin/unpowered) "DY" = ( /obj/effect/turf_decal/siding/wood, @@ -1030,7 +1030,7 @@ /area/ruin/unpowered) "GK" = ( /obj/structure/flora/junglebush/c, -/turf/open/floor/plating/grass/jungle, +/turf/open/floor/grass/ship/jungle, /area/ruin/unpowered) "GO" = ( /obj/structure/destructible/tribal_torch/lit, @@ -1169,7 +1169,7 @@ "LC" = ( /obj/structure/flora/grass/jungle/b, /obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle, +/turf/open/floor/grass/ship/jungle, /area/ruin/unpowered) "LI" = ( /turf/open/floor/wood{ @@ -1188,7 +1188,7 @@ /obj/effect/decal/cleanable/blood/tracks{ dir = 4 }, -/turf/open/floor/plating/grass/jungle, +/turf/open/floor/grass/ship/jungle, /area/ruin/unpowered) "Mt" = ( /obj/structure/flora/ash/fern, @@ -1206,7 +1206,7 @@ /area/ruin/unpowered) "MI" = ( /obj/structure/flora/grass/jungle, -/turf/open/floor/plating/grass/jungle, +/turf/open/floor/grass/ship/jungle, /area/ruin/unpowered) "MM" = ( /obj/effect/decal/cleanable/blood/tracks{ @@ -1220,7 +1220,7 @@ "Nt" = ( /obj/structure/flora/junglebush/b, /obj/structure/flora/grass/jungle/b, -/turf/open/floor/plating/grass/jungle, +/turf/open/floor/grass/ship/jungle, /area/ruin/unpowered) "NG" = ( /obj/structure/guncloset, @@ -1257,7 +1257,7 @@ /area/ruin/unpowered) "Pm" = ( /obj/structure/destructible/tribal_torch/lit, -/turf/open/floor/plating/grass/jungle, +/turf/open/floor/grass/ship/jungle, /area/ruin/unpowered) "Ps" = ( /obj/structure/table/wood, @@ -1283,7 +1283,7 @@ /area/ruin/unpowered) "Ql" = ( /obj/structure/bonfire/prelit, -/turf/open/floor/plating/grass/jungle, +/turf/open/floor/grass/ship/jungle, /area/ruin/unpowered) "Qm" = ( /turf/open/floor/wood{ @@ -1377,7 +1377,7 @@ /area/ruin/unpowered) "Tx" = ( /obj/structure/flora/junglebush/b, -/turf/open/floor/plating/grass/jungle, +/turf/open/floor/grass/ship/jungle, /area/ruin/unpowered) "TA" = ( /turf/open/floor/wood{ @@ -1411,7 +1411,7 @@ /area/ruin/unpowered) "Ux" = ( /mob/living/simple_animal/hostile/human/hermit/ranged/hunter, -/turf/open/floor/plating/grass/jungle, +/turf/open/floor/grass/ship/jungle, /area/ruin/unpowered) "UE" = ( /mob/living/simple_animal/hostile/human/hermit/ranged/hunter, @@ -1537,7 +1537,7 @@ /area/ruin/unpowered) "Yh" = ( /obj/item/shovel, -/turf/open/floor/plating/grass/jungle, +/turf/open/floor/grass/ship/jungle, /area/ruin/unpowered) "Yk" = ( /obj/effect/turf_decal/siding/wood, @@ -1564,7 +1564,7 @@ /turf/open/floor/wood, /area/ruin/unpowered) "YX" = ( -/turf/open/floor/plating/grass/jungle, +/turf/open/floor/grass/ship/jungle, /area/ruin/unpowered) "YZ" = ( /obj/effect/turf_decal/siding/wood{ From 8bc4431538136679f4bcca8d2e1d912c1a029476 Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Thu, 28 Nov 2024 11:23:19 -0800 Subject: [PATCH 292/344] Mapping helper fixes (#3850) ## About The Pull Request Fixes mapping helpers for seals and notes. They attached their payloads to the helper instead of the airlock, sending them to the shadow realm. ## Why It's Good For The Game Fixes good ## Changelog :cl: fix: Sealed and note placer mapping helper /:cl: --- code/modules/mapping/mapping_helpers.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm index 458fe2f8299b..790503500e61 100644 --- a/code/modules/mapping/mapping_helpers.dm +++ b/code/modules/mapping/mapping_helpers.dm @@ -161,7 +161,7 @@ if(airlock.seal) log_mapping("[src] at [AREACOORD(src)] tried to seal [airlock] but it's already already got a seal? What the hell!") else - airlock.seal = new /obj/item/door_seal(src) + airlock.seal = new /obj/item/door_seal(airlock) @@ -383,7 +383,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava) found_airlock.update_appearance() qdel(src) if(note_info) - var/obj/item/paper/paper = new /obj/item/paper(src) + var/obj/item/paper/paper = new /obj/item/paper(found_airlock) if(note_name) paper.name = note_name paper.add_raw_text("[note_info]") From 37ec2e55e85dd50628b993b72f56f045785caad5 Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Thu, 28 Nov 2024 13:39:40 -0600 Subject: [PATCH 293/344] Gorlex Sledgehammer (#3718) ## About The Pull Request Adds the Breaching Sledgehammer, a melee weapon utilized by the Gorlex Marauder splinters both for combat and as a powerful demolition / mining implement. Sprites by @Imaginos16 ![image](https://github.com/user-attachments/assets/c9382aa2-8831-42ee-994f-4acbc6d8b22d) Originally was going to make them do increased damage to structures but its already 30 force it'll crack open most things with no issue ## Why It's Good For The Game Gorlex uses mining tools like this sledgehammer in lore, its reflective of their origins and is also cool as hell. ## Changelog :cl: add: Adds the Gorlex Marauder Breaching Sledgehammer, for both utility and combat. Available in the black market. add: Sledgehammers are mapped in on the Kali and Derecho-class /:cl: --- .../syndicate/syndicate_ngr_derecho.dmm | 4 ++ .../syndicate/syndicate_ngr_kaliandhi.dmm | 2 +- code/game/objects/items/melee/fireaxe.dm | 48 +++++++++++++++++- .../blackmarket/blackmarket_items/weapons.dm | 10 ++++ icons/mob/clothing/back.dmi | Bin 94578 -> 89059 bytes icons/mob/inhands/weapons/axes_lefthand.dmi | Bin 4018 -> 4724 bytes icons/mob/inhands/weapons/axes_righthand.dmi | Bin 3990 -> 4982 bytes icons/obj/weapon/axe.dmi | Bin 3082 -> 3461 bytes 8 files changed, 62 insertions(+), 2 deletions(-) diff --git a/_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm b/_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm index fd082ec1ddca..55d8cc03bfad 100644 --- a/_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm +++ b/_maps/shuttles/syndicate/syndicate_ngr_derecho.dmm @@ -3529,6 +3529,10 @@ /obj/machinery/light/small/directional/south, /obj/machinery/firealarm/directional/east, /obj/effect/decal/cleanable/dirt/dust, +/obj/item/melee/axe/sledgehammer, +/obj/item/melee/axe/sledgehammer{ + pixel_x = 5 + }, /turf/open/floor/pod, /area/ship/storage/equip) "DD" = ( diff --git a/_maps/shuttles/syndicate/syndicate_ngr_kaliandhi.dmm b/_maps/shuttles/syndicate/syndicate_ngr_kaliandhi.dmm index acae9b9b0701..f2e6b8f6dd63 100644 --- a/_maps/shuttles/syndicate/syndicate_ngr_kaliandhi.dmm +++ b/_maps/shuttles/syndicate/syndicate_ngr_kaliandhi.dmm @@ -6125,8 +6125,8 @@ /area/ship/security/armory) "Ol" = ( /obj/structure/rack, -/obj/item/pickaxe, /obj/machinery/airalarm/directional/south, +/obj/item/melee/axe/sledgehammer, /turf/open/floor/plasteel/dark, /area/ship/hallway/fore) "On" = ( diff --git a/code/game/objects/items/melee/fireaxe.dm b/code/game/objects/items/melee/fireaxe.dm index 7ae3728803c0..d58c48c5e4ff 100644 --- a/code/game/objects/items/melee/fireaxe.dm +++ b/code/game/objects/items/melee/fireaxe.dm @@ -2,6 +2,7 @@ icon = 'icons/obj/weapon/axe.dmi' lefthand_file = 'icons/mob/inhands/weapons/axes_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/axes_righthand.dmi' + mob_overlay_icon = 'icons/mob/clothing/back.dmi' force = 5 throwforce = 15 w_class = WEIGHT_CLASS_BULKY @@ -12,7 +13,6 @@ max_integrity = 200 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 30) resistance_flags = FIRE_PROOF - species_exception = list(/datum/species/kepori) /obj/item/melee/axe/ComponentInitialize() . = ..() @@ -52,3 +52,49 @@ /obj/item/melee/axe/scrap/ComponentInitialize() . = ..() AddComponent(/datum/component/two_handed, force_unwielded=5, force_wielded=22, icon_wielded="[base_icon_state]_w") + +/* +Blunt + */ +/obj/item/melee/axe/sledgehammer + icon_state = "sledgehammer" + base_icon_state = "sledgehammer" + name = "breaching sledgehammer" + desc = "A large hammer used by the Gorlex Marauder splinters. As powerful as a weapon as it is a shipbreaking and mining tool." + force = 5 + armour_penetration = 40 + attack_verb = list("bashed", "smashed", "crushed", "smacked") + hitsound = list('sound/weapons/genhit1.ogg', 'sound/weapons/genhit2.ogg', 'sound/weapons/genhit3.ogg') + slot_flags = ITEM_SLOT_BACK + sharpness = IS_BLUNT + toolspeed = 0.5 + wall_decon_damage = MINERAL_WALL_INTEGRITY + usesound = list('sound/effects/picaxe1.ogg', 'sound/effects/picaxe2.ogg', 'sound/effects/picaxe3.ogg') + var/wielded = FALSE + +/obj/item/melee/axe/sledgehammer/ComponentInitialize() + . = ..() + AddComponent(/datum/component/two_handed, force_unwielded=5, force_wielded=30, icon_wielded="[base_icon_state]_w") + +/obj/item/melee/axe/sledgehammer/Initialize() + . = ..() + RegisterSignal(src, COMSIG_TWOHANDED_WIELD, PROC_REF(on_wield)) + RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, PROC_REF(on_unwield)) + +/obj/item/melee/axe/sledgehammer/proc/on_wield(obj/item/source, mob/user) + SIGNAL_HANDLER + + tool_behaviour = TOOL_MINING + wielded = TRUE + +/obj/item/melee/axe/sledgehammer/proc/on_unwield(obj/item/source, mob/user) + SIGNAL_HANDLER + + tool_behaviour = null + wielded = FALSE + +/obj/item/melee/axe/sledgehammer/attack(mob/living/target, mob/living/user) + . = ..() + var/atom/throw_target = get_edge_target_turf(target, user.dir) + if(!target.anchored) + target.throw_at(throw_target, rand(1,2), 2, user, gentle = TRUE) diff --git a/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm b/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm index a94a815db8b0..326efd7cd573 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm @@ -42,6 +42,16 @@ stock_max = 3 availability_prob = 40 +/datum/blackmarket_item/weapon/sledgehammer + name = "Breaching Sledgehammer" + desc = "A Clique outfit had to ditch a lot of equipment to evade a Gezenan assault. This little piece breaks legs and walls like no other. You want in?" + item = /obj/item/melee/axe/sledgehammer + + price_min = 2000 + price_max = 3000 + stock_max = 3 + availability_prob = 30 + /datum/blackmarket_item/weapon/powerfist name = "Powerfist" desc = "Need a bit more... omph in your right hook? This gas operated powerfist will put you in the heavyweight." diff --git a/icons/mob/clothing/back.dmi b/icons/mob/clothing/back.dmi index 5ca5b6bd045d6e42e5bfeae03ad13efcb5e535dd..53910743285bb5d626fb85b8a1565b4e38c19c6a 100644 GIT binary patch literal 89059 zcmd42cT`j9+chlXh$4fiC?Iu^5yV1~CM_93Kt;L~X+cnsP(rVPsDPl9*r=fhD7^?s z2_;cVLXSuZJ<>u6Erb>llJ79{d)M=P{g3xs>;1A8i@-VOF6Z3$b?s~KeO{Ru>GPZv zI(g*C5uUquZkruBa`e~X&k0W8KULEF;YW@fQw@D!?SK1;pR=!&TJdjLh`! zzCvoJUlKOXmCwC4e`fg3;8bJMpyer4_i$E$lA@EIo}}Sl2?~s@aiMP~#&Z#NBf*9H zHfANZlVvz@7>h|I5+JH1HcKu1L*G?*FU;fwBHdWp)*>buG;zJ)y=8Ge4}%vJ`{xoh zaEIPjdz-sO9|lp1@hGI>Lsc8Oy3 z8U&`X@ksvB1L+rC=+5v^K^(EY-$urtbu%Mu*Fzy}o0VKX+-eXeV{eP15^e{pWs4#l zcz#6&*t@W9quLj?P6Y5;y61^F{%|-+d^)W~@LH<4+DZA7;8)9+zfpG4wb^U&ILGfl z6}iqdWF(w@YZP$SR=u5r_0?u}(B^0i`HrlWd_#-=!3$(V>TGM(pY(YDBzc@r#Nh9o zff6~-6Ye~9lshXln)r8sv;T37i>4k7A;HX8v?;ex6KrQZ98z~*nRiY(_XqdM$FKas zPYL5c>&#vv*!0MX+@fEefyYuULdRB&+T{PfiCDSv^J8@)WbMo~A?~(hg|?*Ht0C^@ zcOQLg3)O~Y&I!Ez^;zsl+#lt{qv8XnCOoBsvni#U-~TX_45@fORp{^=*W8icysl~7 z4Emr`)Bo*bbM8oX@@t5n?2#ABCu=Rk?*092K7r@vgiSTamKV{8CHAQ(@R_l#BzIv} z;;&%qXJ0OFy=<|Yt{bM>s5Mw71=?!Y7My=-sESpuo{=lC-c`n_Uum2PGdp044N6wM z@(=i;Wl@z=xMkwdE%5oAMfua_KlM^jq4?w|XTfZrRy(`a&;4-0`|HbLH7Pm8ZDL+Z7`*3Y+Nb&ao-n=pHYb#6RxDrrMlbnvGg^nvTBudv-bZY#&ETPO`7*ILGyYu~#@DrQQ|u zvmcxb&po*KbuqfSAUE3VEJ^1QP3ZSFS;MS%)BB9{sl)eZnZRY- zP6jE>hGTvw3uEGL{I%vFE>*X_G_H1*@-u>(79^izz*Ya8DYQJ@uZu`bXy(h&1E-HTbn2o-w)hJY?u>s+H{XkZs`C#ze^(N+$Oa6-|L7*Ft2E zjL__!S*0hQ{^<58c>7{I<(!Pe+dCYf(YwSp%3tDzbv^clX8C%0A+E7`YPDjj&&mo-&IvYcd=iN1@bi=O5&htT{ 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

    t}RH$f03-}JquRO<|||%K4@CPa6hY4 z&-gnc8LctlumQK7YE0Z-RDV!ybV}y#wU>MG9;UjV&t&Uv9k2cari2dr0VUo<5lv!7JdPuZ@&gp*dDomleEhvhX& z$o$0C4yHNGNU*HH`zXxDd5bo-sZEDTMOUS{*bSSLZ}3!#kaucG)`PK)0zSx`mpjak>3VPJmW#Fq-( zegwO(w~(IRK(EL5Dif+8sl{gj3Fz!|ucFh{!l~VkO?Aw1LFX>V`4+}I`5PcGH`jTl zn#kKW=bfXm2yC=iuZnFnfh)O%D7M7zXK)dO4$0;pifwAROeh+=KJEi)mrD^R%XMSheQ%{ z_pGJ)L|^rL`H{>7;&WAhD+($H-2-?}B`^fT(-?~W_gwefYnH-e>f8I>H#a;t^LmP-zYd>Hxn*I096r_6X$3=?58lqdoe-!W z-oLy!rX&}mt91~khvi#{k8Wb3voTYspvX<5_0A#j-AC!v%#o5Ak=?sK8Tz?UXqxwY z0qP~`hX6ZR0d|NYyNm1>Dj0>vN9uu?k?PRh@0`ZIT_)x^-4|~>6UsjAo4(Mje&_Ax zakryLX$D~6MYK?#Rx-XE3<}yAR}<%IeE|XFy)Lfg#mH|lrWP&F((=1O7IUJ{jj(}k zmOZsAwI+sjWYeR-@G&S$6UjjRJN#GMP$V((i~wE+m4x#oFA}9tn1=&?%^qV&(COM$ zqNUiA0F&U~SJyw#*Gqi@Qfv?#xx;cAVHn7#FkA=U6RCOyeFZA7+#|we%P&0l#xNL+L$37DV$Pz^ni* zJ>ElLz-*xggeIb6`F@6=61sa5Bi_FnpS7MgaSVHNpLZqPB>CVc$Y-$+1NaHZ#kSob z-9h)UdVVyUJPD0?v-A3xK7;B~PR<^B{~{>H{QJj%Q7ZPUwUl%{B2I{axjz&FKt}NA zPZ7y3dZdngV7?WgNdHA$lwW62)|;#FQ~{YOfoW`^L#wB;qSI|Er#2f;5}8fGe|7Dl z*gv1P2}mgWYHxvjam>i>r+TFf+{KH&60@RsBUOXnqUOnjnRJ&LCP-a}(O+q2FbH4wS8Md8A19+e|Wz$92A zMCwqpL7NdvzTGNB@8tGFeSG;<@nkYPI3RaRs%d*l^aCm7eWyqS+sJo)s%_@^*BIr0 zh)l2eoE^s5>X%Q(yP6{?(=ad4v5{m{t6l1y`O)-U>tYajR;z40l>nO{S(!|0e$8OT+?`{E>I3MDKPp}+EES>s%!@l1w zYw`Wwtc=HEQI*DM`fGs1GbI)D4Q`XNkv+E`ShtjQTOo=9;HP>DVZ9}{xp=ReP_H}* z1T)u@0qNS>wO5gb1kRjmX^)NfEC8H)$9RaNk-?~B*^Rj*fBcVWO% zznK8R#C}F#aq~?>_1Ju^XNmlo+s8lHWM4%Cn4+BzV==tAGwze2L&r&W`BnlzT&!X{ zqbv)dJvJHsF;!B{#;3D7o6;t+637!w^pk3SP8&dw+P` zkf^f%_=wOO;0)ly-K}1VMX87YiNUT;u;bf!)3u0?{X?RH^=mxi$u&(Qr*EF@w{B5r zj1v`&(rl2Kj(J#wP=0I}W18p7?F!Mq(*f%uyW~ux`1SpCCWeKJyVI~AbtbZPKn{o@ zPfRH=*yY#4axcDi^PuLe%!gPx%(Y1e^v(!QDIIj1*||j#=A+m~m{9kkH;PLuBVfbs zaA#*z&X7{b?N8k`OU6;G=QP9$o<<%^{oZT$NqqBRJg-$iW=9>*MV`<84t;xVFEot! z{VC6|T_j5(Odz0?avIl&2pFR|i`pI!dW}>>m%*?TiB-A`cZtT=0 zSD%rM;z$5xwG}1*z|(yxGuQ)DsG8ZOB}pD?$@|#kRfe02PnKl)4;YVFA|7G0@^8oe zN#~yjz6-$s(eJJP4+9h2$`o5!&Aew%cMtU?Y@6Fw^Evv(iWH$R)HMGE?po2i1eZ9)r16&zlfZ&S3CHYfD9;#}hwWUC^%-)RVAv(twFzv|LFI zQS;F+&RW@5*W=2G4+{_d_)f%KK1NSFRPFiX(GR~J;Cx!NVJ!pjeO9S^FHO)vxP01U zt}naNO(W1Zac)4D*^*fsrw3&gLP?ky_`aAOGNE-Kz6hq8i?tNzUF!8wrYyadgo(GN zA{1;iGm?nhA^0&DB*bpQx+fOK;1<41k$P?Vqs%3bt6V^(FG`X{Ac(_xZ)y<($N>LP@is&DcCmM(oyJ#YMeJJ;uVo3YYjeSj}$S-jx-PWU*-(qH`PLn}7E$n+`K73E$`8 zU1hpZUPZZqq>IBFG~R=OZCwKYa>h>9zT|R9?;Apfd&%3)Uuj41 zftU?2K>l;4MbvJNlm6Neqqm&^sDA^hHAP-3QK3HoIB>I7;S&z3Hr>}PkDRnTMy`r6c{hBE!acICRlMXyiMEx zhlAhe_}Klvh^Q&8bY>$8b^s(YmuCDkz_BVu44hZIX0$nsIkfRdeAJARZE zA8Y!3yO}0WN3QfVoN0acL(;-B1uD7u2lLfCEwSxA(wpJeOdb$O0 z;t?3su)d)uvuIk*E&DRTS=XJFq;7h4xI!gz;{6&w@T=sFLH)OIr3{6v>xcDO-ujm z`i{-UdL8_Laok{&fYuwAs@hkma({HlLZ9yTLkGnQ$tA3kBpCw=rB9rBxR5W4_Oz)iK6`a*tQkZd0{ZJE@P8o;$6Y` z+F-z>T!5jp5&*|TmciiQE7Gny2Yy|6d-+=uX6|V@9rvQADQ4j(OpNn(X~fOo#LvObXJG?gVs`Oab(C}|_PyUeae4f} zdEUT?+8hsvvhY!SeN48f%uAp)!5BE%-c~0kZ&c}pr-n&+iNS=R<_Q!6tsgXL04HYQ zUj6fIYxM0;b=X0pux#tC4=ee$l%Y9a$NnJ`ae(Pws!YgYfd4YfYg7hw)0Iz3mz4=s zCZ5bVE?lS_RVJWjcg6h4fUd;nnIvGSl@ysLA(Ni2dw|;f-Aqn2 zV>F8@^NgG#+6C2-)=+e|&+ttA_#Vss7(LT~n#6E&Pl-AI;Z_}jnBvQvdF$&$jOS3A ziz*#mi-zO){*TI~jk4R+nu zN^1H|c*vq0>)1kif2fg#CJ|S%z4TMo_PWmZ$jZM>&i1)4TdL5RPTFTJmYoIc*Y#hw zD0;Ric}77mQy^Nc%^O4CS?s~d zny%a6P7$jc;{k8QQ{_+?IKBDy8TOI0pZoViM*MD{4fp=ez<92%)C&jtXtSDGeLJY; zRd2TVAs&(8?_5TN9B9*PveWLc#g3j>DGxi>u>{;qv9V*u;fw;+Bvll?L+87JKBr(G z6#*k2KLml3CkW-T*vX9ZPKrO$`6ww}{4$k7CG|A80!HxexXxqy4WHM}Od*2#g`bB8 zz`;MC1Nv1uR{J|lm-6eF%wG51Yebat4!NOz?2w#Goiabps}|ui=D8djPLa^-+Rey# zl2<3rZrm>~DYX|K6m+a6I@Q3>5>8w}6=`xKAnEuY>^L6by{_WD9O#2>r)Hac-Rd#&$(*5=y@sJJ4;*=Xs zf6+Ci4562lTnVNG2$YbPI%36(e9p$L;xY}AJj63AXum(` z$D=_7=jZ5>CjZGy{#uuSv)G0dXW9(+J|6{xcSzc7wc|;Amu6%`{l%b8gI0WTU&yra zrfS*LEv-NrireNd9m7WjdYgyrX-owDx;`1hKml3{f(SyZ^_*wl8nBDr9iB_>$z=8yYlGQLbXvZ47kj@n=8Uht#XO7~{C4m{ zObxI2y>-0Lxw!Wy&oBlaw#)PM@{&SC{{7D2843#;2TAMi)wZLnRRa6y6>`YuCZMH` z5w~%@hI9K_mN{k2GgL4!rI&QW=#8=@ffeZ~qnk8uwJPKg!57^YoqBr_A1g`Dv*jZ@ zkJkGsK^Rt zXgb=HqF+r)9#AsFzvE9f?rU2os$zSU*y*!-}Fqf;A2orJ==O`kuA{8r4 zNyKdbH1BqI@BF?bA;|Cv`mW>sFSrIiNkxR;$Y%a+j3lR*K@uEF6bneto``#naW@6; zVt3)v{odpX^u-wxq5^Y1G04nFbt;}k5w!)MHjKG$QIPCffd!2p+Jfj)M=9-7-duYB z!;MSNXeTfHt6$1rGWP6!@tyLHpT6S^!q=@J!dIP&7)Y$4&DQ=-{lU}(3NyLHvB~?d z-?_gYy%|E1VL3UcewP`Mor-$hW%_gs@4la@GQgBRX$1XoOdK)?$VSwwKm)mf7w~ZI zv2Y%VVHHTC$ep{4A599fA_GbnSVjuN0`;C>Z_*9TDq;%QgFjo2{B7v)<0`e`m_hR4 zj@*>sc1??)zw)d%nH7@G$H`WxtiexzO>jf_x5R9Lib!Z6LgCc+GFS25cYn~WqzmX# zM9myLcrxtn06}W*+$OWM@HaVefY?7XmdHS`#rfZtF z1e&YOOKbW=lU)1>5qFYn+(r|{sGn-mK|Wy~+=Ddf#%8C3b%hhkxMPEuIK`8dz^E6D zkhAW9V8ZNH6LU~uYzrYOJ{56yI4VXrLp~?znE)Hv(3-OS7y3I*5VY$yYKZwrUsHR$|rZN?ktIKkY1cw=9c$K2sP-46%eSb;S=F)g&EM zcQooGna3eTY+Ct@&XWZl-n3B1nPT>M#_7Z#qV%Z`Q53St!&#~v&Wg3Uf!mzbi^9A{ zJ|*xnxR)h&qAT@4o!k_xcbS`F5Q@Mv7`G4OUpxM8ZFbu#^S0HGNT)IZf}QvGjeGt$ zlv=m8;iHpcxgu#@MK5O+7N66{0Cy!vnbMiwI3xYB88(z`!Jz4akavRjd+&~Us0#^y z*lahQ0>iSQt3=Ox4-(mg>14%6at{(2 zo_G_X?-yKzD(6{Yj10fA1Kolv+$Z?05!X_AUnv`$;rFNvCGPqGq-pbsGV#c&;cXtd z0RQoLnU_N`m{`bVPII`01g??-puiJTKS0C{o7jwG%CrG;@*O>gGo!WkPpm3EQx5X6 zi^E$CbidwRAQ3?m+frGj?+4+rwJXr&!a)2^3R}^q`p&7nNHGnA!-#voz&wW4y^W${ zqWH$Fb${j|-+NUrl>DVqx3MKkMR|#bF%OqmNvk*r3_&sI4WsPiS_^KQR@ETdUUh@| zxjC7H)QA_7cT%{`+}7d(W*_>c9XAu1lBgl(bVz*87V#)+lA=bxQ{HX-P;uk={QGsv zKFX@TvjREm>JFqug=g;X9wz^)KD5r8ViVr>B}DaO8nJTO%wt2JKrD~o4s!*(k=-vf z`0b{+wqJ{Pjaj!x>J!^Vzv;^TFq0??B4)XcdJ2lOzvWwlirSue_CGysE8R-1- zf_*dCL88a2*;JLcgNd@ifHZ+}7bxP)2J{%;Ht4U34yX#Qr#yV>6$l8d#&;AY)?>4> z?!ix(6L2d5jcu7z*;w0okuD0KX7Ey_)OZ(CHTWxAGT3H{NhLidncDu=^@YwcjgbS_-eYJROg8PEyeTEw2_ zkBX_%g7nN?yTCm%#x&QQ&F@y{Hb(2&;}4W_^Otq0FF8_%w zNscL0HN3@$m}R;!+Un~pASsbYnPz+|!$O@PRC8@Y8F%>*_~gg1zb&hmuZ#Vpff>!d zsY&pbzZ^6MWdu#>6KHx3Ox6ELyp@9`paGm(zj5?M6}1|c1EE`(!LggeZ(jtU?A9^Y z34XS_>KdvQ5KraetD~WAh}fPi{-R-qr8$VLgsCdbgcF zf8zg}bA8B&`}PR)5|*XjNM64k@I(jHuv_XQ zG2a^VusP2+bIyoK$nAFwe;3#L;d{gBIshjQbRc?KO;UhhB9mbr`+P%ha4Lzvt95e! z(~>~(;R3Z|XKBYhVsYdppkm}hUW&iSwDEK(ajFJMp=^78_?1FYh_nb zqvV3{XS$z#+q5xoc58#P7w!IAKslLZ>z7^A2AOc8jC2~+v}Q%K?hyUvwlkQcIo51f54-^ zP&Z_U)|GvlZFP_vMs&jnq8i(0;;4F>!(nanYdUlw9X9RFa_8^o0b`kO92bdF>u)?? zYOGu`pmk2aURh}O`=`b8=XQ-b9YgP6E_R)u#&^c&P*p8<`li!{sWwY%CCai3OEJEC zjJqQr)G-=Sm27V#%~uVrGs+T9fh*qPT@(U#mo+nA($b7wZvB+_A{_MTQwTAr{*C5a zNq1$8=V|1_Y2SVas7~U(h+VXIO@@;4Sh>BZQu6DyBuh&~8G)W|$o;S83QOnD!RZv# zGNsf5Zi z8Y$Ic*tvEEH*D&L+RJ)L5)(41viQcvMprJ?a{xRV{=sb6l%}ZJMcwf(Gi{-p*W{v^ zie6dlEuI%x%CFPFgqJNGiTvPT5xlNaXFSwg@=IlBSdJ{u2q=f*P;;^C4eYRG=c?@( zSE_JGR$Z)`Uw>BLUvX!Zzllup6z)f>7A z#A^ImiO!UJC^^SGU=3~p5n4HRu`-^sJ0@qBF|6u%t*-r)_=l9&#MnTQcdZw~NGS>G zS_+Fk70Nhq8zpv6BYV>}cbeBw@^XUX$IF)jR(w|@Q$%gYAO*G$C#PkjUPQgtU zzo%#EbEEIAi)ijTH(_4`QIeQbbZf;=%tP_$$KCJjbUo=S9wp5`Gj(}UG}(3mS!`w& zFh|&lhtnxc`geJ*{N=B`30xVNB(p2cBbi4QeQINa_5g8_yP}s(BXimqZlKovKS*#I z;Met3FapBu|8YX}-{GYH{zfhv%{w^pYv-^r2>Bf|P0e^N?HZZ*HCf2ND?wQdEQsdu z&x1MK5n{Y9vS(D+BFhxiJn1!Jc>ep4>}Ld$s3Z5Nl!`d7*~jOmKT|y^x8g2J*`|2k z&&h;OrXVuVw(UQFh&<8Uni2ggyZFl!hqmfC+zT4_^B)sJK`N3Pi5lp#QxpdvmSTZs zq-UsG!h>gMa&HTYOfW6s&sR_!OM5rW#DpX&?xD}c&BWthKkW|$cK<=y8+%tK(`@XJ zi7J%J%7lNV`QWfjeQPAwk)EBvZ?CRto1_04JEwN1h>a6wPLYyHcuBf8Y=Vq;X}<+q zdOpNS9(mZGaR8~g_AA8*$U@LeR zK_+T?(y*$+=YA=`Vj=zFDzFhKuVf`JO$fzss)rud-x@euOA+3*jQXCAmvjv64RIh> z_2E0_n%8;Cv*YV0$SnK`U=ei$Ho+zxQwF8l#rTh&05zy&lUC@P)lxsEsgs@R3SdJ~ z62IhT^JP6}p>7(84U@N8kThD~q+J=t!v51cwzwZAi*qp$yfzcw8+UY{;LrSRnP zc7!fwV}TP6oC@EVD?@wuR_zKQ%O0^VJs(Ullb+{F$|5%t$M_z{T;OW$BnbW2r zFN!<0Hh(h6Gy0i7)=fVvg`?T~W%9hi*s~32EjrlK6W7)w9{J%Iv*Tm(iHPtnW4djOR9Y?_N{_i@pLw%w{&7j z-qrk12D9@Z0#p`fkD-U@mCT2DMyI1y@{m2miFHz5KX02g@;)RG!)HW=4IiU&O2w(w zyng~BAqrThFQ&M!w62LwH&VQ~?V)S0##2u*UDBds12`|w&qcy(>VJ3{m^SDg79SA6 zpl4EvPBke`*a5h;0 zQE)49e!x!;$}`3~^{VMV2Oi`3L%r<&LIp9;o;!9&F`%xo=dNBiVyD}G^k3hBBNgvU zDB&8UuoZ`7V_&|gqn^Q~O$>^dQzy|QBNpX&hb)a|J+=QE8x5INF zn4R%v$^+mHX+~%uCGS@3Io2g7R%NPhztzi3!DSCnQQ{51@h2j@o>=M+yMIa78wbw@ zvZ(z8uYF7Ls831)%WjqY65Q;^jDy{^K+uI>kmWuh8$({*nX^%K@Y0b1RJh@W90#bz#Sy@_9zxJgX;FGt&}qsHnsI0A%r@{d|Z*Xzx0(N7hd zr|j=)iDRRwl`?eXHpxE+qQaHpx}dhax$;aKta{>*g3>HxM=tH=e$SKQ zk#n(^j`wLL0_25HogymGa{R$nh1Hf3hmVn0zEjSM()&l8Q?J)Hc5j<=+tN%?ji8*r zgUzajG}W}!9k!|@QwRfFlCQ`#Nvy0{^1<=<5*h9=vuQl*3~M=w_pHz)ohLvnztW9v z`;fSJ>OIsBPmA2Sy?s8oYyLFczP>`Mb=0B0yg0f~xsc;?EHR2X$hnGoV7kfU@YvsN zT@05!gsmM;ycf=$3_{Qzvd8^)1)#ZBh{F4nj<-}E!~~&2IYIkw_(NI;_OikF?W5b$ z!=XBjm@j76kA^Ban`99Y70fj>u+fZo4(M#n*rS7y1OBz@tQ1d8YA@CdUTP{I9SH1>V7ACh|r?i<87Rap$qzDJqKiF z4X;=5Zr&rby~3;zo7W$V(>AZYq|Z}xp7y7+s6A{lml7JX*!7BO{z*JeCE7kd3zyx0 zN|^d`c1D~(E%LLI=|Jg|=S?;p-U$eT9v?XkL?xL`#8fVGr@~ZVF#ZiaK_iz2{db%F zY-5eAxhwDciBSx>ng1ni(}vIYXTKUtz(mttlM=eTm7U|&S@p4Za->zM3t8;Zg#RQS zH4uZnfvk&4_c~I@Lq;ek@kfdY#um zOJ7LDzfLYI(fZxOiBWw|K!*Q+L5@EARna<1;{UXG?p$BP%1@GlwEDb}g!lEcr$CHq z6aMC)wdc}i+07on#0iqqP5g!WZRWb~+T`~D9g<(QD)++t&{C%2l>neymDt|Sz9vas z^P@Kz$bt9Su+|Jg*L3JImG~`_p|IKGaLeDfa;b5%df=3<#dF&jdLiYu*MHFb`nE}g z-|!sE8}xqonfgQOeLQ&b<>q&c5EJRmso@#{jBU2u)}NDbBnjiO@FhHH#idtBy-Mez z_NaF{n`Ehnb8Y8n<2=fH^YHDT^!GK1z0oIL^uaeCbX3P)p4H4h^pRSxqyN(0$`&ET zQ^%a*;LxJ1`43{94f&PuZUJ35)bIF&RxRgs4Jjt#0k7>JB#H6dU_i6PuHd|?)B5kS z#dbv4V)Z01Zo&pZXrm(&O0bLDSIP(0e1ZsF3O3W%V5b<=Q^x3D>uevRG>v4X657<$lhM zV6o5t_!k}XOdbCeMEma}_y5(-|7~=()B8WA+HCGaJB?pspq=BARd>JJQL;Dww=`;? z)Xl9wTgeUB4$c@j{CgPapF;9~GZW3->(oImZ`?DCG3Q1p{QuXOl5*)94@tcWgspuG z`llgEl4cz(%>r-AoW254==wJ0%7z&9!pnXk_uRu5f`N$KN_Hi|?a86t`gJ9+xoeVj zQGLad+IF9}ZllA=m5XO8|Kr~-Ty7QAq7|6pRH767)O;=F@dBckAfNCEFXC@<16n?+ z`wMyD?ORXmsP^g7bllvx&nCF6P&$4y#f|&3QRL*cy8bYQppk;+Dw>l|gQ0(8(c`z* zs!1V|#@FAV0%I=$yTqTqw)qs!+rf;7Hg`?TFtVQK^=w)dy6j&RH8wsj@X;U@oni<> z^5$n&$Iq?!)Y&r@JZBcDM&@JWxs6X}7}tsdDC`QZVj(tsYc+1n%f{QP%O}idXez;D zdAHZOL2uuw8QHS62mV8CfA(qrGah%j~Kv4|o5_TM|3JZb%%Tqcm}tHa53heyRem`vfO54?{cn z4zPr6>U+$;c33@>Xx6gp&LSQm3azWt4*_!{q5i!x{M`c5t4Gdka73yfYbmdFgS_Ol zcC+gB>8ddHTfb9EdmXW)$l)AMh#i{X~A`khPD%i+^tnA0K^qbgea-*!N+h zKQw4melp`!;s$RbEgjV+;gth@)Ec8T zkd3HFmpz@048$GkXcD`x&WmQJ9ro zH>K4oq-hjElOyG7(1U)Zxv6ryAQy05(XA~GS&#FC<9+%F9#zK@@LR-k4}e}NtaE|~ zU*Avno3W4I8KReOj z0^J+Rh9sCl<@^hlS4Hw8J4BjF{XQ^nThGRJb(P1?jm%=yKC-$s*{oxN9hF3tZTW`u zgmA@XB{cYST-|WG>uT-@d{vqx$RRT;E&^!FD(j)dEw`5vmTCeAIt^@o}QMkT1Dh1sJglj$1cH>TSJl={Zzn3(_dYaa z?r1q#h20W>E_v~E?JX|ss8i}8*=K||=Xdk@cn#D!bGGbw)9@E53hX)j>yO}j6l%|# z8yl-vKi!j}Xn7c7MF76=9YB+vgkdxa(4U7k9=vN+ZQY$vs_tWHepPU$*q&JiOL8?T zGDlO~3H3bcJ=NY;1fxt#BW81#7u-DIODDy^cd~%8g^{Y{*S)fPZwvpvEzvs(Iip#` z0Vwx;-Zhp{Agn?PFK=y3wNHAtzWlOtl3VU(Jc zm+fY=hX*Kb@;!K+$!oHw>$!lxh_Skbz3akcxR8+=8w zj%+U$RT$LKaSw2x<#J;#D?5R<#g*O4LzpRv1)BiIhZY$Yxh#R zzs2G2!6qq-=o?E0!}ja9-hNQFkhf5g;?t%yyD$4}GK+|lvK($InE$D6`XQ*km4ZN* z{*lm2jE}1(3!DAgj{-h6kecqw^B1aKUodQWCwgHIb|UL`3B1k*n-LWy51|O{JhFLA zo*dcywcmHO>v&u1(lHs~^WqOR&#zQ8Ez_O^qxoXMVq+dii2>Uv9aL|)v4}t^ZQfnf zwp@si^8pmF{i0=EZnev!_hwgE1r9mJ?&akE$8_+4lh%)LeVnNyER0_ejacW#PzTXXpvlBMd(xV>{gKs;0;|uc`D)zyr z&Gk*DBU0UNH%fBh_nGJ~Y{$W6Qha7n=XO8-fo3-jz4&%#Vx~eKysa~z^Ura5VIMAy55oK+%r(uqYvk}MtO99Tn~UN-tZjS zd9D3wPxwgZ+IGeY0#=^DDb9B*~-(c*`1uv>}umx zrO~@`Cn6nO;q&5BIz7AMmArx@5&Jo8xgRjj$@9bBqT!pu=F>Wx&$^j|!+&|Cc6O>yM2lwI|aTHa^jpclr?KYBIt7!A&~hp8X}l|dXh|BUx#{zAs1 zJ+avwe?P}eqBzeD74oj)o|06ONp``2wt~VB6HZ7`TGIZNUgI=!X3tDLQ5z7wBvUTK2m--}#Q^#n(xl=9IL_&Pe|40#CEGI>(C*fsjFOT+t z(MAKvk#&Ev$e?zQaDv}a4~4RigVK32+s@l2O_#_}>DEl!Pi8zVJs8eS#8zMzzmYK} z%Iyg(d%4}N_uyc;DVKPw!5qEwS82RMenClyXFcjY>k=#F40EE3SyclR10y}1o$w>$ z_obmP930DT_9Nb#A~}r!D&4)Qqrj)!a_`#0>{*SQP7M3uEum^u^IAqifKM{FQ;;%N zzIrSNoMjMiCvZpuDD!uNoBhay&#N)KjjanQ87y;{5Ns8{UShKT+PuM?RrIfd{5fE} z@b*3ZY&Iv2hYQfzAs8x^GMUNNH3fC|kVl2XX=t+Ai%~pm z7O5(co98NQ-M*sjyD@o|hlh)*Nlp7Nc$03u{bQ6sahl+>HyOaEijjA0a(38P5G)(Q zims1F%hM%jncVoRqBFBdI=)K}ub%lrg`y>y+Z^h}V>x|7uK_CceMh#h0@gRud9kX6 zYZV_BBV)uBQyNg#C(f%^E5N+m$zE8PNX9(JTr^zHx-9AAF_ZprD7x~ZI*rW9slOSn z)+sMggv}McP&oVITha)OC)r5rG}@p%2hR2mQA{M_*GU%=VF%+ag-A8?z3@!%(UYF| z3z&5P7R*puFVQ0^=~95IPd?sDw$?us^QP>XfZ?9Un(HX^f}t^3x95Q)j!_E5I>A1Fhp4lyT#p!`vg9BBPfgQVmSD)R}+&F_B4#3t6$II~$ z&t2gKoGIhS^I}67_+OZ(XNVTV&YXbU3SL-Nr9TRn^By+K6&Le&!sq^+l?)kW~~G-Od8Zq zo>(V5YgzV49LZUD6i5k}o&OThTo*7P7<*^xta18gP%e$SQjZdr;Z^};StE;_E20SQ zP^skqT9Q^tZzN`fFqDQZx&Z+8xb?s0X2!_92lSpIg`}h2g4VYYgL3XA8@**iS1JEB zFf~O=Es-Cjeba6tDj+sWkN>qi-+32p3MaDjoJH^c*Vz1D|85z)jo&{LfTi=30475j z`+uok%g#rK?QcvO?XC73=?ZB3j9umCEOc6$G55)6{fA1}#8*5S?=um?35VX0Mw7jI z98qOnmVT!y@{+JN&p(}_V1Tvysw>gGi244|y#WA+zOmv74=eD}4mIM#PU4wwu19Q!jt+qpz#W>x{~%g&F}E+SDKZoZ(W;-LPQY z1`OPhadHvBj2<^%UDHl0)LQO)4xWTzw%y}<&wL(o2}@#fSHZ3+<;N~$>5?Z$`V$k3 z!X}nR!`DK!;_d&63p)q*3(f(wBFE1wVV)NNJ9U;-bXTx+!qH&hBoNkOX=8#cO!Lz9 zH*THRWY5mqRP*UAKFcti;W~TO`A58Xt=n(*Coc@8UR~{mnqPVPog#D|WfJ=SPq&h> zgm1n_0g>Bh!?-__k!3%7i;Vha7uYWhS+f8s z_97flmKOC=U3n1wB;t4b=+2p6N8$RNPG)Z7_TQeP>u%%TJVprxqQ)tOgphfsjlT=X zsl?#|oxxqTL;0~lT2n>I*Iz2S70F6dIu^4li_mPjmF*LML}V+dmQL!dm42054kDxc z=s$I$iA*#ykkg?vFW;ChcJihO73q%+RvuPaZ0;zkurYe};73G}0{WHmimh(Jov+gND(6HPS)H{Lf${mg^ss)nEYEvn*4S z-cR&5bg{E3aSZv$FlD7+^lEmnzV6XoblNo(6Vk%C{P=9~MjSY64KGiLWQkO_vdiDk z5vLF8O`{gLL#zA?=X_(E{Fr01%SL(7uG6W;pa%7JR{tn=J(0*+DLws=LdS^p~_lKuSZ%rB}GGi{1}Oo)0hkgcVi=NGRjI^9S9X_a&9 z@m9RH$^^VxDZjGxW-4RlK6h$DhKQ> z#{Ng~0c67Wecdhxq#(|IQm$KZs$$LMy5!^dJiGv}N9q|^;5TrF_{=7{Vi15%RzclW zwVOQrb0@Em$^rt=M62ttBPQk zS-IK%xDnGos?%%ym(?DP-D~1mciB8JSWa?yW52-Ze}3veM1g>>X8%H*M5wIWfB?sJ@ zH6=|C$!4f3)R;1=yY(J4*!+QZF5jEg0|de5wxsBs{{2~=wWFh=EwNXsFW%nyJ+rgQ z%g!rQy=_>$oXpN@qLheCxTkM$gz!EC_yDDC=AK`}GUxuq!hSt4;0i)$bd9ZXT)Q&J z4hyl7pspNyO=8pEnTDMN-VRz`rRJ`?Aj=UHbm(02lkG>>d!I|RI`v3SC~-ErJFCeG z6?wg)(cMJulvL>^tf8rGnbzu7{Z07U>o;YobdSH(y;g+&iMqd+*arUXMBk9i{KxJ=Y8&QJ?Ae=^Fb*k zCK_N?r@K>Ya%*dPyhe^lBX{#^YNk%mCq7w-QoJN@Z1HNE8R7Vf)!+z(K(hDVtaZe% z(L5-GM8?awn;nN0u__Sf%|%JF&Sc=Ol&_$Bymt~a@?S4WhvZ*1w=%C|3v~78?UFCyn;(1{-{Ngx2gp%e^C-?meM}n4&qht?EbWlkHy^&C;Vt6_FN}6stX)L91l#>2{MqH$nV-Ios%l) z&~`XUU`hT}vw+lz7E1CGqz*B63Br*W#)WT4lJ;S(Mcsn7z5;1_*Cs8;2EL&$)|uYA zn=w~9B3oIiP_=sEIO=p#bahNh<7y{kCBNOP_dm+=u)CW+y+nCu;@8GylgqRLVp(Q< zObg)L*yg22f#STWA;T_)sXaa}FZ{52WoNS+AiC#ir@?Gm`*!wrBk$8pWg_B5o?P%v2-%i?3(H2V1>hG4DPceqw-T(ccmPN;J(w#kFAZpJ?&0th@Bv&>0Cx(#Ft z_j3eS?2!9e1rLMUS<@Nv9YZ0ky4T!PTW*^3Y0?>6dwSLHDReC)Pn1M??v4od6D7mO zEU1r(Gv670A6LA0EOLNh9Acn&VKv#svK%52#bmc)me4ykN5MsRY)PiO^Hq-akyE(# zA_e$xcj5T@EC=Do*sYeZ%64wUalvJgBB<^_vs*g4YJYebf?|3~D#>Mf`YL_Cto$;| zvCP;F&z1R+He`JKx)a$) zWsecLsWy&wd!V&bu&NEiR9+(oNR6p(%co3gZmt4fO zsy(+?2()ee>c)hg4l2kvcdT&Hvdz;W-0k&UN6s91&%sK0#I8D~d9{|7uZ9-7S?)(P zsrbnq`jf~7Fr4kd?0tEpG7Wq4meqDGe15C8R$X55juqxX+vQK`Bw_xU4{d+GQo;Pa z?a%LaURC=$o;HB8-VgwKuG0Y9?D+4fqC}ys=hUk%OMyW4cYb{mdWqpgX$&DgXEj`Y z2y}HJuMOP`YX$C*{oh%hpP-4Tmlt*sokTPmorLmUDh>sf1_(XWDX1BAqu%yEB?m$8 zFwflPB|MZGyT`Ig*1|x3*&d`iTh$%`^9O~t$%7iAT{B;9GB#&H1+gc=joGfP^L9K8 zGiL+1T6OR!aN9KyYj~&OY(zi7n{jiMN#__OHN4Lr$Oh0vrvm;L1EwwD9NVKkFQi3h zQftWdT~mxh11*jgWS?4Z2$g4O6SqeN0Ts%69xi4)<6usCuxv({a8p5yaUg9;hXJj( zQo9};VVYcskbQDcs#R}3v{K7gTFktKI?i&bMpIMAS1xE;;_8j+{YZxMV8h=x1*xH} z^AVdnCWND2-qdcOar(C-w^iKryWvW3jN5fujr*I)SaRb6;TRaR;UMEob+1X-7mXX? z`g~D~w0vCvIXCu!-=RNCM7lJxZPhze4?2*+vQF~5{_=Rd5Y>?2o%b&TUjg;qd@3A7Sa0Xo+@0E`- zVGi$<+`f<5bYU>rWRg!f+(IhCUo4gHo`lt|X|-KGoG7~2mZ77?U(ky6W7xlsg$miS=`KGr$PD@HW!SdE6t zrw-*P<(Gr!46*Ek7csM+7R5K=DWB8?Pj%Eq484lRwWYVidX(al zgTS)5#9>Tl)UNTkNjZyZ9FV?gU}7TI>$TU^^mKApoS2e}v-5MhpF#j0ZANLSR)KzL z%fz7zX|8HML@Q6HKobZv(o&b%d3KzsXs zir#S;?$J#cDywwr!T@ykG;5guTvXmEGpx{>v0A9&r!rao$!K$>I&7}^)6HjrvV5mQ zjElmG76^ytWURq@T{evG(_%S8%9FtD4Lsz)gg-0S$t)uM=t9Z+uGs!ag@<8i;GM6B zv26cGV3jArrduNdDhrht#@z(us#)OQoCw9V-Rjey=1!j_!&>Jef_6?4t&L`M_?;=G z9(-0i%(epgGVxqiTandO( zL^b4wtl?Dg+Rn_j7!x&Eoq8N)=GBm?*CduGyxpKC8rTwIg_| z;+45yCauvYzsW*~_#DlCQ%u;Hoa;{HUaI^j-@o^GNDC>at)EZ*rwSoFbIH=qAIu)+ z=lWHxoc}g8xhc3v+S+DU1WOmD#B>?$gsjz=EB8vjpDPpujN6KGZ7H=g>1rW?R}@D(Fuz8^A#0~j%(?SCz0c=? zDPg{)6QFMvBLdjXW!KG!m5_0Z+v*h)E~%mQSa$`E(vM)ZWt%If#?d{0OY|8P6*su^%G-U84U@Q)P)1RXJ^To9z+AaoCPk=`N() z+Th?~PH>}}Ohvmk60*>)Q(IxND{Q{a9tv52+x-s#gMOT_E}3dNK)#ZPvf(M7ufSH3=BsSTO zisQhpwH1tlq~n*Etlf72_a#Smdv{kHcOJOgsQlP-sXo+U9YOw7VV-4}d9<+LY9N0! zZq#449*7b$|KRFaE6D0zGF-@itu{DyJe;)F29MpW(TqH;6e8&I|4&K#W`)h!pbDRF zi2BLgE&AexS$m)uWPjQIrel=uk$AaL8)~=-X6+|Joq@ZH$->#qt<54HG_hQGLbN`+ z>w7vnLT%3Sd{H}DbrJJ#UEuC}E9y!Z0iIm*lQX z`?L?}?BY>TcMHo%k%^s+v=jxf>eV?uSQe||@(wh0UTap%RYxME0C&G>E&P{A80jG+ zC#gawSC0(sbJ`kk>OWej%+nfXM8V9X^T&yKM(lmp^P;OUmFzd)85PxSNc+Z@bdernbTkWRGHx4ugPk0BZN`h*;fZbXM-r;cvz9$c zakdJ*rPplDC}iyD`y-y%kBB@S4w80#v#B(Z;Oa$eoj|tk|4udNB0%; zMTlYtlPo1Oeq1a3CW-Q+$#IF$U`pG5@gdmczth>mQxktnoI+Gb#6XY9h|YWBzgUKDfFgnOZ6Mv*4xA%tVfD@%ttPV zq09ML^8gugZ}@#q8;Jwp=`R65a`OOusV*a5m0Yu}r`Kud-&pt--^=}RKg`LY5~$rKZ>U#le;G z3t*7<+JQrVJ1|jBB=cL4*blAZS`NhF4Uxvsa$}wrE(q!#Z`NF*+g`>@>l^3Tom}c`(SZ=bYYC{>7zTT6id+R>pnZgS+AD&=;qoG}qOqMb7ds9i4Nzqn^KjtVsh# zq(QAiWp4yU;zkU_Yd^jzW}dA%+?pijVl~njJn0I9u)5P8gKl?Th0|^)NZ1Lrb1!hI zv_={&b}^ZFQ1e{Aw#v=qZho5tW8@=&yq7EsK-q^qN`X4=s5ib^&}D9gJQ*{=KYR#Q zZi*n8^)Ea_K)SmYbNnYx$JTqHz_|NPgBfS&c~n*i_HWY06iGKWasAw7{2%FkC8s+!* z@GKJg^Mv0l8K>m~xr7Z%0OBJ+<}LSAPrYctnFGu_Vq(IC@ML;4rizH-dYxUB#kHA zJS*o{K1mLGgHBa7qDVN!zCxY7Y`RY=s)*Z0URyA`!7SC)(gIq{IPHmkXSCq1tDIgr z0*`@{_DlzX9B{*a`@*02|Fpq35r7t7nMAsJnU)WMIGMucMyShG_tqyv3_n?SMDl54 z@DG>?NkNAEI$D5OQ|N-zb<1Sk4)@KRtIEt#DEvH15J4k=Xw5uC$I}+PBFV^isTxKsv9yh>kA57(oq_+CsyJAIAhhys+85!B* zG=xZZ<6so;z#=OJZBKNbe9eo}z+vSt;E+mmyD5tv`|8Xlj(NX;J^gHj82eYi23cj{ z5+2(16h6NxtP{}&uS{E#Kc7ua_%U%%?LQn(k4a%l)r7Xc{P`V`3}13(?Y=?p0Tq|| zq!V*I!D(bQQEK#&&Pt3#!q15RQ+82(ihpLD7E@3%<-F9jSKdiGJz%&0J!kge{L%8D zWrD+6lm;K_9X}38)R$l6`+iq`{`cr`1%W5C$Y_Z)@DZ+=LUl^(jk;sg0z`DCPk++A zjb)EOxWnY+%}R&y?An=B-HdbIc;?bXE1m-+w22Xl&G@lC z5t9=k=cr}sRe8U*=CVCuwzhm(MjhPjCLk^)MRBW^U0>&k+on~ij_>NJ@~j{f*zH<{ z)Ec^uUey&jZbLFm|54fz6i1FMmel$ke(QJLNewFEVq_HIByC&FZPRy>rry=3JV3$} zx=%MXGi~eoJxsn|ltqjcc+3{;9eMOR44FwGGL>U^Zo=VBQ*{Sk`31NM_5J7&yA( zQFop7$KyAF8U{=z?wREksuyMD4Bk(n2MnNVmaI=wOa^yk!C1jW_=03F+aX8;{q7YuIRNy8RlJCx3fe;)~s=m zJpkD&XRXJTcS=skM;-5BC5DE#y!mGwPrxS2P~D*0&T?i$3S)6jwNAHyR7iQ_=09*w zTNM^Eh#ugSfbz)WWey-p-ey;_jOD@Rlx6yGmGt$}&u+QFb+e`E z^1eGhYApEGM6{euc}mRY;RFW5v@r&_9$W4}{1f33JMDp30GQ|pmC(v`hd^_FKB5Ev zM7SYSFG|m4(rKyd1&(1>lzAY!%fJ00C3m-iyMV`*_2MHh+uwP6`}y9K4(IE5LvET~ zf5aClDdrHA@&9739MFx5w$dJXsd>rWlFDKU{CyQrD7H`xd3?Od_qsj6$cYiN`cRoC zp}joJM<#?Gy>-}vsi>SjSSE&4F)HpnPK2*_#0(M_tK)&R4iqpCz*SqUsPhQYJaDm|i}j7+urCY$kz1=y zK4%f}Qh@Lti#gNrw?`}mOm@n3X_1GNP2J}>} zu#t~}V4Bno-rX!|X?H!`5c{jUPRC7VO;Oj9S(#F>{cmMfBioQS0_={;ake8W3){_S zID#QV5MC1+AU zIZpZ9uAh^Jb$#wHgZPBJ0<0Zb|Gy+wUb&HZt=3CJTEdlGqdX>aQvcQn|Hr#`QCZ98 zac`k!>rjPiKHyvrTsYm8k8EptCM~9x9Jg}N!XYaX?=yZaFT^0U(M<*9T|aE(9V%DS z{hqD*o$fDlD>M&aL*#S35xsk~lqvY)VEjG!xO`R4=2tMf<@B(uB=dIl<6pN!Xo&e)oGf_IrV-E$ES+-_Y*U zk{@^RQ9A23{(~$5*k9Qx!G(~7TkivsxY&5Q<*`2&k{RV!b}e&9PQ+y@_LFjZ#gE$% zh~352wZm0Ao`Q6AWM1)z@)B~lxnPlnRs$?I*MEPBe&RqC83RiiO><1GRRI!B7wscH zY8vKZp}esAio86$J*%&ehkPK*U zrH~Dn9e|&@7V9|sF^yy$Be2?CUzQ;Fp&2F%6S&*DGmR_V(wcJ=A$A}Z_QkAv$v%sT zNs}!+YLsJia+z0^&=(A|=-gdemSDj?wJRvp_FhN0?C^cfzDE}{?J*4`6sDCMS}S!7 zsz&Ll*S%3v@=uxpfe2QC=M0(K=46xBhp?_&_n9m!Hamvj)h~KtV0b5EU*#P_kF;HO zk%@;p+8DO(gnZg_eeQL^SfNfN+J0ZZX;6MNA_N*bAv1g9_SbA7M2gpH=xQ%?e|prZ z`R06t<@NO7k8Q&8!zcAt6#1uh9Bv2Yg8O?hvfei-`S`g6&G4SD5)@Zc;L5RE8>syZ*19)dLJZ!SY0~VR77o&bUCG4}oPlGFe?G&J6?mZ4IF{J!DAt zwXL62k^zEKTqfeU8A3t1(TmF_?$0?5t8YLegb*&IVJ}598cEA8ITXQ&q>3w?nHJ@H)Rg9%7{uSSe*!XD0(4dL<$cCN@J6n$7s!KV} zQ)g+PwGuOZl5;>%Too_PYa#TbXZTIf1JB{2(H+&I?Tc$gd+Ai_QW?@7`;qlrR zX-|=oI*w_N58c?+omwG8-ag+vR#*r0h-FQR652=$&J0`kXJ{Me|$24<`KT?#ul>kUW1gq#R%nZDL1997rx+D1ZJd zL#Lk?E9~gZQT1>oB4u({Vad!qYhudSGNE_q6GWMt(5`b_ztnkC-@&DR|IKly@uq@Rb+fMM3)Td-jGPdU4Byu7xu

      (0xjs`D=k9`qp_OH z9`%s*D0}ppAOg}u8JMTjznpeBBu<INRy{n_ z7*9dY!hRP7#{=%lyh?;`|D((=IK6H(gp`TGSh^`{-4i0Vtj zW;wyyMcxUC{3&05%JCZL)WdKhUV(O?4>bJ@Gvrfn1EI*Q-eJVa+^S-4Yfl9`;Gr{l zNORBPCl^`)@QOh6hok(3#8sJQHHS!pWt1MeBYBLN)Iky5klUdaLW*ggyM=;C+FcZE}$D-%xy4E`+2SnBWh81J)!y!D>B+}CEF9oK$K zn9f)g8-$Fq!cVWb^e*-MV3^J7F-j4Gn{q)~9bbu6JJwE8)&U>s;1XTxH_)vxe|SWzSS= zV~6$`#&09GOBT65$|H2a?P+iHmZfJQhnGroeY25~ec>yK*ETPT*p#LZVaynu;iitI z_Be8qFJ%4pdfu{rxje(W3qoc zQ|(x6ezW!4k^MS2MTQ$@%RV)7(uPRUEjXt=5t{lbip9EHff`_j8C_XXaUi!~ZS-L& zlj`+HEsok~ffwj#uP4HYuc$l4FT1YQa`+RClPh3M7>}sh5m*bP$hR}llbV0?8n^Ca zO7Cq7(&sc|tc;9w9R4WW3YiU7K@w}VLhbGu zXtk3vpFS}rfFUtcBqhL1&cxobZ*9LgH18@L^6^67W{r_ENrhm5;qpo+c9%}EPtxf8GeEU3c6HdK*} z2ITduoT6S{)28F@{)Qc`R?Kwm;7jyiR@X}!SsR<*=)POx0k6!;UqPt=g?Rajgcn+I zx8GC_)R25N&;-`I!-8Vq2Qg?5GR!;?ihRFrwJ44je_>Vzqun;Q^US?Po0s&=_Xq^q zeaATJwj)RhGNU)|0%_b*)%K?1lT!kZGZ~?Ip4(Ie*?~ZTPiR0xrAg8ZoNQ$v&|c9h z5HoRhJsEmUQ8jt;rcK;Nl6gW0ojOpws`oe6WA;PtIm6QGE7A*s)10k;)nkQGpmO(# zbE_k*J)KtmS$hqJr%=kb@zY+g-JvO~Mk#5C|J}XAvyz`}@m3Uu`NspUF5Qi+!(YI1 zR!~O0O7^<}s%GcUD){;rbO1jTgZ=%p(&s^UGDx&_>C|D-PxkR=#V-`po)tcM`{n-u Di}RWG literal 94578 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 z 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 diff --git a/icons/mob/inhands/weapons/axes_lefthand.dmi b/icons/mob/inhands/weapons/axes_lefthand.dmi index 584ca2b2290e0beaa857a472386dac53b99273ff..accff4a2bb7f15276da72fa63f624248df5316bb 100644 GIT binary patch delta 4500 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 diff --git a/icons/obj/weapon/axe.dmi b/icons/obj/weapon/axe.dmi index 46d9982ab5f22aeb816156f21c045f2d126c88cf..ff735abf5ebe9948a32ad201daac7da30246eac9 100644 GIT binary patch literal 3461 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 Tyb^!^Du9KFjdA@I&)EM04#0_5 literal 3082 zcmZuzYdq79`~I5q(6)z^456IQB1wo*WQbBZgR{Bs^NriKMM(W4P zozJD2b}cmJ&L)(bdTV;EYYQ69tM%(_D!^iYihioQpMJpzcN+l2B<&DqFJWG-k`kN` z4j*Lpf`n41lr*RUFfdoyvJVP%wuYZTK7ZCJ#RyOt>S?ztD+5C^ z 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 From b7f1fc0866c110acbdd2e087a3f2815b5e443fac Mon Sep 17 00:00:00 2001 From: rye-rice <58402542+rye-rice@users.noreply.github.com> Date: Fri, 29 Nov 2024 12:20:09 -0800 Subject: [PATCH 294/344] Factional Cargo, done in a day (#3758) Split off from Overmap Expansion # 5 This was done in a day. Yes. This Thing that has been anticipated for 2-3 years was done in a day. How did I even accomplish this? While attempting to unhardcode cargo/clean up outpost code, I noticed that factional cargo was actually really easy to do. So I did it. If I really wanted to be fancy, I could take 12 months to code cargo from scratch. But this was easier. So I did it. huge thanks to @firebudgy for coding support and adding more stuff to factional cargo instead of this just being a bare framework ![November 12 2024 462](https://github.com/user-attachments/assets/49e8e086-767b-4f8b-abbf-375e4d61d822) ![November 12 2024 461](https://github.com/user-attachments/assets/6777d7d5-a7d1-48d7-9eb1-57685123dae1) ![November 12 2024 460](https://github.com/user-attachments/assets/95df2b56-f499-4895-8600-28dbfebae145) :cl: rye-rice, firebudgy add: Factional cargo. del: the remminants of the P16 as it was already completely removed in Serene Sporting balance: Sporter is now 400 credits. /:cl: --------- Signed-off-by: rye-rice <58402542+rye-rice@users.noreply.github.com> Signed-off-by: Mark Suckerberg Co-authored-by: retlaw34 <58402542+retlaw34@users.noreply.github.com> Co-authored-by: Mark Suckerberg --- check_regex.yaml | 2 +- code/controllers/subsystem/shuttle.dm | 15 - .../objects/items/storage/filled_guncases.dm | 143 +++++- code/modules/cargo/console.dm | 159 +++--- code/modules/cargo/order.dm | 7 +- code/modules/cargo/packs.dm | 4 +- code/modules/cargo/packs/civilian.dm | 2 +- code/modules/cargo/packs/costumes_toys.dm | 2 +- code/modules/cargo/packs/food.dm | 2 +- code/modules/cargo/packs/gun.dm | 464 +++++++++++++++--- code/modules/cargo/packs/magazines.dm | 121 ++++- code/modules/cargo/packs/material.dm | 3 +- code/modules/cargo/packs/medical.dm | 16 +- code/modules/cargo/packs/sec_supply.dm | 50 +- code/modules/cargo/packs/spacesuit_armor.dm | 11 +- code/modules/events/stray_cargo.dm | 76 --- code/modules/faction/faction_datum.dm | 23 + .../overmap/objects/outpost/outpost.dm | 18 + .../overmap/objects/outpost/outpost_types.dm | 1 + .../projectiles/guns/ballistic/assault.dm | 28 -- .../reagents/reagent_containers/bottle.dm | 5 + .../spells/spell_types/rightandwrong.dm | 2 +- shiptest.dme | 1 - .../OutpostCommunications/Catalog.js | 22 +- 24 files changed, 865 insertions(+), 312 deletions(-) delete mode 100644 code/modules/events/stray_cargo.dm diff --git a/check_regex.yaml b/check_regex.yaml index 95d3738da5dc..335b1b005c74 100644 --- a/check_regex.yaml +++ b/check_regex.yaml @@ -31,7 +31,7 @@ standards: - exactly: [4, "/mob text paths", '"/mob'] - exactly: [33, "/obj text paths", '"/obj'] - exactly: [0, "/turf text paths", '"/turf'] - - exactly: [114, "text2path uses", "text2path"] + - exactly: [113, "text2path uses", "text2path"] - exactly: [18, "world<< uses", 'world[ \t]*<<'] - exactly: [0, "world.log<< uses", 'world.log[ \t]*<<'] diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index 8414e75d82fc..7604fd6dc538 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -30,23 +30,11 @@ SUBSYSTEM_DEF(shuttle) /// Whether express consoles are blocked from ordering anything or not var/supplyBlocked = FALSE - /// Order number given to next cargo order - var/ordernum = 1 - /// List of all singleton supply pack instances - var/list/supply_packs = list() /// Stops ALL shuttles from being able to move var/lockdown = FALSE /datum/controller/subsystem/shuttle/Initialize(timeofday) - ordernum = rand(1, 9000) - - for(var/pack in subtypesof(/datum/supply_pack)) - var/datum/supply_pack/P = new pack() - if(!P.contains) - continue - supply_packs[P.type] = P - for(var/obj/docking_port/stationary/stationary_port as anything in stationary) stationary_port.load_roundstart() CHECK_TICK @@ -194,10 +182,7 @@ SUBSYSTEM_DEF(shuttle) transit_requesters = SSshuttle.transit_requesters if (istype(SSshuttle.transit_request_failures)) transit_request_failures = SSshuttle.transit_request_failures - if (istype(SSshuttle.supply_packs)) - supply_packs = SSshuttle.supply_packs - ordernum = SSshuttle.ordernum lockdown = SSshuttle.lockdown /datum/controller/subsystem/shuttle/proc/is_in_shuttle_bounds(atom/A) diff --git a/code/game/objects/items/storage/filled_guncases.dm b/code/game/objects/items/storage/filled_guncases.dm index cc432f85b0b3..c61a56114973 100644 --- a/code/game/objects/items/storage/filled_guncases.dm +++ b/code/game/objects/items/storage/filled_guncases.dm @@ -23,6 +23,9 @@ /obj/item/storage/guncase/pistol/shadow gun_type = /obj/item/gun/ballistic/revolver/shadow +/obj/item/storage/guncase/pistol/ashhand + gun_type = /obj/item/gun/ballistic/revolver/ashhand + /obj/item/storage/guncase/hellfire gun_type = /obj/item/gun/ballistic/shotgun/hellfire @@ -52,6 +55,14 @@ /obj/item/storage/guncase/absolution gun_type = /obj/item/gun/ballistic/shotgun/flamingarrow/absolution +/obj/item/storage/guncase/firestorm + gun_type = /obj/item/gun/ballistic/automatic/smg/firestorm + mag_type = /obj/item/ammo_box/magazine/c45_firestorm_mag + +/obj/item/storage/guncase/vickland + gun_type = /obj/item/gun/ballistic/automatic/marksman/vickland + mag_type = /obj/item/ammo_box/vickland_a308 + /* Scarbourough */ /obj/item/storage/guncase/pistol/a357 @@ -86,6 +97,34 @@ gun_type = /obj/item/gun/ballistic/automatic/marksman/boomslang/indie mag_type = /obj/item/ammo_box/magazine/boomslang/short +/obj/item/storage/guncase/boomslangmilitary + gun_type = /obj/item/gun/ballistic/automatic/marksman/boomslang + mag_type = /obj/item/ammo_box/magazine/boomslang/short + +/obj/item/storage/guncase/rattlesnake + gun_type = /obj/item/gun/ballistic/automatic/pistol/rattlesnake + mag_type = /obj/item/ammo_box/magazine/m9mm_rattlesnake + +/obj/item/storage/guncase/bulldog + gun_type = /obj/item/gun/ballistic/shotgun/automatic/bulldog + mag_type = /obj/item/ammo_box/magazine/m12g_bulldog + +/obj/item/storage/guncase/sidewinder + gun_type = /obj/item/gun/ballistic/automatic/smg/sidewinder + mag_type = /obj/item/ammo_box/magazine/m57_39_sidewinder + +/obj/item/storage/guncase/hydra + gun_type = /obj/item/gun/ballistic/automatic/assault/hydra + mag_type = /obj/item/ammo_box/magazine/m556_42_hydra + +/obj/item/storage/guncase/sbr80 + gun_type = /obj/item/gun/ballistic/automatic/assault/hydra/dmr + mag_type = /obj/item/ammo_box/magazine/m556_42_hydra/small + +/obj/item/storage/guncase/taipan + gun_type = /obj/item/gun/ballistic/automatic/marksman/taipan + mag_type = /obj/item/ammo_box/magazine/sniper_rounds + /* Etherbor */ /obj/item/storage/guncase/pistol/kalixpistol @@ -96,6 +135,18 @@ gun_type = /obj/item/gun/energy/kalix mag_type = /obj/item/stock_parts/cell/gun/kalix +/obj/item/storage/guncase/energy/bg16 + gun_type = /obj/item/gun/energy/kalix/pgf + mag_type = /obj/item/stock_parts/cell/gun/pgf + +/obj/item/storage/guncase/energy/hbg7 + gun_type = /obj/item/gun/energy/kalix/pgf/heavy + mag_type = /obj/item/stock_parts/cell/gun/pgf + +/obj/item/storage/guncase/energy/hbg7l + gun_type = /obj/item/gun/energy/kalix/pgf/heavy/sniper + mag_type = /obj/item/stock_parts/cell/gun/pgf + /* Serene Outdoors Guns */ /obj/item/storage/guncase/pistol/m17 @@ -124,12 +175,32 @@ gun_type = /obj/item/gun/ballistic/automatic/powered/gauss/modelh mag_type = /obj/item/ammo_box/magazine/modelh +/obj/item/storage/guncase/pistol/pistolec + gun_type = /obj/item/gun/ballistic/automatic/pistol/solgov + mag_type = /obj/item/ammo_box/magazine/pistol556mm + +/obj/item/storage/guncase/ssg669 + gun_type = /obj/item/gun/ballistic/rifle/solgov + mag_type = /obj/item/ammo_box/a858 + +/obj/item/storage/guncase/claris + gun_type = /obj/item/gun/ballistic/automatic/powered/gauss/claris + mag_type = /obj/item/ammo_box/amagpellet_claris + +/obj/item/storage/guncase/gar + gun_type = /obj/item/gun/ballistic/automatic/powered/gauss/gar + mag_type = /obj/item/ammo_box/magazine/gar + /* VI */ /obj/item/storage/guncase/pistol/commander gun_type = /obj/item/gun/ballistic/automatic/pistol/commander mag_type = /obj/item/ammo_box/magazine/co9mm +/obj/item/storage/guncase/vector + gun_type = /obj/item/gun/ballistic/automatic/smg/vector + mag_type = /obj/item/ammo_box/magazine/smgm9mm + /* Sharplite */ /obj/item/storage/guncase/pistol/miniegun @@ -148,11 +219,24 @@ /obj/item/storage/guncase/energy/iongun gun_type = /obj/item/gun/energy/ionrifle +/obj/item/storage/guncase/hades + gun_type = /obj/item/gun/energy/e_gun/hades + mag_type = /obj/item/stock_parts/cell/gun/upgraded + /* Old NT */ + /obj/item/storage/guncase/wt550 gun_type = /obj/item/gun/ballistic/automatic/smg/wt550 mag_type = /obj/item/ammo_box/magazine/wt550m9 +/obj/item/storage/guncase/gauss + gun_type = /obj/item/gun/ballistic/automatic/powered/gauss + mag_type = /obj/item/ammo_box/magazine/gauss + +/obj/item/storage/guncase/saber + gun_type = /obj/item/gun/ballistic/automatic/smg/skm_carbine/saber + mag_type = /obj/item/ammo_box/magazine/smgm9mm + /* Minutemen */ /obj/item/storage/guncase/pistol/cm23 @@ -167,6 +251,56 @@ gun_type = /obj/item/gun/ballistic/automatic/pistol/cm357 mag_type = /obj/item/ammo_box/magazine/cm357 +/obj/item/storage/guncase/cm5 + gun_type = /obj/item/gun/ballistic/automatic/smg/cm5 + mag_type = /obj/item/ammo_box/magazine/cm5_9mm + +/obj/item/storage/guncase/cm82 + gun_type = /obj/item/gun/ballistic/automatic/assault/cm82 + mag_type = /obj/item/ammo_box/magazine/p16 + +/obj/item/storage/guncase/cmf4 + gun_type = /obj/item/gun/ballistic/automatic/marksman/f4 + mag_type = /obj/item/ammo_box/magazine/f4_308 + +/obj/item/storage/guncase/cm15 + gun_type = /obj/item/gun/ballistic/shotgun/cm15 + mag_type = /obj/item/ammo_box/magazine/cm15_12g + +/obj/item/storage/guncase/cmf90 + gun_type = /obj/item/gun/ballistic/automatic/marksman/f90 + mag_type = /obj/item/ammo_box/magazine/f90 + +/obj/item/storage/guncase/cm40 + gun_type = /obj/item/gun/ballistic/automatic/hmg/cm40 + mag_type = /obj/item/ammo_box/magazine/cm40_762_40_box + +/* Inteq */ + +/obj/item/storage/guncase/skm_inteq + gun_type = /obj/item/gun/ballistic/automatic/assault/skm/inteq + mag_type = /obj/item/ammo_box/magazine/skm_762_40 + +/obj/item/storage/guncase/commissioner + gun_type = /obj/item/gun/ballistic/automatic/pistol/commander/inteq + mag_type = /obj/item/ammo_box/magazine/co9mm + +/obj/item/storage/guncase/mongrel + gun_type = /obj/item/gun/ballistic/automatic/smg/skm_carbine/inteq + mag_type = /obj/item/ammo_box/magazine/smgm10mm + +/obj/item/storage/guncase/mastiff + gun_type = /obj/item/gun/ballistic/shotgun/automatic/bulldog/inteq + mag_type = /obj/item/ammo_box/magazine/m12g_bulldog + +/obj/item/storage/guncase/kingsnake + gun_type = /obj/item/gun/ballistic/automatic/pistol/rattlesnake/inteq + mag_type = /obj/item/ammo_box/magazine/m9mm_rattlesnake + +/obj/item/storage/guncase/ssg04 + gun_type = /obj/item/gun/ballistic/automatic/marksman/f4/inteq + mag_type = /obj/item/ammo_box/magazine/f4_308 + /* idk */ /obj/item/storage/guncase/pistol/disposable @@ -174,11 +308,10 @@ new /obj/item/gun/ballistic/automatic/pistol/disposable(src) new /obj/item/gun/ballistic/automatic/pistol/disposable(src) -/obj/item/storage/guncase/p16 - gun_type = /obj/item/gun/ballistic/automatic/assault/p16 - mag_type = /obj/item/ammo_box/magazine/p16 - - /obj/item/storage/guncase/skm gun_type = /obj/item/gun/ballistic/automatic/assault/skm mag_type = /obj/item/ammo_box/magazine/skm_762_40 + +/obj/item/storage/guncase/skm_lmg + gun_type = /obj/item/gun/ballistic/automatic/hmg/skm_lmg + mag_type = /obj/item/ammo_box/magazine/skm_762_40/drum diff --git a/code/modules/cargo/console.dm b/code/modules/cargo/console.dm index c992b60c762b..c7b1d0987bed 100644 --- a/code/modules/cargo/console.dm +++ b/code/modules/cargo/console.dm @@ -13,6 +13,8 @@ circuit = /obj/item/circuitboard/computer/cargo light_color = COLOR_BRIGHT_ORANGE + /// The ship we reside on for ease of access + var/datum/overmap/ship/controlled/current_ship var/contraband = FALSE var/self_paid = FALSE var/safety_warning = "For safety reasons, the automated supply shuttle \ @@ -47,7 +49,6 @@ obj_flags |= EMAGGED else obj_flags &= ~EMAGGED - generate_pack_data() /obj/machinery/computer/cargo/Destroy() if(beacon) @@ -77,6 +78,9 @@ board.obj_flags |= EMAGGED update_static_data(user) +/obj/machinery/computer/cargo/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) + current_ship = port.current_ship + /obj/machinery/computer/cargo/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) if(!ui) @@ -85,21 +89,23 @@ if(!charge_account) reconnect() +/obj/machinery/computer/cargo/ui_static_data(mob/user) + . = ..() + var/outpost_docked = istype(current_ship.docked_to, /datum/overmap/outpost) + if(outpost_docked) + generate_pack_data() + else + supply_pack_data = list() + /obj/machinery/computer/cargo/ui_data(mob/user) var/canBeacon = beacon && (isturf(beacon.loc) || ismob(beacon.loc))//is the beacon in a valid location? var/list/data = list() - // not a big fan of get_containing_shuttle - var/obj/docking_port/mobile/D = SSshuttle.get_containing_shuttle(src) - var/datum/overmap/ship/controlled/ship - var/outpost_docked = FALSE - if(D) - ship = D.current_ship - outpost_docked = istype(ship.docked_to, /datum/overmap/outpost) - - data["onShip"] = !isnull(ship) - data["numMissions"] = ship ? LAZYLEN(ship.missions) : 0 - data["maxMissions"] = ship ? ship.max_missions : 0 + var/outpost_docked = istype(current_ship.docked_to, /datum/overmap/outpost) + + data["onShip"] = !isnull(current_ship) + data["numMissions"] = current_ship ? LAZYLEN(current_ship.missions) : 0 + data["maxMissions"] = current_ship ? current_ship.max_missions : 0 data["outpostDocked"] = outpost_docked data["points"] = charge_account ? charge_account.account_balance : 0 data["siliconUser"] = user.has_unlimited_silicon_privilege && check_ship_ai_access(user) @@ -120,9 +126,7 @@ else if (use_beacon && !canBeacon) message = "BEACON ERROR: MUST BE EXPOSED"//beacon's loc/user's loc must be a turf data["message"] = message - if(!supply_pack_data) - generate_pack_data() - stack_trace("You didn't give the cargo tech good advice, and he ripped the manifest. As a result, there was no pack data for [src]") + data["supplies"] = supply_pack_data if (cooldown > 0)//cooldown used for printing beacons cooldown-- @@ -130,11 +134,11 @@ data["shipMissions"] = list() data["outpostMissions"] = list() - if(ship) - for(var/datum/mission/M as anything in ship.missions) + if(current_ship) + for(var/datum/mission/M as anything in current_ship.missions) data["shipMissions"] += list(M.get_tgui_info()) if(outpost_docked) - var/datum/overmap/outpost/out = ship.docked_to + var/datum/overmap/outpost/out = current_ship.docked_to for(var/datum/mission/M as anything in out.missions) data["outpostMissions"] += list(M.get_tgui_info()) @@ -222,49 +226,49 @@ printed_beacons++//printed_beacons starts at 0, so the first one out will be called beacon # 1 beacon.name = "Supply Pod Beacon #[printed_beacons]" if("add") - var/area/ship/current_area = get_area(src) - var/datum/supply_pack/pack = SSshuttle.supply_packs[text2path(params["id"])] - if( \ - !pack || !charge_account?.has_money(pack.cost) || !istype(current_area) || \ - !istype(current_area.mobile_port.current_ship.docked_to, /datum/overmap/outpost) \ - ) - return + var/datum/overmap/outpost/current_outpost = current_ship.docked_to + if(istype(current_ship.docked_to)) + var/datum/supply_pack/current_pack = locate(params["ref"]) in current_outpost.supply_packs + var/same_faction = current_pack.faction ? current_pack.faction.allowed_faction(current_ship.faction_datum) : FALSE + var/total_cost = (same_faction && current_pack.faction_discount) ? current_pack.cost - (current_pack.cost * (current_pack.faction_discount * 0.01)) : current_pack.cost + if(!current_pack || !charge_account?.has_money(total_cost)) + return - var/turf/landing_turf - if(!isnull(beacon) && use_beacon) // prioritize beacons over landing in cargobay - landing_turf = get_turf(beacon) - beacon.update_status(SP_LAUNCH) - else if(!use_beacon)// find a suitable supplypod landing zone in cargobay - var/list/empty_turfs = list() - if(!landingzone) - reconnect() + var/turf/landing_turf + if(!isnull(beacon) && use_beacon) // prioritize beacons over landing in cargobay + landing_turf = get_turf(beacon) + beacon.update_status(SP_LAUNCH) + else if(!use_beacon)// find a suitable supplypod landing zone in cargobay + var/list/empty_turfs = list() if(!landingzone) - WARNING("[src] couldnt find a Ship/Cargo (aka cargobay) area on a ship, and as such it has set the supplypod landingzone to the area it resides in.") - landingzone = get_area(src) - for(var/turf/open/floor/T in landingzone.contents)//uses default landing zone - if(T.is_blocked_turf()) - continue - empty_turfs += T - CHECK_TICK - landing_turf = pick(empty_turfs) - - // note that, because of CHECK_TICK above, we aren't sure if we can - // afford the pack, even though we checked earlier. luckily adjust_money - // returns false if the account can't afford the price - if(landing_turf && charge_account.adjust_money(-pack.cost, CREDIT_LOG_CARGO)) - var/name = "*None Provided*" - var/rank = "*None Provided*" - if(ishuman(usr)) - var/mob/living/carbon/human/H = usr - name = H.get_authentification_name() - rank = H.get_assignment(hand_first = TRUE) - else if(issilicon(usr)) - name = usr.real_name - rank = "Silicon" - var/datum/supply_order/SO = new(pack, name, rank, usr.ckey, "") - new /obj/effect/pod_landingzone(landing_turf, podType, SO) - update_appearance() // ?????????????????? - return TRUE + reconnect() + if(!landingzone) + WARNING("[src] couldnt find a Ship/Cargo (aka cargobay) area on a ship, and as such it has set the supplypod landingzone to the area it resides in.") + landingzone = get_area(src) + for(var/turf/open/floor/T in landingzone.contents)//uses default landing zone + if(T.is_blocked_turf()) + continue + empty_turfs += T + CHECK_TICK + landing_turf = pick(empty_turfs) + + // note that, because of CHECK_TICK above, we aren't sure if we can + // afford the pack, even though we checked earlier. luckily adjust_money + // returns false if the account can't afford the price + if(landing_turf && charge_account.adjust_money(-total_cost, CREDIT_LOG_CARGO)) + var/name = "*None Provided*" + var/rank = "*None Provided*" + if(ishuman(usr)) + var/mob/living/carbon/human/H = usr + name = H.get_authentification_name() + rank = H.get_assignment(hand_first = TRUE) + else if(issilicon(usr)) + name = usr.real_name + rank = "Silicon" + var/datum/supply_order/SO = new(current_pack, name, rank, usr.ckey, "", ordering_outpost = current_ship.docked_to) + new /obj/effect/pod_landingzone(landing_turf, podType, SO) + update_appearance() // ?????????????????? + return TRUE if("mission-act") var/datum/mission/mission = locate(params["ref"]) @@ -339,20 +343,35 @@ /obj/machinery/computer/cargo/proc/generate_pack_data() supply_pack_data = list() - for(var/pack in SSshuttle.supply_packs) - var/datum/supply_pack/P = SSshuttle.supply_packs[pack] - if(!supply_pack_data[P.group]) - supply_pack_data[P.group] = list( - "name" = P.group, + + if(!current_ship.docked_to) + return supply_pack_data + + var/datum/overmap/outpost/outpost_docked = current_ship.docked_to + + if(!istype(outpost_docked)) + return supply_pack_data + + for(var/datum/supply_pack/current_pack as anything in outpost_docked.supply_packs) + if(!supply_pack_data[current_pack.group]) + supply_pack_data[current_pack.group] = list( + "name" = current_pack.group, "packs" = list() ) - if((P.hidden)) + if((current_pack.hidden)) continue - supply_pack_data[P.group]["packs"] += list(list( - "name" = P.name, - "cost" = P.cost, - "id" = pack, - "desc" = P.desc || P.name // If there is a description, use it. Otherwise use the pack's name. + var/same_faction = current_pack.faction ? current_pack.faction.allowed_faction(current_ship.faction_datum) : FALSE + var/discountedcost = (same_faction && current_pack.faction_discount) ? current_pack.cost - (current_pack.cost * (current_pack.faction_discount * 0.01)) : null + if(current_pack.faction_locked && !same_faction) + continue + supply_pack_data[current_pack.group]["packs"] += list(list( + "name" = current_pack.name, + "cost" = current_pack.cost, + "discountedcost" = discountedcost ? discountedcost : null, + "discountpercent" = current_pack.faction_discount, + "faction_locked" = current_pack.faction_locked, //this will only show if you are same faction, so no issue + "ref" = REF(current_pack), + "desc" = (current_pack.desc || current_pack.name) + (discountedcost ? "\n-[current_pack.faction_discount]% off due to your faction affiliation.\nWas [current_pack.cost]" : "") + (current_pack.faction_locked ? "\nYou are able to purchase this item due to your faction affiliation." : "") // If there is a description, use it. Otherwise use the pack's name. )) /obj/machinery/computer/cargo/retro diff --git a/code/modules/cargo/order.dm b/code/modules/cargo/order.dm index 2e176efdbafc..010e4e3d0ef7 100644 --- a/code/modules/cargo/order.dm +++ b/code/modules/cargo/order.dm @@ -15,15 +15,18 @@ var/reason var/datum/supply_pack/pack var/datum/bank_account/paying_account + var/datum/overmap/outpost/ordering_outpost -/datum/supply_order/New(datum/supply_pack/pack, orderer, orderer_rank, orderer_ckey, reason, paying_account) - id = SSshuttle.ordernum++ +/datum/supply_order/New(datum/supply_pack/pack, orderer, orderer_rank, orderer_ckey, reason, paying_account, ordering_outpost) src.pack = pack src.orderer = orderer src.orderer_rank = orderer_rank src.orderer_ckey = orderer_ckey src.reason = reason src.paying_account = paying_account + src.ordering_outpost = ordering_outpost + if(src.ordering_outpost) + id = src.ordering_outpost.ordernum++ if(pack) SSblackbox.record_feedback("nested tally", "crate_ordered", 1, list(pack.name, "amount")) SSblackbox.record_feedback("nested tally", "crate_ordered", pack.cost, list(pack.name, "cost")) diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index e6555fc58b6e..4e26a713a6b2 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -10,11 +10,9 @@ var/admin_spawned = FALSE var/small_item = FALSE //Small items can be grouped into a single crate. - var/faction - /* to be implmented + var/datum/faction/faction var/faction_discount = 15 var/faction_locked = FALSE - */ /datum/supply_pack/proc/generate(atom/A, datum/bank_account/paying_account) var/obj/structure/closet/crate/C diff --git a/code/modules/cargo/packs/civilian.dm b/code/modules/cargo/packs/civilian.dm index 61be8f4bfdbc..9e0e8c7af6f7 100644 --- a/code/modules/cargo/packs/civilian.dm +++ b/code/modules/cargo/packs/civilian.dm @@ -78,7 +78,7 @@ contains = list(/obj/item/storage/box/fountainpens) crate_name = "calligraphy crate" crate_type = /obj/structure/closet/crate/wooden - faction = FACTION_SOLGOV + faction = /datum/faction/solgov /datum/supply_pack/civilian/wrapping_paper name = "Festive Wrapping Paper Crate" diff --git a/code/modules/cargo/packs/costumes_toys.dm b/code/modules/cargo/packs/costumes_toys.dm index 4d24698480f5..03d8cffd0368 100644 --- a/code/modules/cargo/packs/costumes_toys.dm +++ b/code/modules/cargo/packs/costumes_toys.dm @@ -151,7 +151,7 @@ /obj/item/lipstick/random) crate_name = "formalwear crate" crate_type = /obj/structure/closet/crate/wooden - faction = FACTION_SOLGOV + faction = /datum/faction/solgov // this is technically armor but you aren't buying it for that. it's a joke pack so it goes here /datum/supply_pack/costumes_toys/justiceinbound diff --git a/code/modules/cargo/packs/food.dm b/code/modules/cargo/packs/food.dm index 1245e3fca5bd..5f5b7c0f8fe7 100644 --- a/code/modules/cargo/packs/food.dm +++ b/code/modules/cargo/packs/food.dm @@ -20,7 +20,7 @@ /obj/item/storage/box/donkpockets/donkpockethonk) crate_name = "donk pocket crate" crate_type = /obj/structure/closet/crate/freezer - faction = FACTION_SYNDICATE + faction = /datum/faction/syndicate /datum/supply_pack/food/donkpockets/fill(obj/structure/closet/crate/C) for(var/i in 1 to 3) diff --git a/code/modules/cargo/packs/gun.dm b/code/modules/cargo/packs/gun.dm index fd5eac41c228..e364a73032ed 100644 --- a/code/modules/cargo/packs/gun.dm +++ b/code/modules/cargo/packs/gun.dm @@ -1,6 +1,7 @@ /datum/supply_pack/gun group = "Guns" crate_type = /obj/structure/closet/crate/secure/weapon + faction_discount = 10 /* Pistols @@ -12,7 +13,6 @@ cost = 300 contains = list(/obj/item/storage/guncase/pistol/disposable) crate_name = "disposable gun crate" - faction = FACTION_FRONTIER /datum/supply_pack/gun/derringer name = ".38 Derringer Crate" @@ -20,12 +20,12 @@ cost = 350 contains = list(/obj/item/storage/guncase/pistol/derringer) crate_name = "derringer crate" - faction = FACTION_SRM + faction = /datum/faction/srm /datum/supply_pack/gun/m17 name = "M17 pistol Crate" desc = "A cheap target shooting pistol manufactured by Serene Outdoors. Chambered in .22lr" - cost = 200 + cost = 400 contains = list(/obj/item/storage/guncase/pistol/m17) crate_name = "pistol crate" @@ -34,48 +34,113 @@ desc = "Contains a modified Candor 'Commander' pistol, produced by Nanotrasen and chambered in 9mm." cost = 750 contains = list(/obj/item/storage/guncase/pistol/commander) - faction = FACTION_NT + faction = /datum/faction/nt /datum/supply_pack/gun/ringneck name = "Ringneck Pistol Crate" desc = "Contains a civilian variant of the Ringneck pistol, produced by Scarborough Arms and chambered in 10mm." cost = 1000 contains = list(/obj/item/storage/guncase/pistol/ringneck) - faction = FACTION_SYNDICATE + faction = /datum/faction/syndicate/scarborough_arms + +/datum/supply_pack/gun/cm23 + name = "CM-23 Pistol Crate" + desc = "Contains a 10mm CM-23 Pistol, standard issue of the Colonial Minutemen." + cost = 1000 + contains = list(/obj/item/storage/guncase/pistol/cm23) + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/cm70 + name = "CM-70 Machinepistol Crate" + desc = "Contains a 9mm machinepistol produced proudly within Lanchester City. Colonial Minuteman issue only." + cost = 2500 + contains = list(/obj/item/storage/guncase/pistol/cm70) + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE /datum/supply_pack/gun/candors name = "Candor Pistol Crate" desc = "Contains a Candor pistol, the trusty sidearm of any spacer, produced by Hunter's Pride and chambered in .45 ACP." cost = 1000 contains = list(/obj/item/storage/guncase/pistol/candor) - faction = FACTION_SRM + faction = /datum/faction/srm + +/datum/supply_pack/gun/asp + name = "BC-81 'Asp' Crate" + desc = "Contains a compact armor-piercing sidearm, chambered in 5.7mm" + cost = 1250 + contains = list(/obj/item/storage/guncase/pistol/asp) + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/pistolec + name = "Pistole 'C' Crate" + desc = "Contains a compact solarian-produced sidearm, chambered in 5.56mm HITP. Not to be confused with 5.56x42 CLIP." + cost = 1000 + contains = list(/obj/item/storage/guncase/pistol/pistolec) + faction = /datum/faction/solgov + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/pistolec + name = "Model 'H' Gauss Pistol Crate" + desc = "Contains a compact solarian-produced gauss pistol, chambered in ferromagnetic slugs. Remember to sign your necessary forms upon arrival." + cost = 2000 + contains = list(/obj/item/storage/guncase/pistol/modelh) + faction = /datum/faction/solgov + faction_discount = 0 + faction_locked = TRUE /datum/supply_pack/gun/pepperbox name = "HP Firebrand Pepperbox Revolver Crate" desc = "Contains a concealable pepperbox revolver manufactured by the Saint Roumain Militia, chambered in .357." cost = 1250 contains = list(/obj/item/storage/guncase/pistol/firebrand) - faction = FACTION_SRM + faction = /datum/faction/srm /datum/supply_pack/gun/detrevolver name = "Hunter's Pride Detective Revolver Crate" desc = "Contains a concealable revolver favored by police departments around the sector, chambered in .38." cost = 600 contains = list(/obj/item/storage/guncase/pistol/detective) - faction = FACTION_SRM + faction = /datum/faction/srm /datum/supply_pack/gun/shadowrevolver name = "Shadow Revolver Crate" desc = "Contains a concealable Shadow revolver, chambered in .44 Roumain." cost = 1000 contains = list(/obj/item/storage/guncase/pistol/shadow) - faction = FACTION_SRM + faction = /datum/faction/srm /datum/supply_pack/gun/viperrevolver name = "Viper-23 Revolver Crate" - desc = "Contains a a civilian variant of the Viper revolver, chambered in .357 magnum." + desc = "Contains a civilian variant of the Viper revolver, chambered in .357 magnum." cost = 2500 contains = list(/obj/item/storage/guncase/pistol/viper) + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 5 + +/datum/supply_pack/gun/a357 + name = "R-23 'Viper' Revolver Crate" + desc = "Contains a double-action military variant of the Viper revolver, chambered in .357 magnum." + cost = 3000 + contains = list(/obj/item/storage/guncase/pistol/a357) + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/ashhand + name = "Ashhand Hunting Revolver Crate" + desc = "Contains a single-action .45-70 hunting revolver manufactured by Hunter's Pride for use against the biggest game." + cost = 3500 + contains = list(/obj/item/storage/guncase/pistol/ashhand) + faction = /datum/faction/srm + faction_discount = 0 + faction_locked = TRUE /* Energy @@ -87,6 +152,7 @@ cost = 1000 contains = list(/obj/item/storage/guncase/energy/laser) crate_name = "laser crate" + faction = /datum/faction/nt /datum/supply_pack/gun/mini_energy name = "Mini Energy Gun Crate" @@ -94,6 +160,8 @@ cost = 500 contains = list(/obj/item/storage/guncase/pistol/miniegun) crate_name = "laser crate" + faction_discount = 20 + faction = /datum/faction/nt /datum/supply_pack/gun/energy name = "Energy Gun Crate" @@ -102,6 +170,7 @@ contains = list(/obj/item/storage/guncase/energy/egun) crate_name = "energy gun crate" crate_type = /obj/structure/closet/crate/secure/plasma + faction = /datum/faction/nt /datum/supply_pack/gun/ion name = "Ion Rifle Crate" @@ -110,6 +179,7 @@ contains = list(/obj/item/storage/guncase/energy/iongun) crate_name = "ion rifle crate" crate_type = /obj/structure/closet/crate/secure/plasma + faction = /datum/faction/nt /datum/supply_pack/gun/laser/kalix/pistol name = "Etherbor SG-8 Beam Pistol Crate" @@ -117,6 +187,7 @@ cost = 1000 contains = list(/obj/item/storage/guncase/pistol/kalixpistol) crate_name = "beam pistol crate" + faction = /datum/faction/pgf /datum/supply_pack/gun/laser/kalix name = "Etherbor BG-12 Beam Rifle Crate" @@ -124,6 +195,35 @@ cost = 3000 contains = list(/obj/item/storage/guncase/energy/kalixrifle) crate_name = "beam rifle crate" + faction = /datum/faction/pgf + +/datum/supply_pack/gun/laser/bg16 + name = "Etherbor BG-16 Beam Rifle Crate" + desc = "Contains a single BG-16 Beam Rifle, a military-grade automatic developed in the PGF and manufactured by Etherbor Industries for use within the Marine Corps." + cost = 3000 + contains = list(/obj/item/storage/guncase/energy/bg16) + crate_name = "beam rifle crate" + faction = /datum/faction/pgf + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/energy/disabler + name = "Disabler Crate" + desc = "One stamina-draining disabler weapon, for use in non-lethal pacification." + cost = 1000 + contains = list(/obj/item/gun/energy/disabler) + crate_name = "disabler crate" + faction = /datum/faction/nt + +/datum/supply_pack/gun/energy/taser + name = "Hybrid Taser Crate" + desc = "Contains one disabler-taser hybrid weapon." + cost = 1250 + contains = list(/obj/item/gun/energy/e_gun/advtaser) + crate_name = "hybrid taser crate" + faction = /datum/faction/nt + faction_discount = 0 + faction_locked = TRUE /* Shotguns @@ -134,15 +234,16 @@ desc = "For when you need to deal with 2 drunkards the old-fashioned way. Contains a double-barreled shotgun, favored by Bartenders. Warranty voided if sawed off." cost = 1000 contains = list(/obj/item/storage/guncase/doublebarrel) - crate_name = "shotguns crate" - faction = FACTION_SRM + crate_name = "shotgun crate" + faction = /datum/faction/srm /datum/supply_pack/gun/conflagration name = "Conflagration Lever Action Shotgun Crate" desc = "For when you need to deal with 6 hooligans and look good doing it. Contains one lever-action shotgun, with a 6 round capacity." cost = 1500 contains = list(/obj/item/storage/guncase/conflagration) - crate_name = "shotguns crate" + crate_name = "shotgun crate" + faction = /datum/faction/srm /datum/supply_pack/gun/hellfire_shotgun name = "Hellfire Shotgun Crate" @@ -150,7 +251,7 @@ cost = 2000 contains = list(/obj/item/storage/guncase/hellfire) crate_name = "shotgun crate" - faction = FACTION_SRM + faction = /datum/faction/srm /datum/supply_pack/gun/brimstone_shotgun name = "Brimstone Shotgun Crate" @@ -158,7 +259,7 @@ cost = 2000 contains = list(/obj/item/storage/guncase/brimstone) crate_name = "shotgun crate" - faction = FACTION_SRM + faction = /datum/faction/srm /datum/supply_pack/gun/buckmaster name = "Buckmaster Shotgun Crate" @@ -167,6 +268,138 @@ cost = 3000 crate_name = "shotgun crate" +/datum/supply_pack/gun/bulldog + name = "Bulldog Shotgun Crate" + desc = "An automatic shotgun chambered in 12ga produced by Scarborough Arms for exclusive use by licensed buyers. Comes with 8-round box magazines." + contains = list(/obj/item/storage/guncase/bulldog) + cost = 4000 + crate_name = "shotgun crate" + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/mastiff + name = "Mastiff Shotgun Crate" + desc = "An automatic shotgun modified for exclusive use by the IRMG and chambered in 12ga. Comes with 8-round box magazines." + contains = list(/obj/item/storage/guncase/mastiff) + cost = 4000 + crate_name = "shotgun crate" + faction = /datum/faction/inteq + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/cm15 + name = "CM-15 Shotgun Crate" + desc = "A combat shotgun produced by Lanchester Arms Co. for the Colonial Minuteman and CMM-BARD for use in CQC operations. Chambered in 12ga and equipped with 8-round box magazines." + contains = list(/obj/item/storage/guncase/cm15) + cost = 4000 + crate_name = "shotgun crate" + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE + +/* + SMGs +*/ + +/datum/supply_pack/gun/cobra20 + name = "Cobra-20 SMG Crate" + desc = "Contains a civilian variant of the Cobra SMG, manufactured by Scaraborough Arms and chambered in .45" + cost = 3000 + contains = list(/obj/item/storage/guncase/cobra) + crate_name = "SMG crate" + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 10 + +/datum/supply_pack/gun/vector + name = "Vector SMG Crate" + desc = "Contains a Vector PDW produced by Sharplite Defense and chambered in 9mm." + cost = 3000 + contains = list(/obj/item/storage/guncase/vector) + crate_name = "SMG crate" + faction = /datum/faction/nt + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/mongrel + name = "SKM-44v Mongrel SMG Crate" + desc = "Contains a shortened variant of the SKM rechambered to 10mm and painted in the brown-and-gold of Inteq." + cost = 3000 + contains = list(/obj/item/storage/guncase/mongrel) + crate_name = "SMG crate" + faction = /datum/faction/inteq + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/wt550 + name = "WT-550 Auto Rifle Crate" + desc = "Contains a high-powered, automatic personal defense weapon chambered in 4.6x30mm." + cost = 4000 + contains = list(/obj/item/storage/guncase/wt550) + crate_name = "auto rifle crate" + faction_discount = 10 + faction = /datum/faction/nt + +/datum/supply_pack/gun/saber + name = "SABR Prototype SMG Crate" + desc = "Contains a compact 9mm automatic SMG produced by NT Ballistics. For NT employee use only." + cost = 2500 + contains = list(/obj/item/storage/guncase/saber) + crate_name = "SMG crate" + faction = /datum/faction/nt + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/firestorm + name = "Firestorm SMG Crate" + desc = "Contains a Hunter's Pride SMG, intended for internal use by hunters and chambered in .45" + cost = 3000 + contains = list(/obj/item/storage/guncase/firestorm) + crate_name = "SMG crate" + faction = /datum/faction/srm + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/rattlesnake + name = "Rattlesnake Machinepistol Crate" + desc = "Contains an automatic machinepistol produced by Scarborough Arms, chambered in 9mm." + cost = 2500 + contains = list(/obj/item/storage/guncase/rattlesnake) + crate_name = "Machinepistol crate" + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/kingsnake + name = "Kingsnake Machinepistol Crate" + desc = "Contains an automatic machinepistol chambered in 9mm, painted in the brown-and-gold of Inteq." + cost = 2500 + contains = list(/obj/item/storage/guncase/kingsnake) + crate_name = "Machinepistol crate" + faction = /datum/faction/inteq + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/cm5 + name = "CM-5 SMG Crate" + desc = "Contains a CM-5 automatic SMG, produced proudly within Lanchester City. Colonial Minuteman issue only." + cost = 2500 + contains = list(/obj/item/storage/guncase/cm5) + crate_name = "SMG crate" + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/sidewinder + name = "Sidewinder SMG Crate" + desc = "Contains a Sidewinder PDW produced by Scarborough Arms and chambered in 5.7mm for armor-piercing capabilities." + cost = 3000 + contains = list(/obj/item/storage/guncase/sidewinder) + crate_name = "SMG crate" + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 0 + faction_locked = TRUE + /* Rifles */ @@ -191,7 +424,7 @@ cost = 750 contains = list(/obj/item/storage/guncase/winchester) crate_name = "rifle crate" - faction = FACTION_SRM + faction = /datum/faction/srm /datum/supply_pack/gun/absolution name = "Absolution Lever Action Rifle Crate" @@ -199,6 +432,7 @@ cost = 2000 contains = list(/obj/item/storage/guncase/absolution) crate_name = "shotguns crate" + faction = /datum/faction/srm /datum/supply_pack/gun/illestren name = "Illestren Rifle Crate" @@ -206,7 +440,7 @@ cost = 1250 contains = list(/obj/item/storage/guncase/illestren) crate_name = "rifle crate" - faction = FACTION_SRM + faction = /datum/faction/srm /datum/supply_pack/gun/beacon name = "Beacon Break Action Rifle Crate" @@ -214,54 +448,162 @@ cost = 1000 contains = list(/obj/item/storage/guncase/beacon) crate_name = "rifle crate" - faction = FACTION_SRM + faction = /datum/faction/srm -/datum/supply_pack/gun/scout - name = "Scout Sniper Rifle Crate" - desc = "Contains a traditional scoped rifle to hunt wildlife and big game from a respectful distance. Chambered in powerful .300 Magnum." - cost = 4000 - contains = list(/obj/item/storage/guncase/scout) +/datum/supply_pack/gun/skm + name = "SKM-24 Rifle Crate" + desc = "Contains a high-powered, automatic rifle chambered in 7.62x40mm CLIP." + cost = 5000 + contains = list(/obj/item/storage/guncase/skm) + crate_name = "auto rifle crate" + +/datum/supply_pack/gun/inteq_skm + name = "SKM-44 Rifle Crate" + desc = "Contains a SKM painted in the brown-and-gold of Inteq, chambered in 7.62x40mm CLIP. " + cost = 5000 + contains = list(/obj/item/storage/guncase/skm_inteq) + crate_name = "auto rifle crate" + faction = /datum/faction/inteq + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/hades + name = "SL AL-655 'Hades' energy rifle" + desc = "Contains a high-energy, automatic laser rifle. For NT employee use only." + cost = 5000 + contains = list(/obj/item/storage/guncase/hades) + crate_name = "laser crate" + faction = /datum/faction/nt + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/hydra + name = "SMR-80 'Hydra' Automatic Rifle Crate" + desc = "Contains a high-powered automatic rifle produced by Scarborough Arms and chambered in 5.56 CLIP. This one is a standard variant." + cost = 5000 + contains = list(/obj/item/storage/guncase/hydra) crate_name = "rifle crate" - faction = FACTION_SRM + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 0 + faction_locked = TRUE -/datum/supply_pack/gun/boomslang90 - name = "Boomslang-90 Rifle Crate" - desc = "Contains a civilian variant of the Boomslang Sniper rifle- modified with a 2x scope, rather than a sniper scope. Chambered in the powerful 6.5x57mm CLIP." +/datum/supply_pack/gun/cm82 + name = "CM-82 Standard Issue Rifle" + desc = "Contains a high-powered rifle chambered in 5.56 CLIP, standard issue of the Colonial Minutemen." cost = 5000 - contains = list(/obj/item/storage/guncase/boomslang) + contains = list(/obj/item/storage/guncase/cm82) crate_name = "rifle crate" + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE + +/* Marksman Rifles */ + +/datum/supply_pack/gun/cmf4 + name = "CM-F4 Designated Marksman Rifle" + desc = "Contains a high-powered marksman rifle chambered in .308. For Colonial Minuteman issue only." + cost = 3500 + contains = list(/obj/item/storage/guncase/cmf4) + crate_name = "dmr crate" + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/ssg04 + name = "SsG-04 Designated Marksman Rifle" + desc = "Contains a high-powered marksman rifle chambered in .308. Painted in the brown-and-gold of Inteq." + cost = 3500 + contains = list(/obj/item/storage/guncase/ssg04) + crate_name = "dmr crate" + faction = /datum/faction/inteq + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/sbr80 + name = "SBR-80 'Hydra' Designated Marksman Rifle Crate" + desc = "Contains a high-powered marksman rifle chambered in 5.56 CLIP and produced by Scarborough Arms. A modification of the ever-popular SMR-80 platform." + cost = 3500 + contains = list(/obj/item/storage/guncase/sbr80) + crate_name = "dmr crate" + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/vickland + name = "Vickland Battle Rifle" + desc = "Contains a high-powered semi-automatic battle rifle chambered in .308 and produced by Hunter's Pride. Fed via stripper clips with a 10 round capacity." + cost = 3500 + contains = list(/obj/item/storage/guncase/vickland) + crate_name = "dmr crate" + faction = /datum/faction/srm + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/gauss + name = "Prototype Gauss Rifle" + desc = "Contains a high-powered prototype armor-piercing gauss rifle, operable with ferromagnetic pellets. For NT employee use only." + cost = 3500 + contains = list(/obj/item/storage/guncase/gauss) + crate_name = "dmr crate" + faction = /datum/faction/nt + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/claris + name = "Claris Gauss Rifle" + desc = "Contains a high-powered armor-piercing gauss rifle, loaded directly via ferromagnetic pellet speedloaders." + cost = 2500 + contains = list(/obj/item/storage/guncase/claris) + crate_name = "dmr crate" + faction = /datum/faction/solgov + faction_discount = 0 + faction_locked = TRUE -/datum/supply_pack/gun/cobra20 - name = "Cobra-20 SMG Crate" - desc = "Contains a civilian variant of the Cobra SMG, manufactured by Scaraborough Arms and chambered in .45" - cost = 3000 - contains = list(/obj/item/storage/guncase/cobra) - crate_name = "SMG crate" - faction = FACTION_SRM +/datum/supply_pack/gun/boomslang90 + name = "Boomslang-90 Designated Marksman Rifle Crate" + desc = "Contains a civilian variant of the Boomslang Sniper rifle- modified with a 2x scope, rather than a sniper scope. Chambered in the powerful 6.5x57mm CLIP." + cost = 3500 + contains = list(/obj/item/storage/guncase/boomslang) + crate_name = "dmr crate" + faction = /datum/faction/syndicate/scarborough_arms + +/datum/supply_pack/gun/boomslang10 + name = "Boomslang-10 Sniper Rifle Crate" + desc = "Contains a military variant of the Boomslang Sniper rifle equipped with an 8x sniper scope, for licenesed buyers only. Chambered in the powerful 6.5x57mm CLIP." + cost = 4500 + contains = list(/obj/item/storage/guncase/boomslangmilitary) + crate_name = "marksman rifle crate" + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/gun/f90 + name = "CM-F90 Sniper Rifle Crate" + desc = "Contains a military sniper rifle equipped with an 8x sniper scope, for Minuteman use only. Chambered in the powerful 6.5x57mm CLIP." + cost = 4500 + contains = list(/obj/item/storage/guncase/cmf90) + crate_name = "marksman rifle crate" + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE -/datum/supply_pack/gun/wt550 - name = "WT-550 Auto Rifle Crate" - desc = "Contains a high-powered, automatic personal defense weapon chambered in 4.6x30mm." +/datum/supply_pack/gun/scout + name = "Scout Sniper Rifle Crate" + desc = "Contains a traditional scoped rifle to hunt wildlife and big game from a respectful distance. Chambered in powerful .300 Magnum." cost = 4000 - contains = list(/obj/item/storage/guncase/wt550) - crate_name = "auto rifle crate" - faction = FACTION_SRM - -/datum/supply_pack/gun/p16 - name = "P16 Assault Rifle Crate" - desc = "Contains a high-powered, automatic rifle chambered in 5.56mm." - cost = 5000 - contains = list(/obj/item/storage/guncase/p16) - crate_name = "auto rifle crate" - faction = FACTION_SRM + contains = list(/obj/item/storage/guncase/scout) + crate_name = "sniper rifle crate" + faction = /datum/faction/srm -/datum/supply_pack/gun/skm - name = "SKM-24 Rifle Crate" - desc = "Contains a high-powered, automatic rifle chambered in 7.62x40mm CLIP." - cost = 5000 - contains = list(/obj/item/storage/guncase/skm) - crate_name = "auto rifle crate" - faction = FACTION_SRM +/datum/supply_pack/gun/ssg669 + name = "SSG-669C Sniper Rifle Crate" + desc = "Contains a traditional scoped rifle to hunt wildlife and big game from a respectful distance. Chambered in powerful .300 Magnum." + cost = 4000 + contains = list(/obj/item/storage/guncase/ssg669) + crate_name = "sniper rifle crate" + faction = /datum/faction/solgov + faction_discount = 0 + faction_locked = TRUE /* Attachments */ @@ -286,6 +628,16 @@ contains = list(/obj/item/attachment/bayonet) crate_name = "bayonet crate" +/datum/supply_pack/gun/attachment/ebayonet + name = "Energy Bayonet Crate" + desc = "Contains a single energy bayonet to be mounted on a firearm, exclusive for Scarborough Firearms." + cost = 500 + contains = list(/obj/item/attachment/energy_bayonet) + crate_name = "bayonet crate" + faction = /datum/faction/syndicate/scarborough_arms + faction_discount = 0 + faction_locked = TRUE + /datum/supply_pack/gun/attachment/silencer name = "Suppressor Crate" desc = "Contains a single suppressor to be mounted on a firearm." diff --git a/code/modules/cargo/packs/magazines.dm b/code/modules/cargo/packs/magazines.dm index 175b9aa9ff06..a29ed2403d37 100644 --- a/code/modules/cargo/packs/magazines.dm +++ b/code/modules/cargo/packs/magazines.dm @@ -11,6 +11,17 @@ desc = "Contains a 9mm magazine for the standard-issue Commander pistol, containing ten rounds." contains = list(/obj/item/ammo_box/magazine/co9mm) cost = 500 + faction = /datum/faction/nt + +/datum/supply_pack/magazine/smgm9mm_mag + name = "9mm SMG Magazine Crate" + desc = "Contains a 9mm magazine for the Vector and Saber SMGs, containing thirty rounds." + contains = list(/obj/item/ammo_box/magazine/smgm9mm) + cost = 500 + faction = /datum/faction/nt + faction_discount = 0 + faction_locked = TRUE + /* Hunter's Pride */ @@ -19,6 +30,8 @@ desc = "Contains a .38 speedloader for revolvers, containing six rounds." contains = list(/obj/item/ammo_box/c38) cost = 250 + faction_discount = 20 + faction = /datum/faction/srm /datum/supply_pack/magazine/c38match name = ".38 Match Grade Speedloader" @@ -27,6 +40,7 @@ small_item = TRUE contains = list(/obj/item/ammo_box/c38/match) crate_name = ".38 match crate" + faction = /datum/faction/srm /datum/supply_pack/magazine/c38dumdum name = ".38 DumDum Speedloader" @@ -35,18 +49,21 @@ small_item = TRUE contains = list(/obj/item/ammo_box/c38/dumdum) crate_name = ".38 match crate" + faction = /datum/faction/srm /datum/supply_pack/magazine/m45_mag name = ".45 ACP Candor Magazine Crate" desc = "Contains a .45 ACP magazine for the Candor pistol, containing eight rounds." contains = list(/obj/item/ammo_box/magazine/m45) cost = 500 + faction = /datum/faction/srm /datum/supply_pack/magazine/a44roum_speedloader name = ".44 Roumain Speedloader Crate" desc = "Contains a .44 Roumain speedloader for the HP Montagne, containing six rounds." contains = list(/obj/item/ammo_box/a44roum_speedloader) cost = 400 + faction = /datum/faction/srm /* Serene Sporting */ @@ -75,54 +92,73 @@ desc = "Contains a .22lr magazine for the Himehabu pistol, containing ten rounds." contains = list(/obj/item/ammo_box/magazine/m22lr_himehabu) cost = 200 + faction = /datum/faction/syndicate/scarborough_arms -/datum/supply_pack/magazine/himehabu_mag +/datum/supply_pack/magazine/asp_mag name = "Asp Magazine Crate" desc = "Contains a 5.7x39mm magazine for the Asp pistol, containing 12 rounds." contains = list(/obj/item/ammo_box/magazine/m57_39_asp) cost = 400 + faction = /datum/faction/syndicate/scarborough_arms /datum/supply_pack/magazine/m10mm_mag name = "Ringneck Magazine Crate" desc = "Contains a 10mm magazine for the Ringneck pistol, containing ten rounds." contains = list(/obj/item/ammo_box/magazine/m10mm_ringneck) cost = 500 + faction = /datum/faction/syndicate/scarborough_arms /datum/supply_pack/magazine/m9mm_rattlesnake name = "Rattlesnake Magazine Crate" desc = "Contains a 9mm magazine for the Rattlesnake machine pistol, contains 18 rounds." contains = list(/obj/item/ammo_box/magazine/m9mm_rattlesnake) cost = 500 + faction = /datum/faction/syndicate/scarborough_arms /datum/supply_pack/magazine/a357_mag name = ".357 Speedloader Crate" desc = "Contains a .357 speedloader for revolvers, containing seven rounds." contains = list(/obj/item/ammo_box/a357) cost = 750 + faction_discount = 20 + faction = /datum/faction/syndicate/scarborough_arms /datum/supply_pack/magazine/sidewinder_mag name = "Sidewinder Magazine Crate" desc = "Contains a 30 round magazine for the Sidewinder SMG." contains = list(/obj/item/ammo_box/magazine/m57_39_sidewinder) cost = 750 + faction_discount = 20 + faction = /datum/faction/syndicate/scarborough_arms /datum/supply_pack/magazine/c45_cobra_mag name = "Cobra Magazine Crate" desc = "Contains a .45 magazine for the Cobra-20, containing 24 rounds." cost = 750 contains = list(/obj/item/ammo_box/magazine/m45_cobra) + faction_discount = 20 + faction = /datum/faction/syndicate/scarborough_arms -/datum/supply_pack/magazine/hydra_mag - name = "SMR-80 Magazine Crate" - desc = "Contains a 5.56x42mm CLIP for the SMR-80 rifle, containing 20 rounds." +/datum/supply_pack/magazine/short_hydra_mag + name = "SBR-80 DMR Short Magazine Crate" + desc = "Contains a 5.56x42mm CLIP made specially for the SBR-80 Designated Marksman Rifle, containing 20 rounds." contains = list(/obj/item/ammo_box/magazine/m556_42_hydra/small) cost = 1000 + faction = /datum/faction/syndicate/scarborough_arms + +/datum/supply_pack/magazine/hydra_mag + name = "SMR-80 Rifle Magazine Crate" + desc = "Contains a 5.56x42mm CLIP for the SMR-80 assault rifle, containing 30 rounds." + contains = list(/obj/item/ammo_box/magazine/m556_42_hydra) + cost = 1500 + faction = /datum/faction/syndicate/scarborough_arms /datum/supply_pack/magazine/boomslang_mag name = "Boomslang-90 Magazine Crate" - desc = "Contains a 6.5 CLIP magazine for the Boomslang-90 rifle, containing five rounds." + desc = "Contains a 6.5 CLIP magazine for the Boomslang rifle platform, containing five rounds." contains = list(/obj/item/ammo_box/magazine/boomslang/short) cost = 1000 + faction = /datum/faction/syndicate/scarborough_arms /* CM Lancaster */ @@ -131,6 +167,7 @@ desc = "Contains a 5.56mm magazine for the CM-82 rifle, containing thirty rounds. Notably, these are also compatable with the P-16 rifle." contains = list(/obj/item/ammo_box/magazine/p16) cost = 1000 + faction = /datum/faction/clip /datum/supply_pack/magazine/skm_ammo name = "SKM Magazine Crate" @@ -140,9 +177,17 @@ /datum/supply_pack/magazine/f4_mag name = "F4 Magazine Crate" - desc = "Contains a .308 magazine for F4 platform rifles, containing ten rounds." + desc = "Contains a .308 magazine for SsG-04 and CM-F4 platform rifles, containing ten rounds." contains = list(/obj/item/ammo_box/magazine/f4_308) cost = 1000 + faction = /datum/faction/clip + +/datum/supply_pack/magazine/f90 + name = "CM-F90 Magazine Crate" + desc = "Contains a 5-round 6.5mm magazine for use with the CM-F90 sniper rifle." + contains = list(/obj/item/ammo_box/magazine/f90) + cost = 1000 + faction = /datum/faction/clip /* NT */ @@ -151,12 +196,15 @@ desc = "Contains a 20-round magazine for the WT-550 Auto Rifle. Each magazine is designed to facilitate rapid tactical reloads." cost = 750 contains = list(/obj/item/ammo_box/magazine/wt550m9) + faction_discount = 20 + faction = /datum/faction/nt /datum/supply_pack/magazine/ap_wt550_mag name = "WT-550 Auto Rifle AP Magazine Crate" desc = "Contains one magazine of armor-piercing ammunition for the WT-550 Auto Rifle." cost = 1000 contains = list(/obj/item/ammo_box/magazine/wt550m9/ap) + faction = /datum/faction/nt /* Solgov */ @@ -165,26 +213,54 @@ desc = "Contains a 5.56mm magazine for the Pistole C, containing twelve rounds." contains = list(/obj/item/ammo_box/magazine/pistol556mm) cost = 750 - faction = FACTION_SOLGOV + faction = /datum/faction/solgov /datum/supply_pack/magazine/fms_mag name = "Ferromagnetic Slug Magazine Crate" desc = "Contains a ferromagnetic slug magazine for the Model H pistol, containing ten rounds." contains = list(/obj/item/ammo_box/magazine/modelh) cost = 750 - faction = FACTION_SOLGOV + faction = /datum/faction/solgov /datum/supply_pack/magazine/gar_ammo name = "GAR Ferromagnetic Lance Magazine Crate" desc = "Contains a ferromagnetic lance magazine for the GAR rifle, containing thirty two rounds." contains = list(/obj/item/ammo_box/magazine/gar) cost = 1000 + faction = /datum/faction/solgov /datum/supply_pack/magazine/claris_ammo name = "Claris Ferromagnetic Pellet Speedloader Crate" desc = "Contains a ferromagnetic pellet speedloader for the Claris rifle, containing twenty two rounds." contains = list(/obj/item/ammo_box/amagpellet_claris) cost = 1000 + faction = /datum/faction/solgov + +/* Inteq */ + +/datum/supply_pack/magazine/mongrel_mag + name = "Mongrel Magazine Crate" + desc = "Contains a 10mm magazine for the SKM-44v 'Mongrel' SMG, containing twenty-four rounds." + contains = list(/obj/item/ammo_box/magazine/smgm10mm) + cost = 750 + faction = /datum/faction/inteq + +/* Shotguns */ + +/datum/supply_pack/magazine/cm15 + name = "CM-15 Magazine Crate" + desc = "Contains an 8-round 12ga magazine for the CM-15 Automatic Shotgun." + contains = list(/obj/item/ammo_box/magazine/cm15_12g) + cost = 1500 + faction = /datum/faction/clip + +/datum/supply_pack/magazine/bulldog + name = "Bulldog Magazine Crate" + desc = "Contains an 8-round 12ga box magazine for the Bulldog weapons platform." + contains = list(/obj/item/ammo_box/magazine/m12g_bulldog) + cost = 1500 + faction = /datum/faction/syndicate/scarborough_arms + /* energy weapons */ @@ -192,7 +268,26 @@ name = "Weapon Cell Crate" desc = "Contains a weapon cell, compatible with laser guns." contains = list(/obj/item/stock_parts/cell/gun) + faction = /datum/faction/nt + cost = 500 + +/datum/supply_pack/magazine/solgovcell + name = "SolCon Weapon Cell Crate" + desc = "Contains a Solarian weapon cell, compatible with Solarian gauss weaponry." + contains = list(/obj/item/stock_parts/cell/gun/solgov) cost = 500 + faction = /datum/faction/solgov + faction_discount = 0 + faction_locked = TRUE + +/datum/supply_pack/magazine/upgradedguncell + name = "Upgraded Weapon Cell Crate" + desc = "Contains an upgraded weapon cell, compatible with laser guns. For NT use only." + contains = list(/obj/item/stock_parts/cell/gun/upgraded) + cost = 1500 + faction = /datum/faction/nt + faction_discount = 0 + faction_locked = TRUE /* etherbor */ @@ -201,5 +296,15 @@ desc = "Contains an Etherbor weapon cell, compatible with Etherbor armaments with a slightly higher capacity." contains = list(/obj/item/stock_parts/cell/gun/kalix) cost = 600 + faction = /datum/faction/pgf + +/datum/supply_pack/magazine/guncell/pgf + name = "Etherbor Cell Crate" + desc = "Contains a military-grade Etherbor weapon cell produced for the PGFMC, compatible with Etherbor armaments with a significantly higher capacity." + contains = list(/obj/item/stock_parts/cell/gun/pgf) + cost = 1500 + faction = /datum/faction/pgf + faction_discount = 0 + faction_locked = TRUE /* Expand once the energy weapons have been actually expanded upon */ diff --git a/code/modules/cargo/packs/material.dm b/code/modules/cargo/packs/material.dm index f9bacd40f5e3..356856535b77 100644 --- a/code/modules/cargo/packs/material.dm +++ b/code/modules/cargo/packs/material.dm @@ -1,6 +1,7 @@ /datum/supply_pack/material group = "Materials & Sheets" - faction = FACTION_NS_LOGI + faction = /datum/faction/nt/ns_logi + faction_discount = 20 /* Basic construction materials diff --git a/code/modules/cargo/packs/medical.dm b/code/modules/cargo/packs/medical.dm index eac1f9a00b31..76d981dd7b23 100644 --- a/code/modules/cargo/packs/medical.dm +++ b/code/modules/cargo/packs/medical.dm @@ -61,6 +61,13 @@ /obj/item/reagent_containers/glass/bottle/morphine, /obj/item/reagent_containers/glass/bottle/morphine, ) + faction = /datum/faction/syndicate/suns + faction_discount = 25 + +/datum/supply_pack/medical/painkillers/fill(obj/structure/closet/crate/cargo_crate) + . = ..() + if(prob(5)) + new /obj/item/reagent_containers/glass/bottle/painkiller_booze(cargo_crate) /datum/supply_pack/medical/iv_drip name = "IV Drip Crate" @@ -84,6 +91,8 @@ /obj/item/reagent_containers/medigel/sterilizine, /obj/item/roller) crate_name = "surgical supplies crate" + faction = /datum/faction/syndicate/suns + faction_discount = 50 //this shouldnt be 3k but if it is... /datum/supply_pack/medical/anesthetic @@ -93,6 +102,8 @@ contains = list(/obj/item/clothing/mask/breath/medical, /obj/item/tank/internals/anesthetic) crate_name = "anesthetics crate" + faction = /datum/faction/syndicate/suns + faction_discount = 25 /* Bundles and supplies @@ -115,6 +126,8 @@ /obj/item/reagent_containers/blood/synthetic) crate_name = "blood freezer" crate_type = /obj/structure/closet/crate/freezer + faction = /datum/faction/syndicate/suns + faction_discount = 25 /datum/supply_pack/medical/surplus name = "Medical Surplus Crate" @@ -142,7 +155,8 @@ /obj/item/reagent_containers/pill/neurine, /obj/item/vending_refill/medical) crate_name = "medical surplus crate" - faction = FACTION_SUNS + faction = /datum/faction/syndicate/suns + faction_discount = 25 /datum/supply_pack/medical/surplus/fill(obj/structure/closet/crate/C) for(var/i in 1 to 7) diff --git a/code/modules/cargo/packs/sec_supply.dm b/code/modules/cargo/packs/sec_supply.dm index 86d631024705..9e18adec4855 100644 --- a/code/modules/cargo/packs/sec_supply.dm +++ b/code/modules/cargo/packs/sec_supply.dm @@ -98,7 +98,9 @@ contains = list(/obj/item/flamethrower/full) crate_name = "flamethrower crate" crate_type = /obj/structure/closet/crate/secure/weapon - faction = FACTION_NGR + + faction = /datum/faction/syndicate/ngr + faction_discount = 20 /datum/supply_pack/sec_supply/incendiary_grenade name = "Incendiary Grenade Crate" @@ -107,7 +109,18 @@ contains = list(/obj/item/grenade/chem_grenade/incendiary) crate_name = "incendiary grenade crate" crate_type = /obj/structure/closet/crate/secure/plasma - faction = FACTION_NGR + faction = /datum/faction/syndicate/ngr + faction_discount = 20 + +/datum/supply_pack/sec_supply/halberd + name = "Energy Halberd Crate" + desc = "Contains one Solarian Energy Halberd, for issue to your local Sonnensoldner battalion." + cost = 1500 + contains = list(/obj/item/energyhalberd) + crate_name = "energy halberd crate" + faction = /datum/faction/solgov + faction_discount = 0 + faction_locked = TRUE /* Stamina / PVP weapons (intentionally overpriced due to odd balance position of stamina weapons) @@ -129,39 +142,18 @@ /datum/supply_pack/sec_supply/baton name = "Stun Batons Crate" - desc = "Arm the Civil Protection Forces with three stun batons. Batteries included." - cost = 9000 - contains = list(/obj/item/melee/baton/loaded, - /obj/item/melee/baton/loaded, - /obj/item/melee/baton/loaded) + desc = "Arm your vessel security with a stun baton. Batteries included." + cost = 3000 + contains = list(/obj/item/melee/baton/loaded) crate_name = "stun baton crate" -/datum/supply_pack/sec_supply/disabler - name = "Disabler Crate" - desc = "Three stamina-draining disabler weapons." - cost = 9000 - contains = list(/obj/item/gun/energy/disabler, - /obj/item/gun/energy/disabler, - /obj/item/gun/energy/disabler) - crate_name = "disabler crate" - /datum/supply_pack/sec_supply/dragnet name = "DRAGnet Crate" - desc = "Contains three \"Dynamic Rapid-Apprehension of the Guilty\" netting devices, a recent breakthrough in law enforcement prisoner management technology." - cost = 10000 - contains = list(/obj/item/gun/energy/e_gun/dragnet, - /obj/item/gun/energy/e_gun/dragnet, - /obj/item/gun/energy/e_gun/dragnet) + desc = "Contains one \"Dynamic Rapid-Apprehension of the Guilty\" netting device, a recent breakthrough in law enforcement prisoner management technology." + cost = 2000 + contains = list(/obj/item/gun/energy/e_gun/dragnet) crate_name = "\improper DRAGnet crate" -/datum/supply_pack/sec_supply/taser - name = "Hybrid Taser Crate" - desc = "Contains two disabler-taser hybrid weapons." - cost = 12000 - contains = list(/obj/item/gun/energy/e_gun/advtaser, - /obj/item/gun/energy/e_gun/advtaser) - crate_name = "hybrid taser crate" - /datum/supply_pack/sec_supply/claymore name = "C-10 Claymore Crate" desc = "Four motion-activated directional mines, perfect for ambushing enemy infantry. Still debatably legal to sell!" diff --git a/code/modules/cargo/packs/spacesuit_armor.dm b/code/modules/cargo/packs/spacesuit_armor.dm index 2cbe012c71f1..d0b1da6be6d2 100644 --- a/code/modules/cargo/packs/spacesuit_armor.dm +++ b/code/modules/cargo/packs/spacesuit_armor.dm @@ -29,7 +29,6 @@ contains = list(/obj/item/clothing/suit/space/hardsuit/mining/independent) crate_name = "mining hardsuit crate" crate_type = /obj/structure/closet/crate/secure/plasma - faction = FACTION_INDEPENDENT /datum/supply_pack/spacesuit_armor/med_hardsuit name = "Medical Hardsuit Crate" @@ -38,7 +37,7 @@ contains = list(/obj/item/clothing/suit/space/hardsuit/medical) crate_name = "medical hardsuit crate" crate_type = /obj/structure/closet/crate/medical - faction = FACTION_NT + faction = /datum/faction/nt /datum/supply_pack/spacesuit_armor/mining_hardsuit_heavy name = "Heavy Mining Hardsuit Crate" @@ -48,7 +47,7 @@ /obj/item/clothing/shoes/bhop) crate_name = "heavy mining hardsuit crate" crate_type = /obj/structure/closet/crate/secure/plasma - faction = FACTION_NT + faction = /datum/faction/nt /datum/supply_pack/spacesuit_armor/sec_hardsuit_bundle name = "Security Hardsuit Crate" @@ -57,7 +56,7 @@ contains = list(/obj/item/clothing/suit/space/hardsuit/security/independent) crate_name = "security hardsuit crate" crate_type = /obj/structure/closet/crate/secure/gear - faction = FACTION_NT + faction = /datum/faction/nt /datum/supply_pack/spacesuit_armor/sci_hardsuit name = "Science Hardsuit Crate" @@ -66,7 +65,7 @@ contains = list(/obj/item/clothing/suit/space/hardsuit/rd) crate_name = "science hardsuit crate" crate_type = /obj/structure/closet/crate/secure/science - faction = FACTION_NT + faction = /datum/faction/nt /datum/supply_pack/spacesuit_armor/engi_spacesuit_bundle name = "Engineering Space Suit Crate" @@ -84,7 +83,7 @@ contains = list(/obj/item/clothing/suit/space/hardsuit/engine/atmos) crate_name = "atmospherics hardsuit crate" crate_type = /obj/structure/closet/crate/secure/engineering - faction = FACTION_NT + faction = /datum/faction/nt /* Non-spaceworthy (armor) diff --git a/code/modules/events/stray_cargo.dm b/code/modules/events/stray_cargo.dm deleted file mode 100644 index 182ea658a7a9..000000000000 --- a/code/modules/events/stray_cargo.dm +++ /dev/null @@ -1,76 +0,0 @@ -///Spawns a cargo pod containing a random cargo supply pack on a random area of the station -/datum/round_event_control/stray_cargo - name = "Stray Cargo Pod" - typepath = /datum/round_event/stray_cargo - weight = 20 - max_occurrences = 4 - earliest_start = 10 MINUTES - -///Spawns a cargo pod containing a random cargo supply pack on a random area of the station -/datum/round_event/stray_cargo - var/area/impact_area ///Randomly picked area - announceChance = 75 - var/list/possible_pack_types = list() ///List of possible supply packs dropped in the pod, if empty picks from the cargo list - var/static/list/stray_spawnable_supply_packs = list() ///List of default spawnable supply packs, filtered from the cargo list - -/datum/round_event/stray_cargo/announce(fake) - priority_announce("Stray cargo pod detected on long-range scanners. Expected location of impact: [impact_area.name].", "Collision Alert", zlevel = impact_area.virtual_z()) - -/** -* Tries to find a valid area, throws an error if none are found -* Also randomizes the start timer -*/ -/datum/round_event/stray_cargo/setup() - startWhen = rand(20, 40) - impact_area = find_event_area() - if(!impact_area) - CRASH("No valid areas for cargo pod found.") - var/list/turf_test = get_area_turfs(impact_area) - if(!turf_test.len) - CRASH("Stray Cargo Pod : No valid turfs found for [impact_area] - [impact_area.type]") - - if(!stray_spawnable_supply_packs.len) - stray_spawnable_supply_packs = SSshuttle.supply_packs.Copy() - -///Spawns a random supply pack, puts it in a pod, and spawns it on a random tile of the selected area -/datum/round_event/stray_cargo/start() - var/list/turf/valid_turfs = get_area_turfs(impact_area) - //Only target non-dense turfs to prevent wall-embedded pods - for(var/i in valid_turfs) - var/turf/T = i - if(T.density) - valid_turfs -= T - var/turf/LZ = pick(valid_turfs) - var/pack_type - if(possible_pack_types.len) - pack_type = pick(possible_pack_types) - else - pack_type = pick(stray_spawnable_supply_packs) - var/datum/supply_pack/SP = new pack_type - var/obj/structure/closet/crate/crate = SP.generate(null) - crate.locked = FALSE //Unlock secure crates - crate.update_appearance() - var/obj/structure/closet/supplypod/pod = make_pod() - new /obj/effect/pod_landingzone(LZ, pod, crate) - -///Handles the creation of the pod, in case it needs to be modified beforehand -/datum/round_event/stray_cargo/proc/make_pod() - var/obj/structure/closet/supplypod/S = new - return S - -///Picks an area that wouldn't risk critical damage if hit by a pod explosion -/datum/round_event/stray_cargo/proc/find_event_area() - var/static/list/allowed_areas - if(!allowed_areas) - ///Places that shouldn't explode - var/list/safe_area_types = typecacheof(list( - /area/ship/science/ai_chamber, - /area/ship/engineering - )) - - ///Subtypes from the above that actually should explode. - var/list/unsafe_area_subtypes = typecacheof(list()) - allowed_areas = make_associative(typesof(/area/ship)) - safe_area_types + unsafe_area_subtypes - var/list/possible_areas = typecache_filter_list(GLOB.sortedAreas,allowed_areas) - if (length(possible_areas)) - return pick(possible_areas) diff --git a/code/modules/faction/faction_datum.dm b/code/modules/faction/faction_datum.dm index 993fee1e37f3..487d4f9c7810 100644 --- a/code/modules/faction/faction_datum.dm +++ b/code/modules/faction/faction_datum.dm @@ -5,11 +5,28 @@ var/parent_faction /// List of prefixes that ships of this faction uses var/list/prefixes + /// list of factions that are "allowed" with this faction, used for factional cargo + var/list/allowed_factions /datum/faction/New() if(!short_name) short_name = name +/// Easy way to check if something is "allowed", checks to see if it matches the name or faction typepath because factions are a fucking mess +/datum/faction/proc/allowed_faction(value_to_check) + ///Are we the same datum? + if(istype(value_to_check, src)) + return TRUE + ///Allow if we share a parent faction + if(istype(value_to_check, parent_faction)) + return TRUE + //do we have the same faction even if one is a define? + if(value_to_check == name) + return TRUE + if(value_to_check in allowed_factions) + return TRUE + return FALSE + /datum/faction/syndicate name = FACTION_SYNDICATE parent_faction = /datum/faction/syndicate @@ -79,3 +96,9 @@ name = FACTION_INDEPENDENT short_name = "Indie" prefixes = PREFIX_INDEPENDENT + +/datum/faction/syndicate/scarborough_arms + name = "Scarborough Arms" + parent_faction = /datum/faction/syndicate + prefixes = PREFIX_INDEPENDENT + allowed_factions = list(/datum/faction/syndicate) diff --git a/code/modules/overmap/objects/outpost/outpost.dm b/code/modules/overmap/objects/outpost/outpost.dm index 6948731d7438..9a7f6f125817 100644 --- a/code/modules/overmap/objects/outpost/outpost.dm +++ b/code/modules/overmap/objects/outpost/outpost.dm @@ -43,6 +43,12 @@ var/max_missions = 15 /// List of missions that can be accepted at this outpost. Missions which have been accepted are removed from this list. var/list/datum/mission/missions + /// List of all of the things this outpost offers + var/list/supply_packs = list() + /// our 'Order number' + var/ordernum = 1 + /// Our faction of the outpost + var/datum/faction/faction /datum/overmap/outpost/Initialize(position, ...) . = ..() @@ -66,6 +72,7 @@ Rename(gen_outpost_name()) fill_missions() + populate_cargo() addtimer(CALLBACK(src, PROC_REF(fill_missions)), 10 MINUTES, TIMER_STOPPABLE|TIMER_LOOP|TIMER_DELETE_ME) /datum/overmap/outpost/Destroy(...) @@ -141,6 +148,17 @@ var/datum/mission/M = new mission_type(src) LAZYADD(missions, M) +/datum/overmap/outpost/proc/populate_cargo() + ordernum = rand(1, 99000) + + for(var/datum/supply_pack/current_pack as anything in subtypesof(/datum/supply_pack)) + current_pack = new current_pack() + if(current_pack.faction) + current_pack.faction = new current_pack.faction() + if(!current_pack.contains) + continue + supply_packs += current_pack + /datum/overmap/outpost/proc/load_main_level() if(!main_template) CRASH("[src] ([src.type]) tried to load without a template!") diff --git a/code/modules/overmap/objects/outpost/outpost_types.dm b/code/modules/overmap/objects/outpost/outpost_types.dm index bd6e7c727b59..665ba4da5472 100644 --- a/code/modules/overmap/objects/outpost/outpost_types.dm +++ b/code/modules/overmap/objects/outpost/outpost_types.dm @@ -131,6 +131,7 @@ // /datum/map_template/outpost/hangar/nt_ice_56x40 // ) // [/CELADON-REMOVE] + // faction = /datum/faction/nt /datum/overmap/outpost/no_main_level // For example and adminspawn. main_template = null diff --git a/code/modules/projectiles/guns/ballistic/assault.dm b/code/modules/projectiles/guns/ballistic/assault.dm index 0141667d1ce6..fa30b670f99c 100644 --- a/code/modules/projectiles/guns/ballistic/assault.dm +++ b/code/modules/projectiles/guns/ballistic/assault.dm @@ -77,34 +77,6 @@ item_state = "skm_inteq" manufacturer = MANUFACTURER_INTEQ -/obj/item/gun/ballistic/automatic/assault/p16 - name = "\improper P-16" - desc = "An assault rifle pattern from Sol, existing before the Night of Fire. A favorite of professional mercenaries and well-heeled pirates. Chambered in 5.56mm." - icon = 'icons/obj/guns/48x32guns.dmi' - fire_sound = 'sound/weapons/gun/rifle/m16.ogg' - icon_state = "p16" - item_state = "p16" - show_magazine_on_sprite = TRUE - w_class = WEIGHT_CLASS_BULKY - slot_flags = ITEM_SLOT_BACK - default_ammo_type = /obj/item/ammo_box/magazine/p16 - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/p16, - ) - spread = 2 - wield_delay = 0.5 SECONDS - - fire_delay = 0.18 SECONDS - - rack_sound = 'sound/weapons/gun/rifle/m16_cocked.ogg' - load_sound = 'sound/weapons/gun/rifle/m16_reload.ogg' - load_empty_sound = 'sound/weapons/gun/rifle/m16_reload.ogg' - eject_sound = 'sound/weapons/gun/rifle/m16_unload.ogg' - eject_empty_sound = 'sound/weapons/gun/rifle/m16_unload.ogg' - -/obj/item/gun/ballistic/automatic/assault/p16/no_mag - default_ammo_type = FALSE - /obj/item/gun/ballistic/automatic/assault/cm82 name = "\improper CM-16" desc = "The standard-issue rifle of CLIP and an extensively modified reproduction of the P-16. Chambered in 5.56mm." diff --git a/code/modules/reagents/reagent_containers/bottle.dm b/code/modules/reagents/reagent_containers/bottle.dm index df7949c9c654..80d636202f4c 100644 --- a/code/modules/reagents/reagent_containers/bottle.dm +++ b/code/modules/reagents/reagent_containers/bottle.dm @@ -39,6 +39,11 @@ desc = "A small bottle of morphine." list_reagents = list(/datum/reagent/medicine/morphine = 30) +/obj/item/reagent_containers/glass/bottle/painkiller_booze + name = "'painkiller' bottle" + desc = "A small bottle of an unmarked substance called 'painkiller.' Will this really work?" + list_reagents = list(/datum/reagent/consumable/ethanol/painkiller = 30) + /obj/item/reagent_containers/glass/bottle/chloralhydrate name = "chloral hydrate bottle" desc = "A small bottle of Choral Hydrate. Mickey's Favorite!" diff --git a/code/modules/spells/spell_types/rightandwrong.dm b/code/modules/spells/spell_types/rightandwrong.dm index bca247fe9026..a5c542c819ce 100644 --- a/code/modules/spells/spell_types/rightandwrong.dm +++ b/code/modules/spells/spell_types/rightandwrong.dm @@ -18,7 +18,7 @@ GLOBAL_LIST_INIT(summoned_guns, list( /obj/item/gun/ballistic/shotgun/doublebarrel, /obj/item/gun/ballistic/shotgun, /obj/item/gun/ballistic/shotgun/automatic/m11, - /obj/item/gun/ballistic/automatic/assault/p16, + /obj/item/gun/ballistic/automatic/m15, /obj/item/gun/ballistic/revolver/mateba, /obj/item/gun/ballistic/rifle/illestren, /obj/item/pneumatic_cannon/speargun, diff --git a/shiptest.dme b/shiptest.dme index 6cc03f2a31a7..3f1f68b4b40a 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -2148,7 +2148,6 @@ #include "code\modules\events\spacevine.dm" #include "code\modules\events\spider_infestation.dm" #include "code\modules\events\spontaneous_appendicitis.dm" -#include "code\modules\events\stray_cargo.dm" #include "code\modules\events\vent_clog.dm" #include "code\modules\events\wormholes.dm" #include "code\modules\events\holiday\halloween.dm" diff --git a/tgui/packages/tgui/interfaces/OutpostCommunications/Catalog.js b/tgui/packages/tgui/interfaces/OutpostCommunications/Catalog.js index ebcad5d6a051..74a998cee05c 100644 --- a/tgui/packages/tgui/interfaces/OutpostCommunications/Catalog.js +++ b/tgui/packages/tgui/interfaces/OutpostCommunications/Catalog.js @@ -115,18 +115,28 @@ export const CargoCatalog = (props, context) => { From 45928084310d6394cc7c2ff0b2c91a2101e58300 Mon Sep 17 00:00:00 2001 From: Jedi-Toothpaste <53096233+Jedi-Toothpaste@users.noreply.github.com> Date: Fri, 29 Nov 2024 23:50:20 +0000 Subject: [PATCH 295/344] Claris and Gar Can Now Be Stored On Your Back (#3852) ## About The Pull Request The Claris and Gar can now be stored on your back, and suit storage (if you have armour) ## Why It's Good For The Game It was massively inconsistent that every other large rifle can be stored on the back slot. Also Solarians are the kind of mf'ers to sacrifice their bag to look more 'proper'. ## Changelog :cl: fix: Claris and Gar can now be stored on your back /:cl: --- code/modules/projectiles/guns/ballistic/gauss.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/projectiles/guns/ballistic/gauss.dm b/code/modules/projectiles/guns/ballistic/gauss.dm index ec7eaede5c90..9f28d3e2f8d0 100644 --- a/code/modules/projectiles/guns/ballistic/gauss.dm +++ b/code/modules/projectiles/guns/ballistic/gauss.dm @@ -103,6 +103,7 @@ allowed_cell_types = list( /obj/item/stock_parts/cell/gun/solgov, ) + slot_flags = ITEM_SLOT_BACK fire_delay = 0.4 SECONDS bolt_type = BOLT_TYPE_NO_BOLT internal_magazine = TRUE @@ -143,8 +144,8 @@ allowed_cell_types = list( /obj/item/stock_parts/cell/gun/solgov, ) + slot_flags = ITEM_SLOT_BACK burst_size = 1 - fire_delay = 0.2 SECONDS actions_types = list() From 6906895a95b1c7c9f353c756a04437561e078ee3 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Sat, 30 Nov 2024 15:49:55 -0500 Subject: [PATCH 296/344] Gun Tweaks (#3730) ## About The Pull Request Makes E-Tars marginally less shit Makes gun slowdown defines Reduces wield slowdown across the board (more majorly towards the top). Makes the CM-23's laser real ## Why It's Good For The Game Talked about it a bit last night. I want to see how these values feel. Worst comes to worst they can be adjusted up since they're defines :) ## Changelog :cl: balance: Gun slowdown has been reduced across the board balance: E-tars are now less bad /:cl: --- code/__DEFINES/guns.dm | 28 + .../items/attachments/energy_bayonet.dm | 2 +- .../projectiles/ammunition/energy/laser.dm | 2 +- .../projectiles/guns/ballistic/assault.dm | 36 +- .../projectiles/guns/ballistic/automatic.dm | 18 +- .../projectiles/guns/ballistic/gauss.dm | 139 +-- .../modules/projectiles/guns/ballistic/hmg.dm | 5 +- .../projectiles/guns/ballistic/marksman.dm | 3 +- .../projectiles/guns/ballistic/pistol.dm | 77 +- .../projectiles/guns/ballistic/revolver.dm | 205 +--- .../projectiles/guns/ballistic/rifle.dm | 120 +-- .../projectiles/guns/ballistic/shotgun.dm | 530 +--------- .../modules/projectiles/guns/ballistic/smg.dm | 34 +- .../projectiles/guns/energy/energy_gun.dm | 8 +- code/modules/projectiles/guns/energy/laser.dm | 4 +- .../clip_lanchester/ballistics.dm | 34 +- .../manufacturer/etherbor/energy_gunsword.dm | 8 +- .../frontier_import/ballistics.dm | 4 +- .../manufacturer/hunter_pride/ballistics.dm | 935 ++++++++++++++++++ .../manufacturer/scarborough/ballistics.dm | 10 +- .../serene_sporting/ballistics.dm | 15 +- .../manufacturer/solar_armories/ballistic.dm | 209 ++++ .../manufacturer/clip_lanchester/48x32.dmi | Bin 11416 -> 4673 bytes shiptest.dme | 2 + 24 files changed, 1244 insertions(+), 1184 deletions(-) create mode 100644 code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm create mode 100644 code/modules/projectiles/guns/manufacturer/solar_armories/ballistic.dm diff --git a/code/__DEFINES/guns.dm b/code/__DEFINES/guns.dm index 29805d3e4e3c..0dd8018e2477 100644 --- a/code/__DEFINES/guns.dm +++ b/code/__DEFINES/guns.dm @@ -76,6 +76,34 @@ #define GUN_NO_SAFETY_MALFUNCTION_CHANCE_MEDIUM 10 #define GUN_NO_SAFETY_MALFUNCTION_CHANCE_HIGH 15 +//slowdown defines +#define NO_SLOWDOWN 0.0 +#define LIGHT_PISTOL_SLOWDOWN 0.05 +#define PISTOL_SLOWDOWN 0.1 +#define REVOLVER_SLOWDOWN 0.15 +#define HEAVY_REVOLVER_SLOWDOWN 0.2 +#define PDW_SLOWDOWN 0.25 +#define SMG_SLOWDOWN 0.3 +#define SHOTGUN_SLOWDOWN 0.4 +#define HEAVY_SHOTGUN_SLOWDOWN 0.45 +#define LIGHT_RIFLE_SLOWDOWN 0.45 +#define RIFLE_SLOWDOWN 0.55 +#define HEAVY_RIFLE_SLOWDOWN 0.6 +#define DMR_SLOWDOWN 0.6 +#define SAW_SLOWDOWN 0.7 +#define SNIPER_SLOWDOWN 0.9 +#define HMG_SLOWDOWN 1 +#define AMR_SLOWDOWN 1 + + +//laser slowdown +#define LASER_PISTOL_SLOWDOWN 0.05 +#define LASER_SMG_SLOWDOWN 0.2 +#define LASER_RIFLE_SLOWDOWN 0.35 +#define HEAVY_LASER_RIFLE_SLOWDOWN 0.45 +#define LASER_SNIPER_SLOWDOWN 0.6 + + ///////////////// // ATTACHMENTS // ///////////////// diff --git a/code/game/objects/items/attachments/energy_bayonet.dm b/code/game/objects/items/attachments/energy_bayonet.dm index d3f442fa3ab6..82d206d428ba 100644 --- a/code/game/objects/items/attachments/energy_bayonet.dm +++ b/code/game/objects/items/attachments/energy_bayonet.dm @@ -10,7 +10,7 @@ attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") sharpness = IS_BLUNT slot = ATTACHMENT_SLOT_MUZZLE - attach_features_flags = ATTACH_TOGGLE + attach_features_flags = ATTACH_TOGGLE | ATTACH_REMOVABLE_HAND light_range = 2 light_power = 0.6 diff --git a/code/modules/projectiles/ammunition/energy/laser.dm b/code/modules/projectiles/ammunition/energy/laser.dm index 9411382ed0cd..4df0b3b40c4a 100644 --- a/code/modules/projectiles/ammunition/energy/laser.dm +++ b/code/modules/projectiles/ammunition/energy/laser.dm @@ -31,7 +31,7 @@ fire_sound = 'sound/weapons/gun/laser/e-fire.ogg' /obj/item/ammo_casing/energy/laser/smg - projectile_type = /obj/projectile/beam/laser/weak/negative_ap + projectile_type = /obj/projectile/beam/laser/weak e_cost = 799 //12 shots with a normal power cell, 25 with an upgraded select_name = "kill" delay = 0.13 SECONDS diff --git a/code/modules/projectiles/guns/ballistic/assault.dm b/code/modules/projectiles/guns/ballistic/assault.dm index fa30b670f99c..f6da18d86254 100644 --- a/code/modules/projectiles/guns/ballistic/assault.dm +++ b/code/modules/projectiles/guns/ballistic/assault.dm @@ -4,7 +4,7 @@ gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO) default_firemode = FIREMODE_SEMIAUTO wield_delay = 0.8 SECONDS - wield_slowdown = 0.6 + wield_slowdown = RIFLE_SLOWDOWN fire_delay = 0.2 SECONDS @@ -270,37 +270,3 @@ default_firemode = FIREMODE_FULLAUTO spread_unwielded = 20 - -//techinically a battle rifle, i'm putting it here for organisation sake - -/obj/item/gun/ballistic/automatic/marksman/vickland //weapon designed by Apogee-dev - name = "\improper Vickland" - desc = "The pride of the Saint-Roumain Militia, the Vickland is a rare semi-automatic battle rifle produced by Hunter's Pride exclusively for SRM use. It is unusual in its class for its internal rotary magazine, which must be reloaded using stripper clips. Chambered in .308." - icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - - fire_sound = 'sound/weapons/gun/rifle/vickland.ogg' - icon_state = "vickland" - item_state = "vickland" - weapon_weight = WEAPON_MEDIUM - w_class = WEIGHT_CLASS_BULKY - internal_magazine = TRUE - default_ammo_type = /obj/item/ammo_box/magazine/internal/vickland - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/internal/vickland, - ) - fire_sound = 'sound/weapons/gun/rifle/vickland.ogg' - - manufacturer = MANUFACTURER_HUNTERSPRIDE - zoomable = FALSE //no scope on it - - rack_sound = 'sound/weapons/gun/rifle/ar_cock.ogg' - - fire_delay = 0.4 SECONDS - - spread_unwielded = 25 - recoil = 0 - recoil_unwielded = 4 - wield_slowdown = 0.75 diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index 33486d172948..15db3abb296e 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -19,23 +19,7 @@ spread_unwielded = 13 recoil = 0 recoil_unwielded = 4 - wield_slowdown = 0.35 - -// Laser rifle (rechargeable magazine) // - -/obj/item/gun/ballistic/automatic/laser //TODO: REMOVE - name = "laser rifle" - desc = "Though sometimes mocked for the relatively weak firepower of their energy weapons, the logistic miracle of rechargeable ammunition has given Nanotrasen a decisive edge over many a foe." - icon_state = "oldrifle" - item_state = "arg" - default_ammo_type = /obj/item/ammo_box/magazine/recharge - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/recharge, - ) - fire_delay = 0.2 SECONDS - burst_size = 0 - fire_sound = 'sound/weapons/laser.ogg' - casing_ejector = FALSE + wield_slowdown = PDW_SLOWDOWN /obj/item/gun/ballistic/automatic/zip_pistol name = "makeshift pistol" diff --git a/code/modules/projectiles/guns/ballistic/gauss.dm b/code/modules/projectiles/guns/ballistic/gauss.dm index 9f28d3e2f8d0..0b4319d5be8a 100644 --- a/code/modules/projectiles/guns/ballistic/gauss.dm +++ b/code/modules/projectiles/guns/ballistic/gauss.dm @@ -29,143 +29,6 @@ spread_unwielded = 25 recoil = 0 recoil_unwielded = 4 - wield_slowdown = 0.75 + wield_slowdown = HEAVY_RIFLE_SLOWDOWN wield_delay = 1 SECONDS fire_select_icon_state_prefix = "pellet_" - -/obj/item/gun/ballistic/automatic/powered/gauss/modelh - name = "Model H" - desc = "A standard-issue pistol exported from the Solarian Confederation. It fires slow flesh-rending ferromagnetic slugs at a high energy cost, however they are ineffective on any armor." - - icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' - icon_state = "model-h" - item_state = "model-h" - fire_sound = 'sound/weapons/gun/gauss/modelh.ogg' - load_sound = 'sound/weapons/gun/gauss/pistol_reload.ogg' - - default_ammo_type = /obj/item/ammo_box/magazine/modelh - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/modelh, - ) - default_cell_type = /obj/item/stock_parts/cell/gun/solgov - allowed_cell_types = list( - /obj/item/stock_parts/cell/gun/solgov, - ) - - slot_flags = ITEM_SLOT_BELT - w_class = WEIGHT_CLASS_SMALL - fire_delay = 0.6 SECONDS //pistol, but heavy caliber. - show_magazine_on_sprite = FALSE - empty_indicator = FALSE - manufacturer = MANUFACTURER_SOLARARMORIES - recoil = 2 - recoil_unwielded = 4 - spread = 6 - spread_unwielded = 12 - fire_select_icon_state_prefix = "slug_" - - valid_attachments = list( - /obj/item/attachment/laser_sight, - /obj/item/attachment/rail_light, - ) - -/obj/item/gun/ballistic/automatic/powered/gauss/modelh/no_mag - default_ammo_type = FALSE - -/obj/item/gun/ballistic/automatic/powered/gauss/modelh/suns - desc = "A standard-issue pistol exported from the Solarian Confederation. It fires slow flesh-rending ferromagnetic slugs at a high energy cost, however they are ineffective on any armor. It is painted in the colors of SUNS." - default_ammo_type = /obj/item/ammo_box/magazine/modelh - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/modelh, - ) - icon_state = "model-h_suns" - item_state = "model-h_suns" - -/obj/item/gun/ballistic/automatic/powered/gauss/claris - name = "Claris" - desc = "An antiquated Solarian rifle. Chambered in ferromagnetic pellets, just as the founding Solarians intended." - default_ammo_type = /obj/item/ammo_box/magazine/internal/claris - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/internal/claris, - ) - icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' - icon_state = "claris" - item_state = "claris" - fire_sound = 'sound/weapons/gun/gauss/claris.ogg' - load_sound = 'sound/weapons/gun/gauss/sniper_reload.ogg' - default_cell_type = /obj/item/stock_parts/cell/gun/solgov - allowed_cell_types = list( - /obj/item/stock_parts/cell/gun/solgov, - ) - slot_flags = ITEM_SLOT_BACK - fire_delay = 0.4 SECONDS - bolt_type = BOLT_TYPE_NO_BOLT - internal_magazine = TRUE - show_magazine_on_sprite = FALSE - empty_indicator = FALSE - manufacturer = MANUFACTURER_SOLARARMORIES - fire_select_icon_state_prefix = "pellet_" - - valid_attachments = list( - /obj/item/attachment/laser_sight, - /obj/item/attachment/rail_light, - /obj/item/attachment/bayonet, - /obj/item/attachment/energy_bayonet - ) - - -/obj/item/gun/ballistic/automatic/powered/gauss/claris/suns - desc = "An antiquated Solarian rifle. Chambered in ferromagnetic pellets, just as the founding Solarians intended. Evidently, SUNS' founders echo the sentiment, as it appears to be painted in their colors." - icon_state = "claris_suns" - item_state = "claris_suns" - -/obj/item/gun/ballistic/automatic/powered/gauss/gar - name = "Solar 'GAR' Carbine" - desc = "A Solarian carbine, unusually modern for its producers. Launches ferromagnetic lances at alarming speeds." - default_ammo_type = /obj/item/ammo_box/magazine/gar - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/gar, - ) - icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' - icon_state = "gar" - item_state = "gar" - fire_sound = 'sound/weapons/gun/gauss/gar.ogg' - load_sound = 'sound/weapons/gun/gauss/rifle_reload.ogg' - default_cell_type = /obj/item/stock_parts/cell/gun/solgov - allowed_cell_types = list( - /obj/item/stock_parts/cell/gun/solgov, - ) - slot_flags = ITEM_SLOT_BACK - burst_size = 1 - fire_delay = 0.2 SECONDS - - actions_types = list() - empty_indicator = FALSE - manufacturer = MANUFACTURER_SOLARARMORIES - - valid_attachments = list( - /obj/item/attachment/laser_sight, - /obj/item/attachment/rail_light, - /obj/item/attachment/bayonet, - /obj/item/attachment/energy_bayonet - ) - - gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO) - default_firemode = FIREMODE_SEMIAUTO - - wield_delay = 0.7 SECONDS - fire_select_icon_state_prefix = "lance_" - -/obj/item/gun/ballistic/automatic/powered/gauss/gar/suns - desc = "A Solarian carbine, unusually modern for its producers. It's just modern enough for SUNS, however, who have painted the weapon in their colors. Launches ferromagnetic lances at alarming speeds." - icon_state = "gar_suns" - item_state = "gar_suns" diff --git a/code/modules/projectiles/guns/ballistic/hmg.dm b/code/modules/projectiles/guns/ballistic/hmg.dm index 46f615ccf9cc..a55a26063f5f 100644 --- a/code/modules/projectiles/guns/ballistic/hmg.dm +++ b/code/modules/projectiles/guns/ballistic/hmg.dm @@ -12,11 +12,12 @@ gun_firemodes = list(FIREMODE_FULLAUTO) default_firemode = FIREMODE_FULLAUTO + wield_slowdown = HMG_SLOWDOWN + spread = 4 spread_unwielded = 80 recoil = 1 recoil_unwielded = 4 - wield_slowdown = 3 gunslinger_recoil_bonus = 2 gunslinger_spread_bonus = 20 @@ -194,7 +195,7 @@ recoil = 1 //identical to other LMGS recoil_unwielded = 4 //same as skm - wield_slowdown = 1 //not as severe as other lmgs, but worse than the normal skm + wield_slowdown = SAW_SLOWDOWN //not as severe as other lmgs, but worse than the normal skm wield_delay = 0.85 SECONDS //faster than normal lmgs, slower than stock skm has_bipod = TRUE diff --git a/code/modules/projectiles/guns/ballistic/marksman.dm b/code/modules/projectiles/guns/ballistic/marksman.dm index 9d63e66bcab7..71458e24f1d2 100644 --- a/code/modules/projectiles/guns/ballistic/marksman.dm +++ b/code/modules/projectiles/guns/ballistic/marksman.dm @@ -1,8 +1,7 @@ - /obj/item/gun/ballistic/automatic/marksman show_magazine_on_sprite = TRUE burst_size = 1 zoomable = TRUE //this var as true without setting anything else produces a 2x zoom - wield_slowdown = 2 + wield_slowdown = DMR_SLOWDOWN wield_delay = 1 SECONDS diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm index 54ee4455973d..d7d275986a87 100644 --- a/code/modules/projectiles/guns/ballistic/pistol.dm +++ b/code/modules/projectiles/guns/ballistic/pistol.dm @@ -15,53 +15,10 @@ fire_delay = 0.2 SECONDS spread = 5 spread_unwielded = 7 - wield_slowdown = 0.15 + wield_slowdown = PISTOL_SLOWDOWN muzzleflash_iconstate = "muzzle_flash_light" -/obj/item/gun/ballistic/automatic/pistol/candor - name = "\improper Candor" - desc = "A classic semi-automatic handgun, widely popular throughout the Frontier. An engraving on the slide marks it as a product of Hunter's Pride. Chambered in .45." - icon_state = "candor" - item_state = "hp_generic" - icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - - default_ammo_type = /obj/item/ammo_box/magazine/m45 - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/m45, - ) - fire_sound = 'sound/weapons/gun/pistol/candor.ogg' - rack_sound = 'sound/weapons/gun/pistol/candor_cocked.ogg' - lock_back_sound = 'sound/weapons/gun/pistol/slide_lock.ogg' - bolt_drop_sound = 'sound/weapons/gun/pistol/candor_cocked.ogg' - manufacturer = MANUFACTURER_HUNTERSPRIDE - load_sound = 'sound/weapons/gun/pistol/candor_reload.ogg' - load_empty_sound = 'sound/weapons/gun/pistol/candor_reload.ogg' - eject_sound = 'sound/weapons/gun/pistol/candor_unload.ogg' - eject_empty_sound = 'sound/weapons/gun/pistol/candor_unload.ogg' - show_magazine_on_sprite = TRUE - -NO_MAG_GUN_HELPER(automatic/pistol/candor) - -/obj/item/gun/ballistic/automatic/pistol/candor/factory //also give this to the srm, their candors should probably look factory fresh from how well taken care of they are - desc = "A classic semi-automatic handgun, widely popular throughout the Frontier. An engraving on the slide marks it as a product of 'Hunter's Pride Arms and Ammunition'. This example has been kept in especially good shape, and may as well be fresh out of the workshop. Chambered in .45." - item_state = "hp_generic_fresh" - -NO_MAG_GUN_HELPER(automatic/pistol/candor/factory) - -/obj/item/gun/ballistic/automatic/pistol/candor/factory/update_overlays() - . = ..() - . += "[initial(icon_state)]_factory" - -/obj/item/gun/ballistic/automatic/pistol/candor/phenex - name = "\improper HP Phenex" - desc = "A uniquely modified version of the Candor, famously created by Hunter's Pride. Named after the daemonic Phoenix of legend that the Ashen Huntsman had once slain, this hell-kissed weapon is more visually intimidating than its original counterpart, but mechanically acts the same. Chambered in .45." - icon_state = "phenex" - item_state = "hp_phenex" - /obj/item/gun/ballistic/automatic/pistol/deagle name = "\improper Desert Eagle" desc = "An oversized handgun chambered in .50 AE. A true hand cannon." @@ -170,36 +127,6 @@ NO_MAG_GUN_HELPER(automatic/pistol/candor/factory) if(funnysounds) . += "Alt-click to use \the [src] vox hailer." -/obj/item/gun/ballistic/automatic/pistol/solgov - name = "\improper Pistole C" - desc = "A favorite of the Terran Regency that is despised by the Solarian bureaucracy. Shifted out of military service centuries ago, though still popular among civilians. Chambered in 5.56mm caseless." - icon_state = "pistole-c" - icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' - - weapon_weight = WEAPON_LIGHT - default_ammo_type = /obj/item/ammo_box/magazine/pistol556mm - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/pistol556mm, - ) - fire_sound = 'sound/weapons/gun/pistol/pistolec.ogg' - manufacturer = MANUFACTURER_SOLARARMORIES - load_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' - load_empty_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' - eject_sound = 'sound/weapons/gun/pistol/mag_release.ogg' - eject_empty_sound = 'sound/weapons/gun/pistol/mag_release.ogg' - - rack_sound = 'sound/weapons/gun/pistol/rack_small.ogg' - lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' - bolt_drop_sound = 'sound/weapons/gun/pistol/drop_small.ogg' - - fire_select_icon_state_prefix = "caseless_" - -/obj/item/gun/ballistic/automatic/pistol/solgov/old - icon_state = "pistole-c-old" - /obj/item/gun/ballistic/automatic/pistol/disposable name = "disposable gun" desc = "An exceedingly flimsy plastic gun that is extremely cheap to produce. You get what you pay for." @@ -289,5 +216,3 @@ NO_MAG_GUN_HELPER(automatic/pistol/candor/factory) ) EMPTY_GUN_HELPER(ballistic/derringer) - - diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index 752af51a57e5..36fece5f8c31 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -39,7 +39,7 @@ bolt_wording = "hammer" dry_fire_sound = 'sound/weapons/gun/general/bolt_drop.ogg' dry_fire_text = "snap" - wield_slowdown = 0.3 + wield_slowdown = REVOLVER_SLOWDOWN gun_firemodes = list(FIREMODE_SEMIAUTO) default_firemode = FIREMODE_SEMIAUTO @@ -458,87 +458,6 @@ playsound(src, 'sound/items/handling/ammobox_pickup.ogg', 20, FALSE) return -/obj/item/gun/ballistic/revolver/detective - name = "\improper HP Detective Special" - desc = "A small law enforcement firearm. Originally commissioned by Nanotrasen for their Private Investigation division, it has become extremely popular among independent civilians as a cheap, compact sidearm. Uses .38 Special rounds." - fire_sound = 'sound/weapons/gun/revolver/shot_light.ogg' - icon_state = "detective" - item_state = "hp_generic" - icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - - default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38 - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/internal/cylinder/rev38, - ) - obj_flags = UNIQUE_RENAME - semi_auto = TRUE //double action - safety_wording = "safety" - unique_reskin = list("Default" = "detective", - "Stainless Steel" = "detective_stainless", - "Gold Trim" = "detective_gold", - "Leopard Spots" = "detective_leopard", - "The Peacemaker" = "detective_peacemaker", - "Black Panther" = "detective_panther" - ) - w_class = WEIGHT_CLASS_SMALL - manufacturer = MANUFACTURER_HUNTERSPRIDE - - recoil = 0 //weaker than normal revolver, no recoil - fire_delay = 0.2 SECONDS - -EMPTY_GUN_HELPER(revolver/detective) - -/obj/item/gun/ballistic/revolver/detective/ComponentInitialize() - . = ..() - AddComponent(/datum/component/ammo_hud/revolver) //note that the hud at the moment only supports 6 round revolvers, 7 or 5 isn't supported rn -//...why...? -/obj/item/gun/ballistic/revolver/detective/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0, burst_firing = FALSE, spread_override = 0, iteration = 0) - if(magazine.caliber != initial(magazine.caliber)) - if(prob(100 - (magazine.ammo_count() * 5))) //minimum probability of 70, maximum of 95 - playsound(user, fire_sound, fire_sound_volume, vary_fire_sound) - to_chat(user, "[src] blows up in your face!") - user.take_bodypart_damage(0,20) - explosion(src, 0, 0, 1, 1) - user.dropItemToGround(src) - return 0 - ..() - -/obj/item/gun/ballistic/revolver/detective/screwdriver_act(mob/living/user, obj/item/I) - if(..()) - return TRUE - if(magazine.caliber == "38") - to_chat(user, "You begin to reinforce the barrel of [src]...") - if(magazine.ammo_count()) - afterattack(user, user) //you know the drill - user.visible_message("[src] goes off!", "[src] goes off in your face!") - return TRUE - if(I.use_tool(src, user, 30)) - if(magazine.ammo_count()) - to_chat(user, "You can't modify it!") - return TRUE - magazine.caliber = ".357" - fire_sound = 'sound/weapons/gun/revolver/shot.ogg' - desc = "The barrel and chamber assembly seems to have been modified." - to_chat(user, "You reinforce the barrel of [src]. Now it will fire .357 rounds.") - else - to_chat(user, "You begin to revert the modifications to [src]...") - if(magazine.ammo_count()) - afterattack(user, user) //and again - user.visible_message("[src] goes off!", "[src] goes off in your face!") - return TRUE - if(I.use_tool(src, user, 30)) - if(magazine.ammo_count()) - to_chat(user, "You can't modify it!") - return - magazine.caliber = ".38" - fire_sound = 'sound/weapons/gun/revolver/shot.ogg' - desc = initial(desc) - to_chat(user, "You remove the modifications on [src]. Now it will fire .38 rounds.") - return TRUE - EMPTY_GUN_HELPER(revolver) EMPTY_GUN_HELPER(revolver/viper) @@ -563,125 +482,3 @@ EMPTY_GUN_HELPER(revolver/viper) fire_sound = 'sound/weapons/resonator_blast.ogg' recoil = 8 manufacturer = MANUFACTURER_NONE - -/obj/item/gun/ballistic/revolver/montagne - name = "\improper HP Montagne" - desc = "An ornate break-open revolver issued to high-ranking members of the Saint-Roumain Militia. Chambered in .44." - icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - - icon_state = "montagne" - item_state = "hp_generic" - manufacturer = MANUFACTURER_HUNTERSPRIDE - spread_unwielded = 15 - recoil = 0 - - default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder/rev44/montagne - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/internal/cylinder/rev44/montagne, - ) - -/obj/item/gun/ballistic/revolver/montagne/ComponentInitialize() - . = ..() - AddComponent(/datum/component/ammo_hud/revolver) - -EMPTY_GUN_HELPER(revolver/montagne) - -/obj/item/gun/ballistic/revolver/ashhand - name = "HP Ashhand" - desc = "A massive, long-barreled revolver often used by the Saint-Roumain Militia as protection against big game. Can only be reloaded one cartridge at a time due to its reinforced frame. Uses .45-70 ammo." - icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - - icon_state = "ashhand" - item_state = "ashhand" - default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder/rev4570 - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/internal/cylinder/rev4570, - ) - fire_sound = 'sound/weapons/gun/revolver/shot_hunting.ogg' - rack_sound = 'sound/weapons/gun/revolver/viper_prime.ogg' - manufacturer = MANUFACTURER_HUNTERSPRIDE - gate_loaded = TRUE - fire_delay = 0.6 SECONDS - wield_slowdown = 0.5 - spread_unwielded = 20 - spread = 6 - recoil = 2 - recoil_unwielded = 4 - -/obj/item/gun/ballistic/revolver/ashhand/ComponentInitialize() - . = ..() - AddComponent(/datum/component/ammo_hud/revolver) - -/obj/item/gun/ballistic/revolver/firebrand - name = "\improper HP Firebrand" - desc = "An archaic precursor to revolver-type firearms, this gun was rendered completely obsolete millennia ago. While fast to fire, it is extremely inaccurate. Uses .357 ammo." - icon_state = "pepperbox" - item_state = "hp_generic_fresh" - icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - - default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder/pepperbox - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/internal/cylinder/pepperbox, - ) - spread = 20 - manufacturer = MANUFACTURER_HUNTERSPRIDE - spread_unwielded = 50 - fire_delay = 0 SECONDS - gate_offset = 4 - semi_auto = TRUE - safety_wording = "safety" - -EMPTY_GUN_HELPER(revolver/firebrand) - -/obj/item/gun/ballistic/revolver/shadow - name = "\improper HP Shadow" - desc = "A mid-size revolver. Despite the antiquated design, it is cheap, reliable, and stylish, making it a favorite among fast-drawing spacers and the officers of various militaries, as well as small-time police units. Chambered in .44." - fire_sound = 'sound/weapons/gun/revolver/cattleman.ogg' - icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - icon_state = "shadow" - item_state = "shadow" - - default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder/rev44 - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/internal/cylinder/rev44, - ) - manufacturer = MANUFACTURER_HUNTERSPRIDE - obj_flags = UNIQUE_RENAME - gate_loaded = TRUE - unique_reskin = list(\ - "Shadow" = "shadow", - "Cattleman" = "shadow_cattleman", - "General" = "shadow_general", - "Sheriff" = "shadow_sheriff", - "Cobra" = "shadow_cobra", - "Hired Gun" = "shadow_hiredgun", - "Buntline" = "shadow_buntline", - "Cavalry" = "shadow_cavalry", - "Lanchester Special" = "shadow_lanchester" - ) - - recoil = 0 //weaker than normal revolver, no recoil - spread_unwielded = 10 - -/obj/item/gun/ballistic/revolver/shadow/ComponentInitialize() - . = ..() - AddComponent(/datum/component/ammo_hud/revolver) - -/obj/item/gun/ballistic/revolver/shadow/reskin_obj(mob/M) - . = ..() - if(current_skin) - item_state = unique_reskin[current_skin] - -EMPTY_GUN_HELPER(revolver/shadow) diff --git a/code/modules/projectiles/guns/ballistic/rifle.dm b/code/modules/projectiles/guns/ballistic/rifle.dm index 9396db025d7e..b60ab788ba80 100644 --- a/code/modules/projectiles/guns/ballistic/rifle.dm +++ b/code/modules/projectiles/guns/ballistic/rifle.dm @@ -11,7 +11,6 @@ ) bolt_wording = "bolt" w_class = WEIGHT_CLASS_BULKY - weapon_weight = WEAPON_HEAVY slot_flags = ITEM_SLOT_BACK bolt_type = BOLT_TYPE_STANDARD semi_auto = FALSE @@ -32,7 +31,7 @@ spread_unwielded = 48 recoil = -3 recoil_unwielded = 4 - wield_slowdown = 1 + wield_slowdown = RIFLE_SLOWDOWN wield_delay = 1.2 SECONDS /obj/item/gun/ballistic/rifle/update_overlays() @@ -54,7 +53,7 @@ /obj/item/gun/ballistic/rifle/eject_magazine(mob/user, display_message = TRUE, obj/item/ammo_box/magazine/tac_load = null) if (!bolt_locked && empty_autoeject) - to_chat(user, "The bolt is closed!") + to_chat(user, span_notice("The bolt is closed!")) return return ..() @@ -65,7 +64,7 @@ /obj/item/gun/ballistic/rifle/attackby(obj/item/A, mob/user, params) if (!bolt_locked) - to_chat(user, "The bolt is closed!") + to_chat(user, span_notice("The bolt is closed!")) return return ..() @@ -73,119 +72,6 @@ . = ..() . += "The bolt is [bolt_locked ? "open" : "closed"]." -/obj/item/gun/ballistic/rifle/illestren - name = "\improper HP Illestren" - desc = "A sturdy and conventional bolt-action rifle. One of Hunter's Pride's most successful firearms, the Illestren is popular among colonists, pirates, snipers, and countless others. Chambered in 8x50mmR." - icon_state = "illestren" - item_state = "illestren" - icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - - sawn_desc = "An Illestren rifle sawn down to a ridiculously small size. There was probably a reason it wasn't made this short to begin with, but it still packs a punch." - eject_sound = 'sound/weapons/gun/rifle/vickland_unload.ogg' - eject_empty_sound = 'sound/weapons/gun/rifle/vickland_unload.ogg' - - internal_magazine = FALSE - default_ammo_type = /obj/item/ammo_box/magazine/illestren_a850r - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/illestren_a850r, - ) - empty_autoeject = TRUE - eject_sound_vary = FALSE - can_be_sawn_off = TRUE - manufacturer = MANUFACTURER_HUNTERSPRIDE - -/obj/item/gun/ballistic/rifle/illestren/empty //i had to name it empty instead of no_mag because else it wouldnt work with guncases. sorry! - default_ammo_type = FALSE - -/obj/item/gun/ballistic/rifle/illestren/sawoff(forced = FALSE) - . = ..() - if(.) - spread = 24 - spread_unwielded = 30 - item_state = "illestren_sawn" - mob_overlay_state = item_state - weapon_weight = WEAPON_MEDIUM //you can fire it onehanded, makes it worse than worse than useless onehanded, but you can - -/obj/item/gun/ballistic/rifle/illestren/blow_up(mob/user) - . = FALSE - if(chambered && chambered.BB) - process_fire(user, user, FALSE) - . = TRUE - -/obj/item/gun/ballistic/rifle/illestren/factory - desc = "A sturdy and conventional bolt-action rifle. One of Hunter's Pride's most successful firearms, this example has been kept in excellent shape and may as well be fresh out of the workshop. Chambered in 8x50mmR." - icon_state = "illestren_factory" - item_state = "illestren_factory" - -/obj/item/gun/ballistic/rifle/illestren/sawoff(forced = FALSE) - . = ..() - if(.) - item_state = "illestren_factory_sawn" - mob_overlay_state = item_state - -/obj/item/gun/ballistic/rifle/illestren/sawn - desc = "An Illestren rifle sawn down to a ridiculously small size. There was probably a reason it wasn't made this short to begin with, but it still packs a punch." - sawn_off = TRUE - -/obj/item/gun/ballistic/rifle/solgov - name = "SSG-669C" - desc = "A bolt-action sniper rifle used by Solarian troops. Beloved for its rotary design and accuracy. Chambered in 8x58mm Caseless." - default_ammo_type = /obj/item/ammo_box/magazine/internal/boltaction/solgov - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/internal/boltaction/solgov, - ) - icon_state = "ssg669c" - item_state = "ssg669c" - icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' - - fire_sound = 'sound/weapons/gun/rifle/ssg669c.ogg' - can_be_sawn_off = FALSE - - zoomable = TRUE - zoom_amt = 10 //Long range, enough to see in front of you, but no tiles behind you. - zoom_out_amt = 5 - - manufacturer = MANUFACTURER_SOLARARMORIES - spread = -5 - spread_unwielded = 20 - recoil = 0 - recoil_unwielded = 4 - wield_slowdown = 1 - wield_delay = 1.3 SECONDS - -/obj/item/gun/ballistic/rifle/scout - name = "HP Scout" - desc = "A powerful bolt-action rifle usually given to mercenary hunters of the Saint-Roumain Militia, equally suited for taking down big game or two-legged game. Chambered in .300 Magnum." - icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - icon_state = "scout" - item_state = "scout" - - default_ammo_type = /obj/item/ammo_box/magazine/internal/boltaction/smile - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/internal/boltaction/smile, - ) - fire_sound = 'sound/weapons/gun/rifle/scout.ogg' - - rack_sound = 'sound/weapons/gun/rifle/scout_bolt_out.ogg' - bolt_drop_sound = 'sound/weapons/gun/rifle/scout_bolt_in.ogg' - - can_be_sawn_off = FALSE - - zoomable = TRUE - zoom_amt = 10 //Long range, enough to see in front of you, but no tiles behind you. - zoom_out_amt = 5 - - manufacturer = MANUFACTURER_HUNTERSPRIDE - /obj/item/gun/ballistic/rifle/polymer name = "polymer survivor rifle" desc = "A bolt-action rifle made of scrap, desperation, and luck. Likely to shatter at any moment. Chambered in 7.62x40mm." diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index 39f6cb0dbea1..551856a088b1 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -30,7 +30,7 @@ default_firemode = FIREMODE_SEMIAUTO fire_select_icon_state_prefix = "sg_" - wield_slowdown = 0.45 + wield_slowdown = SHOTGUN_SLOWDOWN wield_delay = 0.8 SECONDS spread = 4 @@ -51,91 +51,6 @@ return TRUE return FALSE -// BRIMSTONE SHOTGUN // - -/obj/item/gun/ballistic/shotgun/brimstone - name = "HP Brimstone" - desc = "A simple and sturdy pump-action shotgun sporting a 5-round capacity, manufactured by Hunter's Pride. Found widely throughout the Frontier in the hands of hunters, pirates, police, and countless others. Chambered in 12g." - sawn_desc = "A stockless and shortened pump-action shotgun. The worsened recoil and accuracy make it a poor sidearm anywhere beyond punching distance." - fire_sound = 'sound/weapons/gun/shotgun/brimstone.ogg' - icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - - icon_state = "brimstone" - item_state = "brimstone" - - gun_firemodes = list(FIREMODE_FULLAUTO) - default_firemode = FIREMODE_FULLAUTO - - default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/lethal - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/internal/shot/lethal, - ) - manufacturer = MANUFACTURER_HUNTERSPRIDE - fire_delay = 0.05 SECONDS //slamfire - rack_delay = 0.2 SECONDS - - can_be_sawn_off = TRUE - - -/obj/item/gun/ballistic/shotgun/brimstone/sawoff(forced = FALSE) - . = ..() - if(.) - weapon_weight = WEAPON_MEDIUM - wield_slowdown = 0.25 - wield_delay = 0.3 SECONDS //OP? maybe - - spread = 18 - spread_unwielded = 25 - recoil = 5 //your punishment for sawing off an short shotgun - recoil_unwielded = 8 - item_state = "illestren_factory_sawn" // i couldnt care about making another sprite, looks close enough - mob_overlay_state = item_state - -EMPTY_GUN_HELPER(shotgun/brimstone) - -// HELLFIRE SHOTGUN // - -/obj/item/gun/ballistic/shotgun/hellfire - name = "HP Hellfire" - desc = "A hefty pump-action riot shotgun with a seven-round tube, manufactured by Hunter's Pride. Especially popular among the Frontier's police forces. Chambered in 12g." - icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - icon_state = "hellfire" - item_state = "hellfire" - - default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/riot - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/internal/shot/riot, - ) - sawn_desc = "Come with me if you want to live." - can_be_sawn_off = TRUE - rack_sound = 'sound/weapons/gun/shotgun/rack_alt.ogg' - fire_delay = 0.1 SECONDS - -/obj/item/gun/ballistic/shotgun/hellfire/sawoff(forced = FALSE) - . = ..() - if(.) - var/obj/item/ammo_box/magazine/internal/tube = magazine - tube.max_ammo = 5 //this makes the gun so much worse - - weapon_weight = WEAPON_MEDIUM - wield_slowdown = 0.25 - wield_delay = 0.3 SECONDS //OP? maybe - - spread = 8 - spread_unwielded = 15 - recoil = 3 //or not - recoil_unwielded = 5 - item_state = "dshotgun_sawn" // ditto - mob_overlay_state = item_state - -EMPTY_GUN_HELPER(shotgun/hellfire) - // Automatic Shotguns// /obj/item/gun/ballistic/shotgun/automatic spread = 4 @@ -146,6 +61,8 @@ EMPTY_GUN_HELPER(shotgun/hellfire) manufacturer = MANUFACTURER_NANOTRASEN semi_auto = TRUE + gunslinger_recoil_bonus = 1 + //Dual Feed Shotgun /obj/item/gun/ballistic/shotgun/automatic/dual_tube @@ -213,161 +130,6 @@ EMPTY_GUN_HELPER(shotgun/hellfire) NO_MAG_GUN_HELPER(shotgun/automatic/bulldog/inteq) -///////////////////////////// -// DOUBLE BARRELED SHOTGUN // -///////////////////////////// - -/obj/item/gun/ballistic/shotgun/doublebarrel - name = "double-barreled shotgun" - desc = "A classic break action shotgun, hand-made in a Hunter's Pride workshop. Both barrels can be fired in quick succession or even simultaneously. Guns like this have been popular with hunters, sporters, and criminals for millennia. Chambered in 12g." - sawn_desc = "A break action shotgun cut down to the size of a sidearm. While the recoil is even harsher, it offers a lot of power in a very small package. Chambered in 12g." - - icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - - base_icon_state = "dshotgun" - - icon_state = "dshotgun" - item_state = "dshotgun" - - rack_sound = 'sound/weapons/gun/shotgun/dbshotgun_break.ogg' - bolt_drop_sound = 'sound/weapons/gun/shotgun/dbshotgun_close.ogg' - - w_class = WEIGHT_CLASS_BULKY - weapon_weight = WEAPON_MEDIUM - force = 10 - flags_1 = CONDUCT_1 - slot_flags = ITEM_SLOT_BACK - default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/dual - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/internal/shot/dual, - ) - - obj_flags = UNIQUE_RENAME - unique_reskin = list("Default" = "dshotgun", - "Stainless Steel" = "dshotgun_white", - "Stained Green" = "dshotgun_green" - ) - semi_auto = TRUE - can_be_sawn_off = TRUE - bolt_type = BOLT_TYPE_NO_BOLT - pb_knockback = 3 // it's a super shotgun! - manufacturer = MANUFACTURER_HUNTERSPRIDE - bolt_wording = "barrel" - - burst_delay = 0.05 SECONDS - burst_size = 2 - gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_BURST) - default_firemode = FIREMODE_SEMIAUTO - -/obj/item/gun/ballistic/shotgun/doublebarrel/unique_action(mob/living/user) - if (bolt_locked == FALSE) - to_chat(user, "You snap open the [bolt_wording] of \the [src].") - playsound(src, rack_sound, rack_sound_volume, rack_sound_vary) - chambered = null - var/num_unloaded = 0 - for(var/obj/item/ammo_casing/casing_bullet in get_ammo_list(FALSE, TRUE)) - casing_bullet.forceMove(drop_location()) - var/angle_of_movement =(rand(-3000, 3000) / 100) + dir2angle(turn(user.dir, 180)) - casing_bullet.AddComponent(/datum/component/movable_physics, _horizontal_velocity = rand(450, 550) / 100, _vertical_velocity = rand(400, 450) / 100, _horizontal_friction = rand(20, 24) / 100, _z_gravity = PHYSICS_GRAV_STANDARD, _z_floor = 0, _angle_of_movement = angle_of_movement, _bounce_sound = casing_bullet.bounce_sfx_override) - - num_unloaded++ - SSblackbox.record_feedback("tally", "station_mess_created", 1, casing_bullet.name) - if (num_unloaded) - playsound(user, eject_sound, eject_sound_volume, eject_sound_vary) - update_appearance() - bolt_locked = TRUE - update_appearance() - return - drop_bolt(user) - -/obj/item/gun/ballistic/shotgun/doublebarrel/drop_bolt(mob/user = null) - playsound(src, bolt_drop_sound, bolt_drop_sound_volume, FALSE) - if (user) - to_chat(user, "You snap the [bolt_wording] of \the [src] closed.") - chamber_round() - bolt_locked = FALSE - update_appearance() - -/obj/item/gun/ballistic/shotgun/doublebarrel/can_shoot() - if (bolt_locked) - return FALSE - return ..() - -/obj/item/gun/ballistic/shotgun/doublebarrel/attackby(obj/item/A, mob/user, params) - if (!bolt_locked) - to_chat(user, "The [bolt_wording] is shut closed!") - return - return ..() - -/obj/item/gun/ballistic/shotgun/doublebarrel/update_icon_state() - . = ..() - if(current_skin) - icon_state = "[unique_reskin[current_skin]][sawn_off ? "_sawn" : ""][bolt_locked ? "_open" : ""]" - else - icon_state = "[base_icon_state || initial(icon_state)][sawn_off ? "_sawn" : ""][bolt_locked ? "_open" : ""]" - - -/obj/item/gun/ballistic/shotgun/doublebarrel/AltClick(mob/user) - . = ..() - if(unique_reskin && !current_skin && user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY) && (!bolt_locked)) - reskin_obj(user) - -/obj/item/gun/ballistic/shotgun/doublebarrel/sawoff(forced = FALSE) - . = ..() - if(.) - weapon_weight = WEAPON_MEDIUM - wield_slowdown = 0.25 - wield_delay = 0.3 SECONDS //OP? maybe - - spread = 8 - spread_unwielded = 15 - recoil = 3 //or not - recoil_unwielded = 5 - item_state = "dshotgun_sawn" - mob_overlay_state = item_state - -EMPTY_GUN_HELPER(shotgun/doublebarrel) - -// sawn off beforehand -/obj/item/gun/ballistic/shotgun/doublebarrel/presawn - name = "sawn-off double-barreled shotgun" - desc = "A break action shotgun cut down to the size of a sidearm. While the recoil is even harsher, it offers a lot of power in a very small package. Chambered in 12g." - sawn_off = TRUE - weapon_weight = WEAPON_MEDIUM - w_class = WEIGHT_CLASS_NORMAL - slot_flags = ITEM_SLOT_BELT - - wield_slowdown = 0.25 - wield_delay = 0.3 SECONDS //OP? maybe - - spread = 8 - spread_unwielded = 15 - recoil = 3 //or not - recoil_unwielded = 5 - item_state = "dshotgun_sawn" - default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/dual/lethal - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/internal/shot/dual/lethal, - ) - -EMPTY_GUN_HELPER(shotgun/doublebarrel/presawn) - -/obj/item/gun/ballistic/shotgun/doublebarrel/roumain - name = "HP antique double-barreled shotgun" - desc = "A special-edition shotgun hand-made by Hunter's Pride with a high-quality walnut stock inlaid with brass scrollwork. Shotguns like this are very rare outside of the Saint-Roumain Militia's ranks. Otherwise functionally identical to a common double-barreled shotgun. Chambered in 12g." - sawn_desc = "A special-edition Hunter's Pride shotgun, cut down to the size of a sidearm by some barbarian. The brass inlay on the stock and engravings on the barrel have been obliterated in the process, destroying any value beyond its use as a crude sidearm." - base_icon_state = "dshotgun_srm" - icon_state = "dshotgun_srm" - item_state = "dshotgun_srm" - unique_reskin = null - -/obj/item/gun/ballistic/shotgun/doublebarrel/roumain/sawoff(forced = FALSE) - . = ..() - if(.) - item_state = "dshotgun_srm_sawn" // IMPROVISED SHOTGUN // @@ -497,289 +259,3 @@ EMPTY_GUN_HELPER(shotgun/doublebarrel/presawn) allowed_ammo_types = list( /obj/item/ammo_box/magazine/internal/shot/hundred, ) - -//Lever-Action Rifles -/obj/item/gun/ballistic/shotgun/flamingarrow - name = "HP Flaming Arrow" - desc = "A sturdy and lightweight lever-action rifle with hand-stamped Hunter's Pride marks on the receiver. A popular choice among Frontier homesteaders for hunting small game and rudimentary self-defense. Chambered in .38." - sawn_desc = "A lever-action rifle that has been sawed down and modified for extra portability. While surprisingly effective as a sidearm, the more important benefit is how much cooler it looks." - base_icon_state = "flamingarrow" - icon_state = "flamingarrow" - item_state = "flamingarrow" - icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - inhand_x_dimension = 32 - inhand_y_dimension = 32 - default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/winchester - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/internal/shot/winchester, - ) - fire_sound = 'sound/weapons/gun/rifle/flamingarrow.ogg' - rack_sound = 'sound/weapons/gun/rifle/skm_cocked.ogg' - bolt_wording = "lever" - cartridge_wording = "bullet" - can_be_sawn_off = TRUE - - wield_slowdown = 0.5 - wield_delay = 0.65 SECONDS - - spread = -5 - spread_unwielded = 7 - - recoil = 0 - recoil_unwielded = 2 - -EMPTY_GUN_HELPER(shotgun/flamingarrow) - -/obj/item/gun/ballistic/shotgun/flamingarrow/update_icon_state() - . = ..() - if(current_skin) - icon_state = "[unique_reskin[current_skin]][sawn_off ? "_sawn" : ""]" - else - icon_state = "[base_icon_state || initial(icon_state)][sawn_off ? "_sawn" : ""]" - - -/obj/item/gun/ballistic/shotgun/flamingarrow/rack(mob/user = null) - . = ..() - if(!wielded) - SpinAnimation(7,1) - -/obj/item/gun/ballistic/shotgun/flamingarrow/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) - var/fan = FALSE - if(HAS_TRAIT(user, TRAIT_GUNSLINGER) && !semi_auto && wielded_fully && loc == user && !safety) - fan = TRUE - fire_delay = 0.35 SECONDS - . = ..() - fire_delay = src::fire_delay - if(fan) - rack() - to_chat(user, "You quickly rack the [bolt_wording] of \the [src]!") - balloon_alert_to_viewers("quickly racks!") - fire_delay = 0 SECONDS - -/obj/item/gun/ballistic/shotgun/flamingarrow/sawoff(forced = FALSE) - . = ..() - if(.) - var/obj/item/ammo_box/magazine/internal/tube = magazine - tube.max_ammo = 7 - - item_state = "flamingarrow_sawn" - mob_overlay_state = item_state - weapon_weight = WEAPON_MEDIUM - - wield_slowdown = 0.25 - wield_delay = 0.2 SECONDS //THE COWBOY RIFLE - - spread = 4 - spread_unwielded = 12 - - recoil = 0 - recoil_unwielded = 3 - -/obj/item/gun/ballistic/shotgun/flamingarrow/factory - desc = "A sturdy and lightweight lever-action rifle with hand-stamped Hunter's Pride marks on the receiver. This example has been kept in excellent shape and may as well be fresh out of the workshop. Chambered in .38." - icon_state = "flamingarrow_factory" - base_icon_state = "flamingarrow_factory" - item_state = "flamingarrow_factory" - -/obj/item/gun/ballistic/shotgun/flamingarrow/factory/sawoff(forced = FALSE) - . = ..() - if(.) - item_state = "flamingarrow_factory_sawn" - mob_overlay_state = item_state - -/obj/item/gun/ballistic/shotgun/flamingarrow/bolt - name = "HP Flaming Bolt" - desc = "A sturdy, excellently-made lever-action rifle. This one appears to be a genuine antique, kept in incredibly good condition despite its advanced age. Chambered in .38." - base_icon_state = "flamingbolt" - icon_state = "flamingbolt" - item_state = "flamingbolt" - -/obj/item/gun/ballistic/shotgun/flamingarrow/bolt/sawoff(forced = FALSE) - . = ..() - if(.) - item_state = "flamingbolt_sawn" - mob_overlay_state = item_state - -/obj/item/gun/ballistic/shotgun/flamingarrow/absolution - name = "HP Absolution" - base_icon_state = "absolution" - icon_state = "absolution" - item_state = "absolution" - fire_sound = 'sound/weapons/gun/revolver/shot.ogg' - desc = "A large lever-action rifle with hand-stamped Hunter's Pride marks on the receiver and an 8 round ammunition capacity. More powerful than the Flaming Arrow, the Absolution is a popular pick for hunting larger fauna like bears and goliaths, especially when a bolt action's slower rate of fire would be a liability. Chambered in .357." - sawn_desc = "A large lever-action rifle, sawn down for portability. It looks much cooler, but you should probably be using a revolver..." - default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/winchester/absolution - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/internal/shot/winchester/absolution, - ) - -/obj/item/gun/ballistic/shotgun/flamingarrow/absolution/sawoff(forced = FALSE) - . = ..() - if(.) - var/obj/item/ammo_box/magazine/internal/tube = magazine - tube.max_ammo = 8 - - item_state = "illestren_sawn" - mob_overlay_state = item_state - weapon_weight = WEAPON_MEDIUM - - wield_slowdown = 0.25 - wield_delay = 0.2 SECONDS - - spread = 4 - spread_unwielded = 12 - - recoil = 0 - recoil_unwielded = 3 - -/obj/item/gun/ballistic/shotgun/flamingarrow/conflagration - name = "HP Conflagration" - base_icon_state = "conflagration" - icon_state = "conflagration" - item_state = "conflagration" - fire_sound = 'sound/weapons/gun/shotgun/shot.ogg' - desc = "A lightweight lever-action shotgun with a 5 round ammunition capacity. The lever action allows it to be cycled quickly and acurrately. In theory, you could ever operate it one-handed. Chambered in 12g." - sawn_desc = "A lever action shotgun that's been sawed down for portability. The recoil makes it mostly useless outside of point-blank range, but it hits hard for its size and, more importantly, can be flipped around stylishly." - default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/winchester/conflagration - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/internal/shot/winchester/conflagration, - ) - -/obj/item/gun/ballistic/shotgun/flamingarrow/conflagration/sawoff(forced = FALSE) - . = ..() - if(.) - var/obj/item/ammo_box/magazine/internal/tube = magazine - tube.max_ammo = 5 - - item_state = "beacon_factory_sawn" - mob_overlay_state = item_state - weapon_weight = WEAPON_MEDIUM - - wield_slowdown = 0.25 - wield_delay = 0.2 SECONDS - - spread = 4 - spread_unwielded = 12 - - recoil = 0 - recoil_unwielded = 3 - -EMPTY_GUN_HELPER(shotgun/flamingarrow/conflagration) - -//Elephant Gun -/obj/item/gun/ballistic/shotgun/doublebarrel/twobore - name = "HP Huntsman" - desc = "A comically huge double-barreled rifle replete with brass inlays depicting flames and naturalistic scenes, clearly meant for the nastiest monsters the Frontier has to offer. If you want an intact trophy, don't aim for the head. Chambered in two-bore." - icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - inhand_x_dimension = 32 - inhand_y_dimension = 32 - base_icon_state = "huntsman" - icon_state = "huntsman" - item_state = "huntsman" - unique_reskin = null - attack_verb = list("bludgeoned", "smashed") - default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/twobore - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/internal/shot/twobore, - ) - w_class = WEIGHT_CLASS_BULKY - force = 20 //heavy ass elephant gun, why wouldnt it be - recoil = 4 - pb_knockback = 12 - fire_sound = 'sound/weapons/gun/shotgun/quadfire.ogg' - rack_sound = 'sound/weapons/gun/shotgun/quadrack.ogg' - load_sound = 'sound/weapons/gun/shotgun/quadinsert.ogg' - - can_be_sawn_off = FALSE - fire_sound_volume = 80 - rack_sound_volume = 50 - manufacturer = MANUFACTURER_HUNTERSPRIDE - - gun_firemodes = list(FIREMODE_SEMIAUTO) //no dual burst for you - default_firemode = FIREMODE_SEMIAUTO - -//Break-Action Rifle -/obj/item/gun/ballistic/shotgun/doublebarrel/beacon - name = "HP Beacon" - desc = "A single-shot break-action rifle made by Hunter's Pride and sold to civilian hunters. Boasts excellent accuracy and stopping power. Uses .45-70 ammo." - sawn_desc= "A single-shot break-action pistol chambered in .45-70. A bit difficult to aim." - base_icon_state = "beacon" - icon_state = "beacon" - item_state = "beacon" - unique_reskin = null - inhand_x_dimension = 32 - inhand_y_dimension = 32 - default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/beacon - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/internal/shot/beacon, - ) - fire_sound = 'sound/weapons/gun/revolver/shot_hunting.ogg' - w_class = WEIGHT_CLASS_BULKY - weapon_weight = WEAPON_MEDIUM - force = 10 - obj_flags = UNIQUE_RENAME - semi_auto = TRUE - can_be_sawn_off = TRUE - pb_knockback = 3 - wield_slowdown = 0.7 - spread_unwielded = 15 - spread = 0 - recoil = 0 - recoil_unwielded = 5 - - gun_firemodes = list(FIREMODE_SEMIAUTO) - default_firemode = FIREMODE_SEMIAUTO - -/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/sawoff(forced = FALSE) - . = ..() - if(.) - item_state = "beacon_sawn" - mob_overlay_state = item_state - wield_slowdown = 0.5 - wield_delay = 0.5 SECONDS - - spread_unwielded = 20 //mostly the hunting revolver stats - spread = 6 - recoil = 2 - recoil_unwielded = 4 - -EMPTY_GUN_HELPER(shotgun/doublebarrel/beacon) - -/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/factory - desc = "A single-shot break-action rifle made by Hunter's Pride and sold to civilian hunters. This example has been kept in excellent shape and may as well be fresh out of the workshop. Uses .45-70 ammo." - sawn_desc= "A single-shot break-action pistol chambered in .45-70. A bit difficult to aim." - base_icon_state = "beacon_factory" - icon_state = "beacon_factory" - item_state = "beacon_factory" - -/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/factory/sawoff(forced = FALSE) - . = ..() - if(.) - item_state = "beacon_factory_sawn" - mob_overlay_state = item_state - -//pre sawn off beacon -/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/presawn - name = "sawn-off HP Beacon" - sawn_desc= "A single-shot break-action pistol chambered in .45-70. A bit difficult to aim." - sawn_off = TRUE - w_class = WEIGHT_CLASS_NORMAL - slot_flags = ITEM_SLOT_BELT - - weapon_weight = WEAPON_MEDIUM - - item_state = "beacon_sawn" - mob_overlay_state = "beacon_sawn" - wield_slowdown = 0.5 - wield_delay = 0.5 SECONDS - - spread_unwielded = 20 //mostly the hunting revolver stats - spread = 6 - recoil = 2 - recoil_unwielded = 4 diff --git a/code/modules/projectiles/guns/ballistic/smg.dm b/code/modules/projectiles/guns/ballistic/smg.dm index 8e9e403a05cb..620c53583205 100644 --- a/code/modules/projectiles/guns/ballistic/smg.dm +++ b/code/modules/projectiles/guns/ballistic/smg.dm @@ -7,7 +7,7 @@ spread = 6 spread_unwielded = 10 - wield_slowdown = 0.35 + wield_slowdown = SMG_SLOWDOWN recoil_unwielded = 4 w_class = WEIGHT_CLASS_BULKY @@ -65,36 +65,6 @@ weapon_weight = WEAPON_LIGHT fire_sound = 'sound/weapons/gun/smg/vector_fire.ogg' - -/obj/item/gun/ballistic/automatic/smg/firestorm //weapon designed by Apogee-dev - name = "HP Firestorm" - desc = "An unconventional submachinegun, rarely issued to Saint-Roumain Militia mercenary hunters for outstanding situations where normal hunting weapons fall short. Chambered in .45." - icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' - lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' - righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' - mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' - - icon_state = "firestorm" - item_state = "firestorm" - default_ammo_type = /obj/item/ammo_box/magazine/c45_firestorm_mag - allowed_ammo_types = list( - /obj/item/ammo_box/magazine/c45_firestorm_mag, - ) - unique_mag_sprites_for_variants = TRUE - burst_size = 1 - actions_types = list() - fire_delay = 0.13 SECONDS - bolt_type = BOLT_TYPE_OPEN - rack_sound = 'sound/weapons/gun/smg/uzi_cocked.ogg' - fire_sound = 'sound/weapons/gun/smg/firestorm.ogg' - - - manufacturer = MANUFACTURER_HUNTERSPRIDE - wield_slowdown = 0.4 - -/obj/item/gun/ballistic/automatic/smg/firestorm/pan //spawns with pan magazine, can take sticks instead of just drums, not sure where this would be used, maybe erts? - default_ammo_type = /obj/item/ammo_box/magazine/c45_firestorm_mag/pan - /obj/item/gun/ballistic/automatic/smg/skm_carbine name = "\improper SKM-24v" desc = "The SKM-24v was a carbine modification of the SKM-24 during the Frontiersmen War. This, however, is just a shoddy imitation of that carbine, effectively an SKM-24 with a sawed down barrel and a folding wire stock. Can be fired with the stock folded, though accuracy suffers. Chambered in 4.6x30mm." @@ -126,7 +96,7 @@ spread_unwielded = 14 wield_delay = 0.6 SECONDS - wield_slowdown = 0.35 + wield_slowdown = SMG_SLOWDOWN valid_attachments = list( /obj/item/attachment/silencer, diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index 7d91d41d5f0b..a746dcc7241c 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -11,6 +11,7 @@ modifystate = TRUE ammo_x_offset = 2 dual_wield_spread = 60 + wield_slowdown = LASER_RIFLE_SLOWDOWN manufacturer = MANUFACTURER_SHARPLITE_NEW /obj/item/gun/energy/e_gun/empty_cell @@ -30,7 +31,7 @@ ammo_x_offset = 2 charge_sections = 3 wield_delay = 0.2 SECONDS - wield_slowdown = 0.15 + wield_slowdown = LASER_PISTOL_SLOWDOWN spread = 2 spread_unwielded = 5 @@ -57,7 +58,7 @@ fire_delay = 0.2 SECONDS wield_delay = 0.7 SECONDS - wield_slowdown = 0.6 + wield_slowdown = HEAVY_LASER_RIFLE_SLOWDOWN spread_unwielded = 20 /obj/item/gun/energy/e_gun/old @@ -188,7 +189,7 @@ charge_sections = 6 wield_delay = 0.2 SECONDS - wield_slowdown = 0.15 + wield_slowdown = LASER_PISTOL_SLOWDOWN spread = 2 spread_unwielded = 5 @@ -219,6 +220,7 @@ weapon_weight = WEAPON_LIGHT fire_delay = 0.13 SECONDS + wield_slowdown = LASER_SMG_SLOWDOWN gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO) default_firemode = FIREMODE_SEMIAUTO diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index e82ed4d27a21..bc424c5e24d3 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -229,7 +229,7 @@ w_class = WEIGHT_CLASS_SMALL wield_delay = 0.2 SECONDS - wield_slowdown = 0.15 + wield_slowdown = LASER_PISTOL_SLOWDOWN spread = 2 spread_unwielded = 5 @@ -257,7 +257,7 @@ manufacturer = MANUFACTURER_EOEHOMA wield_delay = 0.7 SECONDS - wield_slowdown = 0.6 + wield_slowdown = LASER_SNIPER_SLOWDOWN spread_unwielded = 20 shaded_charge = FALSE diff --git a/code/modules/projectiles/guns/manufacturer/clip_lanchester/ballistics.dm b/code/modules/projectiles/guns/manufacturer/clip_lanchester/ballistics.dm index 737c34792f24..9bc7ed9abac2 100644 --- a/code/modules/projectiles/guns/manufacturer/clip_lanchester/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/clip_lanchester/ballistics.dm @@ -1,3 +1,7 @@ +#define CLIP_ATTACHMENTS list(list(/obj/item/attachment/silencer, /obj/item/attachment/laser_sight, /obj/item/attachment/rail_light, /obj/item/attachment/bayonet)) +#define CLIP_ATTACHMNENT_POINTS list() + + //########### PISTOLS ###########// /obj/item/gun/ballistic/automatic/pistol/cm23 name = "\improper CM-23" @@ -24,6 +28,21 @@ load_empty_sound = 'sound/weapons/gun/pistol/candor_reload.ogg' eject_sound = 'sound/weapons/gun/pistol/candor_unload.ogg' eject_empty_sound = 'sound/weapons/gun/pistol/candor_unload.ogg' + + default_attachments = list(/obj/item/attachment/laser_sight) + + slot_available = list( + ATTACHMENT_SLOT_MUZZLE = 1, + ATTACHMENT_SLOT_RAIL = 1 + ) + + slot_offsets = list( + ATTACHMENT_SLOT_RAIL = list( + "x" = 19, + "y" = 18, + ) + ) + recoil_unwielded = 3 /obj/item/gun/ballistic/automatic/pistol/cm23/no_mag @@ -152,12 +171,7 @@ NO_MAG_GUN_HELPER(automatic/pistol/cm357) fire_sound = 'sound/weapons/gun/smg/cm5.ogg' manufacturer = MANUFACTURER_MINUTEMAN - valid_attachments = list( - /obj/item/attachment/silencer, - /obj/item/attachment/laser_sight, - /obj/item/attachment/rail_light, - /obj/item/attachment/bayonet - ) + valid_attachments = CLIP_ATTACHMENTS slot_available = list( ATTACHMENT_SLOT_MUZZLE = 1, ATTACHMENT_SLOT_RAIL = 1 @@ -324,7 +338,7 @@ NO_MAG_GUN_HELPER(automatic/smg/cm5) ) ) - wield_slowdown = 2 + wield_slowdown = DMR_SLOWDOWN spread = -4 fire_select_icon_state_prefix = "clip_" adjust_fire_select_icon_state_on_safety = TRUE @@ -365,7 +379,7 @@ NO_MAG_GUN_HELPER(automatic/smg/cm5) spread_unwielded = 35 recoil = 4 recoil_unwielded = 10 - wield_slowdown = 1 + wield_slowdown = SNIPER_SLOWDOWN wield_delay = 1.3 SECONDS zoom_amt = 10 //Long range, enough to see in front of you, but no tiles behind you. @@ -475,7 +489,7 @@ NO_MAG_GUN_HELPER(automatic/smg/cm5) recoil = 2 //identical to other LMGS recoil_unwielded = 7 //same as skm - wield_slowdown = 1 //not as severe as other lmgs, but worse than the normal skm + wield_slowdown = SAW_SLOWDOWN //not as severe as other lmgs, but worse than the normal skm wield_delay = 0.9 SECONDS //faster than normal lmgs, slower than stock skm has_bipod = TRUE @@ -550,7 +564,7 @@ NO_MAG_GUN_HELPER(automatic/smg/cm5) spread_unwielded = 16 recoil = 1 recoil_unwielded = 4 - wield_slowdown = 0.6 + wield_slowdown = HEAVY_SHOTGUN_SLOWDOWN wield_delay = 0.65 SECONDS diff --git a/code/modules/projectiles/guns/manufacturer/etherbor/energy_gunsword.dm b/code/modules/projectiles/guns/manufacturer/etherbor/energy_gunsword.dm index a0b85b285911..3ca3240020b2 100644 --- a/code/modules/projectiles/guns/manufacturer/etherbor/energy_gunsword.dm +++ b/code/modules/projectiles/guns/manufacturer/etherbor/energy_gunsword.dm @@ -14,7 +14,7 @@ fire_delay = 0.16 SECONDS wield_delay = 0.7 SECONDS - wield_slowdown = 0.35 + wield_slowdown = LASER_RIFLE_SLOWDOWN default_ammo_type = /obj/item/stock_parts/cell/gun/kalix allowed_ammo_types = list( @@ -89,7 +89,7 @@ modifystate = FALSE wield_delay = 0.2 SECONDS - wield_slowdown = 0.15 + wield_slowdown = LASER_PISTOL_SLOWDOWN spread = 2 spread_unwielded = 5 @@ -128,7 +128,7 @@ fire_delay = 0.2 SECONDS wield_delay = 0.7 SECONDS - wield_slowdown = 0.6 + wield_slowdown = HEAVY_LASER_RIFLE_SLOWDOWN spread = 0 spread_unwielded = 20 @@ -181,5 +181,5 @@ spread = -5 spread_unwielded = 40 - wield_slowdown = 1 + wield_slowdown = LASER_SNIPER_SLOWDOWN wield_delay = 1.3 SECONDS diff --git a/code/modules/projectiles/guns/manufacturer/frontier_import/ballistics.dm b/code/modules/projectiles/guns/manufacturer/frontier_import/ballistics.dm index bc40ac3f8c28..3c9eb41b3d81 100644 --- a/code/modules/projectiles/guns/manufacturer/frontier_import/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/frontier_import/ballistics.dm @@ -75,7 +75,7 @@ spread = 20 spread_unwielded = 35 dual_wield_spread = 35 - wield_slowdown = 0.25 + wield_slowdown = SMG_SLOWDOWN wield_delay = 0.2 SECONDS fire_delay = 0.09 SECONDS safety_multiplier = 2 @@ -166,7 +166,7 @@ default_firemode = FIREMODE_FULLAUTO manufacturer = MANUFACTURER_IMPORT - wield_slowdown = 0.5 + wield_slowdown = SMG_SLOWDOWN safety_multiplier = 2 /obj/item/ammo_box/magazine/c22lr_pounder_pan diff --git a/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm b/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm new file mode 100644 index 000000000000..8162195f909c --- /dev/null +++ b/code/modules/projectiles/guns/manufacturer/hunter_pride/ballistics.dm @@ -0,0 +1,935 @@ +///Hunters Pride Weapons + +///Revolvers + +/obj/item/gun/ballistic/revolver/montagne + name = "\improper HP Montagne" + desc = "An ornate break-open revolver issued to high-ranking members of the Saint-Roumain Militia. Chambered in .44." + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + + icon_state = "montagne" + item_state = "hp_generic" + manufacturer = MANUFACTURER_HUNTERSPRIDE + spread_unwielded = 15 + recoil = 0 + + default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder/rev44/montagne + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/cylinder/rev44/montagne, + ) + +/obj/item/gun/ballistic/revolver/montagne/ComponentInitialize() + . = ..() + AddComponent(/datum/component/ammo_hud/revolver) + +EMPTY_GUN_HELPER(revolver/montagne) + +/obj/item/gun/ballistic/revolver/ashhand + name = "HP Ashhand" + desc = "A massive, long-barreled revolver often used by the Saint-Roumain Militia as protection against big game. Can only be reloaded one cartridge at a time due to its reinforced frame. Uses .45-70 ammo." + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + + icon_state = "ashhand" + item_state = "ashhand" + default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder/rev4570 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/cylinder/rev4570, + ) + fire_sound = 'sound/weapons/gun/revolver/shot_hunting.ogg' + rack_sound = 'sound/weapons/gun/revolver/viper_prime.ogg' + manufacturer = MANUFACTURER_HUNTERSPRIDE + gate_loaded = TRUE + fire_delay = 0.6 SECONDS + wield_slowdown = HEAVY_REVOLVER_SLOWDOWN + spread_unwielded = 20 + spread = 6 + recoil = 2 + recoil_unwielded = 4 + +/obj/item/gun/ballistic/revolver/ashhand/ComponentInitialize() + . = ..() + AddComponent(/datum/component/ammo_hud/revolver) + +/obj/item/gun/ballistic/revolver/firebrand + name = "\improper HP Firebrand" + desc = "An archaic precursor to revolver-type firearms, this gun was rendered completely obsolete millennia ago. While fast to fire, it is extremely inaccurate. Uses .357 ammo." + icon_state = "pepperbox" + item_state = "hp_generic_fresh" + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + + default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder/pepperbox + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/cylinder/pepperbox, + ) + spread = 20 + manufacturer = MANUFACTURER_HUNTERSPRIDE + spread_unwielded = 50 + fire_delay = 0 SECONDS + gate_offset = 4 + semi_auto = TRUE + safety_wording = "safety" + +EMPTY_GUN_HELPER(revolver/firebrand) + +/obj/item/gun/ballistic/revolver/shadow + name = "\improper HP Shadow" + desc = "A mid-size revolver. Despite the antiquated design, it is cheap, reliable, and stylish, making it a favorite among fast-drawing spacers and the officers of various militaries, as well as small-time police units. Chambered in .44." + fire_sound = 'sound/weapons/gun/revolver/cattleman.ogg' + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + icon_state = "shadow" + item_state = "shadow" + + default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder/rev44 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/cylinder/rev44, + ) + manufacturer = MANUFACTURER_HUNTERSPRIDE + obj_flags = UNIQUE_RENAME + gate_loaded = TRUE + unique_reskin = list(\ + "Shadow" = "shadow", + "Cattleman" = "shadow_cattleman", + "General" = "shadow_general", + "Sheriff" = "shadow_sheriff", + "Cobra" = "shadow_cobra", + "Hired Gun" = "shadow_hiredgun", + "Buntline" = "shadow_buntline", + "Cavalry" = "shadow_cavalry", + "Lanchester Special" = "shadow_lanchester" + ) + + recoil = 0 //weaker than normal revolver, no recoil + spread_unwielded = 10 + +/obj/item/gun/ballistic/revolver/shadow/ComponentInitialize() + . = ..() + AddComponent(/datum/component/ammo_hud/revolver) + +/obj/item/gun/ballistic/revolver/shadow/reskin_obj(mob/M) + . = ..() + if(current_skin) + item_state = unique_reskin[current_skin] + +EMPTY_GUN_HELPER(revolver/shadow) + +/obj/item/gun/ballistic/revolver/detective + name = "\improper HP Detective Special" + desc = "A small law enforcement firearm. Originally commissioned by Nanotrasen for their Private Investigation division, it has become extremely popular among independent civilians as a cheap, compact sidearm. Uses .38 Special rounds." + fire_sound = 'sound/weapons/gun/revolver/shot_light.ogg' + icon_state = "detective" + item_state = "hp_generic" + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + + default_ammo_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/cylinder/rev38, + ) + obj_flags = UNIQUE_RENAME + semi_auto = TRUE //double action + safety_wording = "safety" + unique_reskin = list("Default" = "detective", + "Stainless Steel" = "detective_stainless", + "Gold Trim" = "detective_gold", + "Leopard Spots" = "detective_leopard", + "The Peacemaker" = "detective_peacemaker", + "Black Panther" = "detective_panther" + ) + w_class = WEIGHT_CLASS_SMALL + manufacturer = MANUFACTURER_HUNTERSPRIDE + + recoil = 0 //weaker than normal revolver, no recoil + fire_delay = 0.2 SECONDS + +EMPTY_GUN_HELPER(revolver/detective) + +/obj/item/gun/ballistic/revolver/detective/ComponentInitialize() + . = ..() + AddComponent(/datum/component/ammo_hud/revolver) //note that the hud at the moment only supports 6 round revolvers, 7 or 5 isn't supported rn +//...why...? +/obj/item/gun/ballistic/revolver/detective/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0, burst_firing = FALSE, spread_override = 0, iteration = 0) + if(magazine.caliber != initial(magazine.caliber)) + if(prob(100 - (magazine.ammo_count() * 5))) //minimum probability of 70, maximum of 95 + playsound(user, fire_sound, fire_sound_volume, vary_fire_sound) + to_chat(user, "[src] blows up in your face!") + user.take_bodypart_damage(0,20) + explosion(src, 0, 0, 1, 1) + user.dropItemToGround(src) + return 0 + ..() + +/obj/item/gun/ballistic/revolver/detective/screwdriver_act(mob/living/user, obj/item/I) + if(..()) + return TRUE + if(magazine.caliber == "38") + to_chat(user, "You begin to reinforce the barrel of [src]...") + if(magazine.ammo_count()) + afterattack(user, user) //you know the drill + user.visible_message("[src] goes off!", "[src] goes off in your face!") + return TRUE + if(I.use_tool(src, user, 30)) + if(magazine.ammo_count()) + to_chat(user, "You can't modify it!") + return TRUE + magazine.caliber = ".357" + fire_sound = 'sound/weapons/gun/revolver/shot.ogg' + desc = "The barrel and chamber assembly seems to have been modified." + to_chat(user, "You reinforce the barrel of [src]. Now it will fire .357 rounds.") + else + to_chat(user, "You begin to revert the modifications to [src]...") + if(magazine.ammo_count()) + afterattack(user, user) //and again + user.visible_message("[src] goes off!", "[src] goes off in your face!") + return TRUE + if(I.use_tool(src, user, 30)) + if(magazine.ammo_count()) + to_chat(user, "You can't modify it!") + return + magazine.caliber = ".38" + fire_sound = 'sound/weapons/gun/revolver/shot.ogg' + desc = initial(desc) + to_chat(user, "You remove the modifications on [src]. Now it will fire .38 rounds.") + return TRUE + +///pistols + +/obj/item/gun/ballistic/automatic/pistol/candor + name = "\improper Candor" + desc = "A classic semi-automatic handgun, widely popular throughout the Frontier. An engraving on the slide marks it as a product of Hunter's Pride. Chambered in .45." + icon_state = "candor" + item_state = "hp_generic" + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + + default_ammo_type = /obj/item/ammo_box/magazine/m45 + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/m45, + ) + fire_sound = 'sound/weapons/gun/pistol/candor.ogg' + rack_sound = 'sound/weapons/gun/pistol/candor_cocked.ogg' + lock_back_sound = 'sound/weapons/gun/pistol/slide_lock.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/candor_cocked.ogg' + manufacturer = MANUFACTURER_HUNTERSPRIDE + load_sound = 'sound/weapons/gun/pistol/candor_reload.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/candor_reload.ogg' + eject_sound = 'sound/weapons/gun/pistol/candor_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/candor_unload.ogg' + show_magazine_on_sprite = TRUE + +NO_MAG_GUN_HELPER(automatic/pistol/candor) + +/obj/item/gun/ballistic/automatic/pistol/candor/factory //also give this to the srm, their candors should probably look factory fresh from how well taken care of they are + desc = "A classic semi-automatic handgun, widely popular throughout the Frontier. An engraving on the slide marks it as a product of 'Hunter's Pride Arms and Ammunition'. This example has been kept in especially good shape, and may as well be fresh out of the workshop. Chambered in .45." + item_state = "hp_generic_fresh" + +NO_MAG_GUN_HELPER(automatic/pistol/candor/factory) + +/obj/item/gun/ballistic/automatic/pistol/candor/factory/update_overlays() + . = ..() + . += "[initial(icon_state)]_factory" + +/obj/item/gun/ballistic/automatic/pistol/candor/phenex + name = "\improper HP Phenex" + desc = "A uniquely modified version of the Candor, famously created by Hunter's Pride. Named after the daemonic Phoenix of legend that the Ashen Huntsman had once slain, this hell-kissed weapon is more visually intimidating than its original counterpart, but mechanically acts the same. Chambered in .45." + icon_state = "phenex" + item_state = "hp_phenex" + +/// SMG /// + +/obj/item/gun/ballistic/automatic/smg/firestorm //weapon designed by Apogee-dev + name = "HP Firestorm" + desc = "An unconventional submachinegun, rarely issued to Saint-Roumain Militia mercenary hunters for outstanding situations where normal hunting weapons fall short. Chambered in .45." + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + + icon_state = "firestorm" + item_state = "firestorm" + default_ammo_type = /obj/item/ammo_box/magazine/c45_firestorm_mag + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/c45_firestorm_mag, + ) + unique_mag_sprites_for_variants = TRUE + burst_size = 1 + actions_types = list() + fire_delay = 0.13 SECONDS + bolt_type = BOLT_TYPE_OPEN + rack_sound = 'sound/weapons/gun/smg/uzi_cocked.ogg' + fire_sound = 'sound/weapons/gun/smg/firestorm.ogg' + + + manufacturer = MANUFACTURER_HUNTERSPRIDE + wield_slowdown = SMG_SLOWDOWN + +/obj/item/gun/ballistic/automatic/smg/firestorm/pan //spawns with pan magazine, can take sticks instead of just drums, not sure where this would be used, maybe erts? + default_ammo_type = /obj/item/ammo_box/magazine/c45_firestorm_mag/pan + +///Shotguns + +///////////////////////////// +// DOUBLE BARRELED SHOTGUN // +///////////////////////////// + +/obj/item/gun/ballistic/shotgun/doublebarrel + name = "double-barreled shotgun" + desc = "A classic break action shotgun, hand-made in a Hunter's Pride workshop. Both barrels can be fired in quick succession or even simultaneously. Guns like this have been popular with hunters, sporters, and criminals for millennia. Chambered in 12g." + sawn_desc = "A break action shotgun cut down to the size of a sidearm. While the recoil is even harsher, it offers a lot of power in a very small package. Chambered in 12g." + + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + + base_icon_state = "dshotgun" + + icon_state = "dshotgun" + item_state = "dshotgun" + + rack_sound = 'sound/weapons/gun/shotgun/dbshotgun_break.ogg' + bolt_drop_sound = 'sound/weapons/gun/shotgun/dbshotgun_close.ogg' + + w_class = WEIGHT_CLASS_BULKY + weapon_weight = WEAPON_MEDIUM + force = 10 + flags_1 = CONDUCT_1 + slot_flags = ITEM_SLOT_BACK + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/dual + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/dual, + ) + + obj_flags = UNIQUE_RENAME + unique_reskin = list("Default" = "dshotgun", + "Stainless Steel" = "dshotgun_white", + "Stained Green" = "dshotgun_green" + ) + semi_auto = TRUE + can_be_sawn_off = TRUE + bolt_type = BOLT_TYPE_NO_BOLT + pb_knockback = 3 // it's a super shotgun! + manufacturer = MANUFACTURER_HUNTERSPRIDE + bolt_wording = "barrel" + + burst_delay = 0.05 SECONDS + burst_size = 2 + gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_BURST) + default_firemode = FIREMODE_SEMIAUTO + +/obj/item/gun/ballistic/shotgun/doublebarrel/unique_action(mob/living/user) + if (bolt_locked == FALSE) + to_chat(user, "You snap open the [bolt_wording] of \the [src].") + playsound(src, rack_sound, rack_sound_volume, rack_sound_vary) + chambered = null + var/num_unloaded = 0 + for(var/obj/item/ammo_casing/casing_bullet in get_ammo_list(FALSE, TRUE)) + casing_bullet.forceMove(drop_location()) + var/angle_of_movement =(rand(-3000, 3000) / 100) + dir2angle(turn(user.dir, 180)) + casing_bullet.AddComponent(/datum/component/movable_physics, _horizontal_velocity = rand(450, 550) / 100, _vertical_velocity = rand(400, 450) / 100, _horizontal_friction = rand(20, 24) / 100, _z_gravity = PHYSICS_GRAV_STANDARD, _z_floor = 0, _angle_of_movement = angle_of_movement, _bounce_sound = casing_bullet.bounce_sfx_override) + + num_unloaded++ + SSblackbox.record_feedback("tally", "station_mess_created", 1, casing_bullet.name) + if (num_unloaded) + playsound(user, eject_sound, eject_sound_volume, eject_sound_vary) + update_appearance() + bolt_locked = TRUE + update_appearance() + return + drop_bolt(user) + +/obj/item/gun/ballistic/shotgun/doublebarrel/drop_bolt(mob/user = null) + playsound(src, bolt_drop_sound, bolt_drop_sound_volume, FALSE) + if (user) + to_chat(user, "You snap the [bolt_wording] of \the [src] closed.") + chamber_round() + bolt_locked = FALSE + update_appearance() + +/obj/item/gun/ballistic/shotgun/doublebarrel/can_shoot() + if (bolt_locked) + return FALSE + return ..() + +/obj/item/gun/ballistic/shotgun/doublebarrel/attackby(obj/item/A, mob/user, params) + if (!bolt_locked) + to_chat(user, "The [bolt_wording] is shut closed!") + return + return ..() + +/obj/item/gun/ballistic/shotgun/doublebarrel/update_icon_state() + . = ..() + if(current_skin) + icon_state = "[unique_reskin[current_skin]][sawn_off ? "_sawn" : ""][bolt_locked ? "_open" : ""]" + else + icon_state = "[base_icon_state || initial(icon_state)][sawn_off ? "_sawn" : ""][bolt_locked ? "_open" : ""]" + + +/obj/item/gun/ballistic/shotgun/doublebarrel/AltClick(mob/user) + . = ..() + if(unique_reskin && !current_skin && user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY) && (!bolt_locked)) + reskin_obj(user) + +/obj/item/gun/ballistic/shotgun/doublebarrel/sawoff(forced = FALSE) + . = ..() + if(.) + weapon_weight = WEAPON_MEDIUM + wield_slowdown = wield_slowdown-0.1 + wield_delay = 0.3 SECONDS //OP? maybe + + spread = 8 + spread_unwielded = 15 + recoil = 3 //or not + recoil_unwielded = 5 + item_state = "dshotgun_sawn" + mob_overlay_state = item_state + +EMPTY_GUN_HELPER(shotgun/doublebarrel) + +// sawn off beforehand +/obj/item/gun/ballistic/shotgun/doublebarrel/presawn + name = "sawn-off double-barreled shotgun" + desc = "A break action shotgun cut down to the size of a sidearm. While the recoil is even harsher, it offers a lot of power in a very small package. Chambered in 12g." + sawn_off = TRUE + weapon_weight = WEAPON_MEDIUM + w_class = WEIGHT_CLASS_NORMAL + slot_flags = ITEM_SLOT_BELT + + wield_slowdown = 0.15 + wield_delay = 0.3 SECONDS //OP? maybe + + spread = 8 + spread_unwielded = 15 + recoil = 3 //or not + recoil_unwielded = 5 + item_state = "dshotgun_sawn" + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/dual/lethal + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/dual/lethal, + ) + +EMPTY_GUN_HELPER(shotgun/doublebarrel/presawn) + +/obj/item/gun/ballistic/shotgun/doublebarrel/roumain + name = "HP antique double-barreled shotgun" + desc = "A special-edition shotgun hand-made by Hunter's Pride with a high-quality walnut stock inlaid with brass scrollwork. Shotguns like this are very rare outside of the Saint-Roumain Militia's ranks. Otherwise functionally identical to a common double-barreled shotgun. Chambered in 12g." + sawn_desc = "A special-edition Hunter's Pride shotgun, cut down to the size of a sidearm by some barbarian. The brass inlay on the stock and engravings on the barrel have been obliterated in the process, destroying any value beyond its use as a crude sidearm." + base_icon_state = "dshotgun_srm" + icon_state = "dshotgun_srm" + item_state = "dshotgun_srm" + unique_reskin = null + +/obj/item/gun/ballistic/shotgun/doublebarrel/roumain/sawoff(forced = FALSE) + . = ..() + if(.) + item_state = "dshotgun_srm_sawn" + +// BRIMSTONE // + +/obj/item/gun/ballistic/shotgun/brimstone + name = "HP Brimstone" + desc = "A simple and sturdy pump-action shotgun sporting a 5-round capacity, manufactured by Hunter's Pride. Found widely throughout the Frontier in the hands of hunters, pirates, police, and countless others. Chambered in 12g." + sawn_desc = "A stockless and shortened pump-action shotgun. The worsened recoil and accuracy make it a poor sidearm anywhere beyond punching distance." + fire_sound = 'sound/weapons/gun/shotgun/brimstone.ogg' + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + + icon_state = "brimstone" + item_state = "brimstone" + + gun_firemodes = list(FIREMODE_FULLAUTO) + default_firemode = FIREMODE_FULLAUTO + + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/lethal + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/lethal, + ) + manufacturer = MANUFACTURER_HUNTERSPRIDE + fire_delay = 0.05 SECONDS //slamfire + rack_delay = 0.2 SECONDS + + can_be_sawn_off = TRUE + + +/obj/item/gun/ballistic/shotgun/brimstone/sawoff(forced = FALSE) + . = ..() + if(.) + weapon_weight = WEAPON_MEDIUM + wield_slowdown = wield_slowdown-0.1 + wield_delay = 0.3 SECONDS //OP? maybe + + spread = 18 + spread_unwielded = 25 + recoil = 5 //your punishment for sawing off an short shotgun + recoil_unwielded = 8 + item_state = "illestren_factory_sawn" // i couldnt care about making another sprite, looks close enough + mob_overlay_state = item_state + +EMPTY_GUN_HELPER(shotgun/brimstone) + +// HELLFIRE // + +/obj/item/gun/ballistic/shotgun/hellfire + name = "HP Hellfire" + desc = "A hefty pump-action riot shotgun with a seven-round tube, manufactured by Hunter's Pride. Especially popular among the Frontier's police forces. Chambered in 12g." + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + icon_state = "hellfire" + item_state = "hellfire" + + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/riot + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/riot, + ) + sawn_desc = "Come with me if you want to live." + can_be_sawn_off = TRUE + rack_sound = 'sound/weapons/gun/shotgun/rack_alt.ogg' + fire_delay = 0.1 SECONDS + +/obj/item/gun/ballistic/shotgun/hellfire/sawoff(forced = FALSE) + . = ..() + if(.) + var/obj/item/ammo_box/magazine/internal/tube = magazine + tube.max_ammo = 5 //this makes the gun so much worse + + weapon_weight = WEAPON_MEDIUM + wield_slowdown = wield_slowdown-0.1 + wield_delay = 0.3 SECONDS //OP? maybe + + spread = 8 + spread_unwielded = 15 + recoil = 3 //or not + recoil_unwielded = 5 + item_state = "dshotgun_sawn" // ditto + mob_overlay_state = item_state + +EMPTY_GUN_HELPER(shotgun/hellfire) + +/obj/item/gun/ballistic/shotgun/flamingarrow/conflagration + name = "HP Conflagration" + base_icon_state = "conflagration" + icon_state = "conflagration" + item_state = "conflagration" + fire_sound = 'sound/weapons/gun/shotgun/shot.ogg' + desc = "A lightweight lever-action shotgun with a 5 round ammunition capacity. The lever action allows it to be cycled quickly and acurrately. In theory, you could ever operate it one-handed. Chambered in 12g." + sawn_desc = "A lever action shotgun that's been sawed down for portability. The recoil makes it mostly useless outside of point-blank range, but it hits hard for its size and, more importantly, can be flipped around stylishly." + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/winchester/conflagration + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/winchester/conflagration, + ) + +/obj/item/gun/ballistic/shotgun/flamingarrow/conflagration/sawoff(forced = FALSE) + . = ..() + if(.) + var/obj/item/ammo_box/magazine/internal/tube = magazine + tube.max_ammo = 5 + + item_state = "beacon_factory_sawn" + mob_overlay_state = item_state + weapon_weight = WEAPON_MEDIUM + + wield_slowdown = wield_slowdown-0.1 + wield_delay = 0.2 SECONDS + + spread = 4 + spread_unwielded = 12 + + recoil = 0 + recoil_unwielded = 3 + +EMPTY_GUN_HELPER(shotgun/flamingarrow/conflagration) + + +//Elephant Gun +/obj/item/gun/ballistic/shotgun/doublebarrel/twobore + name = "HP Huntsman" + desc = "A comically huge double-barreled rifle replete with brass inlays depicting flames and naturalistic scenes, clearly meant for the nastiest monsters the Frontier has to offer. If you want an intact trophy, don't aim for the head. Chambered in two-bore." + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + inhand_x_dimension = 32 + inhand_y_dimension = 32 + base_icon_state = "huntsman" + icon_state = "huntsman" + item_state = "huntsman" + unique_reskin = null + attack_verb = list("bludgeoned", "smashed") + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/twobore + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/twobore, + ) + w_class = WEIGHT_CLASS_BULKY + force = 20 //heavy ass elephant gun, why wouldnt it be + recoil = 4 + pb_knockback = 12 + fire_sound = 'sound/weapons/gun/shotgun/quadfire.ogg' + rack_sound = 'sound/weapons/gun/shotgun/quadrack.ogg' + load_sound = 'sound/weapons/gun/shotgun/quadinsert.ogg' + + can_be_sawn_off = FALSE + fire_sound_volume = 80 + rack_sound_volume = 50 + manufacturer = MANUFACTURER_HUNTERSPRIDE + + gun_firemodes = list(FIREMODE_SEMIAUTO) //no dual burst for you + default_firemode = FIREMODE_SEMIAUTO + +/// Rifles + +/obj/item/gun/ballistic/rifle/illestren + name = "\improper HP Illestren" + desc = "A sturdy and conventional bolt-action rifle. One of Hunter's Pride's most successful firearms, the Illestren is popular among colonists, pirates, snipers, and countless others. Chambered in 8x50mmR." + icon_state = "illestren" + item_state = "illestren" + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + + sawn_desc = "An Illestren rifle sawn down to a ridiculously small size. There was probably a reason it wasn't made this short to begin with, but it still packs a punch." + eject_sound = 'sound/weapons/gun/rifle/vickland_unload.ogg' + eject_empty_sound = 'sound/weapons/gun/rifle/vickland_unload.ogg' + + internal_magazine = FALSE + default_ammo_type = /obj/item/ammo_box/magazine/illestren_a850r + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/illestren_a850r, + ) + empty_autoeject = TRUE + eject_sound_vary = FALSE + can_be_sawn_off = TRUE + manufacturer = MANUFACTURER_HUNTERSPRIDE + +/obj/item/gun/ballistic/rifle/illestren/empty //i had to name it empty instead of no_mag because else it wouldnt work with guncases. sorry! + default_ammo_type = FALSE + +/obj/item/gun/ballistic/rifle/illestren/sawoff(forced = FALSE) + . = ..() + if(.) + spread = 19 + spread_unwielded = 30 + item_state = "illestren_sawn" + mob_overlay_state = item_state + weapon_weight = WEAPON_MEDIUM //you can fire it onehanded, makes it worse than worse than useless onehanded, but you can + +/obj/item/gun/ballistic/rifle/illestren/blow_up(mob/user) + . = FALSE + if(chambered && chambered.BB) + process_fire(user, user, FALSE) + . = TRUE + +/obj/item/gun/ballistic/rifle/illestren/factory + desc = "A sturdy and conventional bolt-action rifle. One of Hunter's Pride's most successful firearms, this example has been kept in excellent shape and may as well be fresh out of the workshop. Chambered in 8x50mmR." + icon_state = "illestren_factory" + item_state = "illestren_factory" + +/obj/item/gun/ballistic/rifle/illestren/sawoff(forced = FALSE) + . = ..() + if(.) + item_state = "illestren_factory_sawn" + mob_overlay_state = item_state + +/obj/item/gun/ballistic/rifle/illestren/sawn + desc = "An Illestren rifle sawn down to a ridiculously small size. There was probably a reason it wasn't made this short to begin with, but it still packs a punch." + sawn_off = TRUE + +//Lever-Action Rifles + +/obj/item/gun/ballistic/shotgun/flamingarrow + name = "HP Flaming Arrow" + desc = "A sturdy and lightweight lever-action rifle with hand-stamped Hunter's Pride marks on the receiver. A popular choice among Frontier homesteaders for hunting small game and rudimentary self-defense. Chambered in .38." + sawn_desc = "A lever-action rifle that has been sawed down and modified for extra portability. While surprisingly effective as a sidearm, the more important benefit is how much cooler it looks." + base_icon_state = "flamingarrow" + icon_state = "flamingarrow" + item_state = "flamingarrow" + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + inhand_x_dimension = 32 + inhand_y_dimension = 32 + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/winchester + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/winchester, + ) + fire_sound = 'sound/weapons/gun/rifle/flamingarrow.ogg' + rack_sound = 'sound/weapons/gun/rifle/skm_cocked.ogg' + bolt_wording = "lever" + cartridge_wording = "bullet" + can_be_sawn_off = TRUE + + wield_slowdown = RIFLE_SLOWDOWN + wield_delay = 0.65 SECONDS + + spread = -5 + spread_unwielded = 7 + + recoil = 0 + recoil_unwielded = 2 + +EMPTY_GUN_HELPER(shotgun/flamingarrow) + +/obj/item/gun/ballistic/shotgun/flamingarrow/update_icon_state() + . = ..() + if(current_skin) + icon_state = "[unique_reskin[current_skin]][sawn_off ? "_sawn" : ""]" + else + icon_state = "[base_icon_state || initial(icon_state)][sawn_off ? "_sawn" : ""]" + + +/obj/item/gun/ballistic/shotgun/flamingarrow/rack(mob/user = null) + . = ..() + if(!wielded) + SpinAnimation(7,1) + +/obj/item/gun/ballistic/shotgun/flamingarrow/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) + var/fan = FALSE + if(HAS_TRAIT(user, TRAIT_GUNSLINGER) && !semi_auto && wielded_fully && loc == user && !safety) + fan = TRUE + fire_delay = 0.35 SECONDS + . = ..() + fire_delay = src::fire_delay + if(fan) + rack() + to_chat(user, "You quickly rack the [bolt_wording] of \the [src]!") + balloon_alert_to_viewers("quickly racks!") + fire_delay = 0 SECONDS + +/obj/item/gun/ballistic/shotgun/flamingarrow/sawoff(forced = FALSE) + . = ..() + if(.) + var/obj/item/ammo_box/magazine/internal/tube = magazine + tube.max_ammo = 7 + + item_state = "flamingarrow_sawn" + mob_overlay_state = item_state + weapon_weight = WEAPON_MEDIUM + + wield_slowdown = wield_slowdown-0.1 + wield_delay = 0.2 SECONDS //THE COWBOY RIFLE + + spread = 4 + spread_unwielded = 12 + + recoil = 0 + recoil_unwielded = 3 + +/obj/item/gun/ballistic/shotgun/flamingarrow/factory + desc = "A sturdy and lightweight lever-action rifle with hand-stamped Hunter's Pride marks on the receiver. This example has been kept in excellent shape and may as well be fresh out of the workshop. Chambered in .38." + icon_state = "flamingarrow_factory" + base_icon_state = "flamingarrow_factory" + item_state = "flamingarrow_factory" + +/obj/item/gun/ballistic/shotgun/flamingarrow/factory/sawoff(forced = FALSE) + . = ..() + if(.) + item_state = "flamingarrow_factory_sawn" + mob_overlay_state = item_state + +/obj/item/gun/ballistic/shotgun/flamingarrow/bolt + name = "HP Flaming Bolt" + desc = "A sturdy, excellently-made lever-action rifle. This one appears to be a genuine antique, kept in incredibly good condition despite its advanced age. Chambered in .38." + base_icon_state = "flamingbolt" + icon_state = "flamingbolt" + item_state = "flamingbolt" + +/obj/item/gun/ballistic/shotgun/flamingarrow/bolt/sawoff(forced = FALSE) + . = ..() + if(.) + item_state = "flamingbolt_sawn" + mob_overlay_state = item_state + +/obj/item/gun/ballistic/shotgun/flamingarrow/absolution + name = "HP Absolution" + base_icon_state = "absolution" + icon_state = "absolution" + item_state = "absolution" + fire_sound = 'sound/weapons/gun/revolver/shot.ogg' + desc = "A large lever-action rifle with hand-stamped Hunter's Pride marks on the receiver and an 8 round ammunition capacity. More powerful than the Flaming Arrow, the Absolution is a popular pick for hunting larger fauna like bears and goliaths, especially when a bolt action's slower rate of fire would be a liability. Chambered in .357." + sawn_desc = "A large lever-action rifle, sawn down for portability. It looks much cooler, but you should probably be using a revolver..." + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/winchester/absolution + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/winchester/absolution, + ) + +/obj/item/gun/ballistic/shotgun/flamingarrow/absolution/sawoff(forced = FALSE) + . = ..() + if(.) + var/obj/item/ammo_box/magazine/internal/tube = magazine + tube.max_ammo = 8 + + item_state = "illestren_sawn" + mob_overlay_state = item_state + weapon_weight = WEAPON_MEDIUM + + wield_slowdown = wield_slowdown-0.1 + wield_delay = 0.2 SECONDS + + spread = 4 + spread_unwielded = 12 + + recoil = 0 + recoil_unwielded = 3 + +//Break-Action Rifle +/obj/item/gun/ballistic/shotgun/doublebarrel/beacon + name = "HP Beacon" + desc = "A single-shot break-action rifle made by Hunter's Pride and sold to civilian hunters. Boasts excellent accuracy and stopping power. Uses .45-70 ammo." + sawn_desc= "A single-shot break-action pistol chambered in .45-70. A bit difficult to aim." + base_icon_state = "beacon" + icon_state = "beacon" + item_state = "beacon" + unique_reskin = null + inhand_x_dimension = 32 + inhand_y_dimension = 32 + default_ammo_type = /obj/item/ammo_box/magazine/internal/shot/beacon + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/shot/beacon, + ) + fire_sound = 'sound/weapons/gun/revolver/shot_hunting.ogg' + w_class = WEIGHT_CLASS_BULKY + weapon_weight = WEAPON_MEDIUM + force = 10 + obj_flags = UNIQUE_RENAME + semi_auto = TRUE + can_be_sawn_off = TRUE + pb_knockback = 3 + wield_slowdown = HEAVY_RIFLE_SLOWDOWN + spread_unwielded = 15 + spread = 0 + recoil = 0 + recoil_unwielded = 5 + + gun_firemodes = list(FIREMODE_SEMIAUTO) + default_firemode = FIREMODE_SEMIAUTO + +/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/sawoff(forced = FALSE) + . = ..() + if(.) + item_state = "beacon_sawn" + mob_overlay_state = item_state + wield_slowdown = wield_slowdown-0.1 + wield_delay = 0.5 SECONDS + + spread_unwielded = 20 //mostly the hunting revolver stats + spread = 6 + recoil = 2 + recoil_unwielded = 4 + +EMPTY_GUN_HELPER(shotgun/doublebarrel/beacon) + +/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/factory + desc = "A single-shot break-action rifle made by Hunter's Pride and sold to civilian hunters. This example has been kept in excellent shape and may as well be fresh out of the workshop. Uses .45-70 ammo." + sawn_desc= "A single-shot break-action pistol chambered in .45-70. A bit difficult to aim." + base_icon_state = "beacon_factory" + icon_state = "beacon_factory" + item_state = "beacon_factory" + +/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/factory/sawoff(forced = FALSE) + . = ..() + if(.) + item_state = "beacon_factory_sawn" + mob_overlay_state = item_state + +//pre sawn off beacon +/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/presawn + name = "sawn-off HP Beacon" + sawn_desc= "A single-shot break-action pistol chambered in .45-70. A bit difficult to aim." + sawn_off = TRUE + w_class = WEIGHT_CLASS_NORMAL + slot_flags = ITEM_SLOT_BELT + + weapon_weight = WEAPON_MEDIUM + + item_state = "beacon_sawn" + mob_overlay_state = "beacon_sawn" + wield_slowdown = 0.45 + wield_delay = 0.5 SECONDS + + spread_unwielded = 20 //mostly the hunting revolver stats + spread = 6 + recoil = 2 + recoil_unwielded = 4 + +/// snipers + +//well. its almost a sniper. +/obj/item/gun/ballistic/automatic/marksman/vickland //weapon designed by Apogee-dev + name = "\improper Vickland" + desc = "The pride of the Saint-Roumain Militia, the Vickland is a rare semi-automatic battle rifle produced by Hunter's Pride exclusively for SRM use. It is unusual in its class for its internal rotary magazine, which must be reloaded using stripper clips. Chambered in .308." + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + + fire_sound = 'sound/weapons/gun/rifle/vickland.ogg' + icon_state = "vickland" + item_state = "vickland" + weapon_weight = WEAPON_MEDIUM + w_class = WEIGHT_CLASS_BULKY + internal_magazine = TRUE + default_ammo_type = /obj/item/ammo_box/magazine/internal/vickland + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/vickland, + ) + fire_sound = 'sound/weapons/gun/rifle/vickland.ogg' + + manufacturer = MANUFACTURER_HUNTERSPRIDE + zoomable = FALSE //no scope on it + + rack_sound = 'sound/weapons/gun/rifle/ar_cock.ogg' + + fire_delay = 0.4 SECONDS + + spread_unwielded = 25 + recoil = 0 + recoil_unwielded = 4 + wield_slowdown = DMR_SLOWDOWN + +/obj/item/gun/ballistic/rifle/scout + name = "HP Scout" + desc = "A powerful bolt-action rifle usually given to mercenary hunters of the Saint-Roumain Militia, equally suited for taking down big game or two-legged game. Chambered in .300 Magnum." + icon = 'icons/obj/guns/manufacturer/hunterspride/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/hunterspride/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/hunterspride/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/hunterspride/onmob.dmi' + icon_state = "scout" + item_state = "scout" + + default_ammo_type = /obj/item/ammo_box/magazine/internal/boltaction/smile + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/boltaction/smile, + ) + fire_sound = 'sound/weapons/gun/rifle/scout.ogg' + + rack_sound = 'sound/weapons/gun/rifle/scout_bolt_out.ogg' + bolt_drop_sound = 'sound/weapons/gun/rifle/scout_bolt_in.ogg' + + can_be_sawn_off = FALSE + + zoomable = TRUE + zoom_amt = 10 //Long range, enough to see in front of you, but no tiles behind you. + zoom_out_amt = 5 + + manufacturer = MANUFACTURER_HUNTERSPRIDE + diff --git a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm index 8e842d71fa6c..7389908ac9c4 100644 --- a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm @@ -540,7 +540,7 @@ NO_MAG_GUN_HELPER(automatic/smg/sidewinder) spread_unwielded = 35 recoil = 4 recoil_unwielded = 10 - wield_slowdown = 1 + wield_slowdown = SNIPER_SLOWDOWN wield_delay = 1.3 SECONDS zoom_amt = 10 //Long range, enough to see in front of you, but no tiles behind you. @@ -680,7 +680,7 @@ NO_MAG_GUN_HELPER(automatic/marksman/taipan) fire_delay = 0.18 SECONDS spread = 1 spread_unwielded = 8 - wield_slowdown = 0.4 + wield_slowdown = LIGHT_RIFLE_SLOWDOWN valid_attachments = SCARBOROUGH_ATTACHMENTS slot_available = SCARBOROUGH_ATTACH_SLOTS @@ -736,7 +736,7 @@ NO_MAG_GUN_HELPER(automatic/assault/hydra) fire_delay = 0.08 SECONDS spread = 6 spread_unwielded = 20 - wield_slowdown = 0.85 //better than the lmgs since it doesnt have a bipod, still not ideal + wield_slowdown = SAW_SLOWDOWN //better than the lmgs since it doesnt have a bipod, still not ideal wield_delay = 0.9 SECONDS //ditto valid_attachments = SCARBOROUGH_ATTACHMENTS @@ -775,7 +775,7 @@ NO_MAG_GUN_HELPER(automatic/assault/hydra) spread = 0 spread_unwielded = 12 - wield_slowdown = 0.8 //dmrrrr + wield_slowdown = DMR_SLOWDOWN //dmrrrr wield_delay = 0.85 SECONDS //above zoomable = TRUE default_ammo_type = /obj/item/ammo_box/magazine/m556_42_hydra/small @@ -942,7 +942,7 @@ EMPTY_GUN_HELPER(automatic/assault/hydra/dmr) spread_unwielded = 16 recoil = 1 recoil_unwielded = 4 - wield_slowdown = 0.6 + wield_slowdown = HEAVY_SHOTGUN_SLOWDOWN wield_delay = 0.65 SECONDS valid_attachments = SCARBOROUGH_ATTACHMENTS diff --git a/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm b/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm index 13820fea264d..9542897414bb 100644 --- a/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm @@ -32,6 +32,7 @@ recoil = -2 recoil_unwielded = -2 + wield_slowdown = PISTOL_SLOWDOWN valid_attachments = list( /obj/item/attachment/m17_barrel, @@ -92,10 +93,10 @@ EMPTY_GUN_HELPER(automatic/pistol/m17) fire_sound = 'sound/weapons/gun/gauss/claris.ogg' spread = 0 - spread_unwielded = 25 + spread_unwielded = 15 recoil = 0 recoil_unwielded = 2 - wield_slowdown = 0.5 + wield_slowdown = LIGHT_RIFLE_SLOWDOWN wield_delay = 1 SECONDS manufacturer = MANUFACTURER_SERENE @@ -174,11 +175,13 @@ EMPTY_GUN_HELPER(automatic/m12_sporter/mod) w_class = WEIGHT_CLASS_BULKY weapon_weight = WEAPON_MEDIUM + slot_flags = ITEM_SLOT_BACK + spread = 0 - spread_unwielded = 40 - recoil = 1 + spread_unwielded = 20 + recoil = 0.5 recoil_unwielded = 3 - wield_slowdown = 0.5 + wield_slowdown = LIGHT_RIFLE_SLOWDOWN wield_delay = 1 SECONDS valid_attachments = SERENE_ATTACHMENTS @@ -238,7 +241,7 @@ EMPTY_GUN_HELPER(automatic/m15) spread_unwielded = 16 recoil = 1 recoil_unwielded = 4 - wield_slowdown = 0.4 + wield_slowdown = SHOTGUN_SLOWDOWN wield_delay = 0.65 SECONDS casing_ejector = TRUE diff --git a/code/modules/projectiles/guns/manufacturer/solar_armories/ballistic.dm b/code/modules/projectiles/guns/manufacturer/solar_armories/ballistic.dm new file mode 100644 index 000000000000..6a1575ab2043 --- /dev/null +++ b/code/modules/projectiles/guns/manufacturer/solar_armories/ballistic.dm @@ -0,0 +1,209 @@ +///SOLAR ARMORIES +//fuck you im not typing the full name out +//solarwaffledesuckenmydickengeschutzenweaponmanufacturinglocation + +///Pistols +/obj/item/gun/ballistic/automatic/powered/gauss/modelh + name = "Model H" + desc = "A standard-issue pistol exported from the Solarian Confederation. It fires slow flesh-rending ferromagnetic slugs at a high energy cost, however they are ineffective on any armor." + + icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' + icon_state = "model-h" + item_state = "model-h" + fire_sound = 'sound/weapons/gun/gauss/modelh.ogg' + load_sound = 'sound/weapons/gun/gauss/pistol_reload.ogg' + + default_ammo_type = /obj/item/ammo_box/magazine/modelh + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/modelh, + ) + default_cell_type = /obj/item/stock_parts/cell/gun/solgov + allowed_cell_types = list( + /obj/item/stock_parts/cell/gun/solgov, + ) + + slot_flags = ITEM_SLOT_BELT + w_class = WEIGHT_CLASS_SMALL + fire_delay = 0.6 SECONDS //pistol, but heavy caliber. + show_magazine_on_sprite = FALSE + empty_indicator = FALSE + manufacturer = MANUFACTURER_SOLARARMORIES + recoil = 2 + recoil_unwielded = 4 + spread = 6 + spread_unwielded = 12 + fire_select_icon_state_prefix = "slug_" + + valid_attachments = list( + /obj/item/attachment/laser_sight, + /obj/item/attachment/rail_light, + ) + +/obj/item/gun/ballistic/automatic/powered/gauss/modelh/no_mag + default_ammo_type = FALSE + +/obj/item/gun/ballistic/automatic/powered/gauss/modelh/suns + desc = "A standard-issue pistol exported from the Solarian Confederation. It fires slow flesh-rending ferromagnetic slugs at a high energy cost, however they are ineffective on any armor. It is painted in the colors of SUNS." + default_ammo_type = /obj/item/ammo_box/magazine/modelh + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/modelh, + ) + icon_state = "model-h_suns" + item_state = "model-h_suns" + +//not gauss pistol +/obj/item/gun/ballistic/automatic/pistol/solgov + name = "\improper Pistole C" + desc = "A favorite of the Terran Regency that is despised by the Solarian bureaucracy. Shifted out of military service centuries ago, though still popular among civilians. Chambered in 5.56mm caseless." + icon_state = "pistole-c" + icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' + + weapon_weight = WEAPON_LIGHT + default_ammo_type = /obj/item/ammo_box/magazine/pistol556mm + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/pistol556mm, + ) + fire_sound = 'sound/weapons/gun/pistol/pistolec.ogg' + manufacturer = MANUFACTURER_SOLARARMORIES + load_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' + load_empty_sound = 'sound/weapons/gun/pistol/mag_insert.ogg' + eject_sound = 'sound/weapons/gun/pistol/mag_release.ogg' + eject_empty_sound = 'sound/weapons/gun/pistol/mag_release.ogg' + + rack_sound = 'sound/weapons/gun/pistol/rack_small.ogg' + lock_back_sound = 'sound/weapons/gun/pistol/lock_small.ogg' + bolt_drop_sound = 'sound/weapons/gun/pistol/drop_small.ogg' + + fire_select_icon_state_prefix = "caseless_" + + slot_flags = ITEM_SLOT_BELT + +/obj/item/gun/ballistic/automatic/pistol/solgov/old + icon_state = "pistole-c-old" + +///Rifles + +/obj/item/gun/ballistic/automatic/powered/gauss/claris + name = "Claris" + desc = "An antiquated Solarian rifle. Chambered in ferromagnetic pellets, just as the founding Solarians intended." + default_ammo_type = /obj/item/ammo_box/magazine/internal/claris + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/claris, + ) + icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' + icon_state = "claris" + item_state = "claris" + fire_sound = 'sound/weapons/gun/gauss/claris.ogg' + load_sound = 'sound/weapons/gun/gauss/sniper_reload.ogg' + default_cell_type = /obj/item/stock_parts/cell/gun/solgov + allowed_cell_types = list( + /obj/item/stock_parts/cell/gun/solgov, + ) + fire_delay = 0.4 SECONDS + bolt_type = BOLT_TYPE_NO_BOLT + internal_magazine = TRUE + show_magazine_on_sprite = FALSE + empty_indicator = FALSE + manufacturer = MANUFACTURER_SOLARARMORIES + fire_select_icon_state_prefix = "pellet_" + + slot_flags = ITEM_SLOT_BACK + + valid_attachments = list( + /obj/item/attachment/laser_sight, + /obj/item/attachment/rail_light, + /obj/item/attachment/bayonet, + /obj/item/attachment/energy_bayonet + ) + + +/obj/item/gun/ballistic/automatic/powered/gauss/claris/suns + desc = "An antiquated Solarian rifle. Chambered in ferromagnetic pellets, just as the founding Solarians intended. Evidently, SUNS' founders echo the sentiment, as it appears to be painted in their colors." + icon_state = "claris_suns" + item_state = "claris_suns" + +/obj/item/gun/ballistic/automatic/powered/gauss/gar + name = "Solar 'GAR' Carbine" + desc = "A Solarian carbine, unusually modern for its producers. Launches ferromagnetic lances at alarming speeds." + default_ammo_type = /obj/item/ammo_box/magazine/gar + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/gar, + ) + icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' + icon_state = "gar" + item_state = "gar" + fire_sound = 'sound/weapons/gun/gauss/gar.ogg' + load_sound = 'sound/weapons/gun/gauss/rifle_reload.ogg' + default_cell_type = /obj/item/stock_parts/cell/gun/solgov + allowed_cell_types = list( + /obj/item/stock_parts/cell/gun/solgov, + ) + burst_size = 1 + + fire_delay = 0.2 SECONDS + + actions_types = list() + empty_indicator = FALSE + manufacturer = MANUFACTURER_SOLARARMORIES + + slot_flags = ITEM_SLOT_BACK + + valid_attachments = list( + /obj/item/attachment/laser_sight, + /obj/item/attachment/rail_light, + /obj/item/attachment/bayonet, + /obj/item/attachment/energy_bayonet + ) + + gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO) + default_firemode = FIREMODE_SEMIAUTO + + wield_delay = 0.7 SECONDS + fire_select_icon_state_prefix = "lance_" + +/obj/item/gun/ballistic/automatic/powered/gauss/gar/suns + desc = "A Solarian carbine, unusually modern for its producers. It's just modern enough for SUNS, however, who have painted the weapon in their colors. Launches ferromagnetic lances at alarming speeds." + icon_state = "gar_suns" + item_state = "gar_suns" + +///Sniper +/obj/item/gun/ballistic/rifle/solgov + name = "SSG-669C" + desc = "A bolt-action sniper rifle used by Solarian troops. Beloved for its rotary design and accuracy. Chambered in 8x58mm Caseless." + default_ammo_type = /obj/item/ammo_box/magazine/internal/boltaction/solgov + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/boltaction/solgov, + ) + icon_state = "ssg669c" + item_state = "ssg669c" + icon = 'icons/obj/guns/manufacturer/solararmories/48x32.dmi' + lefthand_file = 'icons/obj/guns/manufacturer/solararmories/lefthand.dmi' + righthand_file = 'icons/obj/guns/manufacturer/solararmories/righthand.dmi' + mob_overlay_icon = 'icons/obj/guns/manufacturer/solararmories/onmob.dmi' + + fire_sound = 'sound/weapons/gun/rifle/ssg669c.ogg' + can_be_sawn_off = FALSE + + zoomable = TRUE + zoom_amt = 10 //Long range, enough to see in front of you, but no tiles behind you. + zoom_out_amt = 5 + + manufacturer = MANUFACTURER_SOLARARMORIES + spread = -5 + spread_unwielded = 20 + recoil = 0 + recoil_unwielded = 4 + wield_slowdown = SNIPER_SLOWDOWN + wield_delay = 1.3 SECONDS diff --git a/icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi b/icons/obj/guns/manufacturer/clip_lanchester/48x32.dmi index e0567289abf6dda43d4b950e44b5ed5abe0147a9..5d24f6a8877050ba04cf12dc9666703c2c3ee503 100644 GIT binary patch literal 4673 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 D*lpc{ literal 11416 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 USk=tHj$@F5oT_YPx# diff --git a/shiptest.dme b/shiptest.dme index 3f1f68b4b40a..2392beefc8fd 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -3101,9 +3101,11 @@ #include "code\modules\projectiles\guns\manufacturer\clip_lanchester\lasers.dm" #include "code\modules\projectiles\guns\manufacturer\etherbor\energy_gunsword.dm" #include "code\modules\projectiles\guns\manufacturer\frontier_import\ballistics.dm" +#include "code\modules\projectiles\guns\manufacturer\hunter_pride\ballistics.dm" #include "code\modules\projectiles\guns\manufacturer\nanotrasen_sharplite\ballistics.dm" #include "code\modules\projectiles\guns\manufacturer\scarborough\ballistics.dm" #include "code\modules\projectiles\guns\manufacturer\serene_sporting\ballistics.dm" +#include "code\modules\projectiles\guns\manufacturer\solar_armories\ballistic.dm" #include "code\modules\projectiles\guns\misc\beam_rifle.dm" #include "code\modules\projectiles\guns\misc\blastcannon.dm" #include "code\modules\projectiles\guns\misc\bow.dm" From 09587d094a2fe593a8766425f7dc16e38366b225 Mon Sep 17 00:00:00 2001 From: Mark Suckerberg Date: Tue, 3 Dec 2024 06:45:44 -0600 Subject: [PATCH 297/344] Total Turret Refactor (#3844) ## About The Pull Request Turret code was absolute garbage. This goes through and re-does practically all of it, plus adds some new goodies for good measure. Adds my own half-baked "simple beam" system, for when performance is allegedly important and you don't care that they look ugly and only show up when you can see the source object. ## Why It's Good For The Game Not spending so much time processing JUST turrets is super nice. Plus giving players the ability to actually control their turrets more is nice. ## Changelog :cl: add: You can now set turrets to filter by faction, mob type, and a few more criteria including "dangerous only" as well as the ability to disable retaliation. add: Turret retaliation is a lot more vengeful. Don't mess with them. add: Turrets will now spend a short time targetting you, pointing a beam at you to indicate that they're doing so. del: Turret covers, because they sucked. fix: Turretcode is a LOT less laggy. tweak: Turrets are now built like normal machines. The boards are currently not available (except through salvaging). tweak: You can now access full turret settings from the turret control panel. /:cl: --- .../SandRuins/whitesands_cave_base.dmm | 12 +- _maps/shuttles/pgf/pgf_crying_sun.dmm | 32 +- _maps/shuttles/subshuttles/pgf_nail.dmm | 4 +- code/__DEFINES/machines.dm | 24 + code/_globalvars/bitfields.dm | 10 + code/controllers/subsystem/turrets.dm | 39 +- code/datums/simple_beam.dm | 71 + code/game/atoms.dm | 3 - .../machinery/porta_turret/portable_turret.dm | 1501 +++++------------ .../porta_turret/portable_turret_construct.dm | 192 --- .../porta_turret/portable_turret_control.dm | 241 +++ .../porta_turret/portable_turret_cover.dm | 93 - .../portable_turret_manual_control.dm | 68 + .../porta_turret/portable_turret_types.dm | 340 ++++ .../circuitboards/machine_circuitboards.dm | 12 + code/game/objects/items/devices/mines.dm | 2 +- .../stacks/sheets/recipes/recipes_metal.dm | 1 - .../traitor/equipment/Malf_Modules.dm | 15 - .../living/simple_animal/hostile/hostile.dm | 6 +- .../projectiles/guns/energy/energy_gun.dm | 7 +- .../ruins/rockplanet_ruin_code/mining_base.dm | 4 +- .../ruins/sandplanet_ruin_code/cave_base.dm | 2 +- code/modules/vehicles/atv.dm | 1 - shiptest.dme | 6 +- .../tgui/interfaces/PortableTurret.js | 121 -- .../packages/tgui/interfaces/TurretControl.js | 125 +- .../Scripts/3844_turrets_refactor.txt | 1 + tools/UpdatePaths/__main__.py | 6 +- 28 files changed, 1344 insertions(+), 1595 deletions(-) create mode 100644 code/datums/simple_beam.dm delete mode 100644 code/game/machinery/porta_turret/portable_turret_construct.dm create mode 100644 code/game/machinery/porta_turret/portable_turret_control.dm delete mode 100644 code/game/machinery/porta_turret/portable_turret_cover.dm create mode 100644 code/game/machinery/porta_turret/portable_turret_manual_control.dm create mode 100644 code/game/machinery/porta_turret/portable_turret_types.dm delete mode 100644 tgui/packages/tgui/interfaces/PortableTurret.js create mode 100644 tools/UpdatePaths/Scripts/3844_turrets_refactor.txt diff --git a/_maps/RandomRuins/SandRuins/whitesands_cave_base.dmm b/_maps/RandomRuins/SandRuins/whitesands_cave_base.dmm index 187b24b1d267..22683628b02e 100644 --- a/_maps/RandomRuins/SandRuins/whitesands_cave_base.dmm +++ b/_maps/RandomRuins/SandRuins/whitesands_cave_base.dmm @@ -864,7 +864,7 @@ /area/ruin/whitesands/cave_base) "tB" = ( /obj/machinery/porta_turret/cave_base{ - mode = 1 + lethal = 1 }, /obj/effect/turf_decal/box/red, /obj/structure/cable, @@ -1103,7 +1103,7 @@ /area/ruin/whitesands/cave_base) "yD" = ( /obj/machinery/porta_turret/cave_base{ - mode = 1 + lethal = 1 }, /obj/structure/cable, /obj/effect/turf_decal/box/red, @@ -1507,7 +1507,7 @@ }, /obj/machinery/light/floor, /obj/machinery/porta_turret/cave_base{ - mode = 1 + lethal = 1 }, /turf/open/floor/concrete/slab_1/whitesands, /area/ruin/whitesands/cave_base) @@ -1536,7 +1536,7 @@ /area/overmap_encounter/planetoid/cave/explored) "HF" = ( /obj/machinery/porta_turret/cave_base{ - mode = 1 + lethal = 1 }, /obj/structure/cable{ icon_state = "0-4" @@ -2016,7 +2016,7 @@ /obj/effect/turf_decal/box/red, /obj/machinery/light/floor, /obj/machinery/porta_turret/cave_base{ - mode = 1 + lethal = 1 }, /turf/open/floor/concrete/slab_1/whitesands, /area/ruin/whitesands/cave_base) @@ -2182,7 +2182,7 @@ /turf/open/floor/plating/asteroid/whitesands/grass, /area/overmap_encounter/planetoid/cave/explored) "Xe" = ( -/obj/machinery/porta_turret, +/obj/machinery/porta_turret/cave_base, /turf/closed/mineral/random/whitesands, /area/overmap_encounter/planetoid/cave/explored) "XF" = ( diff --git a/_maps/shuttles/pgf/pgf_crying_sun.dmm b/_maps/shuttles/pgf/pgf_crying_sun.dmm index 4ebc29275cd9..97e965f541d3 100644 --- a/_maps/shuttles/pgf/pgf_crying_sun.dmm +++ b/_maps/shuttles/pgf/pgf_crying_sun.dmm @@ -1190,8 +1190,8 @@ }, /obj/machinery/porta_turret/ship/pgf/light{ dir = 5; - mode = 1; - id = "crying_sun_grid" + id = "crying_sun_grid"; + lethal = 1 }, /turf/open/floor/engine/hull, /area/ship/external/dark) @@ -1484,8 +1484,8 @@ }, /obj/machinery/porta_turret/ship/pgf/light{ dir = 8; - mode = 1; - id = "crying_sun_grid" + id = "crying_sun_grid"; + lethal = 1 }, /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) @@ -3177,8 +3177,8 @@ /obj/structure/catwalk/over/plated_catwalk/dark, /obj/machinery/porta_turret/ship/pgf/light{ dir = 4; - mode = 1; - id = "crying_sun_grid" + id = "crying_sun_grid"; + lethal = 1 }, /turf/open/floor/plating/airless, /area/ship/external/dark) @@ -4241,8 +4241,8 @@ }, /obj/machinery/porta_turret/ship/pgf/light{ dir = 4; - mode = 1; - id = "crying_sun_grid" + id = "crying_sun_grid"; + lethal = 1 }, /turf/open/floor/plating/airless, /area/ship/external/dark) @@ -5846,8 +5846,8 @@ }, /obj/machinery/porta_turret/ship/pgf/light{ dir = 10; - mode = 1; - id = "crying_sun_grid" + id = "crying_sun_grid"; + lethal = 1 }, /turf/open/floor/engine/hull, /area/ship/external/dark) @@ -6312,8 +6312,8 @@ }, /obj/machinery/porta_turret/ship/pgf/light{ dir = 6; - mode = 1; - id = "crying_sun_grid" + id = "crying_sun_grid"; + lethal = 1 }, /turf/open/floor/engine/hull, /area/ship/external/dark) @@ -6398,8 +6398,8 @@ }, /obj/machinery/porta_turret/ship/pgf/light{ dir = 5; - mode = 1; - id = "crying_sun_grid" + id = "crying_sun_grid"; + lethal = 1 }, /turf/open/floor/engine/hull, /area/ship/external/dark) @@ -6726,8 +6726,8 @@ /obj/structure/cable, /obj/machinery/porta_turret/ship/pgf/light{ dir = 5; - mode = 1; - id = "crying_sun_grid" + id = "crying_sun_grid"; + lethal = 1 }, /turf/open/floor/engine/hull, /area/ship/external/dark) diff --git a/_maps/shuttles/subshuttles/pgf_nail.dmm b/_maps/shuttles/subshuttles/pgf_nail.dmm index 6b0c12bc7f53..7414776c1e9f 100644 --- a/_maps/shuttles/subshuttles/pgf_nail.dmm +++ b/_maps/shuttles/subshuttles/pgf_nail.dmm @@ -397,8 +397,8 @@ }, /obj/machinery/porta_turret/ship/pgf/light{ dir = 8; - mode = 1; - id = "nail_grid" + id = "nail_grid"; + lethal = 1 }, /turf/open/floor/engine/hull/reinforced/interior, /area/ship/external/dark) diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm index 02e6853338d7..7c04242f9976 100644 --- a/code/__DEFINES/machines.dm +++ b/code/__DEFINES/machines.dm @@ -143,3 +143,27 @@ #define CLONING_DELETE_RECORD (1<<1) #define CLICKSOUND_INTERVAL (0.1 SECONDS) //! clicky noises, how much time needed in between clicks on the machine for the sound to play on click again. + +/// ONLY shoots at mobs who match the rest of the flags and have weaponry/are otherwise dangerous +#define TURRET_FLAG_SHOOT_DANGEROUS_ONLY (1<<0) +/// Will shoot at things that shoot at it +#define TURRET_FLAG_SHOOT_RETALIATE (1<<1) + +/// Will shoot at things that aren't human +#define TURRET_FLAG_SHOOT_FAUNA (1<<2) +/// Will shoot at humans +#define TURRET_FLAG_SHOOT_HUMANS (1<<3) +/// Will shoot at silicons +#define TURRET_FLAG_SHOOT_SILICONS (1<<4) +/// Will shoot at any kind of mob +#define TURRET_FLAG_SHOOT_ALLMOBS TURRET_FLAG_SHOOT_FAUNA|TURRET_FLAG_SHOOT_HUMANS|TURRET_FLAG_SHOOT_SILICONS + +/// Will only shoot at things that AREN'T in the turret's set faction +#define TURRET_FLAG_SHOOT_NONFACTION (1<<5) +/// Will only shoot at things that ARE in the turret's set faction +#define TURRET_FLAG_SHOOT_SPECIFIC_FACTION (1<<6) +/// Will totally ignore targets' factions - the same as not setting the above two flags +//#define TURRET_FLAG_SHOOT_ALLFACTION (1<<8) + +#define TURRET_FLAG_DEFAULT TURRET_FLAG_SHOOT_DANGEROUS_ONLY|TURRET_FLAG_SHOOT_RETALIATE|TURRET_FLAG_SHOOT_FAUNA|TURRET_FLAG_SHOOT_NONFACTION +#define TURRET_FLAG_HOSTILE TURRET_FLAG_SHOOT_ALLMOBS|TURRET_FLAG_SHOOT_RETALIATE|TURRET_FLAG_SHOOT_NONFACTION diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index 30a38a5b4821..de7349f791b0 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -299,3 +299,13 @@ DEFINE_BITFIELD(bodytype, list( "BODYTYPE_KEPORI" = BODYTYPE_KEPORI, "BODYTYPE_VOX" = BODYTYPE_VOX )) + +DEFINE_BITFIELD(turret_flags, list( + "TURRET_FLAG_SHOOT_DANGEROUS_ONLY" = TURRET_FLAG_SHOOT_DANGEROUS_ONLY, + "TURRET_FLAG_SHOOT_RETALIATE" = TURRET_FLAG_SHOOT_RETALIATE, + "TURRET_FLAG_SHOOT_FAUNA" = TURRET_FLAG_SHOOT_FAUNA, + "TURRET_FLAG_SHOOT_HUMANS" = TURRET_FLAG_SHOOT_HUMANS, + "TURRET_FLAG_SHOOT_SILICONS" = TURRET_FLAG_SHOOT_SILICONS, + "TURRET_FLAG_SHOOT_NONFACTION" = TURRET_FLAG_SHOOT_NONFACTION, + "TURRET_FLAG_SHOOT_SPECIFIC_FACTION" = TURRET_FLAG_SHOOT_SPECIFIC_FACTION, +)) diff --git a/code/controllers/subsystem/turrets.dm b/code/controllers/subsystem/turrets.dm index 634f6327e458..7c99cc33a4c8 100644 --- a/code/controllers/subsystem/turrets.dm +++ b/code/controllers/subsystem/turrets.dm @@ -1,41 +1,4 @@ -SUBSYSTEM_DEF(turrets) +PROCESSING_SUBSYSTEM_DEF(turrets) name = "Turrets" wait = 5 - init_order = INIT_ORDER_MACHINES - flags = SS_KEEP_TIMING runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME - var/list/processing = list() - var/list/currentrun = list() - -/datum/controller/subsystem/turrets/get_metrics() - . = ..() - var/list/cust = list() - cust["processing"] = length(processing) - .["custom"] = cust - -/datum/controller/subsystem/turrets/stat_entry(msg) - msg = "M:[length(processing)]]" - return ..() - - -/datum/controller/subsystem/turrets/fire(resumed = 0) - if (!resumed) - src.currentrun = processing.Copy() - - //cache for sanic speed (lists are references anyways) - var/list/currentrun = src.currentrun - - var/seconds = wait * 0.1 - while(currentrun.len) - var/obj/machinery/thing = currentrun[currentrun.len] - currentrun.len-- - if(QDELETED(thing) || thing.process(seconds) == PROCESS_KILL) - processing -= thing - if (!QDELETED(thing)) - thing.datum_flags &= ~DF_ISPROCESSING - if (MC_TICK_CHECK) - return - -/datum/controller/subsystem/turrets/Recover() - if (istype(SSturrets.processing)) - processing = SSmachines.processing diff --git a/code/datums/simple_beam.dm b/code/datums/simple_beam.dm new file mode 100644 index 000000000000..ec6538239754 --- /dev/null +++ b/code/datums/simple_beam.dm @@ -0,0 +1,71 @@ +/datum/simple_beam + ///The source of the beam, which must be visible for the beam to be seen. Can NOT be null. + VAR_PRIVATE/atom/movable/origin + ///The target of the beam. Can be null. + VAR_PRIVATE/atom/movable/target + ///The visual representation of the beam. + VAR_PRIVATE/obj/effect/simple_beam/its_beam + +/datum/simple_beam/New(_origin, _target, icon = 'icons/effects/beam.dmi', icon_state = "1-full", icon_color = null, icon_alpha = 255) + origin = _origin + target = _target + + its_beam = new /obj/effect/simple_beam(origin, icon, icon_state, icon_color, icon_alpha) + origin.vis_contents += its_beam + + set_target(target) + +/datum/simple_beam/Destroy(force) + origin.vis_contents -= its_beam + QDEL_NULL(its_beam) + + if(target) + UnregisterSignal(origin, COMSIG_MOVABLE_MOVED) + UnregisterSignal(target, COMSIG_MOVABLE_MOVED) + + return ..() + +/datum/simple_beam/proc/draw() + if(origin.z != target.z) + set_target(null) + return + + var/f_dx = ((target.pixel_x - origin.pixel_x + 16) / world.icon_size) + (target.x - origin.x) + var/f_dy = ((target.pixel_y - origin.pixel_y) / world.icon_size) + (target.y - origin.y) + var/dist = sqrt(f_dx * f_dx + f_dy * f_dy) + var/s_dx = f_dy/dist + var/s_dy = -f_dx/dist + var/matrix/translation = matrix() + translation.Translate(0, 16) + translation.Multiply(new /matrix(s_dx, f_dx, 0, s_dy, f_dy, 0)) + + its_beam.transform = translation + +/datum/simple_beam/proc/set_target(new_target) + if(target) + UnregisterSignal(target, COMSIG_MOVABLE_MOVED) + UnregisterSignal(origin, COMSIG_MOVABLE_MOVED) + + target = new_target + + if(target) + its_beam.vis_flags &= ~VIS_HIDE + + RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(draw)) + RegisterSignal(origin, COMSIG_MOVABLE_MOVED, PROC_REF(draw)) + + draw() + else + its_beam.vis_flags |= VIS_HIDE + +/obj/effect/simple_beam + layer = ABOVE_LIGHTING_LAYER + plane = ABOVE_LIGHTING_PLANE + +/obj/effect/simple_beam/New(loc, icon, icon_state, icon_color, icon_alpha) + src.icon = icon + src.icon_state = icon_state + src.color = icon_color + src.alpha = icon_alpha + + return ..() diff --git a/code/game/atoms.dm b/code/game/atoms.dm index acc2797b360a..6f1a0069e5c9 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -1320,9 +1320,6 @@ /atom/proc/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) return -/atom/proc/disconnect_from_shuttle(obj/docking_port/mobile/port) - return - /// Generic logging helper /atom/proc/log_message(message, message_type, color=null, log_globally=TRUE) if(!log_globally) diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index a9e69edc00e9..dc0c2d47f963 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -1,188 +1,138 @@ -#define TURRET_STUN 0 -#define TURRET_LETHAL 1 - -#define POPUP_ANIM_TIME 5 -#define POPDOWN_ANIM_TIME 5 //Be sure to change the icon animation at the same time or it'll look bad - -#define TURRET_FLAG_SHOOT_ALL_REACT (1<<0) // The turret gets pissed off and shoots at people nearby (unless they have sec access!) -#define TURRET_FLAG_AUTH_WEAPONS (1<<1) // Checks if it can shoot people that have a weapon they aren't authorized to have -#define TURRET_FLAG_SHOOT_CRIMINALS (1<<2) // Checks if it can shoot people that are wanted -#define TURRET_FLAG_SHOOT_ALL (1<<3) // The turret gets pissed off and shoots at people nearby (unless they have sec access!) -#define TURRET_FLAG_SHOOT_ANOMALOUS (1<<4) // Checks if it can shoot at unidentified lifeforms (ie xenos) -#define TURRET_FLAG_SHOOT_UNSHIELDED (1<<5) // Checks if it can shoot people that aren't mindshielded and who arent heads -#define TURRET_FLAG_SHOOT_BORGS (1<<6) // checks if it can shoot cyborgs -#define TURRET_FLAG_SHOOT_HEADS (1<<7) // checks if it can shoot at heads of staff - -DEFINE_BITFIELD(turret_flags, list( - "TURRET_FLAG_SHOOT_ALL_REACT" = TURRET_FLAG_SHOOT_ALL_REACT, - "TURRET_FLAG_AUTH_WEAPONS" = TURRET_FLAG_AUTH_WEAPONS, - "TURRET_FLAG_SHOOT_CRIMINALS" = TURRET_FLAG_SHOOT_CRIMINALS, - "TURRET_FLAG_SHOOT_ALL" = TURRET_FLAG_SHOOT_ALL, - "TURRET_FLAG_SHOOT_ANOMALOUS" = TURRET_FLAG_SHOOT_ANOMALOUS, - "TURRET_FLAG_SHOOT_UNSHIELDED" = TURRET_FLAG_SHOOT_UNSHIELDED, - "TURRET_FLAG_SHOOT_BORGS" = TURRET_FLAG_SHOOT_BORGS, - "TURRET_FLAG_SHOOT_HEADS" = TURRET_FLAG_SHOOT_HEADS, -)) - /obj/machinery/porta_turret name = "turret" icon = 'icons/obj/turrets.dmi' - icon_state = "turretCover" - layer = OBJ_LAYER - invisibility = INVISIBILITY_OBSERVER //the turret is invisible if it's inside its cover + icon_state = "standard_stun" density = TRUE - desc = "A covered turret that shoots at its enemies." - use_power = IDLE_POWER_USE //this turret uses and requires power - idle_power_usage = IDLE_DRAW_MINIMAL //when inactive, this turret takes up constant 50 Equipment power - active_power_usage = ACTIVE_DRAW_LOW //when active, this turret takes up constant 300 Equipment power - req_access = list(ACCESS_SECURITY) /// Only people with Security access - power_channel = AREA_USAGE_EQUIP //drains power from the EQUIPMENT channel - max_integrity = 160 //the turret's health + desc = "A turret that shoots at its enemies." + use_power = IDLE_POWER_USE + idle_power_usage = IDLE_DRAW_LOW + active_power_usage = ACTIVE_DRAW_HIGH + req_access = list(ACCESS_SECURITY) + power_channel = AREA_USAGE_EQUIP + max_integrity = 200 integrity_failure = 0.5 armor = list("melee" = 50, "bullet" = 30, "laser" = 30, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90) base_icon_state = "standard" - subsystem_type = /datum/controller/subsystem/turrets + subsystem_type = /datum/controller/subsystem/processing/turrets + circuit = /obj/item/circuitboard/machine/turret + /// Scan range of the turret for locating targets var/scan_range = 7 - /// For turrets inside other objects - var/atom/base = null - /// If the turret cover is "open" and the turret is raised - var/raised = FALSE - /// If the turret is currently opening or closing its cover - var/raising = FALSE + /// List of ALL targets in range, even if they are not visible + var/list/mob/living/targets = list() + /// The current target of the turret, if any + var/mob/living/current_target + + /// The beam showing which target we're acquiring + var/datum/simple_beam/target_beam + /// If the turret's behaviour control access is locked var/locked = TRUE - /// If the turret responds to control panels - var/controllock = FALSE - /// The type of weapon installed by default - var/installation = /obj/item/gun/energy/e_gun/turret - /// What stored gun is in the turret - var/obj/item/gun/stored_gun = null - /// The charge of the gun when retrieved from wreckage - var/gun_charge = 0 + /// In which mode is turret in, stun or lethal - var/mode = TURRET_STUN + var/lethal = FALSE + /// Stun mode projectile type - var/stun_projectile = null + var/stun_projectile = /obj/projectile/beam/disabler /// Sound of stun projectile - var/stun_projectile_sound + var/stun_projectile_sound = 'sound/weapons/plasma_cutter.ogg' /// Lethal mode projectile type - var/lethal_projectile = null + var/lethal_projectile = /obj/projectile/beam/laser /// Sound of lethal projectile - var/lethal_projectile_sound + var/lethal_projectile_sound = 'sound/weapons/plasma_cutter.ogg' + /// Power needed per shot var/reqpower = 500 - /// Will stay active - var/always_up = FALSE - /// Hides the cover - var/has_cover = TRUE - /// The cover that is covering this turret - var/obj/machinery/porta_turret_cover/cover = null - /// Ticks until next shot (1.5 ?) If this needs to go below 5, use SSFastProcess - var/shot_delay = 15 - /// Turret flags about who is turret allowed to shoot - var/turret_flags = TURRET_FLAG_SHOOT_CRIMINALS | TURRET_FLAG_SHOOT_ANOMALOUS + + /// If the turret is currently manually controlled + var/manual_control = FALSE + + /// Ticks until next shot If this needs to go below 5, use SSFastProcess + var/shot_delay = 1.5 SECONDS + /// Cooldown until we can shoot again + COOLDOWN_DECLARE(fire_cooldown) + + /// Reaction time of the turret, how long it takes after acquiring a target to begin firing + var/reaction_time + /// Cooldown until we can start firing + COOLDOWN_DECLARE(reaction_cooldown) + /// Determines if the turret is on var/on = TRUE + /// Turret flags about who is turret allowed to shoot + var/turret_flags = TURRET_FLAG_DEFAULT + + /// If the turret is currently retaliating. Turrets will ignore all other settings to shoot at the attacker until they're dead or out of range + var/retaliating = FALSE + /// Same faction mobs will never be shot at, no matter the other settings - var/list/faction = list("turret") + var/list/faction = list("neutral", "turret") + + var/list/target_faction = list("hostile") + /// The spark system, used for generating... sparks? var/datum/effect_system/spark_spread/spark_system - /// Linked turret control panel of the turret - var/obj/machinery/turretid/cp = null + /// The turret will try to shoot from a turf in that direction when in a wall var/wall_turret_direction - /// If the turret is manually controlled - var/manual_control = FALSE - /// Action button holder for quitting manual control - var/datum/action/turret_quit/quit_action - /// Action button holder for switching between turret modes when manually controlling - var/datum/action/turret_toggle/toggle_action - /// Mob that is remotely controlling the turret - var/mob/remote_controller - //our cooldowns - COOLDOWN_DECLARE(fire_cooldown) + /// For connecting to additional turrets var/id = "" + var/static/list/loc_connections = list( + COMSIG_ATOM_ENTERED = PROC_REF(on_entered), + COMSIG_ATOM_EXITED = PROC_REF(on_uncrossed), + ) /obj/machinery/porta_turret/Initialize() . = ..() - if(!base) - base = src + if(!reaction_time) + reaction_time = shot_delay + + target_beam = new(src, null, 'icons/effects/beam.dmi', "1-full", COLOR_RED, 127) update_appearance() //Sets up a spark system spark_system = new /datum/effect_system/spark_spread spark_system.set_up(5, 0, src) spark_system.attach(src) - setup() - if(has_cover) - cover = new /obj/machinery/porta_turret_cover(loc) - cover.parent_turret = src - var/mutable_appearance/base = mutable_appearance('icons/obj/turrets.dmi', "basedark") - base.layer = NOT_HIGH_OBJ_LAYER - underlays += base - if(!has_cover) - INVOKE_ASYNC(src, PROC_REF(popUp)) +/obj/machinery/porta_turret/Destroy() + targets.Cut() + targets = null -/obj/machinery/porta_turret/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) - id = "[REF(port)][id]" - port.turret_list |= WEAKREF(src) + set_target(null) -/obj/machinery/porta_turret/disconnect_from_shuttle(obj/docking_port/mobile/port) - port.turret_list -= WEAKREF(src) + QDEL_NULL(spark_system) + QDEL_NULL(target_beam) + remove_control() + return ..() -/obj/machinery/porta_turret/proc/toggle_on(set_to) - var/current = on - if (!isnull(set_to)) - on = set_to - else - on = !on - if (current != on) - check_should_process() - if (!on) - popDown() +/obj/machinery/porta_turret/ComponentInitialize() + . = ..() + AddComponent(/datum/component/connect_range, src, loc_connections, scan_range, TRUE) -/obj/machinery/porta_turret/proc/check_should_process() - if (datum_flags & DF_ISPROCESSING) - if (!on || !anchored || (machine_stat & BROKEN) || !powered()) - end_processing() - else - if (on && anchored && !(machine_stat & BROKEN) && powered()) - begin_processing() +/obj/machinery/porta_turret/proc/on_entered(atom/old_loc, atom/movable/new_target) + var/static/list/typecache_of_targets = typecacheof(list( + /mob/living/carbon, + /mob/living/silicon, + /mob/living/simple_animal, + /obj/mecha, + )) -/obj/machinery/porta_turret/update_icon_state() - if(!anchored) - icon_state = "turretCover" - return ..() - if(machine_stat & BROKEN) - icon_state = "[base_icon_state]_broken" - return ..() - if(!powered()) - icon_state = "[base_icon_state]_unpowered" - return ..() - if(!on || !raised) - icon_state = "[base_icon_state]_off" - return ..() - switch(mode) - if(TURRET_STUN) - icon_state = "[base_icon_state]_stun" - if(TURRET_LETHAL) - icon_state = "[base_icon_state]_lethal" - return ..() + if(is_type_in_typecache(new_target, typecache_of_targets)) + targets |= new_target -/obj/machinery/porta_turret/proc/setup(obj/item/gun/turret_gun) - if(stored_gun) - qdel(stored_gun) - stored_gun = null +/obj/machinery/porta_turret/proc/on_uncrossed(atom/old_loc, atom/movable/target) + //Should also get any deleted targets, since they're moved to nullspace + targets -= target - if(installation && !turret_gun) - stored_gun = new installation(src) - else if (turret_gun) - stored_gun = turret_gun +/obj/machinery/porta_turret/RefreshParts() + var/obj/item/gun/turret_gun = locate() in component_parts + + if(!turret_gun) + return - var/list/gun_properties = stored_gun.get_turret_properties() + var/list/gun_properties = turret_gun.get_turret_properties() //required properties stun_projectile = gun_properties["stun_projectile"] @@ -197,191 +147,249 @@ DEFINE_BITFIELD(turret_flags, list( if(gun_properties["reqpower"]) reqpower = gun_properties["reqpower"] - update_appearance() + update_appearance(UPDATE_ICON_STATE) return gun_properties -/obj/machinery/porta_turret/Destroy() - //deletes its own cover with it - QDEL_NULL(cover) - base = null - if(cp) - cp.turrets -= src - cp = null - QDEL_NULL(stored_gun) - QDEL_NULL(spark_system) - remove_control() +/obj/machinery/porta_turret/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) + id = "[text_ref(port)][initial(id)]" + port.turret_list |= WEAKREF(src) + +/obj/machinery/porta_turret/proc/toggle_on(set_to) + var/current = on + if (!isnull(set_to)) + on = set_to + else + on = !on + if (current != on) + check_should_process() + +/obj/machinery/porta_turret/proc/check_should_process() + var/functional = (on && anchored && !(machine_stat & BROKEN) && powered()) + var/processing = (datum_flags & DF_ISPROCESSING) + + if(processing && !functional) + end_processing() + + var/datum/component/connect_range/prox = GetComponent(/datum/component/connect_range) + prox?.set_tracked(null) + set_target(null) + + else if(!processing && functional) + begin_processing() + + var/datum/component/connect_range/prox = GetComponent(/datum/component/connect_range) + prox?.set_tracked(src) + +/obj/machinery/porta_turret/update_icon_state() + if(machine_stat & BROKEN) + icon_state = "[base_icon_state]_broken" + return ..() + if(!powered()) + icon_state = "[base_icon_state]_unpowered" + return ..() + if(!on) + icon_state = "[base_icon_state]_off" + return ..() + if(lethal) + icon_state = "[base_icon_state]_lethal" + else + icon_state = "[base_icon_state]_stun" return ..() /obj/machinery/porta_turret/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) if(!ui) - ui = new(user, src, "PortableTurret", name) + ui = new(user, src, "TurretControl", name) ui.open() /obj/machinery/porta_turret/ui_data(mob/user) - var/list/data = list( + var/allow_manual_control = FALSE + if(issilicon(user)) + var/mob/living/silicon/silicon_user = user + allow_manual_control = silicon_user.hack_software + + return list( "locked" = locked, - "on" = on, - "check_weapons" = turret_flags & TURRET_FLAG_AUTH_WEAPONS, - "neutralize_criminals" = turret_flags & TURRET_FLAG_SHOOT_CRIMINALS, - "neutralize_all" = turret_flags & TURRET_FLAG_SHOOT_ALL, - "neutralize_unidentified" = turret_flags & TURRET_FLAG_SHOOT_ANOMALOUS, - "neutralize_nonmindshielded" = turret_flags & TURRET_FLAG_SHOOT_UNSHIELDED, - "neutralize_cyborgs" = turret_flags & TURRET_FLAG_SHOOT_BORGS, - "ignore_heads" = turret_flags & TURRET_FLAG_SHOOT_HEADS, + "enabled" = on, + "lethal" = lethal, + "siliconUser" = user.has_unlimited_silicon_privilege && check_ship_ai_access(user), "manual_control" = manual_control, - "silicon_user" = FALSE, - "allow_manual_control" = FALSE, + "dangerous_only" = turret_flags & TURRET_FLAG_SHOOT_DANGEROUS_ONLY, + "retaliate" = turret_flags & TURRET_FLAG_SHOOT_RETALIATE, + "shoot_fauna" = turret_flags & TURRET_FLAG_SHOOT_FAUNA, + "shoot_humans" = turret_flags & TURRET_FLAG_SHOOT_HUMANS, + "shoot_silicons" = turret_flags & TURRET_FLAG_SHOOT_SILICONS, + "only_nonfaction" = turret_flags & TURRET_FLAG_SHOOT_NONFACTION, + "only_specificfaction" = turret_flags & TURRET_FLAG_SHOOT_SPECIFIC_FACTION, + "allow_manual_control" = allow_manual_control, ) - if(issilicon(user)) - data["silicon_user"] = TRUE - if(!manual_control) - var/mob/living/silicon/S = user - if(S.hack_software) - data["allow_manual_control"] = TRUE - return data /obj/machinery/porta_turret/ui_act(action, list/params) . = ..() if(.) return + if(locked) + to_chat(usr, span_warning("[src]'s controls are locked.")) + return + switch(action) + if("lock") + if(!usr.has_unlimited_silicon_privilege) + return + toggle_lock(usr) + return TRUE if("power") if(anchored) toggle_on() return TRUE else to_chat(usr, "It has to be secured first!") - if("authweapon") - turret_flags ^= TURRET_FLAG_AUTH_WEAPONS - return TRUE - if("shootcriminals") - turret_flags ^= TURRET_FLAG_SHOOT_CRIMINALS + if("manual") + if(!issilicon(usr)) + return + var/mob/living/silicon/user = usr + if(!user.hack_software) + return + give_control(usr) return TRUE - if("shootall") - turret_flags ^= TURRET_FLAG_SHOOT_ALL + if("mode") + lethal = !lethal return TRUE - if("checkxenos") - turret_flags ^= TURRET_FLAG_SHOOT_ANOMALOUS + + if("toggle_dangerous") + turret_flags ^= TURRET_FLAG_SHOOT_DANGEROUS_ONLY return TRUE - if("checkloyal") - turret_flags ^= TURRET_FLAG_SHOOT_UNSHIELDED + if("toggle_retaliate") + turret_flags ^= TURRET_FLAG_SHOOT_RETALIATE return TRUE - if("shootborgs") - turret_flags ^= TURRET_FLAG_SHOOT_BORGS + + if("toggle_fauna") + turret_flags ^= TURRET_FLAG_SHOOT_FAUNA return TRUE - if("shootheads") - turret_flags ^= TURRET_FLAG_SHOOT_HEADS + if("toggle_humans") + turret_flags ^= TURRET_FLAG_SHOOT_HUMANS return TRUE - if("manual") - if(!issilicon(usr)) - return - give_control(usr) + if("toggle_silicons") + turret_flags ^= TURRET_FLAG_SHOOT_SILICONS return TRUE -/obj/machinery/porta_turret/ui_host(mob/user) - if(has_cover && cover) - return cover - if(base) - return base - return src + if("toggle_nonfaction") + turret_flags ^= TURRET_FLAG_SHOOT_NONFACTION + return TRUE + if("toggle_specificfaction") + turret_flags ^= TURRET_FLAG_SHOOT_SPECIFIC_FACTION + return TRUE /obj/machinery/porta_turret/power_change() . = ..() + if(!(flags_1 & INITIALIZED_1)) + return if(!anchored || (machine_stat & BROKEN) || !powered()) - update_appearance() + update_appearance(UPDATE_ICON_STATE) remove_control() + set_target(null) check_should_process() /obj/machinery/porta_turret/attackby(obj/item/I, mob/user, params) - if(machine_stat & BROKEN) - if(I.tool_behaviour == TOOL_CROWBAR) - //If the turret is destroyed, you can remove it with a crowbar to - //try and salvage its components - to_chat(user, "You begin prying the metal coverings off...") - if(I.use_tool(src, user, 20)) - if(prob(70)) - if(stored_gun) - stored_gun.forceMove(loc) - stored_gun = null - to_chat(user, "You remove the turret and salvage some components.") - if(prob(50)) - new /obj/item/stack/sheet/metal(loc, rand(1,4)) - if(prob(50)) - new /obj/item/assembly/prox_sensor(loc) - else - to_chat(user, "You remove the turret but did not manage to salvage anything.") - qdel(src) - if(I.tool_behaviour == TOOL_WELDER && user.a_intent == INTENT_HELP) - if(obj_integrity < max_integrity) - if(!I.tool_start_check(user, amount=0)) - return + if(machine_stat & BROKEN && I.tool_behaviour == TOOL_CROWBAR) + //If the turret is destroyed, you can remove it with a crowbar to + //try and salvage its components + to_chat(user, "You begin prying the metal coverings off...") + if(I.use_tool(src, user, 20)) + if(prob(70)) + var/obj/item/gun/stored_gun = locate() in component_parts + if(stored_gun) + stored_gun.forceMove(loc) + to_chat(user, "You remove the turret and salvage some components.") + if(prob(50)) + new /obj/item/stack/sheet/metal(loc, rand(1,4)) + if(prob(50)) + new /obj/item/assembly/prox_sensor(loc) + else + to_chat(user, "You remove the turret but did not manage to salvage anything.") + qdel(src) + return - to_chat(user, "You begin repairing [src]...") - if(I.use_tool(src, user, 40, volume=50)) - obj_integrity = obj_integrity + 20 - to_chat(user, "You repair [src].") - if(obj_integrity > (max_integrity * integrity_failure) && BROKEN) - obj_integrity = max_integrity - set_machine_stat(machine_stat & ~BROKEN) - update_appearance() - check_should_process() - else + if(I.tool_behaviour == TOOL_WELDER && user.a_intent == INTENT_HELP) + if(obj_integrity >= max_integrity) to_chat(user, "[src] is already in good condition!") - return + return + to_chat(user, "You begin repairing [src]...") + while(obj_integrity < max_integrity) + if(!I.use_tool(src, user, 4 SECONDS, 2, 50)) + break + obj_integrity = max(obj_integrity + 20, max_integrity) + to_chat(user, "You repair [src].") - else if((I.tool_behaviour == TOOL_WRENCH) && (!on)) - if(raised) - return + if(obj_integrity > (max_integrity * integrity_failure) && (machine_stat & BROKEN)) + obj_integrity = max_integrity + set_machine_stat(machine_stat & ~BROKEN) + update_appearance(UPDATE_ICON_STATE) + check_should_process() + + return + + if((I.tool_behaviour == TOOL_WRENCH) && !on) //This code handles moving the turret around. After all, it's a portable turret! if(!anchored && !isinspace()) set_anchored(TRUE) - invisibility = INVISIBILITY_MAXIMUM - update_appearance() + update_appearance(UPDATE_ICON_STATE) to_chat(user, "You secure the exterior bolts on the turret.") - if(has_cover) - cover = new /obj/machinery/porta_turret_cover(loc) //create a new turret. While this is handled in process(), this is to workaround a bug where the turret becomes invisible for a split second - cover.parent_turret = src //make the cover's parent src else if(anchored) set_anchored(FALSE) to_chat(user, "You unsecure the exterior bolts on the turret.") power_change() - invisibility = 0 - qdel(cover) //deletes the cover, and the turret instance itself becomes its own cover. - - if(I.GetID()) - //Behavior lock/unlock mangement - if(allowed(user)) - locked = !locked - to_chat(user, "Controls are now [locked ? "locked" : "unlocked"].") - else - to_chat(user, "Access denied.") return - if(I.tool_behaviour == TOOL_MULTITOOL && !locked) + if(I.tool_behaviour == TOOL_MULTITOOL) + if(locked) + to_chat(user, span_warning("The controls are locked.")) + return if(!multitool_check_buffer(user, I)) return var/obj/item/multitool/M = I M.buffer = src to_chat(user, "You add [src] to multitool buffer.") return + + if(istype(I, /obj/item/card/id)) + toggle_lock(user) + return + return ..() +/obj/machinery/porta_turret/AltClick(mob/user) + . = ..() + toggle_lock(user) + +/obj/machinery/porta_turret/proc/toggle_lock(mob/user) + if(!user.canUseTopic(src, !issilicon(user))) + return + if(!allowed(user)) + to_chat(user, span_alert("Access denied.")) + return + if(obj_flags & EMAGGED || (machine_stat & (BROKEN|MAINT))) + to_chat(user, span_warning("The turret is unresponsive!")) + return + + to_chat(user, span_notice("You [locked ? "unlock" : "lock"] [src].")) + locked = !locked + update_appearance() + /obj/machinery/porta_turret/emag_act(mob/user) if(obj_flags & EMAGGED) return to_chat(user, "You short out [src]'s threat assessment circuits.") audible_message("[src] hums oddly...") obj_flags |= EMAGGED - controllock = TRUE + locked = TRUE toggle_on(FALSE) //turns off the turret temporarily - update_appearance() + update_appearance(UPDATE_ICON_STATE) //6 seconds for the traitor to gtfo of the area before the turret decides to ruin his shit addtimer(CALLBACK(src, PROC_REF(toggle_on), TRUE), 6 SECONDS) - //turns it back on. The cover popUp() popDown() are automatically called in process(), no need to define it here /obj/machinery/porta_turret/emp_act(severity) . = ..() @@ -390,900 +398,231 @@ DEFINE_BITFIELD(turret_flags, list( if(on) //if the turret is on, the EMP no matter how severe disables the turret for a while //and scrambles its settings, with a slight chance of having an emag effect - if(prob(50)) - turret_flags |= TURRET_FLAG_SHOOT_CRIMINALS - if(prob(50)) - turret_flags |= TURRET_FLAG_AUTH_WEAPONS - if(prob(20)) - turret_flags |= TURRET_FLAG_SHOOT_ALL // Shooting everyone is a pretty big deal, so it's least likely to get turned on + if(prob(5)) + turret_flags ^= TURRET_FLAG_SHOOT_HUMANS + if(prob(5)) + turret_flags ^= TURRET_FLAG_SHOOT_FAUNA + if(prob(1)) + turret_flags ^= TURRET_FLAG_SHOOT_NONFACTION + if(prob(1)) + turret_flags ^= TURRET_FLAG_SHOOT_SPECIFIC_FACTION toggle_on(FALSE) remove_control() - addtimer(CALLBACK(src, PROC_REF(toggle_on), TRUE), rand(60,600)) + addtimer(CALLBACK(src, PROC_REF(toggle_on), TRUE), rand(6 SECONDS, 60 SECONDS)) /obj/machinery/porta_turret/take_damage(damage, damage_type = BRUTE, damage_flag = 0, sound_effect = 1) . = ..() - if(. && obj_integrity > 0) //damage received - if(prob(30)) - spark_system.start() - if(on && !(turret_flags & TURRET_FLAG_SHOOT_ALL_REACT) && !(obj_flags & EMAGGED)) - turret_flags |= TURRET_FLAG_SHOOT_ALL_REACT - addtimer(CALLBACK(src, PROC_REF(reset_attacked)), 60) + if(!. || obj_integrity <= 0) + return + //damage received + if(prob(30)) + spark_system.start() -/obj/machinery/porta_turret/proc/reset_attacked() - turret_flags &= ~TURRET_FLAG_SHOOT_ALL_REACT +/obj/machinery/porta_turret/proc/retaliate(mob/living/target) + if(!(turret_flags & TURRET_FLAG_SHOOT_RETALIATE) || current_target || !on || (req_ship_access && allowed(target)) || (machine_stat & BROKEN|NOPOWER|MAINT)) + return -/obj/machinery/porta_turret/deconstruct(disassembled = TRUE) - qdel(src) + set_target(target) + target(target) + retaliating = TRUE + +/obj/machinery/porta_turret/bullet_act(obj/projectile/hitting_projectile) + . = ..() + if(ismob(hitting_projectile.firer)) + retaliate(hitting_projectile.firer) + +/obj/machinery/porta_turret/attacked_by(obj/item/I, mob/living/user) + . = ..() + if(!I.force || I.damtype == STAMINA) + return + retaliate(user) /obj/machinery/porta_turret/obj_break(damage_flag) . = ..() if(.) power_change() - invisibility = 0 spark_system.start() //creates some sparks because they look cool - qdel(cover) //deletes the cover - no need on keeping it there! /obj/machinery/porta_turret/process() - //the main machinery process - if(cover == null && anchored) //if it has no cover and is anchored - if(machine_stat & BROKEN) //if the turret is borked - qdel(cover) //delete its cover, assuming it has one. Workaround for a pesky little bug - else - if(has_cover) - cover = new /obj/machinery/porta_turret_cover(loc) //if the turret has no cover and is anchored, give it a cover - cover.parent_turret = src //assign the cover its parent_turret, which would be this (src) - if(!on || (machine_stat & (NOPOWER|BROKEN)) || manual_control) return PROCESS_KILL - var/list/targets = list() - for(var/mob/A in view(scan_range, base)) - if(A.invisibility > SEE_INVISIBLE_LIVING) - continue - - if(turret_flags & TURRET_FLAG_SHOOT_ANOMALOUS)//if it's set to check for simple animals - if(isanimal(A)) - var/mob/living/simple_animal/SA = A - if(SA.stat || in_faction(SA)) //don't target if dead or in faction - continue - targets += SA - continue - - if(issilicon(A)) - var/mob/living/silicon/sillycone = A - - if(ispAI(A)) - continue - - if((turret_flags & TURRET_FLAG_SHOOT_BORGS) && sillycone.stat != DEAD && iscyborg(sillycone)) - targets += sillycone - continue - - if(sillycone.stat || in_faction(sillycone)) - continue - - if(iscyborg(sillycone)) - var/mob/living/silicon/robot/sillyconerobot = A - if(LAZYLEN(faction) && (ROLE_SYNDICATE in faction) && sillyconerobot.emagged == TRUE) - continue - - else if(iscarbon(A)) - var/mob/living/carbon/C = A - //If not emagged, only target carbons that can use items - if(mode != TURRET_LETHAL && (C.stat || C.handcuffed || !(C.mobility_flags & MOBILITY_USE))) - continue - - //If emagged, target all but dead carbons - if(mode == TURRET_LETHAL && C.stat == DEAD) - continue - - //if the target is a human and not in our faction, analyze threat level - if(ishuman(C) && !in_faction(C)) - - if(assess_perp(C) >= 4) - targets += C - else if(turret_flags & TURRET_FLAG_SHOOT_ANOMALOUS) //non humans who are not simple animals (xenos etc) - if(!in_faction(C)) - targets += C - - for(var/A in GLOB.mechas_list) - if((get_dist(A, base) < scan_range) && can_see(base, A, scan_range)) - var/obj/mecha/Mech = A - if(Mech.occupant && !in_faction(Mech.occupant)) //If there is a user and they're not in our faction - if(assess_perp(Mech.occupant) >= 4) - targets += Mech - - if(targets.len) - tryToShootAt(targets) - else if(!always_up) - popDown() // no valid targets, close the cover - -/obj/machinery/porta_turret/proc/tryToShootAt(list/atom/movable/targets) - while(targets.len > 0) - var/atom/movable/M = pick(targets) - targets -= M - if(target(M)) - return 1 - -/obj/machinery/porta_turret/proc/popUp() //pops the turret up - if(!anchored) - return - if(raising || raised) - return - if(machine_stat & BROKEN) - return - invisibility = 0 - raising = 1 - if(cover) - flick("popup", cover) - sleep(POPUP_ANIM_TIME) - raising = 0 - if(cover) - cover.icon_state = "openTurretCover" - raised = 1 - layer = MOB_LAYER - -/obj/machinery/porta_turret/proc/popDown() //pops the turret down - if(raising || !raised) - return - if(machine_stat & BROKEN) - return - layer = OBJ_LAYER - raising = 1 - if(cover) - flick("popdown", cover) - sleep(POPDOWN_ANIM_TIME) - raising = 0 - if(cover) - cover.icon_state = "turretCover" - raised = 0 - invisibility = 2 - update_appearance() - -/obj/machinery/porta_turret/proc/assess_perp(mob/living/carbon/human/perp) - var/threatcount = 0 //the integer returned - - if(obj_flags & EMAGGED) - return 10 //if emagged, always return 10. - - if((turret_flags & (TURRET_FLAG_SHOOT_ALL | TURRET_FLAG_SHOOT_ALL_REACT)) && !allowed(perp)) - //if the turret has been attacked or is angry, target all non-sec people - if(!allowed(perp)) - return 10 - - if(turret_flags & TURRET_FLAG_AUTH_WEAPONS) //check for weapon authorization - if(isnull(perp.wear_id) || istype(perp.wear_id.GetID(), /obj/item/card/id/syndicate)) - - if(allowed(perp)) //if the perp has security access, return 0 - return 0 - if(perp.is_holding_item_of_type(/obj/item/gun) || perp.is_holding_item_of_type(/obj/item/melee/baton)) - threatcount += 4 - - if(istype(perp.belt, /obj/item/gun) || istype(perp.belt, /obj/item/melee/baton)) - threatcount += 2 - - if(turret_flags & TURRET_FLAG_SHOOT_CRIMINALS) //if the turret can check the records, check if they are set to *Arrest* on records - var/perpname = perp.get_face_name(perp.get_id_name()) - var/datum/data/record/R = find_record("name", perpname, GLOB.data_core.security) - if(!R || (R.fields["criminal"] == "*Arrest*")) - threatcount += 4 - - if((turret_flags & TURRET_FLAG_SHOOT_UNSHIELDED) && (!HAS_TRAIT(perp, TRAIT_MINDSHIELD))) - threatcount += 4 - - // If we aren't shooting heads then return a threatcount of 0 - if (!(turret_flags & TURRET_FLAG_SHOOT_HEADS) && (perp.get_assignment() in GLOB.command_positions)) - return 0 - - return threatcount - -/obj/machinery/porta_turret/proc/in_faction(mob/target) - for(var/faction1 in faction) - if(faction1 in target.faction) - return TRUE - if(ismouse(target)) - return TRUE - return FALSE - -/obj/machinery/porta_turret/proc/target(atom/movable/target) - if(target) - popUp() //pop the turret up if it's not already up. - setDir(get_dir(base, target))//even if you can't shoot, follow the target - shootAt(target) - return 1 - return - -/obj/machinery/porta_turret/proc/shootAt(atom/movable/target) - if(!raised) //the turret has to be raised in order to fire - makes sense, right? + if(!COOLDOWN_FINISHED(src, fire_cooldown)) return - if(!(obj_flags & EMAGGED)) //if it hasn't been emagged, cooldown before shooting again - if(!COOLDOWN_FINISHED(src, fire_cooldown)) + if(current_target) + //Try to fire at the current target first + if(check_target(current_target) && target(current_target)) return - COOLDOWN_START(src, fire_cooldown, shot_delay) - - var/turf/T = get_turf(src) - var/turf/U = get_turf(target) - if(!istype(T) || !istype(U)) - return - //Wall turrets will try to find adjacent empty turf to shoot from to cover full arc - if(T.density) - if(wall_turret_direction) - var/turf/closer = get_step(T,wall_turret_direction) - if(istype(closer) && !closer.is_blocked_turf() && T.Adjacent(closer)) - T = closer - else - var/target_dir = get_dir(T,target) - for(var/d in list(0,-45,45)) - var/turf/closer = get_step(T,turn(target_dir,d)) - if(istype(closer) && !closer.is_blocked_turf() && T.Adjacent(closer)) - T = closer - break - - update_appearance() - var/obj/projectile/A - //any emagged turrets drains 2x power and uses a different projectile? - if(mode == TURRET_STUN) - use_power(reqpower) - A = new stun_projectile(T) - playsound(loc, stun_projectile_sound, 75, TRUE) - else - use_power(reqpower * 2) - A = new lethal_projectile(T) - playsound(loc, lethal_projectile_sound, 75, TRUE) + //Current target is invalid, so we need to find a new one + set_target(null) + for(var/atom/movable/target as anything in targets) + //TODO: Remove this if it never happens, because it shouldn't + if(QDELETED(target)) + targets -= target + stack_trace("Qdeleted target in turret list") + return FALSE - //Shooting Code: - A.preparePixelProjectile(target, T) - A.firer = src - A.fired_from = src - A.fire() - return A - -/obj/machinery/porta_turret/proc/setState(on, mode, shoot_cyborgs) - if(controllock) - return - - shoot_cyborgs ? (turret_flags |= TURRET_FLAG_SHOOT_BORGS) : (turret_flags &= ~TURRET_FLAG_SHOOT_BORGS) - toggle_on(on) - src.mode = mode - power_change() + if(isnull(target)) + targets -= target + stack_trace("Null target in turret list") + continue -/datum/action/turret_toggle - name = "Toggle Mode" - icon_icon = 'icons/mob/actions/actions_mecha.dmi' - button_icon_state = "mech_cycle_equip_off" + if(check_target(target)) + break -/datum/action/turret_toggle/Trigger() - var/obj/machinery/porta_turret/P = target - if(!istype(P)) - return - P.setState(P.on,!P.mode) +/obj/machinery/porta_turret/proc/check_target(atom/movable/target, check_flags = turret_flags) + // mecha|carbon|silicon|simple_animal + if(ismecha(target)) + var/obj/mecha/mech = target + if(!mech.occupant) + targets -= target + return FALSE + target = mech.occupant -/datum/action/turret_quit - name = "Release Control" - icon_icon = 'icons/mob/actions/actions_mecha.dmi' - button_icon_state = "mech_eject" + // We know the target must be a mob now + var/mob/target_mob = target -/datum/action/turret_quit/Trigger() - var/obj/machinery/porta_turret/P = target - if(!istype(P)) - return - P.remove_control(FALSE) - -/obj/machinery/porta_turret/proc/give_control(mob/A) - if(manual_control || !can_interact(A)) + if(target_mob.stat == DEAD) + //They probably won't need to be re-checked + targets -= target return FALSE - remote_controller = A - if(!quit_action) - quit_action = new(src) - quit_action.Grant(remote_controller) - if(!toggle_action) - toggle_action = new(src) - toggle_action.Grant(remote_controller) - remote_controller.reset_perspective(src) - remote_controller.click_intercept = src - manual_control = TRUE - always_up = TRUE - popUp() - return TRUE -/obj/machinery/porta_turret/proc/remove_control(warning_message = TRUE) - if(!manual_control) + if((check_flags & TURRET_FLAG_SHOOT_NONFACTION) && faction_check(src.faction, target_mob.faction)) return FALSE - if(remote_controller) - if(warning_message) - to_chat(remote_controller, "Your uplink to [src] has been severed!") - quit_action.Remove(remote_controller) - toggle_action.Remove(remote_controller) - remote_controller.click_intercept = null - remote_controller.reset_perspective() - always_up = initial(always_up) - manual_control = FALSE - remote_controller = null - return TRUE -/obj/machinery/porta_turret/proc/InterceptClickOn(mob/living/caller, params, atom/A) - if(!manual_control) - return FALSE - if(!can_interact(caller)) - remove_control() + if((check_flags & TURRET_FLAG_SHOOT_SPECIFIC_FACTION) && !faction_check(src.faction, target_mob.faction)) return FALSE - log_combat(caller,A,"fired with manual turret control at") - target(A) - return TRUE - -/obj/machinery/porta_turret/syndicate - installation = null - always_up = 1 - use_power = NO_POWER_USE - has_cover = 0 - scan_range = 9 - req_access = list(ACCESS_SYNDICATE) - mode = TURRET_LETHAL - stun_projectile = /obj/projectile/bullet - lethal_projectile = /obj/projectile/bullet - lethal_projectile_sound = 'sound/weapons/gun/pistol/shot.ogg' - stun_projectile_sound = 'sound/weapons/gun/pistol/shot.ogg' - icon_state = "syndie_off" - base_icon_state = "syndie" - faction = list(ROLE_SYNDICATE) - desc = "A ballistic machine gun auto-turret." - -/obj/machinery/porta_turret/syndicate/ComponentInitialize() - . = ..() - AddComponent(/datum/component/empprotection, EMP_PROTECT_SELF | EMP_PROTECT_WIRES) - -/obj/machinery/porta_turret/syndicate/setup() - return - -/obj/machinery/porta_turret/syndicate/assess_perp(mob/living/carbon/human/perp) - return 10 //Syndicate turrets shoot everything not in their faction - -/obj/machinery/porta_turret/syndicate/energy - icon_state = "standard_lethal" - base_icon_state = "standard" - stun_projectile = /obj/projectile/energy/electrode - stun_projectile_sound = 'sound/weapons/taser.ogg' - lethal_projectile = /obj/projectile/beam/laser - lethal_projectile_sound = 'sound/weapons/laser.ogg' - desc = "An energy blaster auto-turret." - -/obj/machinery/porta_turret/syndicate/energy/heavy - icon_state = "standard_lethal" - base_icon_state = "standard" - stun_projectile = /obj/projectile/energy/electrode - stun_projectile_sound = 'sound/weapons/taser.ogg' - lethal_projectile = /obj/projectile/beam/laser/heavylaser - lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' - desc = "An energy blaster auto-turret." - -/obj/machinery/porta_turret/syndicate/energy/raven - stun_projectile = /obj/projectile/beam/laser - stun_projectile_sound = 'sound/weapons/laser.ogg' - faction = list("neutral","silicon","turret") - -/obj/machinery/porta_turret/syndicate/pod - integrity_failure = 0.5 - max_integrity = 40 - stun_projectile = /obj/projectile/bullet/syndicate_turret - lethal_projectile = /obj/projectile/bullet/syndicate_turret - -/obj/machinery/porta_turret/ai - faction = list("silicon") - turret_flags = TURRET_FLAG_SHOOT_CRIMINALS | TURRET_FLAG_SHOOT_ANOMALOUS | TURRET_FLAG_SHOOT_HEADS - -/obj/machinery/porta_turret/ai/assess_perp(mob/living/carbon/human/perp) - return 10 //AI turrets shoot at everything not in their faction - -/obj/machinery/porta_turret/ship - installation = null - max_integrity = 200 - always_up = 1 - use_power = ACTIVE_POWER_USE - active_power_usage = ACTIVE_DRAW_MINIMAL - has_cover = 0 - scan_range = 9 - req_ship_access = TRUE - stun_projectile = /obj/projectile/beam/disabler - lethal_projectile = /obj/projectile/beam/laser - lethal_projectile_sound = 'sound/weapons/plasma_cutter.ogg' - stun_projectile_sound = 'sound/weapons/plasma_cutter.ogg' - icon_state = "syndie_off" - base_icon_state = "syndie" - faction = list("neutral", "turret") - mode = TURRET_STUN - -/obj/machinery/porta_turret/ship/ComponentInitialize() - . = ..() - AddComponent(/datum/component/empprotection, EMP_PROTECT_SELF | EMP_PROTECT_WIRES) - -/obj/machinery/porta_turret/ship/setup() - return - -/obj/machinery/porta_turret/ship/examine(mob/user) - . = ..() - if(in_range(user, src) || isobserver(user)) - if(!(machine_stat & BROKEN)) - . += "[src] reports its integrity is currently [round((obj_integrity / max_integrity) * 100)] percent." - -/obj/machinery/porta_turret/ship/weak - max_integrity = 120 - integrity_failure = 0.5 - name = "Old Laser Turret" - desc = "A turret built with substandard parts and run down further with age. Still capable of delivering lethal lasers to the odd space carp, but not much else." - stun_projectile = /obj/projectile/beam/disabler/weak - lethal_projectile = /obj/projectile/beam/weak/penetrator - faction = list("neutral", "turret") - -/obj/machinery/porta_turret/ship/ballistic - stun_projectile = /obj/projectile/bullet/turret/rubber - lethal_projectile = /obj/projectile/bullet/turret - lethal_projectile_sound = 'sound/weapons/gun/smg/shot.ogg' - stun_projectile_sound = 'sound/weapons/gun/smg/shot.ogg' - desc = "A ballistic machine gun auto-turret." - -//high rof, range, faster projectile speed -/* 'Nanotrasen' turrets */ - -/obj/machinery/porta_turret/ship/nt - name = "Sharplite Defense Turret" - desc = "A cheap and effective turret designed by Sharplite and purchased and installed on most Nanotrasen Vessels." - faction = list(FACTION_PLAYER_NANOTRASEN, "turret") - max_integrity = 160 - integrity_failure = 0.6 - icon_state = "standard_lethal" - base_icon_state = "standard" - stun_projectile = /obj/projectile/beam/disabler/sharplite - lethal_projectile = /obj/projectile/beam/laser/sharplite - lethal_projectile_sound = 'sound/weapons/gun/laser/nt-fire.ogg' - stun_projectile_sound = 'sound/weapons/taser2.ogg' - shot_delay = 10 - scan_range = 10 - -/obj/machinery/porta_turret/ship/nt/light - name = "Sharplite LDS" - desc = "A cheap and effective 'defensive system' designed by Sharplite for installation on Nanotrasen vessels." - stun_projectile = /obj/projectile/beam/disabler/weak/sharplite - lethal_projectile = /obj/projectile/beam/laser/light/sharplite - lethal_projectile_sound = 'sound/weapons/gun/laser/nt-fire.ogg' - stun_projectile_sound = 'sound/weapons/taser2.ogg' - -/obj/machinery/porta_turret/ship/nt/heavy - name = "Sharplite Defense Cannon" - desc = "A heavy laser mounting designed by Sharplite for usage on Nanotrasen vessels." - lethal_projectile = /obj/projectile/beam/laser/heavylaser/sharplite - lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' - max_integrity = 250 - -/obj/machinery/porta_turret/ship/nt/pulse - name = "Sharplite Pulse Cannon" - desc = "A pulse cannon mounting designed by Sharplite. Not sold to any purchasers and exclusively used on Nanotrasen Vessels." - lethal_projectile = /obj/projectile/beam/pulse/sharplite_turret - lethal_projectile_sound = 'sound/weapons/gun/laser/heavy_laser.ogg' - max_integrity = 250 - -/* Syndicate Turrets */ - -/obj/machinery/porta_turret/ship/syndicate - faction = list(FACTION_PLAYER_SYNDICATE, "turret") - icon_state = "standard_lethal" - base_icon_state = "standard" - -/obj/machinery/porta_turret/ship/syndicate/weak - name = "Light Laser Turret" - desc = "A low powered turret designed by the Gorlex Maurauders during the ICW. Effectively weaponizes mining equipment." - stun_projectile = /obj/projectile/beam/disabler/weak - lethal_projectile = /obj/projectile/beam/weak/penetrator - icon_state = "syndie_off" - base_icon_state = "syndie" - -/obj/machinery/porta_turret/ship/syndicate/heavy - name = "Heavy Laser Turret" - desc = "Produced by Cybersun, this turret is a duel mount of a propietary heavy laser, and crowd control taser system." - stun_projectile = /obj/projectile/energy/electrode - stun_projectile_sound = 'sound/weapons/taser.ogg' - lethal_projectile = /obj/projectile/beam/laser/heavylaser - lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' - max_integrity = 300 - -/* New Gorlex Republic Turrets */ -// Midline ballistic turrets - -/obj/machinery/porta_turret/ship/ngr - name = "Oasis Turret" - desc = "A turret manufactured by the New Gorlex Republic for its ships and installations. Proudly manufactured within the nation!" - stun_projectile = /obj/projectile/bullet/c57x39mm/rubber - stun_projectile_sound = 'sound/weapons/gun/smg/sidewinder.ogg' - lethal_projectile = /obj/projectile/bullet/c57x39mm - lethal_projectile_sound = 'sound/weapons/gun/smg/sidewinder.ogg' - faction = list(FACTION_NGR, FACTION_PLAYER_SYNDICATE, "turret") //player_syndicate is just to be safe - -/obj/machinery/porta_turret/ship/ngr/light - name = "Sonoran Turret" - desc = "A light turret manufactured by the New Gorlex Republic for its ships and installations. Proudly manufactured within the Nation, using locally produced munitions!" - stun_projectile = /obj/projectile/bullet/c45/rubber - stun_projectile_sound = 'sound/weapons/gun/smg/cobra.ogg' - lethal_projectile = /obj/projectile/bullet/c45 - lethal_projectile_sound = 'sound/weapons/gun/smg/cobra.ogg' - scan_range = 7 - shot_delay = 10 - -/obj/machinery/porta_turret/ship/ngr/heavy - name = "Cliff Turret" - desc = "A heavy turret manufactured by the New Gorlex Republic for its ships and installations. Has a reputation of being extremely dangerous." - stun_projectile = /obj/projectile/bullet/a65clip/rubber - stun_projectile_sound = 'sound/weapons/gun/sniper/cmf90.ogg' - lethal_projectile = /obj/projectile/bullet/a65clip - lethal_projectile_sound = 'sound/weapons/gun/sniper/cmf90.ogg' - scan_range = 14 - shot_delay = 30 - - -/* Inteq Turrets */ -//slower rof, higher damage + range - -/obj/machinery/porta_turret/ship/inteq - name = "Vanguard Turret" - desc = "A turret designed by IRMG engineers for defending ships from hostile flora, fauna, and people (and Elzousa, which count as flora and people)." - stun_projectile = /obj/projectile/bullet/a762_40/rubber - stun_projectile_sound = 'sound/weapons/gun/rifle/skm.ogg' - lethal_projectile = /obj/projectile/bullet/a762_40 - lethal_projectile_sound = 'sound/weapons/gun/rifle/skm.ogg' - scan_range = 9 - shot_delay = 20 - integrity_failure = 0.4 - faction = list(FACTION_PLAYER_INTEQ, "turret") - -/obj/machinery/porta_turret/ship/inteq/light - name = "Close-In Vanguard Turret" - desc = "A light turret designed by IRMG engineers for the the task of defending from close-in encounters. Low power, high speed." - stun_projectile = /obj/projectile/bullet/c10mm/rubber - stun_projectile_sound = 'sound/weapons/gun/smg/vector_fire.ogg' - lethal_projectile = /obj/projectile/bullet/c10mm - lethal_projectile_sound = 'sound/weapons/gun/smg/vector_fire.ogg' - subsystem_type = /datum/controller/subsystem/processing/fastprocess //turns out if you have a shot delay below what SSmachines fires at you need to use a different subsystem - scan_range = 5 - shot_delay = 5 - -/obj/machinery/porta_turret/ship/inteq/heavy - name = "Vanguard Overwatch Turret" - desc = "A turret designed by IRMG engineers to provide long range defensive fire on their installations. Has a habit of leaving big holes." - stun_projectile = /obj/projectile/bullet/a308/rubber - stun_projectile_sound = 'sound/weapons/gun/rifle/f4.ogg' - lethal_projectile = /obj/projectile/bullet/a308 - lethal_projectile_sound = 'sound/weapons/gun/rifle/f4.ogg' - scan_range = 12 - shot_delay = 20 - -/* Solcon Turrets */ - -/obj/machinery/porta_turret/ship/solgov - faction = list(FACTION_PLAYER_SOLCON, "turret") - -/* Pan Gezena Federation Turrets */ -//midline but hitscan - -/obj/machinery/porta_turret/ship/pgf - name = "Etherbor Defensive Mount" - desc = "A less portable Etherbor offering, the EDM is a self-directed linkage of energy weapons, designed to keep intruders away from Gezenan vessels." - faction = list(FACTION_PLAYER_GEZENA, "Turret") - stun_projectile = /obj/projectile/beam/hitscan/disabler - stun_projectile_sound = 'sound/weapons/gun/energy/kalixpistol.ogg' - lethal_projectile = /obj/projectile/beam/hitscan/kalix/pgf/assault - lethal_projectile_sound = 'sound/weapons/gun/energy/kalixsmg.ogg' - icon_state = "standard_lethal" - base_icon_state = "standard" - max_integrity = 250 - integrity_failure = 0.4 - -/obj/machinery/porta_turret/ship/pgf/light - name = "Etherbor Deterrent System" - desc = "A light turret manufactured by Etherbor. It offers a lightweight assembly of energy weapons to accost nearby foes." - lethal_projectile = /obj/projectile/beam/hitscan/kalix/pgf - lethal_projectile_sound = 'sound/weapons/gun/energy/kalixsmg.ogg' - -/obj/machinery/porta_turret/ship/pgf/heavy - name = "Etherbor Point-Defense System" - desc = "A high-powered defensive turret manufactured by Etherbor. The EPDS contains heavy energy weapons linked in tandem." - scan_range = 12 - stun_projectile = /obj/projectile/beam/hitscan/disabler/heavy - stun_projectile_sound = 'sound/weapons/gun/energy/kalixpistol.ogg' - lethal_projectile = /obj/projectile/beam/hitscan/kalix/pgf/sniper //fwoom - lethal_projectile_sound = 'sound/weapons/gun/laser/heavy_laser.ogg' - -///CLIP Turrets - -//high damage low range - -/obj/machinery/porta_turret/ship/clip - name = "Clover Mintaka" - desc = "Clover Photonic's offering for the Confederated League's 476FS \"Defense System\" competition, the Mintaka (and its sister systems, the Alnitak and Ori) handily beat out the Lunatex \"Vigil\" line during the final round of testing, and earned a prestigous contract." - faction = list(FACTION_PLAYER_MINUTEMAN, "Turret") - stun_projectile = /obj/projectile/beam/disabler - stun_projectile_sound = 'sound/weapons/gun/laser/e-fire.ogg' - lethal_projectile = /obj/projectile/beam/laser/assault - lethal_projectile_sound = 'sound/weapons/gun/laser/e-fire.ogg' - icon_state = "standard_lethal" - base_icon_state = "standard" - - scan_range = 8 - shot_delay = 10 - max_integrity = 200 - integrity_failure = 0.3 - -/obj/machinery/porta_turret/ship/clip/light - name = "Clover Alnitak" - desc = "Clover Photonic's light turret system, unveiled as part of Clover's defense line-up in the early 470s. While lacking the punch of its sister systems, it still presents a hassle to circumvent." - stun_projectile = /obj/projectile/beam/disabler - stun_projectile_sound = 'sound/weapons/gun/laser/e-fire.ogg' - lethal_projectile = /obj/projectile/beam/laser/light - lethal_projectile_sound = 'sound/weapons/gun/laser/e-fire.ogg' - - scan_range = 6 - shot_delay = 10 - max_integrity = 200 - integrity_failure = 0.4 -/obj/machinery/porta_turret/ship/clip/heavy - name = "Clover Ori" - desc = "Clover Photonic's heaviest entry in the Confederated League's 476FS \"Defense System\" competition, the Ori's results demolished the handily beat out the Lunatex \"Vigil Sword\" during testing, earning better marks on durability, effectiveness, and reaction rate." - stun_projectile = /obj/projectile/beam/disabler - stun_projectile_sound = 'sound/weapons/gun/laser/e-fire.ogg' - lethal_projectile = /obj/projectile/beam/laser/heavylaser/assault - lethal_projectile_sound = 'sound/weapons/gun/laser/e40_las.ogg' + if(iscyborg(target_mob)) + return (check_flags & TURRET_FLAG_SHOOT_SILICONS) && target(target_mob) - scan_range = 10 - shot_delay = 20 - max_integrity = 300 - integrity_failure = 0.3 + if(!ishuman(target_mob)) + if(!(check_flags & TURRET_FLAG_SHOOT_FAUNA)) + return FALSE + if(!(check_flags & TURRET_FLAG_SHOOT_DANGEROUS_ONLY)) + return target(target_mob) -/// Frontiersmen Turrets + //this is gross + var/static/list/dangerous_fauna = typecacheof(list(/mob/living/simple_animal/hostile, /mob/living/carbon/alien, /mob/living/carbon/monkey)) + if(!is_type_in_typecache(target_mob, dangerous_fauna)) + return FALSE -// fast and spitty + if(ismonkey(target_mob)) + var/mob/living/carbon/monkey/monke = target_mob + return monke.mode == MONKEY_HUNT && target(target_mob) + if(istype(target_mob, /mob/living/simple_animal/hostile/retaliate)) + var/mob/living/simple_animal/hostile/retaliate/target_animal = target_mob + return length(target_animal.enemies) && target(target_mob) -/obj/machinery/porta_turret/ship/frontiersmen - name = "Spitter Turret" - desc = "A juryrigged mishmash of a 9mm SMG and targetting system. Stand clear!" - faction = list(FACTION_FRONTIER, "Turret") - subsystem_type = /datum/controller/subsystem/processing/fastprocess - integrity_failure = 0.6 - max_integrity = 180 + return target(target_mob) - icon_state = "standard_lethal" - base_icon_state = "standard" - - stun_projectile = /obj/projectile/bullet/c9mm - stun_projectile_sound = 'sound/weapons/gun/smg/spitter.ogg' - lethal_projectile = /obj/projectile/bullet/c9mm - lethal_projectile_sound = 'sound/weapons/gun/smg/spitter.ogg' - shot_delay = 2 - scan_range = 6 - -/obj/machinery/porta_turret/ship/frontiersmen/assess_perp(mob/living/carbon/human/perp) - return 10 //Syndicate turrets shoot everything not in their faction //this needs to be default behavior and im gonna refactor it soon - -/obj/machinery/porta_turret/ship/frontiersmen/light - name = "Pounder Turret" - desc = "A low caliber SMG with an atrociously high cycle rate, frankensteined together with a targetting assembly." - stun_projectile = /obj/projectile/bullet/c22lr - stun_projectile_sound = 'sound/weapons/gun/smg/pounder.ogg' - lethal_projectile = /obj/projectile/bullet/c22lr - lethal_projectile_sound = 'sound/weapons/gun/smg/pounder.ogg' - shot_delay = 1 - -/obj/machinery/porta_turret/ship/frontiersmen/heavy - name = "Mulcher Turret" - desc = "An abombination made out of the components of a Shredder and an automatic targetting system. Careful now." - stun_projectile = /obj/projectile/bullet/slug/beanbag - stun_projectile_sound = 'sound/weapons/gun/hmg/shredder.ogg' - lethal_projectile = /obj/projectile/bullet/slug - lethal_projectile_sound = 'sound/weapons/gun/hmg/shredder.ogg' - shot_delay = 3 - scan_range = 8 - -//////////////////////// -//Turret Control Panel// -//////////////////////// - -/obj/machinery/turretid - name = "turret control panel" - desc = "Used to control a room's automated defenses." - icon = 'icons/obj/machines/turret_control.dmi' - icon_state = "control_standby" - base_icon_state = "control" - density = FALSE - req_access = list(ACCESS_AI_UPLOAD) - resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF - /// Variable dictating if linked turrets are active and will shoot targets - var/enabled = TRUE - /// Variable dictating if linked turrets will shoot lethal projectiles - var/lethal = FALSE - /// Variable dictating if the panel is locked, preventing changes to turret settings - var/locked = TRUE - /// An area in which linked turrets are located, it can be an area name, path or nothing - var/control_area = null - /// AI is unable to use this machine if set to TRUE - var/ailock = FALSE - /// Variable dictating if linked turrets will shoot cyborgs - var/shoot_cyborgs = FALSE - /// List of all linked turrets - var/list/turrets = list() - ///id for connecting to additional turrets - var/id = "" + //We know the target must be a human now + var/mob/living/carbon/human/target_carbon = target_mob -/obj/machinery/turretid/Initialize(mapload, ndir = 0, built = 0) - . = ..() - if(built) - setDir(ndir) - locked = FALSE - pixel_x = (dir & 3)? 0 : (dir == 4 ? -24 : 24) - pixel_y = (dir & 3)? (dir ==1 ? -24 : 24) : 0 - power_change() //Checks power and initial settings - -/obj/machinery/turretid/Destroy() - turrets.Cut() - return ..() + if(req_ship_access && (check_access(target_carbon.get_active_held_item()) || check_access(target_carbon.wear_id))) + return FALSE -/obj/machinery/turretid/Initialize(mapload) //map-placed turrets autolink turrets - . = ..() - if(!mapload) - return + if(!(check_flags & TURRET_FLAG_SHOOT_DANGEROUS_ONLY)) + return target(target_carbon) -/obj/machinery/turretid/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) - id = "[REF(port)][id]" - RegisterSignal(port, COMSIG_SHIP_DONE_CONNECTING, PROC_REF(late_connect_to_shuttle)) + //Not dangerous if you can't hold anything + if(target_carbon.handcuffed || !(target_carbon.mobility_flags & MOBILITY_USE)) + return FALSE -/obj/machinery/turretid/disconnect_from_shuttle(obj/docking_port/mobile/port) - UnregisterSignal(port, COMSIG_SHIP_DONE_CONNECTING) + if(target_carbon.is_holding_item_of_type(/obj/item/gun) || target_carbon.is_holding_item_of_type(/obj/item/melee)) + return target(target_carbon) -/obj/machinery/turretid/proc/late_connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) - SIGNAL_HANDLER +//Returns whether or not we should stop searching for targets +/obj/machinery/porta_turret/proc/target(mob/living/target) + if(!COOLDOWN_FINISHED(src, fire_cooldown)) + return TRUE - for(var/datum/weakref/ship_guns in port.turret_list) - var/obj/machinery/porta_turret/turret_gun = ship_guns.resolve() - if(turret_gun.id == id) - turrets |= turret_gun - turret_gun.cp = src + var/turf/our_turf = get_turf(src) + if(!istype(our_turf)) + return TRUE -/obj/machinery/turretid/examine(mob/user) - . += ..() - if(issilicon(user) && !(machine_stat & BROKEN)) - . += {"Ctrl-click [src] to [ enabled ? "disable" : "enable"] turrets. - Alt-click [src] to set turrets to [ lethal ? "stun" : "kill"]."} + //Wall turrets will try to find adjacent empty turf to shoot from to cover full arc + if(our_turf.density) + if(wall_turret_direction) + var/turf/closer = get_step(our_turf, wall_turret_direction) + if(istype(closer) && !closer.is_blocked_turf() && our_turf.Adjacent(closer)) + our_turf = closer + else + var/target_dir = get_dir(our_turf, target) + for(var/d in list(0, -45, 45)) + var/turf/closer = get_step(our_turf, turn(target_dir, d)) + if(istype(closer) && !closer.is_blocked_turf() && our_turf.Adjacent(closer)) + our_turf = closer + break + if(!can_see(our_turf, target, scan_range)) + return FALSE -/obj/machinery/turretid/attackby(obj/item/I, mob/user, params) - if(machine_stat & BROKEN) - return + setDir(get_dir(our_turf, target)) - if(I.tool_behaviour == TOOL_MULTITOOL) - if(!multitool_check_buffer(user, I)) - return - var/obj/item/multitool/M = I - if(M.buffer && istype(M.buffer, /obj/machinery/porta_turret)) - turrets |= M.buffer - to_chat(user, "You link \the [M.buffer] with \the [src].") - return + if(!manual_control) + if(current_target != target) + set_target(target) + COOLDOWN_START(src, reaction_cooldown, reaction_time) - if (issilicon(user)) - return attack_hand(user) + if(ishuman(target) || target.client) + target.do_alert_animation(target) - // trying to unlock the interface - if (in_range(src, user)) - if (allowed(usr)) - if(obj_flags & EMAGGED) - to_chat(user, "The turret control is unresponsive!") - return + return TRUE - locked = !locked - to_chat(user, "You [ locked ? "lock" : "unlock"] the panel.") - else - to_chat(user, "Access denied.") + if(!COOLDOWN_FINISHED(src, reaction_cooldown)) + return TRUE -/obj/machinery/turretid/emag_act(mob/user) - if(obj_flags & EMAGGED) - return - to_chat(user, "You short out the turret controls' access analysis module.") - obj_flags |= EMAGGED - locked = FALSE + target_beam.set_target(null) + COOLDOWN_START(src, fire_cooldown, shot_delay) -/obj/machinery/turretid/attack_ai(mob/user) - if(!ailock || isAdminGhostAI(user)) - return attack_hand(user) + update_appearance(UPDATE_ICON_STATE) + var/obj/projectile/shot + //any lethaling turrets drain 2x the power and use a different projectile + if(lethal) + use_power(reqpower * 2) + shot = new lethal_projectile(our_turf) + playsound(loc, lethal_projectile_sound, 75, TRUE) else - to_chat(user, "There seems to be a firewall preventing you from accessing this device!") - -/obj/machinery/turretid/ui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "TurretControl", name) - ui.open() + use_power(reqpower) + shot = new stun_projectile(our_turf) + playsound(loc, stun_projectile_sound, 75, TRUE) -/obj/machinery/turretid/ui_data(mob/user) - var/list/data = list() - data["locked"] = locked - data["siliconUser"] = user.has_unlimited_silicon_privilege && check_ship_ai_access(user) - data["enabled"] = enabled - data["lethal"] = lethal - data["shootCyborgs"] = shoot_cyborgs - return data -/obj/machinery/turretid/ui_act(action, list/params) - . = ..() - if(.) - return - - switch(action) - if("lock") - if(!usr.has_unlimited_silicon_privilege) - return - if((obj_flags & EMAGGED) || (machine_stat & BROKEN)) - to_chat(usr, "The turret control is unresponsive!") - return - locked = !locked - return TRUE - if("power") - toggle_on(usr) - return TRUE - if("mode") - toggle_lethal(usr) - return TRUE - if("shoot_silicons") - shoot_silicons(usr) - return TRUE + //Shooting Code: + shot.preparePixelProjectile(target, our_turf) + shot.firer = src + shot.fired_from = src + shot.fire() + return TRUE -/obj/machinery/turretid/proc/toggle_lethal(mob/user) - lethal = !lethal - add_hiddenprint(user) - log_combat(user, src, "[lethal ? "enabled" : "disabled"] lethals on") - updateTurrets() - -/obj/machinery/turretid/proc/toggle_on(mob/user) - enabled = !enabled - add_hiddenprint(user) - log_combat(user, src, "[enabled ? "enabled" : "disabled"]") - updateTurrets() - -/obj/machinery/turretid/proc/shoot_silicons(mob/user) - shoot_cyborgs = !shoot_cyborgs - add_hiddenprint(user) - log_combat(user, src, "[shoot_cyborgs ? "Shooting Borgs" : "Not Shooting Borgs"]") - updateTurrets() - -/obj/machinery/turretid/proc/updateTurrets() - for (var/obj/machinery/porta_turret/aTurret in turrets) - aTurret.setState(enabled, lethal, shoot_cyborgs) - update_appearance() +/obj/machinery/porta_turret/proc/set_target(atom/movable/target = null) + if(current_target) + UnregisterSignal(current_target, COMSIG_PARENT_QDELETING) -/obj/machinery/turretid/update_icon_state() - if(machine_stat & NOPOWER) - icon_state = "[base_icon_state]_off" - return ..() - if (enabled) - icon_state = "[base_icon_state]_[lethal ? "kill" : "stun"]" - return ..() - icon_state = "[base_icon_state]_standby" - return ..() + retaliating = FALSE + current_target = target + target_beam.set_target(target) -/obj/machinery/turretid/lethal - lethal = TRUE + if(current_target) + RegisterSignal(target, COMSIG_PARENT_QDELETING, PROC_REF(set_target)) -/obj/machinery/turretid/ship - req_ship_access = TRUE +/obj/machinery/porta_turret/proc/set_state(on, new_mode, new_flags) + if(locked) + return + if(!isnull(new_flags)) + turret_flags = new_flags -/obj/item/wallframe/turret_control - name = "turret control frame" - desc = "Used for building turret control panels." - icon_state = "apc" - result_path = /obj/machinery/turretid - custom_materials = list(/datum/material/iron=MINERAL_MATERIAL_AMOUNT) - inverse_pixel_shift = TRUE + lethal = new_mode + toggle_on(on) + power_change() /obj/item/gun/proc/get_turret_properties() . = list() @@ -1319,7 +658,3 @@ DEFINE_BITFIELD(turret_flags, list( .["stun_projectile_sound"] = initial(primary_ammo.fire_sound) .["lethal_projectile"] = .["stun_projectile"] .["lethal_projectile_sound"] = .["stun_projectile_sound"] - -/obj/item/gun/energy/e_gun/turret/get_turret_properties() - . = ..() - diff --git a/code/game/machinery/porta_turret/portable_turret_construct.dm b/code/game/machinery/porta_turret/portable_turret_construct.dm deleted file mode 100644 index ad2f82eace29..000000000000 --- a/code/game/machinery/porta_turret/portable_turret_construct.dm +++ /dev/null @@ -1,192 +0,0 @@ -#define PTURRET_UNSECURED 0 -#define PTURRET_BOLTED 1 -#define PTURRET_START_INTERNAL_ARMOUR 2 -#define PTURRET_INTERNAL_ARMOUR_ON 3 -#define PTURRET_GUN_EQUIPPED 4 -#define PTURRET_SENSORS_ON 5 -#define PTURRET_CLOSED 6 -#define PTURRET_START_EXTERNAL_ARMOUR 7 -#define PTURRET_EXTERNAL_ARMOUR_ON 8 - -/obj/machinery/porta_turret_construct - name = "turret frame" - icon = 'icons/obj/turrets.dmi' - icon_state = "turret_frame" - desc = "An unfinished covered turret frame." - anchored = FALSE - density = TRUE - var/build_step = PTURRET_UNSECURED //the current step in the building process - var/finish_name = "turret" //the name applied to the product turret - var/obj/item/gun/installed_gun = null - -/obj/machinery/porta_turret_construct/attackby(obj/item/I, mob/user, params) - //this is a bit unwieldy but self-explanatory - switch(build_step) - if(PTURRET_UNSECURED) //first step - if(I.tool_behaviour == TOOL_WRENCH && !anchored) - I.play_tool_sound(src, 100) - to_chat(user, "You secure the external bolts.") - set_anchored(TRUE) - build_step = PTURRET_BOLTED - return - - else if(I.tool_behaviour == TOOL_CROWBAR && !anchored) - I.play_tool_sound(src, 75) - to_chat(user, "You dismantle the turret construction.") - new /obj/item/stack/sheet/metal(loc, 5) - qdel(src) - return - - if(PTURRET_BOLTED) - if(istype(I, /obj/item/stack/sheet/metal)) - var/obj/item/stack/sheet/metal/M = I - if(M.use(2)) - to_chat(user, "You add some metal armor to the interior frame.") - build_step = PTURRET_START_INTERNAL_ARMOUR - icon_state = "turret_frame2" - else - to_chat(user, "You need two sheets of metal to continue construction!") - return - - else if(I.tool_behaviour == TOOL_WRENCH) - I.play_tool_sound(src, 75) - to_chat(user, "You unfasten the external bolts.") - set_anchored(FALSE) - build_step = PTURRET_UNSECURED - return - - - if(PTURRET_START_INTERNAL_ARMOUR) - if(I.tool_behaviour == TOOL_WRENCH) - I.play_tool_sound(src, 100) - to_chat(user, "You bolt the metal armor into place.") - build_step = PTURRET_INTERNAL_ARMOUR_ON - return - - else if(I.tool_behaviour == TOOL_WELDER) - if(!I.tool_start_check(user, amount=5)) //uses up 5 fuel - return - - to_chat(user, "You start to remove the turret's interior metal armor...") - - if(I.use_tool(src, user, 20, volume=50, amount=5)) //uses up 5 fuel - build_step = PTURRET_BOLTED - to_chat(user, "You remove the turret's interior metal armor.") - new /obj/item/stack/sheet/metal(drop_location(), 2) - return - - - if(PTURRET_INTERNAL_ARMOUR_ON) - if(istype(I, /obj/item/gun/energy)) //the gun installation part - var/obj/item/gun/energy/E = I - if(!user.transferItemToLoc(E, src)) - return - installed_gun = E - to_chat(user, "You add [I] to the turret.") - build_step = PTURRET_GUN_EQUIPPED - return - - else if(I.tool_behaviour == TOOL_WRENCH) - I.play_tool_sound(src, 100) - to_chat(user, "You remove the turret's metal armor bolts.") - build_step = PTURRET_START_INTERNAL_ARMOUR - return - - if(PTURRET_GUN_EQUIPPED) - if(isprox(I)) - build_step = PTURRET_SENSORS_ON - if(!user.temporarilyRemoveItemFromInventory(I)) - return - to_chat(user, "You add the proximity sensor to the turret.") - qdel(I) - return - - - if(PTURRET_SENSORS_ON) - if(I.tool_behaviour == TOOL_SCREWDRIVER) - I.play_tool_sound(src, 100) - build_step = PTURRET_CLOSED - to_chat(user, "You close the internal access hatch.") - return - - - if(PTURRET_CLOSED) - if(istype(I, /obj/item/stack/sheet/metal)) - var/obj/item/stack/sheet/metal/M = I - if(M.use(2)) - to_chat(user, "You add some metal armor to the exterior frame.") - build_step = PTURRET_START_EXTERNAL_ARMOUR - else - to_chat(user, "You need two sheets of metal to continue construction!") - return - - else if(I.tool_behaviour == TOOL_SCREWDRIVER) - I.play_tool_sound(src, 100) - build_step = PTURRET_SENSORS_ON - to_chat(user, "You open the internal access hatch.") - return - - if(PTURRET_START_EXTERNAL_ARMOUR) - if(I.tool_behaviour == TOOL_WELDER) - if(!I.tool_start_check(user, amount=5)) - return - - to_chat(user, "You begin to weld the turret's armor down...") - if(I.use_tool(src, user, 30, volume=50, amount=5)) - build_step = PTURRET_EXTERNAL_ARMOUR_ON - to_chat(user, "You weld the turret's armor down.") - - //The final step: create a full turret - - var/obj/machinery/porta_turret/turret - turret = new/obj/machinery/porta_turret(loc) - turret.name = finish_name - turret.installation = installed_gun.type - turret.setup(installed_gun) - qdel(src) - return - - else if(I.tool_behaviour == TOOL_CROWBAR) - I.play_tool_sound(src, 75) - to_chat(user, "You pry off the turret's exterior armor.") - new /obj/item/stack/sheet/metal(loc, 2) - build_step = PTURRET_CLOSED - return - - if(istype(I, /obj/item/pen)) //you can rename turrets like bots! - var/t = stripped_input(user, "Enter new turret name", name, finish_name) - if(!t) - return - if(!Adjacent(user)) - return - - finish_name = t - return - return ..() - - -/obj/machinery/porta_turret_construct/attack_hand(mob/user) - . = ..() - if(.) - return - switch(build_step) - if(PTURRET_GUN_EQUIPPED) - build_step = PTURRET_INTERNAL_ARMOUR_ON - - installed_gun.forceMove(loc) - to_chat(user, "You remove [installed_gun] from the turret frame.") - installed_gun = null - - if(PTURRET_SENSORS_ON) - to_chat(user, "You remove the prox sensor from the turret frame.") - new /obj/item/assembly/prox_sensor(loc) - build_step = PTURRET_GUN_EQUIPPED - -/obj/machinery/porta_turret_construct/attack_ai() - return - -/obj/machinery/porta_turret_construct/Destroy() - if(installed_gun) - qdel(installed_gun) - installed_gun = null - . = ..() diff --git a/code/game/machinery/porta_turret/portable_turret_control.dm b/code/game/machinery/porta_turret/portable_turret_control.dm new file mode 100644 index 000000000000..ba70fe3a44b1 --- /dev/null +++ b/code/game/machinery/porta_turret/portable_turret_control.dm @@ -0,0 +1,241 @@ + +//////////////////////// +//Turret Control Panel// +//////////////////////// + +/obj/machinery/turretid + name = "turret control panel" + desc = "Used to control a room's automated defenses." + icon = 'icons/obj/machines/turret_control.dmi' + icon_state = "control_standby" + base_icon_state = "control" + density = FALSE + req_access = list(ACCESS_AI_UPLOAD) + resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + /// Variable dictating if linked turrets are active and will shoot targets + var/enabled = TRUE + /// Variable dictating if linked turrets will shoot lethal projectiles + var/lethal = FALSE + /// Variable dictating if the panel is locked, preventing changes to turret settings + var/locked = TRUE + /// AI is unable to use this machine if set to TRUE + var/ailock = FALSE + /// Flags to apply to all linked turrets + var/turret_flags = TURRET_FLAG_DEFAULT + /// List of all linked turrets + var/list/datum/weakref/turret_refs = list() + ///id for connecting to additional turrets + var/id = "" + +/obj/machinery/turretid/Initialize(mapload, ndir = 0, built = 0) + . = ..() + if(built) + setDir(ndir) + locked = FALSE + pixel_x = (dir & 3)? 0 : (dir == 4 ? -24 : 24) + pixel_y = (dir & 3)? (dir ==1 ? -24 : 24) : 0 + power_change() + +/obj/machinery/turretid/Destroy() + turret_refs.Cut() + return ..() + +/obj/machinery/turretid/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) + id = "[text_ref(port)][id]" + RegisterSignal(port, COMSIG_SHIP_DONE_CONNECTING, PROC_REF(late_connect_to_shuttle)) + +/obj/machinery/turretid/proc/late_connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) + SIGNAL_HANDLER + + for(var/datum/weakref/ship_gun in port.turret_list) + var/obj/machinery/porta_turret/turret_gun = ship_gun.resolve() + //skip if it doesn't exist or if the id doesn't match + if(turret_gun?.id != id) + continue + + turret_refs |= ship_gun + + update_turrets() + UnregisterSignal(port, COMSIG_SHIP_DONE_CONNECTING) + +/obj/machinery/turretid/examine(mob/user) + . += ..() + if((machine_stat & (BROKEN|MAINT))) + return + + . += span_notice("Alt-click [src] to [locked ? "unlock" : "lock"] it.") + . += span_notice("Ctrl-click [src] to [enabled ? "disable" : "enable"] turrets.") + . += span_notice("Ctrl-shift-click [src] to set turrets to [lethal ? "stun" : "kill"] mode.") + +/obj/machinery/turretid/attackby(obj/item/I, mob/user, params) + if(machine_stat & BROKEN) + return + + if(I.tool_behaviour == TOOL_MULTITOOL) + if(!multitool_check_buffer(user, I)) + return + var/obj/item/multitool/M = I + if(M.buffer && istype(M.buffer, /obj/machinery/porta_turret)) + turret_refs |= WEAKREF(M.buffer) + to_chat(user, "You link \the [M.buffer] with \the [src].") + return + + if(issilicon(user)) + return attack_hand(user) + + if(istype(I, /obj/item/card/id)) + toggle_lock(user) + +/obj/machinery/turretid/AltClick(mob/user) + . = ..() + toggle_lock(user) + +/obj/machinery/turretid/CtrlClick(mob/user) + . = ..() + toggle_on(user) + +/obj/machinery/turretid/CtrlShiftClick(mob/user) + . = ..() + toggle_lethal(user) + +/obj/machinery/turretid/emag_act(mob/user) + if(obj_flags & EMAGGED) + return + to_chat(user, span_notice("You short out the turret controls' access analysis module.")) + obj_flags |= EMAGGED + locked = FALSE + +/obj/machinery/turretid/attack_ai(mob/user) + if(!ailock || isAdminGhostAI(user)) + return attack_hand(user) + else + to_chat(user, span_warning("There seems to be a firewall preventing you from accessing this device!")) + +/obj/machinery/turretid/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "TurretControl", name) + ui.open() + +/obj/machinery/turretid/ui_data(mob/user) + return list( + "locked" = locked, + "enabled" = enabled, + "lethal" = lethal, + "siliconUser" = user.has_unlimited_silicon_privilege && check_ship_ai_access(user), + "dangerous_only" = turret_flags & TURRET_FLAG_SHOOT_DANGEROUS_ONLY, + "retaliate" = turret_flags & TURRET_FLAG_SHOOT_RETALIATE, + "shoot_fauna" = turret_flags & TURRET_FLAG_SHOOT_FAUNA, + "shoot_humans" = turret_flags & TURRET_FLAG_SHOOT_HUMANS, + "shoot_silicons" = turret_flags & TURRET_FLAG_SHOOT_SILICONS, + "only_nonfaction" = turret_flags & TURRET_FLAG_SHOOT_NONFACTION, + "only_specificfaction" = turret_flags & TURRET_FLAG_SHOOT_SPECIFIC_FACTION, + ) + +/obj/machinery/turretid/ui_act(action, list/params) + . = ..() + if(.) + return + + switch(action) + if("lock") + if(!usr.has_unlimited_silicon_privilege) + return + toggle_lock(usr) + return TRUE + if("power") + toggle_on(usr) + if("mode") + toggle_lethal(usr) + if("toggle_dangerous") + turret_flags ^= TURRET_FLAG_SHOOT_DANGEROUS_ONLY + if("toggle_retaliate") + turret_flags ^= TURRET_FLAG_SHOOT_RETALIATE + + + if("toggle_fauna") + turret_flags ^= TURRET_FLAG_SHOOT_FAUNA + if("toggle_humans") + turret_flags ^= TURRET_FLAG_SHOOT_HUMANS + if("toggle_silicons") + turret_flags ^= TURRET_FLAG_SHOOT_SILICONS + if("toggle_nonfaction") + turret_flags ^= TURRET_FLAG_SHOOT_NONFACTION + if("toggle_specificfaction") + turret_flags ^= TURRET_FLAG_SHOOT_SPECIFIC_FACTION + + else + return + + update_turrets() + +/obj/machinery/turretid/proc/toggle_lock(mob/user) + if(!user.canUseTopic(src, !issilicon(user))) + return + if(!allowed(user)) + to_chat(user, span_alert("Access denied.")) + return + if(obj_flags & EMAGGED || (machine_stat & (BROKEN|MAINT))) + to_chat(user, span_warning("The turret control is unresponsive!")) + return + + to_chat(user, span_notice("You [locked ? "unlock" : "lock"] the turret control.")) + locked = !locked + update_appearance() + +/obj/machinery/turretid/proc/toggle_lethal(mob/user) + if(!user.canUseTopic(src, !issilicon(user))) + return + if(obj_flags & EMAGGED || (machine_stat & (BROKEN|MAINT))) + to_chat(user, span_warning("The turret control is unresponsive!")) + return + + lethal = !lethal + add_hiddenprint(user) + log_combat(user, src, "[lethal ? "enabled" : "disabled"] lethals on") + +/obj/machinery/turretid/proc/toggle_on(mob/user) + if(!user.canUseTopic(src, !issilicon(user))) + return + if(obj_flags & EMAGGED || (machine_stat & (BROKEN|MAINT))) + to_chat(user, span_warning("The turret control is unresponsive!")) + return + + enabled = !enabled + add_hiddenprint(user) + log_combat(user, src, "[enabled ? "enabled" : "disabled"]") + +/obj/machinery/turretid/proc/update_turrets() + for(var/datum/weakref/turret_ref in turret_refs) + var/obj/machinery/porta_turret/turret = turret_ref.resolve() + if(!turret) + turret_refs -= turret_ref + continue + turret.set_state(enabled, lethal, turret_flags) + update_appearance() + +/obj/machinery/turretid/update_icon_state() + if(machine_stat & NOPOWER) + icon_state = "[base_icon_state]_off" + return ..() + if (enabled) + icon_state = "[base_icon_state]_[lethal ? "kill" : "stun"]" + return ..() + icon_state = "[base_icon_state]_standby" + return ..() + +/obj/machinery/turretid/lethal + lethal = TRUE + turret_flags = TURRET_FLAG_HOSTILE + +/obj/machinery/turretid/ship + req_ship_access = TRUE + +/obj/item/wallframe/turret_control + name = "turret control frame" + desc = "Used for building turret control panels." + icon = 'icons/obj/machines/turret_control.dmi' + icon_state = "control_off" + result_path = /obj/machinery/turretid + custom_materials = list(/datum/material/iron=MINERAL_MATERIAL_AMOUNT) + inverse_pixel_shift = TRUE diff --git a/code/game/machinery/porta_turret/portable_turret_cover.dm b/code/game/machinery/porta_turret/portable_turret_cover.dm deleted file mode 100644 index a1da4cbf6463..000000000000 --- a/code/game/machinery/porta_turret/portable_turret_cover.dm +++ /dev/null @@ -1,93 +0,0 @@ - -/************************ -* PORTABLE TURRET COVER * -************************/ - -/obj/machinery/porta_turret_cover - name = "turret" - icon = 'icons/obj/turrets.dmi' - icon_state = "turretCover" - layer = HIGH_OBJ_LAYER - density = FALSE - max_integrity = 80 - var/obj/machinery/porta_turret/parent_turret = null - -/obj/machinery/porta_turret_cover/Destroy() - if(parent_turret) - parent_turret.cover = null - parent_turret.invisibility = 0 - parent_turret = null - return ..() - -//The below code is pretty much just recoded from the initial turret object. It's necessary but uncommented because it's exactly the same! -//>necessary -//I'm not fixing it because i'm fucking bored of this code already, but someone should just reroute these to the parent turret's procs. - -/obj/machinery/porta_turret_cover/attack_ai(mob/user) - return ..() || parent_turret.attack_ai(user) - -/obj/machinery/porta_turret_cover/attack_robot(mob/user) - return ..() || parent_turret.attack_robot(user) - -/obj/machinery/porta_turret_cover/attack_hand(mob/user) - return ..() || parent_turret.attack_hand(user) - -/obj/machinery/porta_turret_cover/attack_ghost(mob/user) - return ..() || parent_turret.attack_ghost(user) - -/obj/machinery/porta_turret_cover/attackby(obj/item/I, mob/user, params) - if(I.tool_behaviour == TOOL_WRENCH && !parent_turret.on) - if(parent_turret.raised) - return - - if(!parent_turret.anchored) - parent_turret.set_anchored(TRUE) - to_chat(user, "You secure the exterior bolts on the turret.") - parent_turret.invisibility = 0 - parent_turret.update_appearance() - else - parent_turret.set_anchored(FALSE) - to_chat(user, "You unsecure the exterior bolts on the turret.") - parent_turret.invisibility = INVISIBILITY_MAXIMUM - parent_turret.update_appearance() - qdel(src) - return - if(I.GetID()) - if(parent_turret.allowed(user)) - parent_turret.locked = !parent_turret.locked - to_chat(user, "Controls are now [parent_turret.locked ? "locked" : "unlocked"].") - else - to_chat(user, "Access denied.") - return - - if(I.tool_behaviour == TOOL_MULTITOOL && !parent_turret.locked) - if(!multitool_check_buffer(user, I)) - return - var/obj/item/multitool/M = I - M.buffer = parent_turret - to_chat(user, "You add [parent_turret] to multitool buffer.") - return - return ..() - -/obj/machinery/porta_turret_cover/attacked_by(obj/item/I, mob/user) - parent_turret.attacked_by(I, user) - -/obj/machinery/porta_turret_cover/attack_alien(mob/living/carbon/alien/humanoid/user) - parent_turret.attack_alien(user) - -/obj/machinery/porta_turret_cover/attack_animal(mob/living/simple_animal/user) - parent_turret.attack_animal(user) - -/obj/machinery/porta_turret_cover/attack_hulk(mob/living/carbon/human/user) - return parent_turret.attack_hulk(user) - -/obj/machinery/porta_turret_cover/can_be_overridden() - . = 0 - -/obj/machinery/porta_turret_cover/emag_act(mob/user) - if(!(parent_turret.obj_flags & EMAGGED)) - to_chat(user, "You short out [parent_turret]'s threat assessment circuits.") - visible_message("[parent_turret] hums oddly...") - parent_turret.obj_flags |= EMAGGED - parent_turret.on = FALSE - addtimer(VARSET_CALLBACK(parent_turret, on, TRUE), 4 SECONDS) diff --git a/code/game/machinery/porta_turret/portable_turret_manual_control.dm b/code/game/machinery/porta_turret/portable_turret_manual_control.dm new file mode 100644 index 000000000000..7fac7309bfed --- /dev/null +++ b/code/game/machinery/porta_turret/portable_turret_manual_control.dm @@ -0,0 +1,68 @@ +/obj/machinery/porta_turret + /// Action button holder for quitting manual control + var/datum/action/turret_quit/quit_action + /// Action button holder for switching between turret modes when manually controlling + var/datum/action/turret_toggle/toggle_action + /// Mob that is remotely controlling the turret + var/mob/remote_controller + +/datum/action/turret_toggle + name = "Toggle Mode" + icon_icon = 'icons/mob/actions/actions_mecha.dmi' + button_icon_state = "mech_cycle_equip_off" + +/datum/action/turret_toggle/Trigger() + var/obj/machinery/porta_turret/P = target + if(!istype(P)) + return + P.set_state(P.on, !P.lethal) + +/datum/action/turret_quit + name = "Release Control" + icon_icon = 'icons/mob/actions/actions_mecha.dmi' + button_icon_state = "mech_eject" + +/datum/action/turret_quit/Trigger() + var/obj/machinery/porta_turret/P = target + if(!istype(P)) + return + P.remove_control(FALSE) + +/obj/machinery/porta_turret/proc/give_control(mob/A) + if(manual_control || !can_interact(A)) + return FALSE + remote_controller = A + if(!quit_action) + quit_action = new(src) + quit_action.Grant(remote_controller) + if(!toggle_action) + toggle_action = new(src) + toggle_action.Grant(remote_controller) + remote_controller.reset_perspective(src) + remote_controller.click_intercept = src + manual_control = TRUE + return TRUE + +/obj/machinery/porta_turret/proc/remove_control(warning_message = TRUE) + if(!manual_control) + return FALSE + if(remote_controller) + if(warning_message) + to_chat(remote_controller, "Your uplink to [src] has been severed!") + quit_action.Remove(remote_controller) + toggle_action.Remove(remote_controller) + remote_controller.click_intercept = null + remote_controller.reset_perspective() + manual_control = FALSE + remote_controller = null + return TRUE + +/obj/machinery/porta_turret/proc/InterceptClickOn(mob/living/caller, params, atom/A) + if(!manual_control) + return FALSE + if(!can_interact(caller)) + remove_control() + return FALSE + log_combat(caller,A,"fired with manual turret control at") + target(A) + return TRUE diff --git a/code/game/machinery/porta_turret/portable_turret_types.dm b/code/game/machinery/porta_turret/portable_turret_types.dm new file mode 100644 index 000000000000..53a3fbd3fa12 --- /dev/null +++ b/code/game/machinery/porta_turret/portable_turret_types.dm @@ -0,0 +1,340 @@ + +/obj/machinery/porta_turret/syndicate + circuit = /obj/item/circuitboard/machine/turret/ship + use_power = NO_POWER_USE + scan_range = 9 + req_access = list(ACCESS_SYNDICATE) + lethal = TRUE + stun_projectile = /obj/projectile/bullet + lethal_projectile = /obj/projectile/bullet + lethal_projectile_sound = 'sound/weapons/gun/pistol/shot.ogg' + stun_projectile_sound = 'sound/weapons/gun/pistol/shot.ogg' + icon_state = "syndie_off" + base_icon_state = "syndie" + faction = list(ROLE_SYNDICATE) + turret_flags = TURRET_FLAG_HOSTILE + desc = "A ballistic machine gun auto-turret." + +/obj/machinery/porta_turret/syndicate/ComponentInitialize() + . = ..() + AddComponent(/datum/component/empprotection, EMP_PROTECT_SELF | EMP_PROTECT_WIRES) + +/obj/machinery/porta_turret/syndicate/energy + icon_state = "standard_lethal" + base_icon_state = "standard" + stun_projectile = /obj/projectile/energy/electrode + stun_projectile_sound = 'sound/weapons/taser.ogg' + lethal_projectile = /obj/projectile/beam/laser + lethal_projectile_sound = 'sound/weapons/laser.ogg' + desc = "An energy blaster auto-turret." + +/obj/machinery/porta_turret/syndicate/energy/heavy + icon_state = "standard_lethal" + base_icon_state = "standard" + stun_projectile = /obj/projectile/energy/electrode + stun_projectile_sound = 'sound/weapons/taser.ogg' + lethal_projectile = /obj/projectile/beam/laser/heavylaser + lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' + desc = "An energy blaster auto-turret." + +/obj/machinery/porta_turret/syndicate/energy/raven + stun_projectile = /obj/projectile/beam/laser + stun_projectile_sound = 'sound/weapons/laser.ogg' + faction = list("neutral","silicon","turret") + +/obj/machinery/porta_turret/syndicate/pod + integrity_failure = 0.5 + max_integrity = 40 + stun_projectile = /obj/projectile/bullet/syndicate_turret + lethal_projectile = /obj/projectile/bullet/syndicate_turret + +/obj/machinery/porta_turret/ship + circuit = /obj/item/circuitboard/machine/turret/ship + scan_range = 9 + req_ship_access = TRUE + icon_state = "syndie_off" + base_icon_state = "syndie" + +/obj/machinery/porta_turret/ship/ComponentInitialize() + . = ..() + AddComponent(/datum/component/empprotection, EMP_PROTECT_SELF | EMP_PROTECT_WIRES) + +/obj/machinery/porta_turret/ship/examine(mob/user) + . = ..() + if(in_range(user, src) || isobserver(user)) + if(!(machine_stat & BROKEN)) + . += "[src] reports its integrity is currently [round((obj_integrity / max_integrity) * 100)] percent." + +/obj/machinery/porta_turret/ship/weak + max_integrity = 120 + integrity_failure = 0.5 + name = "Old Laser Turret" + desc = "A turret built with substandard parts and run down further with age. Still capable of delivering lethal lasers to the odd space carp, but not much else." + stun_projectile = /obj/projectile/beam/disabler/weak + lethal_projectile = /obj/projectile/beam/weak/penetrator + faction = list("neutral", "turret") + +/obj/machinery/porta_turret/ship/ballistic + stun_projectile = /obj/projectile/bullet/turret/rubber + lethal_projectile = /obj/projectile/bullet/turret + lethal_projectile_sound = 'sound/weapons/gun/smg/shot.ogg' + stun_projectile_sound = 'sound/weapons/gun/smg/shot.ogg' + desc = "A ballistic machine gun auto-turret." + +//high rof, range, faster projectile speed +/* 'Nanotrasen' turrets */ + +/obj/machinery/porta_turret/ship/nt + name = "Sharplite Defense Turret" + desc = "A cheap and effective turret designed by Sharplite and purchased and installed on most Nanotrasen Vessels." + faction = list(FACTION_PLAYER_NANOTRASEN, "turret") + max_integrity = 160 + integrity_failure = 0.6 + icon_state = "standard_lethal" + base_icon_state = "standard" + stun_projectile = /obj/projectile/beam/disabler/sharplite + lethal_projectile = /obj/projectile/beam/laser/sharplite + lethal_projectile_sound = 'sound/weapons/gun/laser/nt-fire.ogg' + stun_projectile_sound = 'sound/weapons/taser2.ogg' + shot_delay = 10 + scan_range = 10 + +/obj/machinery/porta_turret/ship/nt/light + name = "Sharplite LDS" + desc = "A cheap and effective 'defensive system' designed by Sharplite for installation on Nanotrasen vessels." + stun_projectile = /obj/projectile/beam/disabler/weak/sharplite + lethal_projectile = /obj/projectile/beam/laser/light/sharplite + lethal_projectile_sound = 'sound/weapons/gun/laser/nt-fire.ogg' + stun_projectile_sound = 'sound/weapons/taser2.ogg' + +/obj/machinery/porta_turret/ship/nt/heavy + name = "Sharplite Defense Cannon" + desc = "A heavy laser mounting designed by Sharplite for usage on Nanotrasen vessels." + lethal_projectile = /obj/projectile/beam/laser/heavylaser/sharplite + lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' + max_integrity = 250 + +/obj/machinery/porta_turret/ship/nt/pulse + name = "Sharplite Pulse Cannon" + desc = "A pulse cannon mounting designed by Sharplite. Not sold to any purchasers and exclusively used on Nanotrasen Vessels." + lethal_projectile = /obj/projectile/beam/pulse/sharplite_turret + lethal_projectile_sound = 'sound/weapons/gun/laser/heavy_laser.ogg' + max_integrity = 250 + +/* Syndicate Turrets */ + +/obj/machinery/porta_turret/ship/syndicate + faction = list(FACTION_PLAYER_SYNDICATE, "turret") + icon_state = "standard_lethal" + base_icon_state = "standard" + +/obj/machinery/porta_turret/ship/syndicate/weak + name = "Light Laser Turret" + desc = "A low powered turret designed by the Gorlex Maurauders during the ICW. Effectively weaponizes mining equipment." + stun_projectile = /obj/projectile/beam/disabler/weak + lethal_projectile = /obj/projectile/beam/weak/penetrator + icon_state = "syndie_off" + base_icon_state = "syndie" + +/obj/machinery/porta_turret/ship/syndicate/heavy + name = "Heavy Laser Turret" + desc = "Produced by Cybersun, this turret is a duel mount of a propietary heavy laser, and crowd control taser system." + stun_projectile = /obj/projectile/energy/electrode + stun_projectile_sound = 'sound/weapons/taser.ogg' + lethal_projectile = /obj/projectile/beam/laser/heavylaser + lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' + max_integrity = 300 + +/* New Gorlex Republic Turrets */ +// Midline ballistic turrets + +/obj/machinery/porta_turret/ship/ngr + name = "Oasis Turret" + desc = "A turret manufactured by the New Gorlex Republic for its ships and installations. Proudly manufactured within the nation!" + stun_projectile = /obj/projectile/bullet/c57x39mm/rubber + stun_projectile_sound = 'sound/weapons/gun/smg/sidewinder.ogg' + lethal_projectile = /obj/projectile/bullet/c57x39mm + lethal_projectile_sound = 'sound/weapons/gun/smg/sidewinder.ogg' + faction = list(FACTION_NGR, FACTION_PLAYER_SYNDICATE, "turret") //player_syndicate is just to be safe + +/obj/machinery/porta_turret/ship/ngr/light + name = "Sonoran Turret" + desc = "A light turret manufactured by the New Gorlex Republic for its ships and installations. Proudly manufactured within the Nation, using locally produced munitions!" + stun_projectile = /obj/projectile/bullet/c45/rubber + stun_projectile_sound = 'sound/weapons/gun/smg/cobra.ogg' + lethal_projectile = /obj/projectile/bullet/c45 + lethal_projectile_sound = 'sound/weapons/gun/smg/cobra.ogg' + scan_range = 7 + shot_delay = 10 + +/obj/machinery/porta_turret/ship/ngr/heavy + name = "Cliff Turret" + desc = "A heavy turret manufactured by the New Gorlex Republic for its ships and installations. Has a reputation of being extremely dangerous." + stun_projectile = /obj/projectile/bullet/a65clip/rubber + stun_projectile_sound = 'sound/weapons/gun/sniper/cmf90.ogg' + lethal_projectile = /obj/projectile/bullet/a65clip + lethal_projectile_sound = 'sound/weapons/gun/sniper/cmf90.ogg' + scan_range = 14 + shot_delay = 30 + + +/* Inteq Turrets */ +//slower rof, higher damage + range + +/obj/machinery/porta_turret/ship/inteq + name = "Vanguard Turret" + desc = "A turret designed by IRMG engineers for defending ships from hostile flora, fauna, and people (and Elzousa, which count as flora and people)." + stun_projectile = /obj/projectile/bullet/a762_40/rubber + stun_projectile_sound = 'sound/weapons/gun/rifle/skm.ogg' + lethal_projectile = /obj/projectile/bullet/a762_40 + lethal_projectile_sound = 'sound/weapons/gun/rifle/skm.ogg' + scan_range = 9 + shot_delay = 20 + integrity_failure = 0.4 + faction = list(FACTION_PLAYER_INTEQ, "turret") + +/obj/machinery/porta_turret/ship/inteq/light + name = "Close-In Vanguard Turret" + desc = "A light turret designed by IRMG engineers for the the task of defending from close-in encounters. Low power, high speed." + stun_projectile = /obj/projectile/bullet/c10mm/rubber + stun_projectile_sound = 'sound/weapons/gun/smg/vector_fire.ogg' + lethal_projectile = /obj/projectile/bullet/c10mm + lethal_projectile_sound = 'sound/weapons/gun/smg/vector_fire.ogg' + scan_range = 5 + shot_delay = 5 + +/obj/machinery/porta_turret/ship/inteq/heavy + name = "Vanguard Overwatch Turret" + desc = "A turret designed by IRMG engineers to provide long range defensive fire on their installations. Has a habit of leaving big holes." + stun_projectile = /obj/projectile/bullet/a308/rubber + stun_projectile_sound = 'sound/weapons/gun/rifle/f4.ogg' + lethal_projectile = /obj/projectile/bullet/a308 + lethal_projectile_sound = 'sound/weapons/gun/rifle/f4.ogg' + scan_range = 12 + shot_delay = 20 + +/* Solcon Turrets */ + +/obj/machinery/porta_turret/ship/solgov + faction = list(FACTION_PLAYER_SOLCON, "turret") + +/* Pan Gezena Federation Turrets */ +//midline but hitscan + +/obj/machinery/porta_turret/ship/pgf + name = "Etherbor Defensive Mount" + desc = "A less portable Etherbor offering, the EDM is a self-directed linkage of energy weapons, designed to keep intruders away from Gezenan vessels." + faction = list(FACTION_PLAYER_GEZENA, "Turret") + stun_projectile = /obj/projectile/beam/hitscan/disabler + stun_projectile_sound = 'sound/weapons/gun/energy/kalixpistol.ogg' + lethal_projectile = /obj/projectile/beam/hitscan/kalix/pgf/assault + lethal_projectile_sound = 'sound/weapons/gun/energy/kalixsmg.ogg' + icon_state = "standard_lethal" + base_icon_state = "standard" + max_integrity = 250 + integrity_failure = 0.4 + +/obj/machinery/porta_turret/ship/pgf/light + name = "Etherbor Deterrent System" + desc = "A light turret manufactured by Etherbor. It offers a lightweight assembly of energy weapons to accost nearby foes." + lethal_projectile = /obj/projectile/beam/hitscan/kalix/pgf + lethal_projectile_sound = 'sound/weapons/gun/energy/kalixsmg.ogg' + +/obj/machinery/porta_turret/ship/pgf/heavy + name = "Etherbor Point-Defense System" + desc = "A high-powered defensive turret manufactured by Etherbor. The EPDS contains heavy energy weapons linked in tandem." + scan_range = 12 + stun_projectile = /obj/projectile/beam/hitscan/disabler/heavy + stun_projectile_sound = 'sound/weapons/gun/energy/kalixpistol.ogg' + lethal_projectile = /obj/projectile/beam/hitscan/kalix/pgf/sniper //fwoom + lethal_projectile_sound = 'sound/weapons/gun/laser/heavy_laser.ogg' + +///CLIP Turrets + +//high damage low range + +/obj/machinery/porta_turret/ship/clip + name = "Clover Mintaka" + desc = "Clover Photonic's offering for the Confederated League's 476FS \"Defense System\" competition, the Mintaka (and its sister systems, the Alnitak and Ori) handily beat out the Lunatex \"Vigil\" line during the final round of testing, and earned a prestigous contract." + faction = list(FACTION_PLAYER_MINUTEMAN, "Turret") + stun_projectile = /obj/projectile/beam/disabler + stun_projectile_sound = 'sound/weapons/gun/laser/e-fire.ogg' + lethal_projectile = /obj/projectile/beam/laser/assault + lethal_projectile_sound = 'sound/weapons/gun/laser/e-fire.ogg' + icon_state = "standard_lethal" + base_icon_state = "standard" + + scan_range = 8 + shot_delay = 10 + max_integrity = 200 + integrity_failure = 0.3 + +/obj/machinery/porta_turret/ship/clip/light + name = "Clover Alnitak" + desc = "Clover Photonic's light turret system, unveiled as part of Clover's defense line-up in the early 470s. While lacking the punch of its sister systems, it still presents a hassle to circumvent." + stun_projectile = /obj/projectile/beam/disabler + stun_projectile_sound = 'sound/weapons/gun/laser/e-fire.ogg' + lethal_projectile = /obj/projectile/beam/laser/light + lethal_projectile_sound = 'sound/weapons/gun/laser/e-fire.ogg' + + scan_range = 6 + shot_delay = 10 + max_integrity = 200 + integrity_failure = 0.4 + +/obj/machinery/porta_turret/ship/clip/heavy + name = "Clover Ori" + desc = "Clover Photonic's heaviest entry in the Confederated League's 476FS \"Defense System\" competition, the Ori's results demolished the handily beat out the Lunatex \"Vigil Sword\" during testing, earning better marks on durability, effectiveness, and reaction rate." + stun_projectile = /obj/projectile/beam/disabler + stun_projectile_sound = 'sound/weapons/gun/laser/e-fire.ogg' + lethal_projectile = /obj/projectile/beam/laser/heavylaser/assault + lethal_projectile_sound = 'sound/weapons/gun/laser/e40_las.ogg' + + scan_range = 10 + shot_delay = 20 + max_integrity = 300 + integrity_failure = 0.3 + + +/// Frontiersmen Turrets + +// fast and spitty + +/obj/machinery/porta_turret/ship/frontiersmen + name = "Spitter Turret" + desc = "A juryrigged mishmash of a 9mm SMG and targetting system. Stand clear!" + faction = list(FACTION_FRONTIER, "Turret") + subsystem_type = /datum/controller/subsystem/processing/fastprocess + integrity_failure = 0.6 + max_integrity = 180 + + icon_state = "standard_lethal" + base_icon_state = "standard" + + stun_projectile = /obj/projectile/bullet/c9mm + stun_projectile_sound = 'sound/weapons/gun/smg/spitter.ogg' + lethal_projectile = /obj/projectile/bullet/c9mm + lethal_projectile_sound = 'sound/weapons/gun/smg/spitter.ogg' + shot_delay = 2 + scan_range = 6 + + turret_flags = TURRET_FLAG_HOSTILE + +/obj/machinery/porta_turret/ship/frontiersmen/light + name = "Pounder Turret" + desc = "A low caliber SMG with an atrociously high cycle rate, frankensteined together with a targetting assembly." + stun_projectile = /obj/projectile/bullet/c22lr + stun_projectile_sound = 'sound/weapons/gun/smg/pounder.ogg' + lethal_projectile = /obj/projectile/bullet/c22lr + lethal_projectile_sound = 'sound/weapons/gun/smg/pounder.ogg' + shot_delay = 1 + +/obj/machinery/porta_turret/ship/frontiersmen/heavy + name = "Mulcher Turret" + desc = "An abombination made out of the components of a Shredder and an automatic targetting system. Careful now." + stun_projectile = /obj/projectile/bullet/slug/beanbag + stun_projectile_sound = 'sound/weapons/gun/hmg/shredder.ogg' + lethal_projectile = /obj/projectile/bullet/slug + lethal_projectile_sound = 'sound/weapons/gun/hmg/shredder.ogg' + shot_delay = 3 + scan_range = 8 diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index ca4c646ff6f6..17e774b70c08 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -1528,3 +1528,15 @@ icon_state = "engineering" build_path = /obj/machinery/suit_storage_unit req_components = list(/obj/item/stock_parts/micro_laser = 4) + +/obj/item/circuitboard/machine/turret + name = "Turret" + icon_state = "security" + build_path = /obj/machinery/porta_turret + req_components = list(/obj/item/stock_parts/capacitor = 2, /obj/item/stock_parts/scanning_module = 1, /obj/item/assembly/prox_sensor = 1, /obj/item/gun/energy = 1) + def_components = list(/obj/item/gun/energy = /obj/item/gun/energy/e_gun/turret) + +/obj/item/circuitboard/machine/turret/ship + name = "Ship-mounted Turret" + //We don't want to let people take the gun out of the turret + def_components = list(/obj/item/gun/energy = /obj/item/stack/sheet/metal) diff --git a/code/game/objects/items/devices/mines.dm b/code/game/objects/items/devices/mines.dm index 6a7887c57601..4e1ec520e55c 100644 --- a/code/game/objects/items/devices/mines.dm +++ b/code/game/objects/items/devices/mines.dm @@ -322,7 +322,7 @@ if(!iscarbon(triggerer)) return //Quick and dirty solution for preventing activations behind walls. - if(!(triggerer in view(proximity_range, src))) + if(!can_see(src, triggerer)) return if(!can_trigger(triggerer)) return diff --git a/code/game/objects/items/stacks/sheets/recipes/recipes_metal.dm b/code/game/objects/items/stacks/sheets/recipes/recipes_metal.dm index bb31dd568ab3..894660914004 100644 --- a/code/game/objects/items/stacks/sheets/recipes/recipes_metal.dm +++ b/code/game/objects/items/stacks/sheets/recipes/recipes_metal.dm @@ -225,7 +225,6 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ null, \ new/datum/stack_recipe("firelock frame (fulltile)", /obj/structure/firelock_frame, 3, time = 50, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("firelock frame (directional)", /obj/structure/firelock_frame/border, 1, time = 25, on_floor = TRUE), \ - new/datum/stack_recipe("turret frame", /obj/machinery/porta_turret_construct, 5, time = 25, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("meatspike frame", /obj/structure/kitchenspike_frame, 5, time = 25, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("reflector frame", /obj/structure/reflector, 5, time = 25, one_per_turf = TRUE, on_floor = TRUE), \ null, \ diff --git a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm index ff7ddace1d4b..4f5e7bc161c9 100644 --- a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm +++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm @@ -741,21 +741,6 @@ GLOBAL_LIST_INIT(malf_modules, subtypesof(/datum/AI_Module)) unlock_text = replacetext(unlock_text, "CAMSUPGRADED", "[upgraded_cameras]") //This works, since unlock text is called after upgrade() -/// AI Turret Upgrade: Increases the health and damage of all turrets. -/datum/AI_Module/upgrade/upgrade_turrets - name = "AI Turret Upgrade" - description = "Improves the power and health of all AI turrets. This effect is permanent. Upgrade is done immediately upon purchase." - cost = 30 - upgrade = TRUE - unlock_text = "You establish a power diversion to your turrets, upgrading their health and damage." - unlock_sound = 'sound/items/rped.ogg' - -/datum/AI_Module/upgrade/upgrade_turrets/upgrade(mob/living/silicon/ai/AI) - for(var/obj/machinery/porta_turret/ai/turret in GLOB.machines) - turret.obj_integrity += 30 - turret.lethal_projectile = /obj/projectile/beam/laser/heavylaser //Once you see it, you will know what it means to FEAR. - turret.lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' - /// Enhanced Surveillance: Enables AI to hear conversations going on near its active vision. /datum/AI_Module/upgrade/eavesdrop name = "Enhanced Surveillance" diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index 760f06f514e9..7580834f49b5 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -242,12 +242,12 @@ if(istype(the_target, /obj/machinery/porta_turret)) var/obj/machinery/porta_turret/P = the_target - if(P.in_faction(src)) //Don't attack if the turret is in the same faction - return FALSE - if(P.has_cover &&!P.raised) //Don't attack invincible turrets + if(!(P.turret_flags & TURRET_FLAG_SHOOT_FAUNA)) //Don't attack turrets that won't shoot us return FALSE if(P.machine_stat & BROKEN) //Or turrets that are already broken return FALSE + if(faction_check(P.faction, faction)) //Or turrets in the same faction + return FALSE return TRUE if(istype(the_target, /obj/machinery/drill)) diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index a746dcc7241c..8d379b852b8f 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -111,16 +111,21 @@ /obj/item/gun/energy/e_gun/turret name = "hybrid turret gun" - desc = "A heavy hybrid energy cannon with two settings: Stun and kill." + desc = "A heavy hybrid energy cannon with two settings: Stun and kill. ...It doesn't seem have a trigger, seems it can only be used as a turret." icon_state = "turretlaser" item_state = "turretlaser" slot_flags = null w_class = WEIGHT_CLASS_HUGE + default_ammo_type = null ammo_type = list(/obj/item/ammo_casing/energy/electrode, /obj/item/ammo_casing/energy/laser) weapon_weight = WEAPON_HEAVY trigger_guard = TRIGGER_GUARD_NONE ammo_x_offset = 2 +/obj/item/gun/energy/e_gun/turret/pre_fire(atom/target, mob/living/user, message, flag, params, zone_override, bonus_spread, dual_wielded_gun) + to_chat(user, span_notice("[src] is not designed to be fired by hand.")) + return FALSE + /obj/item/gun/energy/e_gun/nuclear name = "advanced energy gun" desc = "An energy gun with an experimental miniaturized nuclear reactor that automatically charges the internal power cell." diff --git a/code/modules/ruins/rockplanet_ruin_code/mining_base.dm b/code/modules/ruins/rockplanet_ruin_code/mining_base.dm index aad89082116c..afd34e00a6eb 100644 --- a/code/modules/ruins/rockplanet_ruin_code/mining_base.dm +++ b/code/modules/ruins/rockplanet_ruin_code/mining_base.dm @@ -1,7 +1,7 @@ /obj/machinery/porta_turret/ship/nt/light/mining_base req_ship_access = FALSE - mode = 1 - turret_flags = TURRET_FLAG_SHOOT_ANOMALOUS + lethal = TRUE + turret_flags = TURRET_FLAG_SHOOT_FAUNA /obj/machinery/porta_turret/ship/nt/light/mining_base/Initialize() . = ..() diff --git a/code/modules/ruins/sandplanet_ruin_code/cave_base.dm b/code/modules/ruins/sandplanet_ruin_code/cave_base.dm index 9995ff25015e..91caf21e1edf 100644 --- a/code/modules/ruins/sandplanet_ruin_code/cave_base.dm +++ b/code/modules/ruins/sandplanet_ruin_code/cave_base.dm @@ -46,7 +46,7 @@ stun_projectile_sound = 'sound/weapons/lasercannonfire.ogg' lethal_projectile = /obj/projectile/beam/laser/heavylaser lethal_projectile_sound = 'sound/weapons/lasercannonfire.ogg' - turret_flags = TURRET_FLAG_SHOOT_ALL | TURRET_FLAG_SHOOT_HEADS | TURRET_FLAG_SHOOT_UNSHIELDED + turret_flags = TURRET_FLAG_SHOOT_ALLMOBS //gut wrenching content diff --git a/code/modules/vehicles/atv.dm b/code/modules/vehicles/atv.dm index a785ba5985d7..bd0a0f04c84d 100644 --- a/code/modules/vehicles/atv.dm +++ b/code/modules/vehicles/atv.dm @@ -40,7 +40,6 @@ /obj/vehicle/ridden/atv/turret/Initialize() . = ..() turret = new(loc) - turret.base = src /obj/vehicle/ridden/atv/turret/Moved() . = ..() diff --git a/shiptest.dme b/shiptest.dme index 2392beefc8fd..51db0af7846a 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -454,6 +454,7 @@ #include "code\datums\ruins.dm" #include "code\datums\saymode.dm" #include "code\datums\shuttles.dm" +#include "code\datums\simple_beam.dm" #include "code\datums\soullink.dm" #include "code\datums\spawners_menu.dm" #include "code\datums\tgs_event_handler.dm" @@ -1011,8 +1012,9 @@ #include "code\game\machinery\pipe\construction.dm" #include "code\game\machinery\pipe\pipe_dispenser.dm" #include "code\game\machinery\porta_turret\portable_turret.dm" -#include "code\game\machinery\porta_turret\portable_turret_construct.dm" -#include "code\game\machinery\porta_turret\portable_turret_cover.dm" +#include "code\game\machinery\porta_turret\portable_turret_control.dm" +#include "code\game\machinery\porta_turret\portable_turret_manual_control.dm" +#include "code\game\machinery\porta_turret\portable_turret_types.dm" #include "code\game\machinery\shuttle\custom_shuttle.dm" #include "code\game\machinery\shuttle\ship_gravity.dm" #include "code\game\machinery\shuttle\shuttle_engine.dm" diff --git a/tgui/packages/tgui/interfaces/PortableTurret.js b/tgui/packages/tgui/interfaces/PortableTurret.js deleted file mode 100644 index e66b522bf7ef..000000000000 --- a/tgui/packages/tgui/interfaces/PortableTurret.js +++ /dev/null @@ -1,121 +0,0 @@ -import { useBackend } from '../backend'; -import { Button, LabeledList, NoticeBox, Section } from '../components'; -import { Window } from '../layouts'; - -export const PortableTurret = (props, context) => { - const { act, data } = useBackend(context); - const { - silicon_user, - locked, - on, - check_weapons, - neutralize_criminals, - neutralize_all, - neutralize_unidentified, - neutralize_nonmindshielded, - neutralize_cyborgs, - ignore_heads, - manual_control, - allow_manual_control, - lasertag_turret, - } = data; - return ( - - - - Swipe an ID card to {locked ? 'unlock' : 'lock'} this interface. - - <> -
      - - act('manual')} - /> - ) - } - > -
      - {!lasertag_turret && ( -
      act('shootheads')} - /> - } - > - act('shootall')} - /> - act('authweapon')} - /> - act('checkxenos')} - /> - act('checkloyal')} - /> - act('shootcriminals')} - /> - act('shootborgs')} - /> -
      - )} - -
      -
      - ); -}; diff --git a/tgui/packages/tgui/interfaces/TurretControl.js b/tgui/packages/tgui/interfaces/TurretControl.js index 294e106ddea3..b2fe48e42bc8 100644 --- a/tgui/packages/tgui/interfaces/TurretControl.js +++ b/tgui/packages/tgui/interfaces/TurretControl.js @@ -1,17 +1,47 @@ import { useBackend } from '../backend'; -import { Button, LabeledList, Section } from '../components'; +import { Button, Flex, LabeledList, Section } from '../components'; import { Window } from '../layouts'; import { InterfaceLockNoticeBox } from './common/InterfaceLockNoticeBox'; export const TurretControl = (props, context) => { const { act, data } = useBackend(context); - const locked = data.locked && !data.siliconUser; - const { enabled, lethal, shootCyborgs } = data; + const { + allow_manual_control, + manual_control, + silicon_user, + lethal, + enabled, + dangerous_only, + retaliate, + shoot_fauna, + shoot_humans, + shoot_silicons, + only_nonfaction, + only_specificfaction, + } = data; + const locked = data.locked && !silicon_user; + return ( - + -
      +
      act('manual')} + /> + ) + } + >
      +
      + + + act('shoot_silicons')} + onClick={() => act('toggle_dangerous')} /> - - + + + act('toggle_retaliate')} + /> + + + + + act('toggle_fauna')} + /> + + + act('toggle_humans')} + /> + + + act('toggle_silicons')} + /> + + + + + act('toggle_nonfaction')} + /> + + + act('toggle_specificfaction')} + /> + +
      diff --git a/tools/UpdatePaths/Scripts/3844_turrets_refactor.txt b/tools/UpdatePaths/Scripts/3844_turrets_refactor.txt new file mode 100644 index 000000000000..2f655c6f68e1 --- /dev/null +++ b/tools/UpdatePaths/Scripts/3844_turrets_refactor.txt @@ -0,0 +1 @@ +/obj/machinery/porta_turret/@SUBTYPES : /obj/machinery/porta_turret/@SUBTYPES {@OLD;lethal=@OLD:mode;mode=@SKIP} diff --git a/tools/UpdatePaths/__main__.py b/tools/UpdatePaths/__main__.py index 804f34c88c09..4056d689fd32 100644 --- a/tools/UpdatePaths/__main__.py +++ b/tools/UpdatePaths/__main__.py @@ -119,7 +119,11 @@ def replace_def(match): continue if prop_value.startswith("@OLD"): params = prop_value.split(":") - if prop_name in old_props: + if len(params) > 1: + old_prop_name = params[1] + if old_prop_name in old_props: + out_props[prop_name] = old_props[old_prop_name] + elif prop_name in old_props: out_props[prop_name] = old_props[params[1]] if len(params) > 1 else old_props[prop_name] continue out_props[prop_name] = prop_value From 9391251bbdb83657ebf4bbce57db7211db89dd1c Mon Sep 17 00:00:00 2001 From: rye-rice <58402542+rye-rice@users.noreply.github.com> Date: Tue, 3 Dec 2024 04:47:55 -0800 Subject: [PATCH 298/344] Attempts to Fix Temperature + Makes It More Realistic in the Face of Extreme Temperatures (#3512) Zym's temperture PR apparently doesn't work as intended, this is not because of a coding error but simply because SS13 humans are extremely fucking durable somehow This attemps to fix it by making humands much more squishy and easier for players to notice cold/warm areas without it being in the danger zone. This also adds a fun mechanic where staying hydrated reduces burn damage taken from hot air. And in order to fine tune some planet's tempertures, rockplanet and beachplanet's gases have been randomized. ports https://github.com/tgstation/tgstation/pull/82336 as well, a nice cold breath effect! you should no longer be fine in -50 C nor 100 C, this may be frustrating, but holy shit you should NOT be fine at 100C. Hardsuit negates this completely :cl: add: Melbert, rye-rice balance: you will no longer be fine at 100 c, nor 50 c, you should also NOT be fine at -100 c either. clothing helps. fix: should be able to tell slighlty chilly tempertures qol: Breathing cold air now has a particle effect associated, careful not to let your glasses fog up. qol: Breathing cold air will now occasionally make your spaceman shiver. Brrr. /:cl: --------- Co-authored-by: retlaw34 <58402542+retlaw34@users.noreply.github.com> --- code/__DEFINES/atmospherics.dm | 11 +- code/__DEFINES/species.dm | 26 +-- code/_onclick/hud/alert.dm | 2 +- code/datums/atmosphere/planetary.dm | 163 ++++++++++++++---- code/datums/mapgen/Whitesandsatmos.dm | 25 --- .../datums/weather/weather_types/hailstorm.dm | 2 +- .../weather/weather_types/snow_storm.dm | 2 +- code/datums/weather/weather_types/snowfall.dm | 2 +- code/game/objects/effects/particles/smoke.dm | 13 ++ code/game/objects/structures/shower.dm | 4 +- code/game/objects/structures/traps.dm | 2 +- code/game/turfs/closed/minerals.dm | 20 +-- code/game/turfs/open/acid.dm | 2 +- .../game/turfs/open/floor/plating/asteroid.dm | 1 + code/game/turfs/open/floor/plating/beach.dm | 2 +- code/game/turfs/open/floor/plating/jungle.dm | 9 +- code/game/turfs/open/floor/plating/planet.dm | 1 + .../turfs/open/floor/plating/whitesands.dm | 18 +- code/game/turfs/open/water.dm | 1 + .../antagonists/wizard/equipment/artefact.dm | 2 +- .../awaymissions/mission_code/snowdin.dm | 2 +- code/modules/hydroponics/grown/chili.dm | 2 +- code/modules/mob/living/carbon/human/life.dm | 1 + .../mob/living/carbon/human/species.dm | 91 +++++----- .../carbon/human/species_types/ethereal.dm | 7 +- .../carbon/human/species_types/kepori.dm | 15 +- .../human/species_types/lizardpeople.dm | 9 +- .../carbon/human/species_types/mothmen.dm | 3 + .../living/carbon/human/species_types/vox.dm | 5 +- .../hostile/mining_mobs/basilisk.dm | 4 +- .../hostile/mining_mobs/brimdemon.dm | 2 +- .../hostile/mining_mobs/ice_demon.dm | 2 +- .../projectiles/projectile/energy/misc.dm | 4 +- .../projectile/special/temperature.dm | 6 +- .../chemistry/reagents/alcohol_reagents.dm | 16 +- .../chemistry/reagents/drink_reagents.dm | 48 +++--- .../chemistry/reagents/food_reagents.dm | 16 +- .../chemistry/reagents/medicine_reagents.dm | 10 +- .../reagents/pyrotechnic_reagents.dm | 4 +- .../chemistry/reagents/toxin_reagents.dm | 2 +- .../chemistry/reagents/trickwine_reagents.dm | 2 +- code/modules/surgery/organs/lungs.dm | 141 ++++++++++++--- code/modules/surgery/organs/vocal_cords.dm | 4 +- icons/effects/particles/smoke.dmi | Bin 480 -> 1274 bytes icons/hud/screen_alert.dmi | Bin 125947 -> 126276 bytes 45 files changed, 454 insertions(+), 250 deletions(-) diff --git a/code/__DEFINES/atmospherics.dm b/code/__DEFINES/atmospherics.dm index 8c22616db287..6514221720a9 100644 --- a/code/__DEFINES/atmospherics.dm +++ b/code/__DEFINES/atmospherics.dm @@ -210,8 +210,6 @@ #define KITCHEN_COLDROOM_ATMOS "o2=33;n2=124;TEMP=193.15" /// used in the holodeck burn test program #define BURNMIX_ATMOS "o2=2500;plasma=5000;TEMP=370" -/// used in rockplanet -#define ROCKPLANET_DEFAULT_ATMOS "co2=95;n2=3;TEMP=210.15" //ATMOSPHERICS DEPARTMENT GAS TANK TURFS #define ATMOS_TANK_N2O "n2o=6000;TEMP=293.15" #define ATMOS_TANK_CO2 "co2=50000;TEMP=293.15" @@ -226,11 +224,16 @@ //PLANETARY /// what pressure you have to be under to increase the effect of equipment meant for lavaland #define LAVALAND_EQUIPMENT_EFFECT_PRESSURE 90 -#define ICEMOON_DEFAULT_ATMOS "ICEMOON_ATMOS" #define GAS_GIANT_ATMOS "GAS_GIANT_ATMOS" #define PLASMA_GIANT_ATMOS "PLASMA_GIANT_ATMOS" -#define WASTEPLANET_DEFAULT_ATMOS "WASTEPLANET_ATMOS" +#define DEFAULT_ATMOS_DETECTOR "plasma=70000;TEMP=293.15" #define LAVALAND_DEFAULT_ATMOS "LAVALAND_ATMOS" +#define ICEMOON_DEFAULT_ATMOS "ICEMOON_ATMOS" +#define WASTEPLANET_DEFAULT_ATMOS "WASTEPLANET_ATMOS" +#define ROCKPLANET_DEFAULT_ATMOS "ROCKPLANET_ATMOS" +#define BEACHPLANET_DEFAULT_ATMOS "BEACHPLANET_ATMOS" +#define JUNGLEPLANET_DEFAULT_ATMOS "JUNGLEPLANET_ATMOS" +#define SANDPLANET_DEFAULT_ATMOS "SANDPLANET_ATMOS" //ATMOS MIX IDS diff --git a/code/__DEFINES/species.dm b/code/__DEFINES/species.dm index 1a8cd17d802a..d3cf27ac546e 100644 --- a/code/__DEFINES/species.dm +++ b/code/__DEFINES/species.dm @@ -1,12 +1,12 @@ // Pressure limits. -/// This determins at what pressure the ultra-high pressure red icon is displayed. (This one is set as a constant) -#define HAZARD_HIGH_PRESSURE 550 -/// This determins when the orange pressure icon is displayed (it is 0.7 * HAZARD_HIGH_PRESSURE) -#define WARNING_HIGH_PRESSURE 325 -/// This is when the gray low pressure icon is displayed. (it is 2.5 * HAZARD_LOW_PRESSURE) -#define WARNING_LOW_PRESSURE 50 -/// This is when the black ultra-low pressure icon is displayed. (This one is set as a constant) -#define HAZARD_LOW_PRESSURE 20 +/// This determins at what pressure the ultra-high pressure red icon is displayed. +#define HAZARD_HIGH_PRESSURE 303 +/// This determins when the orange pressure icon is displayed +#define WARNING_HIGH_PRESSURE 202 +/// This is when the gray low pressure icon is displayed. +#define WARNING_LOW_PRESSURE 60 +/// This is when the black ultra-low pressure icon is displayed. +#define HAZARD_LOW_PRESSURE 40 /// This is used in handle_temperature_damage() for humans, and in reagents that affect body temperature. Temperature damage is multiplied by this amount. #define TEMPERATURE_DAMAGE_COEFFICIENT 1.5 @@ -14,13 +14,13 @@ /// The natural temperature for a body #define HUMAN_BODYTEMP_NORMAL 310.15 /// This is the divisor which handles how much of the temperature difference between the current body temperature and 310.15K (optimal temperature) humans auto-regenerate each tick. The higher the number, the slower the recovery. This is applied each tick, so long as the mob is alive. -#define HUMAN_BODYTEMP_AUTORECOVERY_DIVISOR 11 +#define HUMAN_BODYTEMP_AUTORECOVERY_DIVISOR 22 /// Minimum amount of kelvin moved toward 310K per tick. So long as abs(310.15 - bodytemp) is more than 50. #define HUMAN_BODYTEMP_AUTORECOVERY_MINIMUM 12 ///Similar to the HUMAN_BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is lower than their body temperature. Make it lower to lose bodytemp faster. -#define HUMAN_BODYTEMP_COLD_DIVISOR 15 +#define HUMAN_BODYTEMP_COLD_DIVISOR 20 /// Similar to the HUMAN_BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is higher than their body temperature. Make it lower to gain bodytemp faster. -#define HUMAN_BODYTEMP_HEAT_DIVISOR 15 +#define HUMAN_BODYTEMP_HEAT_DIVISOR 10 /// The maximum number of degrees that your body can cool in 1 tick, due to the environment, when in a cold area. #define HUMAN_BODYTEMP_COOLING_MAX -100 /// The maximum number of degrees that your body can heat up in 1 tick, due to the environment, when in a hot area. @@ -28,11 +28,11 @@ /// The body temperature limit the human body can take before it starts taking damage from heat. /// This also affects how fast the body normalises it's temperature when hot. /// 340k is about 66c, and rather high for a human. -#define HUMAN_BODYTEMP_HEAT_DAMAGE_LIMIT (HUMAN_BODYTEMP_NORMAL + 30) +#define HUMAN_BODYTEMP_HEAT_DAMAGE_LIMIT (HUMAN_BODYTEMP_NORMAL + 3) /// The body temperature limit the human body can take before it starts taking damage from cold. /// This also affects how fast the body normalises it's temperature when cold. /// 270k is about -3c, that is below freezing and would hurt over time. -#define HUMAN_BODYTEMP_COLD_DAMAGE_LIMIT (HUMAN_BODYTEMP_NORMAL - 40) +#define HUMAN_BODYTEMP_COLD_DAMAGE_LIMIT (HUMAN_BODYTEMP_NORMAL - 8) //VOX DEFINES diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index 5dacaec1b4cf..61d2a44d20b1 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -211,7 +211,7 @@ Override makes it so the alert is not replaced until cleared by a clear_alert wi /atom/movable/screen/alert/sweat name = "Sweating" - desc = "You're sweating and the heat is starting to hurt. Get somewhere cooler and take off any insulating clothing like a fire suit." + desc = "You're sweating and the heat is starting to hurt. Stay hydrated, get somewhere cooler, and take off any insulating clothing like a fire suit." icon_state = "sweat" /atom/movable/screen/alert/shiver diff --git a/code/datums/atmosphere/planetary.dm b/code/datums/atmosphere/planetary.dm index 85bbf13c52a9..8a2d37ab2471 100644 --- a/code/datums/atmosphere/planetary.dm +++ b/code/datums/atmosphere/planetary.dm @@ -13,8 +13,6 @@ ) restricted_gases = list( GAS_BZ=10, - GAS_PLASMA=0.1, - GAS_H2O=0.1, ) restricted_chance = 50 @@ -26,12 +24,65 @@ // even worse, occasionally there would be a perma-TRITFIRE, if oxygen // concentration was high enough. this caused a bunch of lag and added nothing to the game whatsoever // thus, the temperatures were reduced to 70-90 C - minimum_temp = T20C + 50 - maximum_temp = T20C + 70 + minimum_temp = T20C + 20 + maximum_temp = T20C + 40 /datum/atmosphere/icemoon id = ICEMOON_DEFAULT_ATMOS + base_gases = list( + GAS_O2=5, + GAS_N2=10, + ) + normal_gases = list( + GAS_O2=10, + GAS_N2=10, + GAS_CO2=10, + ) + restricted_gases = list( + GAS_CO2=0.1, + ) + restricted_chance = 50 + + minimum_pressure = HAZARD_LOW_PRESSURE + 10 + maximum_pressure = LAVALAND_EQUIPMENT_EFFECT_PRESSURE - 1 + + + minimum_temp = 200 //fucking cold to + maximum_temp = 240 //still cold + + +//wasteplanet + +/datum/atmosphere/wasteplanet + id = WASTEPLANET_DEFAULT_ATMOS + + + base_gases = list( + GAS_O2=7, + GAS_N2=10, + ) + normal_gases = list( + GAS_O2=7, + GAS_O2=3, + GAS_N2=5, + GAS_N2=2 + ) + restricted_gases = list( + GAS_O2=1, + ) + restricted_chance = 0 + + minimum_pressure = ONE_ATMOSPHERE - 30 + maximum_pressure = ONE_ATMOSPHERE + 100 + + minimum_temp = T20C - 10 + maximum_temp = T20C + 20 + +//sandplanet +/datum/atmosphere/whitesands + id = SANDPLANET_DEFAULT_ATMOS + base_gases = list( GAS_O2=5, GAS_N2=10, @@ -43,16 +94,89 @@ ) restricted_gases = list( GAS_PLASMA=0.1, - GAS_H2O=0.1, ) restricted_chance = 50 minimum_pressure = HAZARD_LOW_PRESSURE + 10 maximum_pressure = LAVALAND_EQUIPMENT_EFFECT_PRESSURE - 1 - minimum_temp = 180 - maximum_temp = 180 + minimum_temp = 233 + maximum_temp = 263 //No longer always 180 + +//Jungleplanet + +/datum/atmosphere/jungleplanet + id = JUNGLEPLANET_DEFAULT_ATMOS + base_gases = list( + GAS_O2=15, + GAS_N2=60, + GAS_CO2=1, + ) + normal_gases = list( + GAS_O2=1, + GAS_N2=4, + ) + restricted_gases = list( + GAS_CO2=0.1, + ) + restricted_chance = 0 + + minimum_pressure = 101.3 + maximum_pressure = 135.7 //Nonsense values + + minimum_temp = T20C + 10 + maximum_temp = T20C + 20 + +//welcome to the beach + +/datum/atmosphere/beach + id = BEACHPLANET_DEFAULT_ATMOS + + base_gases = list( + GAS_O2=10, + GAS_N2=40, + ) + normal_gases = list( + GAS_O2=1, + GAS_N2=4, + ) + restricted_gases = list( + GAS_PLASMA=0.1, + ) + restricted_chance = 0 + + minimum_pressure = 101.3 + maximum_pressure = 135.7 + + minimum_temp = T20C - 10 + maximum_temp = T20C + 10 + +//rockplanets have lots of CO2 and are moderately cold. +/datum/atmosphere/rockplanet + + id = ROCKPLANET_DEFAULT_ATMOS + + base_gases = list( + GAS_CO2=5, + GAS_N2=1, + ) + normal_gases = list( + GAS_CO2=3, + GAS_N2=1, + ) + restricted_gases = list( + GAS_PLASMA=0.1, + ) + restricted_chance = 0 + + minimum_pressure = 101.3 + maximum_pressure = 135.7 + + minimum_temp = T0C - 20 + maximum_temp = T0C + +// gas giants /datum/atmosphere/gas_giant id = GAS_GIANT_ATMOS @@ -92,28 +216,3 @@ GAS_PLASMA=0.1, ) restricted_chance = 1 - -/datum/atmosphere/wasteplanet - id = WASTEPLANET_DEFAULT_ATMOS - - - base_gases = list( - GAS_O2=7, - GAS_N2=10, - ) - normal_gases = list( - GAS_O2=7, - GAS_O2=3, - GAS_N2=5, - GAS_N2=2 - ) - restricted_gases = list( - GAS_H2O=1, - ) - restricted_chance = 10 - - minimum_pressure = ONE_ATMOSPHERE - 30 - maximum_pressure = ONE_ATMOSPHERE + 100 - - minimum_temp = T20C + 1 - maximum_temp = T20C + 80 diff --git a/code/datums/mapgen/Whitesandsatmos.dm b/code/datums/mapgen/Whitesandsatmos.dm index 87d4ef33b881..231a9c9eec14 100644 --- a/code/datums/mapgen/Whitesandsatmos.dm +++ b/code/datums/mapgen/Whitesandsatmos.dm @@ -1,28 +1,3 @@ #define WHITESANDS_WALL_ENV "rock" #define WHITESANDS_SAND_ENV "sand" #define WHITESANDS_DRIED_ENV "dried_up" -#define WHITESANDS_ATMOS "ws_atmos" - -/datum/atmosphere/whitesands - id = WHITESANDS_ATMOS - - base_gases = list( - GAS_O2=5, - GAS_N2=10, - ) - normal_gases = list( - GAS_O2=10, - GAS_N2=10, - GAS_CO2=10, - ) - restricted_gases = list( - GAS_PLASMA=0.1, - GAS_H2O=0.1, - ) - restricted_chance = 50 - - minimum_pressure = HAZARD_LOW_PRESSURE + 10 - maximum_pressure = LAVALAND_EQUIPMENT_EFFECT_PRESSURE - 1 - - minimum_temp = 180 - maximum_temp = 180 diff --git a/code/datums/weather/weather_types/hailstorm.dm b/code/datums/weather/weather_types/hailstorm.dm index 127a92f03567..ef0cd70b2dba 100644 --- a/code/datums/weather/weather_types/hailstorm.dm +++ b/code/datums/weather/weather_types/hailstorm.dm @@ -32,5 +32,5 @@ /// Think of some good solution of how weather should affect monsters and how they should be resistant to things like this if(isanimal(living_mob)) return - living_mob.adjust_bodytemperature(-rand(3,6)) + living_mob.adjust_bodytemperature(-rand(1,2)) living_mob.adjustBruteLoss(rand(2,4)) diff --git a/code/datums/weather/weather_types/snow_storm.dm b/code/datums/weather/weather_types/snow_storm.dm index ba74a39ddb47..db11f26e753b 100644 --- a/code/datums/weather/weather_types/snow_storm.dm +++ b/code/datums/weather/weather_types/snow_storm.dm @@ -29,5 +29,5 @@ sound_weak_inside = /datum/looping_sound/weak_inside_ashstorm /datum/weather/snow_storm/weather_act(mob/living/living_mob) - living_mob.adjust_bodytemperature(-rand(5,15)) + living_mob.adjust_bodytemperature(-rand(2,4)) diff --git a/code/datums/weather/weather_types/snowfall.dm b/code/datums/weather/weather_types/snowfall.dm index 5600547705b2..d3eab8b1099a 100644 --- a/code/datums/weather/weather_types/snowfall.dm +++ b/code/datums/weather/weather_types/snowfall.dm @@ -43,4 +43,4 @@ thunder_chance = 2 /datum/weather/snowfall/heavy/weather_act(mob/living/living_mob) - living_mob.adjust_bodytemperature(-rand(2,4)) + living_mob.adjust_bodytemperature(-rand(1,2)) diff --git a/code/game/objects/effects/particles/smoke.dm b/code/game/objects/effects/particles/smoke.dm index 72807e778f56..40edb4a52d6d 100644 --- a/code/game/objects/effects/particles/smoke.dm +++ b/code/game/objects/effects/particles/smoke.dm @@ -64,3 +64,16 @@ fadein = 0.7 SECONDS position = generator(GEN_VECTOR, list(-3, 5, 0), list(3, 6.5, 0), NORMAL_RAND) velocity = generator(GEN_VECTOR, list(-0.1, 0.4, 0), list(0.1, 0.5, 0), NORMAL_RAND) + +/particles/fog + icon = 'icons/effects/particles/smoke.dmi' + icon_state = list("chill_1" = 2, "chill_2" = 2, "chill_3" = 1) + +/particles/fog/breath + count = 1 + spawning = 1 + lifespan = 1 SECONDS + fade = 0.5 SECONDS + grow = 0.05 + spin = 2 + color = "#fcffffff" diff --git a/code/game/objects/structures/shower.dm b/code/game/objects/structures/shower.dm index 16cf7af6ce81..b7c6285d7962 100644 --- a/code/game/objects/structures/shower.dm +++ b/code/game/objects/structures/shower.dm @@ -134,11 +134,11 @@ if(current_temperature == SHOWER_FREEZING) if(iscarbon(L)) - C.adjust_bodytemperature(-80, 80) + C.adjust_bodytemperature(-5, 280) to_chat(L, "[src] is freezing!") else if(current_temperature == SHOWER_BOILING) if(iscarbon(L)) - C.adjust_bodytemperature(35, 0, 500) + C.adjust_bodytemperature(5, 0, 350) L.adjustFireLoss(5) to_chat(L, "[src] is searing!") diff --git a/code/game/objects/structures/traps.dm b/code/game/objects/structures/traps.dm index 4c6c3173cded..9649812f40f8 100644 --- a/code/game/objects/structures/traps.dm +++ b/code/game/objects/structures/traps.dm @@ -116,7 +116,7 @@ /obj/structure/trap/chill/trap_effect(mob/living/L) to_chat(L, "You're frozen solid!") L.Paralyze(20) - L.adjust_bodytemperature(-300) + L.adjust_bodytemperature(-20) L.apply_status_effect(/datum/status_effect/freon) diff --git a/code/game/turfs/closed/minerals.dm b/code/game/turfs/closed/minerals.dm index 880b0fdd3c54..f704fc34cdb7 100644 --- a/code/game/turfs/closed/minerals.dm +++ b/code/game/turfs/closed/minerals.dm @@ -682,7 +682,7 @@ environment_type = WHITESANDS_WALL_ENV turf_type = /turf/open/floor/plating/asteroid/whitesands baseturfs = /turf/open/floor/plating/asteroid/whitesands/dried - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS defer_change = TRUE has_borders = TRUE @@ -692,7 +692,7 @@ environment_type = WHITESANDS_WALL_ENV turf_type = /turf/open/floor/plating/asteroid/whitesands baseturfs = /turf/open/floor/plating/asteroid/whitesands/dried - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS defer_change = TRUE has_borders = TRUE @@ -702,7 +702,7 @@ environment_type = WHITESANDS_WALL_ENV turf_type = /turf/open/floor/plating/asteroid/whitesands baseturfs = /turf/open/floor/plating/asteroid/whitesands/dried - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS defer_change = TRUE has_borders = TRUE @@ -712,7 +712,7 @@ environment_type = WHITESANDS_WALL_ENV turf_type = /turf/open/floor/plating/asteroid/whitesands baseturfs = /turf/open/floor/plating/asteroid/whitesands/dried - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS defer_change = TRUE has_borders = TRUE @@ -722,7 +722,7 @@ environment_type = WHITESANDS_WALL_ENV turf_type = /turf/open/floor/plating/asteroid/whitesands baseturfs = /turf/open/floor/plating/asteroid/whitesands/dried - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS defer_change = TRUE has_borders = TRUE @@ -732,7 +732,7 @@ environment_type = WHITESANDS_WALL_ENV turf_type = /turf/open/floor/plating/asteroid/whitesands baseturfs = /turf/open/floor/plating/asteroid/whitesands/dried - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS defer_change = TRUE has_borders = TRUE @@ -748,7 +748,7 @@ mineralSpawnChanceList = list(/obj/item/stack/ore/uranium = 5, /obj/item/stack/ore/diamond = 3, /obj/item/stack/ore/gold = 10, /obj/item/stack/ore/silver = 10, /obj/item/stack/ore/plasma = 15, /obj/item/stack/ore/iron = 45, /obj/item/stack/ore/titanium = 11, /turf/closed/mineral/gibtonite/whitesands = 4, /turf/open/floor/plating/asteroid/whitesands = 2, /obj/item/stack/ore/bluespace_crystal = 4) - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS defer_change = TRUE has_borders = TRUE @@ -759,7 +759,7 @@ environment_type = WHITESANDS_WALL_ENV turf_type = /turf/open/floor/plating/asteroid/whitesands baseturfs = /turf/open/floor/plating/asteroid/whitesands/dried - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS defer_change = TRUE has_borders = TRUE @@ -769,7 +769,7 @@ environment_type = WHITESANDS_WALL_ENV turf_type = /turf/open/floor/plating/asteroid/whitesands baseturfs = /turf/open/floor/plating/asteroid/whitesands/dried - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS defer_change = TRUE has_borders = TRUE @@ -779,7 +779,7 @@ environment_type = WHITESANDS_WALL_ENV turf_type = /turf/open/floor/plating/asteroid/whitesands baseturfs = /turf/open/floor/plating/asteroid/whitesands/dried - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS defer_change = TRUE has_borders = TRUE diff --git a/code/game/turfs/open/acid.dm b/code/game/turfs/open/acid.dm index 86260871c522..c9f5472fa4fb 100644 --- a/code/game/turfs/open/acid.dm +++ b/code/game/turfs/open/acid.dm @@ -145,4 +145,4 @@ /turf/open/water/acid/whitesands planetary_atmos = TRUE - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS diff --git a/code/game/turfs/open/floor/plating/asteroid.dm b/code/game/turfs/open/floor/plating/asteroid.dm index 996d122a4ac9..12fe214deb83 100644 --- a/code/game/turfs/open/floor/plating/asteroid.dm +++ b/code/game/turfs/open/floor/plating/asteroid.dm @@ -27,6 +27,7 @@ /// Whether the turf has been dug or not var/dug + /turf/open/floor/plating/asteroid/Initialize(mapload, inherited_virtual_z) var/proper_name = name . = ..() diff --git a/code/game/turfs/open/floor/plating/beach.dm b/code/game/turfs/open/floor/plating/beach.dm index 485a5cc58a8c..9b4aa8cf156f 100644 --- a/code/game/turfs/open/floor/plating/beach.dm +++ b/code/game/turfs/open/floor/plating/beach.dm @@ -6,7 +6,7 @@ icon_state = "sand" base_icon_state = "sand" baseturfs = /turf/open/floor/plating/asteroid/sand - initial_gas_mix = OPENTURF_DEFAULT_ATMOS + initial_gas_mix = BEACHPLANET_DEFAULT_ATMOS //custom atmos? lots of oxygen, hot? planetary_atmos = TRUE digResult = /obj/item/stack/ore/glass/beach light_color = COLOR_BEACHPLANET_LIGHT diff --git a/code/game/turfs/open/floor/plating/jungle.dm b/code/game/turfs/open/floor/plating/jungle.dm index 79121704001c..19139d782c0e 100644 --- a/code/game/turfs/open/floor/plating/jungle.dm +++ b/code/game/turfs/open/floor/plating/jungle.dm @@ -1,9 +1,12 @@ /turf/open/floor/plating/dirt/jungle slowdown = 0.5 baseturfs = /turf/open/floor/plating/dirt/jungle - initial_gas_mix = OPENTURF_DEFAULT_ATMOS + initial_gas_mix = JUNGLEPLANET_DEFAULT_ATMOS light_color = COLOR_JUNGLEPLANET_LIGHT +/turf/open/floor/plating/dirt/jungle/MakeSlippery(wet_setting, min_wet_time, wet_time_to_add, max_wet_time, permanent) + return + /turf/open/floor/plating/dirt/jungle/lit baseturfs = /turf/open/floor/plating/dirt/jungle/lit light_range = 2 @@ -45,6 +48,10 @@ smooth_icon = 'icons/turf/floors/junglegrass.dmi' baseturfs = /turf/open/floor/plating/grass/jungle light_color = COLOR_JUNGLEPLANET_LIGHT + initial_gas_mix = JUNGLEPLANET_DEFAULT_ATMOS + +/turf/open/floor/plating/grass/jungle/MakeSlippery(wet_setting, min_wet_time, wet_time_to_add, max_wet_time, permanent) + return /turf/open/floor/plating/grass/jungle/lit baseturfs = /turf/open/floor/plating/dirt/jungle/lit diff --git a/code/game/turfs/open/floor/plating/planet.dm b/code/game/turfs/open/floor/plating/planet.dm index f360ac611267..5609547928c6 100644 --- a/code/game/turfs/open/floor/plating/planet.dm +++ b/code/game/turfs/open/floor/plating/planet.dm @@ -16,6 +16,7 @@ /turf/open/floor/plating/dirt/dark icon_state = "greenerdirt" baseturfs = /turf/open/floor/plating/dirt/dark + initial_gas_mix = JUNGLEPLANET_DEFAULT_ATMOS /turf/open/floor/plating/dirt/try_replace_tile(obj/item/stack/tile/T, mob/user, params) return diff --git a/code/game/turfs/open/floor/plating/whitesands.dm b/code/game/turfs/open/floor/plating/whitesands.dm index 2607d6f174c0..40094890c53c 100644 --- a/code/game/turfs/open/floor/plating/whitesands.dm +++ b/code/game/turfs/open/floor/plating/whitesands.dm @@ -8,7 +8,7 @@ icon_plating = "sand" planetary_atmos = TRUE base_icon_state = WHITESANDS_SAND_ENV - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS digResult = /obj/item/stack/ore/glass/whitesands light_color = COLOR_SANDPLANET_LIGHT @@ -36,7 +36,7 @@ ///basalt /turf/open/floor/plating/asteroid/basalt/whitesands - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS planetary_atmos = TRUE baseturfs = /turf/open/floor/plating/asteroid/whitesands/dried icon_state = "whitesands_basalt0" @@ -58,7 +58,7 @@ base_icon_state = "grass" baseturfs = /turf/open/floor/plating/asteroid/whitesands turf_type = /turf/open/floor/plating/asteroid/whitesands/grass - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS planetary_atmos = TRUE smoothing_flags = SMOOTH_BITMASK smoothing_groups = list(SMOOTH_GROUP_TURF_OPEN, SMOOTH_GROUP_FLOOR_GRASS) @@ -90,10 +90,10 @@ /turf/open/floor/plating/asteroid/snow/lit/whitesands light_color = COLOR_SANDPLANET_LIGHT baseturfs = /turf/open/floor/plating/asteroid/whitesands/lit - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS /turf/open/floor/concrete/whitesands - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS light_color = COLOR_SANDPLANET_LIGHT /turf/open/floor/concrete/whitesands/lit @@ -101,7 +101,7 @@ light_power = 0.6 /turf/open/floor/concrete/reinforced/whitesands - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS light_color = COLOR_SANDPLANET_LIGHT /turf/open/floor/concrete/reinforced/whitesands/lit @@ -109,7 +109,7 @@ light_power = 0.6 /turf/open/floor/concrete/pavement/whitesands - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS light_color = COLOR_SANDPLANET_LIGHT /turf/open/floor/concrete/pavement/whitesands/lit @@ -117,7 +117,7 @@ light_power = 0.6 /turf/open/floor/concrete/slab_1/whitesands - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS light_color = COLOR_SANDPLANET_LIGHT /turf/open/floor/concrete/slab_1/whitesands/lit @@ -125,7 +125,7 @@ light_power = 0.6 /turf/open/floor/plating/whitesands - initial_gas_mix = WHITESANDS_ATMOS + initial_gas_mix = SANDPLANET_DEFAULT_ATMOS light_color = COLOR_SANDPLANET_LIGHT /turf/open/floor/plating/whitesands/lit diff --git a/code/game/turfs/open/water.dm b/code/game/turfs/open/water.dm index f94db41d4713..5a78c24dc1fe 100644 --- a/code/game/turfs/open/water.dm +++ b/code/game/turfs/open/water.dm @@ -70,6 +70,7 @@ light_range = 2 light_power = 0.6 light_color = COLOR_VERY_LIGHT_GRAY + initial_gas_mix = JUNGLEPLANET_DEFAULT_ATMOS /turf/open/water/jungle/Initialize(mapload) . = ..() diff --git a/code/modules/antagonists/wizard/equipment/artefact.dm b/code/modules/antagonists/wizard/equipment/artefact.dm index dad33ff03dfb..e47f7c97e010 100644 --- a/code/modules/antagonists/wizard/equipment/artefact.dm +++ b/code/modules/antagonists/wizard/equipment/artefact.dm @@ -285,7 +285,7 @@ if(target && cooldown < world.time) if(I.get_temperature()) to_chat(target, "You suddenly feel very hot!") - target.adjust_bodytemperature(50) + target.adjust_bodytemperature(10) GiveHint(target) else if(is_pointed(I)) to_chat(target, "You feel a stabbing pain in [parse_zone(user.zone_selected)]!") diff --git a/code/modules/awaymissions/mission_code/snowdin.dm b/code/modules/awaymissions/mission_code/snowdin.dm index c159e19da9ec..c205746b16f3 100644 --- a/code/modules/awaymissions/mission_code/snowdin.dm +++ b/code/modules/awaymissions/mission_code/snowdin.dm @@ -66,7 +66,7 @@ L.adjustFireLoss(2) if(L) L.adjust_fire_stacks(20) //dipping into a stream of plasma would probably make you more flammable than usual - L.adjust_bodytemperature(-rand(50,65)) //its cold, man + L.adjust_bodytemperature(-rand(10,20)) //its cold, man if(ishuman(L))//are they a carbon? var/list/plasma_parts = list()//a list of the organic parts to be turned into plasma limbs var/list/robo_parts = list()//keep a reference of robotic parts so we know if we can turn them into a plasmaman diff --git a/code/modules/hydroponics/grown/chili.dm b/code/modules/hydroponics/grown/chili.dm index bbb1379bcc74..bb5049415652 100644 --- a/code/modules/hydroponics/grown/chili.dm +++ b/code/modules/hydroponics/grown/chili.dm @@ -98,7 +98,7 @@ if(held_mob.is_holding(src)) if(istype(held_mob) && held_mob.gloves) return - held_mob.adjust_bodytemperature(15 * TEMPERATURE_DAMAGE_COEFFICIENT) + held_mob.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT) if(prob(10)) to_chat(held_mob, "Your hand holding [src] burns!") else diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 3e02a1c1e386..cb812d45b34b 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -120,6 +120,7 @@ if(istype(L, /obj/item/organ/lungs)) var/obj/item/organ/lungs/lun = L lun.check_breath(breath,src) + lun.handle_breath_temperature(breath,src) /// Environment handlers for species /mob/living/carbon/human/handle_environment(datum/gas_mixture/environment) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index b5437d1ea3fb..137d1a37d335 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -149,9 +149,9 @@ GLOBAL_LIST_EMPTY(roundstart_races) /// Minimum amount of kelvin moved toward normal body temperature per tick. var/bodytemp_autorecovery_min = HUMAN_BODYTEMP_AUTORECOVERY_MINIMUM /// The maximum temperature the species is comfortable at. Going above this does not apply any effects, but warns players that the temperture is hot - var/max_temp_comfortable = (HUMAN_BODYTEMP_NORMAL + 7) + var/max_temp_comfortable = (HUMAN_BODYTEMP_NORMAL) //20 c will always be below human bodytemp, this just makes it so when it can sustain that its higher /// The minimum temperature the species is comfortable at. Going below this does not apply any effects, but warns players that the temperture is chilly - var/min_temp_comfortable = (HUMAN_BODYTEMP_NORMAL - 5) + var/min_temp_comfortable = (HUMAN_BODYTEMP_NORMAL - 1) /// This is the divisor which handles how much of the temperature difference between the current body temperature and 310.15K (optimal temperature) humans auto-regenerate each tick. The higher the number, the slower the recovery. var/bodytemp_autorecovery_divisor = HUMAN_BODYTEMP_AUTORECOVERY_DIVISOR ///Similar to the autorecovery_divsor, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is higher than their body temperature. Make it lower to lose bodytemp faster. @@ -500,6 +500,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) fly.Grant(C) C.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/species, multiplicative_slowdown=speedmod) + C.bodytemperature = bodytemp_normal SEND_SIGNAL(C, COMSIG_SPECIES_GAIN, src, old_species) @@ -2115,44 +2116,31 @@ GLOBAL_LIST_EMPTY(roundstart_races) /// Traits for resitance to heat or cold are handled here. /datum/species/proc/handle_body_temperature(mob/living/carbon/human/H) var/body_temp = H.bodytemperature - var/total_change = bodytemp_natural_stabilization + bodytemp_environment_change //tempature is no longer comfy, throw alert if(body_temp > max_temp_comfortable && !HAS_TRAIT(H, TRAIT_RESISTHEAT)) SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "cold") if(body_temp > bodytemp_heat_damage_limit) var/burn_damage = calculate_burn_damage(H) - if(burn_damage < 2) + if(burn_damage > 2) H.throw_alert("tempfeel", /atom/movable/screen/alert/hot, 3) else H.throw_alert("tempfeel", /atom/movable/screen/alert/hot, 2) else - if(body_temp < (bodytemp_heat_damage_limit - 10)) - // you are cooling down and exiting the danger zone - if(total_change < 0) - H.throw_alert("tempfeel", /atom/movable/screen/alert/warm) - else - H.throw_alert("tempfeel", /atom/movable/screen/alert/hot, 2) - else if(total_change > 1) - H.throw_alert("tempfeel", /atom/movable/screen/alert/warm) + if(body_temp < (bodytemp_heat_damage_limit - 3)) + H.throw_alert("tempfeel", /atom/movable/screen/alert/hot, 1) else - H.clear_alert("tempfeel") + H.throw_alert("tempfeel", /atom/movable/screen/alert/warm) else if (body_temp < min_temp_comfortable && !HAS_TRAIT(H, TRAIT_RESISTCOLD)) SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "hot") - if(body_temp < 200) + if(body_temp < bodytemp_cold_damage_limit -7) H.throw_alert("tempfeel", /atom/movable/screen/alert/cold, 3) else if(body_temp < bodytemp_cold_damage_limit) H.throw_alert("tempfeel", /atom/movable/screen/alert/cold, 2) - else if(body_temp < (bodytemp_cold_damage_limit + 10)) - // you are warming up and exiting the danger zone - if(total_change > 0) - H.throw_alert("tempfeel", /atom/movable/screen/alert/chilly) - else - H.throw_alert("tempfeel", /atom/movable/screen/alert/cold, 2) - else if(total_change < -1) - H.throw_alert("tempfeel", /atom/movable/screen/alert/chilly) + else if(body_temp < (bodytemp_cold_damage_limit + 5)) + H.throw_alert("tempfeel", /atom/movable/screen/alert/cold, 1) else - H.clear_alert("tempfeel") + H.throw_alert("tempfeel", /atom/movable/screen/alert/chilly) else H.clear_alert("tempfeel") @@ -2171,21 +2159,28 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(burn_damage) if(H.mob_biotypes & MOB_ROBOTIC) //robors have a alternative cooling fan graphic switch(burn_damage) - if(0 to 2) + if(0 to 1) H.throw_alert("temp", /atom/movable/screen/alert/fans, 1) - if(2 to 4) + if(2 to 3) H.throw_alert("temp", /atom/movable/screen/alert/fans, 2) else H.throw_alert("temp", /atom/movable/screen/alert/fans, 3) else switch(burn_damage) - if(0 to 2) + if(0 to 1) H.throw_alert("temp", /atom/movable/screen/alert/sweat, 1) - if(2 to 4) + if(2 to 3) H.throw_alert("temp", /atom/movable/screen/alert/sweat, 2) else H.throw_alert("temp", /atom/movable/screen/alert/sweat, 3) + //Stay hydrated. + if(!(H.mob_biotypes & MOB_ROBOTIC) && H.reagents.has_reagent(/datum/reagent/water) && H.stat != DEAD) + burn_damage -= clamp(H.reagents.get_reagent_amount(/datum/reagent/water) /10, 0, 2) + // if youre dead, no need to sweat? + if(H.stat != DEAD) + burn_damage -= (max(burn_damage - 2.5, 0)) + // Apply species and physiology modifiers to heat damage burn_damage = burn_damage * heatmod * H.physiology.heat_mod @@ -2206,17 +2201,25 @@ GLOBAL_LIST_EMPTY(roundstart_races) // Display alerts based on the amount of cold damage being taken // Apply more damage based on how cold you are - if(body_temp < 120) + if(body_temp < bodytemp_cold_damage_limit - 15) H.throw_alert("temp", /atom/movable/screen/alert/shiver, 3) - H.apply_damage(COLD_DAMAGE_LEVEL_3 * coldmod * H.physiology.cold_mod, BURN) + if(H.stat != DEAD) // probably can store them in cold storage like this + H.apply_damage(COLD_DAMAGE_LEVEL_3 * coldmod * H.physiology.cold_mod, BURN) + H.emote("shiver") - else if(body_temp < 200) + else if(body_temp < bodytemp_cold_damage_limit - 7) H.throw_alert("temp", /atom/movable/screen/alert/shiver, 2) - H.apply_damage(COLD_DAMAGE_LEVEL_2 * coldmod * H.physiology.cold_mod, BURN) + if(H.stat != DEAD) // when you think about it, being cold wouldnt do skin damaage if there nothing even alive? + H.apply_damage(COLD_DAMAGE_LEVEL_2 * coldmod * H.physiology.cold_mod, BURN) + if(prob(30)) + H.emote("shiver") else H.throw_alert("temp", /atom/movable/screen/alert/shiver, 1) - H.apply_damage(COLD_DAMAGE_LEVEL_1 * coldmod * H.physiology.cold_mod, BURN) + if(H.stat != DEAD) // to prevent a bug where bodies at room tempertue actually take damage from their body being cold + H.apply_damage(COLD_DAMAGE_LEVEL_1 * coldmod * H.physiology.cold_mod, BURN) + if(prob(10)) + H.emote("shiver") // We are not to hot or cold, remove status and moods else @@ -2232,7 +2235,7 @@ GLOBAL_LIST_EMPTY(roundstart_races) firemodifier = min(firemodifier, 0) // this can go below 5 at log 2.5 - burn_damage = max(log(2 - firemodifier, (current_human.bodytemperature - current_human.get_body_temp_normal(apply_change=FALSE))) - 5,0) + burn_damage = max(log(2 - firemodifier, (current_human.bodytemperature - current_human.get_body_temp_normal(apply_change=FALSE))) - 2,0) return burn_damage /// Handle the air pressure of the environment @@ -2289,25 +2292,21 @@ GLOBAL_LIST_EMPTY(roundstart_races) var/body_temp = H.bodytemperature // Get current body temperature var/body_temperature_difference = H.get_body_temp_normal() - body_temp var/natural_change = 0 - - // We are very cold, increate body temperature - if(body_temp <= bodytemp_cold_damage_limit) - natural_change = max((body_temperature_difference * H.metabolism_efficiency / bodytemp_autorecovery_divisor), \ - bodytemp_autorecovery_min) + var/recovery_temp = bodytemp_autorecovery_min + //if in crit, we struggle to regulate temperture. this will make extreme tempertures more dangerous to injured + if (H.stat > SOFT_CRIT) + recovery_temp = recovery_temp / 2 // we are cold, reduce the minimum increment and do not jump over the difference - else if(body_temp > bodytemp_cold_damage_limit && body_temp < H.get_body_temp_normal()) + if(body_temp > bodytemp_cold_damage_limit && body_temp < H.get_body_temp_normal()) natural_change = max(body_temperature_difference * H.metabolism_efficiency / bodytemp_autorecovery_divisor, \ - min(body_temperature_difference, bodytemp_autorecovery_min / 4)) + min(body_temperature_difference, recovery_temp / 4)) // We are hot, reduce the minimum increment and do not jump below the difference else if(body_temp > H.get_body_temp_normal() && body_temp <= bodytemp_heat_damage_limit) natural_change = min(body_temperature_difference * H.metabolism_efficiency / bodytemp_autorecovery_divisor, \ - max(body_temperature_difference, -(bodytemp_autorecovery_min / 4))) + max(body_temperature_difference, -(recovery_temp / 4))) - // We are very hot, reduce the body temperature - else if(body_temp >= bodytemp_heat_damage_limit) - natural_change = min((body_temperature_difference / bodytemp_autorecovery_divisor), -bodytemp_autorecovery_min) var/thermal_protection = H.get_insulation_protection(body_temp + natural_change) if(areatemp > body_temp) // It is hot here @@ -2395,9 +2394,9 @@ GLOBAL_LIST_EMPTY(roundstart_races) if(thermal_protection >= FIRE_IMMUNITY_MAX_TEMP_PROTECT && !no_protection) return if(thermal_protection >= FIRE_SUIT_MAX_TEMP_PROTECT && !no_protection) - H.adjust_bodytemperature(11) + H.adjust_bodytemperature(3) else - H.adjust_bodytemperature(bodytemp_heating_rate_max + (H.fire_stacks * 12)) + H.adjust_bodytemperature(bodytemp_heating_rate_max + (H.fire_stacks * 5)) SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "on_fire", /datum/mood_event/on_fire) /datum/species/proc/CanIgniteMob(mob/living/carbon/human/H) diff --git a/code/modules/mob/living/carbon/human/species_types/ethereal.dm b/code/modules/mob/living/carbon/human/species_types/ethereal.dm index e63622f16328..0d56821e1898 100644 --- a/code/modules/mob/living/carbon/human/species_types/ethereal.dm +++ b/code/modules/mob/living/carbon/human/species_types/ethereal.dm @@ -31,11 +31,12 @@ toxic_food = NONE // Body temperature for ethereals is much higher then humans as they like hotter environments bodytemp_normal = (HUMAN_BODYTEMP_NORMAL + 50) - bodytemp_heat_damage_limit = FIRE_MINIMUM_TEMPERATURE_TO_SPREAD // about 150C + bodytemp_heat_damage_limit = (HUMAN_BODYTEMP_NORMAL + 65) // Cold temperatures hurt faster as it is harder to move with out the heat energy - bodytemp_cold_damage_limit = (T20C - 10) // about 10c + bodytemp_cold_damage_limit = (HUMAN_BODYTEMP_NORMAL - 20) - max_temp_comfortable = HUMAN_BODYTEMP_NORMAL + 100 + min_temp_comfortable = (HUMAN_BODYTEMP_NORMAL - 10) + max_temp_comfortable = HUMAN_BODYTEMP_NORMAL + 55 hair_color = "fixedmutcolor" hair_alpha = 140 diff --git a/code/modules/mob/living/carbon/human/species_types/kepori.dm b/code/modules/mob/living/carbon/human/species_types/kepori.dm index 7033040770c5..501f0b357515 100644 --- a/code/modules/mob/living/carbon/human/species_types/kepori.dm +++ b/code/modules/mob/living/carbon/human/species_types/kepori.dm @@ -21,11 +21,16 @@ // brutemod = 1.5 // burnmod = 1.5 speedmod = -0.10 - bodytemp_normal = HUMAN_BODYTEMP_NORMAL + 30 - bodytemp_heat_damage_limit = HUMAN_BODYTEMP_HEAT_DAMAGE_LIMIT + 30 - bodytemp_cold_damage_limit = HUMAN_BODYTEMP_COLD_DAMAGE_LIMIT + 30 - max_temp_comfortable = HUMAN_BODYTEMP_NORMAL + 40 - min_temp_comfortable = HUMAN_BODYTEMP_NORMAL - 3 + + bodytemp_heat_damage_limit = HUMAN_BODYTEMP_HEAT_DAMAGE_LIMIT + 35 + bodytemp_cold_damage_limit = HUMAN_BODYTEMP_COLD_DAMAGE_LIMIT + 3 + + max_temp_comfortable = HUMAN_BODYTEMP_NORMAL + 15 + min_temp_comfortable = HUMAN_BODYTEMP_NORMAL - 1 + + bodytemp_autorecovery_divisor = HUMAN_BODYTEMP_AUTORECOVERY_DIVISOR - 4 + + mutanttongue = /obj/item/organ/tongue/kepori species_language_holder = /datum/language_holder/kepori var/datum/action/innate/keptackle/keptackle diff --git a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm index 5ee7441e2f54..f3e460aa356f 100644 --- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm @@ -45,12 +45,11 @@ robotic_eyes = /obj/item/organ/eyes/robotic/lizard - // Lizards are coldblooded and can stand a greater temperature range than humans - bodytemp_heat_damage_limit = HUMAN_BODYTEMP_HEAT_DAMAGE_LIMIT + 20 // This puts lizards 10 above lavaland max heat for ash lizards. + // Sarathi are coldblooded and can stand a greater temperature range than humans + bodytemp_heat_damage_limit = HUMAN_BODYTEMP_HEAT_DAMAGE_LIMIT + 30 bodytemp_cold_damage_limit = HUMAN_BODYTEMP_COLD_DAMAGE_LIMIT - 10 - - max_temp_comfortable = HUMAN_BODYTEMP_NORMAL + 25 - min_temp_comfortable = HUMAN_BODYTEMP_NORMAL - 3 + max_temp_comfortable = HUMAN_BODYTEMP_NORMAL + 20 + min_temp_comfortable = HUMAN_BODYTEMP_NORMAL loreblurb = "The Sarathi are a cold-blooded reptilian species originating from the planet Kalixcis, where they evolved alongside the Elzuosa. Kalixcian culture places no importance on blood-bonds, and those from it tend to consider their family anyone they are sufficiently close to, and choose their own names." ass_image = 'icons/ass/asslizard.png' diff --git a/code/modules/mob/living/carbon/human/species_types/mothmen.dm b/code/modules/mob/living/carbon/human/species_types/mothmen.dm index 10375f424e82..e612b3bbe2fc 100644 --- a/code/modules/mob/living/carbon/human/species_types/mothmen.dm +++ b/code/modules/mob/living/carbon/human/species_types/mothmen.dm @@ -30,6 +30,9 @@ species_l_leg = /obj/item/bodypart/leg/left/moth species_r_leg = /obj/item/bodypart/leg/right/moth + min_temp_comfortable = HUMAN_BODYTEMP_NORMAL - 2 + bodytemp_cold_damage_limit = HUMAN_BODYTEMP_COLD_DAMAGE_LIMIT - 2 + /datum/species/moth/regenerate_organs(mob/living/carbon/C, datum/species/old_species,replace_current=TRUE, list/excluded_zones, robotic = FALSE) . = ..() if(ishuman(C)) diff --git a/code/modules/mob/living/carbon/human/species_types/vox.dm b/code/modules/mob/living/carbon/human/species_types/vox.dm index 55e7d27cd120..4f63158cb29f 100644 --- a/code/modules/mob/living/carbon/human/species_types/vox.dm +++ b/code/modules/mob/living/carbon/human/species_types/vox.dm @@ -26,9 +26,12 @@ bodytemp_cold_divisor = VOX_BODYTEMP_COLD_DIVISOR bodytemp_autorecovery_min = VOX_BODYTEMP_AUTORECOVERY_MIN - max_temp_comfortable = HUMAN_BODYTEMP_NORMAL + 20 + max_temp_comfortable = HUMAN_BODYTEMP_NORMAL + 1 min_temp_comfortable = HUMAN_BODYTEMP_NORMAL - 20 + bodytemp_heat_damage_limit = HUMAN_BODYTEMP_HEAT_DAMAGE_LIMIT + 10 + bodytemp_cold_damage_limit = HUMAN_BODYTEMP_COLD_DAMAGE_LIMIT - 20 + bodytype = BODYTYPE_VOX custom_overlay_icon = 'icons/mob/species/vox/vox_overlays.dmi' diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm index 1cd33614c964..8d184d74b43f 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm @@ -44,10 +44,10 @@ damage_type = BURN nodamage = TRUE flag = "energy" - temperature = -50 // Cools you down! per hit! + temperature = -5 // Cools you down! per hit! /obj/projectile/temp/basilisk/super - temperature = -100 + temperature = -20 damage = 5 nodamage = FALSE diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/brimdemon.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/brimdemon.dm index 769f6ce3d5fa..6495b967fb88 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/brimdemon.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/brimdemon.dm @@ -242,7 +242,7 @@ /datum/reagent/brimdust/on_mob_life(mob/living/carbon/carbon, delta_time, times_fired) . = ..() carbon.adjustFireLoss((ispodperson(carbon) ? -1 : 1) * delta_time) - carbon.adjust_bodytemperature(55 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, carbon.get_body_temp_normal()) + carbon.adjust_bodytemperature(5 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, carbon.get_body_temp_normal()) /datum/reagent/brimdust/on_hydroponics_apply(obj/item/seeds/myseed, datum/reagents/chems, obj/machinery/hydroponics/mytray) . = ..() diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice_demon.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice_demon.dm index 2edf7322708e..89f1848a3023 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice_demon.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/ice_demon.dm @@ -45,7 +45,7 @@ name = "ice blast" damage = 5 nodamage = FALSE - temperature = -75 + temperature = -2 // [CELADON-EDIT] - CELADON_BALANCE_MOBS // /mob/living/simple_animal/hostile/asteroid/ice_demon/OpenFire() diff --git a/code/modules/projectiles/projectile/energy/misc.dm b/code/modules/projectiles/projectile/energy/misc.dm index c9e113455387..e7b689cce2d5 100644 --- a/code/modules/projectiles/projectile/energy/misc.dm +++ b/code/modules/projectiles/projectile/energy/misc.dm @@ -33,7 +33,7 @@ icon_state = "blastwave" color = "#00ff00" hitsound = 'sound/weapons/sear.ogg' - var/heatpwr = 350 + var/heatpwr = 6 /obj/projectile/energy/plasmabolt/on_hit(atom/target, blocked = FALSE) . = ..() @@ -56,4 +56,4 @@ icon_state = "blastwave" color = "#00ff00" hitsound = 'sound/weapons/sear.ogg' - heatpwr = 700 + heatpwr = 11 diff --git a/code/modules/projectiles/projectile/special/temperature.dm b/code/modules/projectiles/projectile/special/temperature.dm index 53a4bb62b9e1..65b7ad1d4dd7 100644 --- a/code/modules/projectiles/projectile/special/temperature.dm +++ b/code/modules/projectiles/projectile/special/temperature.dm @@ -5,7 +5,7 @@ damage_type = BURN nodamage = FALSE flag = "energy" - var/temperature = -50 // reduce the body temperature by 50 points + var/temperature = -5 // reduce the body temperature by 5c /obj/projectile/temp/on_hit(atom/target, blocked = 0) . = ..() @@ -29,12 +29,12 @@ /obj/projectile/temp/hot name = "heat beam" - temperature = 100 // Raise the body temp by 100 points + temperature = 10 // Raise the body temp by 10c /obj/projectile/temp/cryo name = "cryo beam" range = 3 - temperature = -240 // Single slow shot reduces temp greatly + temperature = -20 // Single slow shot reduces temp greatly /obj/projectile/temp/cryo/on_range() var/turf/T = get_turf(src) diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index ad27b15207a8..b4319025e484 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -218,7 +218,7 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/vimukti/on_mob_life(mob/living/carbon/M) M.drowsyness = max(0,M.drowsyness-7) M.AdjustSleeping(-40) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) if(!HAS_TRAIT(M, TRAIT_ALCOHOL_TOLERANCE)) M.Jitter(5) return ..() @@ -655,7 +655,7 @@ All effects don't start immediately, but rather get worse over time; the rate is shot_glass_icon_state = "toxinsspecialglass" /datum/reagent/consumable/ethanol/toxins_special/on_mob_life(mob/living/M) - M.adjust_bodytemperature(15 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal() + 20) //310.15 is the normal bodytemp. + M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal() + 20) //310.15 is the normal bodytemp. return ..() /datum/reagent/consumable/ethanol/beepsky_smash @@ -846,7 +846,7 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_desc = "Vodka, cream, and ice. No actual antifreeze included, of course." /datum/reagent/consumable/ethanol/antifreeze/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(20 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal() + 20) //310.15 is the normal bodytemp. + M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal() + 20) //310.15 is the normal bodytemp. return ..() /datum/reagent/consumable/ethanol/barefoot @@ -959,7 +959,7 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_desc = "Vodka with capsaicin for the extra feeling of intense warmth. Difficult to take large swallows." /datum/reagent/consumable/ethanol/sbiten/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(50 * TEMPERATURE_DAMAGE_COEFFICIENT, 0 , M.dna.species.bodytemp_heat_damage_limit) //310.15 is the normal bodytemp. + M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0 , M.dna.species.bodytemp_heat_damage_limit) //310.15 is the normal bodytemp. return ..() /datum/reagent/consumable/ethanol/red_mead @@ -996,7 +996,7 @@ All effects don't start immediately, but rather get worse over time; the rate is glass_desc = "Iced beer, served in a chilled glass. It's cold enough to leave a trail in the air." /datum/reagent/consumable/ethanol/iced_beer/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(-20 * TEMPERATURE_DAMAGE_COEFFICIENT, T0C) //310.15 is the normal bodytemp. + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, T0C) //310.15 is the normal bodytemp. return ..() /datum/reagent/consumable/ethanol/grog @@ -1625,7 +1625,7 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/peppermint_patty/on_mob_life(mob/living/carbon/M) M.apply_status_effect(/datum/status_effect/throat_soothed) - M.adjust_bodytemperature(5 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) + M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) ..() /datum/reagent/consumable/ethanol/alexander @@ -1809,7 +1809,7 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/branca_menta/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(-20 * TEMPERATURE_DAMAGE_COEFFICIENT, T0C) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, T0C) return ..() /datum/reagent/consumable/ethanol/branca_menta/on_mob_metabolize(mob/living/M) @@ -2121,7 +2121,7 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/mauna_loa/on_mob_life(mob/living/carbon/M) // Heats the user up while the reagent is in the body. Occasionally makes you burst into flames. - M.adjust_bodytemperature(25 * TEMPERATURE_DAMAGE_COEFFICIENT) + M.adjust_bodytemperature(2 * TEMPERATURE_DAMAGE_COEFFICIENT) if (prob(5)) M.adjust_fire_stacks(1) M.IgniteMob() diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index bb6bafc9e74c..281b15d2e6b5 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -257,7 +257,7 @@ M.drowsyness = max(0,M.drowsyness-3) M.AdjustSleeping(-40) //310.15 is the normal bodytemp. - M.adjust_bodytemperature(25 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) + M.adjust_bodytemperature(3 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) if(holder.has_reagent(/datum/reagent/consumable/frostoil)) holder.remove_reagent(/datum/reagent/consumable/frostoil, 5) ..() @@ -280,7 +280,7 @@ M.AdjustSleeping(-20) if(M.getToxLoss() && prob(20)) M.adjustToxLoss(-1, 0) - M.adjust_bodytemperature(20 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) + M.adjust_bodytemperature(2 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) ..() . = 1 @@ -330,7 +330,7 @@ M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) M.AdjustSleeping(-40) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() . = 1 @@ -354,7 +354,7 @@ M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) M.AdjustSleeping(-60) - M.adjust_bodytemperature(-20 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) M.adjustToxLoss(1*REM, 0) ..() . = TRUE @@ -375,7 +375,7 @@ M.AdjustSleeping(-40) if(M.getToxLoss() && prob(20)) M.adjustToxLoss(-1, 0) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() . = 1 @@ -390,7 +390,7 @@ /datum/reagent/consumable/space_cola/on_mob_life(mob/living/carbon/M) M.drowsyness = max(0,M.drowsyness-5) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() /datum/reagent/consumable/crosstalk @@ -416,7 +416,7 @@ M.dizziness +=1 M.drowsyness = 0 M.AdjustSleeping(-40) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() /datum/reagent/consumable/comet_trail @@ -431,7 +431,7 @@ /datum/reagent/consumable/comet_trail/on_mob_life(mob/living/carbon/M) M.drowsyness = max(0,M.drowsyness-7) M.AdjustSleeping(-20) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) M.Jitter(5) ..() . = 1 @@ -447,7 +447,7 @@ /datum/reagent/consumable/tadrixx/on_mob_life(mob/living/carbon/M) M.drowsyness = max(0,M.drowsyness-6) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() /datum/reagent/consumable/space_up @@ -461,7 +461,7 @@ /datum/reagent/consumable/space_up/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(-8 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() /datum/reagent/consumable/molten @@ -476,9 +476,9 @@ /datum/reagent/consumable/molten/on_mob_life(mob/living/carbon/M) M.heal_bodypart_damage(1,1,0) if(M.bodytemperature > M.get_body_temp_normal(apply_change=FALSE)) - M.adjust_bodytemperature(-10 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(apply_change=FALSE)) + M.adjust_bodytemperature(-2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(apply_change=FALSE)) else if(M.bodytemperature < (M.get_body_temp_normal(apply_change=FALSE) + 1)) - M.adjust_bodytemperature(10 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal(apply_change=FALSE)) + M.adjust_bodytemperature(2 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal(apply_change=FALSE)) ..() /datum/reagent/consumable/molten/plasma_fizz @@ -509,7 +509,7 @@ /datum/reagent/consumable/lemon_lime/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(-8 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() @@ -530,7 +530,7 @@ You feel as though a great secret of the universe has been made known to you...") /datum/reagent/consumable/pacfuel/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(-8 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) if(prob(10)) M?.mind.adjust_experience(/datum/skill/gaming, 5) ..() @@ -545,7 +545,7 @@ glass_desc = "It's hard to imagine all those fruits getting condensed into a cup like this." /datum/reagent/consumable/shoal_punch/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(-8 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() /datum/reagent/consumable/sodawater name = "Soda Water" @@ -559,7 +559,7 @@ /datum/reagent/consumable/sodawater/on_mob_life(mob/living/carbon/M) M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() /datum/reagent/consumable/tonic @@ -575,7 +575,7 @@ M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) M.AdjustSleeping(-40) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() . = 1 @@ -594,7 +594,7 @@ M.dizziness +=1 M.drowsyness = 0 M.AdjustSleeping(-40) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() /datum/reagent/consumable/xeno_energy/on_mob_metabolize(mob/living/L) @@ -617,7 +617,7 @@ glass_desc = "Generally, you're supposed to put something else in there, too..." /datum/reagent/consumable/ice/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() /datum/reagent/consumable/soy_latte @@ -639,7 +639,7 @@ M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) M.SetSleeping(0) - M.adjust_bodytemperature(5 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) + M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) if(M.getBruteLoss() && prob(20)) M.heal_bodypart_damage(1,0, 0) ..() @@ -664,7 +664,7 @@ M.dizziness = max(0,M.dizziness-5) M.drowsyness = max(0,M.drowsyness-3) M.SetSleeping(0) - M.adjust_bodytemperature(5 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) + M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) if(M.getBruteLoss() && prob(20)) M.heal_bodypart_damage(1,0, 0) ..() @@ -788,7 +788,7 @@ glass_desc = "It's grape soda!" /datum/reagent/consumable/grape_soda/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() /datum/reagent/consumable/milk/chocolate_milk @@ -817,7 +817,7 @@ glass_desc = "A favorite winter drink from the Solar Confederation. Good for warming yourself up." /datum/reagent/consumable/hot_coco/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(5 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) + M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) ..() /datum/reagent/consumable/hot_coco/on_mob_life(mob/living/carbon/M) @@ -884,7 +884,7 @@ glass_desc = "A classic vanilla flavored soft drink." /datum/reagent/consumable/cream_soda/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-1 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) ..() /datum/reagent/consumable/sol_dry diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 82bda376fc3c..8b06736dbce2 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -223,24 +223,24 @@ if(holder.has_reagent(/datum/reagent/consumable/capsaicin)) holder.remove_reagent(/datum/reagent/consumable/capsaicin, 5) if(isslime(M)) - cooling = -rand(5,20) + cooling = -rand(1,2) if(15 to 25) cooling = -20 * TEMPERATURE_DAMAGE_COEFFICIENT if(isslime(M)) - cooling = -rand(10,20) + cooling = -rand(2,4) if(25 to 35) cooling = -30 * TEMPERATURE_DAMAGE_COEFFICIENT if(prob(1)) M.emote("shiver") if(isslime(M)) - cooling = -rand(15,20) + cooling = -rand(4,8) if(35 to INFINITY) cooling = -40 * TEMPERATURE_DAMAGE_COEFFICIENT if(prob(5)) M.emote("shiver") if(isslime(M)) - cooling = -rand(20,25) - M.adjust_bodytemperature(cooling, 50) + cooling = -rand(8,10) + M.adjust_bodytemperature(cooling, 10) ..() /datum/reagent/consumable/frostoil/expose_turf(turf/T, reac_volume) @@ -428,7 +428,7 @@ taste_description = "your imprisonment" /datum/reagent/consumable/hot_ramen/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(10 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) + M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) ..() /datum/reagent/consumable/hell_ramen @@ -439,7 +439,7 @@ taste_description = "wet and cheap noodles on fire" /datum/reagent/consumable/hell_ramen/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(10 * TEMPERATURE_DAMAGE_COEFFICIENT) + M.adjust_bodytemperature(1 * TEMPERATURE_DAMAGE_COEFFICIENT) ..() /datum/reagent/consumable/flour @@ -776,7 +776,7 @@ ..() /datum/reagent/consumable/pyre_elementum/on_mob_life(mob/living/carbon/M) - M.adjust_bodytemperature(20 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) // Doesn't kill you like capsaicin + M.adjust_bodytemperature(2 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal()) // Doesn't kill you like capsaicin if(!ingested) // Unless you didn't eat it M.adjustFireLoss(0.25*REM, 0) ..() diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 052c5c594c34..8abff5ad5448 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -22,9 +22,9 @@ /datum/reagent/medicine/leporazine/on_mob_life(mob/living/carbon/M) if(M.bodytemperature > M.get_body_temp_normal(apply_change=FALSE)) - M.adjust_bodytemperature(-40 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(apply_change=FALSE)) + M.adjust_bodytemperature(-4 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal(apply_change=FALSE)) else if(M.bodytemperature < (M.get_body_temp_normal(apply_change=FALSE) + 1)) - M.adjust_bodytemperature(40 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal(apply_change=FALSE)) + M.adjust_bodytemperature(4 * TEMPERATURE_DAMAGE_COEFFICIENT, 0, M.get_body_temp_normal(apply_change=FALSE)) ..() /datum/reagent/medicine/adminordrazine //An OP chemical for admins @@ -1857,7 +1857,7 @@ /datum/reagent/medicine/rhigoxane/on_mob_life(mob/living/carbon/M) M.adjustFireLoss(-2*REM, 0.) - M.adjust_bodytemperature(-20 * TEMPERATURE_DAMAGE_COEFFICIENT, M.dna.species.bodytemp_normal) + M.adjust_bodytemperature(-0.2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.dna.species.bodytemp_normal) ..() . = 1 @@ -1865,7 +1865,7 @@ if(method != VAPOR) return - M.adjust_bodytemperature(-reac_volume * TEMPERATURE_DAMAGE_COEFFICIENT * 20, 200) + M.adjust_bodytemperature(-reac_volume * TEMPERATURE_DAMAGE_COEFFICIENT * 0.5, 200) M.adjust_fire_stacks(-reac_volume / 2) if(reac_volume >= metabolization_rate) M.ExtinguishMob() @@ -1874,7 +1874,7 @@ /datum/reagent/medicine/rhigoxane/overdose_process(mob/living/carbon/M) M.adjustFireLoss(3*REM, 0.) - M.adjust_bodytemperature(-35 * TEMPERATURE_DAMAGE_COEFFICIENT, 50) + M.adjust_bodytemperature(-5 * TEMPERATURE_DAMAGE_COEFFICIENT, 50) ..() diff --git a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm index 14ded3b571f9..792831c37fd8 100644 --- a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm @@ -230,7 +230,7 @@ /datum/reagent/cryostylane/on_mob_life(mob/living/carbon/M) //TODO: code freezing into an ice cube if(M.reagents.has_reagent(/datum/reagent/oxygen)) M.reagents.remove_reagent(/datum/reagent/oxygen, 0.5) - M.adjust_bodytemperature(-15) + M.adjust_bodytemperature(-5) ..() /datum/reagent/cryostylane/expose_turf(turf/T, reac_volume) @@ -251,7 +251,7 @@ /datum/reagent/pyrosium/on_mob_life(mob/living/carbon/M) if(M.reagents.has_reagent(/datum/reagent/oxygen)) M.reagents.remove_reagent(/datum/reagent/oxygen, 0.5) - M.adjust_bodytemperature(15) + M.adjust_bodytemperature(5) ..() /datum/reagent/teslium //Teslium. Causes periodic shocks, and makes shocks against the target much more effective. diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index 6045779f6030..e1553a6dffcf 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -132,7 +132,7 @@ if(holder.has_reagent(/datum/reagent/medicine/epinephrine)) holder.remove_reagent(/datum/reagent/medicine/epinephrine, 2*REM) M.adjustPlasma(20) - M.adjust_bodytemperature(-7 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) + M.adjust_bodytemperature(-2 * TEMPERATURE_DAMAGE_COEFFICIENT, M.get_body_temp_normal()) return ..() /datum/reagent/toxin/lexorin diff --git a/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm b/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm index 434082d2f0ae..380c049adcb0 100644 --- a/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm @@ -62,7 +62,7 @@ paralyze_dur = reac_volume else paralyze_dur = 50 + ((reac_volume - 50) / 4) - M.adjust_bodytemperature((-20*reac_volume) * TEMPERATURE_DAMAGE_COEFFICIENT, 50) + M.adjust_bodytemperature((-1*reac_volume) * TEMPERATURE_DAMAGE_COEFFICIENT, 50) M.Paralyze(paralyze_dur) walk(M, 0) //stops them mid pathing even if they're stunimmunee M.apply_status_effect(/datum/status_effect/ice_block_talisman, paralyze_dur) diff --git a/code/modules/surgery/organs/lungs.dm b/code/modules/surgery/organs/lungs.dm index 1d6af8cec16c..600fd747f666 100644 --- a/code/modules/surgery/organs/lungs.dm +++ b/code/modules/surgery/organs/lungs.dm @@ -53,18 +53,22 @@ var/gas_stimulation_min = 0.002 //Nitryl, Stimulum and Freon var/cold_message = "your face freezing and an icicle forming" - var/cold_level_1_threshold = 260 - var/cold_level_2_threshold = 200 - var/cold_level_3_threshold = 120 + var/chilly_message = "chilly air" + var/chlly_threshold = T20C-7 + var/cold_level_1_threshold = 240 + var/cold_level_2_threshold = 220 + var/cold_level_3_threshold = 200 var/cold_level_1_damage = COLD_GAS_DAMAGE_LEVEL_1 //Keep in mind with gas damage levels, you can set these to be negative, if you want someone to heal, instead. var/cold_level_2_damage = COLD_GAS_DAMAGE_LEVEL_2 var/cold_level_3_damage = COLD_GAS_DAMAGE_LEVEL_3 var/cold_damage_type = BURN var/hot_message = "your face burning and a searing heat" - var/heat_level_1_threshold = 360 - var/heat_level_2_threshold = 400 - var/heat_level_3_threshold = 1000 + var/warm_message = "warm air" + var/warm_threshold = T20C+10 + var/heat_level_1_threshold = 316 + var/heat_level_2_threshold = 323 + var/heat_level_3_threshold = 343 var/heat_level_1_damage = HEAT_GAS_DAMAGE_LEVEL_1 var/heat_level_2_damage = HEAT_GAS_DAMAGE_LEVEL_2 var/heat_level_3_damage = HEAT_GAS_DAMAGE_LEVEL_3 @@ -216,6 +220,8 @@ H.reagents.add_reagent(R, breath.get_moles(gas) * 2) // 2 represents molarity of O2, we don't have citadel molarity mole_adjustments[gas] = (gas in mole_adjustments) ? mole_adjustments[gas] - breath.get_moles(gas) : -breath.get_moles(gas) + handle_smell(breath, H) + for(var/gas in mole_adjustments) breath.adjust_moles(gas, mole_adjustments[gas]) @@ -302,6 +308,8 @@ if (gas_breathed > gas_stimulation_min) H.reagents.add_reagent(/datum/reagent/hydrogen_chloride) + breath.adjust_moles(GAS_HYDROGEN_CHLORIDE, -gas_breathed) + // Carbon Monoxide var/carbon_monoxide_pp = PP(breath,GAS_CO) if (carbon_monoxide_pp > gas_stimulation_min) @@ -331,6 +339,7 @@ if(monoxide_reagent) monoxide_reagent.accumulation = min(monoxide_reagent.accumulation, 150) monoxide_reagent.metabolization_rate = 10 //purges 10 per tick + breath.adjust_moles(GAS_CO, -gas_breathed) // Sulfur Dioxide var/sulfur_dioxide_pp = PP(breath,GAS_SO2) @@ -348,6 +357,8 @@ if (gas_breathed > gas_stimulation_min) H.reagents.add_reagent(/datum/reagent/sulfur_dioxide,1) + breath.adjust_moles(GAS_SO2, -gas_breathed) + // Ozone var/ozone_pp = PP(breath,GAS_O3) if (prob(ozone_pp)) @@ -362,6 +373,8 @@ if (gas_breathed > gas_stimulation_min) H.reagents.add_reagent(/datum/reagent/ozone,1) + breath.adjust_moles(GAS_O3, -gas_breathed) + // Ammonia var/ammonia_pp = PP(breath,GAS_AMMONIA) if (prob(ammonia_pp)*2) @@ -383,7 +396,7 @@ //ammonia is actually disposed of naturally by humans, but extremely poorly by non mammals, maybe we can make it toxic ONLY to certain species (plural) sometime? H.reagents.add_reagent(/datum/reagent/ammonia,1) - handle_smell(breath, H) + breath.adjust_moles(GAS_AMMONIA, -gas_breathed) ///handles the smell a few gases have /obj/item/organ/lungs/proc/handle_smell(datum/gas_mixture/breath, mob/living/carbon/human/H) @@ -443,35 +456,115 @@ H.failed_last_breath = TRUE -/obj/item/organ/lungs/proc/handle_breath_temperature(datum/gas_mixture/breath, mob/living/carbon/human/H) // called by human/life, handles temperatures +/obj/item/organ/lungs/proc/handle_breath_temperature(datum/gas_mixture/breath, mob/living/carbon/human/breather) // called by human/life, handles temperatures + if(!breath) + return var/breath_temperature = breath.return_temperature() - if(!HAS_TRAIT(H, TRAIT_RESISTCOLD)) // COLD DAMAGE - var/cold_modifier = H.dna.species.coldmod + if(!HAS_TRAIT(breather, TRAIT_RESISTCOLD)) // COLD DAMAGE + var/cold_modifier = breather.dna.species.coldmod + var/breath_effect_prob = 0 + var/part_count = 0 if(breath_temperature < cold_level_3_threshold) - H.apply_damage_type(cold_level_3_damage*cold_modifier, cold_damage_type) + breather.apply_damage(cold_level_3_damage * cold_modifier, cold_damage_type, spread_damage = TRUE) + breath_effect_prob = 100 + part_count = 8 if(breath_temperature > cold_level_3_threshold && breath_temperature < cold_level_2_threshold) - H.apply_damage_type(cold_level_2_damage*cold_modifier, cold_damage_type) + breather.apply_damage(cold_level_2_damage * cold_modifier, cold_damage_type, spread_damage = TRUE) + breath_effect_prob = 75 + part_count = 5 if(breath_temperature > cold_level_2_threshold && breath_temperature < cold_level_1_threshold) - H.apply_damage_type(cold_level_1_damage*cold_modifier, cold_damage_type) - if(breath_temperature < cold_level_1_threshold) - if(prob(20)) - to_chat(H, "You feel [cold_message] in your [name]!") + breather.apply_damage(cold_level_1_damage * cold_modifier, cold_damage_type, spread_damage = TRUE) + breath_effect_prob = 50 + part_count = 3 + if(breath_temperature > cold_level_1_threshold) + breath_effect_prob = 25 + part_count = 2 - if(!HAS_TRAIT(H, TRAIT_RESISTHEAT)) // HEAT DAMAGE - var/heat_modifier = H.dna.species.heatmod + if(breath_temperature < cold_level_1_threshold) + if(prob(sqrt(breath_effect_prob) * 6)) + to_chat(breather, "You feel [cold_message] in your [name]!") + else if(breath_temperature < chlly_threshold) + if(!breath_effect_prob) + breath_effect_prob = 20 + part_count = 1 + if(prob(sqrt(breath_effect_prob) * 6)) + to_chat(breather, "You feel [chilly_message] in your [name].") + if(breath_temperature < chlly_threshold) + if(breath_effect_prob) + // Breathing into your mask, no particle. We can add fogged up glasses later + if(breather.is_mouth_covered()) + return + // Even though breathing via internals TECHNICALLY exhales into the environment, we'll still block it + if(breather.internal) + return + emit_breath_particle(breather, /particles/fog/breath, part_count) + + if(!HAS_TRAIT(breather, TRAIT_RESISTHEAT)) // HEAT DAMAGE + var/heat_modifier = breather.dna.species.heatmod + var/heat_message_prob = 0 if(breath_temperature > heat_level_1_threshold && breath_temperature < heat_level_2_threshold) - H.apply_damage_type(heat_level_1_damage*heat_modifier, heat_damage_type) + breather.apply_damage(heat_level_1_damage * heat_modifier, heat_damage_type, spread_damage = TRUE) + heat_message_prob = 100 if(breath_temperature > heat_level_2_threshold && breath_temperature < heat_level_3_threshold) - H.apply_damage_type(heat_level_2_damage*heat_modifier, heat_damage_type) + breather.apply_damage(heat_level_2_damage * heat_modifier, heat_damage_type, spread_damage = TRUE) + heat_message_prob = 75 if(breath_temperature > heat_level_3_threshold) - H.apply_damage_type(heat_level_3_damage*heat_modifier, heat_damage_type) + breather.apply_damage(heat_level_3_damage * heat_modifier, heat_damage_type, spread_damage = TRUE) + heat_message_prob = 50 if(breath_temperature > heat_level_1_threshold) - if(prob(20)) - to_chat(H, "You feel [hot_message] in your [name]!") + heat_message_prob = 25 + + if(breath_temperature > heat_level_1_threshold) + if(prob(sqrt(heat_message_prob) * 6)) + to_chat(breather, "You feel [hot_message] in your [name]!") + else if(breath_temperature > warm_threshold) + if(!heat_message_prob) + heat_message_prob = 20 + if(prob(sqrt(heat_message_prob) * 6)) + to_chat(breather, "You feel [warm_message] in your [name].") + + // The air you breathe out should match your body temperature - breath.set_temperature(H.bodytemperature) + breath.set_temperature(breather.bodytemperature) + +/// Creates a particle effect off the mouth of the passed mob. +/obj/item/organ/lungs/proc/emit_breath_particle(mob/living/carbon/human/breather, particle_type, part_count) + ASSERT(ispath(particle_type, /particles)) + + var/obj/effect/abstract/particle_holder/holder = new(breather, particle_type) + var/particles/breath_particle = holder.particles + var/breath_dir = breather.dir + + var/list/particle_grav = list(0, 0.1, 0) + var/list/particle_pos = list(0, 10, 0) + if(breath_dir & NORTH) + particle_grav[2] = 0.2 + breath_particle.rotation = pick(-45, 45) + // Layer it behind the mob since we're facing away from the camera + holder.pixel_w -= 4 + holder.pixel_y += 4 + if(breath_dir & WEST) + particle_grav[1] = -0.2 + particle_pos[1] = -5 + breath_particle.rotation = -45 + if(breath_dir & EAST) + particle_grav[1] = 0.2 + particle_pos[1] = 5 + breath_particle.rotation = 45 + if(breath_dir & SOUTH) + particle_grav[2] = 0.2 + breath_particle.rotation = pick(-45, 45) + // Shouldn't be necessary but just for parity + holder.pixel_w += 4 + holder.pixel_y -= 4 + + breath_particle.gravity = particle_grav + breath_particle.position = particle_pos + breath_particle.count = part_count + + QDEL_IN(holder, breath_particle.lifespan) /obj/item/organ/lungs/on_life() . = ..() diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index 3ec636e41b5f..4c69dd532a89 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -288,14 +288,14 @@ cooldown = COOLDOWN_DAMAGE for(var/V in listeners) var/mob/living/L = V - L.adjust_bodytemperature(50 * power_multiplier) + L.adjust_bodytemperature(5 * power_multiplier) //COLD else if((findtext(message, cold_words))) cooldown = COOLDOWN_DAMAGE for(var/V in listeners) var/mob/living/L = V - L.adjust_bodytemperature(-50 * power_multiplier) + L.adjust_bodytemperature(-5 * power_multiplier) //REPULSE else if((findtext(message, repulse_words))) diff --git a/icons/effects/particles/smoke.dmi b/icons/effects/particles/smoke.dmi index 4a3239499b965b8b35f854eb90d216983f5e78f2..99123beeb59a98ff228d7857a35e2cc07c803d11 100644 GIT binary patch literal 1274 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
      H}HtjwyA;$r`xaJ0zaO&x; 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 ZJo#VB9oPzay9CyK8YP?rtHu`TgJf zu6tKLkVC-LRtoM;+dOkMn?WS*+33=hS^DxVb$c=C&u10%fC9|Yoj&j zuN#xi68KK8pZ|Jv@R4uMon%dBP3mS!R%8y2@2DmtZGUnv!I7Xql(&zeG8<#lKo=oe z)U3vlD`*%dr`gGmkAK3i=`1V;Oj(JW^}9T>)>H+;D+vd*xCuk3W9ibGQ+{Qmjf{6L zoxKOWcV$Xg!18z#6S2ihbF>@iA2aYX|BiM}zS{aBQJq4zG>Ljnm*^ch{tzU+Sg-na zxYS3BLsR*d*-X)NhmH-0*D5q|4Ji(}@%9vaW%8{jNCM+(C`jVL#%yX7i0<}gzvwm; z5TkyTl=E_!E$|~dtsZ!L?F^Tt*NUr(JVxGNwNUzx_}Pg45Pd(p_?k+V0cSZ&SL`w2tAi3!tK4xLg3N7w?k z*!d23sFjW{sFml?f=;B5K)K@SkA&Bp&whk0Zbby%o<(IW3O|+BExugzkj_3IXrlyx zZg)SrH?=%<{3cLxvr`zsVu)LK`|;IUw(YM;Rl$lFb@Zs+(^HQa?wBMGgm5S2&Vci4 z^66}r=BE$~w8h!4Xp57_<}T_IULRkrgWe+3`u{<4s>D-`C1v2V1OU0BGO?&}g@wWK zyDf9eTb*e=a9y9_m|QvSEzT0Gyq)eI)DXiD8$X(92ei2+o-nuGkVmrIEbImbmw89fUmQ}ccr?~z z)+Z3CATRi#wW|E`Gk_|xVD}S8PC=BrnQOw~K&rNr<4Z&=J~8$8$%KS3rn?EOTj&G$ z;JwL3V8`Y$e@N6%9}dZ>{WTqz`sP`DC8RqEilVn)il4fJ&*eAxwwgK&CyXzitB=n%?cW0bkoP4GgMvW_ z2yYOSW3w9eDZRM>MX@`enmKMzHQTmBYn?I3)%Q)V!eV3{S;bQ+^FVRVHIxUGyMlauV(g&p>_d6KSlkJ|$Dl5y|B~^?Dr$c32r8 zf=+usiwfI~gRMqiA)KtWkuBwb37sS+?A=8co;j!Tw)t8!0`PA@NYfQUUFcp&Imoj^ zmZ1}&V||`PHc}hFzS+*k=B@4)kx>_;al~Nm<|^gZ?Iv9#L9nYtPcb+qn(8NxA8#xwf#8J?(eQT7~Tu2eb3N@% zy>w0*N-lEaW)U*#!2t5?M38O$AqCmLvfB&qFPgOC*ucg}gandf9rZ+K_KmOKC;j{j z4i}a|vK2s*d?+W|b%;BvKQSpFg+Gw}H-V@``$t#B6G zE&Sq>XrLK%HVbCFkHFpyDPmE+dpn4z6XWtQ>Kyp^Q+>Yn27GDa_7~}C;d2+deuUae ze^(LpPgwZtliiT6jKFU)ZH3olCYvN4z49?aPH%vraL$X*6Jg*+KB&2kmiw|dwevvB z2P=%9oKBB&r#6DIkB=`e%L#s41DR29T39NHsP7j5YQN%0o#xHU$9 z&j35<43SuUdF^E9_q1=54rx0G71Aw`U7;?&Pgw2BR~BFmpFC4VF-7pHSL7x(0<`>3$WXk{J16>lBRJCzmo8Q?xOf zp0|Mqb*&}6hqgSoNWfbB6ZD_?6iH3=hyVgH-!FK;aafq>?nU0(72k>hx1VB^se$(E zqGKx07M^3s!wx26FRQ;P$=`h!=gyV!JJtCF&uxtEj z&kNcpV(KWU0eNo2GPp={5%uYPSGp>@$df)o*6RvKGu)q&C?`Vb&Df<8x=^I=_`p64 zxqax1O)JtG=ifz~ow5*F^b1v#oL?AeCLb|s-o$g9kd*RDg2Bb~=`nu2xhqsi-gjfq z8{g@@#&&zG$W_%D|L(b%wfahuPBtw#D9MsdBR^36X*>1_LBT~lS_*u6Pb*baMe>&)QS*hv zE{K}XZ}@@LVi{y!iB&G%rCm+WBHfQy7Y#xsA?qp8`GMl|r_GbsZiPfd9z*V$^_J;?Gh{n4-A~`gC zL@zfTu?mU+^;F3fm58B1UNWZr67FFs+5r{1e2FYNbr43{IRf{! zKgj`mz$1^|wsr5@fUrBTrWw#;gdtVO(MpWUlv1!V#-Y7W+$_VxjZNP{#Z}=rB9J(P zW?_}_a_BZ(eia5c`GM9pZF~^UH699fA(=K;cDC%eqpUUwBsH21`71Rc z+gF6rdIV{Fl6j=L&j+QYI|vOiQ{Zy1z_`E>F&piS0;%K~RH_gqHo%yzG*(t_)H86h z{|t%igdw2ij2pyslrmh?N%h%5h!s*h$Elsuhel?H4F%0Uh`|$V`A=L$;fg|Qe zHJYgslpIZH5I``F>br}Q^a*{@PSUXf^#h|sq@0gDoHAZ0?fJ4v zwUJG1F^GH7An?`%m9B^7R@jT&qhjF%%hz&k$ccliKYVbB$U8fW1N2w=F&#d6PW>an*p@L_nyyu&bJQC zzSWdp{!2-Z?MP25j+Z8d7m#X3P8Um&4HdpOGCjtX==z3BbA5deL!8LMV{^j)p}VP! z`K8P^5Zn`?ZK5m9L;cQ=**vfG8(lip<*2;0;sHLhC~q;_zeo@lmWT{GIEUP|+}xbL zo6*9PThz8 zK5lLxZj_#c2;2^N#}%Wc3UPU?r`MAuCITA;7^2uknQy0!I>wj^v$CU+iwDHA4hqeg zG%NSMYE`>vSU5R1D4>FVVC-2~G^htx1XV58PtHs$B3;o%b|~=^3DuFv-XqRJVA##S7tFUv2@{}d{oIa_8 zQo(v1IcQg`%M9Csyg^zYsrfqY3T5|VtJgnZ-+ZA`Ut8Nt63~Z~i^SnpzUkn^~S?zzvKHC;H*-g$vnp>-Rl$Pjv^b5SSOj;EU6qH^=a@~69XFEphwkkc{ z?_qb!VDqXcd`0e$1KGztx(RoA*oc~?9O*_(h>&8F@8aR%e1#l2FynU_^|JL{_a3A9f4}bje zf%?(G(>G{&UN?p2{?MTNjotFJHH5&wZ*uCTVk&E)007+x-b@~U^Uj+9jzt^~>!;cz zVxhh{_hIhLhbi+SVpn05{Pc2PSY2!QC0uLmeYs&voZR4F{1UHvc!ao=sNC8v^+vg!9H;@ji^m0++%|tZ5*BO?hp}uH$lLh!M%{i>=lzx1XwZM$Jcg{{Z6h zC*j75^L=UU-LU&Is!r*Cy<+;#e8QIvHc`pqtF}uvutrGeJZkBodI3~=7ZSpzTftWT zB-4K`sf#k&4KD*g^;?rh1RUtrlkKn{v``eli7DC5S1i3wb%rMrQ@W(UG=sU7!$P0b zSxS)3KJx*giGvO^NChJl-}DwE$IS8w4eL9>2f7bPw(Ob?WtvGsbM@z;96QR)qXBtw zn#YG&5i$Ridv!LCq$6R70_(<15SO6U1=@L_m9ls_AK9;VhTy$vKDM*EUK9bK z=obyf-F1(4)G*|~+K52QrKAuhl1k{%q6(T5#0BJ0j^CRVuOnQ=Z0ZaqXhO#3DB%>|L|goXmsw(X{ndzh{Q(c4 zAvhV_U(PHI(op5UT_6A)L0l|^)ZB1JHFIlEc0DO!o|1MX5KbqCE>#Ey{73T zouwx%J=%_7UEBS!OM-Pz>Wd1Tc17Kms2F`PN#hCfx~IgL5bZ#Q<(^XE=S%51Jm0|I zn`>xkNNHsv7m9rki<_EktKYdE*H6n{d5m$hJ9szdIGv4lR>=S;|0A7u2-~+j56^Nx zKM|8j4`~J7m$F5L4jQf658b-p0=atwyvQCamesu3;U|?HR=@jpCOD~dzsm(hR4qBvJEDq zoYKq0pGyFdrv(j29Rvn{d|m%hCw&akInWk!vG@s2d{q)@w{UkMm?OW#@ETfiee=8M z!RoQZh`Va(#wi?D`Gw*b&`k%2Z(B3`u_>Bb;Ar|uVqk!A_C&FT1Zf}!n?Mt%7Hmi@ ziy8dvb(u%`X#vju$$vjG1Lo7mYr>fbi zkdsl#Tc&ixY`j=Y7Nz$+u`d_A&8HDb9CF?;vd6yPQ=R66+A)6HIyRu%o${a#6hltn z6Q4uI$QXo@EUIRZ=i=m)e%pmW0Gs0Y$V-%>Xp}IrIgAWBYOHdy_D~?FE*4>+X!anf zk685%G2Dt5i9AQO&JmPUn=0SI$V-n|UC!3LmccYVA|*k<5o!<(N|j82`(|}MTx-{n zrqWP~{~u{-h$R^HGa!3;ynD_aEPrUn81Vio%JePNr4Nq^NvP=Z{6xZ8`g2ezNwL6P z-Z<|Zo#Q#_6RJ!AiA-HqMmqAC4#X?-%p(`E5ZVp~vl-wy^tDmu+~JTb<65EhK@ zTWtIOxhJ7%Mss{yyC;)5JrFLk9k(3&x|921K6FIwqz|Kf=l~Jss)JyXSz;n%4Tq&v zEywbz1AcI!RsN_8^Q*{d4Cu&vjxBI{4QKSM*F`S}vvt+uv~vbH_=?|J)(*tZM!_=F{lDI4w8WJWzwN5y2*q#q(fJmI6kz(p z%2^d-wKbj%C7pSV1`mO^SBe)~L7&uEd^i4N2LbrNoX>K1|DFe?3(nLSeg}_{vx56C zJbl%8uu0_$yx@o1Es$X_fd3!iEF$I_P7(f2(A`6heR(_zg47F>Z|}>!C8(5xAjq*2 zn?GJ{3%b|TxLEBayqkmML2n8OC+9;#{I&&SlM}2ZZp*$!nLDz{i&;n2UA9ip`2ffF zQCj6kVU;eDQi^N?wxO z=s9Z_Tz~+ZWr+apZx{dV=3QM_kX!>#voZ9t!YHqJ{?AVZAhMjnjSo257+*`}YYL(- z5(&Vm&SCdBjTlueGW7-kR{QZgU7H2dn9Z}}>RPVoUA!>IRwzXU1;HQZ8=JP0BS9TR zET%2^vHcnkZ3Fng`+8Gn)*2fX;8N3u<_B{IG_sPEk0tj<$wUc}{g7ykm{ju-dwpCiC2O5T*zYs!9ZL{wZ3TLQ{xGvdD{;7(7b63a#W9TiDvZNP zYhYmT*MB>>9mseH35t)$Jzln}9=C7&M!;c+;M(uFeE-z?(|7~x%RNpw#$NQsA7o+3 zPRNpf2wiZ?_TsJ1hGNcBSzLxcGQM=0%E!>&tpHkw8=jN@+uf@%kWOMW;(CYp&ws{W z@N&{8L2WRLT6Q20PqrKEf7cJqpaexPublgH0aVniFu|VZ7laKwHCB zW;@Af1PI1h0&cs(ay)qtyF0X{7-%8g($5!5iHuP@g9)AN58&f~VHo#t z%yj_fGk2$n#Qv`|U&K4uWZg;jwZVnt%X!l?V%5W*eTv$C1tttM0aVj&hGc=bhhg30 z)rw7%oqrwganM4Lw_)3zzdPc&+BX2$Y}7unAD$!*+OM0NCixojkq)S~qu4pRp3g!N zQ#D|FF>@dbzX!o@KQE&Nydc1?hLQsU&ja>GGNCVaL1C||o0gZC>#MV}vMM#`4>)ig zVnEi`aL6R*WX*7C`(?L4kKiUbD%v6tF6$SE8c$~EX)rGlL6VmzT6g6wIc(cof#f zs+$S&w8s?=5%R`JHzb~&diIW$GpI~EDFo2JWq_fl1u$i{8FQhH!nlk=KRN1R`Esg#AEd4o#8Y{lTn8Efr~?0 zjB>b21Qz)G|6(`q5iX0 z9a2Kub^pw*%c)jG6`6x~_H+U~qxWcX0!&B;S zDSCnlhaycAF069Q5Lc^F^u!g0*qCW4{lxRY} zIsf^re3G60Uci2nT`Ei_C9ETydh=}`2+n0=g}cqJh!hJR_L#d)5AC@=t5M6-GtIjj zz!5X>)x-w^;*Q=4wL$cY0M$ds58jTeucL=rr30mK%%$GvLhn~zbp5UyZFuycHNKqG z7ykv;hKGB@-hW{v-;d1~e;&ZprOuK|gfp{)AM-{J5fIj!-+{7W`phN4Ks4Sna7`QO z*FS@>K^>i7q19Wb)B3e*ruM%RfP?3RT?w+Ai0lw|K#uqFH=E2aFV~VVSNZe#s1S6# zFOwEAo8dT=Sa;_qW9?aH=w4WtX~zime`O0&n*S(MnQ|?*5K(&V`s(6+z)%s9sM2wO6&&3eX<+x2{}lLrf64i2mtB4loldr zQNTj3sQ=zAk){3P9=z1ukI`qhM;SJ^!^f&_@T8t>=zFhmb2o3fNawWI!P8T(DwUeE4yitvmR z!`&&gc^|OmzIaQ}tpSjG1eV|fOt@2+i`K9e;H(dAz4h7E3MWW=8zINb9)y1Wyl@WL zz0ew^oqS7DWc1=c87IZ_;OH;v_@K7x5qulm-s2xmpT3$Mg&ux?ZVt)98!Y0ZHvO*= zkqfc^aV#}5d_lz#AiAJ?WYlD9*&CllBVV0wr>>8A@~!+j{Km!#s{ zho%uNR@}Z!_Ul$JR{Hfc+4}AcuHVlezq5Noe_-?*^$FLW^lMh8wJ0cVNM?U@_s{h5 z@<^lo3Ie(7-O|$CKJdJ9a@U~f<2b^$!-BwJ-1=wpCfe79CO%E*Y_0}bEbM{ZJy5N^ zu{y*Rd?N`3G;n_#pr?-_Ywe=3I|r&2S_8A!yJtGKyY=7`f82-hs|O%1U=8drVoar? zBA}X`yJpoUiSPG(+pul80*VhC-K0I@Sk(*zYkgt)N6XBaa_Mc+N=f`Lh3TO}zD#IS z7M_7&=}p4b2za+Ip4%0Rb_@HHL*G^k&^y36_MU(-KMw&_W$?dwCx?|roV>}wz45H2 zB?h0<)6=PS(FO|=$^5cmlTNN{-}!RwRp0Xt5^%!*yioT)FT}-RJwQW;TS`ny+o47S z{XkBHYUc#@qB$A#ZexgfNcE;0cn9QwzcuqfTP_4P@F=?*Dq~z1)Qb|L$*6$Zv6jHcD)5hAqw@JJK^0W4 zi10?*{vDUTg2l(Aq(4H@PEE)sk`1?$0Mo3+7 z$?EOla(RcH?qxZ8M4F-{GXo#lvNi_(XBW5__J6mvhH&70+QE&09A4{GP)tV>cC*XF zD`Ba?+PePukQ`OR2U?my*vs*fe(zIPWE#XVbVJQ|-A^C=fwbmMmij1Hm!oHEY;}x# zG4B&VMKkZ{Ex-bty;KWKq*02FiFazC>)B>=3wosc`Y}OvEdh_cf;`i^=Dw33QS?Ke zFS}#cuG{%k-G36m@Kj`T*6H%V9(TPvfa{vTJ%|`Clj(j-wiT3zgzGE{D=^t|jb2BN z*gWFax#B_(uMW7~QBCI|1cN=_s|aLnR)Ai-JpxCZ$ab1(lr`gJ?q^8-y^%c!^s8RAW+V$5|XCCq-6f)8efGDZpL7nCO8Q7 zj+0S_ZrsNf&q!>kmO=66o0zX>;xPED)GXT71p8nTQ$_uX=lWv{V%~W_8OU;}&Pv}p zjijeqDn=YKpEND$GxlrEb8jr8(y*z@oJ{BhL7fh2Fz^PeA4Nqt@T)29es&4QW4)#d zaOruv(jSR=e%Rz#`HiDlP&PFEu~#auO${^4vQ4Fa2-zE?ox zU>Nv)iX#&Gct6de#V&r40`D=NmGiQQqNTTe9W%YYH>928Re}aEB@QEr2MAOn;0)aE zS5dguodfXKb_WoEKmL3m{l)Hj&k$h0oF~d%de5)y9=Km>3t75@3%NP9r-mj(_%zY& zn&J-9VB{0|AOG;8f*SRnSh9qu!7Z?bs)cvNZ>g;4fhb98*g2^2S+ln9q;dbD_caBA zW0R-z`JCiszOF#%b}z+?lJ`zJ9>MB`KlD1*qCC+bqNpkJa{pKFWeliyOKlfXz(b4p z!l~supUw_;_tn>rYzXi8I@WL4NVW@Vw^ost%?(>XY9O+#dp`9t&(Qz*-(%I5|MNX| zPa079228{+=y%M|d~rCELx%QBc-<1(G_5VY z4sm)H5~9M@0)*;uELdX@2hvJcA9>trw2^^jQqU9rje{qU+E<1~Nrt8UyhQBG+t0fLct3=~KYU*^S zu1%i+pf7{Zj6EkCdERbS@>Ek9t1j2$g1sG<5n_lJx6Iw&*4r~O_^s>wpYH=U7C{-8ym)-muNJUuS`GoZ9i5 zv9Ze3SiL(+H`OMiS_G+J$s;S0K~Fb)O)t2^FRIJa4*u5? z-2Fxcxo96IeEBJN1iymnIOMM7iLYE*%V3L6Z~(o7z3=b-*e}==df8_XjB3@1DgUZJ z>leycB`RO)8j>DrIR)YXldw0-&WCW655xX!goj!_zBXrb4*)kFD8Esf-Oe-d)ibvw zvfck178v=q@|UwpA!ke(muCCf#7X9(1Q}lYRT4~Th{{6W6q6jJ_#_pIdrudEzshRUSSsV%&4YrQU@ z2w*w$5n}B0>G)EM3Eden@ob7(&!6~cStm^^Bv3PNil&iiv(agxnk`iRC0iwp%L<;8 zrK*X>a?WbJufO2ZN?<3t2PBAHeUNuYyFXb%*5W}iP=$Q^7j4SPgBsDaD#uq+Nti|=#2HO&66=z3Xr%fa$$D*jz+?~WKC%sZl?zKN;i6mH1loh?=S z6i^JF60{s%P1-7Yz+Q>ct`!`zMiheD2yxB?(VjCYqsKRgGOD~GzSP5qZW zg7L&syXA)DZ_*e4GhXNr%dd>ua%nz_L5U+U7;An3+?(Ya||Lb zan+EkHyj72`XG5WK{>i(U-{`&=KNvVLC}rJOSTDgY_k8+xprgb>cS5(FdFz#EA2q@ zEPD`m3RD+*{d8{PHSh6#xO<(Jv9Sc*KM4zHJM3i^zee}0gi1!4Ls9||NnHYHjh<3U zUDbZBm1IAIzEMxDrkl|13%c&8eBSpyktliqFVr@9QSp>OL1z1lp5mW<;nI{#6C0un z2o~>G;@RZ&p6zGfTUS#W91{e}Oq{2(bH|GS`zXu)Y{swV-a1U6)}mX`o#e}~5)-z> zn61PZCQu4;oqNzh_5{I)x&#G7%M`sxUTpc`^Xl&GNg;s({kz-m{KXH$$^`02;**|2z6cY&UJYND1=H5M1Hp1 z!q0d3YK!F9XwSb{z78Udwm{8~1NRnS$C@|=zt3+)CoP(AJ>FsLH_jray24bpw1_*D z!zHc9GgF$DQEs9)r8eM5#7Q(>3&7&O-e-m=7WV0k$foyNG7{-;ZR@IkHL-Bx42x-2 zg*rItyhifdpdK!`?bbSq8+3t+R~$xS8*2hK$9Wtx zC8v7pkTPGf)w~#*WnT5_(Z#$7e#xw>Nl1sWgZqQagX>OUOUkC}_pFB`M*!nCMtq`n z`PfsW!*3CGQ0fCK87;;AY=>@hon}ZKP;-n}W&B)YW8&3er4Hz|-EAcm=-Zeb$wUq& z_w6Xf)1HH!3MNbT#J~I>JTPl4IiY^WAfQ2N390$mP`Ws**XR=?ZX*dA6BND1&JPvx zE*^$Br*2X=N`zjOGh z@8mRS9cGYEHC;iv@x1QHCc&%=QDY(|>5`Ykh@R=OE%uVLz39Vp%@4kciMdG{~R7T5%S){!-%ld#cioqt4?X?$F_HebJ`egT`WBH5Bw7x*z#M zA_C19%)JLZAe9CBL-SvPQe!l0=^>^)q+riN1VF}&pj||L<3F$foQN?4p3s70BnlD) z*#?2Yn{D(C=iqKa>E~YE6U=5Ei2rIC1N8G-7{D0vBnT3&yz8W?AoHE#`iI0sXJcbi znhs7C%D4x39smmLyNXVSY7&YuZ=9D11r;-%stsY5nr!dDhCR=MxffbCY#rf3{d(Zb zErG;-@VxBj;J36R6iDMN!C{|NE=RBS3A%$J?}#NSALVNB%Sj{yo7R_iU%&gRy3WzB zEb*g1moI@@bejNmrU2dthBd8}++U@|OZh+p9Jia@HQ&!m)I4_fQSM$oE5=bI-$!+Z zFP@Xh{BxH&e-DKp<)gQU*g8O%7dSw#ArHGFPZg|w$6B8DyA*;s-%h?D6*X;P?9C{GA(_|+p+qSKyG*0i0}jXs=tg4uue za7?+#Iq~#y`=0Ur_dThggQ9X%b_bDt=_cQ!-J^}YUY_5$PLUFM4cRp>eT=|rQ#b1R zF#xs>JET(lHYjWcyqtPO{dT-1t{)G9R~i$-n$NTry}~Cg&vK6{)i@}P7&7Na+>LO| z`+%1HR1MRzZfQ0#w` z54}R1ykZ1U;z3if9PO)r?jl!q_c(s?(S8_fTI&}8a`Mm!MB3**+iS2H~viWQf=z>bBb5h z#k`*m@}||jp=R*LyZIEgsiIQGQSA&-{{ zz*sf#ax9J4-f8%d5NWL8e`7bQ z<1n#UjdfyD8{D6dA0tZ#CC0k^#@d$`NEDwZiO4A~*-{N&pIz9t;YNS#bLm6bK2W@hlpvUL+!0OD(-YTea+$Td~P$%T%lefyin*M#D-bZj_WsgwG7ldL{tQrcv zwVfvly63j(%hq?3$2yzn!lx-!Ge^YWfwp6Ug#GiyD{MU=Q|}WBI+CH^$ZmB52F^Qx z4zk%=L1ve^pw+s+x!DGDdinMdm<{Jhc4e)8SqnBp^h57D+|IUdSqWRtj(6%R?Lrhu zC?n;LkoglTqmS;{b1AxrxYr3+%Sg|nz*>0$%@l7Z(?R-Nf9Elj%vbW!-=x`rmMq#I z;lpG`q+>$$oyO=kx|#~quT*rp0Y5!p2E&!-s%wh``{2^Sw7L7(_?IoPe3HKnKDMBJ z=_t09^>}I6q@6(Whx2g)=Ytn4V-G)9EsXlh|6%)cGjLy5+u`TH4Fa<{(REavy70xH zx%gQ4rjdEQgyiNeWcy2&UitSyTS+$1C+MhfiQwfyiZ)@|dC2|%(TBN-$K4&t%c83G z=Z$el=6lcl(cM-SAVrz$(yQHGUE;A%0YTa$o!_MND zHshmcOJxv}TZByhoe?xQU{>0wXy`1}dO^}%7U!{~Z7sKd*wS2{m3U-AU$y^M%zxjA zNvZ0P^1Yb9HO}L)z+8-T%%R0votK z=)HxHK*|iU7|j2{(Sr-(l)UoM70MR?=jYuVyEiYQb*dW2c5=uOiobuNIe zefE*Xf9smFR`C8zX!)Ayyu+v4{&GV+pl##4w+;h?Zh<_!dr-nd+f$6j@FpV`Dgbis zPr)08@2Q_xfkF)>F&cMtskQ7D&Q5-XchvgN2O@!(c^v_FP;^?ZhkhZ0+06L6NXo!{ z%|$L%$WfD>zXS|>R7R7-E`m{MP1nfT%8oBX@8&gK5bE_lsCG;suHT`_Q-Q7Mm(QyG z-D6+h-k~DYdVIidpL;*xdA5pOzTy`L$H#q6PS# z74RD$iR0DBEPm?B3SxO56XkxYhsa;1L_{{sR47yRu2(I7Dey3b~%sKe; zOlc2%Se(^-T-AowC#e9}%}u1t$#{q8-K$#jf2-aVzbF^Z{qoscuMs~Ql7WG&+t7Goq~d*!D2AJL7e3v z75lPz^7vIBk+ar(9HX>I4%()!OzXbp^D^n}1!#W$lO#3k!5FjO-P4leiR7vVna>@d z7TDo<3VJ9lCW!E;UQC$OU93FDgk!McJ44?YbUUI+5)*Zwj*p6uedsqmDp;dq&B#R& z8nJA5Gpf&wmU<qK&Z?yLXSJtSHW(X6VvAQ@#y0D_zw+K z-gSQhXo!Uvo|+)#rO+%xFh=RuB(T08t{wO zw(igSQ5d|(#&NSgGT^>wyr_sW(hW~q`2R*vs6N!G6b6}xfw&o8Uq z`#J4*GRy=6Q4-teZXNEyFVFY;Ias{-fByWrFi@wDuBT8qGc6nk9hU(ZVGpjKabWob zL1Dwfu30Pwdn0f~x1l>kO=Ps4qzbzt{f_Lf+y2U&!<;dOecxitwzjtR&@NG&@zzAp z61%sLkCS6ohLBH&5K-Q_Nj$Wldv6>#cvfijZ)B|YkbFK-3v6wZ(yXc&BsGST-F+icM5#zAv?FJO8h5%cAoW;u+xTGqqO`0E;MvzKykB4?2%i~l@ck<((AO-?Gw7{D_tHN?naIOwsl=S3TG0IC_4VF3tb<7|#x~O~pv-obMdj+oCgCA&`cEr$ zjo(6O@l@{FhtbzLYZVEhGT&eDB-)*?R=stjTCP*&1uMbV%OC#SmKIiat6Gqw(ImX$ z5d8iDC2iYaiVcubrsUUZQsygTP~o%v-cx6jAqk6K@vEt^1Fal^zAn2}GjdnG@~n=$ zhpZ)hUDoC#%506u1cR_^8X8jUR~iv{_D<^SPbXn_O-rYC2}a3lCRPxXz#^5jg?}NQ zt=GE2t6q8a9i+WEOpj#Ag5CWFCqwwua$+Ah9{nfo*nzJ@7BQv`*9dk&E-Lfb3$RVo zOO*uifPJ}-700P5yMqnF?PPYl`Za18w&Qwp4lGUt3We{i*(k%H}4s^ORt#iG+|96;x{(IN{Eune|#=;{1Rv+f_ zOTcz5c~T-DM1ev-wU(n|>HMB3re9~BOQ`~AFnh_dc=!7)J^N@-W0~IQy?FC`q;FdL z6NV>Qf>P^Wn~s^zu8z0L|M2!LHc%_IXGq% zC|)IoVw1jVH{p&7rD+}i@Y@8wJR!nH`(q449iM-D|B*jl)tYyB@#!i{Aqm6&xZ^eD z;k=?uzPsW(`zJp8iEaj&uc@I@H%3{EC|qeVa`e*v{)sW>1n+&s;d@kNF8!Pg@S)k* z!Oa--T|<0m_+Px@_{}n`-s~kw=#wN|LqU4qFbS6LH<#UI$2Zgwn(SA?C-*JjzIbx- zIOFK(7;(3rf2<7&EoK%)7X1GZqL=Ia-optHc8f!`-WO|!4TI($KZoko&IYHj6ciiR zXWTiGWqLg|aCgrqK%I}41Imy=K7M+h^XuKIOl9*_ok1hA(o$IAP_q%2SUI}<=Yyj& zna{*ByXk}U>q~b_W zgzq+?pBWVMS%_jOgpM?J8}Ph0ouUh~Cl;qgfs z!zM-s#5zVg1V`gQEfIM(_|}0^tB0bJL?FeMBA03vtA&+T@begxf;J*MTl_*|wk(r$U;IR9f(;TJP2ETz%t;L%;?6lM4r zY?wUU!<8vNM8_0X{bI%Pp~scMkC89KL-|moF*iSt8ju&+#4-2hFd9GRC8?di6`H}c zO}qs!Y|@NeFcGo@9VZ$anws`s%)yU)S=982-Gxd(^2l=ncOd*PG~`$<9m?^vk?b7* z?%0F_-c;2ju2lSc2x{$F9lq?p!~5lu&GI8vVYc~etm#0+8fn|C?HKR4n;ZipA+J`N zvcEC442DRr*?JuZ<7^=vd7r>XF&geDIjUJ6{M7!}^l>FSLWpBsxYaK6>N6TSRkjHc zSd8+k0PEYJKr2;8LL1sdoOOjaaWt}wgmgK|Th~ucsFtd;^n`IW@`0A*Ug9*w`rW4< z7MW;C`03%&$r}-bn6Auad)EFVJtS|-wAGm~cef;{u;eAgtN_p2s7Usr527DU-?9)W!C|cK5}-5FA7`MXAZwr&{zEbJY?eae z?Hw{$oij}`KpZ?OpLsgCymWS#&$8WT{`m+JppZ_Asc$Y8EN&aZuZ2gAr12KWu@MMI zD3lAW?{Ow{kj9F9y%75yCyqb*vdy?kG_er%7m+iej8nsROV`2}1_!*gY1T`U*#k*N4T66^n$K4%4#n39d~msDhei18J^+EVcr$j|g^2?|$6gf8NVSa@b^ zIkb1j7|=h3Nh>aI2PQUfcDAOy``E@qjI~SBJqj1!EqB0^(+T1|hV^@A{^foe6>nRJ)c zriQr{1Y8&iN+fc=#Nfv!&bYaI(lKJn54pL!6A=(%GnC*wTMQ=5 z(v7C44zqA1D~764I&-{n$V^X-3hVFlB2z?(mD>Ah=B%pmi8zcP=qaKq9eCtam%J`< zp8$80Tyy7f4bPlB6<>Pcopkd_X`s&14|>a>>yJ1M5IOfGsm|0r{4v}jFy6OW?)qV+ zaY!6)_9paaejBnjpvTDM#Ev!iQJRMw`$Kd){y`dMxvfFYU=f##U~Iuz-{+ZdeNCvW zE&G&Eomsf(-a_DsU(XS9kEHJW=Z4<(*%lG=<^zmM`faJt;q8vVZE>l0)~Iz?yFu;YIUm zq*t~jpK$N_tpxP&Sfb@>dIR!A8faH#aN#SZ`Tr30)?sZmPuOsR28ZGlw^AHRDOy~L zds95POL0BH9f}lpS}5*r!HN|tEl#oG4#n-u^LyX-`u@n3ljP*=HM_IBGjrcF%lwiM zh?k##QLfUU!e~q3{8iI3EX8*9%KP1pNF8CUrY`<>#-X|xdAS1Z)RQvyFWRNA>7I550kYeGE(6+!i)zoy81Q$q+P5-r&^<)|kVnc7 z(qOHxHhaGOd@ z33JGRyknqE*tqciw0D0kX8df5qK=R)TDs`HTmnlv>tH)wLX_OT%>HbE#ZiZ)k?+T^ zUxtQQuXPCq+eH>*POAgz&PMnsxZc5BHPrJV8Ie^*xA(Hh3|cYTwha+I z5#ku^8FY#w1u3N0%0um-PZLXovreh|GN{Svp(o%i%@@%bA#7{|#+Agl2vnq?#K@%ef z$(5sHGgQ{faVCj&G5E`u(8P=#RW^ns#b^ilRqtsD?viiMN{9PnJ>TgA6ue^yNb~BU zEN&1Y$!Ms@_tCD{_FMIfsuJFH*PmZb%4v%;G>u~nVr%;2$&qF0O z=58^nmo7sB8b(gcX)4#UZ`yJ#eneuZxx42N@hfqTFWSCp5FHB!@CvM%Krg4E`=n>9>f#>e)W~ufJ3eFrJn+ zx2U~#lrau0W}Zs`5SCa;rOazbPD$eTb?@(#KU=)q+!HeocLFDdhvnC+5OPm)&8cw0KiMUS)jIHn1P_tHjm6D z7GZgLd7wgeF3bNkA?I&SmTTLaC$3#g8mX`v* z&>;%#UedV~s~@a$ek*`7Gc#|Q{e%{C=955vS4T81xJT~DIckWRUVUluHf6Dz`6G2c z)W|rh=;PgIK)MRGBUnYx`X%xQlI-=g{l_zwK1mZz>K&JF+V>xqO}Z@7y`HI5>>^Fs z?!nR8jln2ZVveHWer#(x^1^}5kC^x@#B52jHC6FQj`l0=IXDZ}vswzK{rz{$$qgR} z|M_Oo2Hx*FG_8bdd<&>5<~kXvB2Beyf=quA{Ye7?GL=uAAz_SZ_HGL(WgIo?Z$5>E z?R_MQk)zx_H^-9V|N5$zj^2^#AUS|7+U98>FV~JMg6>B-W1^FMD^=8>IYn{n0&nc+ z%UXg^Y0+)Fg*_2D{f-G<6n<7|B6qpA)0f=LXqw{j6Pxm>q<>V}6G=)v2DA%)<3Hxm zWr#Yr0?LWxK01wZb)1D$Hs^+__O5+(HUiIFhWRf%Jg7xoI~FiF88aKmQCemCgp zM$*7y;K4!6!(TX2aYJkbl+1Y}DMxYDyK~7Pkbs+n0v3}a;lWo0*0aXK&X0~swyzVY z`4~U_BBm()RoI&8*^XH&Mw{^3D}ppQNJK3ZNf&4}EVmzaHm%YmnWagBVaUG`3CdZBIxBpRoTmujI^)*x3*h=@{`sy|wzE%jp~mx-((K zM_8kkjE(AC~GkQ zncb{2j{ka1?f0f}iV92AJ{D^{RsB7pmdV~#%<}^jGAb?I(1wf&jrJC`)TqR480GwG z760bp(Vu)9Z=vOU*|PNDEswrOZeUyVwY@z{6E6;$dT|}DVYBV8$}!ASld0M#nfgVr zxk3Qb|LxC2r#&%a5yoZYk|Nw;i8HWz`XZ(7$G5DGud@}iIX(Ue0qcy=Mfa9 z&`ZOSJ=jK=$tf$D_{AxW8B-o(e|P7oxWE;SX39w{NjhgmU5IK|Fv%BjcyV#}>qe*X zL!C{Odzh__4MMR*=DBpi%uQy~lqFS6;S^*U+4#d_W5WHTm%ZCH`L*GZq!{pZBgry2 z2t>0C%T$PE&Q&sFNf!7uORU;o`_p!*tc0$cGm7PHv+qPL@t`%*z>wXjrI9qiE;mqP znIgs#Y44?n-pmmLEuE?N$i{}mR1H?OmpJ;2)>4rswF~oxC42M%>KrJQ=gMp08;n7$XL=+%PM>$LU=tbCOCeQA=cB=<~18@;LU>L={{4e zw)%2Q0ZP5Xuivf$KRbPEO_opViC>V#*;6;-4(Vw_d>`}~bMznj>z}9kt7M(uVGu!i zd+AnXTZj`XRy7Sxrw-qXE33JCHI`_Vrfu8nPrnl1Jvv8*NUp;Z0h}*3?gLA{CRceI zwVPw+gLa!|2`9I&mlY+dO5#|ai9Jsku>Mvj{r){U8EcgHcd0gu&C3+aMwq_+$YvT$ z9H&dm8Mt(t`(O_$1Scjb+j!bcJe-+2Vf%Ie1 zD%2=;ovLlQ^Qvtbf^>ED#_g(`!-rd)E2#c#M^xw38Y3;oOVe74|xOARbosEMxZriA9cGTAj< zy%EvIP|w2GFjIm{t}{;xjjO@vHPBq?!CC#Si&2Nyh3ySI`}YivmddFP^QkNmI{~y3 zsWZlY-TFWO>>G7A26nGV2hC%r!VrX3ZW`E&T=LU3<293Zi@15sAH%2M44;FW^*cqg zn*Hq23x*v8Dgh==sn0=jdBaUrdW8L{Hg6|YPSfUbsD8kPZ7o2bQRK(zk8VeEo$wMI|KnSYP{QmwuA`Moh^6O%N12{~T!m;}{FU-xkF=Fe7jKa8F&Q&chgb#wd@%$|G74h+JRg@ zc-)HgXw-}jQEs71Qn(-HPvFE1>yQ`QF=_rL)hj3MJnD%v@H$+2&jC3vEt@k~_cA(Z z33xlpQRyc*gB|SHR_PLVaP=N}Sx=7_=*%{0xu()Yrg>0B8v5B&`tpob`>QAgA*Gy$ zo=TP#;Dz~sH__eHSgS|4713MJaO23?4E=2Rt!&|BW7g~S8yx9?(jcRP?KItiarl8> zfb)Kr0a`(oq*nj4EE?+wj5cWW$Vd{ucQ3}1K+>?K;S&d>;A7> z1A1YU&Qo_1?hX^6$ijjhR504B5qV}XWLYdVG>ySELw~IoOUoS6 zK-oLui#2W&xzGsJ-`7qS%z?>0b6lg*L-OG%V`wL6%);FA313eX%ML*B?#T5neW`Cv z?|QB*Uv?y-Tx^G9G;9*+J{qpDI^?L zIm#>nzjS*DSRe1K90NE)GjCYrnJC`LSJHFFXQ7PE;A51!l%AKwSj?CV-2N4nQNd1v z0v3*2{NH24k>B0Ve97qBtL}(Wb!JjStH+wI#pFZtcal2^GZLlh4wzlup*(2;NrL;| zdmcr`$eazYv5MM5wULv>fboN@80dh+;w}2}IEXJM2z5^t$cD|;D1#epd*VMUr}>b^ z_*m*N%WqzdtQDio)Vv>bey=m223Nw^ffw%F%u-Nzo>L%+B-{I563cJAyRbkO`F{J) z+t<-1xgrLnXQ0*F1Yt6sq&2nhLGlw_dk^7Hz8JD9f762EGy`XI8k;Ltf2bHCN57iT zZYGVC%uy5&|J6+fg699^3R|B6v7n^A)7=*+AE{Q%tzn$c7_w@}tw#+o%3P(8Leu@) z7d}X0Gjn}h*6H!ey0%SUcIv`w^u0q3MJ!%P#O?E<``_EBUEfvCnj;IZ$fOAE(R(oR z?Gf7n9djeI%}Cw2k3S)2(5l?G{e3ACmyGI9@S+N+viB~{Nu0)R~-yrJwVjrYU zGT{^;JhR3UyJT)TiUz}qg3#&9*0!rb8G}DLF|DEHu@5}Ee~AcZcxlGPYRF_oG@(raTf*>*UsNMN0N7FiGTd&vw!)9785RU?C{5HCAzI~ zc+WEFiKmdl{`@TStC3M|&-KemF>cx~`cI>Peurt=16zWUBA!;bw52E6NCP>Zs*2u{D&5tB9lq%etPVhZ8_W6(C^Pw7DctY zBsAn`wi(a}=cpn5)>tGCdKmk2dCx}ro+&%|h#(VR;!_TZwNEU;&#;%ZM-B!OlKrKj z-~&7NHomMG^_1>J$=`o~ChM#`lrdPDdpXE6X8rFW`kUc>gYCoJek2tZX1 zG3tyGp8~*YtIgJaprn_N6%bQepTCI;thFkH)R8KHm63np{W%yg^@<)dsz)5ho^4xH zlc~Z#!X7M>BzWNe-An6Zm^9=Uw8h7gIBeT;s?xc6bAIphcyK;DJF7nOuRXlDxcFKi z#|MWuVfZ@&A$d^j@!go!8yfl^b|7Y9fz> z&c3%?u<`H=0;0zq#4m#Xd&IjzBd_JpP+0|HDLhhA(v7Xd-CfG7R-Z>PAXnnzu210*wZCiA<9UiNJ|SD%zNw!8{tgid zjhkegwQww9m(*JQs%x=dC;ov1f}p~$w$w{P2v33j5z3EaPvy>kx}igXASc}Jo9{XH zA0KG`C%y$vY3R6ZMG(i5$kx89B8aXADu_eA&Q}+2c%GK~wi*0k6fR8N6zC-mziD01 zi*_;bdv;{6zE1L_sCMn=>uU!1{N?-5LUMdQRnc)8X{xWCA58z_4b>PjuXhzgliZ65 zK$m{E$Niy)H~glu67cb#>v1*1KH(9hQhDC1Wy1wZpulTm#>zT@1oP6-a|q4sILx1a zM}5it2LCbBH>BsJfjMk8b1b!L)?}rXC((ou?Ky)3&DRm^_*cRP`hQv&weQJ^vGK=a zJ6bN8)o9RF6mxmp>he{eZ^|LZOm;m02y8u0`>?6rG4VpgD3c?W4PGC3LbDyUBC$~i zt>9oA5DACvJGXA?C6two)p0sri}r#@pmi3z*zg&*>;ilcCmAtF%$OU}6ue(mA$I#$ zdjp$nOb}?L7xML>ME`NMq)X>-YoGjk42rMfb zp(>iv;(EuB{^L9Mp|6G2=6$a9n`33q2aCfCI^n55&q;kob36zzjTgHTw=45WJf(-M z)I2YpZHw_rk|s1V~{| zTtpHh{`Y5fwH&vF{>}tcL{w49o(TyW8r&%+EaJCaIc``m8wW@A(eCbtDGWPngy4zb z;=Kl&%^ND!RUxwI!Uj~tV5n{S^vo0pG?V%DyvJbXy7^7X4`_xx@EE*b-H>NkXR*ww z^afehrg^(#@$@*jrk4O=w+U<1C&I-z7#LuYHZd_lhUaMI85S$a%EbwB5f=QxFwloo zFo=g}Yu8WBvoiXu+J&6_2PUC)h8`ri=mmT9Bh!lob)ve01}od5Y7g~6pgn+Q0@AA< z0ADs+>p2&^elP~0m3n?c)PK5?33;O#ksq%8jnl_i38f3zl)lnK;*a5Cmz~ArX|gwf zZ%P@>cao)G`boN{>%pRBo|mp$KPYWxr(|myUtg$-3JD20RVBK-^uYEpY->q5KG!iz zuiDw|k>b2f{C`{mJ`XRkt&8i-iozX{izS@9V&FID;U&+9+qoDW+iRN092nk&OkzG8 zf2=%{iaZkrCWfg1Re69sYKvq|lDRONF4DDP2PMZLYofbca~of!0A=ZpXM)HCHrZdwe6BKHQ5Ev z>SA4l_?PVk(pOKtO&g)7=(@eIu&}~!Kt4OV?n{c^VBY?5*Y8!^Ql}+f8z&^nhL&R} zo2FX4oH0RjcBwO0-}bQYF5WvGfZJZ5`rREi4|>S#oyIx)BTdj(;H$k$;Dw#g&N=Q<4Os^j6?OStMOETZRhx0 zSq}30RCxa!YvtbQqOlC_x}LHVZinbOa$;{)gy)XLLb^DCCJs8o};2D>;xn&|h z<$cy#j1Rg)`l>}%rP|0^NDV+jnOOpxAXe}sLg5Ar0u2vg!Fn!8U!LC0{Y9h_a!71r2`8PmxYycHzYNkYw6C4`_(|jhMFzncYSo zts@E)=GUMH{jkF6T{|huBX)4IwcUkqmVPi)8)6UpG^XczjH-~lY+7|%Lgp^=>X;x! z=qHz=CanR^)Qo(g#|w6uQreULGaY+|48mTWoc2f2^dGMa{?En1>w=W-W=|89v&=c0 zZm*`3e!g)zDzfP^5B}F5$TQP>|t*Qel!HsDr0s z9okE3j8Q`5q}2#V2h+cU)o|j-C7G@Yg-T12kdreILJGg-6Fx|-tjh#zNMsQfeBzCh zsq|ZKQXG5TUE+~|gIJgju4(ZePAch!tkS~}&oHP*fnZDFbS^6mC8CqNo?2@Ew>;q# z7-fZ$NzAJMOt%kDZadgGxMbLV7%)5%7uq z254LNl|`e(@`@k-LSBVxl%?+|RHnEq!opEWkU}wB#h;+GpNB?MMFGtmMz}3IWxyVt zAR%8m1j2j6&(Db)QkV4XM2tWhp0sY3K4z5;;Ie*;j&7#JsACSYq@WPOw@RiI%*7m) z&6XKa9@QB6cFm5b*KG^iyXo|s#h2^1q7ZlliW|)9u8;HGW!M8j*Q~4hs-=VKHCys} zJ?`O!g&ioYMMQPXJr=x$2q%T0F??N3*H576LWG%MpIsATd{I)ehY&?qb9J?njldVs zKrcNr$|XJm_q#D!RCiOwK1g9(M@n92CYo_u{HRFBsGo{7og{ckA{{gq{&U?-L&-Ho zOG8)A6~^GuK`Iv(_US9HjvTmv1fOxEF34%FU{17hX}z7ovp>D3+JBS7<*oQz35wgd zy!JB{t~ptQI}{?fCTtbAPD;&J4pAmR**N#CeO})CQ#!oc`JmvCSLUf}idRaki9({E zhAlx4?j@`izEaa^`w6?F3dAEVLI}&(jS}J`HH)KQLTQ&0D*4)3yi`K8`@nyf{}6~e zm-JXu%3u`1^>Cp@r-)&j&?yAW#S~OWQv0h)!V5(=2&@Pi*J9-CKD<;{z+M83^|bHY z>H6M^Q{G$aXuUUWY{Z#zR7vXTr+ib7vC+0mvI^UD1ax$>i&V ziTsKf=?YBYV~2neq|23~qo2#KPi(Bq!+v|YQ9Z}_D|o+gzVJBJ&spk`4U3&AmfaW9 zRwVuR_D`K`e}^QxR80n6vF?{IXhDz0b2_BfagvP(gD>7nK*Q15CcPd3F$^dfyKZe# z+4U>fR2Ya24lk4b%Ff1Sg|W25AV~zx)?^#kG~;>6Q6+dAhXOC|C-|s*Sa*Xv$|)$y zPPFqj$Mw;;x1gqGa@@s193JQEBt_`J*$3h56RG^1R&=~XIoJCP|5-4jeE8x928_Zb zG;HxOD2*2cu6j@E|D6}u*(CW^_RKYy0WG==@eHymgk$)fSLh{?J0C{+7#RuMh&s9y zlxMG(!Ku3+8uxg6MavDMa6%I%`4&i z%^T-N3^AaRbJ;)G*|M<$V_9*p3lfWc+zu~peT<1?K0FCWUQIJCPT%cfbSCIIGxLH@ zE=WBHvT(m&QA%gy_N~&dO-e!iIr)SbG@($`Z)Lp>@la#3@Swht4PJ;)cs?3D$Q;I( z#kg-3y2@+`W&$E6dP(TYIWdHpdJ70G-YxhK9*#CIdtHh1DIe@}>@|VC^UTxj@+Kle zLgg@Fu8LMKegMq4{$J`SOoguf--ZSk;CYN53%N}gtw3>Q`>ThnfR!Q2CWF{wrRu@B z37y~xA=Ggq3~}tRxYr12P^vkCFc_tts6IO8WF-_~2h`@LXdyQvX$VwW1Gdg92_>OI zGCmovWx>6iINd9la;fjU zi=>XT_&Ehz87>OKrWVdsQT%(QKl-7dT-3b$x3`H z>~tA>CmbOOGg*>I%8_EZl5~3!>RCo z5b=u=FFS?>q)Wo9gN~}Bl+?g|OQWN$+i3E(^O?i1(g6p7-a%ez%FpNoFe6e84QV#% z0(vOuj|L==5O={FT1n;&CDYOD(TJALq9G0KanS22&F@&N;CxSo7k(JcETv1L@h%)# zcIbioX=Ft=XzO15D9Z-3v9qD$;$o_^X#_~?mQQGSy0PdeCZXu1B8V`8BtfAlv2hV` z+YF;bYp>ie46U|_w1oYGbj23^m6o4#wOfCSUZB85BgBr#4`+eKv3dt|!QS+}?>Zx$ zyc+Z;0E4pCr#mjv&`GGXGa4^)EGU4nQ-*|LsYkED$bH{kXvi>v5Yd;#X_ThwhOlaq z)_rO5;m9s9U>5bM#N$}LzKpxn;#YWJm?^#tf)E9j1)>bY^%2`S+z$(a_3+~&O=hci z#{TTJMkXMmJLk&v5gO-?M{hQYg`HDhCfXEJ4Tt)WZ+4g<3ds)7dQ!o9bU?435@}r3 zF*YCjZ(I!K&2hYatNGa7aNvZG7J~O^3PS#f5#IOj=SQee2qq}jlv*#Ol%E>Akp5W{ zNLP1&ruul{>MyP9$~!qCp|XlI&F`<$7(n13*#*)9uue$BwrWQBTKS*^UF|(2ZQ)(D9*fjc?Hng$H=g{N=ULL;IHZ!+n9BZ zh^_=tC83E_I!Xnhy=<$Ft57mIy{^C|FSGxJLGXDKcgHPEe*pCRC}7~LwGAZ9^SSgI zJw%FAWtCF%z~yBFp9;mqJ5o~}Qe-i|PFkoiDwObA8VtpgPlw_wn4$@dH^LGq+QU&i zUiH<|rlM@Ju+XFN@-MYfNx9VIOI+M^T*4av~NSD4~Rdjd&K!jZLD@ z8LyYqY+KIesWIt6J=pexm6!raNxfmWe@1QgC-Bbklbm^11PD~si1tD)n_^|yCl)L7 z^(T(MzMaQfa*tjK^nAM)P^~Z%y72)`AY4((rp;J63c zy6DJo*s^uICgNPR`oO_ygjoVqgZp7LYs@I%0a=@uvFK&%NB`+ZcAXv}xjJBtSH!D^{_v`5PRWO)lYuCvN-M55gi;Ns@@TUB3SqS8LJl8}UI@zQgnj)GHqe^5&5MxTeE zYA|E5hJZ;L#HsOpBqJjDp{m77Ox7;GND~8sq>h@Et9_}DLoy|{qeYN~3R-~3PePl* zKS_2JJ(7aJlNN%RlF(pw)EIt)o;H0cXhF5bs|*@b#dc}i93@?KXp$rd7Z;bF1ecKz z8%YT#%;)oLyHhTkZ^G>E@t;c%L4^pnR8sKWK z8WsQwemBk2hm~(rKnXtw14uX$+0T|BQD;G!poI%LrrB{#2+L)#$E{loXNM$Zo%k2_ z7z;Tkf@@UXT54pi&TnP(6cBg;JZMu;DP>0L>*vNcmjr#O8q)KoLC)yd8~G+9EM+#% znne&Cz3h;TL%NKU`*mH`SJNSFO=t(hQN4jTgUavkIerG@VP8%FPgIyj|Kb|KHOxvl zT^LnzZB2En5vD}`E-7W`n2pz9=0jh>;VebQSdSz^TVFp(fVzLzJ^qeoTCwpcvBIB! z9U-smQ_Pe1L#PI6ye9hwuyW+#GJp5l9j$|rTI^q`g*iO^VPg0YDN}cBRrjf^bGR!@ zMXLV#*>n!eckmvt|HYn&|9`k$(aMJL;H|&(isaMfht27AG(|m9QJuEqi_Xfs;Aley z7IYRtQRYeRRFuywmY+!E{9$)Z7wnTHNxiPjjlru8lw;$@AIdl`@6fAf7mfeJ_hc(X zk=DCg2&%_12FfKkp}nBjSR)ViIKUd-cr~Q8IT+XtEFWLBA6UiwhaR%_VpGE=k1r~2 zw{zO7cCOlHGbshD-du&F7*SKGBT*Yn9ZMF-?z*Z~sFWOASxI37ZkJ2V+Rbc}pjJK; z3I041iVgTyT(|DiWqB35axmu;#yDCS1uI7aF)&!`KpCfu?(cBADY1ydX?zA&gh=>T--5w2eN?*ID?#ZLG#f)Bbz0)FMBp>|m${wArt&tGZ)PBt!g z%I%*0p2GC(jm`bmVzv^qD=&_g78g3Czh#)12?Qrv{KD>C=f{y)*}iBbH@Lp#0@^(V zkeKnMRC7B=@;z5!%dwyop@D3zU#rH(UtA2rcVM{PAB#HlVDS6W-%Z$vx0E(lXeh2G zNr`KODZvYkB1m*7ad@IhTX&utEHvfU1l!IPuWb=2`>rn46j`{hCq)Q0MLw&+pprI5 z8jNt_r)anQKr}z}z3qSKDexbB3WKWCQ#UA7|2E=)>_4pKBT$UkCj-i^4#H>UG(`uw zhn1E{?2zNX#0ue#Tls!o_~Gk0xPLFIP?5irMyuGRiOxyom``I?aiS}?NJhH{)Za-IuoJsiEz!oUOj(n?6A3SAnUq< zT~OR!QDd{XTkzPZ`KZ)PV)x&AtdZY})M&24owoAJnX&AFJv$<~_m%V&ofY5Q?{<66 z@e)&5JYQ{C68BAKEKI%+njE>?@zf zXO9EhoKO6TK|_*PGjBWxu=3UM-yqA8QPFf`!gGRul;kf`N=}$Kuj9r=-SgLIZgkgQ zrjll7lq%OeE9o~5{2#JG_2;6Kui`)%xUcLRX{_TpZT>z!ZJdC1G$ERGwcK3Dol1X$ zr%65I(R>_KcRjFs%{4So$IMw;T-4zC5L1F!F_ru?fd{_B&PNZC zRnY3d)?tw^Y7;XgIfxgJe-h{+;+IeNr>fIl5RLc!|mBS=;&Rtjs!Y>_}${H6Y##D6G~ z;RZk^Nom8Z(b#<0t}wUl#LtU<{e~ZI6sOi~m1Tm`;L&|#8N8~P&6tCI{dm=_4w~G~ z_2aI(N7m2#jx0A<-azg2F~^Pn|FlK0xw*M>c&PdkO5Ayw$fU47@|_D#LRj?n{E+xo zhnxrSOX=oVTqh61ga=#+&Ah6|Qbhxh_@0S8v4m@*BASXAvkcH#JM$lSb$&m;>1=1m zcyVz-xuM#ReA?u%UnEx_BH5xh+UDwPXouIv8RmOPR`cjKC!#=dv-e`c&sP3p1t!GM zZjd2V*1PWXHop)9rvqc=#&48gK>hhQcDYF(2ZB$`>OP_@i7vE~%pr*lP3k1a%DTXE zn@6(X9yJyo9-cPi5&!IjN$%77?$cXm3RZZsZ7>RjRWK6EW_R}SaiXU1^J|~(!fJ>I z#%xG~=JcpCND51PyV>K~^vU3-XD^5)RIk7Pe3WHSVGYi_9^<;<)${cD9k$^{UF%^* zy>E4Ls+sRSPLOnlPkjf7S5;93#)l^)7=K%w2gKn^F{V{{5}=`T_0GrRL|luopC_ZP z|4`@G6NnMW>dd#BJOE{9XJ^KGyo`^J@E>HVtq{>K33zAc@)nXpekn}d!)9`TalN+p zn<;QDMa$p!fC99-tK$I@qX-DtTxw+s3@;IMjK0(SIF=V_kq2xikE?+YiUz~>xx!KR zMW?ot{mwm0t$m#0aT2Q&InP_W=^tD^5hT5L1{HiZvS%NE;0qo0|D6s8Md5c+$y_A#M8uch7y3! z0&(5G<4pgMpAB& zhaYgcI=@3Eb-PbWN)~@j={EM%_q*Jd@yUpr{B0!dF?Cd)774PD7pMh{m_d6?l-1w~ z+;Eck`YrZMGzfNR0*YlrO2cK`A*3fLBox`y)MP>DV~FI`Cf9kSgb(zJ= z=Jjbi7=dYfX753KQ@-`%9XoOq-h4Q$&V2Qv6k=?I?tZBtp{#R{M4R}Kc$sZGu(U7y z3SAXh5Su$RR8LRjCs~i-TR=OpyJTA+ufkYvz_QEXL>)tZy_9v3q^2)YJVN*zI3qd-BtKY{kT1wLs}MMng*AfAqtT_?5T1-rdD? zfudQQYSXoWWEcpZB)a~|QH#5>doCScp+-W? zy}aI7P2@^!9b2$BOAuf8m}_p-?XuqoCZ!Q4Ng1?o$Q!Pwr=%;gH^edlX-xE@EkgUs zsg@ujdlV4xVJ(c zaUuu~me=YRaSGTHSEi1EtAY;yg_I`vzk6|UTBH!zp6xWW37CQ1bV#Zr2$?pp<|5>B z?~U2*vPM409IV~?kbyX!RY)ZRPUaZyL23>^>L7M84!gcJU%22oX9~7J9q1{CBdTxITYS@Jt!wr0t4oxoBGu!gmph%-#1F!+AWc+`aSJacHLT=BzRn}+};%V1L|)C zB~F!BbbDz4HtwA8!aCdQzkOcFSRN7Ny7uVNE(h?C@+9oW?PO z1uSm%BJYFI@A`nZGffPR7YjFL`;To>Hf&O!zJCkzA|Xf9+?bU;;ZDOb;4Zwh{<+4I zd_DZow^5ku%}|d;@NZ(p@9C~F^4bT()lC&E)8skYft+hsLVQkt=}}OFtPLj_ zJz>V>uYUDA6AcYQVkvrlqs*hW)$L`JY^C)y{O_A+sJP_qYBxoEAEJgol@ommd{B1F z-;wYmYpUbFKRH>0ZsUNy;$xCEH5NDmYrRk-5R~FjXpuTzak)v*A1QfLCe=SWkx-WH z@g6MGyPseA#w8qmQ&nCEjs?kWJZ-J@@tsazmoF^1xc~3p-|XyVNa02J3SXQIo*yAq z;?2m@fZMhUDu@rOJMe+W;IR9@8LjS-OP$JRRVGE;^`eW`BygG(k=6*9Q$CYEyg~91 z=uL*?N1Uo&O0mF6y~YQ!Fc~e6AC6QX6PswfAKyIvZ8yJ=@uy!^*gWvr5eY;Kbe0uD z#+5iz6(i@7JIggFzorIFMg+4&=bmY8kHhMG)IJR~gWhezklRQ?D>G~ziJVgMW}QvcsqS@w zs+?3%yu#e~SMpLBQU8xjfG3hjH2MDc5qYYHbLaga5nb?_!64!3*bJ8wpOAwq&N~_90N$Z9{?X8LYV&5J)26Ntc%t zKeSH@=(sqe3wUKc-V>vK|I=$lop$ZPnBdRCZAEoqFZi(23NO4*N+oNHq8YtEkyqmG zjBC%_Mi@7FK!3}eW>YigY6_wV790S_UkD}sj82yt7xmgR6pJe4c`qk@zJ5lv@RT`jaK^^Xw6RED5$`$+lCixEiHfJ|+Hgg9| z{5z_^~dy*m_cq{{$uNUY7K1X!2ncd9CfF|h6fJ+aP;R(7;@Ty<8ckpa( z$z!h5zbp5mFTFtvn1MrSIzqtem9N=;5LpbKe37d(+3Jr`B~8M|7Jej<>Xw4#6JbeL?ES9puu1Igvj%L z#FI4i4)q+z1f>EEO=iw1bc6A0$UBAYCE{uNWO8y`x5+1Nz>|5)uVZRm?4&XK4d7Jx z2NOT6mHZ!_?$eI@Ii(K8v2kh-OMxgn-o|b9C)`vWp-B(1pENXc?S1cw#H|FgURZ!{ zIs(x`q)71b3XpwSv2?}S#MMP`!YF8S+dQc**sHZ%-7K9Az72%PVOn3e^R4{fY z_A}=x;B;SZU-nlIdZd;A)Tw;|ai(1Q5Rcl_r8;S3q2#eYq4$;qXs7?MEsGnHXZ$Z$ z7-#8*9*#%6p?Z0*`=of%C;@z`eoS0dw%RzD`}c+CRQLe7I97{2d~;$?3YxM(p2?H> z30+6uB4~Dhz+?N)^{(p;7{qba8D-S?T1Z0!0GTzzcHCDY9jS4i4(87T1{1taG9h-? zCw&C4=0#0oQ&aaq;}}sVCbFDkxXIIK^=Wy;QwDG_{FHo! z(g{hd)v;NqjiO&B(pZn2KEBAm(|JLirZAJ33LL+veLmB127Wx86&!RLM=FMZy;+4` zpZ7$T-F@ckw0Kly)^TOos>M7Gv7227v0q~F&L@oY_qYsmhLJ2!EBd2jRIKBLxe&i)5E@DslsbRFOoojlnr1W`$SgdcsP%PT8}>l zkMH2M3GiGG5r$EIz2-)+xOif>O{*Y!i4V7(%ieg_H?E+n-3F&JiFqh#coaskC1A;vp2N=LV_0Pm5Gd8A-%(70C`&n zXJ^z&V%&`na3cB_#@>g5xZ~x)v-@G~cbrScJiR>{-?=20r@r)h zZp4{fT%fC+E9B(mBTrm?_{Y@sPuWEEC6d$YVh8&{wyL=AONG?!sE)AqOcbl zV1v0CvTdN`xZ#2fGI)MHv()O%)>gedfT&h=-a}X4m>mTD$rn}N$@In1*m!y*aeUH| zW)p%W3qSL8S@cDrKf4{yigpRNrf8gqDYjUa$X*o*Ux*4cUnjcGGz6CwPm5=#WmQSfi;FC%&q3 zD{0I-nT|mQ!ebZL&!b^8(b4JT8%P_b0r*FxM1!C5IdvUN>9jG_Kc#i+sc)(ETjndw z&VT@+mE|}IE+}CP>MyO_0W*{!7*_2CJ`YfD$ldW?ljxjrxqO3%hog@UWSB=UtgHJMio9~=R@X_m~g-Q6C)HZCtE5AF-eFCo7xa6zj=++=yhUds{V z9^I@W0ba$$7@!)rBbCTD70%YJ=KZeZ=SZVaD98lI7Q~3s{5r@ahTvC(+Rlx0>{)wJ z2K13?(}WYk!+M0qmvML;eRiBJO5AY%H&qVNnOysN%7!BDJc?ZQEE%{%|Nm(E=HNQN z@9WsM-MF!Bn~l@hww~BdV>h;KHI3ESP8v7%?|#1XzB703%$<4W`Qx5*_St){z1E6; z@2_+0GTyv^y|&#vgH*lo-GfdNX+yvCV$ni8xCEXg72Y1Myv81Tj5vlZEbq>MOkK#> zMM&yq;yH=ultM47G)FWVucDcFl}y;Jbnxz1oEhqG|2uxhF*ucg{wnVF~Q8UUxP%^#drfX|t zG>IUpN600K$z*%^u=b+1J{Z;z|7}9yU-d#%*c^(to+7eEbL+3tlWDMq8E)+7mea|{ zmlqQ)vbDAPFIm^RGj$~r3r{VRETCFlLlWBAQ4twIPtR1n*hKE=9BA%ifVX7AP%j&* zh}vPVliIQkx)JFf;bufcB9H8t;3=gvh#i5L(+dE6-_1$UcpdAnh=jJ*≶PEQQio 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

      s(^FbKb+i!W>$fU~twvwgw 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 eusq>@1@dBJ+oj;E3V(rv{iv&GD_1l;H>=QZw From 968e31da3717a7b2661b162761a6aea522c38f38 Mon Sep 17 00:00:00 2001 From: HelmCrab <90987989+Thera-Pissed@users.noreply.github.com> Date: Tue, 3 Dec 2024 06:59:34 -0600 Subject: [PATCH 299/344] Reverts Hydrogen pipes in hangars, adds hydrogen pumps to nt ice and indie outpost (#3867) ## About The Pull Request Reverts hydrogen pipes and exchange terminal in hangars Adds hydrogen pump and exchange to main outpost level ![image](https://github.com/user-attachments/assets/a6467124-19c4-4f80-9db9-212b9a6ae77d) ![indiechanges](https://github.com/user-attachments/assets/d498c22e-6bd2-4ab8-ab1c-4c4c02e056b2) known bug, if a second outpost is spawned with admin tools, the volume pump breaks and needs to be re-wrenched. no idea how to fix it. This used to occur on all hangars so this should be an improvement? ## Why It's Good For The Game Atmospherics bugs make pumps not work in the most recent hangar, among other jank. Also, the fuel pipelines weren't great either. Hydrogen needs more work still, but at least it'll be obtainable without having to work around obscure bugs. ## Changelog :cl: add: added hydrogen pump and exchange to ntice and indie outposts del: reverts hangars, removing hydrogen pump, pipes, and exchange from indie and ntice hangars /:cl: --- _maps/outpost/hangar/indie_space_20x20.dmm | 368 +++----- _maps/outpost/hangar/indie_space_40x20.dmm | 443 +++------- _maps/outpost/hangar/indie_space_40x40.dmm | 502 ++++------- _maps/outpost/hangar/indie_space_56x20.dmm | 518 ++++------- _maps/outpost/hangar/indie_space_56x40.dmm | 575 ++++-------- _maps/outpost/hangar/nt_ice_20x20.dmm | 745 +++------------- _maps/outpost/hangar/nt_ice_40x20.dmm | 889 ++++--------------- _maps/outpost/hangar/nt_ice_40x40.dmm | 942 ++++---------------- _maps/outpost/hangar/nt_ice_56x20.dmm | 952 ++++---------------- _maps/outpost/hangar/nt_ice_56x40.dmm | 983 +++++---------------- _maps/outpost/indie_space.dmm | 114 ++- _maps/outpost/nanotrasen_ice.dmm | 188 +++- 12 files changed, 1795 insertions(+), 5424 deletions(-) diff --git a/_maps/outpost/hangar/indie_space_20x20.dmm b/_maps/outpost/hangar/indie_space_20x20.dmm index d0a327297d30..24c00395b2f6 100644 --- a/_maps/outpost/hangar/indie_space_20x20.dmm +++ b/_maps/outpost/hangar/indie_space_20x20.dmm @@ -66,11 +66,10 @@ /turf/closed/indestructible/reinforced, /area/hangar) "az" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ +/obj/effect/turf_decal/arrows{ dir = 4 }, -/turf/open/floor/plating{ +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -79,11 +78,7 @@ pixel_y = 25 }, /obj/effect/landmark/outpost/elevator_machine, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -138,10 +133,12 @@ }, /area/hangar) "aO" = ( -/obj/structure/railing{ +/obj/machinery/atmospherics/components/unary/passive_vent{ dir = 1 }, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel{ + planetary_atmos = 1 + }, /area/hangar) "aP" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{ @@ -152,58 +149,20 @@ }, /area/hangar) "aT" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ +/obj/effect/turf_decal/arrows{ + dir = 1 + }, +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) "aY" = ( /obj/effect/landmark/outpost/hangar_numbers, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"aZ" = ( /turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) -"dR" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"fT" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"fU" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"gu" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"iT" = ( -/obj/structure/railing/corner{ - dir = 4 - }, +"aZ" = ( /turf/open/floor/plasteel{ planetary_atmos = 1 }, @@ -219,138 +178,9 @@ planetary_atmos = 1 }, /area/hangar) -"qO" = ( -/obj/structure/table/reinforced, -/obj/structure/sign/warning/nosmoking/burnt{ - pixel_y = 28 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) "rQ" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"un" = ( -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"zH" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold4w/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Af" = ( -/obj/machinery/door/airlock/maintenance{ - req_access_txt = "101" - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Aj" = ( -/obj/machinery/computer/hydrogen_exchange, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"An" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"DI" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Ie" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"IW" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Ks" = ( -/obj/effect/turf_decal/industrial/shutoff, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"Li" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Oa" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"Sr" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"VO" = ( -/obj/structure/railing/corner{ - dir = 1; - layer = 4.1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Wk" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Xu" = ( -/obj/machinery/atmospherics/components/unary/hydrogen_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Xy" = ( -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/shutoff, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, +/obj/machinery/atmospherics/pipe/simple/general, +/turf/closed/indestructible/reinforced, /area/hangar) (1,1,1) = {" @@ -425,7 +255,7 @@ aH aH am aZ -fU +aZ aM ac ac @@ -448,7 +278,7 @@ aC ac ac ao -fU +aZ aZ am "} @@ -458,7 +288,7 @@ aH aH am aZ -fU +aZ aM ad ad @@ -481,7 +311,7 @@ ad ad ad ao -fU +aZ aZ am "} @@ -491,7 +321,7 @@ aH aH am aZ -fU +aZ aM aJ aJ @@ -514,7 +344,7 @@ aJ aJ aB ao -fU +aZ aZ am "} @@ -524,7 +354,7 @@ aH aH am aZ -fU +aZ aM aJ aJ @@ -547,7 +377,7 @@ aJ aJ aJ ao -fU +aZ aZ am "} @@ -557,7 +387,7 @@ aH aH am aZ -fU +az aM ap aJ @@ -580,7 +410,7 @@ aJ aJ ap ao -fU +az aZ am "} @@ -590,8 +420,8 @@ aH aH am aZ -Ie -Oa +aZ +aM aJ aJ aJ @@ -612,8 +442,8 @@ aJ aJ aJ aJ -Sr -gu +ao +aZ aZ am "} @@ -623,7 +453,7 @@ aH aH am aZ -az +aZ av aJ aJ @@ -646,7 +476,7 @@ aJ aJ aJ aq -Wk +aZ aZ am "} @@ -656,7 +486,7 @@ aH aH am aZ -az +aZ aM aJ aJ @@ -679,7 +509,7 @@ aJ aJ aJ ao -Wk +aZ aZ am "} @@ -689,7 +519,7 @@ aH aH am aZ -az +aZ aM aJ aJ @@ -712,7 +542,7 @@ aJ aJ aJ ao -Wk +aZ aZ am "} @@ -745,7 +575,7 @@ aJ aJ ap ao -Wk +az aZ am "} @@ -755,7 +585,7 @@ aH aH am aZ -az +aZ aM aJ aJ @@ -778,7 +608,7 @@ aJ aJ aJ ao -Wk +aZ aZ am "} @@ -788,7 +618,7 @@ aH aH am aZ -az +aZ aM aJ aJ @@ -811,7 +641,7 @@ aJ aJ aJ ao -Wk +aZ aZ am "} @@ -821,7 +651,7 @@ aH aH am aZ -az +aZ aM aJ aJ @@ -844,7 +674,7 @@ aJ aJ aJ ao -Wk +aZ aZ am "} @@ -854,7 +684,7 @@ aH aH am aZ -az +aZ aM aJ aJ @@ -877,7 +707,7 @@ aJ aJ aJ ao -Wk +aZ aZ am "} @@ -910,17 +740,17 @@ aJ aJ ap ao -Wk +az aZ am "} (18,1,1) = {" aH aH +aH am -am -iT -az +aZ +aZ aM aJ aJ @@ -943,17 +773,17 @@ aJ aJ aJ ao -Wk +aZ aZ am "} (19,1,1) = {" +aH +aH +aH am -am -am -Xu -aO -az +aZ +aZ av aJ aJ @@ -976,17 +806,17 @@ aJ aJ aJ aq -Wk +aZ aZ am "} (20,1,1) = {" +aH +aH +aH am -Af -un -Xy -VO -az +aZ +aZ aM aJ aJ @@ -1009,18 +839,18 @@ aJ aJ aJ ao -Wk +aZ aZ am "} (21,1,1) = {" +aH +aH +aH am -am -Aj -DI -aT -zH -Oa +aZ +aZ +aM aJ aJ aJ @@ -1041,17 +871,17 @@ aJ aJ aJ aJ -Sr -IW +ao +aZ aZ am "} (22,1,1) = {" aH +aH +aH am -qO -Ks -Li +aZ az aM ap @@ -1075,17 +905,17 @@ aJ aJ ap ao -Wk +az aZ am "} (23,1,1) = {" aH -am -am +aH +aH rQ aO -dR +aZ aM aJ aJ @@ -1108,7 +938,7 @@ aJ aJ aJ ao -Wk +aZ aZ am "} @@ -1141,7 +971,7 @@ aJ aJ aJ ao -Wk +aZ aZ am "} @@ -1151,7 +981,7 @@ qz qz jk ax -fT +aZ al aN aN @@ -1174,7 +1004,7 @@ aN aN aN aP -Wk +aZ aZ am "} @@ -1185,29 +1015,29 @@ qz qz ax aY +aZ +aZ +aZ aT +aZ +aZ +aZ +aZ aT +aZ +aZ +aZ +aZ aT +aZ +aZ +aZ +aZ aT -aT -aT -aT -aT -aT -aT -aT -aT -aT -aT -aT -aT -aT -aT -aT -aT -aT -aT -An +aZ +aZ +aZ +aZ aZ am "} @@ -1217,7 +1047,7 @@ qz qz qz ax -un +aZ aZ aZ aE diff --git a/_maps/outpost/hangar/indie_space_40x20.dmm b/_maps/outpost/hangar/indie_space_40x20.dmm index 35c8c8f6e11c..b3d80e6103bc 100644 --- a/_maps/outpost/hangar/indie_space_40x20.dmm +++ b/_maps/outpost/hangar/indie_space_40x20.dmm @@ -12,10 +12,9 @@ /area/hangar) "af" = ( /obj/effect/landmark/outpost/hangar_numbers, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 +/turf/open/floor/plasteel{ + planetary_atmos = 1 }, -/turf/open/floor/plasteel/tech/techmaint, /area/hangar) "ai" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, @@ -52,25 +51,20 @@ }, /area/hangar) "as" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"at" = ( -/obj/machinery/door/airlock/maintenance{ - req_access_txt = "101" +/obj/effect/turf_decal/arrows{ + dir = 1 }, -/turf/open/floor/plating{ +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) "av" = ( -/obj/structure/railing{ +/obj/machinery/atmospherics/components/unary/passive_vent{ dir = 1 }, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel{ + planetary_atmos = 1 + }, /area/hangar) "aw" = ( /obj/effect/turf_decal/arrows{ @@ -140,11 +134,7 @@ pixel_y = 25 }, /obj/effect/landmark/outpost/elevator_machine, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -160,21 +150,11 @@ planetary_atmos = 1 }, /area/hangar) -"aV" = ( -/obj/effect/turf_decal/industrial/shutoff, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) "aX" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ +/obj/effect/turf_decal/arrows{ dir = 4 }, -/turf/open/floor/plating{ +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -187,108 +167,6 @@ planetary_atmos = 1 }, /area/hangar) -"cr" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"fT" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"id" = ( -/obj/machinery/computer/hydrogen_exchange, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"kN" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"oo" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"pb" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"pf" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"qK" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"yq" = ( -/obj/structure/table/reinforced, -/obj/structure/sign/warning/nosmoking/burnt{ - pixel_y = 28 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"AH" = ( -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/shutoff, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"Ek" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"Ey" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"IY" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) "JT" = ( /turf/open/floor/plasteel/elevatorshaft{ planetary_atmos = 1 @@ -300,56 +178,9 @@ planetary_atmos = 1 }, /area/hangar) -"Pk" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"SR" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"TQ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold4w/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) "TX" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"UV" = ( -/obj/machinery/atmospherics/components/unary/hydrogen_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Wp" = ( -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"XP" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Yu" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, +/obj/machinery/atmospherics/pipe/simple/general, +/turf/closed/indestructible/reinforced, /area/hangar) (1,1,1) = {" @@ -424,7 +255,7 @@ aP aP ab aj -IY +aj aL aH aH @@ -447,7 +278,7 @@ aw aH aH al -IY +aj aj ab "} @@ -457,7 +288,7 @@ aP aP ab aj -IY +aj aL am am @@ -480,7 +311,7 @@ am am am al -IY +aj aj ab "} @@ -490,7 +321,7 @@ aP aP ab aj -IY +aj aL aD aD @@ -513,7 +344,7 @@ aD aD ap al -IY +aj aj ab "} @@ -523,7 +354,7 @@ aP aP ab aj -IY +aj aL aD aD @@ -546,7 +377,7 @@ aD aD aD al -IY +aj aj ab "} @@ -556,7 +387,7 @@ aP aP ab aj -IY +aX aL aG aD @@ -579,7 +410,7 @@ aD aD aG al -IY +aX aj ab "} @@ -589,8 +420,8 @@ aP aP ab aj -oo -fT +aj +aL aD aD aD @@ -611,8 +442,8 @@ aD aD aD aD -Ek -cr +al +aj aj ab "} @@ -622,7 +453,7 @@ aP aP ab aj -aX +aj ai aD aD @@ -645,7 +476,7 @@ aD aD aD aY -kN +aj aj ab "} @@ -655,7 +486,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -678,7 +509,7 @@ aD aD aD al -kN +aj aj ab "} @@ -688,7 +519,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -711,7 +542,7 @@ aD aD aD al -kN +aj aj ab "} @@ -744,7 +575,7 @@ aD aD aG al -kN +aX aj ab "} @@ -754,7 +585,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -777,7 +608,7 @@ aD aD aD al -kN +aj aj ab "} @@ -787,7 +618,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -810,7 +641,7 @@ aD aD aD al -kN +aj aj ab "} @@ -820,7 +651,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -843,7 +674,7 @@ aD aD aD al -kN +aj aj ab "} @@ -853,7 +684,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -876,7 +707,7 @@ aD aD aD al -kN +aj aj ab "} @@ -909,7 +740,7 @@ aD aD aG al -kN +aX aj ab "} @@ -919,7 +750,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -942,7 +773,7 @@ aD aD aD al -kN +aj aj ab "} @@ -952,7 +783,7 @@ aP aP ab aj -aX +aj ai aD aD @@ -975,7 +806,7 @@ aD aD aD aY -kN +aj aj ab "} @@ -985,7 +816,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1008,7 +839,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1018,7 +849,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1041,7 +872,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1074,7 +905,7 @@ aD aD aG al -kN +aX aj ab "} @@ -1084,7 +915,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1107,7 +938,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1117,8 +948,8 @@ aP aP ab aj -pb -fT +aj +aL aD aD aD @@ -1139,8 +970,8 @@ aD aD aD aD -Ek -SR +al +aj aj ab "} @@ -1150,7 +981,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1173,7 +1004,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1183,7 +1014,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1206,7 +1037,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1239,7 +1070,7 @@ aD aD aG al -kN +aX aj ab "} @@ -1249,7 +1080,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1272,7 +1103,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1282,7 +1113,7 @@ aP aP ab aj -aX +aj ai aD aD @@ -1305,7 +1136,7 @@ aD aD aD aY -kN +aj aj ab "} @@ -1315,7 +1146,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1338,7 +1169,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1348,7 +1179,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1371,7 +1202,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1404,7 +1235,7 @@ aD aD aG al -kN +aX aj ab "} @@ -1414,7 +1245,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1437,7 +1268,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1447,7 +1278,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1470,7 +1301,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1480,7 +1311,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1503,7 +1334,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1513,7 +1344,7 @@ aP aP ab aj -aX +aj aL aD aD @@ -1536,7 +1367,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1569,17 +1400,17 @@ aD aD aG al -kN +aX aj ab "} (38,1,1) = {" aP aP +aP ab -ab -Pk -aX +aj +aj aL aD aD @@ -1602,17 +1433,17 @@ aD aD aD al -kN +aj aj ab "} (39,1,1) = {" +aP +aP +aP ab -ab -ab -UV -av -aX +aj +aj ai aD aD @@ -1635,17 +1466,17 @@ aD aD aD aY -kN +aj aj ab "} (40,1,1) = {" +aP +aP +aP ab -at -Wp -AH -pf -aX +aj +aj aL aD aD @@ -1668,18 +1499,18 @@ aD aD aD al -kN +aj aj ab "} (41,1,1) = {" +aP +aP +aP ab -ab -id -pb -as -TQ -fT +aj +aj +aL aD aD aD @@ -1700,17 +1531,17 @@ aD aD aD aD -Ek -SR +al +aj aj ab "} (42,1,1) = {" aP +aP +aP ab -yq -aV -XP +aj aX aL aG @@ -1734,17 +1565,17 @@ aD aD aG al -kN +aX aj ab "} (43,1,1) = {" aP -ab -ab +aP +aP TX av -qK +aj aL aD aD @@ -1767,7 +1598,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1800,7 +1631,7 @@ aD aD aD al -kN +aj aj ab "} @@ -1810,7 +1641,7 @@ JT JT OP aF -Yu +aj aM aU aU @@ -1833,7 +1664,7 @@ aU aU aU ae -kN +aj aj ab "} @@ -1844,29 +1675,29 @@ JT JT aF af +aj +aj +aj as +aj +aj +aj +aj as +aj +aj +aj +aj as +aj +aj +aj +aj as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -as -Ey +aj +aj +aj +aj aj ab "} @@ -1876,7 +1707,7 @@ JT JT JT aF -Wp +aj aj aj aA diff --git a/_maps/outpost/hangar/indie_space_40x40.dmm b/_maps/outpost/hangar/indie_space_40x40.dmm index 01e75c51ee8a..9818aa943330 100644 --- a/_maps/outpost/hangar/indie_space_40x40.dmm +++ b/_maps/outpost/hangar/indie_space_40x40.dmm @@ -46,11 +46,7 @@ pixel_y = 25 }, /obj/effect/landmark/outpost/elevator_machine, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -83,9 +79,10 @@ /turf/template_noop, /area/template_noop) "aw" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ +/obj/effect/turf_decal/arrows{ + dir = 1 + }, +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -97,11 +94,10 @@ }, /area/hangar) "ay" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ +/obj/effect/turf_decal/arrows{ dir = 4 }, -/turf/open/floor/plating{ +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -126,10 +122,9 @@ /area/hangar) "aP" = ( /obj/effect/landmark/outpost/hangar_numbers, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 +/turf/open/floor/plasteel{ + planetary_atmos = 1 }, -/turf/open/floor/plasteel/tech/techmaint, /area/hangar) "aQ" = ( /obj/effect/turf_decal/trimline/opaque/yellow/warning{ @@ -159,10 +154,12 @@ }, /area/hangar) "aY" = ( -/obj/structure/railing{ +/obj/machinery/atmospherics/components/unary/passive_vent{ dir = 1 }, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel{ + planetary_atmos = 1 + }, /area/hangar) "aZ" = ( /obj/machinery/door/airlock, @@ -170,135 +167,14 @@ /obj/structure/lattice/catwalk, /turf/open/floor/engine, /area/hangar) -"fM" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"hX" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"iR" = ( -/obj/effect/turf_decal/industrial/shutoff, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) "jY" = ( /turf/open/floor/plasteel/elevatorshaft{ planetary_atmos = 1 }, /area/hangar) -"kN" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"mS" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold4w/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"qA" = ( -/obj/structure/table/reinforced, -/obj/structure/sign/warning/nosmoking/burnt{ - pixel_y = 28 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"wm" = ( -/obj/machinery/computer/hydrogen_exchange, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"xH" = ( -/obj/machinery/atmospherics/components/unary/hydrogen_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"yn" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) "BE" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Ev" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"Fb" = ( -/obj/structure/railing/corner{ - dir = 1; - layer = 4.1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Fj" = ( -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/shutoff, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"Fm" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Hs" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"HB" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, +/obj/machinery/atmospherics/pipe/simple/general, +/turf/closed/indestructible/reinforced, /area/hangar) "JI" = ( /obj/effect/landmark/outpost/elevator, @@ -306,72 +182,6 @@ planetary_atmos = 1 }, /area/hangar) -"KC" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Ol" = ( -/obj/machinery/door/airlock/maintenance{ - req_access_txt = "101" - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Pk" = ( -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"PN" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"RL" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Se" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Wc" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"XA" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"XZ" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) (1,1,1) = {" au @@ -485,7 +295,7 @@ au au aa aT -Se +aT ah at at @@ -528,7 +338,7 @@ as at at ab -Se +aT aT aa "} @@ -538,7 +348,7 @@ au au aa aT -Se +aT ah aQ aQ @@ -581,7 +391,7 @@ aQ aQ aQ ab -Se +aT aT aa "} @@ -591,7 +401,7 @@ au au aa aT -Se +aT ah aF aF @@ -634,7 +444,7 @@ aF aF aH ab -Se +aT aT aa "} @@ -644,7 +454,7 @@ au au aa aT -Se +aT ah aF aF @@ -687,7 +497,7 @@ aF aF aF ab -Se +aT aT aa "} @@ -697,7 +507,7 @@ au au aa aT -Se +ay ah ac aF @@ -740,7 +550,7 @@ aF aF ac ab -Se +ay aT aa "} @@ -750,8 +560,8 @@ au au aa aT -hX -Ev +aT +ah aF aF aF @@ -792,8 +602,8 @@ aF aF aF aF -XZ -KC +ab +aT aT aa "} @@ -803,7 +613,7 @@ au au aa aT -ay +aT ax aF aF @@ -846,7 +656,7 @@ aF aF aF ak -fM +aT aT aa "} @@ -856,7 +666,7 @@ au au aa aT -ay +aT ah aF aF @@ -899,7 +709,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -909,7 +719,7 @@ au au aa aT -ay +aT ah aF aF @@ -952,7 +762,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1005,7 +815,7 @@ aF aF ac ab -fM +ay aT aa "} @@ -1015,7 +825,7 @@ au au aa aT -ay +aT ah aF aF @@ -1058,7 +868,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1068,7 +878,7 @@ au au aa aT -ay +aT ah aF aF @@ -1111,7 +921,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1121,7 +931,7 @@ au au aa aT -ay +aT ah aF aF @@ -1164,7 +974,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1174,7 +984,7 @@ au au aa aT -ay +aT ah aF aF @@ -1217,7 +1027,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1270,7 +1080,7 @@ aF aF ac ab -fM +ay aT aa "} @@ -1280,7 +1090,7 @@ au au aa aT -ay +aT ah aF aF @@ -1323,7 +1133,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1333,7 +1143,7 @@ au au aa aT -ay +aT ax aF aF @@ -1376,7 +1186,7 @@ aF aF aF ak -fM +aT aT aa "} @@ -1386,7 +1196,7 @@ au au aa aT -ay +aT ah aF aF @@ -1429,7 +1239,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1439,7 +1249,7 @@ au au aa aT -ay +aT ah aF aF @@ -1482,7 +1292,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1535,7 +1345,7 @@ aF aF ac ab -fM +ay aT aa "} @@ -1545,7 +1355,7 @@ au au aa aT -ay +aT ah aF aF @@ -1588,7 +1398,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1598,8 +1408,8 @@ au au aa aT -HB -Ev +aT +ah aF aF aF @@ -1640,8 +1450,8 @@ aF aF aF aF -XZ -RL +ab +aT aT aa "} @@ -1651,7 +1461,7 @@ au au aa aT -ay +aT ah aF aF @@ -1694,7 +1504,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1704,7 +1514,7 @@ au au aa aT -ay +aT ah aF aF @@ -1747,7 +1557,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1800,7 +1610,7 @@ aF aF ac ab -fM +ay aT aa "} @@ -1810,7 +1620,7 @@ au au aa aT -ay +aT ah aF aF @@ -1853,7 +1663,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1863,7 +1673,7 @@ au au aa aT -ay +aT ax aF aF @@ -1906,7 +1716,7 @@ aF aF aF ak -fM +aT aT aa "} @@ -1916,7 +1726,7 @@ au au aa aT -ay +aT ah aF aF @@ -1959,7 +1769,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -1969,7 +1779,7 @@ au au aa aT -ay +aT ah aF aF @@ -2012,7 +1822,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -2065,7 +1875,7 @@ aF aF ac ab -fM +ay aT aa "} @@ -2075,7 +1885,7 @@ au au aa aT -ay +aT ah aF aF @@ -2118,7 +1928,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -2128,7 +1938,7 @@ au au aa aT -ay +aT ah aF aF @@ -2171,7 +1981,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -2181,7 +1991,7 @@ au au aa aT -ay +aT ah aF aF @@ -2224,7 +2034,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -2234,7 +2044,7 @@ au au aa aT -ay +aT ah aF aF @@ -2277,7 +2087,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -2330,17 +2140,17 @@ aF aF ac ab -fM +ay aT aa "} (38,1,1) = {" au au +au aa -aa -kN -ay +aT +aT ah aF aF @@ -2383,17 +2193,17 @@ aF aF aF ab -fM +aT aT aa "} (39,1,1) = {" +au +au +au aa -aa -aa -xH -aY -ay +aT +aT ax aF aF @@ -2436,17 +2246,17 @@ aF aF aF ak -fM +aT aT aa "} (40,1,1) = {" +au +au +au aa -Ol -Pk -Fj -Fb -ay +aT +aT ah aF aF @@ -2489,18 +2299,18 @@ aF aF aF ab -fM +aT aT aa "} (41,1,1) = {" +au +au +au aa -aa -wm -HB -aw -mS -Ev +aT +aT +ah aF aF aF @@ -2541,17 +2351,17 @@ aF aF aF aF -XZ -RL +ab +aT aT aa "} (42,1,1) = {" au +au +au aa -qA -iR -Fm +aT ay ah ac @@ -2595,17 +2405,17 @@ aF aF ac ab -fM +ay aT aa "} (43,1,1) = {" au -aa -aa +au +au BE aY -XA +aT ah aF aF @@ -2648,7 +2458,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -2701,7 +2511,7 @@ aF aF aF ab -fM +aT aT aa "} @@ -2711,7 +2521,7 @@ jY jY JI aZ -Wc +aT aC ag ag @@ -2725,7 +2535,6 @@ ag ag ag ag -yn ag ag ag @@ -2740,7 +2549,8 @@ ag ag ag ag -yn +ag +ag ag ag ag @@ -2754,7 +2564,7 @@ ag ag ag aX -fM +aT aT aa "} @@ -2765,49 +2575,49 @@ jY jY aZ aP +aT +aT +aT aw +aT +aT +aT +aT aw +aT +aT +aT +aT aw +aT +aT +aT +aT aw +aT +aT +aT +aT aw +aT +aT +aT +aT aw +aT +aT +aT +aT aw +aT +aT +aT +aT aw -aw -aw -aw -aw -aw -Hs -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -Hs -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -aw -PN +aT +aT +aT +aT aT aa "} @@ -2817,7 +2627,7 @@ jY jY jY aZ -Pk +aT aT aS aT diff --git a/_maps/outpost/hangar/indie_space_56x20.dmm b/_maps/outpost/hangar/indie_space_56x20.dmm index ad3aeb33fe8a..93842d2587a5 100644 --- a/_maps/outpost/hangar/indie_space_56x20.dmm +++ b/_maps/outpost/hangar/indie_space_56x20.dmm @@ -17,12 +17,6 @@ "ag" = ( /turf/closed/indestructible/reinforced, /area/hangar) -"ah" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) "ai" = ( /obj/effect/turf_decal/arrows{ dir = 1 @@ -71,11 +65,7 @@ pixel_y = 25 }, /obj/effect/landmark/outpost/elevator_machine, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -88,17 +78,18 @@ }, /area/hangar) "ay" = ( -/obj/structure/railing{ +/obj/machinery/atmospherics/components/unary/passive_vent{ dir = 1 }, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel{ + planetary_atmos = 1 + }, /area/hangar) "aB" = ( /obj/effect/landmark/outpost/hangar_numbers, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 +/turf/open/floor/plasteel{ + planetary_atmos = 1 }, -/turf/open/floor/plasteel/tech/techmaint, /area/hangar) "aC" = ( /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ @@ -109,9 +100,10 @@ }, /area/hangar) "aD" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ +/obj/effect/turf_decal/arrows{ + dir = 1 + }, +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -124,11 +116,10 @@ }, /area/hangar) "aG" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 +/obj/effect/turf_decal/arrows{ + dir = 4 }, -/turf/open/floor/plating{ +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -182,167 +173,14 @@ planetary_atmos = 1 }, /area/hangar) -"lA" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"mV" = ( -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) "mX" = ( /turf/open/floor/plasteel/elevatorshaft{ planetary_atmos = 1 }, /area/hangar) -"pt" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"qG" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"rb" = ( -/obj/structure/railing/corner{ - dir = 4; - layer = 4.1 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"st" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) "vM" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"wb" = ( -/obj/structure/table/reinforced, -/obj/structure/sign/warning/nosmoking/burnt{ - pixel_y = 28 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"xG" = ( -/obj/machinery/computer/hydrogen_exchange, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"DF" = ( -/obj/effect/turf_decal/industrial/shutoff, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"EZ" = ( -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"GM" = ( -/obj/machinery/door/airlock/maintenance{ - req_access_txt = "101" - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Jt" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Ld" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold4w/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"MY" = ( -/obj/machinery/atmospherics/components/unary/hydrogen_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Td" = ( -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/shutoff, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"TZ" = ( -/obj/structure/railing/corner{ - dir = 4; - layer = 4.1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Ua" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Ud" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"UF" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"WZ" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, +/obj/machinery/atmospherics/pipe/simple/general, +/turf/closed/indestructible/reinforced, /area/hangar) (1,1,1) = {" @@ -417,7 +255,7 @@ aZ aZ ag an -pt +an aJ ae ae @@ -440,7 +278,7 @@ ai ae ae aC -pt +an an ag "} @@ -450,7 +288,7 @@ aZ aZ ag an -pt +an aJ ax ax @@ -473,7 +311,7 @@ ax ax ax aC -pt +an an ag "} @@ -483,7 +321,7 @@ aZ aZ ag an -pt +an aJ aN aN @@ -506,7 +344,7 @@ aN aN af aC -pt +an an ag "} @@ -516,7 +354,7 @@ aZ aZ ag an -pt +an aJ aN aN @@ -539,7 +377,7 @@ aN aN aN aC -pt +an an ag "} @@ -549,7 +387,7 @@ aZ aZ ag an -pt +aG aJ al aN @@ -572,7 +410,7 @@ aN aN al aC -pt +aG an ag "} @@ -582,8 +420,8 @@ aZ aZ ag an -st -qG +an +aJ aN aN aN @@ -604,8 +442,8 @@ aN aN aN aN -Ud -Ua +aC +an an ag "} @@ -615,7 +453,7 @@ aZ aZ ag an -Jt +an aI aN aN @@ -638,7 +476,7 @@ aN aN aN aK -Jt +an an ag "} @@ -648,7 +486,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -671,7 +509,7 @@ aN aN aN aC -Jt +an an ag "} @@ -681,7 +519,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -704,7 +542,7 @@ aN aN aN aC -Jt +an an ag "} @@ -714,7 +552,7 @@ aZ aZ ag an -Jt +aG aJ al aN @@ -737,7 +575,7 @@ aN aN al aC -Jt +aG an ag "} @@ -747,7 +585,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -770,7 +608,7 @@ aN aN aN aC -Jt +an an ag "} @@ -780,7 +618,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -803,7 +641,7 @@ aN aN aN aC -Jt +an an ag "} @@ -813,7 +651,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -836,7 +674,7 @@ aN aN aN aC -Jt +an an ag "} @@ -846,7 +684,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -869,7 +707,7 @@ aN aN aN aC -Jt +an an ag "} @@ -879,7 +717,7 @@ aZ aZ ag an -Jt +aG aJ al aN @@ -902,7 +740,7 @@ aN aN al aC -Jt +aG an ag "} @@ -912,7 +750,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -935,7 +773,7 @@ aN aN aN aC -Jt +an an ag "} @@ -945,7 +783,7 @@ aZ aZ ag an -Jt +an aI aN aN @@ -968,7 +806,7 @@ aN aN aN aK -Jt +an an ag "} @@ -978,7 +816,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1001,7 +839,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1011,7 +849,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1034,7 +872,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1044,7 +882,7 @@ aZ aZ ag an -Jt +aG aJ al aN @@ -1067,7 +905,7 @@ aN aN al aC -Jt +aG an ag "} @@ -1077,7 +915,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1100,7 +938,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1110,7 +948,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1133,7 +971,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1143,7 +981,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1166,7 +1004,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1176,7 +1014,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1199,7 +1037,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1210,7 +1048,7 @@ aZ ag an aG -qG +aJ al aN aN @@ -1231,8 +1069,8 @@ aN aN aN al -Ud -UF +aC +aG an ag "} @@ -1242,7 +1080,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1265,7 +1103,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1275,7 +1113,7 @@ aZ aZ ag an -Jt +an aI aN aN @@ -1298,7 +1136,7 @@ aN aN aN aK -Jt +an an ag "} @@ -1308,7 +1146,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1331,7 +1169,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1341,7 +1179,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1364,7 +1202,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1374,7 +1212,7 @@ aZ aZ ag an -Jt +aG aJ al aN @@ -1397,7 +1235,7 @@ aN aN al aC -Jt +aG an ag "} @@ -1407,7 +1245,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1430,7 +1268,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1440,7 +1278,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1463,7 +1301,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1473,7 +1311,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1496,7 +1334,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1506,7 +1344,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1529,7 +1367,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1539,7 +1377,7 @@ aZ aZ ag an -Jt +aG aJ al aN @@ -1562,7 +1400,7 @@ aN aN al aC -Jt +aG an ag "} @@ -1572,7 +1410,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1595,7 +1433,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1605,7 +1443,7 @@ aZ aZ ag an -Jt +an aI aN aN @@ -1628,7 +1466,7 @@ aN aN aN aK -Jt +an an ag "} @@ -1638,7 +1476,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1661,7 +1499,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1671,8 +1509,8 @@ aZ aZ ag an -aG -qG +an +aJ aN aN aN @@ -1693,8 +1531,8 @@ aN aN aN aN -Ud -UF +aC +an an ag "} @@ -1704,7 +1542,7 @@ aZ aZ ag an -Jt +aG aJ al aN @@ -1727,7 +1565,7 @@ aN aN al aC -Jt +aG an ag "} @@ -1737,7 +1575,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1760,7 +1598,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1770,7 +1608,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1793,7 +1631,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1803,7 +1641,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1826,7 +1664,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1836,7 +1674,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1859,7 +1697,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1869,7 +1707,7 @@ aZ aZ ag an -Jt +aG aJ al aN @@ -1892,7 +1730,7 @@ aN aN al aC -Jt +aG an ag "} @@ -1902,7 +1740,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1925,7 +1763,7 @@ aN aN aN aC -Jt +an an ag "} @@ -1935,7 +1773,7 @@ aZ aZ ag an -Jt +an aI aN aN @@ -1958,7 +1796,7 @@ aN aN aN aK -Jt +an an ag "} @@ -1968,7 +1806,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -1991,7 +1829,7 @@ aN aN aN aC -Jt +an an ag "} @@ -2001,7 +1839,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -2024,7 +1862,7 @@ aN aN aN aC -Jt +an an ag "} @@ -2034,7 +1872,7 @@ aZ aZ ag an -Jt +aG aJ al aN @@ -2057,7 +1895,7 @@ aN aN al aC -Jt +aG an ag "} @@ -2067,7 +1905,7 @@ aZ aZ ag an -Jt +an aJ aN aN @@ -2090,17 +1928,17 @@ aN aN aN aC -Jt +an an ag "} (54,1,1) = {" aZ aZ +aZ ag -ag -rb -Jt +an +an aJ aN aN @@ -2123,17 +1961,17 @@ aN aN aN aC -Jt +an an ag "} (55,1,1) = {" +aZ +aZ +aZ ag -ag -ag -MY -ay -Jt +an +an aJ aN aN @@ -2156,17 +1994,17 @@ aN aN aN aC -Jt +an an ag "} (56,1,1) = {" +aZ +aZ +aZ ag -GM -mV -Td -EZ -Jt +an +an aJ aN aN @@ -2189,18 +2027,18 @@ aN aN aN aC -Jt +an an ag "} (57,1,1) = {" +aZ +aZ +aZ ag -ag -xG +an aG -aD -Ld -qG +aJ al aN aN @@ -2221,18 +2059,18 @@ aN aN aN al -Ud -UF +aC +aG an ag "} (58,1,1) = {" aZ +aZ +aZ ag -wb -DF -TZ -Jt +an +an aJ aN aN @@ -2255,17 +2093,17 @@ aN aN aN aC -Jt +an an ag "} (59,1,1) = {" aZ -ag -ag +aZ +aZ vM ay -WZ +an aI aN aN @@ -2288,7 +2126,7 @@ aN aN aN aK -Jt +an an ag "} @@ -2321,7 +2159,7 @@ aN aN aN aC -Jt +an an ag "} @@ -2331,7 +2169,7 @@ mX mX jJ aj -ah +an ap aE aE @@ -2354,7 +2192,7 @@ aE aE aE am -Jt +an an ag "} @@ -2365,29 +2203,29 @@ mX mX aj aB +an +an +an aD +an +an +an +an aD +an +an +an +an aD +an +an +an +an aD -aD -aD -aD -aD -aD -aD -aD -aD -aD -aD -aD -aD -aD -aD -aD -aD -aD -aD -lA +an +an +an +an an ag "} @@ -2397,7 +2235,7 @@ mX mX mX aj -mV +an an an aP diff --git a/_maps/outpost/hangar/indie_space_56x40.dmm b/_maps/outpost/hangar/indie_space_56x40.dmm index f2c909c23aaf..4adf317b8435 100644 --- a/_maps/outpost/hangar/indie_space_56x40.dmm +++ b/_maps/outpost/hangar/indie_space_56x40.dmm @@ -4,11 +4,7 @@ pixel_y = 25 }, /obj/effect/landmark/outpost/elevator_machine, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -52,16 +48,17 @@ /area/hangar) "ar" = ( /obj/effect/landmark/outpost/hangar_numbers, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 +/turf/open/floor/plasteel{ + planetary_atmos = 1 }, -/turf/open/floor/plasteel/tech/techmaint, /area/hangar) "at" = ( -/obj/structure/railing{ +/obj/machinery/atmospherics/components/unary/passive_vent{ dir = 1 }, -/turf/open/floor/plasteel/tech/techmaint, +/turf/open/floor/plasteel{ + planetary_atmos = 1 + }, /area/hangar) "au" = ( /obj/machinery/light/floor/hangar, @@ -85,8 +82,10 @@ }, /area/hangar) "aD" = ( -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ +/obj/effect/turf_decal/arrows{ + dir = 4 + }, +/turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) @@ -162,172 +161,21 @@ /turf/template_noop, /area/template_noop) "aZ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"ck" = ( -/turf/open/floor/plasteel/elevatorshaft{ - planetary_atmos = 1 - }, -/area/hangar) -"cR" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ +/obj/effect/turf_decal/arrows{ dir = 1 }, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"ec" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4 - }, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"el" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"ho" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold4w/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"ik" = ( -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/shutoff, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"il" = ( -/obj/machinery/computer/hydrogen_exchange, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"mh" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"mP" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"qn" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"uh" = ( -/obj/structure/table/reinforced, -/obj/structure/sign/warning/nosmoking/burnt{ - pixel_y = 28 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"vi" = ( -/obj/structure/railing/corner{ - dir = 4; - layer = 4.1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"vl" = ( -/obj/effect/turf_decal/industrial/shutoff, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, /turf/open/floor/plasteel{ planetary_atmos = 1 }, /area/hangar) -"vq" = ( -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"zp" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"AN" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"GH" = ( -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/obj/structure/catwalk/over/plated_catwalk, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"Hd" = ( -/obj/structure/railing/corner{ - dir = 1; - layer = 4.1 - }, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Lx" = ( -/obj/structure/railing/corner{ - dir = 4; - layer = 4.1 - }, -/turf/open/floor/plasteel{ +"ck" = ( +/turf/open/floor/plasteel/elevatorshaft{ planetary_atmos = 1 }, /area/hangar) "MN" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"NB" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, +/obj/machinery/atmospherics/pipe/simple/general, +/turf/closed/indestructible/reinforced, /area/hangar) "Qi" = ( /obj/effect/landmark/outpost/elevator, @@ -335,37 +183,6 @@ planetary_atmos = 1 }, /area/hangar) -"Sw" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) -"SV" = ( -/obj/machinery/atmospherics/components/unary/hydrogen_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/outline/yellow, -/turf/open/floor/plasteel/tech/techmaint, -/area/hangar) -"Tt" = ( -/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel{ - planetary_atmos = 1 - }, -/area/hangar) -"WQ" = ( -/obj/machinery/door/airlock/maintenance{ - req_access_txt = "101" - }, -/turf/open/floor/plating{ - planetary_atmos = 1 - }, -/area/hangar) (1,1,1) = {" aV @@ -479,7 +296,7 @@ aV aV aH aN -aD +aN aP aG aG @@ -522,7 +339,7 @@ aw aG aG aT -aD +aN aN aH "} @@ -532,7 +349,7 @@ aV aV aH aN -aD +aN aP ai ai @@ -575,7 +392,7 @@ ai ai ai aT -aD +aN aN aH "} @@ -585,7 +402,7 @@ aV aV aH aN -aD +aN aP aM aM @@ -628,7 +445,7 @@ aM aM aj aT -aD +aN aN aH "} @@ -638,7 +455,7 @@ aV aV aH aN -aD +aN aP aM aM @@ -681,7 +498,7 @@ aM aM aM aT -aD +aN aN aH "} @@ -744,8 +561,8 @@ aV aV aH aN -el -Tt +aN +aP aM aM aM @@ -786,8 +603,8 @@ aM aM aM aM -cR -zp +aT +aN aN aH "} @@ -797,7 +614,7 @@ aV aV aH aN -qn +aN am aM aM @@ -840,7 +657,7 @@ aM aM aM ao -qn +aN aN aH "} @@ -850,7 +667,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -893,7 +710,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -903,7 +720,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -946,7 +763,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -956,7 +773,7 @@ aV aV aH aN -qn +aD aP aE aM @@ -999,7 +816,7 @@ aM aM aE aT -qn +aD aN aH "} @@ -1009,7 +826,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1052,7 +869,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1062,7 +879,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1105,7 +922,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1115,7 +932,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1158,7 +975,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1168,7 +985,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1211,7 +1028,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1221,7 +1038,7 @@ aV aV aH aN -qn +aD aP aE aM @@ -1264,7 +1081,7 @@ aM aM aE aT -qn +aD aN aH "} @@ -1274,7 +1091,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1317,7 +1134,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1327,7 +1144,7 @@ aV aV aH aN -qn +aN am aM aM @@ -1370,7 +1187,7 @@ aM aM aM ao -qn +aN aN aH "} @@ -1380,7 +1197,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1423,7 +1240,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1433,7 +1250,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1476,7 +1293,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1486,7 +1303,7 @@ aV aV aH aN -qn +aD aP aE aM @@ -1529,7 +1346,7 @@ aM aM aE aT -qn +aD aN aH "} @@ -1539,7 +1356,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1582,7 +1399,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1592,7 +1409,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1635,7 +1452,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1645,7 +1462,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1688,7 +1505,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1698,7 +1515,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1741,7 +1558,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1751,8 +1568,8 @@ aV aV aH aN -Sw -Tt +aD +aP aE aM aM @@ -1793,8 +1610,8 @@ aM aM aM aE -cR -mh +aT +aD aN aH "} @@ -1804,7 +1621,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1847,7 +1664,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1857,7 +1674,7 @@ aV aV aH aN -qn +aN am aM aM @@ -1900,7 +1717,7 @@ aM aM aM ao -qn +aN aN aH "} @@ -1910,7 +1727,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -1953,7 +1770,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -1963,7 +1780,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2006,7 +1823,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2016,7 +1833,7 @@ aV aV aH aN -qn +aD aP aE aM @@ -2059,7 +1876,7 @@ aM aM aE aT -qn +aD aN aH "} @@ -2069,7 +1886,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2112,7 +1929,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2122,7 +1939,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2165,7 +1982,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2175,7 +1992,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2218,7 +2035,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2228,7 +2045,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2271,7 +2088,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2281,7 +2098,7 @@ aV aV aH aN -qn +aD aP aE aM @@ -2324,7 +2141,7 @@ aM aM aE aT -qn +aD aN aH "} @@ -2334,7 +2151,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2377,7 +2194,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2387,7 +2204,7 @@ aV aV aH aN -qn +aN am aM aM @@ -2430,7 +2247,7 @@ aM aM aM ao -qn +aN aN aH "} @@ -2440,7 +2257,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2483,7 +2300,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2493,8 +2310,8 @@ aV aV aH aN -Sw -Tt +aN +aP aM aM aM @@ -2535,8 +2352,8 @@ aM aM aM aM -cR -mh +aT +aN aN aH "} @@ -2546,7 +2363,7 @@ aV aV aH aN -qn +aD aP aE aM @@ -2589,7 +2406,7 @@ aM aM aE aT -qn +aD aN aH "} @@ -2599,7 +2416,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2642,7 +2459,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2652,7 +2469,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2695,7 +2512,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2705,7 +2522,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2748,7 +2565,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2758,7 +2575,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2801,7 +2618,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2811,7 +2628,7 @@ aV aV aH aN -qn +aD aP aE aM @@ -2854,7 +2671,7 @@ aM aM aE aT -qn +aD aN aH "} @@ -2864,7 +2681,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -2907,7 +2724,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -2917,7 +2734,7 @@ aV aV aH aN -qn +aN am aM aM @@ -2960,7 +2777,7 @@ aM aM aM ao -qn +aN aN aH "} @@ -2970,7 +2787,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -3013,7 +2830,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -3023,7 +2840,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -3066,7 +2883,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -3076,7 +2893,7 @@ aV aV aH aN -qn +aD aP aE aM @@ -3119,7 +2936,7 @@ aM aM aE aT -qn +aD aN aH "} @@ -3129,7 +2946,7 @@ aV aV aH aN -qn +aN aP aM aM @@ -3172,17 +2989,17 @@ aM aM aM aT -qn +aN aN aH "} (54,1,1) = {" aV aV +aV aH -aH -Lx -qn +aN +aN aP aM aM @@ -3225,17 +3042,17 @@ aM aM aM aT -qn +aN aN aH "} (55,1,1) = {" +aV +aV +aV aH -aH -aH -SV -at -qn +aN +aN aP aM aM @@ -3278,17 +3095,17 @@ aM aM aM aT -qn +aN aN aH "} (56,1,1) = {" +aV +aV +aV aH -WQ -vq -ik -Hd -qn +aN +aN aP aM aM @@ -3331,18 +3148,18 @@ aM aM aM aT -qn +aN aN aH "} (57,1,1) = {" +aV +aV +aV aH -aH -il -Sw -aZ -ho -Tt +aN +aD +aP aE aM aM @@ -3383,18 +3200,18 @@ aM aM aM aE -cR -mh +aT +aD aN aH "} (58,1,1) = {" aV +aV +aV aH -uh -vl -vi -qn +aN +aN aP aM aM @@ -3437,17 +3254,17 @@ aM aM aM aT -qn +aN aN aH "} (59,1,1) = {" aV -aH -aH +aV +aV MN at -GH +aN am aM aM @@ -3490,7 +3307,7 @@ aM aM aM ao -qn +aN aN aH "} @@ -3543,7 +3360,7 @@ aM aM aM aT -qn +aN aN aH "} @@ -3553,7 +3370,7 @@ ck ck Qi aA -AN +aN aK aO aO @@ -3567,7 +3384,6 @@ aO aO aO aO -ec aO aO aO @@ -3582,7 +3398,8 @@ aO aO aO aO -ec +aO +aO aO aO aO @@ -3596,7 +3413,7 @@ aO aO aO aI -qn +aN aN aH "} @@ -3607,49 +3424,49 @@ ck ck aA ar +aN +aN +aN aZ +aN +aN +aN +aN aZ +aN +aN +aN +aN aZ +aN +aN +aN +aN aZ +aN +aN +aN +aN aZ +aN +aN +aN +aN aZ +aN +aN +aN +aN aZ +aN +aN +aN +aN aZ -aZ -aZ -aZ -aZ -aZ -mP -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -mP -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -aZ -NB +aN +aN +aN +aN aN aH "} @@ -3659,7 +3476,7 @@ ck ck ck aA -vq +aN aN au aN diff --git a/_maps/outpost/hangar/nt_ice_20x20.dmm b/_maps/outpost/hangar/nt_ice_20x20.dmm index 03321bfceaa3..ec7577ab620f 100644 --- a/_maps/outpost/hangar/nt_ice_20x20.dmm +++ b/_maps/outpost/hangar/nt_ice_20x20.dmm @@ -191,31 +191,6 @@ planetary_atmos = 1 }, /area/hangar) -"bv" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"bw" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "bA" = ( /obj/effect/turf_decal/borderfloor{ dir = 4 @@ -289,7 +264,6 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, /turf/open/floor/plating{ light_color = "#1B1D2E"; light_range = 2; @@ -306,17 +280,6 @@ planetary_atmos = 1 }, /area/hangar) -"ee" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "fb" = ( /obj/effect/turf_decal/siding/white{ dir = 6 @@ -326,15 +289,6 @@ planetary_atmos = 1 }, /area/hangar) -"fT" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "gy" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning{ @@ -396,49 +350,6 @@ light_range = 2 }, /area/hangar) -"iT" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"ka" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"kq" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "me" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -448,20 +359,6 @@ planetary_atmos = 1 }, /area/hangar) -"mz" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "mR" = ( /obj/machinery/door/airlock/outpost, /turf/open/floor/plasteel/tech, @@ -477,18 +374,6 @@ planetary_atmos = 1 }, /area/hangar) -"nI" = ( -/obj/effect/turf_decal/borderfloor/full, -/obj/machinery/light/floor, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "nK" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -514,20 +399,6 @@ light_range = 2 }, /area/hangar) -"om" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"oA" = ( -/obj/machinery/door/airlock/outpost, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/plasteel/tech, -/area/hangar) "oE" = ( /obj/effect/turf_decal/borderfloor, /obj/effect/turf_decal/siding/white{ @@ -573,26 +444,6 @@ planetary_atmos = 1 }, /area/hangar) -"qk" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 8 - }, -/obj/machinery/computer/hydrogen_exchange{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"qV" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "rj" = ( /turf/open/floor/plating/asteroid/snow/temperatre{ light_color = "#1B1D2E"; @@ -618,15 +469,6 @@ planetary_atmos = 1 }, /area/hangar) -"sd" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 4 - }, -/obj/item/toy/plush/moth/firewatch{ - pixel_y = 3 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "sV" = ( /obj/structure/closet/crate/bin, /obj/effect/turf_decal/industrial/outline/yellow, @@ -639,18 +481,6 @@ }, /turf/open/floor/plasteel/dark, /area/hangar) -"tt" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "ui" = ( /obj/effect/turf_decal/borderfloor{ dir = 10 @@ -684,25 +514,6 @@ planetary_atmos = 1 }, /area/hangar) -"xv" = ( -/obj/structure/railing{ - dir = 5; - layer = 2.8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "xB" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning{ @@ -738,32 +549,6 @@ planetary_atmos = 1 }, /area/hangar) -"yE" = ( -/obj/structure/flora/grass/both, -/obj/item/trash/candy{ - pixel_x = 4; - layer = 2.8 - }, -/turf/open/floor/plating/asteroid/snow/temperatre{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"zs" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/machinery/light/floor{ - bulb_power = 0.75 - }, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Aj" = ( /obj/effect/turf_decal/borderfloor/corner, /obj/effect/turf_decal/siding/white{ @@ -778,44 +563,6 @@ planetary_atmos = 1 }, /area/hangar) -"AE" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"AI" = ( -/obj/structure/flora/grass/green, -/obj/item/trash/energybar{ - layer = 2.8 - }, -/turf/open/floor/plating/asteroid/snow/temperatre{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"Bw" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"De" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Dh" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/dirt{ @@ -828,29 +575,6 @@ planetary_atmos = 1 }, /area/hangar) -"Dq" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/volume_pump, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"DK" = ( -/obj/structure/flora/stump, -/turf/open/floor/plating/asteroid/snow/temperatre{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "ES" = ( /obj/effect/turf_decal/borderfloor{ dir = 6 @@ -880,18 +604,6 @@ planetary_atmos = 1 }, /area/hangar) -"Fn" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "FM" = ( /obj/effect/turf_decal/siding/white{ dir = 10 @@ -913,7 +625,6 @@ /obj/effect/turf_decal/borderfloor/full, /obj/machinery/light/floor, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel/patterned/cargo_one{ light_color = "#1B1D2E"; light_range = 2 @@ -952,20 +663,6 @@ light_range = 2 }, /area/hangar) -"HG" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/shutoff, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "Iz" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -996,29 +693,12 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, /turf/open/floor/plating{ light_color = "#1B1D2E"; light_range = 2; planetary_atmos = 1 }, /area/hangar) -"JD" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/shutoff, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "JU" = ( /obj/effect/turf_decal/siding/white{ dir = 8 @@ -1038,17 +718,6 @@ planetary_atmos = 1 }, /area/hangar) -"Kw" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "KC" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/oil, @@ -1069,37 +738,6 @@ light_range = 2 }, /area/hangar) -"Lu" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Lz" = ( -/obj/structure/railing{ - dir = 9; - layer = 2.8 - }, -/obj/machinery/atmospherics/components/unary/hydrogen_pump{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "MI" = ( /obj/structure/flora/grass/both, /turf/open/floor/plating/asteroid/snow/temperatre{ @@ -1126,27 +764,15 @@ }, /area/hangar) "MR" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 +/obj/effect/turf_decal/borderfloor, +/obj/effect/turf_decal/siding/white{ + dir = 1 }, -/area/hangar) -"NH" = ( -/obj/effect/turf_decal/borderfloor{ +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing{ dir = 1 }, -/obj/effect/turf_decal/siding/white, -/obj/machinery/atmospherics/components/binary/valve/digital, /turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2; @@ -1176,36 +802,6 @@ planetary_atmos = 1 }, /area/hangar) -"PI" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"PL" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Qb" = ( /obj/effect/turf_decal/borderfloor{ dir = 4 @@ -1318,44 +914,6 @@ }, /turf/open/floor/plasteel/tech, /area/hangar) -"TU" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north{ - pixel_x = -6; - bulb_power = 0.25 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"TX" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Ul" = ( /obj/effect/turf_decal/borderfloor{ dir = 8 @@ -1384,19 +942,6 @@ planetary_atmos = 1 }, /area/hangar) -"UZ" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Vk" = ( /obj/effect/turf_decal/borderfloor{ dir = 8 @@ -1426,20 +971,6 @@ planetary_atmos = 1 }, /area/hangar) -"WY" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Xd" = ( /obj/effect/turf_decal/siding/white{ dir = 8 @@ -1456,17 +987,6 @@ planetary_atmos = 1 }, /area/hangar) -"Xt" = ( -/obj/effect/turf_decal/borderfloor/full, -/obj/machinery/light/floor, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "XC" = ( /obj/effect/turf_decal/siding/white{ dir = 6 @@ -1497,33 +1017,6 @@ light_range = 2 }, /area/hangar) -"Yt" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Yu" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner, -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "YN" = ( /obj/effect/turf_decal/borderfloor{ dir = 4 @@ -1558,18 +1051,6 @@ planetary_atmos = 1 }, /area/hangar) -"Zc" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Ze" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -1580,18 +1061,6 @@ planetary_atmos = 1 }, /area/hangar) -"Zf" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Zi" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 4 @@ -1834,7 +1303,7 @@ rj rj MI rj -DK +rj rj MI rj @@ -1847,7 +1316,7 @@ rj rj MN rj -DK +rj rj rj rj @@ -1872,7 +1341,7 @@ rj rj rj rj -DK +rj rj rj rj @@ -1881,7 +1350,7 @@ rj rj MN rj -DK +rj rj MI rj @@ -2004,7 +1473,7 @@ TA rj rj rj -DK +rj rj rj rj @@ -2053,7 +1522,7 @@ rj rj rj rj -DK +rj MI rj rj @@ -2245,7 +1714,7 @@ ac ac aM MN -GX +rj aC rQ av @@ -2286,8 +1755,8 @@ am am am rj -yE -qk +rj +MI Fi ap av @@ -2325,14 +1794,14 @@ am (18,1,1) = {" am hg -sd +hg am -MI rj -Yu -TX -ee -NH +GX +rj +nr +ap +av aJ aJ aJ @@ -2353,8 +1822,8 @@ aJ aJ aJ aJ -De -Fn +nr +rQ aT MI rj @@ -2367,13 +1836,13 @@ am (19,1,1) = {" am hg -qV +hg am -bv -bv -zs +rj +rj +rj Fi -tt +rQ av aJ aJ @@ -2396,7 +1865,7 @@ aJ aJ aJ aO -Zc +rQ nK rj rj @@ -2409,13 +1878,13 @@ ac (20,1,1) = {" am hg -Bw -oA -om -om -Lz -PL -PI +hg +mR +rj +rj +GX +aC +NO av aJ aJ @@ -2438,7 +1907,7 @@ aJ aJ aJ nr -Zc +rQ nK rj GX @@ -2453,10 +1922,10 @@ am hg hg am -TU -WY -HG -Yt +MI +rj +rj +aC IG av aJ @@ -2480,7 +1949,7 @@ aJ aJ aJ nr -Lu +NO nK rj rj @@ -2495,10 +1964,10 @@ am am am am -AI rj -ka -Dq +MN +rj +aC cI av ad @@ -2522,7 +1991,7 @@ aJ aJ ad nr -Lu +NO nK MI rj @@ -2538,10 +2007,10 @@ ac ac ac rj -rj -JD -nr -PI +GX +MN +aC +NO aT aJ aJ @@ -2564,7 +2033,7 @@ aJ aJ aJ nr -Lu +NO nK rj GX @@ -2580,10 +2049,10 @@ ac ac ac rj -MI -xv -mz -PI +rj +rj +aC +NO aT aJ aJ @@ -2606,7 +2075,7 @@ aJ aJ aJ nr -Lu +NO uC rj rj @@ -2622,10 +2091,10 @@ ac ac TA rj -GX +MI rj -aC -tt +Fi +rQ aT aJ aJ @@ -2648,7 +2117,7 @@ aJ aJ aJ nr -Zc +rQ TF rj MI @@ -2665,9 +2134,9 @@ ac rj rj rj -rj +MI aC -tt +rQ av aJ aJ @@ -2690,7 +2159,7 @@ aJ aJ aJ nr -Lu +NO TF rj ac @@ -2705,11 +2174,11 @@ ac ac ac rj -MN +rj rj rj aC -tt +rQ av ad aJ @@ -2732,7 +2201,7 @@ aJ aJ ad aO -kq +ap nK MN ac @@ -2751,7 +2220,7 @@ rj rj GX aC -Kw +ap av aJ aJ @@ -2774,7 +2243,7 @@ aJ aJ aJ aO -Zc +rQ nK rj ac @@ -2793,7 +2262,7 @@ MI rj rj aC -Kw +ap av aJ aJ @@ -2816,7 +2285,7 @@ aJ aJ aJ aO -Zc +rQ nK MI rj @@ -2835,7 +2304,7 @@ rj rj rj aC -Kw +ap av aJ aJ @@ -2858,7 +2327,7 @@ aJ aJ aJ nr -Zc +rQ nK GX rj @@ -2877,7 +2346,7 @@ rj MI rj aC -Kw +ap av aJ aJ @@ -2900,7 +2369,7 @@ aJ aJ aJ nr -Lu +NO nK rj rj @@ -2919,7 +2388,7 @@ rj GX rj aC -tt +rQ aT ad aJ @@ -2941,8 +2410,8 @@ aJ aJ aJ ad -De -iT +nr +NO nK rj MI @@ -2961,8 +2430,8 @@ rj MN rj Fi -Zf -UZ +rQ +aT aJ aJ aJ @@ -2984,7 +2453,7 @@ aJ aJ aJ nr -Zc +rQ nK rj GX @@ -3003,7 +2472,7 @@ rj rj GX Fi -Kw +ap aT aJ aJ @@ -3026,7 +2495,7 @@ ad aJ aJ nr -kq +ap nK rj rj @@ -3045,7 +2514,7 @@ rj rj rj aC -Kw +ap SW Qb Qb @@ -3068,7 +2537,7 @@ Qb Qb Qb ES -kq +ap nK MI TA @@ -3087,30 +2556,30 @@ rj MI rj aC -Xt -fT -bw -AE -AE -AE -fT -bw -bw -AE -AE -AE +hv +ap +NO +rQ +rQ +rQ +ap +NO +NO +rQ +rQ +rQ +FS +ap +rQ +ap +ap +ap +NO +NO +rQ +ap +ap FS -fT -AE -fT -fT -fT -bw -bw -AE -fT -fT -nI uC rj ac diff --git a/_maps/outpost/hangar/nt_ice_40x20.dmm b/_maps/outpost/hangar/nt_ice_40x20.dmm index dc4366bfd54b..a9066a1dcef2 100644 --- a/_maps/outpost/hangar/nt_ice_40x20.dmm +++ b/_maps/outpost/hangar/nt_ice_40x20.dmm @@ -242,21 +242,6 @@ planetary_atmos = 1 }, /area/hangar) -"ca" = ( -/obj/machinery/door/airlock/outpost, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/plasteel/tech, -/area/hangar) -"cx" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "dA" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -296,22 +281,6 @@ planetary_atmos = 1 }, /area/hangar) -"eg" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/volume_pump, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "es" = ( /obj/effect/decal/fakelattice, /obj/machinery/light/small/directional/east, @@ -370,21 +339,6 @@ planetary_atmos = 1 }, /area/hangar) -"gk" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner, -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "hh" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning{ @@ -396,15 +350,6 @@ light_range = 2 }, /area/hangar) -"hr" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "hX" = ( /obj/effect/landmark/outpost/hangar_dock, /turf/open/floor/plating{ @@ -442,19 +387,6 @@ light_range = 2 }, /area/hangar) -"jm" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "jv" = ( /obj/effect/turf_decal/borderfloor{ dir = 8 @@ -497,10 +429,6 @@ planetary_atmos = 1 }, /area/hangar) -"ln" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/floor/plating/asteroid/icerock/temperate, -/area/hangar) "lG" = ( /obj/effect/turf_decal/siding/white{ dir = 9 @@ -554,48 +482,6 @@ planetary_atmos = 1 }, /area/hangar) -"mE" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"mM" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"nE" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"ok" = ( -/obj/effect/turf_decal/borderfloor/full, -/obj/machinery/light/floor, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plasteel/patterned/cargo_one{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "oA" = ( /obj/effect/turf_decal/borderfloor/corner{ dir = 1 @@ -644,32 +530,6 @@ planetary_atmos = 1 }, /area/hangar) -"pn" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/machinery/light/floor{ - bulb_power = 0.75 - }, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"pu" = ( -/obj/effect/turf_decal/borderfloor/full, -/obj/machinery/light/floor, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "pv" = ( /obj/structure/flora/grass/both, /turf/open/floor/plating/asteroid/snow/temperatre{ @@ -677,20 +537,6 @@ light_range = 2 }, /area/hangar) -"pz" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "qa" = ( /obj/effect/turf_decal/borderfloor, /obj/effect/turf_decal/siding/white{ @@ -835,82 +681,12 @@ planetary_atmos = 1 }, /area/hangar) -"tW" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"uk" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"us" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"uv" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"uK" = ( -/obj/structure/railing{ - dir = 9; - layer = 2.8 - }, -/obj/machinery/atmospherics/components/unary/hydrogen_pump{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "wH" = ( /obj/structure/catwalk/over/plated_catwalk, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, /turf/open/floor/plating{ light_color = "#1B1D2E"; light_range = 2; @@ -953,19 +729,6 @@ planetary_atmos = 1 }, /area/hangar) -"yt" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "zT" = ( /obj/structure/flora/tree/dead, /turf/open/floor/plating/asteroid/snow/temperatre{ @@ -973,19 +736,6 @@ light_range = 2 }, /area/hangar) -"Af" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "AN" = ( /obj/effect/turf_decal/borderfloor{ dir = 9 @@ -1000,34 +750,6 @@ planetary_atmos = 1 }, /area/hangar) -"AY" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/shutoff, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"Br" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/shutoff, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "Cg" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -1038,31 +760,6 @@ planetary_atmos = 1 }, /area/hangar) -"CQ" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Db" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "DM" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -1081,27 +778,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, /area/hangar) -"EI" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "EJ" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning{ @@ -1125,26 +801,6 @@ planetary_atmos = 1 }, /area/hangar) -"FO" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "FX" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/dirt{ @@ -1158,18 +814,6 @@ planetary_atmos = 1 }, /area/hangar) -"GG" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "GS" = ( /obj/effect/turf_decal/borderfloor{ dir = 5 @@ -1184,45 +828,15 @@ planetary_atmos = 1 }, /area/hangar) -"Hw" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"HZ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Iv" = ( /obj/effect/turf_decal/borderfloor/full, /obj/machinery/light/floor, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, /turf/open/floor/plasteel/patterned/cargo_one{ light_color = "#1B1D2E"; light_range = 2 }, /area/hangar) -"IF" = ( -/obj/structure/flora/grass/both, -/obj/item/trash/raisins{ - layer = 2.8 - }, -/turf/open/floor/plating/asteroid/snow/temperatre{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Jb" = ( /obj/effect/turf_decal/borderfloor{ dir = 4 @@ -1240,30 +854,6 @@ planetary_atmos = 1 }, /area/hangar) -"Je" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Jh" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Js" = ( /obj/effect/turf_decal/corner/opaque/neutral, /obj/effect/turf_decal/siding/white{ @@ -1349,50 +939,6 @@ "MM" = ( /turf/open/floor/plasteel/tech, /area/hangar) -"MV" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"MY" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Nz" = ( -/obj/structure/flora/grass/green, -/obj/item/trash/pistachios{ - layer = 2.8 - }, -/turf/open/floor/plating/asteroid/snow/temperatre{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"ON" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 4 - }, -/obj/item/toy/plush/moth/firewatch{ - pixel_y = 3 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "OP" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -1433,25 +979,6 @@ planetary_atmos = 1 }, /area/hangar) -"Rh" = ( -/obj/structure/railing{ - dir = 5; - layer = 2.8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "RU" = ( /obj/effect/turf_decal/borderfloor{ dir = 8 @@ -1461,15 +988,8 @@ }, /turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Sb" = ( -/obj/structure/flora/stump, -/turf/open/floor/plating/asteroid/snow/temperatre{ - light_color = "#1B1D2E"; - light_range = 2 + light_range = 2; + planetary_atmos = 1 }, /area/hangar) "Sh" = ( @@ -1504,12 +1024,6 @@ planetary_atmos = 1 }, /area/hangar) -"Td" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "TX" = ( /obj/effect/decal/fakelattice, /turf/open/floor/plasteel/elevatorshaft{ @@ -1520,37 +1034,6 @@ /obj/machinery/door/airlock/outpost, /turf/open/floor/plasteel/tech, /area/hangar) -"UH" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"UU" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 8 - }, -/obj/machinery/computer/hydrogen_exchange{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Vs" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/dirt{ @@ -1561,17 +1044,6 @@ planetary_atmos = 1 }, /area/hangar) -"Wa" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Ww" = ( /obj/effect/turf_decal/borderfloor, /obj/effect/turf_decal/siding/white{ @@ -1591,9 +1063,7 @@ /obj/structure/catwalk/over/plated_catwalk, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating{ light_color = "#1B1D2E"; light_range = 2; @@ -1621,49 +1091,6 @@ planetary_atmos = 1 }, /area/hangar) -"XS" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"YG" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"YV" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north{ - pixel_x = -6; - bulb_power = 0.25 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Zc" = ( /obj/effect/turf_decal/siding/white{ dir = 6 @@ -1694,20 +1121,6 @@ light_range = 2 }, /area/hangar) -"Zl" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "ZK" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -1941,7 +1354,7 @@ aO as aO aO -Sb +aO pv aO aO @@ -1957,7 +1370,7 @@ aO aO as aO -Sb +aO aO aO aO @@ -1992,7 +1405,7 @@ aO as aO aO -Sb +aO pv aO aO @@ -2029,7 +1442,7 @@ aO aO aO aO -Sb +aO aO aO aO @@ -2086,7 +1499,7 @@ aO aO aO aO -Sb +aO aO aO aO @@ -2106,7 +1519,7 @@ aO aO as aO -Sb +aO aO aO aO @@ -2116,7 +1529,7 @@ aO aO aO aO -Sb +aO aO pv aO @@ -2441,8 +1854,8 @@ pv aO aO aL -YG -uk +aR +DM ae ae ae @@ -2463,8 +1876,8 @@ ae ae ae ae -yt -MY +fQ +WM OP aO al @@ -2483,7 +1896,7 @@ aO aO aO aL -nE +rI DM ae ae @@ -2506,7 +1919,7 @@ ae ae ae fQ -Af +aR lQ aO aO @@ -2525,7 +1938,7 @@ aY aO as aL -nE +rI DM ae ae @@ -2548,7 +1961,7 @@ ae ae ae rq -MV +am OP aO aO @@ -2567,7 +1980,7 @@ aw al aO aL -nE +rI DM ae ae @@ -2590,7 +2003,7 @@ ae ae ae rq -MV +am OP aO pv @@ -2609,7 +2022,7 @@ aY aO pv aL -nE +rI DM aD ae @@ -2632,7 +2045,7 @@ ae ae aD rq -MV +am OP aO aO @@ -2651,7 +2064,7 @@ aY aO aO aL -nE +rI DM ae ae @@ -2674,7 +2087,7 @@ ae ae ae rq -MV +am OP aO aO @@ -2693,7 +2106,7 @@ aY wR aO Ww -nE +rI DM ae ae @@ -2716,7 +2129,7 @@ ae ae ae rq -MV +am OP aO al @@ -2735,7 +2148,7 @@ aY aY aO Ww -nE +rI DM ae ae @@ -2758,7 +2171,7 @@ ae ae ae rq -MV +am OP aO as @@ -2777,7 +2190,7 @@ aY aY aO Ww -mE +am DM ae ae @@ -2800,7 +2213,7 @@ ae ae ae fQ -MV +am OP pv aO @@ -2819,7 +2232,7 @@ aY pv aO Ww -mE +am DM aD ae @@ -2842,7 +2255,7 @@ ae ae aD rq -Af +aR OP aO aO @@ -2861,7 +2274,7 @@ aY aO as Ww -mE +am DM ae ae @@ -2884,7 +2297,7 @@ ae ae ae rq -GG +rI lQ aO al @@ -2903,7 +2316,7 @@ aY aO al aL -mE +am DM ae ae @@ -2926,7 +2339,7 @@ ae ae ae rq -GG +rI lQ aO aO @@ -2945,7 +2358,7 @@ aY aO aO aL -mE +am DM ae ae @@ -2968,7 +2381,7 @@ ae ae ae rq -GG +rI OP aO pv @@ -2987,7 +2400,7 @@ aY pv aO aL -mE +am aM ae ae @@ -3010,7 +2423,7 @@ ae ae ae rq -GG +rI lQ aO aO @@ -3029,7 +2442,7 @@ aY aO aO aL -nE +rI aM aD ae @@ -3052,7 +2465,7 @@ ae ae aD rq -GG +rI lQ aO aO @@ -3067,11 +2480,11 @@ aY aY aY aY -aY -Nz +aw +as aO aL -nE +rI DM ae ae @@ -3094,7 +2507,7 @@ ae ae ae qa -Af +aR lQ aO aO @@ -3109,11 +2522,11 @@ ab ab ab ab -ln aO -UU -Ww -mE +aO +pv +rq +rI DM ae ae @@ -3136,7 +2549,7 @@ ae ae ae rq -GG +rI DM aO aO @@ -3149,14 +2562,14 @@ ab (35,1,1) = {" ab MM -ON +MM ab -pv aO -gk -FO -HZ -uk +al +aO +aL +rI +DM ae ae ae @@ -3177,8 +2590,8 @@ ae ae ae ae -XS -Je +rq +rI lQ pv aO @@ -3191,13 +2604,13 @@ ab (36,1,1) = {" ab MM -Td +MM ab -Zl -Zl -pn -Ww -nE +aO +aO +aO +aL +rI DM ae ae @@ -3220,7 +2633,7 @@ ae ae ae rq -MV +am lQ al aO @@ -3233,13 +2646,13 @@ aY (37,1,1) = {" ab MM -Hw -ca -mM -mM -uK -UH -WM +MM +Uo +aO +aO +al +Ww +am DM aD ae @@ -3262,7 +2675,7 @@ ae ae aD rq -GG +rI lQ aO aO @@ -3277,11 +2690,11 @@ ab MM MM ab -YV -uv -Br -CQ -pz +pv +aO +aO +aL +am DM ae ae @@ -3304,7 +2717,7 @@ ae ae ae rq -GG +rI OP aO aO @@ -3319,11 +2732,11 @@ ab ab ab ab +aO as aO -EI -eg -jm +Ww +rI DM ae ae @@ -3346,7 +2759,7 @@ ae ae ae fQ -GG +rI lQ pv aO @@ -3360,12 +2773,12 @@ aY aY aY aY -ln -aO +aY aO -AY -rq -WM +al +as +aL +aR DM ae ae @@ -3388,7 +2801,7 @@ ae ae ae rq -GG +rI lQ aO al @@ -3404,9 +2817,9 @@ aY aY aY aO -IF -Rh -Jh +aO +aO +aL WM DM ae @@ -3430,7 +2843,7 @@ ae ae ae rq -Af +aR lQ aO aO @@ -3444,9 +2857,9 @@ aY aY aY aY +wR aO -aO -al +pv aO aL wH @@ -3472,7 +2885,7 @@ ae ae aD rq -Af +aR lQ aO pv @@ -3489,9 +2902,9 @@ aY aO aO aO -as +pv aL -WM +aR aM ae ae @@ -3514,7 +2927,7 @@ ae ae ae rq -Af +aR lQ aO aY @@ -3529,11 +2942,11 @@ aY aY aY aO -pv +aO aO aO aL -WM +aR aM ae ae @@ -3556,7 +2969,7 @@ ae ae ae rq -Af +aR OP as aY @@ -3575,7 +2988,7 @@ aO aO al Ww -nE +rI aM ae ae @@ -3598,7 +3011,7 @@ ae ae ae rq -GG +rI Sn aO aY @@ -3613,11 +3026,11 @@ aY aY aw aO -al +pv aO aO aL -nE +rI DM ae ae @@ -3640,7 +3053,7 @@ ae ae ae rq -Af +aR Sn pv aO @@ -3659,7 +3072,7 @@ aO aO aO aL -nE +rI DM aD ae @@ -3682,7 +3095,7 @@ ae ae aD fQ -MV +am lQ al aO @@ -3701,7 +3114,7 @@ aO pv aO aL -mE +am DM ae ae @@ -3724,7 +3137,7 @@ ae ae ae fQ -GG +rI lQ aO aO @@ -3743,7 +3156,7 @@ aO al aO aL -mE +am DM ae ae @@ -3766,7 +3179,7 @@ ae ae ae fQ -GG +rI lQ aO pv @@ -3785,7 +3198,7 @@ aO as aO aL -mE +am DM ae ae @@ -3808,7 +3221,7 @@ ae ae ae rq -GG +rI lQ aO al @@ -3827,7 +3240,7 @@ aO aO al aL -mE +am DM ae ae @@ -3850,7 +3263,7 @@ ae ae ae rq -Af +aR lQ aO aO @@ -3869,8 +3282,8 @@ aO aO aO aL -tW -Db +rI +aM aD ae ae @@ -3891,8 +3304,8 @@ ae ae ae aD -XS -Wa +rq +aR lQ pv wR @@ -3911,7 +3324,7 @@ aO pv aO Ww -nE +rI aM ae ae @@ -3934,7 +3347,7 @@ ae ae ae rq -GG +rI lQ aO aY @@ -3953,7 +3366,7 @@ aO aO aO Ww -mE +am aM ae ae @@ -3976,7 +3389,7 @@ aD ae ae rq -MV +am lQ as aY @@ -3995,7 +3408,7 @@ al aO aO aL -mE +am GS af af @@ -4018,7 +3431,7 @@ af af af mj -MV +am lQ pv aY @@ -4037,29 +3450,29 @@ pv aO aO aL -pu -hr -us -cx -cx -cx -hr -us -us -cx -cx -cx -ok -hr -cx -hr -hr -hr -us -us -cx -hr -hr +aU +am +aR +rI +rI +rI +am +aR +aR +rI +rI +rI +Iv +am +rI +am +am +am +aR +aR +rI +am +am Iv OP aO diff --git a/_maps/outpost/hangar/nt_ice_40x40.dmm b/_maps/outpost/hangar/nt_ice_40x40.dmm index 69d81767fd7f..fb8d80f95cbe 100644 --- a/_maps/outpost/hangar/nt_ice_40x40.dmm +++ b/_maps/outpost/hangar/nt_ice_40x40.dmm @@ -168,37 +168,6 @@ planetary_atmos = 1 }, /area/hangar) -"aJ" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north{ - pixel_x = -6; - bulb_power = 0.25 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"aP" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "aQ" = ( /obj/structure/flora/rock/pile/icy, /turf/open/floor/plating/asteroid/snow/temperatre{ @@ -232,9 +201,7 @@ /obj/structure/catwalk/over/plated_catwalk, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating{ light_color = "#1B1D2E"; light_range = 2; @@ -245,7 +212,6 @@ /obj/effect/turf_decal/borderfloor/full, /obj/machinery/light/floor, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel/patterned/cargo_one{ light_color = "#1B1D2E"; light_range = 2 @@ -292,10 +258,6 @@ planetary_atmos = 1 }, /area/hangar) -"cG" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/floor/plating/asteroid/icerock/temperate, -/area/hangar) "dQ" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/greenglow{ @@ -323,17 +285,6 @@ planetary_atmos = 1 }, /area/hangar) -"eF" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "eU" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -346,17 +297,6 @@ /obj/effect/decal/cleanable/oil, /turf/open/floor/plasteel/tech, /area/hangar) -"fd" = ( -/obj/effect/turf_decal/borderfloor/full, -/obj/machinery/light/floor, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "fJ" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 1 @@ -396,30 +336,6 @@ planetary_atmos = 1 }, /area/hangar) -"gN" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"hh" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "hr" = ( /obj/effect/turf_decal/borderfloor/corner{ dir = 8 @@ -490,19 +406,6 @@ planetary_atmos = 1 }, /area/hangar) -"iY" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "jF" = ( /obj/effect/turf_decal/corner/opaque/neutral, /obj/effect/turf_decal/siding/white, @@ -554,39 +457,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/telecomms_floor, /area/hangar) -"lb" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"lg" = ( -/obj/structure/railing{ - dir = 5; - layer = 2.8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "lC" = ( /obj/effect/turf_decal/borderfloor, /obj/effect/turf_decal/siding/white{ @@ -656,7 +526,6 @@ /obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/structure/chair/comfy/orange/directional/west, /obj/machinery/light/small/directional/east, /turf/open/floor/plating{ planetary_atmos = 1 @@ -682,32 +551,13 @@ "pd" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning, +/obj/structure/filingcabinet/double/grey, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/east, -/obj/structure/filingcabinet/double/grey{ - dir = 8; - pixel_x = 7 - }, /turf/open/floor/plating{ planetary_atmos = 1 }, /area/hangar) -"qS" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "qW" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -732,24 +582,6 @@ planetary_atmos = 1 }, /area/hangar) -"rY" = ( -/obj/effect/turf_decal/borderfloor/full, -/obj/machinery/light/floor, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"so" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "sS" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning{ @@ -798,32 +630,6 @@ planetary_atmos = 1 }, /area/hangar) -"tQ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"tR" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "um" = ( /obj/effect/turf_decal/borderfloor{ dir = 5 @@ -879,66 +685,6 @@ planetary_atmos = 1 }, /area/hangar) -"xS" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"ym" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/machinery/light/floor{ - bulb_power = 0.75 - }, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"yn" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/shutoff, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"yw" = ( -/obj/structure/railing{ - dir = 9; - layer = 2.8 - }, -/obj/machinery/atmospherics/components/unary/hydrogen_pump{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "yG" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/dirt{ @@ -959,48 +705,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/telecomms_floor, /area/hangar) -"zS" = ( -/obj/structure/flora/stump, -/turf/open/floor/plating/asteroid/snow/temperatre{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"Au" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"AJ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"AO" = ( -/obj/structure/flora/grass/green, -/obj/item/trash/chips{ - layer = 2.8; - pixel_y = 3; - pixel_x = -2 - }, -/turf/open/floor/plating/asteroid/snow/temperatre{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Bf" = ( /obj/structure/flora/tree/dead, /turf/open/floor/plating/asteroid/snow/temperatre{ @@ -1008,18 +712,6 @@ light_range = 2 }, /area/hangar) -"Bj" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "BE" = ( /obj/effect/turf_decal/borderfloor{ dir = 8 @@ -1048,29 +740,6 @@ planetary_atmos = 1 }, /area/hangar) -"Ck" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"CC" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "CG" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -1128,17 +797,6 @@ light_range = 2 }, /area/hangar) -"Fw" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "FH" = ( /obj/effect/turf_decal/corner/opaque/neutral, /obj/effect/turf_decal/siding/white{ @@ -1180,30 +838,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/telecomms_floor, /area/hangar) -"GW" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Hr" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Hv" = ( /obj/structure/table/reinforced, /obj/item/flashlight/lamp{ @@ -1256,36 +890,6 @@ planetary_atmos = 1 }, /area/hangar) -"Is" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/obj/effect/turf_decal/industrial/shutoff, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"IH" = ( -/obj/machinery/door/airlock/outpost, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/plasteel/tech, -/area/hangar) -"Jt" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "JI" = ( /obj/structure/catwalk/over/plated_catwalk, /turf/open/floor/plating{ @@ -1327,18 +931,6 @@ light_range = 2 }, /area/hangar) -"Ll" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Lt" = ( /obj/effect/turf_decal/industrial/hatch/yellow, /obj/machinery/vending/coffee, @@ -1373,12 +965,6 @@ planetary_atmos = 1 }, /area/hangar) -"Md" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "Mm" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -1389,22 +975,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech, /area/hangar) -"Ms" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/volume_pump, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Mz" = ( /obj/effect/turf_decal/borderfloor{ dir = 8 @@ -1421,41 +991,6 @@ planetary_atmos = 1 }, /area/hangar) -"Nh" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"NG" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "NY" = ( /obj/effect/turf_decal/siding/white{ dir = 6 @@ -1580,15 +1115,6 @@ planetary_atmos = 1 }, /area/hangar) -"Qk" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Qs" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning{ @@ -1633,20 +1159,6 @@ planetary_atmos = 1 }, /area/hangar) -"Rr" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 8 - }, -/obj/machinery/computer/hydrogen_exchange{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Rx" = ( /obj/effect/turf_decal/borderfloor{ dir = 10 @@ -1660,27 +1172,12 @@ planetary_atmos = 1 }, /area/hangar) -"RY" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Sf" = ( /obj/structure/catwalk/over/plated_catwalk, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, /turf/open/floor/plating{ light_color = "#1B1D2E"; light_range = 2; @@ -1693,23 +1190,11 @@ /turf/open/floor/plasteel/elevatorshaft{ planetary_atmos = 1 }, -/area/hangar) -"SC" = ( -/obj/machinery/light/floor, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Tj" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ +/area/hangar) +"SC" = ( +/obj/machinery/light/floor, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating{ light_color = "#1B1D2E"; light_range = 2; planetary_atmos = 1 @@ -1780,37 +1265,6 @@ planetary_atmos = 1 }, /area/hangar) -"UJ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"UR" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "VR" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/dirt{ @@ -1900,56 +1354,6 @@ planetary_atmos = 1 }, /area/hangar) -"Zr" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Zx" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 4 - }, -/obj/item/toy/plush/moth/firewatch{ - pixel_y = 3 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"ZN" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"ZP" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner, -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "ZW" = ( /obj/effect/turf_decal/siding/white{ dir = 6 @@ -2231,7 +1635,7 @@ ac ac ac ac -zS +ac ac ac ac @@ -2245,7 +1649,7 @@ ac ac ac ac -zS +ac ac ac ac @@ -2286,7 +1690,7 @@ aQ ak ac ac -zS +ac ac ak ac @@ -2315,7 +1719,7 @@ ac ac ac ac -zS +ac ac ak ac @@ -2548,7 +1952,7 @@ ac ac ak ac -zS +ac ac ac ac @@ -2606,7 +2010,7 @@ ac ac ac ac -zS +ac ac ac ac @@ -2623,7 +2027,7 @@ ac ac ac ac -zS +ac ac ac ab @@ -3023,8 +2427,8 @@ ab ac ac Rk -iY -RY +hI +au ah ah ah @@ -3065,8 +2469,8 @@ ah ah ah ah -xS -hh +ay +aY bQ ac aC @@ -3085,7 +2489,7 @@ ac ac ac Rk -Ll +an au ah ah @@ -3128,7 +2532,7 @@ ah ah ah ay -aP +hI ax ac ac @@ -3147,7 +2551,7 @@ aT ac ak Rk -Ll +an au ah ah @@ -3190,7 +2594,7 @@ ah ah ah ag -eF +JI bQ ac ac @@ -3209,7 +2613,7 @@ as aC ac Rk -Ll +an au ah ah @@ -3252,7 +2656,7 @@ ah ah ah ag -eF +JI bQ ac ab @@ -3271,7 +2675,7 @@ aT ac ab Rk -Ll +an au jY ah @@ -3314,7 +2718,7 @@ ah ah jY ag -eF +JI bQ ac ac @@ -3333,7 +2737,7 @@ aT ac ac Rk -Ll +an au ah ah @@ -3376,7 +2780,7 @@ ah ah ah ag -eF +JI bQ ac ac @@ -3395,7 +2799,7 @@ aT aQ ac Dd -Ll +an au ah ah @@ -3438,7 +2842,7 @@ ah ah ah ag -eF +JI bQ ac aC @@ -3457,7 +2861,7 @@ aT aT ac Dd -Ll +an au ah ah @@ -3500,7 +2904,7 @@ ah ah ah ag -eF +JI bQ ac ak @@ -3519,7 +2923,7 @@ aT aT ac Dd -UJ +JI au ah ah @@ -3562,7 +2966,7 @@ ah ah ah ay -eF +JI bQ ab ac @@ -3581,7 +2985,7 @@ aT ab ac Dd -UJ +JI au jY ah @@ -3624,7 +3028,7 @@ ah ah jY ag -aP +hI bQ ac ac @@ -3643,7 +3047,7 @@ aT ac ak Dd -UJ +JI au ah ah @@ -3686,7 +3090,7 @@ ah ah ah ag -Au +an ax ac aC @@ -3705,7 +3109,7 @@ aT ac aC Rk -UJ +JI au ah ah @@ -3748,7 +3152,7 @@ ah ah ah ag -Au +an ax ac ac @@ -3767,7 +3171,7 @@ aT ac ac Rk -UJ +JI au ah ah @@ -3810,7 +3214,7 @@ ah ah ah ag -Au +an bQ ac ab @@ -3829,7 +3233,7 @@ aT ab ac Rk -UJ +JI at ah ah @@ -3872,7 +3276,7 @@ ah ah ah ag -Au +an ax ac ac @@ -3891,7 +3295,7 @@ aT ac ac Rk -Ll +an at jY ah @@ -3934,7 +3338,7 @@ ah ah jY ag -Au +an ax ac ac @@ -3949,11 +3353,11 @@ aT aT aT aT -aT -ac +as ak +ac Rk -Ll +an au ah ah @@ -3996,7 +3400,7 @@ ah ah ah lC -aP +hI ax ac ac @@ -4011,11 +3415,11 @@ aa aa aa aa -cG ac -Rr -Dd -UJ +ac +ab +ag +an au ah ah @@ -4058,7 +3462,7 @@ ah ah ah ag -Au +an au ac ac @@ -4071,14 +3475,14 @@ aa (35,1,1) = {" aa Yt -Zx +Yt aa -ab ac -ZP -UR -Fw -RY +aC +ac +Rk +an +au ah ah ah @@ -4119,8 +3523,8 @@ ah ah ah ah -Tj -gN +ag +an ax ab ac @@ -4133,13 +3537,13 @@ aa (36,1,1) = {" aa Yt -so +Yt aa -Tn -Tn -ym -Dd -Ll +ac +ac +ac +Rk +an au ah ah @@ -4182,7 +3586,7 @@ ah ah ah ag -eF +JI ax aC ac @@ -4195,13 +3599,13 @@ aT (37,1,1) = {" aa Yt -Md -IH -Qk -Qk -yw -Zr -aY +Yt +HH +ac +ac +aC +Dd +JI au jY ah @@ -4244,7 +3648,7 @@ ah ah jY ag -Au +an ax ac ac @@ -4259,11 +3663,11 @@ aa Yt Yt aa -aJ -lb -Is -Bj -NG +ab +ac +ac +Rk +JI au ah ah @@ -4306,7 +3710,7 @@ ah ah ah ag -Au +an bQ ac ac @@ -4322,10 +3726,10 @@ aa aa aa ac -AO -Nh -Ms -CC +ak +ac +Dd +an au ah ah @@ -4368,7 +3772,7 @@ ah ah ah ay -Au +an ax ab ac @@ -4384,10 +3788,10 @@ aT aT aT ac -ac -yn -ag -aY +aC +ak +Rk +hI au ah ah @@ -4430,7 +3834,7 @@ ah ah ah ag -Au +an ax ac aC @@ -4445,10 +3849,10 @@ aT aT aT aT -ab ac -lg -tR +ac +ac +Rk aY au ah @@ -4492,7 +3896,7 @@ ah ah ah ag -aP +hI ax ac ac @@ -4508,7 +3912,7 @@ aT aT aQ ac -ac +ab ac Rk Sf @@ -4554,7 +3958,7 @@ ah ah jY ag -aP +hI ax ac ab @@ -4573,7 +3977,7 @@ ac ac ab Rk -aP +hI at ah ah @@ -4616,7 +4020,7 @@ ah ah ah ag -aP +hI ax ac aT @@ -4635,7 +4039,7 @@ aC ac ac Rk -aP +hI at ah ah @@ -4678,7 +4082,7 @@ ah ah ah ag -aP +hI bQ ak aT @@ -4697,7 +4101,7 @@ ac ac aC Dd -Au +an at ah ah @@ -4740,7 +4144,7 @@ ah ah ah ag -Au +an lJ ac aT @@ -4759,7 +4163,7 @@ ab ac ac Rk -Au +an au ah ah @@ -4802,7 +4206,7 @@ ah ah ah ag -aP +hI lJ ab ac @@ -4821,7 +4225,7 @@ ac ac ac Rk -Au +an au jY ah @@ -4864,7 +4268,7 @@ ah ah jY ay -eF +JI ax aC ac @@ -4883,7 +4287,7 @@ ac ab ac Rk -eF +JI au ah ah @@ -4926,7 +4330,7 @@ ah ah ah ay -Au +an ax ac ac @@ -4945,7 +4349,7 @@ ac aC ac Rk -eF +JI au ah ah @@ -4988,7 +4392,7 @@ ah ah ah ay -Au +an ax ac ab @@ -5007,7 +4411,7 @@ ac ak ac Rk -eF +JI au ah ah @@ -5050,7 +4454,7 @@ ah ah ah ag -Au +an ax ac aC @@ -5069,7 +4473,7 @@ ac ac aC Rk -eF +JI au ah ah @@ -5112,7 +4516,7 @@ ah ah ah ag -aP +hI ax ac ac @@ -5131,8 +4535,8 @@ ac ac ac Rk -tQ -GW +an +at jY ah ah @@ -5173,8 +4577,8 @@ ah ah ah jY -Tj -Hr +ag +hI ax ab aQ @@ -5193,7 +4597,7 @@ ac ab ac Dd -Au +an at ah ah @@ -5236,7 +4640,7 @@ ah ah ah ag -Au +an ax ac aT @@ -5255,7 +4659,7 @@ ac ab ac Dd -eF +JI at ah ah @@ -5298,7 +4702,7 @@ jY ah ah ag -eF +JI ax ak aT @@ -5317,7 +4721,7 @@ aC ac ac Rk -eF +JI um Tn aX @@ -5330,7 +4734,7 @@ aX aX aX aX -qS +aX aX aX aX @@ -5350,7 +4754,7 @@ aX aX aX aX -qS +aX aX aX aX @@ -5360,7 +4764,7 @@ aX aX aX OJ -eF +JI ax ab aT @@ -5379,50 +4783,50 @@ ab ac ac Rk -fd -ZN -ZN -ZN -ZN -ZN -Ck -Ck -Ck -Ck -Ck -ZN -ZN -AJ -ZN -Ck -Ck -Jt -Ck -Ck -Ck -Ck -Jt +am +JI +JI +JI +JI +JI +an +an +an +an +an +JI +JI +JI +JI +an +an +hI +an +an +an +an +hI +by +an +an +JI +hI +hI +an +an +JI +JI +JI +an +JI +JI +JI +hI +hI +an +JI +JI by -Ck -Ck -ZN -Jt -Jt -Ck -Ck -ZN -ZN -AJ -Ck -ZN -ZN -ZN -Jt -Jt -Ck -ZN -ZN -rY bQ ac ac diff --git a/_maps/outpost/hangar/nt_ice_56x20.dmm b/_maps/outpost/hangar/nt_ice_56x20.dmm index 0966a1e60fa2..c7e73652ef0d 100644 --- a/_maps/outpost/hangar/nt_ice_56x20.dmm +++ b/_maps/outpost/hangar/nt_ice_56x20.dmm @@ -174,27 +174,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plasteel/dark, /area/hangar) -"bK" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"cu" = ( -/obj/structure/flora/grass/green, -/obj/item/trash/energybar{ - layer = 2.8 - }, -/turf/open/floor/plating/asteroid/snow/temperatre{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "cY" = ( /obj/effect/turf_decal/borderfloor/corner, /obj/effect/turf_decal/siding/white{ @@ -222,27 +201,6 @@ }, /turf/open/floor/plasteel/tech, /area/hangar) -"dN" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "ez" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 1 @@ -253,40 +211,6 @@ planetary_atmos = 1 }, /area/hangar) -"eS" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"fj" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "fC" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -297,19 +221,6 @@ planetary_atmos = 1 }, /area/hangar) -"gk" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "gQ" = ( /obj/effect/turf_decal/borderfloor{ dir = 9 @@ -322,23 +233,6 @@ planetary_atmos = 1 }, /area/hangar) -"if" = ( -/obj/machinery/door/airlock/outpost, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/plasteel/tech, -/area/hangar) -"is" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "iY" = ( /obj/effect/turf_decal/borderfloor, /obj/effect/turf_decal/siding/white{ @@ -355,15 +249,6 @@ planetary_atmos = 1 }, /area/hangar) -"ji" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "jk" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -379,38 +264,6 @@ planetary_atmos = 1 }, /area/hangar) -"kt" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 4 - }, -/obj/item/toy/plush/moth/firewatch{ - pixel_y = 3 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"kH" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"la" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "ll" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/sprayweb{ @@ -421,20 +274,6 @@ planetary_atmos = 1 }, /area/hangar) -"lH" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 8 - }, -/obj/machinery/computer/hydrogen_exchange{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "mu" = ( /obj/effect/turf_decal/borderfloor{ dir = 9 @@ -449,28 +288,6 @@ planetary_atmos = 1 }, /area/hangar) -"my" = ( -/obj/structure/flora/grass/green, -/obj/item/trash/candy{ - pixel_x = 4; - layer = 2.8 - }, -/turf/open/floor/plating/asteroid/snow/temperatre{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"mP" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "mX" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning{ @@ -483,20 +300,6 @@ light_range = 2 }, /area/hangar) -"nD" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "oq" = ( /obj/effect/turf_decal/borderfloor, /obj/effect/turf_decal/siding/white{ @@ -537,23 +340,7 @@ /obj/structure/catwalk/over/plated_catwalk, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"pm" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, /turf/open/floor/plating{ light_color = "#1B1D2E"; light_range = 2 @@ -596,9 +383,6 @@ /obj/effect/turf_decal/borderfloor/full, /obj/machinery/light/floor, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, /turf/open/floor/plasteel/patterned/cargo_one{ light_color = "#1B1D2E"; light_range = 2 @@ -617,17 +401,6 @@ planetary_atmos = 1 }, /area/hangar) -"qR" = ( -/obj/effect/turf_decal/borderfloor/full, -/obj/machinery/light/floor, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "sp" = ( /obj/effect/turf_decal/borderfloor{ dir = 4 @@ -667,17 +440,6 @@ planetary_atmos = 1 }, /area/hangar) -"sW" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "uy" = ( /obj/effect/turf_decal/borderfloor{ dir = 8 @@ -732,34 +494,6 @@ planetary_atmos = 1 }, /area/hangar) -"wK" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/machinery/light/floor{ - bulb_power = 0.75 - }, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"xp" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "xt" = ( /obj/effect/turf_decal/borderfloor{ dir = 8 @@ -811,24 +545,6 @@ planetary_atmos = 1 }, /area/hangar) -"yh" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north{ - pixel_x = -6; - bulb_power = 0.25 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "zG" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -855,18 +571,6 @@ light_range = 2 }, /area/hangar) -"AZ" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Bh" = ( /obj/machinery/door/airlock/outpost, /turf/open/floor/plasteel/tech, @@ -888,57 +592,6 @@ planetary_atmos = 1 }, /area/hangar) -"Cg" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"Cj" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Ck" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/volume_pump, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Cn" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Cs" = ( /obj/structure/catwalk/over/plated_catwalk, /obj/effect/decal/cleanable/dirt, @@ -1055,45 +708,6 @@ planetary_atmos = 1 }, /area/hangar) -"HJ" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"HR" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"HT" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Jh" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/dirt{ @@ -1104,18 +718,6 @@ planetary_atmos = 1 }, /area/hangar) -"JW" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "KH" = ( /obj/structure/flora/grass/both, /turf/open/floor/plating/asteroid/snow/temperatre{ @@ -1123,31 +725,6 @@ light_range = 2 }, /area/hangar) -"Lh" = ( -/obj/structure/railing{ - dir = 5; - layer = 2.8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"Li" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "Ms" = ( /obj/effect/turf_decal/corner/opaque/neutral, /obj/effect/turf_decal/siding/white, @@ -1219,18 +796,6 @@ planetary_atmos = 1 }, /area/hangar) -"Pp" = ( -/obj/effect/turf_decal/borderfloor/full, -/obj/machinery/light/floor, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Pu" = ( /obj/effect/turf_decal/borderfloor{ dir = 8 @@ -1244,18 +809,6 @@ planetary_atmos = 1 }, /area/hangar) -"PL" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "PW" = ( /obj/effect/turf_decal/borderfloor/corner{ dir = 1 @@ -1322,18 +875,6 @@ planetary_atmos = 1 }, /area/hangar) -"Si" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Sk" = ( /obj/effect/turf_decal/siding/white{ dir = 9 @@ -1343,19 +884,6 @@ planetary_atmos = 1 }, /area/hangar) -"Sr" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "SC" = ( /obj/effect/turf_decal/borderfloor, /obj/effect/turf_decal/siding/white{ @@ -1367,16 +895,6 @@ planetary_atmos = 1 }, /area/hangar) -"SJ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "SS" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/dirt{ @@ -1390,12 +908,6 @@ planetary_atmos = 1 }, /area/hangar) -"Tb" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "Tj" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning{ @@ -1409,32 +921,6 @@ light_range = 2 }, /area/hangar) -"TK" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/shutoff, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"TR" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Uo" = ( /obj/structure/chair{ dir = 1 @@ -1469,24 +955,10 @@ /obj/effect/turf_decal/siding/white{ dir = 1 }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Vu" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 +/obj/structure/railing{ + dir = 1 }, -/turf/open/floor/plating{ +/turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2; planetary_atmos = 1 @@ -1535,24 +1007,6 @@ planetary_atmos = 1 }, /area/hangar) -"WL" = ( -/obj/structure/railing{ - dir = 9; - layer = 2.8 - }, -/obj/machinery/atmospherics/components/unary/hydrogen_pump{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "WP" = ( /obj/effect/turf_decal/siding/white{ dir = 10 @@ -1574,31 +1028,6 @@ planetary_atmos = 1 }, /area/hangar) -"Xf" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"Xs" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner, -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "XO" = ( /obj/effect/turf_decal/siding/white{ dir = 6 @@ -1677,20 +1106,6 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"ZF" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, /turf/open/floor/plating{ light_color = "#1B1D2E"; light_range = 2 @@ -1712,29 +1127,6 @@ planetary_atmos = 1 }, /area/hangar) -"ZR" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"ZX" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "ZZ" = ( /obj/effect/turf_decal/borderfloor, /obj/effect/turf_decal/siding/white{ @@ -2472,8 +1864,8 @@ NE aG KH UJ -Si -JW +Cs +OZ aN aN aN @@ -2494,8 +1886,8 @@ aN aN aN aN -ZR -gk +vM +pb zG KH aG @@ -2514,7 +1906,7 @@ KH aG aG UJ -pb +Dn OZ aN aN @@ -2537,7 +1929,7 @@ aN aN aN vM -TR +Cs ay aG aG @@ -2556,7 +1948,7 @@ aG aG aG UJ -pb +Dn OZ aN aN @@ -2579,7 +1971,7 @@ aN aN aN SC -Cg +as zG KH aG @@ -2598,7 +1990,7 @@ aG aG aG UJ -YT +Dn OZ aN aN @@ -2621,7 +2013,7 @@ aN aN aN SC -Cg +as zG aG aG @@ -2640,7 +2032,7 @@ aG NE KH UJ -is +Dn OZ ax aN @@ -2663,7 +2055,7 @@ aN aN ax SC -Cg +as zG aG aG @@ -2682,7 +2074,7 @@ KH aG aG UJ -is +Dn OZ aN aN @@ -2705,7 +2097,7 @@ aN aN aN SC -Cg +as zG aG NE @@ -2724,7 +2116,7 @@ aG KH aG Dk -bK +Dn OZ aN aN @@ -2747,7 +2139,7 @@ aN aN aN SC -Cg +as zG KH aG @@ -2766,7 +2158,7 @@ NE aG aG Dk -bK +Dn OZ aN aN @@ -2789,7 +2181,7 @@ aN aN aN SC -Cg +as zG aG aG @@ -2808,7 +2200,7 @@ aG aG NE Dk -bK +as OZ aN aN @@ -2831,7 +2223,7 @@ aN aN aN vM -Cg +as zG ap aG @@ -2850,7 +2242,7 @@ ap KH aG Dk -HR +as OZ ax aN @@ -2873,7 +2265,7 @@ aN aN ax SC -TR +Cs zG aG KH @@ -2892,7 +2284,7 @@ aG aG KH Dk -HR +as OZ aN aN @@ -2915,7 +2307,7 @@ aN aN aN SC -ZF +Dn ay aG aG @@ -2934,7 +2326,7 @@ aG ap aG UJ -HR +as OZ aN aN @@ -2957,7 +2349,7 @@ aN aN aN SC -ZF +Dn ay KH aG @@ -2976,7 +2368,7 @@ KH aG NE UJ -HR +as OZ aN aN @@ -2999,7 +2391,7 @@ aN aN aN SC -ZF +Dn zG aG aG @@ -3018,7 +2410,7 @@ aG aG KH UJ -bK +as Rs aN aN @@ -3041,7 +2433,7 @@ aN aN aN SC -ZF +Dn ay aG aG @@ -3060,7 +2452,7 @@ aG NE aG UJ -pb +Cs Rs ax aN @@ -3083,7 +2475,7 @@ aN aN ax SC -ZF +Dn zG aG aG @@ -3102,7 +2494,7 @@ aG ap aG UJ -pb +Cs aX aN aN @@ -3125,7 +2517,7 @@ aN aN aN SC -TR +Cs zG ap aG @@ -3144,7 +2536,7 @@ KH aG ap UJ -PL +Cs OZ aN aN @@ -3167,7 +2559,7 @@ aN aN aN vM -Sr +pb zG aG NE @@ -3186,8 +2578,8 @@ aG aG aG UJ -pm -JW +Dn +OZ aN aN aN @@ -3208,8 +2600,8 @@ aN aN aN aN -ZR -SJ +vM +Cs ay aG aG @@ -3228,7 +2620,7 @@ al aG ap UJ -is +Dn OZ aN aN @@ -3251,7 +2643,7 @@ aN aN aN SC -Cg +as zG aG aG @@ -3270,7 +2662,7 @@ ae NE aG UJ -is +Dn OZ ax aN @@ -3293,7 +2685,7 @@ aN aN ax SC -Cg +as zG aG KH @@ -3312,7 +2704,7 @@ al aG KH UJ -HR +Dn OZ aN aN @@ -3335,7 +2727,7 @@ aN aN aN SC -Cg +as zG aG aG @@ -3354,7 +2746,7 @@ al ap aG UJ -HR +Dn OZ aN aN @@ -3377,7 +2769,7 @@ aN aN aN SC -Cg +as zG aG aG @@ -3396,7 +2788,7 @@ al Fs aG Dk -pb +Dn OZ aN aN @@ -3419,7 +2811,7 @@ aN aN aN SC -Cg +as zG aG NE @@ -3438,7 +2830,7 @@ al al aG Dk -pb +Dn OZ aN aN @@ -3461,7 +2853,7 @@ aN aN aN SC -Cg +as zG aG ap @@ -3480,7 +2872,7 @@ al al aG Dk -YT +as OZ ax aN @@ -3503,7 +2895,7 @@ aN aN ax vM -Cg +as zG KH aG @@ -3522,7 +2914,7 @@ al KH aG Dk -is +as OZ aN aN @@ -3545,7 +2937,7 @@ aN aN aN SC -TR +Cs zG aG aG @@ -3564,7 +2956,7 @@ al aG ap Dk -is +as OZ aN aN @@ -3587,7 +2979,7 @@ aN aN aN SC -ZF +Dn ay aG NE @@ -3606,7 +2998,7 @@ al aG NE UJ -bK +as OZ aN aN @@ -3629,7 +3021,7 @@ aN aN aN SC -ZF +Dn ay aG aG @@ -3648,7 +3040,7 @@ al aG aG UJ -bK +as OZ aN aN @@ -3671,7 +3063,7 @@ aN aN aN SC -ZF +Dn zG aG KH @@ -3690,7 +3082,7 @@ al KH aG UJ -bK +as Rs ax aN @@ -3713,7 +3105,7 @@ aN aN ax SC -ZF +Dn ay aG aG @@ -3732,7 +3124,7 @@ al aG aG UJ -HR +Dn Rs aN aN @@ -3755,7 +3147,7 @@ aN aN aN SC -ZF +Dn ay aG aG @@ -3771,10 +3163,10 @@ al al al ae -my +ap aG UJ -HR +Dn OZ aN aN @@ -3797,7 +3189,7 @@ aN aN aN ZZ -TR +Cs ay aG aG @@ -3814,9 +3206,9 @@ ag ag aG aG -lH -Dk -HR +KH +SC +Dn OZ aN aN @@ -3839,7 +3231,7 @@ aN aN aN SC -ZF +Dn OZ aG aG @@ -3852,14 +3244,14 @@ ag (51,1,1) = {" ag Hr -kt +Hr ag -KH aG -Xs -fj -Xf -JW +NE +aG +UJ +Dn +OZ aN aN aN @@ -3880,8 +3272,8 @@ aN aN aN aN -HT -ji +SC +Dn ay KH aG @@ -3894,13 +3286,13 @@ ag (52,1,1) = {" ag Hr -Li +Hr ag -kH -kH -wK -Dk -PL +aG +aG +aG +UJ +Dn OZ ax aN @@ -3923,7 +3315,7 @@ aN aN ax SC -Cg +as ay NE aG @@ -3936,13 +3328,13 @@ al (53,1,1) = {" ag Hr -Tb -if -la -la -WL -HJ -pb +Hr +Bh +aG +aG +NE +Dk +as OZ aN aN @@ -3965,7 +3357,7 @@ aN aN aN SC -ZF +Dn ay aG aG @@ -3980,11 +3372,11 @@ ag Hr Hr ag -yh -nD -TK -AZ -Vu +KH +aG +aG +UJ +as OZ aN aN @@ -4007,7 +3399,7 @@ aN aN aN SC -ZF +Dn zG aG aG @@ -4022,11 +3414,11 @@ ag ag ag ag -cu aG -dN -Ck -xp +ap +aG +Dk +Dn OZ aN aN @@ -4049,7 +3441,7 @@ aN aN aN vM -ZF +Dn ay KH aG @@ -4065,10 +3457,10 @@ al al al aG -aG -TK -SC -pb +NE +ap +UJ +Cs OZ aN aN @@ -4091,7 +3483,7 @@ aN aN aN SC -ZF +Dn ay aG NE @@ -4107,9 +3499,9 @@ al al al aG -KH -Lh -eS +aG +aG +UJ pb OZ ax @@ -4133,7 +3525,7 @@ aN aN ax SC -TR +Cs ay aG aG @@ -4149,7 +3541,7 @@ al al Fs aG -aG +KH aG UJ YT @@ -4175,7 +3567,7 @@ aN aN aN SC -TR +Cs ay aG KH @@ -4194,7 +3586,7 @@ aG aG KH UJ -is +Cs Rs aN aN @@ -4217,7 +3609,7 @@ aN aN aN SC -TR +Cs ay aG al @@ -4236,7 +3628,7 @@ NE aG aG UJ -is +Cs Rs aN aN @@ -4259,7 +3651,7 @@ aN aN aN SC -TR +Cs zG ap al @@ -4278,7 +3670,7 @@ aG aG NE Dk -bK +Dn Rs aN aN @@ -4301,7 +3693,7 @@ aN aN aN SC -ZF +Dn OC aG al @@ -4320,7 +3712,7 @@ KH aG aG UJ -bK +Dn OZ ax aN @@ -4343,7 +3735,7 @@ aN aN ax SC -TR +Cs OC KH aG @@ -4362,7 +3754,7 @@ aG aG aG UJ -bK +Dn OZ aN aN @@ -4385,7 +3777,7 @@ aN aN aN vM -Cg +as ay NE aG @@ -4404,7 +3796,7 @@ aG KH aG UJ -HR +as OZ aN aN @@ -4427,7 +3819,7 @@ aN aN aN vM -ZF +Dn ay aG aG @@ -4446,7 +3838,7 @@ aG NE aG UJ -HR +as OZ aN aN @@ -4469,7 +3861,7 @@ aN aN aN vM -ZF +Dn ay aG KH @@ -4488,7 +3880,7 @@ aG ap aG UJ -HR +as OZ aN aN @@ -4511,7 +3903,7 @@ aN aN aN SC -ZF +Dn ay aG NE @@ -4530,7 +3922,7 @@ aG aG NE UJ -HR +as OZ aN aN @@ -4553,7 +3945,7 @@ aN aN aN SC -TR +Cs ay aG aG @@ -4572,8 +3964,8 @@ aG aG aG UJ -sW -Cj +Dn +Rs ax aN aN @@ -4594,8 +3986,8 @@ aN aN aN ax -HT -SJ +SC +Cs ay KH Fs @@ -4614,7 +4006,7 @@ aG KH aG Dk -bK +Dn Rs aN aN @@ -4637,7 +4029,7 @@ aN aN aN SC -ZF +Dn ay aG al @@ -4656,7 +4048,7 @@ aG aG aG Dk -HR +as Rs aN aN @@ -4679,7 +4071,7 @@ ax aN aN SC -Cg +as ay ap al @@ -4698,7 +4090,7 @@ NE aG aG UJ -HR +as HC RC RC @@ -4721,7 +4113,7 @@ RC RC RC vl -Cg +as ay KH al @@ -4740,29 +4132,29 @@ KH aG aG UJ -qR -ZX -Cn -mP -mP -mP -ZX -Cn -Cn -mP -mP -ZX -Pp -ZX -mP -ZX -ZX -ZX -Cn -Cn -mP -ZX -ZX +aE +as +Cs +Dn +Dn +Dn +as +Cs +Cs +Dn +Dn +as +pM +as +Dn +as +as +as +Cs +Cs +Dn +as +as pM zG aG diff --git a/_maps/outpost/hangar/nt_ice_56x40.dmm b/_maps/outpost/hangar/nt_ice_56x40.dmm index b89f435a4a8c..95ae1fc8aea6 100644 --- a/_maps/outpost/hangar/nt_ice_56x40.dmm +++ b/_maps/outpost/hangar/nt_ice_56x40.dmm @@ -234,17 +234,6 @@ light_range = 2 }, /area/hangar) -"cb" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "ck" = ( /turf/open/floor/plating{ light_color = "#1B1D2E"; @@ -290,17 +279,6 @@ planetary_atmos = 1 }, /area/hangar) -"dn" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "ds" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning{ @@ -314,17 +292,6 @@ light_range = 2 }, /area/hangar) -"dQ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "dT" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 1 @@ -352,12 +319,9 @@ "eZ" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning, +/obj/structure/filingcabinet/double/grey, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/east, -/obj/structure/filingcabinet/double/grey{ - dir = 8; - pixel_x = 7 - }, /turf/open/floor/plating{ planetary_atmos = 1 }, @@ -389,18 +353,6 @@ planetary_atmos = 1 }, /area/hangar) -"fT" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "gc" = ( /obj/machinery/light/floor, /obj/effect/decal/cleanable/dirt, @@ -418,38 +370,6 @@ }, /turf/open/floor/plasteel/telecomms_floor, /area/hangar) -"ia" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/machinery/atmospherics/components/binary/valve/digital{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"iG" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/volume_pump, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "iJ" = ( /obj/effect/turf_decal/borderfloor/full, /obj/effect/turf_decal/industrial/warning{ @@ -474,15 +394,6 @@ light_range = 2 }, /area/hangar) -"jF" = ( -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 4 - }, -/obj/item/toy/plush/moth/firewatch{ - pixel_y = 3 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "jS" = ( /obj/effect/turf_decal/borderfloor/corner{ dir = 8 @@ -511,19 +422,6 @@ planetary_atmos = 1 }, /area/hangar) -"kr" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "kH" = ( /obj/effect/turf_decal/borderfloor{ dir = 9 @@ -538,15 +436,6 @@ planetary_atmos = 1 }, /area/hangar) -"ln" = ( -/obj/structure/flora/rock/pile/icy, -/turf/open/floor/plating/asteroid/icerock/temperate, -/area/hangar) -"lo" = ( -/obj/machinery/door/airlock/outpost, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/plasteel/tech, -/area/hangar) "lu" = ( /obj/effect/decal/fakelattice, /turf/open/floor/plasteel/elevatorshaft{ @@ -628,23 +517,6 @@ light_range = 2 }, /area/hangar) -"ne" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/railing/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "nC" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -663,18 +535,6 @@ planetary_atmos = 1 }, /area/hangar) -"nZ" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 1 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "oc" = ( /obj/effect/turf_decal/siding/white{ dir = 8 @@ -691,53 +551,6 @@ planetary_atmos = 1 }, /area/hangar) -"pa" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"pi" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white/corner, -/obj/effect/turf_decal/siding/white/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"ps" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white/corner{ - dir = 1 - }, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/structure/railing/corner{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "pD" = ( /obj/effect/turf_decal/borderfloor, /obj/effect/turf_decal/siding/white{ @@ -762,20 +575,6 @@ }, /turf/open/floor/plasteel/tech, /area/hangar) -"qN" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/decal/cleanable/oil/streak, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "qX" = ( /obj/effect/turf_decal/borderfloor{ dir = 6 @@ -802,16 +601,6 @@ /obj/effect/decal/cleanable/oil, /turf/open/floor/plasteel/tech, /area/hangar) -"sd" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "sw" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -847,31 +636,6 @@ "tj" = ( /turf/open/floor/plasteel/tech, /area/hangar) -"ts" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"tF" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "tR" = ( /obj/effect/turf_decal/borderfloor{ dir = 1 @@ -945,29 +709,6 @@ planetary_atmos = 1 }, /area/hangar) -"vT" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/yellow/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"wG" = ( -/obj/effect/turf_decal/borderfloor, -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "wT" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -979,18 +720,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel/tech, /area/hangar) -"wZ" = ( -/obj/effect/turf_decal/borderfloor, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "yU" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/dirt{ @@ -1003,32 +732,6 @@ planetary_atmos = 1 }, /area/hangar) -"AU" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"AW" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/effect/turf_decal/industrial/shutoff, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/obj/machinery/atmospherics/components/binary/volume_pump{ - dir = 4 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "Be" = ( /obj/effect/turf_decal/borderfloor{ dir = 8 @@ -1174,36 +877,6 @@ light_range = 2 }, /area/hangar) -"El" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Eu" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Fi" = ( -/obj/structure/flora/grass/both, -/obj/item/trash/raisins{ - layer = 2.8 - }, -/turf/open/floor/plating/asteroid/snow/temperatre{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Fn" = ( /obj/structure/closet/crate/bin, /obj/effect/turf_decal/industrial/outline/yellow, @@ -1216,19 +889,6 @@ }, /turf/open/floor/plasteel/dark, /area/hangar) -"Fw" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "FS" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/dirt{ @@ -1242,32 +902,6 @@ planetary_atmos = 1 }, /area/hangar) -"Ht" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, -/obj/machinery/light/floor{ - bulb_power = 0.75 - }, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"HF" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "HV" = ( /obj/effect/turf_decal/borderfloor{ dir = 10 @@ -1286,20 +920,11 @@ planetary_atmos = 1 }, /area/hangar) -"HY" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 8 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) "Iz" = ( /obj/structure/catwalk/over/plated_catwalk, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 8 - }, /turf/open/floor/plating{ light_color = "#1B1D2E"; light_range = 2; @@ -1358,9 +983,6 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, /turf/open/floor/plating{ light_color = "#1B1D2E"; light_range = 2; @@ -1404,7 +1026,6 @@ /obj/effect/turf_decal/industrial/warning{ dir = 1 }, -/obj/structure/chair/comfy/orange/directional/west, /obj/machinery/light/small/directional/east, /turf/open/floor/plating{ planetary_atmos = 1 @@ -1447,20 +1068,6 @@ planetary_atmos = 1 }, /area/hangar) -"Mk" = ( -/obj/effect/turf_decal/siding/white/end{ - dir = 8 - }, -/obj/machinery/computer/hydrogen_exchange{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Mt" = ( /obj/machinery/computer/secure_data{ icon_state = "computer-left"; @@ -1497,39 +1104,6 @@ planetary_atmos = 1 }, /area/hangar) -"Od" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Oj" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/tech, -/area/hangar) -"Or" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/valve/digital, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "OW" = ( /obj/effect/turf_decal/industrial/traffic{ dir = 4 @@ -1622,24 +1196,6 @@ planetary_atmos = 1 }, /area/hangar) -"SR" = ( -/obj/structure/railing{ - dir = 9; - layer = 2.8 - }, -/obj/machinery/atmospherics/components/unary/hydrogen_pump{ - dir = 4 - }, -/obj/effect/turf_decal/siding/white{ - dir = 9 - }, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "Ts" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/dirt{ @@ -1665,27 +1221,6 @@ planetary_atmos = 1 }, /area/hangar) -"UV" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - dir = 1; - layer = 2.8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) "UZ" = ( /obj/effect/turf_decal/siding/white{ dir = 10 @@ -1697,82 +1232,19 @@ layer = 4.1; dir = 10 }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"Vu" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 9 - }, -/obj/effect/turf_decal/siding/white, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) -"VK" = ( -/obj/effect/turf_decal/borderfloor/full, -/obj/machinery/light/floor, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 10 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"Wm" = ( -/obj/structure/railing{ - dir = 5; - layer = 2.8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/portables_connector{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/industrial/warning/fulltile, -/turf/open/floor/plasteel/patterned{ - planetary_atmos = 1; - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"WY" = ( -/obj/effect/turf_decal/borderfloor/full, -/obj/machinery/light/floor, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/patterned/cargo_one{ - light_color = "#1B1D2E"; - light_range = 2 - }, -/area/hangar) -"Xf" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/manifold/orange/hidden, -/turf/open/floor/plating{ +/turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2; planetary_atmos = 1 }, /area/hangar) -"Xq" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, +"Vu" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 9 + }, +/obj/effect/turf_decal/siding/white, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, -/turf/open/floor/plating{ +/turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2; planetary_atmos = 1 @@ -1798,20 +1270,6 @@ }, /turf/open/floor/plasteel/telecomms_floor, /area/hangar) -"XS" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 5 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Yb" = ( /obj/effect/turf_decal/borderfloor{ dir = 4 @@ -1829,19 +1287,6 @@ planetary_atmos = 1 }, /area/hangar) -"Ye" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "Yn" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/dirt{ @@ -1883,25 +1328,11 @@ /obj/effect/turf_decal/borderfloor/full, /obj/machinery/light/floor, /obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden, /turf/open/floor/plasteel/patterned/cargo_one{ light_color = "#1B1D2E"; light_range = 2 }, /area/hangar) -"YW" = ( -/obj/structure/catwalk/over/plated_catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/simple/orange/hidden{ - dir = 6 - }, -/turf/open/floor/plating{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "YX" = ( /obj/structure/flora/tree/dead, /turf/open/floor/plating/asteroid/snow/temperatre{ @@ -1909,24 +1340,6 @@ light_range = 2 }, /area/hangar) -"Zj" = ( -/obj/effect/turf_decal/borderfloor{ - dir = 8 - }, -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/directional/north{ - pixel_x = -6; - bulb_power = 0.25 - }, -/turf/open/floor/plasteel/patterned/brushed{ - light_color = "#1B1D2E"; - light_range = 2; - planetary_atmos = 1 - }, -/area/hangar) "ZE" = ( /obj/effect/turf_decal/industrial/hatch/yellow, /obj/machinery/vending/coffee, @@ -3014,8 +2427,8 @@ ao aE aZ aj -YW -AU +fM +aK ck ck ck @@ -3056,8 +2469,8 @@ ck ck ck ck -ts -XS +aN +Iz am aZ aE @@ -3076,7 +2489,7 @@ aZ aE aE aj -fT +aw aK ck ck @@ -3119,7 +2532,7 @@ ck ck ck aN -kr +fM tR aE aE @@ -3138,7 +2551,7 @@ aE aE ao aj -fT +aw aK ck ck @@ -3181,7 +2594,7 @@ ck ck ck pD -dQ +ad am aZ aE @@ -3200,7 +2613,7 @@ aE aE aE aj -fT +aw aK ck ck @@ -3243,7 +2656,7 @@ ck ck ck pD -dQ +ad am aE aE @@ -3262,7 +2675,7 @@ aE ao aZ aj -fT +aw aK aG ck @@ -3305,7 +2718,7 @@ ck ck aG pD -dQ +ad am aE aE @@ -3324,7 +2737,7 @@ aZ aE aE aj -fT +aw aK ck ck @@ -3367,7 +2780,7 @@ ck ck ck pD -dQ +ad am aE ao @@ -3386,7 +2799,7 @@ aE aZ aE aD -fT +aw aK ck ck @@ -3429,7 +2842,7 @@ ck ck ck pD -dQ +ad am aZ aE @@ -3448,7 +2861,7 @@ ao aE aE aD -fT +aw aK ck ck @@ -3491,7 +2904,7 @@ ck ck ck pD -dQ +ad am aE aE @@ -3510,7 +2923,7 @@ aE aE ao aD -El +ad aK ck ck @@ -3553,7 +2966,7 @@ ck ck ck aN -dQ +ad am ai aE @@ -3572,7 +2985,7 @@ ai aZ aE aD -El +ad aK aG ck @@ -3615,7 +3028,7 @@ ck ck aG pD -kr +fM am aE aZ @@ -3634,7 +3047,7 @@ aE ao aZ aD -El +ad aK ck ck @@ -3677,7 +3090,7 @@ ck ck ck pD -tF +aw tR aE aE @@ -3696,7 +3109,7 @@ aE ai aE aj -El +ad aK ck ck @@ -3739,7 +3152,7 @@ ck ck ck pD -tF +aw tR aZ aE @@ -3758,7 +3171,7 @@ aZ aE ao aj -El +ad aK ck ck @@ -3801,7 +3214,7 @@ ck ck ck pD -tF +aw am aE aE @@ -3820,7 +3233,7 @@ aE aE aZ aj -El +ad kd ck ck @@ -3863,7 +3276,7 @@ ck ck ck pD -tF +aw tR aE aE @@ -3882,7 +3295,7 @@ aE ao aE aj -Ye +fM kd ck ck @@ -3925,7 +3338,7 @@ ck ck ck pD -tF +aw am aE aE @@ -3944,7 +3357,7 @@ aE ai aE aj -Ye +fM sw aG ck @@ -3987,7 +3400,7 @@ ck ck aG pD -kr +fM am ai aE @@ -4006,7 +3419,7 @@ aZ aE ai aj -Ye +fM aK ck ck @@ -4068,8 +3481,8 @@ aE aE aE aj -nZ -AU +aw +aK ck ck ck @@ -4110,8 +3523,8 @@ ck ck ck ck -ts -cb +aN +fM tR aE aE @@ -4130,7 +3543,7 @@ aI aE ai aj -fT +aw aK ck ck @@ -4173,7 +3586,7 @@ ck ck ck pD -dQ +ad am aE aE @@ -4192,7 +3605,7 @@ au ao aE aj -fT +aw aK ck ck @@ -4235,7 +3648,7 @@ ck ck ck pD -dQ +ad am aE aZ @@ -4254,7 +3667,7 @@ aI aE aZ aj -fT +aw aK aG ck @@ -4297,7 +3710,7 @@ ck ck aG pD -dQ +ad am aE aE @@ -4316,7 +3729,7 @@ aI ai aE aj -fT +aw aK ck ck @@ -4359,7 +3772,7 @@ ck ck ck pD -dQ +ad am aE aE @@ -4378,7 +3791,7 @@ aI aT aE aD -fT +aw aK ck ck @@ -4421,7 +3834,7 @@ ck ck ck pD -dQ +ad am aE ao @@ -4440,7 +3853,7 @@ aI aI aE aD -fT +aw aK ck ck @@ -4483,7 +3896,7 @@ ck ck ck pD -dQ +ad am aE ai @@ -4502,7 +3915,7 @@ aI aI aE aD -El +ad aK ck ck @@ -4545,7 +3958,7 @@ ck ck ck aN -dQ +ad am aZ aE @@ -4564,7 +3977,7 @@ aI aZ aE aD -El +ad aK aG ck @@ -4607,7 +4020,7 @@ ck ck aG pD -kr +fM am aE aE @@ -4626,7 +4039,7 @@ aI aE ai aD -El +ad aK ck ck @@ -4669,7 +4082,7 @@ ck ck ck pD -tF +aw tR aE ao @@ -4688,7 +4101,7 @@ aI aE ao aj -El +ad aK ck ck @@ -4731,7 +4144,7 @@ ck ck ck pD -tF +aw tR aE aE @@ -4750,7 +4163,7 @@ aI aE aE aj -El +ad aK ck ck @@ -4793,7 +4206,7 @@ ck ck ck pD -tF +aw am aE aZ @@ -4812,7 +4225,7 @@ aI aZ aE aj -El +ad kd ck ck @@ -4855,7 +4268,7 @@ ck ck ck pD -tF +aw tR aE aE @@ -4874,7 +4287,7 @@ aI aE aE aj -fT +aw kd aG ck @@ -4917,7 +4330,7 @@ ck ck aG pD -tF +aw tR aE aE @@ -4936,7 +4349,7 @@ au ai aE aj -fT +aw aK ck ck @@ -4979,7 +4392,7 @@ ck ck ck Ck -kr +fM tR aE aE @@ -4994,11 +4407,11 @@ aH aH aH aH -ln aE -Mk -aD -El +aE +aZ +pD +aw aK ck ck @@ -5041,7 +4454,7 @@ ck ck ck pD -tF +aw aK aE aE @@ -5054,14 +4467,14 @@ aH (51,1,1) = {" aH tj -jF +tj aH -aZ aE -pi -ps -dn -AU +ao +aE +aj +aw +aK ck ck ck @@ -5102,8 +4515,8 @@ ck ck ck ck -wZ -Xf +pD +aw tR aZ aE @@ -5116,13 +4529,13 @@ aH (52,1,1) = {" aH tj -HY +tj aH -Mj -Mj -Ht -aD -fT +aE +aE +aE +aj +aw aK ck ck @@ -5165,7 +4578,7 @@ ck ck ck pD -dQ +ad tR ao aE @@ -5178,13 +4591,13 @@ aI (53,1,1) = {" aH tj -Oj -lo -vT -vT -SR -ne -Ye +tj +sB +aE +aE +ao +aD +ad aK aG ck @@ -5227,7 +4640,7 @@ ck ck aG pD -tF +aw tR aE aE @@ -5242,11 +4655,11 @@ aH tj tj aH -Zj -qN -AW -pa -Od +aZ +aE +aE +aj +ad aK ck ck @@ -5289,7 +4702,7 @@ ck ck ck pD -tF +aw am aE aE @@ -5304,11 +4717,11 @@ aH aH aH aH +aE ai aE -UV -iG -Fw +aD +aw aK ck ck @@ -5351,7 +4764,7 @@ ck ck ck aN -tF +aw tR aZ aE @@ -5365,12 +4778,12 @@ aI aI aI aI -ln -aE +aI aE -AW -pD -Ye +ao +ai +aj +fM aK ck ck @@ -5413,7 +4826,7 @@ ck ck ck pD -tF +aw tR aE ao @@ -5429,10 +4842,10 @@ aI aI aI aE -Fi -Wm -wG -Ye +aE +aE +aj +Iz aK ck ck @@ -5475,7 +4888,7 @@ ck ck ck pD -kr +fM tR aE aE @@ -5537,7 +4950,7 @@ ck ck aG pD -kr +fM tR aE aZ @@ -5556,7 +4969,7 @@ aE aE aZ aj -Ye +fM kd ck ck @@ -5599,7 +5012,7 @@ ck ck ck pD -kr +fM tR aE aI @@ -5618,7 +5031,7 @@ ao aE aE aj -Ye +fM kd ck ck @@ -5661,7 +5074,7 @@ ck ck ck pD -kr +fM am ai aI @@ -5680,7 +5093,7 @@ aE aE ao aD -fT +aw kd ck ck @@ -5723,7 +5136,7 @@ ck ck ck pD -tF +aw aO aE aI @@ -5742,7 +5155,7 @@ aZ aE aE aj -fT +aw aK ck ck @@ -5785,7 +5198,7 @@ ck ck ck pD -kr +fM aO aZ aE @@ -5804,7 +5217,7 @@ aE aE aE aj -fT +aw aK aG ck @@ -5847,7 +5260,7 @@ ck ck aG aN -dQ +ad tR ao aE @@ -5866,7 +5279,7 @@ aE aZ aE aj -El +ad aK ck ck @@ -5909,7 +5322,7 @@ ck ck ck aN -tF +aw tR aE aE @@ -5928,7 +5341,7 @@ aE ao aE aj -El +ad aK ck ck @@ -5971,7 +5384,7 @@ ck ck ck aN -tF +aw tR aE aZ @@ -5990,7 +5403,7 @@ aE ai aE aj -El +ad aK ck ck @@ -6033,7 +5446,7 @@ ck ck ck pD -tF +aw tR aE ao @@ -6052,7 +5465,7 @@ aE aE ao aj -El +ad aK ck ck @@ -6095,7 +5508,7 @@ ck ck ck pD -kr +fM tR aE aE @@ -6114,8 +5527,8 @@ aE aE aE aj -nZ -Or +aw +kd aG ck ck @@ -6156,8 +5569,8 @@ ck ck ck aG -wZ -cb +pD +fM tR aZ aT @@ -6176,7 +5589,7 @@ aE aZ aE aD -fT +aw kd ck ck @@ -6219,7 +5632,7 @@ ck ck ck pD -tF +aw tR aE aI @@ -6238,7 +5651,7 @@ aE aE aE aD -El +ad kd ck ck @@ -6281,7 +5694,7 @@ aG ck ck pD -dQ +ad tR ai aI @@ -6300,7 +5713,7 @@ ao aE aE aj -El +ad cX Mj ar @@ -6313,7 +5726,7 @@ ar ar ar ar -ia +ar ar ar ar @@ -6333,7 +5746,7 @@ ar ar ar ar -ia +ar ar ar ar @@ -6343,7 +5756,7 @@ ar ar ar qX -dQ +ad tR aZ aI @@ -6362,50 +5775,50 @@ aZ aE aE aj -VK -Eu -Eu -Eu -Eu -Eu -sd -sd -sd -sd -sd -Eu -Eu -HF -Eu -sd -sd -Xq -sd -sd -sd -sd -Xq +Cb +ad +ad +ad +ad +ad +aw +aw +aw +aw +aw +ad +ad +ad +ad +aw +aw +fM +aw +aw +aw +aw +fM +YA +aw +aw +ad +fM +fM +aw +aw +ad +ad +ad +aw +ad +ad +ad +fM +fM +aw +ad +ad YA -sd -sd -Eu -Xq -Xq -sd -sd -Eu -Eu -HF -sd -Eu -Eu -Eu -Xq -Xq -sd -Eu -Eu -WY am aE aE diff --git a/_maps/outpost/indie_space.dmm b/_maps/outpost/indie_space.dmm index b10b86822c8c..4da00eb4c972 100644 --- a/_maps/outpost/indie_space.dmm +++ b/_maps/outpost/indie_space.dmm @@ -1321,6 +1321,7 @@ /turf/open/floor/plating/asteroid, /area/outpost/maintenance/central) "iV" = ( +/obj/machinery/door/firedoor/heavy, /obj/effect/spawner/structure/window/reinforced/indestructable, /turf/open/floor/plating, /area/outpost/vacant_rooms/office) @@ -2379,7 +2380,8 @@ /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 1 }, -/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /turf/open/floor/plasteel, /area/outpost/vacant_rooms/office) "pG" = ( @@ -3004,10 +3006,8 @@ /turf/open/floor/wood, /area/outpost/crew/bar) "tj" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms/office) "tk" = ( @@ -4396,10 +4396,12 @@ /turf/open/floor/plasteel, /area/outpost/hallway/central) "AW" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, /obj/effect/decal/cleanable/dirt/dust, +/obj/structure/railing, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/portable_atmospherics/canister{ + icon_state = "orangews" + }, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms/office) "Bc" = ( @@ -5004,6 +5006,15 @@ icon_state = "0-4" }, /obj/effect/turf_decal/steeldecal/steel_decals_central6, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 5 + }, /turf/open/floor/plasteel, /area/outpost/vacant_rooms/office) "Ff" = ( @@ -5088,12 +5099,14 @@ /turf/open/floor/plasteel/dark, /area/outpost/cargo/office) "Fx" = ( -/obj/structure/table, /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 1 }, -/obj/item/radio/intercom/directional/west, -/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/airalarm/directional/west, /turf/open/floor/plasteel, /area/outpost/vacant_rooms/office) "FB" = ( @@ -5184,8 +5197,8 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "Gi" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, +/obj/machinery/atmospherics/components/unary/hydrogen_pump, +/obj/effect/turf_decal/industrial/outline/yellow, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms/office) "Gj" = ( @@ -5404,9 +5417,6 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "Ht" = ( -/obj/machinery/door/airlock/maintenance{ - dir = 4 - }, /obj/effect/turf_decal/industrial/warning{ dir = 8 }, @@ -5425,6 +5435,15 @@ /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/machinery/door/airlock/atmos/glass{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, /turf/open/floor/plasteel/tech, /area/outpost/vacant_rooms/office) "Hv" = ( @@ -5910,6 +5929,7 @@ /obj/effect/turf_decal/corner/opaque/neutral{ dir = 8 }, +/obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/plasteel, /area/outpost/hallway/port) "Kr" = ( @@ -6008,10 +6028,6 @@ /turf/open/floor/plating, /area/outpost/maintenance/fore) "KJ" = ( -/obj/effect/decal/cleanable/crayon{ - icon_state = "Donk"; - pixel_y = 32 - }, /obj/effect/decal/cleanable/cobweb, /turf/open/floor/plating, /area/outpost/maintenance/central) @@ -6717,8 +6733,12 @@ /turf/open/floor/plasteel/tech/techmaint, /area/outpost/crew/cryo) "Pw" = ( -/obj/structure/rack, -/obj/effect/spawner/random/maintenance/four, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/portable_atmospherics/canister{ + icon_state = "orangews" + }, +/obj/item/wrench, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms/office) "Px" = ( @@ -6765,9 +6785,13 @@ /obj/structure/holosign/barrier/infinite{ max_integrity = 500 }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, -/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ + dir = 4 + }, /turf/open/floor/plasteel, /area/outpost/hallway/port) "PI" = ( @@ -7673,12 +7697,15 @@ /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/cargo) "UE" = ( -/obj/structure/disposalpipe/segment, /obj/effect/turf_decal/spline/fancy/opaque/lightgrey{ dir = 1 }, +/obj/machinery/firealarm/directional/east, /obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, +/obj/machinery/computer/hydrogen_exchange{ + dir = 8 + }, +/turf/open/floor/plasteel, /area/outpost/vacant_rooms/office) "UG" = ( /obj/structure/cable/yellow{ @@ -7747,8 +7774,15 @@ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ - dir = 5 + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 }, +/obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/plasteel, /area/outpost/vacant_rooms/office) "Vc" = ( @@ -7970,10 +8004,11 @@ /turf/open/floor/plating, /area/outpost/maintenance/central) "WC" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/components/binary/volume_pump, +/obj/structure/railing, +/obj/effect/turf_decal/industrial/shutoff, +/obj/item/radio/intercom/directional/west, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms/office) "WH" = ( @@ -8100,6 +8135,15 @@ /obj/effect/turf_decal/corner/opaque/neutral{ dir = 8 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/sign/warning/nosmoking/burnt{ + pixel_y = -28 + }, /turf/open/floor/plasteel, /area/outpost/hallway/port) "Xq" = ( @@ -8425,9 +8469,12 @@ /turf/open/floor/plasteel, /area/outpost/hallway/central) "Zk" = ( -/obj/structure/chair{ - dir = 1 +/obj/structure/disposalpipe/trunk{ + dir = 4 }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/disposal/bin, +/obj/machinery/light/dim/directional/west, /turf/open/floor/plasteel, /area/outpost/vacant_rooms/office) "Zl" = ( @@ -8527,9 +8574,6 @@ /turf/open/floor/plasteel, /area/outpost/hallway/central) "ZP" = ( -/obj/structure/rack, -/obj/effect/spawner/random/medical/surgery_tool/common, -/obj/effect/spawner/random/maintenance/four, /turf/open/floor/plasteel/patterned/cargo_one, /area/outpost/vacant_rooms/office) "ZU" = ( @@ -17228,7 +17272,7 @@ Gi WC Fx Zk -cq +wK KJ pA Mt diff --git a/_maps/outpost/nanotrasen_ice.dmm b/_maps/outpost/nanotrasen_ice.dmm index f4e25d3a2cc2..a63dad550b80 100644 --- a/_maps/outpost/nanotrasen_ice.dmm +++ b/_maps/outpost/nanotrasen_ice.dmm @@ -630,6 +630,23 @@ light_range = 2 }, /area/outpost/exterior) +"ek" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/machinery/camera{ + dir = 8 + }, +/obj/machinery/portable_atmospherics/canister{ + icon_state = "orangews" + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/patterned/brushed{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "el" = ( /obj/structure/window/reinforced/spawner{ dir = 4 @@ -1280,9 +1297,6 @@ /turf/open/floor/plasteel/patterned/ridged, /area/outpost/vacant_rooms/shop) "jI" = ( -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, /obj/effect/turf_decal/borderfloor, /obj/machinery/light/small/directional/east, /obj/structure/railing{ @@ -1342,6 +1356,18 @@ /obj/machinery/light/directional/south, /turf/open/floor/plasteel/telecomms_floor, /area/outpost/security/checkpoint) +"kB" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/plasteel/patterned/brushed{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "kG" = ( /obj/effect/decal/fakelattice, /obj/effect/decal/cleanable/glass{ @@ -1436,14 +1462,13 @@ /turf/open/floor/plasteel/patterned, /area/outpost/crew/cryo) "li" = ( -/obj/effect/turf_decal/siding/white{ - dir = 4 - }, /obj/effect/turf_decal/borderfloor{ dir = 8 }, /obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/glass, +/obj/structure/railing{ + dir = 4 + }, /turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2 @@ -1652,6 +1677,17 @@ light_range = 2 }, /area/outpost/exterior) +"mh" = ( +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/plating{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "mk" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/white{ @@ -1839,6 +1875,17 @@ }, /turf/open/floor/plasteel/dark, /area/outpost/cargo/smeltery) +"nh" = ( +/obj/machinery/atmospherics/components/unary/hydrogen_pump{ + dir = 8 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/light/small/directional/east, +/turf/open/floor/plating{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "nn" = ( /obj/structure/window/reinforced/spawner, /obj/effect/turf_decal/siding/white, @@ -2516,6 +2563,16 @@ }, /turf/open/floor/plasteel/dark, /area/outpost/cargo/smeltery) +"qW" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plasteel/patterned/brushed{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "qY" = ( /obj/effect/turf_decal/industrial/warning/fulltile, /obj/machinery/door/firedoor/border_only{ @@ -3514,10 +3571,6 @@ /obj/effect/turf_decal/borderfloor{ dir = 9 }, -/obj/effect/turf_decal/siding/white/corner, -/obj/structure/railing/corner{ - layer = 4.1 - }, /turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2 @@ -3641,6 +3694,19 @@ }, /turf/open/floor/plasteel/tech, /area/outpost/maintenance/starboard) +"xB" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/railing/corner{ + layer = 4.1 + }, +/turf/open/floor/plasteel/patterned/brushed{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "xG" = ( /obj/effect/turf_decal/siding/white/corner, /obj/effect/turf_decal/borderfloor{ @@ -3821,6 +3887,20 @@ /obj/effect/landmark/ert_outpost_spawn, /turf/open/floor/plasteel/tech, /area/outpost/security/armory) +"zs" = ( +/obj/machinery/portable_atmospherics/canister{ + icon_state = "orangews" + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/structure/sign/nanotrasen/ns{ + pixel_x = 32 + }, +/obj/item/wrench, +/turf/open/floor/plasteel/patterned/brushed{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "zw" = ( /obj/effect/turf_decal/borderfloor{ dir = 8 @@ -4538,10 +4618,6 @@ /obj/effect/turf_decal/borderfloor{ dir = 1 }, -/obj/effect/turf_decal/siding/white, -/obj/structure/railing{ - layer = 4.1 - }, /obj/machinery/light/small/directional/east, /turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; @@ -5598,6 +5674,16 @@ }, /turf/open/floor/plating, /area/outpost/security) +"Mh" = ( +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 6 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/turf/open/floor/plating{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "Mi" = ( /obj/machinery/camera{ dir = 10 @@ -5708,6 +5794,19 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/plasteel/patterned, /area/outpost/cargo/smeltery) +"MS" = ( +/obj/effect/turf_decal/borderfloor{ + dir = 10 + }, +/obj/structure/railing/corner{ + dir = 4; + layer = 4.1 + }, +/turf/open/floor/plasteel/patterned/brushed{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "MW" = ( /obj/structure/closet/emcloset, /obj/item/clothing/suit/hooded/wintercoat, @@ -6778,18 +6877,8 @@ }, /area/outpost/external) "TZ" = ( -/obj/structure/flora/grass/both{ - layer = 3.1 - }, -/obj/item/broken_bottle{ - pixel_x = 4 - }, -/obj/item/cigbutt, -/obj/item/cigbutt{ - pixel_y = 6; - pixel_x = -8 - }, -/turf/open/floor/plating/asteroid/snow/temperatre{ +/obj/machinery/atmospherics/components/binary/volume_pump, +/turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2 }, @@ -7383,6 +7472,23 @@ }, /turf/open/floor/plasteel/dark, /area/outpost/cargo/smeltery) +"Xr" = ( +/obj/item/cigbutt{ + pixel_y = 6; + pixel_x = -8 + }, +/obj/effect/decal/cleanable/ash, +/obj/item/cigbutt{ + pixel_x = 3 + }, +/obj/structure/sign/warning/nosmoking/burnt{ + pixel_y = -28 + }, +/turf/open/floor/plasteel/patterned/brushed{ + light_color = "#1B1D2E"; + light_range = 2 + }, +/area/outpost/exterior) "Xv" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, @@ -7682,10 +7788,14 @@ /turf/open/floor/plasteel/tech, /area/outpost/security/checkpoint) "YZ" = ( -/obj/machinery/camera{ +/obj/machinery/computer/hydrogen_exchange{ dir = 8 }, -/turf/open/floor/plating/asteroid/snow/temperatre{ +/obj/structure/railing{ + layer = 4.1 + }, +/obj/effect/turf_decal/industrial/outline/yellow, +/turf/open/floor/plasteel/patterned/brushed{ light_color = "#1B1D2E"; light_range = 2 }, @@ -12947,11 +13057,11 @@ zw SA Nn wW -HW -HW +xB +qW li -AT -nH +kB +MS Ti xG HW @@ -13032,9 +13142,9 @@ nZ BL Ey YZ -qZ +Mh TZ -NG +ek jI Ti ig @@ -13116,8 +13226,8 @@ iO Zy iO iO -NG -cC +mh +Xr Ak Ak ny @@ -13200,8 +13310,8 @@ iO YA xn iO -cC -cC +nh +zs Ak Od ML From b4216b6464ebed188f1bd9a6c5267402383f92fe Mon Sep 17 00:00:00 2001 From: Jedi-Toothpaste <53096233+Jedi-Toothpaste@users.noreply.github.com> Date: Tue, 3 Dec 2024 13:01:24 +0000 Subject: [PATCH 300/344] Surgery Cases (#3863) adds surgery cases and a base case (useless right now) ## About The Pull Request Adds a new storage type called cases, and adds a surgical case to it for your surgical needs. (no more dufflebag) Also replaces all spawned surgical duffle bags Buying surgical equipment now also gives you a health analyzer (included with the case) ![image](https://github.com/user-attachments/assets/27ff5d5c-146b-4195-9a08-49e575244c68) > Hey, the tools are even in the order most surgeries go, isn't that cute. ![image](https://github.com/user-attachments/assets/2576228d-658e-4b2e-99d7-dc86ac2368ed) > And yes, you can store your fancy tools in there, Cybersun >_Finally, the PR will be on Draft until new sprites and or permission can be obtained since the current ones I have absolutely no clue where it came from and i'd rather not use it without crediting them. When the sprites are here, they will be posted alongside this PR, and obviously credited._ **GOOD NEWS** I found the original spriter and obtained permission to use their sprites. # The sprite was done by the lovely **Azlan** And the original PR that added them to Baystation is mucked in with the Torch Remap (as it was added with the aquila???) However, this is the PR that brings us the Surgical Case as we know it today. https://github.com/Baystation12/Baystation12/pull/16637 ## Why It's Good For The Game Doing surgery currently is immensely painful, as items are often hard to grab resulting in patients quite literally bleeding out. For example last round I played the doctor struggled for the hemostat so much that my character almost bled out and died. Which, I shouldn't need to explain being bad. ## Changelog :cl: add: added surgical cases which hold your tools del: removed all naturally spawning surgical duffles /:cl: --- .../IceRuins/icemoon_ice_lodge.dmm | 2 +- .../JungleRuins/jungle_paradise.dmm | 5 +- .../RockRuins/rockplanet_harmfactory.dmm | 5 +- .../rockplanet_mining_installation.dmm | 6 +- .../SpaceRuins/singularity_lab.dmm | 2 +- .../WasteRuins/wasteplanet_lab.dmm | 2 +- .../WasteRuins/wasteplanet_tradepost.dmm | 2 +- _maps/map_files/generic/CentCom.dmm | 2 +- .../shuttles/independent/independent_box.dmm | 7 +- .../independent/independent_lagoon.dmm | 5 +- .../independent/independent_rigger.dmm | 6 +- .../independent/independent_shetland.dmm | 2 +- _maps/shuttles/inteq/inteq_valor.dmm | 20 +++--- _maps/shuttles/inteq/inteq_vaquero.dmm | 2 +- .../shuttles/nanotrasen/nanotrasen_delta.dmm | 10 ++- .../nanotrasen/nanotrasen_harrier.dmm | 6 +- .../shuttles/nanotrasen/nanotrasen_heron.dmm | 2 +- .../shuttles/nanotrasen/nanotrasen_mimir.dmm | 2 +- .../shuttles/nanotrasen/nanotrasen_ranger.dmm | 2 +- _maps/shuttles/pgf/pgf_crying_sun.dmm | 5 +- _maps/shuttles/pgf/pgf_elated_bolide.dmm | 5 +- _maps/shuttles/pgf/pgf_woeful_cthonian.dmm | 6 +- _maps/shuttles/pirate/pirate_libertatia.dmm | 2 +- _maps/shuttles/pirate/pirate_noderider.dmm | 2 +- _maps/shuttles/pirate/pirate_tortuga.dmm | 6 +- _maps/shuttles/solgov/solgov_paracelsus.dmm | 20 ++++-- .../shuttles/subshuttles/syndicate_runner.dmm | 6 +- .../syndicate_cybersun_litieguai.dmm | 5 +- .../shuttles/syndicate/syndicate_panacea.dmm | 2 +- code/game/objects/items/storage/cases.dm | 62 ++++++++++++++++++ code/modules/cargo/packs/medical.dm | 4 +- icons/obj/storage.dmi | Bin 55341 -> 57959 bytes shiptest.dme | 1 + .../Scripts/3863_Surgical Cases.txt | 3 + 34 files changed, 148 insertions(+), 71 deletions(-) create mode 100644 code/game/objects/items/storage/cases.dm create mode 100644 tools/UpdatePaths/Scripts/3863_Surgical Cases.txt diff --git a/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm b/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm index 0a015c197443..1aca7e66e15c 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_ice_lodge.dmm @@ -256,7 +256,7 @@ /obj/effect/turf_decal/corner/opaque/blue/diagonal, /obj/structure/table/wood, /obj/item/melee/baton/cattleprod/loaded, -/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/item/storage/case/surgery, /turf/open/floor/plasteel/white, /area/ruin/powered/icemoon/lodge/residential) "dV" = ( diff --git a/_maps/RandomRuins/JungleRuins/jungle_paradise.dmm b/_maps/RandomRuins/JungleRuins/jungle_paradise.dmm index 4429e0b8779a..44d3379822b3 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_paradise.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_paradise.dmm @@ -292,8 +292,9 @@ /obj/effect/turf_decal/techfloor{ dir = 5 }, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_y = 9 +/obj/item/storage/case/surgery{ + pixel_x = 0; + pixel_y = 4 }, /turf/open/floor/pod/light, /area/ruin/jungle/paradise/med) diff --git a/_maps/RandomRuins/RockRuins/rockplanet_harmfactory.dmm b/_maps/RandomRuins/RockRuins/rockplanet_harmfactory.dmm index a47ad168fb72..421e199fffe3 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_harmfactory.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_harmfactory.dmm @@ -1345,8 +1345,9 @@ pixel_x = -7; pixel_y = 8 }, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_y = 9 +/obj/item/storage/case/surgery{ + pixel_x = 0; + pixel_y = 3 }, /turf/open/floor/plating/rust, /area/ruin/powered) diff --git a/_maps/RandomRuins/RockRuins/rockplanet_mining_installation.dmm b/_maps/RandomRuins/RockRuins/rockplanet_mining_installation.dmm index 66f178861e96..b140787b25b7 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_mining_installation.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_mining_installation.dmm @@ -7629,9 +7629,9 @@ dir = 4 }, /obj/structure/table, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_y = 13; - pixel_x = -3 +/obj/item/storage/case/surgery{ + pixel_x = 0; + pixel_y = 3 }, /obj/item/reagent_containers/glass/bottle/morphine, /obj/item/reagent_containers/glass/bottle/morphine{ diff --git a/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm b/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm index afec0282e917..6284e693c2c1 100644 --- a/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm +++ b/_maps/RandomRuins/SpaceRuins/singularity_lab.dmm @@ -552,7 +552,7 @@ /obj/structure/closet/crate/medical, /obj/item/storage/firstaid, /obj/item/storage/firstaid, -/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/item/storage/case/surgery, /turf/open/floor/plasteel/patterned/cargo_one, /area/ruin/space/has_grav/singularitylab/cargo) "cv" = ( diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm index bdfc9c75a4a1..1769de22f824 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm @@ -263,7 +263,7 @@ /area/ruin/powered) "lw" = ( /obj/structure/table/wood/reinforced, -/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/item/storage/case/surgery, /obj/effect/turf_decal/corner/transparent/neutral/diagonal, /obj/effect/turf_decal/corner/opaque/blue/diagonal{ dir = 4 diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_tradepost.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_tradepost.dmm index 51879d823e60..1ce3f86f1079 100644 --- a/_maps/RandomRuins/WasteRuins/wasteplanet_tradepost.dmm +++ b/_maps/RandomRuins/WasteRuins/wasteplanet_tradepost.dmm @@ -4970,7 +4970,7 @@ pixel_x = 28 }, /obj/machinery/atmospherics/components/unary/vent_scrubber/layer2, -/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/item/storage/case/surgery, /obj/item/storage/firstaid/radiation, /obj/item/storage/firstaid/radiation, /obj/item/reagent_containers/hypospray/medipen/anti_rad, diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index dd42d30c65dc..a9bc0c4c3b52 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -4660,7 +4660,7 @@ /area/syndicate_mothership/control) "aQg" = ( /obj/structure/closet, -/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/item/storage/case/surgery, /obj/machinery/iv_drip, /obj/item/roller, /obj/item/storage/firstaid/regular, diff --git a/_maps/shuttles/independent/independent_box.dmm b/_maps/shuttles/independent/independent_box.dmm index d1b77ddf5724..55d739348aa4 100644 --- a/_maps/shuttles/independent/independent_box.dmm +++ b/_maps/shuttles/independent/independent_box.dmm @@ -1359,7 +1359,7 @@ icon_state = "med"; name = "equipment locker" }, -/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/item/storage/case/surgery, /obj/item/reagent_containers/spray/cleaner, /obj/item/storage/belt/medical, /obj/item/storage/belt/medical, @@ -1442,8 +1442,9 @@ /turf/open/floor/plasteel/dark, /area/ship/cargo) "mE" = ( -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_y = 7 +/obj/item/storage/case/surgery{ + pixel_x = 0; + pixel_y = 3 }, /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 diff --git a/_maps/shuttles/independent/independent_lagoon.dmm b/_maps/shuttles/independent/independent_lagoon.dmm index 6ef4d8035080..395cd497b5e0 100644 --- a/_maps/shuttles/independent/independent_lagoon.dmm +++ b/_maps/shuttles/independent/independent_lagoon.dmm @@ -2815,10 +2815,7 @@ /area/ship/crew) "sm" = ( /obj/structure/table/glass, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_x = -3; - pixel_y = 13 - }, +/obj/item/storage/case/surgery, /obj/item/reagent_containers/spray/cleaner, /obj/item/clothing/neck/stethoscope, /obj/structure/cable{ diff --git a/_maps/shuttles/independent/independent_rigger.dmm b/_maps/shuttles/independent/independent_rigger.dmm index d4373e7920fb..98765718971d 100644 --- a/_maps/shuttles/independent/independent_rigger.dmm +++ b/_maps/shuttles/independent/independent_rigger.dmm @@ -4410,9 +4410,9 @@ /turf/closed/wall/mineral/plastitanium, /area/ship/construction) "ZI" = ( -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_x = -3; - pixel_y = 13 +/obj/item/storage/case/surgery{ + pixel_x = 0; + pixel_y = 3 }, /obj/item/clothing/gloves/color/latex/nitrile, /obj/structure/table/glass, diff --git a/_maps/shuttles/independent/independent_shetland.dmm b/_maps/shuttles/independent/independent_shetland.dmm index 50811d64208a..645dee18a539 100644 --- a/_maps/shuttles/independent/independent_shetland.dmm +++ b/_maps/shuttles/independent/independent_shetland.dmm @@ -2092,7 +2092,7 @@ /turf/open/floor/plating, /area/ship/hallway/starboard) "ru" = ( -/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/item/storage/case/surgery, /obj/item/clothing/suit/apron/surgical, /obj/structure/table/chem, /obj/structure/sink/chem{ diff --git a/_maps/shuttles/inteq/inteq_valor.dmm b/_maps/shuttles/inteq/inteq_valor.dmm index 90bb139eab9e..7da2d76ec899 100644 --- a/_maps/shuttles/inteq/inteq_valor.dmm +++ b/_maps/shuttles/inteq/inteq_valor.dmm @@ -544,13 +544,13 @@ /area/ship/medical) "eU" = ( /obj/structure/table, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_x = -7; - pixel_y = 10 +/obj/item/storage/case/surgery{ + pixel_x = -4; + pixel_y = 1 }, /obj/item/reagent_containers/medigel/sterilizine{ - pixel_x = -1; - pixel_y = 3 + pixel_x = 8; + pixel_y = 2 }, /obj/effect/turf_decal/borderfloorwhite, /obj/machinery/button/door{ @@ -2979,18 +2979,18 @@ pixel_x = -6; pixel_y = 4 }, -/obj/item/storage/backpack/duffelbag/med/surgery{ +/obj/item/storage/case/surgery{ pixel_x = 4; - pixel_y = 14 + pixel_y = 1 }, /obj/effect/turf_decal/borderfloorblack, /obj/item/reagent_containers/glass/bottle/formaldehyde{ pixel_x = 9; - pixel_y = 4 + pixel_y = 13 }, /obj/item/reagent_containers/syringe{ - pixel_x = -7; - pixel_y = -4 + pixel_x = -6; + pixel_y = 4 }, /turf/open/floor/plasteel/patterned/brushed, /area/ship/medical/surgery) diff --git a/_maps/shuttles/inteq/inteq_vaquero.dmm b/_maps/shuttles/inteq/inteq_vaquero.dmm index 273085c61355..aa5426c9512f 100644 --- a/_maps/shuttles/inteq/inteq_vaquero.dmm +++ b/_maps/shuttles/inteq/inteq_vaquero.dmm @@ -865,7 +865,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, -/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/item/storage/case/surgery, /obj/machinery/light_switch{ dir = 4; pixel_x = -20; diff --git a/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm b/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm index a1272cb575b4..00b0b8421e26 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm @@ -1215,10 +1215,14 @@ /area/ship/engineering) "fU" = ( /obj/structure/table/glass, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_y = 4 +/obj/item/storage/case/surgery{ + pixel_x = -3; + pixel_y = 6 + }, +/obj/item/storage/firstaid/medical{ + pixel_x = 5; + pixel_y = 3 }, -/obj/item/storage/firstaid/medical, /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, /turf/open/floor/plasteel/white, diff --git a/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm b/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm index d554ebb7428a..9d173ba8dbc2 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_harrier.dmm @@ -2297,9 +2297,9 @@ /area/ship/engineering/engine) "mG" = ( /obj/structure/table/glass, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_x = -3; - pixel_y = 13 +/obj/item/storage/case/surgery{ + pixel_x = 0; + pixel_y = 2 }, /obj/machinery/defibrillator_mount/loaded{ pixel_y = -25 diff --git a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm index 31b65dd7747c..9c552619a45b 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm @@ -1527,7 +1527,7 @@ pixel_x = 10; pixel_y = 5 }, -/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/item/storage/case/surgery, /obj/item/clothing/gloves/color/latex, /obj/structure/railing{ dir = 2; diff --git a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm index 25b3bb0a0c83..e3f351a29bbf 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm @@ -1931,7 +1931,7 @@ /turf/open/floor/plasteel, /area/ship/security/prison) "kE" = ( -/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/item/storage/case/surgery, /obj/item/storage/belt/medical/paramedic{ pixel_y = 4 }, diff --git a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm index c006dcd06703..cfbab34b57cc 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm @@ -6962,7 +6962,7 @@ "XS" = ( /obj/effect/turf_decal/corner/opaque/blue/diagonal, /obj/machinery/light/dim/directional/east, -/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/item/storage/case/surgery, /obj/item/toy/plush/moth/ragged{ pixel_y = 11 }, diff --git a/_maps/shuttles/pgf/pgf_crying_sun.dmm b/_maps/shuttles/pgf/pgf_crying_sun.dmm index 97e965f541d3..5af2fca45919 100644 --- a/_maps/shuttles/pgf/pgf_crying_sun.dmm +++ b/_maps/shuttles/pgf/pgf_crying_sun.dmm @@ -1510,10 +1510,7 @@ /area/ship/crew/dorm/dormthree) "mG" = ( /obj/structure/table/optable, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_x = 4; - pixel_y = 4 - }, +/obj/item/storage/case/surgery, /obj/machinery/light/directional/north, /obj/item/reagent_containers/food/drinks/bottle/whiskey{ pixel_x = -10; diff --git a/_maps/shuttles/pgf/pgf_elated_bolide.dmm b/_maps/shuttles/pgf/pgf_elated_bolide.dmm index f2b921d8fea3..f64bc3d920b4 100644 --- a/_maps/shuttles/pgf/pgf_elated_bolide.dmm +++ b/_maps/shuttles/pgf/pgf_elated_bolide.dmm @@ -2192,8 +2192,9 @@ /area/ship/crew/office) "nk" = ( /obj/structure/table/chem, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_y = 9 +/obj/item/storage/case/surgery{ + pixel_x = 0; + pixel_y = 3 }, /obj/item/reagent_containers/glass/bottle/formaldehyde, /obj/item/reagent_containers/glass/bottle/formaldehyde{ diff --git a/_maps/shuttles/pgf/pgf_woeful_cthonian.dmm b/_maps/shuttles/pgf/pgf_woeful_cthonian.dmm index 0e6a33de1aeb..0f4bc8b38709 100644 --- a/_maps/shuttles/pgf/pgf_woeful_cthonian.dmm +++ b/_maps/shuttles/pgf/pgf_woeful_cthonian.dmm @@ -2584,9 +2584,9 @@ "HC" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/trimline/opaque/blue/filled, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_y = 10; - pixel_x = -6 +/obj/item/storage/case/surgery{ + pixel_x = 1; + pixel_y = 3 }, /obj/item/reagent_containers/glass/bottle/morphine{ pixel_y = 9; diff --git a/_maps/shuttles/pirate/pirate_libertatia.dmm b/_maps/shuttles/pirate/pirate_libertatia.dmm index 2890fa5ba815..7fbe7eb795ae 100644 --- a/_maps/shuttles/pirate/pirate_libertatia.dmm +++ b/_maps/shuttles/pirate/pirate_libertatia.dmm @@ -794,7 +794,7 @@ /obj/machinery/vending/wallmed{ pixel_y = 30 }, -/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/item/storage/case/surgery, /obj/item/clothing/gloves/color/latex, /obj/item/clothing/mask/surgical, /obj/item/clothing/suit/apron/surgical, diff --git a/_maps/shuttles/pirate/pirate_noderider.dmm b/_maps/shuttles/pirate/pirate_noderider.dmm index 5af3efbe556d..a68316da4b74 100644 --- a/_maps/shuttles/pirate/pirate_noderider.dmm +++ b/_maps/shuttles/pirate/pirate_noderider.dmm @@ -1200,7 +1200,7 @@ /obj/structure/closet/wall/white/directional/west{ name = "First Aid" }, -/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/item/storage/case/surgery, /obj/item/storage/toolbox/mechanical, /obj/item/storage/toolbox/mechanical, /obj/item/healthanalyzer, diff --git a/_maps/shuttles/pirate/pirate_tortuga.dmm b/_maps/shuttles/pirate/pirate_tortuga.dmm index 022ef2e8c8d8..227d239257c1 100644 --- a/_maps/shuttles/pirate/pirate_tortuga.dmm +++ b/_maps/shuttles/pirate/pirate_tortuga.dmm @@ -3202,9 +3202,9 @@ "Pa" = ( /obj/structure/table/glass, /obj/effect/turf_decal/corner/opaque/blue/full, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_x = 4; - pixel_y = 5 +/obj/item/storage/case/surgery{ + pixel_x = 0; + pixel_y = 3 }, /obj/machinery/light_switch{ pixel_y = 22 diff --git a/_maps/shuttles/solgov/solgov_paracelsus.dmm b/_maps/shuttles/solgov/solgov_paracelsus.dmm index 4c749a5744fe..b14db845e33f 100644 --- a/_maps/shuttles/solgov/solgov_paracelsus.dmm +++ b/_maps/shuttles/solgov/solgov_paracelsus.dmm @@ -892,10 +892,14 @@ /area/ship/hallway/port) "jh" = ( /obj/structure/table, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_y = 7 +/obj/item/storage/case/surgery{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/reagent_containers/medigel/sterilizine{ + pixel_x = 9; + pixel_y = 4 }, -/obj/item/reagent_containers/medigel/sterilizine, /obj/machinery/light/directional/west, /obj/structure/sign/poster/solgov/random{ pixel_y = 30 @@ -1679,10 +1683,14 @@ /area/ship/cargo) "qH" = ( /obj/structure/table, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_y = 7 +/obj/item/storage/case/surgery{ + pixel_x = 3; + pixel_y = 2 + }, +/obj/item/reagent_containers/medigel/sterilizine{ + pixel_x = -10; + pixel_y = 3 }, -/obj/item/reagent_containers/medigel/sterilizine, /obj/machinery/light/directional/east, /turf/open/floor/mineral/titanium/tiled/white, /area/ship/medical/surgery) diff --git a/_maps/shuttles/subshuttles/syndicate_runner.dmm b/_maps/shuttles/subshuttles/syndicate_runner.dmm index d7f64a0d43ee..036a10b49043 100644 --- a/_maps/shuttles/subshuttles/syndicate_runner.dmm +++ b/_maps/shuttles/subshuttles/syndicate_runner.dmm @@ -236,9 +236,9 @@ /turf/open/floor/plasteel/dark, /area/ship/bridge) "gi" = ( -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_x = -2; - pixel_y = 9 +/obj/item/storage/case/surgery{ + pixel_x = 0; + pixel_y = 3 }, /obj/structure/table/chem, /turf/open/floor/plasteel/mono/dark, diff --git a/_maps/shuttles/syndicate/syndicate_cybersun_litieguai.dmm b/_maps/shuttles/syndicate/syndicate_cybersun_litieguai.dmm index 2d25efe0cfef..b007f06698d7 100644 --- a/_maps/shuttles/syndicate/syndicate_cybersun_litieguai.dmm +++ b/_maps/shuttles/syndicate/syndicate_cybersun_litieguai.dmm @@ -2591,8 +2591,9 @@ /obj/item/clothing/mask/surgical{ pixel_y = 6 }, -/obj/item/storage/backpack/duffelbag/med/surgery{ - pixel_y = 10 +/obj/item/storage/case/surgery{ + pixel_x = 0; + pixel_y = 3 }, /obj/item/clothing/suit/apron/surgical{ pixel_y = 6 diff --git a/_maps/shuttles/syndicate/syndicate_panacea.dmm b/_maps/shuttles/syndicate/syndicate_panacea.dmm index 875d5806131c..82d98e21b2a8 100644 --- a/_maps/shuttles/syndicate/syndicate_panacea.dmm +++ b/_maps/shuttles/syndicate/syndicate_panacea.dmm @@ -7453,7 +7453,7 @@ /area/ship/crew/dorm/dormthree) "RE" = ( /obj/structure/table/optable, -/obj/item/storage/backpack/duffelbag/med/surgery, +/obj/item/storage/case/surgery, /turf/open/floor/suns/dark/plain, /area/ship/medical) "RG" = ( diff --git a/code/game/objects/items/storage/cases.dm b/code/game/objects/items/storage/cases.dm new file mode 100644 index 000000000000..3ef5e2c790f9 --- /dev/null +++ b/code/game/objects/items/storage/cases.dm @@ -0,0 +1,62 @@ +// For Cases of all kinds, storage with specific purpose + +//Base Case +/obj/item/storage/case + name = "case" + desc = "A large case." + icon = 'icons/obj/storage.dmi' + icon_state = "case_base" + lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' + drop_sound = 'sound/items/handling/toolbox_drop.ogg' + pickup_sound = 'sound/items/handling/toolbox_pickup.ogg' + throw_speed = 3 + throw_range = 7 + var/empty = FALSE + w_class = WEIGHT_CLASS_BULKY + +/obj/item/storage/case/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.use_sound = 'sound/items/storage/toolbox.ogg' + +/obj/item/storage/case/surgery + name = "surgical case" + icon_state = "case_surgery" + item_state = "case_surgery" + desc = "A large sterile tray with a lid for storing all of the tools you'd need for surgery." + +//Surgical Case +/obj/item/storage/case/surgery/ComponentInitialize() + . = ..() + var/datum/component/storage/STR = GetComponent(/datum/component/storage) + STR.max_w_class = WEIGHT_CLASS_NORMAL + STR.max_items = 7 + STR.set_holdable(list( + /obj/item/healthanalyzer, + /obj/item/healthanalyzer/advanced, + /obj/item/scalpel, + /obj/item/scalpel/advanced, + /obj/item/circular_saw, + /obj/item/circular_saw/best, //CODY WUZ HERE + /obj/item/surgicaldrill, + /obj/item/surgicaldrill/advanced, + /obj/item/retractor, + /obj/item/retractor/advanced, + /obj/item/cautery, + /obj/item/hemostat, + /obj/item/shears, + )) + +/obj/item/storage/case/surgery/PopulateContents() + if(empty) + return + var/static/items_inside = list( + /obj/item/scalpel = 1, + /obj/item/retractor = 1, + /obj/item/hemostat = 1, + /obj/item/circular_saw = 1, + /obj/item/surgicaldrill = 1, + /obj/item/cautery = 1, + /obj/item/healthanalyzer = 1) + generate_items_inside(items_inside,src) diff --git a/code/modules/cargo/packs/medical.dm b/code/modules/cargo/packs/medical.dm index 76d981dd7b23..4d63d5c9cb67 100644 --- a/code/modules/cargo/packs/medical.dm +++ b/code/modules/cargo/packs/medical.dm @@ -85,9 +85,9 @@ /datum/supply_pack/medical/surgery name = "Surgical Supplies Crate" - desc = "Do you want to perform surgery, but don't have one of those fancy shmancy degrees? Just get started with this crate containing a medical duffelbag, Sterilizine spray and collapsible roller bed." + desc = "Do you want to perform surgery, but don't have one of those fancy shmancy degrees? Just get started with this crate containing a medical case, Sterilizine spray and collapsible roller bed." cost = 3000 - contains = list(/obj/item/storage/backpack/duffelbag/med/surgery, + contains = list(/obj/item/storage/case/surgery, /obj/item/reagent_containers/medigel/sterilizine, /obj/item/roller) crate_name = "surgical supplies crate" diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index f5f101c276af5f3914b97c233f5017cd46028f21..d9c488a1fe856b622c75cae7d33d6fefc723d2bf 100644 GIT binary patch literal 57959 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 literal 55341 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 DS}|SB diff --git a/shiptest.dme b/shiptest.dme index 51db0af7846a..39803b3e8525 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -1388,6 +1388,7 @@ #include "code\game\objects\items\storage\book.dm" #include "code\game\objects\items\storage\boxes.dm" #include "code\game\objects\items\storage\briefcase.dm" +#include "code\game\objects\items\storage\cases.dm" #include "code\game\objects\items\storage\fancy.dm" #include "code\game\objects\items\storage\filled_guncases.dm" #include "code\game\objects\items\storage\firstaid.dm" diff --git a/tools/UpdatePaths/Scripts/3863_Surgical Cases.txt b/tools/UpdatePaths/Scripts/3863_Surgical Cases.txt new file mode 100644 index 000000000000..40ab048d63b8 --- /dev/null +++ b/tools/UpdatePaths/Scripts/3863_Surgical Cases.txt @@ -0,0 +1,3 @@ +#Changes Surgical Duffelbags to Surgical Cases + +/obj/item/storage/backpack/duffelbag/med/surgery : /obj/item/storage/case/surgery \ No newline at end of file From 5a738e15f50c66bf334855b7a69cc7d027b6e5ba Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Tue, 3 Dec 2024 05:03:02 -0800 Subject: [PATCH 301/344] Energy Shotgun (E-SG 500) De-shittifying (#3858) ## About The Pull Request The energy shotgun (or the IoT shotgun, E-SG 500, etc.) has been a genuinely, truly awful firearm within the game for as long as I can remember. It shot lasers that tickled people, had almost no range compared to ballistics, had four shots before running out and was an energy weapon which meant reloading was a hassle or even impossible. You could barely kill goliaths with it! This changes it to have marginally increased range, to be slightly more damaging and marginally more accurate. Ideally, this makes people actually consider using the damn thing rather than it being used less than the E-11 in combat because it's more valuable for the cells inside the gun than the gun itself. It now has 10 shots but given it's an energy weapon it can afford having 2 more shotgun shots due to the hassle of reloading. ## Why It's Good For The Game I tried using this shitty thing in combat once and it travelled three goddamned tiles before fizzling out. The few times I did hit anyone with this piece of garbage it did less than an E-11 and with the spread it meant I was more likely to shoot my ship's pet through the glass than I was to actually hit any reasonable amount of shots on someone even point blank. I brought this thing out on a lava world and the legions didn't even attack me because even if I stood next to them I'd run out of ammo before killing them and they just stood there and laughed at me with their stupid fucking skulls just like Etherbor executives laughed me out of their board room for proposing sawing off their BG-16s in order to fit them in a briefcase and so after that i went home with my E-SG 500 and had a home invader and tried to use the damn thing as a club but it snapped in half and by the time i managed to fix the thing he was running off with my xbox and when i tried to shoot him the spread of the laser shells broke my window and my TV and barely even fizzled his back i tried to pawn the gun off but the pawn shop owner told me not even a landfill would accept this piece of shit so i turned to my pastor to exorcise my spirits from the possession of madness the e-sg 500 brought upon my soul and during it the gun tried to shoot me but even controlled by the spawn of satan it was so shit it only burned a hole in my pocket before its battery died and the pastor just laughed at me for ## Changelog :cl: balance: Adjusts the E-SG to hopefully be used more often. /:cl: --------- Signed-off-by: firebudgy <153147550+firebudgy@users.noreply.github.com> --- .../simple_animal/hostile/mining_mobs/hivelord_outfits.dm | 2 +- code/modules/projectiles/ammunition/energy/laser.dm | 8 ++++---- code/modules/projectiles/ammunition/energy/stun.dm | 6 +++--- code/modules/projectiles/projectile/beams.dm | 4 ++++ 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm index cf3d4ba33479..4fb70585fbbb 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord_outfits.dm @@ -459,7 +459,7 @@ if(prob(75)) r_pocket = pick(/obj/item/flashlight/seclite, /obj/item/assembly/flash/handheld, /obj/item/restraints/handcuffs) if(prob(50)) - suit_store = pick(/obj/item/gun/energy/e_gun, /obj/item/gun/energy/e_gun/smg, /obj/item/gun/energy/e_gun/iot) + suit_store = pick(/obj/item/gun/energy/e_gun, /obj/item/gun/energy/e_gun/smg) for(var/i = 1 to 3) if(prob(75)) backpack_contents += pick_weight(list( diff --git a/code/modules/projectiles/ammunition/energy/laser.dm b/code/modules/projectiles/ammunition/energy/laser.dm index 4df0b3b40c4a..a6e51733f29a 100644 --- a/code/modules/projectiles/ammunition/energy/laser.dm +++ b/code/modules/projectiles/ammunition/energy/laser.dm @@ -56,10 +56,10 @@ select_name = "scatter" /obj/item/ammo_casing/energy/laser/ultima - projectile_type = /obj/projectile/beam/laser/weak/negative_ap/low_range - pellets = 3 - variance = 35 - e_cost = 2000 + projectile_type = /obj/projectile/beam/weak + pellets = 6 + variance = 25 + e_cost = 1000 select_name = "kill" /obj/item/ammo_casing/energy/laser/ultima/alt diff --git a/code/modules/projectiles/ammunition/energy/stun.dm b/code/modules/projectiles/ammunition/energy/stun.dm index 1f74196eb83b..1d9eda158668 100644 --- a/code/modules/projectiles/ammunition/energy/stun.dm +++ b/code/modules/projectiles/ammunition/energy/stun.dm @@ -35,10 +35,10 @@ fire_sound = 'sound/weapons/taser.ogg' /obj/item/ammo_casing/energy/disabler/scatter/ultima - projectile_type = /obj/projectile/beam/disabler/weak/negative_ap/low_range + projectile_type = /obj/projectile/beam/disabler/weak/negative_ap pellets = 4 - variance = 35 - e_cost = 2000 + variance = 25 + e_cost = 1000 /obj/item/ammo_casing/energy/disabler/scatter/ultima/alt select_name = "blast" diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 50664b86966e..b0942a242cac 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -83,6 +83,10 @@ /obj/projectile/beam/weaker damage = 10 +/obj/projectile/beam/weak/low_range + damage = 10 + range = 9 + /obj/projectile/beam/weak/penetrator armour_penetration = 50 From 11b6ee1ebe7088244f4e30442d5764f93f92c363 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Tue, 3 Dec 2024 05:03:24 -0800 Subject: [PATCH 302/344] Factional Cargo Pt. 2: The Left Behind Items (#3857) ## About The Pull Request Turns out, a few things were left behind during the development of the factional cargo. This adds a couple guns to various markets such as the E-TAR, the CM-24 Battle Rifle and missing magazines. ## Why It's Good For The Game Finishes an unfinished PR, and adds missing items so some purchased items can actually be used. ## Changelog :cl: add: Additional cargo magazine and gun orders that were missing from the previous factional cargo PR. /:cl: --------- Signed-off-by: firebudgy <153147550+firebudgy@users.noreply.github.com> --- .../objects/items/storage/filled_guncases.dm | 10 +++++ code/modules/cargo/packs/gun.dm | 42 +++++++++++++++++- code/modules/cargo/packs/magazines.dm | 44 +++++++++++++++---- 3 files changed, 87 insertions(+), 9 deletions(-) diff --git a/code/game/objects/items/storage/filled_guncases.dm b/code/game/objects/items/storage/filled_guncases.dm index c61a56114973..49e487072087 100644 --- a/code/game/objects/items/storage/filled_guncases.dm +++ b/code/game/objects/items/storage/filled_guncases.dm @@ -216,6 +216,12 @@ /obj/item/storage/guncase/energy/egun gun_type = /obj/item/gun/energy/e_gun +/obj/item/storage/guncase/energy/ultima + gun_type = /obj/item/gun/energy/e_gun/iot + +/obj/item/storage/guncase/energy/etar + gun_type = /obj/item/gun/energy/e_gun/smg + /obj/item/storage/guncase/energy/iongun gun_type = /obj/item/gun/energy/ionrifle @@ -267,6 +273,10 @@ gun_type = /obj/item/gun/ballistic/shotgun/cm15 mag_type = /obj/item/ammo_box/magazine/cm15_12g +/obj/item/storage/guncase/cm24 + gun_type = /obj/item/gun/ballistic/automatic/assault/skm/cm24 + mag_type = /obj/item/ammo_box/magazine/skm_762_40 + /obj/item/storage/guncase/cmf90 gun_type = /obj/item/gun/ballistic/automatic/marksman/f90 mag_type = /obj/item/ammo_box/magazine/f90 diff --git a/code/modules/cargo/packs/gun.dm b/code/modules/cargo/packs/gun.dm index e364a73032ed..299af1eb929b 100644 --- a/code/modules/cargo/packs/gun.dm +++ b/code/modules/cargo/packs/gun.dm @@ -142,6 +142,15 @@ faction_discount = 0 faction_locked = TRUE +/datum/supply_pack/gun/cm357 + name = "CM-357 Automag Pistol Crate" + desc = "Contains a magazine-fed .357 handgun, produced for the CMM-BARD division and available for requisition in small numbers to the Minutemen." + cost = 3000 + contains = list(/obj/item/storage/guncase/pistol/cm357) + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE + /* Energy */ @@ -200,7 +209,7 @@ /datum/supply_pack/gun/laser/bg16 name = "Etherbor BG-16 Beam Rifle Crate" desc = "Contains a single BG-16 Beam Rifle, a military-grade automatic developed in the PGF and manufactured by Etherbor Industries for use within the Marine Corps." - cost = 3000 + cost = 3500 contains = list(/obj/item/storage/guncase/energy/bg16) crate_name = "beam rifle crate" faction = /datum/faction/pgf @@ -298,6 +307,16 @@ faction_discount = 0 faction_locked = TRUE +/datum/supply_pack/gun/ultima + name = "E-SG 500 Energy Shotgun Crate" + desc = "Contains an energy-based shotgun equipped with dual kill/disable modes, ideal for short range. The on-board computer is notoriously unreliable. For NT employee use only." + cost = 3000 + contains = list(/obj/item/storage/guncase/energy/ultima) + crate_name = "shotgun crate" + faction = /datum/faction/nt + faction_discount = 0 + faction_locked = TRUE + /* SMGs */ @@ -350,6 +369,16 @@ faction_discount = 0 faction_locked = TRUE +/datum/supply_pack/gun/etar + name = "E-TAR Dual-Mode Energy SMG Crate" + desc = "Contains a compact energy-based PDW platform, ideal for suppressing threats at mid-range. For NT employee use only." + cost = 2000 + contains = list(/obj/item/storage/guncase/energy/etar) + crate_name = "SMG crate" + faction = /datum/faction/nt + faction_discount = 0 + faction_locked = TRUE + /datum/supply_pack/gun/firestorm name = "Firestorm SMG Crate" desc = "Contains a Hunter's Pride SMG, intended for internal use by hunters and chambered in .45" @@ -497,6 +526,17 @@ faction_discount = 0 faction_locked = TRUE +/datum/supply_pack/gun/cm24 + name = "CM-24 Surplus Stockpile Rifle" + desc = "Contains a higher-powered rifle chambered in 7.62x40 CLIP based on the SKM-24 platform, formerly the main service rifle of the CMM. This one has been pulled from reservist stockpiles." + cost = 5000 + contains = list(/obj/item/storage/guncase/cm82) + crate_name = "rifle crate" + faction = /datum/faction/clip + faction_discount = 0 + faction_locked = TRUE + + /* Marksman Rifles */ /datum/supply_pack/gun/cmf4 diff --git a/code/modules/cargo/packs/magazines.dm b/code/modules/cargo/packs/magazines.dm index a29ed2403d37..40c2182f4433 100644 --- a/code/modules/cargo/packs/magazines.dm +++ b/code/modules/cargo/packs/magazines.dm @@ -162,6 +162,34 @@ /* CM Lancaster */ +/datum/supply_pack/magazine/cm23_mag + name = "CM-23 Magazine Crate" + desc = "Contains a 10mm magazine for the CM-23 handgun." + contains = list(/obj/item/ammo_box/magazine/cm23) + cost = 500 + faction = /datum/faction/clip + +/datum/supply_pack/magazine/cm70_mag + name = "CM-70 Magazine Crate" + desc = "Contains a 9mm magazine for the CM-70 machinepistol." + contains = list(/obj/item/ammo_box/magazine/m9mm_cm70) + cost = 750 + faction = /datum/faction/clip + +/datum/supply_pack/magazine/cm357_mag + name = "CM-357 Magazine Crate" + desc = "Contains a .357 magazine for the CM-357 automag pistol." + contains = list(/obj/item/ammo_box/magazine/cm357) + cost = 1000 + faction = /datum/faction/clip + +/datum/supply_pack/magazine/cm5_mag + name = "CM-5 Magazine Crate" + desc = "Contains a 9mm magazine for the CM-5 SMG." + contains = list(/obj/item/ammo_box/magazine/cm5_9mm) + cost = 750 + faction = /datum/faction/clip + /datum/supply_pack/magazine/cm82_mag name = "CM-82 Magazine Crate" desc = "Contains a 5.56mm magazine for the CM-82 rifle, containing thirty rounds. Notably, these are also compatable with the P-16 rifle." @@ -189,6 +217,13 @@ cost = 1000 faction = /datum/faction/clip +/datum/supply_pack/magazine/cm15 + name = "CM-15 Magazine Crate" + desc = "Contains an 8-round 12ga magazine for the CM-15 Automatic Shotgun." + contains = list(/obj/item/ammo_box/magazine/cm15_12g) + cost = 1500 + faction = /datum/faction/clip + /* NT */ /datum/supply_pack/magazine/wt550_mag @@ -247,18 +282,11 @@ /* Shotguns */ -/datum/supply_pack/magazine/cm15 - name = "CM-15 Magazine Crate" - desc = "Contains an 8-round 12ga magazine for the CM-15 Automatic Shotgun." - contains = list(/obj/item/ammo_box/magazine/cm15_12g) - cost = 1500 - faction = /datum/faction/clip - /datum/supply_pack/magazine/bulldog name = "Bulldog Magazine Crate" desc = "Contains an 8-round 12ga box magazine for the Bulldog weapons platform." contains = list(/obj/item/ammo_box/magazine/m12g_bulldog) - cost = 1500 + cost = 1000 faction = /datum/faction/syndicate/scarborough_arms From cd2553b0b0c435d04c662b819755ea314fd76588 Mon Sep 17 00:00:00 2001 From: Burning02 <141873051+Burning02@users.noreply.github.com> Date: Tue, 3 Dec 2024 08:04:02 -0500 Subject: [PATCH 303/344] Minor Dwayne change (#3856) ## About The Pull Request As is the title ## Why It's Good For The Game Makes the filing cabinet in the dwayne bridge not "dense" ![image](https://github.com/user-attachments/assets/4e1bc236-f0e0-43e5-8091-948095682ccc) ## Changelog :cl: balance: The Dwayne filing cabinet located in the bridge is no longer dense /:cl: --- _maps/shuttles/independent/independent_dwayne.dmm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_maps/shuttles/independent/independent_dwayne.dmm b/_maps/shuttles/independent/independent_dwayne.dmm index 64735b888673..ec06680151f2 100644 --- a/_maps/shuttles/independent/independent_dwayne.dmm +++ b/_maps/shuttles/independent/independent_dwayne.dmm @@ -2699,7 +2699,8 @@ /obj/machinery/light/directional/west, /obj/structure/filingcabinet/filingcabinet{ dir = 4; - pixel_x = -10 + pixel_x = -10; + density = 0 }, /obj/effect/turf_decal/corner/opaque/ntblue/border{ dir = 8 From 836653d3ce168512b690b9a524b3736787c6a688 Mon Sep 17 00:00:00 2001 From: zimon9 <122945887+zimon9@users.noreply.github.com> Date: Tue, 3 Dec 2024 08:06:14 -0500 Subject: [PATCH 304/344] Easy Energy Cells -- Integrated Retainment Latches (#3853) All energy weapons now come with a retainment clip for their energy cells, if their cells are designed to be removable. After a cell is unlatched, a user will be able to remove the cell like as they would a magazine from a ballistic weapon. However, one must remember that these retainment latches were designed into these weapons for a reason. Firing one with a latch hanging loose will likely cause the cell to fall out and/or disconnect due to jostling. In order to latch or unlatch a retainment clip, one must alt-click on their weapon. If one is using a dual-mode weapon, such as an E-40, they will need to switch to laser mode in order to latch and unlatch the retainment clip, and remove the cell. If one has attachments on their weapon, you'll need to remove the cell on their weapon before attempting to remove an attachment. For the E-40, one simply needs to swap to the ballistic mode in order to do that. A line indicating the latch status was added to the examine text of energy weapons. ![image](https://github.com/user-attachments/assets/5bd8d99b-c066-4664-a6e0-6584fe11667f) This PR also slightly modifies the examine text of the E-40 to include cell charge characteristics. ![image](https://github.com/user-attachments/assets/5bfadcd4-1ca7-4e10-9e56-c37f382e549e) Small sample of it in operation: https://github.com/user-attachments/assets/5ac44c60-fed4-4448-ac15-4f65cf3202b9 Full demo of it in action: https://youtu.be/Be1c_0AFAds A clip of the state of the latch sprites at this time: https://github.com/user-attachments/assets/66d036c1-27df-486f-9b34-c82c22adbd06 Having cell removal be tied to alt-click felt smoother to me, compared to the current way that cells are handled, with removal requiring a screwdriver. The time it takes to remove and replace a cell is comparable as before the change, but it no longer requires a screwdriver to do. :cl: balance: replaced screwdriver cell removal with a cell-retainment clip mechanism /:cl: --- .../projectiles/guns/ballistic/assault.dm | 65 +++++++++++++- code/modules/projectiles/guns/energy.dm | 81 ++++++++++++++---- icons/obj/guns/cell_latch.dmi | Bin 0 -> 356 bytes 3 files changed, 128 insertions(+), 18 deletions(-) create mode 100644 icons/obj/guns/cell_latch.dmi diff --git a/code/modules/projectiles/guns/ballistic/assault.dm b/code/modules/projectiles/guns/ballistic/assault.dm index f6da18d86254..2c59adaaa2d0 100644 --- a/code/modules/projectiles/guns/ballistic/assault.dm +++ b/code/modules/projectiles/guns/ballistic/assault.dm @@ -180,6 +180,9 @@ /obj/item/gun/ballistic/automatic/assault/e40/process_fire(atom/target, mob/living/user, message, params, zone_override, bonus_spread) var/current_firemode = gun_firemodes[firemode_index] if(current_firemode != FIREMODE_OTHER) + if(!secondary.latch_closed && prob(65)) + to_chat(user, span_warning("[src]'s cell falls out!")) + secondary.eject_cell() return ..() return secondary.process_fire(target, user, message, params, zone_override, bonus_spread) @@ -198,10 +201,42 @@ /obj/item/gun/ballistic/automatic/assault/e40/attackby(obj/item/attack_obj, mob/user, params) if(istype(attack_obj, /obj/item/stock_parts/cell/gun)) return secondary.attackby(attack_obj, user, params) - if(istype(attack_obj, /obj/item/screwdriver)) - return secondary.screwdriver_act(user, attack_obj,) return ..() +/obj/item/gun/ballistic/automatic/assault/e40/attack_hand(mob/user) + var/current_firemode = gun_firemodes[firemode_index] + if(current_firemode == FIREMODE_OTHER && loc == user && user.is_holding(src) && secondary.cell && !secondary.latch_closed) + secondary.eject_cell(user) + return + if(current_firemode == FIREMODE_OTHER && loc == user && user.is_holding(src) && secondary.cell && secondary.latch_closed) + to_chat(user, span_warning("The cell retainment clip is latched!")) + return + return ..() + +/obj/item/gun/ballistic/automatic/assault/e40/AltClick(mob/living/user) + var/current_firemode = gun_firemodes[firemode_index] + if(current_firemode == FIREMODE_OTHER) + if(secondary.latch_closed) + to_chat(user, span_notice("You start to unlatch the [src]'s power cell retainment clip...")) + if(do_after(user, secondary.latch_toggle_delay, src, IGNORE_USER_LOC_CHANGE)) + to_chat(user, span_notice("You unlatch [src]'s power cell retainment clip " + "OPEN" + ".")) + playsound(src, 'sound/items/taperecorder/taperecorder_play.ogg', 50, FALSE) + secondary.tac_reloads = TRUE + secondary.latch_closed = FALSE + update_appearance() + return + else + to_chat(user, span_warning("You start to latch the [src]'s power cell retainment clip...")) + if (do_after(user, secondary.latch_toggle_delay, src, IGNORE_USER_LOC_CHANGE)) + to_chat(user, span_notice("You latch [src]'s power cell retainment clip " + "CLOSED" + ".")) + playsound(src, 'sound/items/taperecorder/taperecorder_close.ogg', 50, FALSE) + secondary.tac_reloads = FALSE + secondary.latch_closed = TRUE + update_appearance() + return + else + return ..() + /obj/item/gun/ballistic/automatic/assault/e40/on_wield(obj/item/source, mob/user) wielded = TRUE secondary.wielded = TRUE @@ -241,6 +276,20 @@ . += "[icon_state]_charge[ratio]" if(secondary.cell) . += "[icon_state]_cell" + if(ismob(loc)) + var/mutable_appearance/latch_overlay + latch_overlay = mutable_appearance('icons/obj/guns/cell_latch.dmi') + if(secondary.latch_closed) + if(secondary.cell) + latch_overlay.icon_state = "latch-on-full" + else + latch_overlay.icon_state = "latch-on-empty" + else + if(secondary.cell) + latch_overlay.icon_state = "latch-off-full" + else + latch_overlay.icon_state = "latch-off-empty" + . += latch_overlay /obj/item/gun/ballistic/automatic/assault/e40/toggle_safety(mob/user, silent=FALSE) @@ -257,6 +306,17 @@ SEND_SIGNAL(src, COMSIG_GUN_SET_AUTOFIRE_SPEED, fire_delay) SEND_SIGNAL(src, COMSIG_UPDATE_AMMO_HUD) +/obj/item/gun/ballistic/automatic/assault/e40/examine(mob/user) + . = ..() + if(!secondary.internal_magazine) + . += "The cell retainment latch is [secondary.latch_closed ? "CLOSED" : "OPEN"]. Alt-Click to toggle the latch." + var/obj/item/ammo_casing/energy/shot = secondary.ammo_type[select] + if(secondary.cell) + . += "\The [name]'s cell has [secondary.cell.percent()]% charge remaining." + . += "\The [name] has [round(secondary.cell.charge/shot.e_cost)] shots remaining on [shot.select_name] mode." + else + . += span_notice("\The [name] doesn't seem to have a cell!") + //laser /obj/item/gun/energy/laser/e40_laser_secondary @@ -268,5 +328,6 @@ fire_delay = 0.2 SECONDS gun_firemodes = list(FIREMODE_FULLAUTO) default_firemode = FIREMODE_FULLAUTO + latch_toggle_delay = 1.2 SECONDS spread_unwielded = 20 diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index f64c618d747d..4a69242301ab 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -30,6 +30,9 @@ tac_reloads = FALSE tactical_reload_delay = 1.2 SECONDS + var/latch_closed = TRUE + var/latch_toggle_delay = 1.0 SECONDS + valid_attachments = list( /obj/item/attachment/laser_sight, /obj/item/attachment/rail_light, @@ -128,7 +131,7 @@ if (!internal_magazine && (A.type in (allowed_ammo_types - blacklisted_ammo_types))) var/obj/item/stock_parts/cell/gun/C = A if (!cell) - insert_cell(user, C) + return insert_cell(user, C) else if (tac_reloads) eject_cell(user, C) @@ -136,14 +139,18 @@ return ..() /obj/item/gun/energy/proc/insert_cell(mob/user, obj/item/stock_parts/cell/gun/C) - if(user.transferItemToLoc(C, src)) - cell = C - to_chat(user, span_notice("You load the [C] into \the [src].")) - playsound(src, load_sound, load_sound_volume, load_sound_vary) - update_appearance() - return TRUE + if(!latch_closed) + if(user.transferItemToLoc(C, src)) + cell = C + to_chat(user, span_notice("You load the [C] into \the [src].")) + playsound(src, load_sound, load_sound_volume, load_sound_vary) + update_appearance() + return TRUE + else + to_chat(user, span_warning("You cannot seem to get \the [src] out of your hands!")) + return FALSE else - to_chat(user, span_warning("You cannot seem to get \the [src] out of your hands!")) + to_chat(user, span_warning("The [src]'s cell retainment clip is latched!")) return FALSE /obj/item/gun/energy/proc/eject_cell(mob/user, obj/item/stock_parts/cell/gun/tac_load = null) @@ -176,13 +183,34 @@ // eject_cell(user) // return ..() // [/CELADON-REMOVE] // ЕСЛИ БУДЕТ РАНТАЙМИТЬ, СНЕСТИ СНИЗУ -/obj/item/gun/energy/screwdriver_act(mob/living/user, obj/item/I) - if(cell && !internal_magazine) - to_chat(user, span_notice("You begin unscrewing and pulling out the cell...")) - if(I.use_tool(src, user, unscrewing_time, volume = 100)) - to_chat(user, span_notice("You remove the power cell.")) - eject_cell(user) - return ..() + +//special is_type_in_list method to counteract problem with current method +/obj/item/gun/energy/proc/is_attachment_in_contents_list() + for(var/content_item in contents) + if(istype(content_item, /obj/item/attachment/)) + return TRUE + return FALSE + +/obj/item/gun/energy/AltClick(mob/living/user) + if(!internal_magazine && latch_closed) + to_chat(user, span_notice("You start to unlatch the [src]'s power cell retainment clip...")) + if(do_after(user, latch_toggle_delay, src, IGNORE_USER_LOC_CHANGE)) + to_chat(user, span_notice("You unlatch the [src]'s power cell retainment clip " + "OPEN" + ".")) + playsound(src, 'sound/items/taperecorder/taperecorder_play.ogg', 50, FALSE) + tac_reloads = TRUE + latch_closed = FALSE + update_appearance() + else if(!internal_magazine && !latch_closed) + if(!cell && is_attachment_in_contents_list()) + return ..() //should bring up the attachment menu if attachments are added. If none are added, it just does leaves the latch open + to_chat(user, span_warning("You start to latch the [src]'s power cell retainment clip...")) + if (do_after(user, latch_toggle_delay, src, IGNORE_USER_LOC_CHANGE)) + to_chat(user, span_notice("You latch the [src]'s power cell retainment clip " + "CLOSED" + ".")) + playsound(src, 'sound/items/taperecorder/taperecorder_close.ogg', 50, FALSE) + tac_reloads = FALSE + latch_closed = TRUE + update_appearance() + return /obj/item/gun/energy/can_shoot(visuals) if(safety && !visuals) @@ -222,7 +250,12 @@ /obj/item/gun/energy/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) if(!chambered && can_shoot()) process_chamber() // If the gun was drained and then recharged, load a new shot. - return ..() + ..() //process the gunshot as normal + if(!latch_closed && prob(65)) //make the cell slide out if it's fired while the retainment clip is unlatched, with a 65% probability + to_chat(user, span_warning("The [src]'s cell falls out!")) + eject_cell() + return + /obj/item/gun/energy/proc/select_fire(mob/living/user) select++ @@ -261,6 +294,20 @@ var/overlay_icon_state = "[icon_state]_charge" var/obj/item/ammo_casing/energy/shot = ammo_type[modifystate ? select : 1] var/ratio = get_charge_ratio() + if(ismob(loc) && !internal_magazine) + var/mutable_appearance/latch_overlay + latch_overlay = mutable_appearance('icons/obj/guns/cell_latch.dmi') + if(latch_closed) + if(cell) + latch_overlay.icon_state = "latch-on-full" + else + latch_overlay.icon_state = "latch-on-empty" + else + if(cell) + latch_overlay.icon_state = "latch-off-full" + else + latch_overlay.icon_state = "latch-off-empty" + . += latch_overlay if(cell) . += "[icon_state]_cell" if(ratio == 0) @@ -331,6 +378,8 @@ /obj/item/gun/energy/examine(mob/user) . = ..() + if(!internal_magazine) + . += "The cell retainment latch is [latch_closed ? "CLOSED" : "OPEN"]. Alt-Click to toggle the latch." var/obj/item/ammo_casing/energy/shot = ammo_type[select] if(ammo_type.len > 1) . += "You can switch firemodes by pressing the unique action key. By default, this is space" diff --git a/icons/obj/guns/cell_latch.dmi b/icons/obj/guns/cell_latch.dmi new file mode 100644 index 0000000000000000000000000000000000000000..6372df688776df8ced09d3f993956194d5df20a5 GIT binary patch literal 356 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|ei2$Dv*8>L*#Ld)hcpSuVhC!?# z@xO}783yAfF0oH>Tatll7)yfuf*Bm1-ADs+nyW%0N?cNllZ!G7N;32F7#J$%1cwzA zm45#cT=4Ph6D@CDt#fD22X6>9xM=*~kM?sS;KhCFQw{dFo@+ zxX6Q7&$GUXWcZ@tURZVQZ41yj*`6+rAs(G?PZ@GG81S?{tY~&-?dIVUvpITxPbhmR>nG>bn?KI& ztj}@zA{7&6kP#rf|8tqFkLU^h$)%62pW78P^OuP!ZrT{X9cV3sr>mdKI;Vst02S?r A-~a#s literal 0 HcmV?d00001 From 655cbbcc83a083e0a87b41966f70c6e99603f550 Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Tue, 3 Dec 2024 05:07:27 -0800 Subject: [PATCH 305/344] Syndicate melee mob balance and clean up (#3703) ## About The Pull Request Removes block chance from the knife wielding syndicate simple mobs. Fixes space knife syndicate simple mobs no longer dying in space Reduces the block chance of esword syndicate simple mobs to 25 from 50. ## Why It's Good For The Game Why can the guys with knives block bullets? They have knives? Space enemies shouldnt die in space. 50% block chance for esword simple mobs is immensely brutal, doubling the effective health of an already dangerous mob, and I've seen them full wipe crews in the past. Some toning down would be good. ## Changelog :cl: balance: Syndicate esword simplemob block chance down to 25. fix: Syndi space knife enemies dying in space, and having block chance. /:cl: --- .../mob/living/simple_animal/hostile/human/syndicate.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm index b20945bfccd1..7e0f4a8b9c2c 100644 --- a/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/human/syndicate.dm @@ -70,7 +70,7 @@ minbodytemp = 0 maxbodytemp = 1000 speed = 1 - projectile_deflect_chance = 50 + projectile_deflect_chance = 0 armor_base = /obj/item/clothing/suit/space/hardsuit/syndi/ramzi /mob/living/simple_animal/hostile/human/syndicate/melee/space/Initialize() @@ -86,7 +86,7 @@ name = "Ramzi Clique Stormtrooper" maxHealth = 250 health = 250 - projectile_deflect_chance = 50 + projectile_deflect_chance = 0 armor_base = /obj/item/clothing/suit/space/hardsuit/syndi /mob/living/simple_animal/hostile/human/syndicate/melee/sword @@ -128,7 +128,7 @@ minbodytemp = 0 maxbodytemp = 1000 speed = 1 - projectile_deflect_chance = 50 + projectile_deflect_chance = 25 armor_base = /obj/item/clothing/suit/space/hardsuit/syndi/ramzi /mob/living/simple_animal/hostile/human/syndicate/melee/sword/space/Initialize() From 8b89df78b811d0d309d56f55b337a3b4ddbf6a91 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 3 Dec 2024 08:10:24 -0500 Subject: [PATCH 306/344] add artificer to valor (#3842) ## About The Pull Request as title ## Why It's Good For The Game frequent complaint about the ship. lack of essential role (engineer) does not create meaningful inter-ship interaction. just makes it less fun to play on. ## Changelog :cl: add: the valor now carries an artificer /:cl: --- _maps/configs/inteq_valor.json | 4 ++ _maps/shuttles/inteq/inteq_valor.dmm | 58 ++++++++++++++++------------ 2 files changed, 38 insertions(+), 24 deletions(-) diff --git a/_maps/configs/inteq_valor.json b/_maps/configs/inteq_valor.json index c91d7838408f..9c23544026ce 100644 --- a/_maps/configs/inteq_valor.json +++ b/_maps/configs/inteq_valor.json @@ -41,6 +41,10 @@ "outfit": "/datum/outfit/job/inteq/security/empty", "slots": 2 }, + "Artificer": { + "outfit": "/datum/outfit/job/inteq/engineer", + "slots": 1 + }, "Recruit": { "outfit": "/datum/outfit/job/inteq/assistant", "slots": 2 diff --git a/_maps/shuttles/inteq/inteq_valor.dmm b/_maps/shuttles/inteq/inteq_valor.dmm index 7da2d76ec899..78821ad9c0b9 100644 --- a/_maps/shuttles/inteq/inteq_valor.dmm +++ b/_maps/shuttles/inteq/inteq_valor.dmm @@ -457,9 +457,6 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/structure/cable{ - icon_state = "1-4" - }, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ship/maintenance/starboard) @@ -2002,10 +1999,10 @@ pixel_y = 32 }, /obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable{ +/obj/structure/cable/yellow{ icon_state = "0-2" }, -/obj/machinery/power/ship_gravity, +/obj/machinery/power/port_gen/pacman/super, /turf/open/floor/plating, /area/ship/maintenance/port) "rY" = ( @@ -3262,6 +3259,9 @@ /obj/structure/cable/yellow, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/corner_techfloor_gray/diagonal, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, /turf/open/floor/plating, /area/ship/maintenance/port) "Dm" = ( @@ -3275,11 +3275,21 @@ /turf/open/floor/plasteel/tech, /area/ship/crew/cryo) "Dw" = ( -/obj/structure/cable/yellow, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/airalarm/directional/east, -/obj/machinery/power/port_gen/pacman/super, -/obj/item/stack/sheet/mineral/uranium/twenty, +/obj/item/storage/backpack/industrial, +/obj/item/clothing/suit/toggle/industrial, +/obj/item/clothing/gloves/color/yellow, +/obj/item/storage/belt/utility, +/obj/item/clothing/under/syndicate/inteq/artificer, +/obj/item/clothing/under/syndicate/inteq/skirt/artificer, +/obj/item/clothing/head/soft/inteq, +/obj/item/clothing/head/hardhat, +/obj/item/clothing/shoes/combat, +/obj/item/clothing/mask/gas/inteq, +/obj/structure/closet/wall/directional/south{ + name = "engineering closet"; + icon_door = "yellow_door" + }, +/obj/structure/table, /turf/open/floor/plating, /area/ship/maintenance/starboard) "Dx" = ( @@ -3707,6 +3717,9 @@ /obj/structure/cable{ icon_state = "1-10" }, +/obj/structure/chair{ + dir = 4 + }, /turf/open/floor/plating, /area/ship/maintenance/starboard) "HB" = ( @@ -4903,13 +4916,15 @@ /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/medical/surgery) "SX" = ( -/obj/machinery/power/terminal{ - dir = 1 +/obj/structure/table, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 7; + pixel_y = 8 }, -/obj/structure/cable/yellow{ - icon_state = "0-2" +/obj/item/clothing/glasses/welding{ + pixel_x = 8; + pixel_y = -1 }, -/obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/ship/maintenance/starboard) "Td" = ( @@ -5034,18 +5049,13 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "Uz" = ( -/obj/machinery/power/smes/engineering{ - charge = 1e+006 - }, -/obj/effect/turf_decal/borderfloorblack/full, -/obj/structure/cable{ - icon_state = "0-8" - }, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light_switch{ dir = 8; pixel_x = 20 }, +/obj/machinery/airalarm/directional/east, +/obj/machinery/power/ship_gravity, /turf/open/floor/plating, /area/ship/maintenance/starboard) "UC" = ( @@ -5222,8 +5232,8 @@ /obj/structure/cable{ icon_state = "2-10" }, -/obj/structure/cable{ - icon_state = "1-2" +/obj/structure/cable/yellow{ + icon_state = "1-4" }, /turf/open/floor/plating, /area/ship/maintenance/port) From efec98144ed926f206b3ac5950e2ce6841583f00 Mon Sep 17 00:00:00 2001 From: Theos Date: Tue, 3 Dec 2024 08:14:48 -0500 Subject: [PATCH 307/344] Adds the assault belt to cargo (#3861) ## About The Pull Request Returns the assault belt to cargo for 500 credits which is a number I pulled out of my assault belt The assault belt holds 6 small or tiny items with no themed restrictions ## Why It's Good For The Game Reduces storage reliance on backpacks very slightly & makes storing guns on the back slot a little more viable ## Changelog :cl: add: The assault belt has been freed from its SWAT suit prison and is now purchasable in cargo /:cl: Signed-off-by: Theos --- code/modules/cargo/packs/tools.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/modules/cargo/packs/tools.dm b/code/modules/cargo/packs/tools.dm index 830746d96fa4..e4996761976a 100644 --- a/code/modules/cargo/packs/tools.dm +++ b/code/modules/cargo/packs/tools.dm @@ -39,6 +39,13 @@ /obj/item/clothing/glasses/meson/engine) crate_name = "engineering gear crate" +/datum/supply_pack/tools/assbelt + name = "Assault Belt" + desc = "Contains an assault belt, with not one, not two, but six pockets." + cost = 500 + contains = list(/obj/item/storage/belt/military/assault) + crate_name = "assault belt crate" + /datum/supply_pack/tools/cellcharger name = "Cell Charger Crate" desc = "Contains a cell charger, able to charge all sorts of power cells." From 0c909229e92aaa0444c0c53979f949ce65179bdf Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Tue, 3 Dec 2024 07:23:49 -0600 Subject: [PATCH 308/344] Angle Grinders are more Efficient than Plasmacutters (#3737) ## About The Pull Request Makes angle grinders overall faster than plasmacutters at taking down walls and structures, and taking a fair bit less charge to boot. Slightly decreases the time to deconstruct certain objects like safes and blast doors by a negligible amount. ## Why It's Good For The Game Bulky as hell and no better than plasmacutters other than cost (as discussed in https://github.com/shiptest-ss13/Shiptest/pull/3727). I think it'd be interesting that angle grinders being a very efficient and quick method of shipbreaking (which has little to no in game benefit, mind you) compared to the plasmacutter being a compact, specialist tool for breaching would make buying either worthwhile. ## Changelog :cl: balance: Angle Grinders now take less charge and are much quicker at deconstructing walls balance: Plasmacutters are now marginally slower, hardly noticeable. balance: Blast doors and safes are now very slightly faster to cut open. /:cl: --- code/game/machinery/doors/poddoor.dm | 2 +- code/game/objects/structures/safe.dm | 2 +- code/modules/mining/equipment/angle_grinder.dm | 10 +++++----- code/modules/projectiles/guns/energy/special.dm | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index 1cb54e029214..2b63f574e820 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -64,7 +64,7 @@ electrocute_mob(user, get_area(src), src, 1, TRUE) //zorp close() to_chat(user, span_notice("You start to cut [src] apart")) - if (W.use_tool(src, user, 15 SECONDS, volume = 75)) + if (W.use_tool(src, user, 10 SECONDS, volume = 75)) deconstruct(TRUE) /obj/machinery/door/poddoor/examine(mob/user) diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm index 44a9f7f94717..0ea49b44933a 100644 --- a/code/game/objects/structures/safe.dm +++ b/code/game/objects/structures/safe.dm @@ -78,7 +78,7 @@ FLOOR SAFES else if(I.tool_behaviour == TOOL_DECONSTRUCT) user.visible_message("[user] begin to cut through the lock of \the [src].","You start cutting trough the lock of [src].") - if(I.use_tool(src, user, 60 SECONDS)) + if(I.use_tool(src, user, 45 SECONDS)) broken = TRUE user.visible_message("[user] successfully cuts trough the lock of \the [src].","You successfully cut trough the lock of [src].") diff --git a/code/modules/mining/equipment/angle_grinder.dm b/code/modules/mining/equipment/angle_grinder.dm index 7110fd2c42f7..f90b709efeb8 100644 --- a/code/modules/mining/equipment/angle_grinder.dm +++ b/code/modules/mining/equipment/angle_grinder.dm @@ -27,9 +27,9 @@ hitsound = 'sound/weapons/anglegrinder.ogg' usesound = 'sound/weapons/anglegrinder.ogg' tool_behaviour = null // is set to TOOL_DECONSTRUCT once wielded - toolspeed = 1 - wall_decon_damage = 250 - usecost = 5 + toolspeed = 0.6 + wall_decon_damage = 350 + usecost = 2.5 pack = /obj/item/gear_pack/anglegrinder var/startsound = 'sound/weapons/chainsawhit.ogg' var/adv = FALSE @@ -127,8 +127,8 @@ hitsound = 'sound/weapons/blade1.ogg' usesound = 'sound/weapons/blade1.ogg' startsound = 'sound/weapons/saberon.ogg' - toolspeed = 0.7 - usecost = 10 + toolspeed = 0.4 + usecost = 4 pack = /obj/item/gear_pack/anglegrinder/energy light_system = MOVABLE_LIGHT light_range = 3 diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index e394aa2b7b4d..ba8dfc7386a2 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -126,7 +126,7 @@ usesound = list('sound/items/welder.ogg', 'sound/items/welder2.ogg') tool_behaviour = TOOL_DECONSTRUCT wall_decon_damage = 200 - toolspeed = 0.9 //plasmacutters can be used like angle grinders, and are a bit faster + toolspeed = 1 //plasmacutters can be used like angle grinders internal_magazine = TRUE //so you don't cheese through the need for plasma - WS EDIT var/charge_cut = 100 //amount of charge used up to start action (multiplied by amount) and per progress_flash_divisor ticks of cutting var/adv = FALSE From 994c3d850225bb75c5417a7300445de5919c3c80 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Tue, 3 Dec 2024 05:24:10 -0800 Subject: [PATCH 309/344] Minor Tcomms Update: Decrufts Syndicate Comms, Removes Station Frequency Names, and Expands Usable Frequencies (#3835) Telecommunications was obtuse and adding a faction's custom frequency required codediving or knowledge ahead of time when working with machines. Additionally, departmental comms (including Command) have been dead for years at this point and won't make a return. This correctly mataches frequencies to their factions and reflavors Command to an Emergency Frequency (a reference to https://en.wikipedia.org/wiki/Aircraft_emergency_frequency). Pirates are now only listed as "Unidentified" rather than Pirates. Updated channels listed here. ![image](https://github.com/user-attachments/assets/6114b99e-73d2-4cac-aa90-618f632bc809) Another major change is the removal of special treatment for syndicate comms. No longer can they listen in on every frequency, nor are they prevented from having their frequency tuned into. Theirs is the exact same as everyone else's, now. This also expands the list of usable frequencies by a decent margin in order to make it significantly less likely that you can accidentally tune into someone else's comms, as well as specifically make it so certain powergaming strategies are no longer feasible. Wideband has been moved up to compensate. Removes a large amount of residual references to station content and makes Syndicate communications not blatantly able to monitor every single channel. Makes tcomms easier to work with when adding channels, and organization within servers easier. Stops certain powergaming strategies from being feasible while reducing the constant frequency overlaps from only having 24 bands (dating back to the existence of stations). :cl: Cloudbreak del: AI Private frequency balance: Syndicate communications are no longer able to monitor all other factions. balance: Syndicate communications are no longer unable to be monitored. balance: Nanotrasen has modernized their handhelds. Possible radio frequencies adjusted from 144.1-148.9 to 144.1-168.9. add: Reflavored set channels to properly ID their faction. fix: Vox sprite compatibility in a single sprite. /:cl: --- code/__DEFINES/radio.dm | 29 +++++-------- code/controllers/subsystem/blackbox.dm | 6 +-- code/game/communications.dm | 6 +-- code/game/machinery/cloning.dm | 2 +- code/game/machinery/computer/arcade.dm | 8 ++-- code/game/machinery/doors/brigdoors.dm | 4 +- code/game/machinery/requests_console.dm | 2 +- code/game/machinery/telecomms/broadcasting.dm | 8 ---- .../telecomms/machine_interactions.dm | 12 ++---- code/game/machinery/telecomms/machines/bus.dm | 4 +- .../machinery/telecomms/machines/receiver.dm | 2 +- .../machinery/telecomms/machines/relay.dm | 14 +++---- .../machinery/telecomms/machines/server.dm | 2 +- .../items/devices/radio/encryptionkey.dm | 14 ++----- .../objects/items/devices/radio/headset.dm | 2 +- code/game/say.dm | 3 +- .../components/unary_devices/cryo.dm | 2 +- code/modules/clothing/outfits/standard.dm | 2 +- code/modules/clothing/under/syndicate.dm | 2 +- code/modules/mob/living/living_say.dm | 5 +-- code/modules/mob/living/silicon/ai/ai.dm | 2 +- .../mob/living/simple_animal/bot/firebot.dm | 2 +- .../mob/living/simple_animal/bot/mulebot.dm | 1 - .../mob/living/simple_animal/bot/secbot.dm | 4 +- .../mob/living/simple_animal/parrot.dm | 4 +- code/modules/unit_tests/say.dm | 2 +- interface/stylesheet.dm | 5 +-- tgui/packages/tgui-panel/chat/constants.js | 2 +- .../tgui-panel/styles/tgchat/chat-dark.scss | 10 ++--- .../tgui-panel/styles/tgchat/chat-light.scss | 10 ++--- tgui/packages/tgui/constants.ts | 42 +++++++++---------- 31 files changed, 84 insertions(+), 129 deletions(-) diff --git a/code/__DEFINES/radio.dm b/code/__DEFINES/radio.dm index 3dfda875a8cb..55f9610c052d 100644 --- a/code/__DEFINES/radio.dm +++ b/code/__DEFINES/radio.dm @@ -5,14 +5,9 @@ #define RADIO_CHANNEL_COMMON "Common" #define RADIO_KEY_COMMON ";" -#define RADIO_CHANNEL_COMMAND "Command" -#define RADIO_KEY_COMMAND "c" -#define RADIO_TOKEN_COMMAND ":c" - -#define RADIO_CHANNEL_AI_PRIVATE "AI Private" -#define RADIO_KEY_AI_PRIVATE "o" -#define RADIO_TOKEN_AI_PRIVATE ":o" - +#define RADIO_CHANNEL_EMERGENCY "Emergency" +#define RADIO_KEY_EMERGENCY "c" +#define RADIO_TOKEN_EMERGENCY ":c" #define RADIO_CHANNEL_SYNDICATE "Syndicate" #define RADIO_KEY_SYNDICATE "t" @@ -57,15 +52,15 @@ #define MIN_FREE_FREQ 1201 // ------------------------------------------------- // Frequencies are always odd numbers and range from 1201 to 1599. -#define FREQ_SYNDICATE 1213 // Nuke op comms frequency, dark brown -#define FREQ_CENTCOM 1337 // CentCom comms frequency, gray +#define FREQ_SYNDICATE 1213 // Syndicate Coalition comms frequency, dark brown +#define FREQ_CENTCOM 1337 // NT-CentCom comms frequency, gray #define FREQ_SOLGOV 1345 // SolGov comms frequency, dark blue WS ADDITION #define FREQ_INTEQ 1347 // Inteq comms frequency, light brown #define FREQ_PGF 1349 // PGF comms frequency, lime green #define FREQ_NANOTRASEN 1351 // Nanotrasen comms frequency, plum -#define FREQ_COMMAND 1353 // Command comms frequency, gold +#define FREQ_EMERGENCY 1353 // Emergency comms frequency, red #define FREQ_MINUTEMEN 1355 // Minutemen comms frequency, soft blue -#define FREQ_PIRATE 1359 // Pirate comms frequency, red +#define FREQ_PIRATE 1359 // Pirate comms frequency, gold #define FREQ_HOLOGRID_SOLUTION 1433 #define FREQ_STATUS_DISPLAYS 1435 @@ -73,12 +68,10 @@ #define FREQ_ATMOS_CONTROL 1439 // air alarms <-> vents and scrubbers #define MIN_FREQ 1441 // ------------------------------------------------------ -// Only the 1441 to 1489 range is freely available for general conversation. -// This represents 1/8th of the available spectrum. +// Only the 1441 to 1689 range is freely available for general conversation. #define FREQ_ATMOS_STORAGE 1441 #define FREQ_NAV_BEACON 1445 -#define FREQ_AI_PRIVATE 1447 // AI private comms frequency, magenta #define FREQ_PRESSURE_PLATE 1447 #define FREQ_AIRLOCK_CONTROL 1449 #define FREQ_ELECTROPACK 1449 @@ -87,11 +80,11 @@ #define FREQ_SIGNALER 1457 // the default for new signalers #define FREQ_COMMON 1459 // Common comms frequency, dark green -#define MAX_FREQ 1489 // ------------------------------------------------------ +#define MAX_FREQ 1689 // ------------------------------------------------------ -#define FREQ_WIDEBAND 1501 // sector wide communication +#define FREQ_WIDEBAND 1691 // sector wide communication -#define MAX_FREE_FREQ 1599 // ------------------------------------------------- +#define MAX_FREE_FREQ 1699 // ------------------------------------------------- // Transmission types. #define TRANSMISSION_WIRE 0 // some sort of wired connection, not used diff --git a/code/controllers/subsystem/blackbox.dm b/code/controllers/subsystem/blackbox.dm index ab325d49ebe7..19e8f9e77b55 100644 --- a/code/controllers/subsystem/blackbox.dm +++ b/code/controllers/subsystem/blackbox.dm @@ -132,8 +132,8 @@ SUBSYSTEM_DEF(blackbox) record_feedback("tally", "radio_usage", 1, "common") if(FREQ_NANOTRASEN) record_feedback("tally", "radio_usage", 1, "nanotrasen") - if(FREQ_COMMAND) - record_feedback("tally", "radio_usage", 1, "command") + if(FREQ_EMERGENCY) + record_feedback("tally", "radio_usage", 1, "emergency") if(FREQ_MINUTEMEN) record_feedback("tally", "radio_usage", 1, "minutemen") if(FREQ_INTEQ) @@ -148,8 +148,6 @@ SUBSYSTEM_DEF(blackbox) record_feedback("tally", "radio_usage", 1, "centcom") if(FREQ_SOLGOV) //WS Edit - SolGov Rep record_feedback("tally", "radio_usage", 1, "solgov") //WS Edit - SolGov Rep - if(FREQ_AI_PRIVATE) - record_feedback("tally", "radio_usage", 1, "ai private") else record_feedback("tally", "radio_usage", 1, "other") diff --git a/code/game/communications.dm b/code/game/communications.dm index 2ee368eaa891..e3b1acc230d2 100644 --- a/code/game/communications.dm +++ b/code/game/communications.dm @@ -92,7 +92,7 @@ GLOBAL_LIST_EMPTY(all_radios) GLOBAL_LIST_INIT(radiochannels, list( RADIO_CHANNEL_COMMON = FREQ_COMMON, - RADIO_CHANNEL_COMMAND = FREQ_COMMAND, + RADIO_CHANNEL_EMERGENCY = FREQ_EMERGENCY, RADIO_CHANNEL_CENTCOM = FREQ_CENTCOM, RADIO_CHANNEL_SOLGOV = FREQ_SOLGOV, RADIO_CHANNEL_WIDEBAND = FREQ_WIDEBAND, @@ -102,12 +102,11 @@ GLOBAL_LIST_INIT(radiochannels, list( RADIO_CHANNEL_PGF = FREQ_PGF, RADIO_CHANNEL_INTEQ = FREQ_INTEQ, RADIO_CHANNEL_PIRATE = FREQ_PIRATE, - RADIO_CHANNEL_AI_PRIVATE = FREQ_AI_PRIVATE, )) GLOBAL_LIST_INIT(reverseradiochannels, list( "[FREQ_COMMON]" = RADIO_CHANNEL_COMMON, - "[FREQ_COMMAND]" = RADIO_CHANNEL_COMMAND, + "[FREQ_EMERGENCY]" = RADIO_CHANNEL_EMERGENCY, "[FREQ_CENTCOM]" = RADIO_CHANNEL_CENTCOM, "[FREQ_SOLGOV]" = RADIO_CHANNEL_SOLGOV, "[FREQ_WIDEBAND]" = RADIO_CHANNEL_WIDEBAND, @@ -117,7 +116,6 @@ GLOBAL_LIST_INIT(reverseradiochannels, list( "[FREQ_PGF]" = RADIO_CHANNEL_PGF, "[FREQ_INTEQ]" = RADIO_CHANNEL_INTEQ, "[FREQ_PIRATE]" = RADIO_CHANNEL_PIRATE, - "[FREQ_AI_PRIVATE]" = RADIO_CHANNEL_AI_PRIVATE, )) /datum/radio_frequency diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index ad4cd3834f06..ac34d49b847c 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -39,7 +39,7 @@ var/internal_radio = TRUE var/obj/item/radio/radio var/radio_key = /obj/item/encryptionkey/headset_com - var/radio_channel = RADIO_CHANNEL_COMMAND + var/radio_channel = RADIO_CHANNEL_EMERGENCY var/obj/effect/countdown/clonepod/countdown diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index 6b430d1a3c0b..2ff035e42d0d 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -531,11 +531,11 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( if(gamers[gamer] > 2 && prob(20 * gamers[gamer])) - Radio.set_frequency(FREQ_COMMAND) - Radio.talk_into(src, "SECURITY ALERT: Crewmember [gamer] recorded displaying antisocial tendencies in [get_area(src)]. Please watch for violent behavior.", FREQ_COMMAND) + Radio.set_frequency(FREQ_EMERGENCY) + Radio.talk_into(src, "SECURITY ALERT: Crewmember [gamer] recorded displaying antisocial tendencies in [get_area(src)]. Please watch for violent behavior.", FREQ_EMERGENCY) - Radio.set_frequency(FREQ_COMMAND) - Radio.talk_into(src, "PSYCH ALERT: Crewmember [gamer] recorded displaying antisocial tendencies in [get_area(src)]. Please schedule psych evaluation.", FREQ_COMMAND) + Radio.set_frequency(FREQ_EMERGENCY) + Radio.talk_into(src, "PSYCH ALERT: Crewmember [gamer] recorded displaying antisocial tendencies in [get_area(src)]. Please schedule psych evaluation.", FREQ_EMERGENCY) gamers[gamer] = -1 diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm index 213b15c00ced..3a71835c172b 100644 --- a/code/game/machinery/doors/brigdoors.dm +++ b/code/game/machinery/doors/brigdoors.dm @@ -115,8 +115,8 @@ return 0 if(!forced) - Radio.set_frequency(FREQ_COMMAND) - Radio.talk_into(src, "Timer has expired. Releasing prisoner.", FREQ_COMMAND) + Radio.set_frequency(FREQ_EMERGENCY) + Radio.talk_into(src, "Timer has expired. Releasing prisoner.", FREQ_EMERGENCY) timing = FALSE activation_time = null diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm index ed3a35c1e228..c33b3ea8bdcc 100644 --- a/code/game/machinery/requests_console.dm +++ b/code/game/machinery/requests_console.dm @@ -302,7 +302,7 @@ GLOBAL_LIST_EMPTY(req_console_ckey_departments) if(href_list["send"] && message && to_department && priority) - var/radio_freq = FREQ_COMMAND + var/radio_freq = FREQ_EMERGENCY var/datum/signal/subspace/messaging/rc/signal = new(src, list( "sender" = department, diff --git a/code/game/machinery/telecomms/broadcasting.dm b/code/game/machinery/telecomms/broadcasting.dm index ceee4d189a2d..74e7ab67c72a 100644 --- a/code/game/machinery/telecomms/broadcasting.dm +++ b/code/game/machinery/telecomms/broadcasting.dm @@ -155,14 +155,6 @@ if(R.can_receive(frequency, map_zones)) radios += R - // [CELADON-REMOVE] - CELADON_RADIO_SYNDICATE - Чтобы не слышали всех - // Syndicate radios can hear all well-known radio channels - // if (num2text(frequency) in GLOB.reverseradiochannels) - // for(var/obj/item/radio/R in GLOB.all_radios["[FREQ_SYNDICATE]"]) - // if(R.can_receive(FREQ_SYNDICATE, map_zones)) - // radios |= R - // [/CELADON-REMOVE] - if (TRANSMISSION_RADIO) // Only radios not currently in subspace mode for(var/obj/item/radio/R in GLOB.all_radios["[frequency]"]) diff --git a/code/game/machinery/telecomms/machine_interactions.dm b/code/game/machinery/telecomms/machine_interactions.dm index 202a9c8a620d..47bbb494fb80 100644 --- a/code/game/machinery/telecomms/machine_interactions.dm +++ b/code/game/machinery/telecomms/machine_interactions.dm @@ -124,14 +124,10 @@ tempfreq = sanitize_frequency(text2num(params["value"]) * 10, TRUE) //WS Edit - add frequency filter fix if("freq") var/newfreq = tempfreq //WS Edit - add frequency filter fix - if(newfreq == FREQ_SYNDICATE) - to_chat(operator, "Error: Interference preventing filtering frequency: \"[newfreq / 10] GHz\"") - playsound(src, 'sound/machines/buzz-sigh.ogg', 50, TRUE) - else - if(!(newfreq in freq_listening) && newfreq < 10000) - freq_listening.Add(newfreq) - log_game("[key_name(operator)] added frequency [newfreq] for [src] at [AREACOORD(src)].") - . = TRUE + if(!(newfreq in freq_listening) && newfreq < 10000) + freq_listening.Add(newfreq) + log_game("[key_name(operator)] added frequency [newfreq] for [src] at [AREACOORD(src)].") + . = TRUE if("delete") freq_listening.Remove(params["value"]) log_game("[key_name(operator)] added removed frequency [params["value"]] for [src] at [AREACOORD(src)].") diff --git a/code/game/machinery/telecomms/machines/bus.dm b/code/game/machinery/telecomms/machines/bus.dm index 6428456d1614..a4d19e61ac47 100644 --- a/code/game/machinery/telecomms/machines/bus.dm +++ b/code/game/machinery/telecomms/machines/bus.dm @@ -23,7 +23,7 @@ if(!istype(signal) || !is_freq_listening(signal)) return - if(change_frequency && signal.frequency != FREQ_SYNDICATE) + if(change_frequency) signal.frequency = change_frequency if(!istype(machine_from, /obj/machinery/telecomms/processor) && machine_from != src) // Signal must be ready (stupid assuming machine), let's send it @@ -50,7 +50,7 @@ /obj/machinery/telecomms/bus/preset_one id = "General Communications Bus" network = "tcommsat" - freq_listening = list(FREQ_COMMAND, FREQ_COMMON) + freq_listening = list(FREQ_EMERGENCY, FREQ_COMMON) autolinkers = list("processor1", "command", "common", "messaging", "receiverA") /obj/machinery/telecomms/bus/preset_two diff --git a/code/game/machinery/telecomms/machines/receiver.dm b/code/game/machinery/telecomms/machines/receiver.dm index 33b0bc7028ec..7e68e535c93e 100644 --- a/code/game/machinery/telecomms/machines/receiver.dm +++ b/code/game/machinery/telecomms/machines/receiver.dm @@ -48,7 +48,7 @@ id = "Receiver A" network = "tcommsat" autolinkers = list("receiverA") // link to relay - freq_listening = list(FREQ_SOLGOV, FREQ_NANOTRASEN, FREQ_MINUTEMEN, FREQ_COMMAND, FREQ_COMMON) + freq_listening = list(FREQ_SOLGOV, FREQ_NANOTRASEN, FREQ_MINUTEMEN, FREQ_EMERGENCY, FREQ_COMMON) //--PRESET RIGHT--// diff --git a/code/game/machinery/telecomms/machines/relay.dm b/code/game/machinery/telecomms/machines/relay.dm index 763c42dbbf9c..9e40b5a7351f 100644 --- a/code/game/machinery/telecomms/machines/relay.dm +++ b/code/game/machinery/telecomms/machines/relay.dm @@ -74,37 +74,37 @@ autolinkers = list("r_relay") /obj/machinery/telecomms/relay/preset/nanotrasen - freq_listening = list(FREQ_COMMAND, FREQ_NANOTRASEN) + freq_listening = list(FREQ_EMERGENCY, FREQ_NANOTRASEN) id = "Nanotrasen Relay" network = "nt_commnet" /obj/machinery/telecomms/relay/preset/inteq - freq_listening = list(FREQ_COMMAND, FREQ_INTEQ) + freq_listening = list(FREQ_EMERGENCY, FREQ_INTEQ) id = "IRMG Relay" network = "irmg_commnet" /obj/machinery/telecomms/relay/preset/minutemen - freq_listening = list(FREQ_COMMAND, FREQ_MINUTEMEN) + freq_listening = list(FREQ_EMERGENCY, FREQ_MINUTEMEN) id = "CLIP Relay" network = "clip_commnet" /obj/machinery/telecomms/relay/preset/solgov - freq_listening = list(FREQ_COMMAND, FREQ_SOLGOV) + freq_listening = list(FREQ_EMERGENCY, FREQ_SOLGOV) id = "SolGov Relay" network = "solgov_commnet" /obj/machinery/telecomms/relay/preset/syndicate - freq_listening = list(FREQ_COMMAND, FREQ_SYNDICATE) + freq_listening = list(FREQ_EMERGENCY, FREQ_SYNDICATE) id = "Syndicate Relay" network = "synd_commnet" /obj/machinery/telecomms/relay/preset/frontiersmen - freq_listening = list(FREQ_COMMAND, FREQ_PIRATE) + freq_listening = list(FREQ_EMERGENCY, FREQ_PIRATE) id = "Frontiersmen Relay" network = "frontier_commnet" /obj/machinery/telecomms/relay/preset/pgf - freq_listening = list(FREQ_COMMAND, FREQ_PGF) + freq_listening = list(FREQ_EMERGENCY, FREQ_PGF) id = "PGF Relay" network = "pgf_commnet" diff --git a/code/game/machinery/telecomms/machines/server.dm b/code/game/machinery/telecomms/machines/server.dm index 5607b6bbec8c..e2cb7addcd8d 100644 --- a/code/game/machinery/telecomms/machines/server.dm +++ b/code/game/machinery/telecomms/machines/server.dm @@ -116,7 +116,7 @@ /obj/machinery/telecomms/server/presets/command id = "Command Server" - freq_listening = list(FREQ_COMMAND, FREQ_COMMON) + freq_listening = list(FREQ_EMERGENCY, FREQ_COMMON) autolinkers = list("command") /obj/machinery/telecomms/server/presets/common/birdstation/Initialize() diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index f8ced22c54be..d93760363e71 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -63,12 +63,12 @@ /obj/item/encryptionkey/headset_com name = "command radio encryption key" icon_state = "com_cypherkey" - channels = list(RADIO_CHANNEL_COMMAND = 1) + channels = list(RADIO_CHANNEL_EMERGENCY = 1) /obj/item/encryptionkey/heads/captain name = "\proper the captain's encryption key" icon_state = "cap_cypherkey" - channels = list(RADIO_CHANNEL_COMMAND = 1, RADIO_CHANNEL_WIDEBAND = 0) //WS edit - Wideband radio + channels = list(RADIO_CHANNEL_EMERGENCY = 1, RADIO_CHANNEL_WIDEBAND = 0) //WS edit - Wideband radio /obj/item/encryptionkey/headset_cent name = "\improper CentCom radio encryption key" @@ -77,10 +77,7 @@ channels = list(RADIO_CHANNEL_CENTCOM = 1, RADIO_CHANNEL_WIDEBAND = 0) //WS edit- Wideband Radio /obj/item/encryptionkey/ai //ported from NT, this goes 'inside' the AI. - channels = list(RADIO_CHANNEL_COMMAND = 1, RADIO_CHANNEL_AI_PRIVATE = 1) - -/obj/item/encryptionkey/secbot - channels = list(RADIO_CHANNEL_AI_PRIVATE = 1) + channels = list(RADIO_CHANNEL_EMERGENCY = 1) /obj/item/encryptionkey/solgov name = "\improper SolGov encryption key" @@ -88,11 +85,6 @@ icon_state = "solgov_cypherkey" channels = list(RADIO_CHANNEL_SOLGOV = 1) -// /obj/item/encryptionkey/suns -// name = "\improper SUNS encryption key" -// icon_state = "suns_cypherkey" -// channels = list(RADIO_CHANNEL_SUNS = 1) - /obj/item/encryptionkey/wideband name = "wideband encryption key" icon = 'icons/obj/radio.dmi' diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index dee6818a6097..7e909c514eaa 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -1,7 +1,7 @@ // Used for translating channels to tokens on examination GLOBAL_LIST_INIT(channel_tokens, list( RADIO_CHANNEL_COMMON = RADIO_KEY_COMMON, - RADIO_CHANNEL_COMMAND = RADIO_TOKEN_COMMAND, + RADIO_CHANNEL_EMERGENCY = RADIO_TOKEN_EMERGENCY, RADIO_CHANNEL_CENTCOM = RADIO_TOKEN_CENTCOM, RADIO_CHANNEL_SOLGOV = RADIO_TOKEN_SOLGOV, //WS Edit - SolGov Rep RADIO_CHANNEL_SYNDICATE = RADIO_TOKEN_SYNDICATE, diff --git a/code/game/say.dm b/code/game/say.dm index c92b984dbb77..bfa9d35ac5bc 100644 --- a/code/game/say.dm +++ b/code/game/say.dm @@ -9,8 +9,7 @@ GLOBAL_LIST_INIT(freqtospan, list( "[FREQ_INTEQ]" = "irmgradio", "[FREQ_PGF]" = "pgfradio", "[FREQ_PIRATE]" = "pirradio", - "[FREQ_COMMAND]" = "comradio", - "[FREQ_AI_PRIVATE]" = "aiprivradio", + "[FREQ_EMERGENCY]" = "emrgradio", "[FREQ_SYNDICATE]" = "syndradio", "[FREQ_CENTCOM]" = "centcomradio", "[FREQ_SOLGOV]" = "solgovradio", diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index 5ff6b2e396b5..6bd2308d929b 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -28,7 +28,7 @@ var/obj/item/radio/radio var/radio_key = /obj/item/encryptionkey/headset_com - var/radio_channel = RADIO_CHANNEL_COMMAND + var/radio_channel = RADIO_CHANNEL_EMERGENCY var/running_anim = FALSE diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm index c33057a25d24..0fc3173c1f55 100644 --- a/code/modules/clothing/outfits/standard.dm +++ b/code/modules/clothing/outfits/standard.dm @@ -49,7 +49,7 @@ var/obj/item/radio/R = H.ears if(R) - R.set_frequency(FREQ_SYNDICATE) + R.set_frequency(FREQ_PIRATE) R.freqlock = TRUE var/obj/item/card/id/W = H.wear_id diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm index 4770b84e8b33..613238051fc3 100644 --- a/code/modules/clothing/under/syndicate.dm +++ b/code/modules/clothing/under/syndicate.dm @@ -256,7 +256,7 @@ name = "inteq corpsman skirtleneck" desc = "A sterile white turtleneck with a free flowing black skirt, it is emblazoned with the lettering 'IRMG' on the shoulder. For the IRMG's support division Corpsmen." icon_state = "inteqmed_skirt" - supports_variations = KEPORI_VARIATION | DIGITIGRADE_VARIATION_NO_NEW_ICON + supports_variations = KEPORI_VARIATION | VOX_VARIATION | DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/syndicate/inteq/honorable name = "honorable vanguard turtleneck" diff --git a/code/modules/mob/living/living_say.dm b/code/modules/mob/living/living_say.dm index 817fcbd2d985..3c3e8d87ba5b 100644 --- a/code/modules/mob/living/living_say.dm +++ b/code/modules/mob/living/living_say.dm @@ -8,7 +8,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( // Department MODE_KEY_DEPARTMENT = MODE_DEPARTMENT, - RADIO_KEY_COMMAND = RADIO_CHANNEL_COMMAND, + RADIO_KEY_EMERGENCY = RADIO_CHANNEL_EMERGENCY, // Faction RADIO_KEY_SYNDICATE = RADIO_CHANNEL_SYNDICATE, @@ -26,7 +26,6 @@ GLOBAL_LIST_INIT(department_radio_keys, list( MODE_KEY_DEADMIN = MODE_DEADMIN, // Misc - RADIO_KEY_AI_PRIVATE = RADIO_CHANNEL_AI_PRIVATE, // AI Upload channel MODE_KEY_VOCALCORDS = MODE_VOCALCORDS, // vocal cords, used by Voice of God @@ -39,7 +38,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( // Department "ð" = MODE_DEPARTMENT, - "ñ" = RADIO_CHANNEL_COMMAND, + "ñ" = RADIO_CHANNEL_EMERGENCY, // Faction "å" = RADIO_CHANNEL_SYNDICATE, diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index cfd7d9153c8d..7913cdb7eb7e 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -126,7 +126,7 @@ to_chat(src, "To use something, simply click on it.") to_chat(src, "Use say :b to speak to your cyborgs through binary.") to_chat(src, "For department channels, use the following say commands:") - to_chat(src, ":o - AI Private, :c - Command.") + to_chat(src, ":c - Command.") show_laws() to_chat(src, "These laws may be changed by other players, or by you being the traitor.") diff --git a/code/modules/mob/living/simple_animal/bot/firebot.dm b/code/modules/mob/living/simple_animal/bot/firebot.dm index ba8eafba9010..0fabc6c7fb53 100644 --- a/code/modules/mob/living/simple_animal/bot/firebot.dm +++ b/code/modules/mob/living/simple_animal/bot/firebot.dm @@ -15,7 +15,7 @@ maxHealth = 25 radio_key = /obj/item/encryptionkey/headset_com - radio_channel = RADIO_CHANNEL_COMMAND + radio_channel = RADIO_CHANNEL_EMERGENCY bot_type = FIRE_BOT model = "Firebot" bot_core = /obj/machinery/bot_core/firebot diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm index 5191ee1ba0c8..1c10311f7b3c 100644 --- a/code/modules/mob/living/simple_animal/bot/mulebot.dm +++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm @@ -657,7 +657,6 @@ to_chat(calling_ai, "[icon2html(src, calling_ai)] [src] wirelessly plays a chiming sound!") calling_ai.playsound_local(calling_ai, 'sound/machines/chime.ogg', 40, FALSE) calling_ai = null - radio_channel = RADIO_CHANNEL_AI_PRIVATE //Report on AI Private instead if the AI is controlling us. if(load) // if loaded, unload at target if(report_delivery) diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm index 1445eab16fbe..8aadc7ed1182 100644 --- a/code/modules/mob/living/simple_animal/bot/secbot.dm +++ b/code/modules/mob/living/simple_animal/bot/secbot.dm @@ -10,8 +10,7 @@ damage_coeff = list(BRUTE = 0.5, BURN = 0.7, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) pass_flags = PASSMOB - radio_key = /obj/item/encryptionkey/secbot //AI Priv + Security - radio_channel = RADIO_CHANNEL_COMMAND //Security channel + radio_channel = RADIO_CHANNEL_EMERGENCY //Security channel bot_type = SEC_BOT model = "Securitron" bot_core_type = /obj/machinery/bot_core/secbot @@ -71,7 +70,6 @@ /mob/living/simple_animal/bot/secbot/pingsky name = "Officer Pingsky" desc = "It's Officer Pingsky! Delegated to satellite guard duty for harbouring anti-human sentiment." - radio_channel = RADIO_CHANNEL_AI_PRIVATE /mob/living/simple_animal/bot/secbot/Initialize() . = ..() diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index b39793d9a414..92b955d3a841 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -259,8 +259,8 @@ switch(ch) if(RADIO_CHANNEL_NANOTRASEN) available_channels.Add(RADIO_TOKEN_NANOTRASEN) - if(RADIO_CHANNEL_COMMAND) - available_channels.Add(RADIO_TOKEN_COMMAND) + if(RADIO_CHANNEL_EMERGENCY) + available_channels.Add(RADIO_TOKEN_EMERGENCY) if(RADIO_CHANNEL_MINUTEMEN) available_channels.Add(RADIO_TOKEN_MINUTEMEN) if(RADIO_CHANNEL_INTEQ) diff --git a/code/modules/unit_tests/say.dm b/code/modules/unit_tests/say.dm index d3fa6e6cdfc7..c725fcdc6dd8 100644 --- a/code/modules/unit_tests/say.dm +++ b/code/modules/unit_tests/say.dm @@ -8,7 +8,7 @@ test("Hello", "Hello", list()) test(";HELP", "HELP", list(MODE_HEADSET = TRUE)) test(";%Never gonna give you up", "Never gonna give you up", list(MODE_HEADSET = TRUE, MODE_SING = TRUE)) - test(".c Gun plz", "Gun plz", list(RADIO_KEY = RADIO_KEY_COMMAND, RADIO_EXTENSION = RADIO_CHANNEL_COMMAND)) + test(".c Gun plz", "Gun plz", list(RADIO_KEY = RADIO_KEY_EMERGENCY, RADIO_EXTENSION = RADIO_CHANNEL_EMERGENCY)) test("...What", "...What", list()) /datum/unit_test/get_message_mods/proc/test(message, expected_message, list/expected_mods) diff --git a/interface/stylesheet.dm b/interface/stylesheet.dm index 16cc956b5f73..d324bd882a30 100644 --- a/interface/stylesheet.dm +++ b/interface/stylesheet.dm @@ -43,14 +43,13 @@ em {font-style: normal; font-weight: bold;} .binarysay a:active, .binarysay a:visited {color: #88ff88;} .radio {color: #008000;} .ntradio {color: #4e3399;} -.comradio {color: #948f02;} -.pirradio {color: #a30000;} +.emrgradio {color: #a30000;} +.pirradio {color: #948f02;} .clipradio {color: #337296;} .irmgradio {color: #885231;} .pgfradio {color: #127a35;} .syndradio {color: ##612425;} .centcomradio {color: #686868;} -.aiprivradio {color: #ff00ff;} .redteamradio {color: #ff0000;} .blueteamradio {color: #0000ff;} diff --git a/tgui/packages/tgui-panel/chat/constants.js b/tgui/packages/tgui-panel/chat/constants.js index 94ce7aa51cf3..0f4a9c052880 100644 --- a/tgui/packages/tgui-panel/chat/constants.js +++ b/tgui/packages/tgui-panel/chat/constants.js @@ -61,7 +61,7 @@ export const MESSAGE_TYPES = [ name: 'Radio', description: 'All departments of radio messages', selector: - '.alert, .minorannounce, .syndradio, .centcomradio, .aiprivradio, .comradio, .pirradio, .clipradio, .irmgradio, .pgfradio, .ntradio, .radio, .deptradio, .binarysay, .newscaster, .resonate', + '.alert, .minorannounce, .syndradio, .centcomradio, .aiprivradio, .emrgradio, .pirradio, .clipradio, .irmgradio, .pgfradio, .ntradio, .radio, .deptradio, .binarysay, .newscaster, .resonate', }, { type: MESSAGE_TYPE_INFO, diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss index 8e734f25da41..1acd0cf0094c 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss @@ -338,12 +338,12 @@ em { color: #7f6cd4; } -.comradio { - color: #fcdf03; +.emrgradio { + color: #dd3535; } .pirradio { - color: #dd3535; + color: #fcdf03; } .clipradio { @@ -374,10 +374,6 @@ em { color: #8de7b6; } -.aiprivradio { - color: #d65d95; -} - .redteamradio { color: #ff4444; } diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss index ae52ba0bfd88..49ccc958d5cf 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss @@ -358,12 +358,12 @@ em { color: #4e3399; } -.comradio { - color: #948f02; +.emrgradio { + color: #dd3535; } .pirradio { - color: #a30000; + color: #fcdf03; } .clipradio { @@ -394,10 +394,6 @@ em { color: #508166; } -.aiprivradio { - color: #ff00ff; -} - .redteamradio { color: #ff0000; } diff --git a/tgui/packages/tgui/constants.ts b/tgui/packages/tgui/constants.ts index e17958e787f3..9ce78db78652 100644 --- a/tgui/packages/tgui/constants.ts +++ b/tgui/packages/tgui/constants.ts @@ -70,7 +70,7 @@ export const CSS_COLORS = [ /* IF YOU CHANGE THIS KEEP IT IN SYNC WITH CHAT CSS */ export const RADIO_CHANNELS = [ { - name: 'Syndicate', + name: 'Coalition', freq: 1213, color: '#8f4a4b', }, @@ -95,55 +95,55 @@ export const RADIO_CHANNELS = [ color: '#fdfd34', }, { - name: 'CentCom', + name: 'NT-CC', freq: 1337, color: '#2681a5', }, { - name: 'Supply', + name: 'SolCon', + freq: 1345, + color: '#7589af', + }, + { + name: 'IRMG', freq: 1347, color: '#b88646', }, { - name: 'Service', + name: 'PGF', freq: 1349, - color: '#6ca729', + color: '#199943', }, { - name: 'Science', + name: 'Nanotrasen', freq: 1351, color: '#c68cfa', }, { - name: 'Command', + name: 'Emergency', freq: 1353, - color: '#fcdf03', + color: '#dd3535', }, { - name: 'Medical', + name: 'Minutemen', freq: 1355, color: '#57b8f0', }, { - name: 'Engineering', - freq: 1357, - color: '#f37746', - }, - { - name: 'Security', + name: 'Unidentified', freq: 1359, - color: '#dd3535', - }, - { - name: 'AI Private', - freq: 1447, - color: '#d65d95', + color: '#fcdf03', }, { name: 'Common', freq: 1459, color: '#1ecc43', }, + { + name: 'Wideband', + freq: 1681, + color: '#8de7b6', + }, ] as const; const GASES = [ From da43622442eaf6817b1fd7c6937ffd825292ee3d Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 3 Dec 2024 08:27:08 -0500 Subject: [PATCH 310/344] raleigh dock fix? (#3792) :cl: fix: expands subshuttle dock on the Raleigh /:cl: --- .../independent/independent_raleigh.dmm | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/_maps/shuttles/independent/independent_raleigh.dmm b/_maps/shuttles/independent/independent_raleigh.dmm index 906af974bfe5..29920b3f2cf2 100644 --- a/_maps/shuttles/independent/independent_raleigh.dmm +++ b/_maps/shuttles/independent/independent_raleigh.dmm @@ -941,6 +941,12 @@ }, /turf/open/floor/plasteel/dark, /area/ship/cargo) +"lK" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 4 + }, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) "lM" = ( /obj/structure/cable{ icon_state = "1-2" @@ -1013,8 +1019,8 @@ /area/ship/crew/dorm) "mq" = ( /obj/docking_port/stationary{ - dwidth = 3; - width = 7; + dwidth = 4; + width = 11; height = 15; dir = 8 }, @@ -2222,12 +2228,6 @@ "BH" = ( /turf/open/floor/engine/hull, /area/ship/external/dark) -"Ch" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 4 - }, -/turf/open/floor/engine/hull/reinforced, -/area/ship/external/dark) "Cl" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/engineering/atmospherics) @@ -3559,6 +3559,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, +/obj/machinery/light/floor, /turf/open/floor/engine/hull/reinforced, /area/ship/external/dark) "PV" = ( @@ -3929,6 +3930,10 @@ }, /turf/open/floor/carpet/green, /area/ship/crew/dorm) +"Ut" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/turf/open/floor/engine/hull/reinforced, +/area/ship/external/dark) "UA" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible/layer4{ dir = 4 @@ -4956,7 +4961,7 @@ OV XG OV ci -hN +WD WD OV OV @@ -4968,8 +4973,8 @@ OV OV OV OV -Ch -hN +WD +lK Cl OV Cl @@ -4998,7 +5003,7 @@ OV Wm XG XG -WD +hN WD hN XG @@ -5010,8 +5015,8 @@ OV BH Cl Dw +Ut PS -WD Cl Cl kl From d139538b0c22b3f97e09fff62091db7a13274081 Mon Sep 17 00:00:00 2001 From: Martinpachu <86135885+Martinpachu@users.noreply.github.com> Date: Tue, 3 Dec 2024 10:29:01 -0300 Subject: [PATCH 311/344] Adds missing pistol magazines to the Atlas. (#3864) ## About The Pull Request Adds 4 CM-23 magazines to the Atlas's armory, as before there were 0. Honestly they feel like too few, but, i'm keeping consistant with the rest of the ship. ## Why It's Good For The Game Before, outside of the officer's guncases, there were no magazines for CM-23's, making them COMPLETELY unusable. ## Changelog :cl: add: Added 4 CM-23 magazines to the Atlas's armory. You can now use the CM-23s stored there. /:cl: --- _maps/shuttles/minutemen/minutemen_atlas.dmm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/_maps/shuttles/minutemen/minutemen_atlas.dmm b/_maps/shuttles/minutemen/minutemen_atlas.dmm index b291c85941a8..3828409fe94c 100644 --- a/_maps/shuttles/minutemen/minutemen_atlas.dmm +++ b/_maps/shuttles/minutemen/minutemen_atlas.dmm @@ -4576,6 +4576,10 @@ pixel_x = 11; pixel_y = -8 }, +/obj/item/ammo_box/magazine/cm23, +/obj/item/ammo_box/magazine/cm23, +/obj/item/ammo_box/magazine/cm23, +/obj/item/ammo_box/magazine/cm23, /turf/open/floor/plasteel/dark, /area/ship/security) "Vw" = ( From a2c72a246d07d4c3ad957f82425b6b38ece50b84 Mon Sep 17 00:00:00 2001 From: Theos Date: Tue, 3 Dec 2024 08:29:13 -0500 Subject: [PATCH 312/344] Mechs now fail do_afters immediately on moving or turning (#3870) ## Changelog :cl: fix: mechs will now immediately fail a channel if they move, turn, or swap equipment. Previously the channel would run to completion before checking if it was valid. /:cl: Signed-off-by: Theos --- code/game/mecha/equipment/mecha_equipment.dm | 23 ++++++++++---------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/code/game/mecha/equipment/mecha_equipment.dm b/code/game/mecha/equipment/mecha_equipment.dm index b7f225306b01..7ee6b2a2d2df 100644 --- a/code/game/mecha/equipment/mecha_equipment.dm +++ b/code/game/mecha/equipment/mecha_equipment.dm @@ -97,28 +97,29 @@ return 0 /obj/item/mecha_parts/mecha_equipment/proc/start_cooldown() - set_ready_state(0) + set_ready_state(FALSE) chassis.use_power(energy_drain) - addtimer(CALLBACK(src, PROC_REF(set_ready_state), 1), equip_cooldown) + addtimer(CALLBACK(src, PROC_REF(set_ready_state), TRUE), equip_cooldown) /obj/item/mecha_parts/mecha_equipment/proc/do_after_cooldown(atom/target) if(!chassis) return var/C = chassis.loc - set_ready_state(0) + set_ready_state(FALSE) chassis.use_power(energy_drain) - . = do_after(chassis.occupant, equip_cooldown, target=target) - set_ready_state(1) - if(!chassis || chassis.loc != C || src != chassis.selected || !(get_dir(chassis, target)&chassis.dir)) - return 0 + . = do_after(chassis.occupant, equip_cooldown, target=target, extra_checks = CALLBACK(src, PROC_REF(check_do_after), target, C)) + set_ready_state(TRUE) /obj/item/mecha_parts/mecha_equipment/proc/do_after_mecha(atom/target, delay) if(!chassis) return var/C = chassis.loc - . = do_after(chassis.occupant, delay, target=target) - if(!chassis || chassis.loc != C || src != chassis.selected || !(get_dir(chassis, target)&chassis.dir)) - return 0 + . = do_after(chassis.occupant, delay, target=target, extra_checks = CALLBACK(src, PROC_REF(check_do_after), target, C)) + +/obj/item/mecha_parts/mecha_equipment/proc/check_do_after(atom/target, turf/chassis_turf) + . = TRUE + if(!chassis || chassis.loc != chassis_turf || src != chassis.selected || !(get_dir(chassis, target)&chassis.dir)) + return FALSE /obj/item/mecha_parts/mecha_equipment/proc/can_attach(obj/mecha/M) if(M.equipment.len Date: Tue, 3 Dec 2024 05:30:42 -0800 Subject: [PATCH 313/344] Reduces the Raleigh's Hammer to Standard HE (#3841) ## About The Pull Request Replaces the Hammer Rocket Launcher on the Raleigh with Standard HE. Standard HE rockets still suffices against mechs. ## Why It's Good For The Game Balancing adjustments. ## Changelog :cl: add: Hammer HEDP subtype. add: New RPG scrawlings, by request of the original coder. balance: Raleigh now only starts with an HE Hammer. /:cl: --------- Signed-off-by: firebudgy <153147550+firebudgy@users.noreply.github.com> Co-authored-by: Mark Suckerberg --- .../blackmarket/blackmarket_items/weapons.dm | 14 ++++++++++++-- .../projectiles/guns/ballistic/launchers.dm | 9 ++++++++- .../manufacturer/frontier_import/ballistics.dm | 17 ++++++++++++++++- 3 files changed, 36 insertions(+), 4 deletions(-) diff --git a/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm b/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm index 326efd7cd573..096edd5707f9 100644 --- a/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm +++ b/code/modules/cargo/blackmarket/blackmarket_items/weapons.dm @@ -404,10 +404,9 @@ stock_max = 2 availability_prob = 20 - /datum/blackmarket_item/weapon/oneshot name = "Hammer Launcher" - desc = "A one-shot solution to a myriad amount of problems, ranging from Exosuits to obnoxious neighbors. Contains one ready-to-fire 84mm HEDP rocket. " + desc = "A one-shot solution to a myriad amount of problems, ranging from Exosuits to obnoxious neighbors. Contains one ready-to-fire 84mm HE rocket. " item = /obj/item/gun/ballistic/rocketlauncher/oneshot price_min = 3000 @@ -415,3 +414,14 @@ stock_min = 1 stock_max = 5 availability_prob = 25 + +/datum/blackmarket_item/weapon/oneshot/hedp + name = "Hammer-DP Launcher" + desc = "A one-shot solution to a myriad amount of problems, ranging from Exosuits to obnoxious neighbors. Contains one ready-to-fire 84mm HEDP rocket. " + item = /obj/item/gun/ballistic/rocketlauncher/oneshot/hedp + + price_min = 4000 + price_max = 6000 + stock_min = 1 + stock_max = 5 + availability_prob = 10 diff --git a/code/modules/projectiles/guns/ballistic/launchers.dm b/code/modules/projectiles/guns/ballistic/launchers.dm index 2baee53a158a..3e33689fef7b 100644 --- a/code/modules/projectiles/guns/ballistic/launchers.dm +++ b/code/modules/projectiles/guns/ballistic/launchers.dm @@ -58,7 +58,14 @@ GLOBAL_LIST_INIT(rpg_scrawlings, list( "A drawing of the Rilena character 'T4L1' smoking a boof", "\"Eat it corpo!\"", "A Sarathi woman in a suggestive pose", - "\"Arm this!\"" + "A masculine Sarathi shouldering a launcher", + "A Vox woman with a sledgehammer over their shoulder", + "A man in a floral patterned shirt and nothing else, drawn leaning against the rocket's tube", + "A crudely-drawn picture of a Gorlex Marauder exploding", + "A scratched-out link to some kind of website", + ".:|:;", + "\"SPEAR TO THE SHOAL, FOR A FREE FRONTIER!\"", + "\"Arm this!\"", )) diff --git a/code/modules/projectiles/guns/manufacturer/frontier_import/ballistics.dm b/code/modules/projectiles/guns/manufacturer/frontier_import/ballistics.dm index 3c9eb41b3d81..717f12665c22 100644 --- a/code/modules/projectiles/guns/manufacturer/frontier_import/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/frontier_import/ballistics.dm @@ -247,7 +247,7 @@ /obj/item/gun/ballistic/rocketlauncher/oneshot name = "\improper Hammer" - desc = "A disposable rocket-propelled grenade launcher loaded with a HEDP shell." + desc = "A disposable rocket-propelled grenade launcher loaded with a standard HE shell." icon = 'icons/obj/guns/manufacturer/frontier_import/48x32.dmi' lefthand_file = 'icons/obj/guns/manufacturer/frontier_import/lefthand.dmi' @@ -276,6 +276,15 @@ safety_multiplier = 0 +/obj/item/gun/ballistic/rocketlauncher/oneshot/hedp + name = "\improper Hammer-DP" + desc = "A disposable rocket-propelled grenade launcher loaded with an HEDP shell for Direct Penetration of your target." + + default_ammo_type = /obj/item/ammo_box/magazine/internal/rocketlauncher/oneshot/hedp + allowed_ammo_types = list( + /obj/item/ammo_box/magazine/internal/rocketlauncher/oneshot/hedp, + ) + /obj/item/gun/ballistic/rocketlauncher/oneshot/Initialize() . = ..() if(prob(1)) @@ -287,6 +296,12 @@ . += span_warning("It has been spent, and is now useless.") /obj/item/ammo_box/magazine/internal/rocketlauncher/oneshot + name = "oneshot rocket launcher magazine" + ammo_type = /obj/item/ammo_casing/caseless/rocket + caliber = "84mm" + max_ammo = 1 + +/obj/item/ammo_box/magazine/internal/rocketlauncher/oneshot/hedp name = "oneshot rocket launcher magazine" ammo_type = /obj/item/ammo_casing/caseless/rocket/hedp caliber = "84mm" From 9ebde381bef140046c66af51d805627a86292ad0 Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Tue, 3 Dec 2024 07:42:37 -0600 Subject: [PATCH 314/344] Portable Slop (#3822) ## About The Pull Request You can unanchor Serving Dishes and take them with you ## Why It's Good For The Game Slop the eternal enemy of gruel ## Changelog :cl: add: You can now unanchor Serving Dishes /:cl: --------- Co-authored-by: github-actions --- code/modules/reagents/reagent_dispenser.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index 54d2fc182398..dd8c6c24442b 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -188,6 +188,11 @@ anchored = TRUE reagent_id = /datum/reagent/consumable/nutraslop +/obj/structure/reagent_dispensers/servingdish/wrench_act(mob/living/user, obj/item/tool) + . = ..() + default_unfasten_wrench(user, tool) + return TRUE + /obj/structure/reagent_dispensers/plumbed name = "stationairy water tank" anchored = TRUE From 7600e8d0c549437980a56c31e49b267f68f28374 Mon Sep 17 00:00:00 2001 From: thgvr <81882910+thgvr@users.noreply.github.com> Date: Tue, 3 Dec 2024 06:00:01 -0800 Subject: [PATCH 315/344] Item size tweaks (and bonus medipen resprite) (#3509) ## About The Pull Request Tweaks various item sizes (basically off of vibes) in order to make them more reasonable and in line with volumetric storage. ![image](https://github.com/user-attachments/assets/edf28cf6-482e-4390-bd4f-7243d84de677) Also resprites medipens. They're pretty cool. Design inspired by infrared_baron. ## Changelog :cl: add: Allows hand radios to be held on your neck slot balance: Adjusted the item size of various guns and misc objects, see pr #3509 for more info imageadd: Overhauled the look of autoinjectors /:cl: --- code/game/objects/items/RCD.dm | 2 +- code/game/objects/items/devices/PDA/PDA.dm | 2 +- .../devices/electroadaptive_pseudocircuit.dm | 2 +- code/game/objects/items/devices/flashlight.dm | 1 + .../game/objects/items/devices/polycircuit.dm | 2 +- .../game/objects/items/devices/radio/radio.dm | 66 ++++++++++++------ code/game/objects/items/devices/scanners.dm | 4 +- .../objects/items/devices/taperecorder.dm | 2 +- code/game/objects/items/documents.dm | 2 +- code/game/objects/items/stacks/medical.dm | 8 +-- .../objects/items/stacks/sheets/mineral.dm | 2 +- code/game/objects/items/storage/firstaid.dm | 2 +- code/game/objects/items/toys.dm | 2 +- code/game/objects/structures/bedsheet_bin.dm | 2 +- code/game/objects/structures/watercloset.dm | 1 - code/modules/assembly/flash.dm | 2 +- code/modules/fishing/aquarium/aquarium_kit.dm | 5 +- code/modules/hydroponics/hydroitemdefines.dm | 2 +- .../mining/equipment/regenerative_core.dm | 2 +- code/modules/mining/machine_vending.dm | 1 - .../projectiles/guns/ballistic/assault.dm | 4 +- .../projectiles/guns/ballistic/automatic.dm | 2 +- .../projectiles/guns/ballistic/pistol.dm | 1 + .../projectiles/guns/energy/energy_gun.dm | 3 +- code/modules/projectiles/guns/energy/laser.dm | 4 +- .../manufacturer/etherbor/energy_gunsword.dm | 1 - .../frontier_import/ballistics.dm | 2 +- .../manufacturer/scarborough/ballistics.dm | 4 +- .../reagents/reagent_containers/hypospray.dm | 11 +-- code/modules/surgery/tools.dm | 11 ++- icons/obj/device.dmi | Bin 60527 -> 64449 bytes icons/obj/syringe.dmi | Bin 10698 -> 11811 bytes 32 files changed, 78 insertions(+), 77 deletions(-) diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index 883265896fe5..f185cdb43a81 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -578,7 +578,7 @@ RLD icon = 'icons/obj/ammunition/ammo.dmi' icon_state = "rcd" item_state = "rcdammo" - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_NORMAL lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' custom_materials = list(/datum/material/iron=12000, /datum/material/glass=8000) diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index 70871e2ddc77..99473661dd5e 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -20,7 +20,7 @@ GLOBAL_LIST_EMPTY(PDAs) lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' righthand_file = 'icons/mob/inhands/misc/devices_righthand.dmi' item_flags = NOBLUDGEON - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_ID | ITEM_SLOT_BELT actions_types = list(/datum/action/item_action/toggle_light) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100) diff --git a/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm b/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm index 8986f8443698..b67b4bb3f707 100644 --- a/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm +++ b/code/game/objects/items/devices/electroadaptive_pseudocircuit.dm @@ -4,7 +4,7 @@ desc = "An all-in-one circuit imprinter, designer, synthesizer, outfitter, creator, and chef. It can be used in place of any generic circuit board during construction." icon = 'icons/obj/module.dmi' icon_state = "boris" - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL custom_materials = list(/datum/material/iron = 50, /datum/material/glass = 300) var/recharging = FALSE var/circuits = 5 //How many circuits the pseudocircuit has left diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 0606e999b1ce..9dd5d80d78bf 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -170,6 +170,7 @@ icon_state = "penlight" item_state = "" flags_1 = CONDUCT_1 + w_class = WEIGHT_CLASS_TINY light_range = 2 light_color = "#FFDDCC" light_power = 0.3 diff --git a/code/game/objects/items/devices/polycircuit.dm b/code/game/objects/items/devices/polycircuit.dm index be41de2c8411..def5d876d11b 100644 --- a/code/game/objects/items/devices/polycircuit.dm +++ b/code/game/objects/items/devices/polycircuit.dm @@ -4,7 +4,7 @@ desc = "A dense, overdesigned cluster of electronics which attempted to function as a multipurpose circuit electronic. Circuits can be removed from it... if you don't bleed out in the process." icon_state = "circuit_mess" item_state = "rods" - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_NORMAL max_amount = 8 var/circuit_type = /obj/item/electronics/airlock var/chosen_circuit = "airlock" diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index ae8163383ca1..f0b0368f73a3 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -16,34 +16,54 @@ throw_speed = 3 throw_range = 7 w_class = WEIGHT_CLASS_SMALL - custom_materials = list(/datum/material/iron=75, /datum/material/glass=25) + custom_materials = list(/datum/material/iron = 75, /datum/material/glass = 25) + slot_flags = ITEM_SLOT_NECK //Allows to be worn on neck so it's not eating pocket slots. obj_flags = USES_TGUI var/on = TRUE var/frequency = FREQ_COMMON - var/canhear_range = 3 // The range around the radio in which mobs can hear what it receives. - var/emped = 0 // Tracks the number of EMPs currently stacked. - var/headset = FALSE // It can be used for hotkeys - var/last_chatter_time // The time since we last played a radio chatter sound. (WS edit - Radio Chatter #434) - - var/broadcasting = FALSE // Whether the radio will transmit dialogue it hears nearby. - var/listening = FALSE // Whether the radio is currently receiving. - var/prison_radio = FALSE // If true, the transmit wire starts cut. - var/unscrewed = FALSE // Whether wires are accessible. Toggleable by screwdrivering. - var/freerange = FALSE // If true, the radio has access to the full spectrum. - var/subspace_transmission = FALSE // If true, the radio transmits and receives on subspace exclusively. - var/subspace_switchable = FALSE // If true, subspace_transmission can be toggled at will. - var/freqlock = FALSE // Frequency lock to stop the user from untuning specialist radios. - var/use_command = FALSE // If true, broadcasts will be large and BOLD. - var/command = FALSE // If true, use_command can be toggled at will. - var/log = FALSE // If true, the UI will display the voice log for the frequency - var/list/loglist = list() //the voice log - - // Encryption key handling + ///The range around the radio in which mobs can hear what it receives. + var/canhear_range = 3 + ///Tracks the number of EMPs currently stacked. + var/emped = 0 + ///It can be used for hotkeys + var/headset = FALSE + ///The time since we last played a radio chatter sound. + var/last_chatter_time + + ///Whether the radio will transmit dialogue it hears nearby. + var/broadcasting = FALSE + ///Whether the radio is currently receiving. + var/listening = FALSE + ///If true, the transmit wire starts cut. + var/prison_radio = FALSE + ///Whether wires are accessible. Toggleable by screwdrivering. + var/unscrewed = FALSE + ///If true, the radio has access to the full spectrum. + var/freerange = FALSE + ///If true, the radio transmits and receives on subspace exclusively. + var/subspace_transmission = FALSE + ///If true, subspace_transmission can be toggled at will. + var/subspace_switchable = FALSE + ///Frequency lock to stop the user from untuning specialist radios. + var/freqlock = FALSE + ///If true, broadcasts will be large and BOLD. + var/use_command = FALSE + ///If true, use_command can be toggled at will. + var/command = FALSE + ///If true, the UI will display the voice log for the frequency + var/log = FALSE + ///the voice log + var/list/loglist = list() + + ///Encryption key handling var/obj/item/encryptionkey/keyslot - var/translate_binary = FALSE // If true, can hear the special binary channel. - var/independent = FALSE // If true, can say/hear on the special CentCom channel. - var/list/channels = list() // Map from name (see communications.dm) to on/off. First entry is current department (:h) + ///If true, can hear the special binary channel. + var/translate_binary = FALSE + ///If true, can say/hear on the special CentCom channel. + var/independent = FALSE + ///Map from name (see communications.dm) to on/off. First entry is current department (:h) + var/list/channels = list() var/list/secure_radio_connections var/const/FREQ_LISTENING = 1 diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index a5afddd47483..e273aceed473 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -87,7 +87,7 @@ GENE SCANNER item_flags = NOBLUDGEON slot_flags = ITEM_SLOT_BELT throwforce = 3 - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL throw_speed = 3 throw_range = 7 custom_materials = list(/datum/material/iron=200) @@ -802,7 +802,7 @@ GENE SCANNER item_flags = NOBLUDGEON slot_flags = ITEM_SLOT_BELT throwforce = 3 - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL throw_speed = 3 throw_range = 7 custom_materials = list(/datum/material/iron=200) diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index 882b0b1efd6c..0c614b0671e4 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -325,7 +325,7 @@ item_state = "analyzer" lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL custom_materials = list(/datum/material/iron=20, /datum/material/glass=5) force = 1 throwforce = 0 diff --git a/code/game/objects/items/documents.dm b/code/game/objects/items/documents.dm index c58d4223ca3c..a0bd46148358 100644 --- a/code/game/objects/items/documents.dm +++ b/code/game/objects/items/documents.dm @@ -5,7 +5,7 @@ icon_state = "docs_generic" item_state = "paper" throwforce = 0 - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_NORMAL throw_range = 1 throw_speed = 1 layer = MOB_LAYER diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index bac0935782e7..8335a2d82737 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -4,16 +4,16 @@ icon = 'icons/obj/stack_objects.dmi' amount = 6 max_amount = 6 - w_class = WEIGHT_CLASS_TINY - full_w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL + full_w_class = WEIGHT_CLASS_SMALL throw_speed = 3 throw_range = 7 resistance_flags = FLAMMABLE max_integrity = 40 novariants = FALSE item_flags = NOBLUDGEON - var/splint_fracture = FALSE //WS Edit- Splints - var/failure_chance //WS Edit - Failure chance + var/splint_fracture = FALSE + var/failure_chance var/self_delay = 50 var/other_delay = 0 var/repeating = FALSE diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index c25f58b6d934..ebb54224becd 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -74,7 +74,7 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( \ name = "empty sandbag" desc = "A bag to be filled with sand." icon_state = "sandbag" - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL /obj/item/emptysandbag/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/stack/ore/glass)) diff --git a/code/game/objects/items/storage/firstaid.dm b/code/game/objects/items/storage/firstaid.dm index bac896c0b8d5..5cc98e8c6092 100644 --- a/code/game/objects/items/storage/firstaid.dm +++ b/code/game/objects/items/storage/firstaid.dm @@ -108,7 +108,7 @@ return var/static/items_inside = list( /obj/item/healthanalyzer = 1, - /obj/item/stack/medical/gauze = 1, + /obj/item/stack/medical/gauze/twelve = 1, /obj/item/stack/medical/suture = 2, /obj/item/stack/medical/mesh = 2, /obj/item/reagent_containers/hypospray/medipen = 1, diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 01d0a273f74a..84601407f649 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -247,7 +247,7 @@ desc = "Make sure to recyle the box in an autolathe when it gets empty." icon = 'icons/obj/ammunition/ammo.dmi' icon_state = "357OLD-7" - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_NORMAL custom_materials = list(/datum/material/iron=10, /datum/material/glass=10) var/amount_left = 7 diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index 5b140a5b2428..19aabed49946 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -17,7 +17,7 @@ LINEN BINS throwforce = 0 throw_speed = 1 throw_range = 2 - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL resistance_flags = FLAMMABLE dying_key = DYE_REGISTRY_BEDSHEET greyscale_icon_state = "bedsheet" diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 6db5f18e31b9..33a4a6dc7d63 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -214,7 +214,6 @@ exposed = !exposed return TRUE - /obj/item/reagent_containers/food/snacks/urinalcake name = "urinal cake" desc = "The noble urinal cake, protecting the people's pipes from the people's pee. Edibility is suggested to be low." diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index 8fe788f79ca7..47605eb63d5a 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -7,7 +7,7 @@ lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' throwforce = 0 - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL custom_materials = list(/datum/material/iron = 300, /datum/material/glass = 300) light_system = MOVABLE_LIGHT //Used as a flash here. light_range = FLASH_LIGHT_RANGE diff --git a/code/modules/fishing/aquarium/aquarium_kit.dm b/code/modules/fishing/aquarium/aquarium_kit.dm index 229924eee7ba..42fc90d0cc15 100644 --- a/code/modules/fishing/aquarium/aquarium_kit.dm +++ b/code/modules/fishing/aquarium/aquarium_kit.dm @@ -4,7 +4,7 @@ desc = "Autogenerates nutritious fish feed based on sample inside." icon = 'icons/obj/aquarium.dmi' icon_state = "fish_feed" - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL /obj/item/fish_feed/Initialize(mapload) . = ..() @@ -32,13 +32,12 @@ desc = "Everything you need to build your own aquarium. Raw materials sold separately." icon = 'icons/obj/aquarium.dmi' icon_state = "construction_kit" - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL /obj/item/aquarium_kit/attack_self(mob/user) . = ..() to_chat(user,span_notice("There's instruction and tools necessary to build aquarium inside. All you need is to start crafting.")) - /obj/item/aquarium_prop name = "generic aquarium prop" desc = "very boring" diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index 6d56533e9953..5f0e38920cc9 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -7,7 +7,7 @@ item_state = "analyzer" lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_BELT custom_materials = list(/datum/material/iron=30, /datum/material/glass=20) var/scan_mode = PLANT_SCANMODE_STATS diff --git a/code/modules/mining/equipment/regenerative_core.dm b/code/modules/mining/equipment/regenerative_core.dm index 3fefea228b4b..d8ec95708f9b 100644 --- a/code/modules/mining/equipment/regenerative_core.dm +++ b/code/modules/mining/equipment/regenerative_core.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/chemical/medicine.dmi' icon_state = "bottle19" desc = "Inject certain types of monster organs with this stabilizer to preserve their healing powers indefinitely." - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_NORMAL custom_price = 400 /obj/item/hivelordstabilizer/afterattack(obj/item/organ/M, mob/user, proximity) diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index e4f11ad1b347..d26c51154eb5 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -108,7 +108,6 @@ icon_state = "mining_voucher" w_class = WEIGHT_CLASS_TINY - ///Conscript kit /obj/item/storage/backpack/duffelbag/mining_conscript diff --git a/code/modules/projectiles/guns/ballistic/assault.dm b/code/modules/projectiles/guns/ballistic/assault.dm index 2c59adaaa2d0..41f5d4f9056d 100644 --- a/code/modules/projectiles/guns/ballistic/assault.dm +++ b/code/modules/projectiles/guns/ballistic/assault.dm @@ -1,5 +1,6 @@ /obj/item/gun/ballistic/automatic/assault show_magazine_on_sprite = TRUE + w_class = WEIGHT_CLASS_BULKY gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO) default_firemode = FIREMODE_SEMIAUTO @@ -40,7 +41,6 @@ show_magazine_on_sprite = TRUE unique_mag_sprites_for_variants = TRUE weapon_weight = WEAPON_MEDIUM - w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK manufacturer = MANUFACTURER_IMPORT default_ammo_type = /obj/item/ammo_box/magazine/skm_762_40 @@ -109,7 +109,6 @@ fire_select_icon_state_prefix = "swisschesse_" - w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK default_ammo_type = /obj/item/ammo_box/magazine/swiss allowed_ammo_types = list( @@ -146,7 +145,6 @@ default_firemode = FIREMODE_OTHER weapon_weight = WEAPON_MEDIUM - w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK show_magazine_on_sprite = TRUE diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index 15db3abb296e..fd893e432f30 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -1,6 +1,6 @@ /obj/item/gun/ballistic/automatic - w_class = WEIGHT_CLASS_NORMAL + w_class = WEIGHT_CLASS_BULKY gun_firemodes = list(FIREMODE_SEMIAUTO) default_firemode = FIREMODE_SEMIAUTO diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm index d7d275986a87..dd483aa4965e 100644 --- a/code/modules/projectiles/guns/ballistic/pistol.dm +++ b/code/modules/projectiles/guns/ballistic/pistol.dm @@ -1,5 +1,6 @@ /obj/item/gun/ballistic/automatic/pistol bolt_type = BOLT_TYPE_LOCKING + w_class = WEIGHT_CLASS_NORMAL vary_fire_sound = FALSE fire_sound_volume = 90 diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm index 8d379b852b8f..264b792811c9 100644 --- a/code/modules/projectiles/guns/energy/energy_gun.dm +++ b/code/modules/projectiles/guns/energy/energy_gun.dm @@ -13,6 +13,7 @@ dual_wield_spread = 60 wield_slowdown = LASER_RIFLE_SLOWDOWN manufacturer = MANUFACTURER_SHARPLITE_NEW + w_class = WEIGHT_CLASS_BULKY /obj/item/gun/energy/e_gun/empty_cell spawn_no_ammo = TRUE @@ -49,7 +50,6 @@ default_ammo_type = /obj/item/stock_parts/cell/gun/upgraded weapon_weight = WEAPON_MEDIUM - w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK gun_firemodes = list(FIREMODE_SEMIAUTO, FIREMODE_FULLAUTO) @@ -240,7 +240,6 @@ icon_state = "iotshotgun" item_state = "shotgun_combat" shaded_charge = TRUE - w_class = WEIGHT_CLASS_BULKY ammo_type = list(/obj/item/ammo_casing/energy/disabler/scatter/ultima, /obj/item/ammo_casing/energy/laser/ultima) var/obj/item/modular_computer/integratedNTOS var/NTOS_type = /obj/item/modular_computer/internal diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index bc424c5e24d3..f7f0163daa02 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -2,7 +2,7 @@ name = "SL L-204 laser gun" desc = "A basic energy-based laser gun that fires concentrated beams of light which pass through glass and thin metal." - w_class = WEIGHT_CLASS_NORMAL + w_class = WEIGHT_CLASS_BULKY custom_materials = list(/datum/material/iron=2000) ammo_type = list(/obj/item/ammo_casing/energy/lasergun) ammo_x_offset = 1 @@ -170,7 +170,6 @@ inhand_y_dimension = 64 icon_state = "iotshotgun" item_state = "shotgun_combat" - w_class = WEIGHT_CLASS_BULKY ammo_type = list(/obj/item/ammo_casing/energy/disabler/scatter/ultima) var/obj/item/modular_computer/integratedNTOS var/NTOS_type = /obj/item/modular_computer/internal @@ -263,7 +262,6 @@ shaded_charge = FALSE ammo_x_offset = 4 charge_sections = 2 - w_class = WEIGHT_CLASS_BULKY slot_flags = 0 diff --git a/code/modules/projectiles/guns/manufacturer/etherbor/energy_gunsword.dm b/code/modules/projectiles/guns/manufacturer/etherbor/energy_gunsword.dm index 3ca3240020b2..10a55857cf88 100644 --- a/code/modules/projectiles/guns/manufacturer/etherbor/energy_gunsword.dm +++ b/code/modules/projectiles/guns/manufacturer/etherbor/energy_gunsword.dm @@ -117,7 +117,6 @@ desc = "The HBG-7 is the standard-issue rifle weapon of the PGF. It comes with a special DMR mode that has greater armor piercing for dealing with armored targets." icon_state = "pgfheavy" item_state = "pgfheavy" - w_class = WEIGHT_CLASS_BULKY slot_flags = ITEM_SLOT_BACK modifystate = FALSE diff --git a/code/modules/projectiles/guns/manufacturer/frontier_import/ballistics.dm b/code/modules/projectiles/guns/manufacturer/frontier_import/ballistics.dm index 717f12665c22..4a48dd5ea2b4 100644 --- a/code/modules/projectiles/guns/manufacturer/frontier_import/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/frontier_import/ballistics.dm @@ -8,7 +8,6 @@ icon_state = "mauler" item_state = "hp_generic" - w_class = WEIGHT_CLASS_NORMAL default_ammo_type = /obj/item/ammo_box/magazine/m9mm_mauler allowed_ammo_types = list( /obj/item/ammo_box/magazine/m9mm_mauler, @@ -139,6 +138,7 @@ lefthand_file = 'icons/obj/guns/manufacturer/frontier_import/lefthand.dmi' righthand_file = 'icons/obj/guns/manufacturer/frontier_import/righthand.dmi' mob_overlay_icon = 'icons/obj/guns/manufacturer/frontier_import/onmob.dmi' + w_class = WEIGHT_CLASS_BULKY //this gun is visually larger, so I believe this is good icon_state = "pounder" item_state = "pounder" diff --git a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm index 7389908ac9c4..7d443ad066a8 100644 --- a/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/scarborough/ballistics.dm @@ -299,7 +299,7 @@ NO_MAG_GUN_HELPER(automatic/pistol/rattlesnake) mob_overlay_icon = 'icons/obj/guns/manufacturer/scarborough/onmob.dmi' - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL default_ammo_type = /obj/item/ammo_box/magazine/m22lr_himehabu allowed_ammo_types = list( /obj/item/ammo_box/magazine/m22lr_himehabu, @@ -350,7 +350,7 @@ NO_MAG_GUN_HELPER(automatic/pistol/himehabu) ammo_type = /obj/item/ammo_casing/c22lr caliber = "22lr" max_ammo = 10 - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL multiple_sprites = AMMO_BOX_PER_BULLET //########### SMGS ###########// diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm index 78326279b6f9..8415c98e41e5 100644 --- a/code/modules/reagents/reagent_containers/hypospray.dm +++ b/code/modules/reagents/reagent_containers/hypospray.dm @@ -18,7 +18,7 @@ /obj/item/reagent_containers/hypospray name = "hypospray" - desc = "The DeForest Medical Corporation hypospray is a sterile, air-needle autoinjector for rapid administration of drugs to patients." + desc = "The hypospray is a sterile, air-needle autoinjector for rapid administration of drugs to patients." icon = 'icons/obj/syringe.dmi' item_state = "hypo" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' @@ -103,15 +103,6 @@ icon_state = "[base_icon_state][(reagents.total_volume > 0) ? null : 0]" return ..() -/obj/item/reagent_containers/hypospray/combat/heresypurge - name = "holy water piercing injector" - desc = "A modified air-needle autoinjector for use in combat situations. Prefilled with 5 doses of a holy water and pacifier mixture. Not for use on your teammates." - item_state = "holy_hypo" - icon_state = "holy_hypo" - volume = 250 - list_reagents = list(/datum/reagent/water/holywater = 150, /datum/reagent/peaceborg/tire = 50, /datum/reagent/peaceborg/confuse = 50) - amount_per_transfer_from_this = 50 - //MediPens /obj/item/reagent_containers/hypospray/medipen diff --git a/code/modules/surgery/tools.dm b/code/modules/surgery/tools.dm index d0a352ebd91b..3ec1e1e14180 100644 --- a/code/modules/surgery/tools.dm +++ b/code/modules/surgery/tools.dm @@ -11,7 +11,7 @@ custom_materials = list(/datum/material/iron=6000, /datum/material/glass=3000) flags_1 = CONDUCT_1 item_flags = SURGICAL_TOOL - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL tool_behaviour = TOOL_RETRACTOR toolspeed = 1 @@ -19,7 +19,6 @@ desc = "Micro-mechanical manipulator for retracting stuff." toolspeed = 0.5 - /obj/item/hemostat name = "hemostat" desc = "A tiny needle-eye has been machined into one of the clamps to streamline the application of ligature." @@ -33,7 +32,7 @@ custom_materials = list(/datum/material/iron=5000, /datum/material/glass=2500) flags_1 = CONDUCT_1 item_flags = SURGICAL_TOOL - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL attack_verb = list("attacked", "pinched") tool_behaviour = TOOL_HEMOSTAT toolspeed = 1 @@ -42,7 +41,6 @@ desc = "Tiny servos power a pair of pincers to stop bleeding." toolspeed = 0.5 - /obj/item/cautery name = "cautery" desc = "An obtuse, rectangular design is just big enough to accomodate this cautery's incredibly durable battery." @@ -56,7 +54,7 @@ custom_materials = list(/datum/material/iron=2500, /datum/material/glass=750) flags_1 = CONDUCT_1 item_flags = SURGICAL_TOOL - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL attack_verb = list("burnt") tool_behaviour = TOOL_CAUTERY toolspeed = 1 @@ -97,7 +95,6 @@ w_class = WEIGHT_CLASS_SMALL toolspeed = 0.5 - /obj/item/scalpel name = "scalpel" desc = "The handle of the scalpel is an awkward ergonomic mold, designed to encourage proper form. A blade release button on the end allows for easy cleaning and replacement." @@ -111,7 +108,7 @@ flags_1 = CONDUCT_1 item_flags = SURGICAL_TOOL | EYE_STAB force = 10 - w_class = WEIGHT_CLASS_TINY + w_class = WEIGHT_CLASS_SMALL throwforce = 5 throw_speed = 3 throw_range = 5 diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index d7a44b667a0c161af9cb8fa41ee9f123fdfb6935..468069b7c228deb796706d2d5f646b7432585f3b 100644 GIT binary patch literal 64449 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

      t5}lr zlOw^hcq8ES&Pn&=CO5!GdyHCJn-TEhU;fLN4@|Lt_gPwQZpE}{hk8&e85yAI)@5a7 zUyhEvuUi7LWY;`ETt=UQH$Fwmq*Vjx^t$U9E!Imk>ajYNj-YDJ;@d6Th*`jmy3_;} zQ*DGu!9x#FJL^E5t(S&@fuu)dR|}xbnZOZv*PxbM#d`lh2p zvN*f3^^8K+_Ixed?Lp7TGVquOL`?z#a^E-talz9nIw$zO%#VLL5X!T&cW%Y98Lv|B zx+UITm9za{BYLlY_XY4gyjDf(1x7gw{7~=^9Uf>XpHF4bj4Gq)2$`e*l#c9Lid3Yh z6Z=b}OkQh^{4?sOr)eVX;4W%yI^yg63{|3TUcWfVHl+R6gM@e*Bf@K_#@jPsf4Bvr zww$Z|^QyYl<>-WxNHNb-kyh|JKhw|C1krr6f!#i&cEr&Ja-jvcTh)@&L*dl!f&{P77$ZvUx+5GbTNjvsV0fE!y~mQ$dMx&p1S9*k=d5ZjQtj1pT zxP*`tRO4MC>_X;8uXLzW^0}pOcn|#4Zu817QtboDK@cd7-;{de*%>DgvZS#!w6wa6 zHn!jQ*dOaZRldNI7*+`J<9faxkG%MwgB9n30@o~sMV?Dkl>1-_w^&Ifh&sp$D8&oz zG~mCvQ9u=X4q_B5jSrs8DmY^dby8s3yyH$vQzwDvg+fC~yf+)L1gw**>B}7l`6Mar z&S;vfRon$uo+Jf#c8VL}!p(yYd)_3=FAayu;x=&ydze$h0@UdCR~ZBXl4&L4wb`!q z^tm#yih%H6fHGtP?s4hdUev>1&vARx`V1@d_Eg^Y9v75b1SkC*%h`BqzaG680a?$td{kTqaCz>;K$kVLQwo5O;B3ZE-cE+(!P5 zi6t>}UnrsM#DoN&A9yO^H4Vyr*pf*T zE?B22Ro20p&GnPdj=0opk^Hs+u~EVe?RlGFzt)GLTP;98S*SG`mww6k@*jbE!|881 zw`io5P)=HQcl_2EKB0Eb>%>kx@gq#?v+-?>-fNR{Sl#t$*t<@|kxXYGRri9P6ApTg z7O^8In1Jl(gbOn>Jnaf17L=T%2U~SiO_!ickVH#ZK_2Z)mDr^`#HzxaHP?KcdhyK8 z3;YW%)ePBHv4R6~1b#@4g16BkAa1Sr1fd9?Ow>zmbcC)MJU4CQhDqaKd7DgOc=tWaO(jENbdPKdDPK6UjE_{{=G z+ton{w7(#mUCB8Jx=&ogx<#{$6R3t|YNBecN@QNf{_@$cx7M9{^oB57_9rEPEat2$z@?nb)0627L}h2vGJaG zEcxMa$yb_2bFAvKy7Oj_ON>$vQ{f2A z<1?_WpkVM9=U}Lahg*GDz9y3x{PfS9PLa7W;#pXf;Y1Gc(JkEK3cQcQ;_Qid}5{Fzrp*1BLkV; z`0A`A7unioi=#QPKDx68lh5RPF^nKlAx_1_X!=oL4;CdgHs;JS@3(e9KMA52PYy=- zO&iS1q(=iG*FBPnyqaNJT7)LfLUsE%>>d>SGZ(x1q-;{gPPR|7{G(3lq3ZUkSqTK? zPday-NIuxrcg)BDv)Fe(sxvjmk^;IWTTBo6blZXfsQCo@FyUa%urV?5#e%KyC0uW@ zMT1(@Q!Hb_F6?|f+8_ySpg|BZB8V_!83k&zuOuj66uYD{8kj*>eOwj_qW9Mm%+C(| z{eN^zHjy12Y88!NwV1XHJS_aUV?Xp+^?pP{SlH|I@C6}3!MTo9{`f2Fm#nZfJj(MO zspfq-f0U8qZ@=DL8GSgqv%CkJ?nB8xTCO5D;L_lMKCeNCq%0A4L5U!8fxFEn^z5Zf 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 `m1%AGDZ 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 literal 60527 zcmc$_XH=8X_a+)p1i=PMQKSeWNEJ{z1eKzI6lqeU6hTo!QEEsKP^1QsDkT)@B8v19 ziu3?MkRmO#5PBe?1yXMCH#2KK+`03=b3fdy#d?!)@+SN2bM}7rv!4@TY^Zyd^$IHh z066>bf!1RHfN_@o*TQm&{?3qB7Z3no@(nP1@mcL2aIqs)5JYf|At zP&KmcQ==Zgb_H+qPX42UPvJ}4N*7MY7kNHo7?eBOwR_BU+QinO$L}^j>a({+?K*aS z2!W>^P{-hieGHZQBLF*kIu8$PhC#-^Z5j#@naDpdWt*(hgf;}tBg_9B7%1ECL=mV# zSoo%WKc{h6QLk!Ua6qD*y(KFb6_PY~4`(B^iBj6Utbt7!>F-)AwFI{$sqK!6ZJxGa zX^r3w#~;ZA+5U2S>q2_C{K|vpubbRjY5v1BMTX7GRu0!{`{tQ_JFhYC-}drQuX?JY zua*MIAp6}v_YLK@CDm3{t>pB!p;U$^!RO@Aa9kx~|Bmfva}+9a?Wj3tkgHpW%>tHl+A@GSLdGo!n(Q@y>tz_FSb*%YElN z9O`r8PfpMN89#GR$LR^BiwCEeJ-USYAfYM}44r08R0ZiOKE1ojlXTl)==mqpYb{9Ycn=cC3qTkF9JhdE!@=oxf(^j^j&6{-&ZduW4E=!r*pI=?b^Me4jFZk8x)EiUJSh7Q6H|Kph2c^Ub2h*E_N`|s1IOAIWJx=C_;bO{G*cjudnPw#!-Bk`UJYM4O zeEys~Yj7oV%~mp1em8#dqksLSLcOBAS2{T&`k?2U4_i6f7ARfLxID%ix8C0Bye8re z{QlvLWJl*ilaP=bX96XCzg1i%M;ogJq8|9Lm@N#~2kxGtKGS1w{7ZOVdA2_NJ~Lh_ z3f^82BL3A5y~aEA!E5B3xV}}&4gHUEYrSD&Cjbw3oHPv+p5Il?j?!iu=#q z5eqwDIJ@O~>h$LGW+*JiPMX*&h*ox8;XP@>Y98$fhZKChbdSGwHc`US4t4A~{L(*gnEPxpRqkXtqD|iD_z4ZOo-B{f>7fuATvYdmfJa zlb9h^ro&?RWVJ)WC*S7Jo$sPjPj73iT~eHZ+bcITo^ryC4){Q=k&cG1$>!c+&O!*}L#&`pQ*gSp+ov)5I$Oiq%ZM_Y|q z2X&rTywv$-fqr)+1M_M42XM-Pd7pZ+O>fuN6(VIHftjGSk_4E}bO zyJmhF>(k7^7oBHLZNcIyF6BS8>m6!kI(e6!$x4!CnZe<%O|H% z;R3Ovx(|>lQtKIhwI?(tCC_=Sl#w971ITGmOGhI(3tHiew=c2!S%7SOIZ|?XN9JN} zMqbznP4P5&tU%WLeZ#C*wmxG+u;EDa(o( zQ>cN#$>kX2PzsQl6uX%2`PaVAD<9h6j7mPlccp-!X@&@mGT;Y}b8%PaKZnRUw6hp} zkK*HXk;K^6#&Ev_r$|`F#`3F|qtwAuA0v51)NRRKXjg5f?)cn2=E^vyQ37WKZ#qe^Em2RV?8zg6`1&`8M z%Z9%{yH9c0WX#;8emY`xG3 z{L)Ro;CG`xQEk57ZS30+tW!vURGf;JLtb18W;k*0+z(>6f_yT5KZyDMOpe{mewlAL ziqp8wN>U`FFq=oWr7pPKs;Pc3pkD?#4rGKbcC(8xJ5rsuSkU?xn~q!?rBKZ2h5-|A zo6MRi{fz?4)gLbF5$XWM*PNt`9uZqCRbGv@azs{*msui5zF;mlO4q>#0i*urgfg#C zp_HA+ox>NjPA~qpgsRQ3KUoyDK>mObyZ1>p7NoJD9Diqu_FddJyVpR$PqdS?PF}DW z@2uwWD!>34rF(rBI%6pL$~?608Vh8dUka2eB3@>!lk84uWPU;9&cSmg*~1vTBly2Z>ktWn#yv*zJ@SmA9+Q zQPwr?8wiePF4S0F_iR4ok*Q5pLRNVIO&dz%lweF&jR&jECPWaL{MRff)XK*bu*xAR z57N@x_3Jvc=o;tPd&eI7EO3kIJ!)T9An4L>W&V`NMt8U)K5_uH=pt= zG=e`KPIl^n;oiN2U>}ZAe8mxLcIYhi-B4<@aJh~JYC{~cM2^pWBhjnK1>z*Nnf)Se z^(KhKE-HR~6M}wo&$cZF8~8f~#C7F8jQdp*2-={-{jVmXcENi<*dKYBo)ZXUb zivwMq+hXyf!PoZcmJu0_K~8-xM)8>bb#heq8_W(YjwX-=Jkl zVA_J`Jo{E?O$i@^i-f}KN?WA+F9w=x%0Y+QK1-@B0)=Stel+$vRagqaR+EbBtp$L_ z6m1@Aq!=U19caqw&F93kVDbG2q!bcmzuywSA_I6*uR$X-YN^rWh|RzCxEDe?v?a!u zMbUS;)-#~*$RT8H>%ZJ2HNwUlHcHgCLEy0FM>9C6MB6U2Ccf?SL(aSTbj{m9US=Kom|} zR?*0Bjkn1}*U|(2Sv<4K9bIb;e0leh5Y?}tS}zMWV6jW45z|GeIL+r!)iN`yX|8DI z<G(w(b znz}`JEjbp=w%4_^D;0Uj7ys%m%W$EQZ-nB4iB((8Rofg&`0_pm&LoLD0!r`3MsMw! z22GN{s`1Uw+n$WDP2z0B+~>m)@Fq2tza52Q{lX1!!BH5kimiO z`$h;Sx1&-b^t<{MG3(91z`gb0u1Ob#Z46Zfc7ICLo+TOd=8u?)s?)~`2m@&)9gPY7 zDUBSjhM*X~al1I?C?vUM;ivE0jOIG)TRSV=vzf(`Yg4)T&zrQFb8W5A{5wZ*qjOnH zobE%g%b4MnB7D48<#UwD6~cP69c1+4Mpp&WO!B@4As!A<-EIwD$01+^No(H-q^qXBN{NTrXVco}tKOA?D8g132-PvraUwK}K&D44S zdDvi)gg(MlJz$?OK{oC{q@jmY2?*63M!9$c)^>7|aDr6{fw93=P^YiWc!lG_*O*_v z#7>qxrS)6(`ZwKp^m&>2sdba%bGbQC+l)=kDaqze-+m$xw-i7lOG4R&1xVex$jpPM zns=|JiWUGj^laKRu7lKeW24ox>Kc%GTDo(%oWdHfT z9Z!lIMe|WqlwUL^I^2_#rRHBDC47$=omI6kJU$R{qC5@`Sro>6EY$e8az3Y5;37CY zmi(uu{BhZpn898a+QUZwC@v}+W(-w#g1+Q*hAW3i5E9|=4n}c)=via6_sOAD;Ip=q zixLBfuSsBf)=OtO0{bFiCo|aOnlGPk_BRw$``j;*p??RFFnGVLXgcZgB9wTqw+?T4 zxc37b5#Wc3wa*9`{Pr6RtwCj2loi!=c#T9C@-G1If-XAPEgnxAyn`9Oo40p%V$E@V zDU_jK7-1OQA_RJ^5%v5^G~eg9cpidhp{^i3w43#xPYvO4Ppr2rx9680?j#0)%;uEL zv(Gd^e%^q)VH*NxT6-0m&j$UiaNe!SO^Lz52+L#bIm(aEwa^1x zJi?x&w%Yq1UyW;mQLDvamPZ2&>Mw?_Qziz8Plf5{GhT!XB3|_rr@~boR5L+XIQD2bw>g7L=kHh23-i@=9+R@GQXl1WzFPgf zv8*DUq8~uwIxrg0G0bFOpf5=1A(mHHUbl}VmkVbf7C3lh8;6)8J-3iyY?oWbbd5@? zq6?$xiv(!=hiR&NAc5~(iiefe?>GvI|M=4ZOT=#6V9xy)^jZ8<@QC+taRFXz1Lr@i ziktp&noq_q>V{#4>yghjkevn$c{lWwzhC?0fsm$wx~%ltR8^_)(Rsk07rm?)nWWbS z*S2ipo5=)}S%uR>TE&%-(zUS$AN(jhsAn%Tr#FJ}xD@Doeak3Fc7V22w@emdV7e-} zofCWlaGgQ=Y5Z558R;H!0`lW*c{5cdhF39GCz>Y*L`*X}rM43XrBRRYx};MNIK*b@ z-}O-F4;w=wICznL?5YR-bsVz@ui%|ar<;%YE&yPh=|AO)rqHG1{{jFJ#w`rT*X#Ef zn2)b-0X@Pcj59T05IKYapr01=xp?Me{!kE& zL2y@HVf7Ar2d)rsaD}ve^JUj5hTwpXwMtFs=f(3pw^~f;^CE6qa3jOrf9W#aM`eWJ5p-riU=~Q}R|l3zl09F40Oi}zAUIz1WI!l_vvh5JHzv&g zDv~$$&yChNE=^vvYjvluHag_e(-|%`(-sCfXr$nEVy>9{`fzslC{HJb&@DM<3%#P~ zZeV3)bx4`}6&~o6EVw8P(t#Qd98I8iiVrtz-0R+JkhkvBswOvlATV=Wy4@Y}+w*C? zH&Tr3kq2o+aD4_uCW@zvtUDbm>O<4yC!W~n}yVEnI;gy ztMh0ZqOio^ECYzcLy%$^EGlITZ&_mYu-U%;O>ttphY7SdNum(LJ(eMp7j{j6R6+3e z@~T9TC_(!LT;i?d)XAW5$D^+*m~OQp37z0j^;mMZ)@?>E!&4v8*-8VdR z|GR%!fsz5U@A!bN8Nm{t2n;C%fByo1sH2ci`UdDd$1zq`89{)++ z9Dje{(z6kgy*an<&R|*>kIe;-9&G}-RSp(hGf_A5I;!4yjc~tdMe9>gE{#WA1k>vX z-DZT}d_*?fC|#ldw}}UT&{YkH-(VLgaN~}y?p=EFOCzZ<+TEIHoT_i?U_8}E6WhZN7I%1G_t25oiF*t+~~Tq+ChO1NCrn`TaiO~98N zpPNe?Hhrt>ya+x`kALP%yq=_n+S1*qcjZ-tG2}y$+#54psx?gpAj|+q>L$roUCHL6$a2u(bz^nr*Ip`3vm-pk%iumUr zE+^;_d56T9QuoXVScch4EPJxNy{5`N<-@0}$(9U(lP~om=;=+rj{#wG#7rY}=}p~q zK6l_&-n7Kw?NJIP|A6^-&bB^Y0x&Orx(3vTQU|03NGYJ7Z+WEb8=tsSyX;sAv}*GJ zq?5Np+FiMxc?i<)*7ivvLKfxgEaWEJyy$2G-YYbt_n zB-uV_cO)6^ecI=-(4sfVeK5NiieRg)?MKyxbqVDv&(eWg1f8SMR`prm0%2qcGKY>9 zOw+}ocbb=zb3mY@o`)0#5UtW1ZXb7&-~X%4&(G7p>3D$vsh(TDiI2%^c!58U87x@% zSKFK2F9~>|dXvZ}H(WAiPjRzp}Qh5h9JDuqiz4@Fwq| zP?i+3fQotaMCFTx=H`Iim*EMla7}MgmYxJ_nPuu**;qx84CeeLdvqGa!&-|eL*G|s zBb~gSDtk!z`_qM4ZARl~1Z{7O#9IWV94fdwypuCJShBF6X$!PzSRxFst~Ha!tbS9K zVGM@{>sB_n*&AL|N6v5Axbx7$>#*nUt*+f0f7KJ$X}RUxrr~>*H~-QcX}8FP-^r?U zSdVR3xc^@FBr*W2U!pg_srhW5sd=!f##gM8j7r0}k_J?VX3tFjZL-P1{#=rdODKOy zYe3Y8EFm4PFcjur(`b9H9x$ji%%UWflnOFLA$XJ+^*Q#NyU6LTqMXseDU(;o95%XDPj^jMAPbE&*v+{frzsF+{>gv3neCf11MFqJ*9i#=KL@3b9!CvMP7fg|>Fr zL_==Pn}Ctuj}A2+f|1*ArV#S47(fj^Wg7GS*uc5&_&+b!pHMVpxZzQgZOKwL^E0<3 z<~5Zxc;72Yyf?@pXfs&EqyNqy`Y@5!JL}Mcum)zJW@iuGJM;C?A&^ci=vBC+xuM0E zIylVO)jyPt_hFArQyELY|8t)lY}%J5K>Ux>sMsOZa5kLFD{|;^0B*q<-@Gl@mtIA? ze8+9HZ=3jz`Rd8SB#%5UDQhLD#&S#OmKm5_{86WcG(F0b z0$vDuHj*Jzq>Xl?j2XrR^RmIWtA8Bu)bwrs?lLAtx&EktNH^yKO1g2}{25>shciNYWB!CjQU9wXy5eqQ}EjBbNvj850pt?$u z5H)10MduqWvD_kzETY6GTf1dc=?2X&G84F-S%FWN%OOxW7^o4U6T|-q$X}8p6S!hv zbBGer-(id-FTah-5dvMlti_S4{mrUyAT(gGaH zzv&oq@A25bH2BLI$Lgh_uq2xB~Vd=+H>Uk}L2_Nt#=n2Rbwhtk0+eQ;d;K*Rn_pgH(N zs>d_cIv9J^%eNwL>qyAo`+LZhn`sDU(n}&8SqfG?JE_*{@gmT57V(0bl3s)wIlGdV zHr)O4V>Kk{J8n_=@n{ZD3cJ=|Ftg0ZWnp_%%hY-ydo9h)8L<FE+xVW?ik z*!D=qt`4~Vv`3fdRu(zyz6Cal^xQO8|T0)&wz=2!ZLv4ug!L(j&J4iE6}lV8w~ z3)GqQKgFhfrY>C4wmiNXcwp740JMYClufF_kw%~QbuLo|OJ&B)1)sp8N9iFwH~jSc1_t-l|G@OdcdgSl%V%i@L7FmHu{rwUam~#Nao}fIIHEh&{2Trid?_mzEO_uA+h$%yVvFcI zAo!&Tr-v*--Jh^{4^; z1*=}A4UyJh2OoTJK_wXXz!ik+5jZJ-F-7Vy(*pT(xxGLm(ciU@>bDYb=f!X?GWU$UeM;f|_Q2H!4^omn zZyCr5*Sx)YYgK;dW{Ip%GIVaTfjASF03tVD+*u>X?u-lTM;zkTxRIIuuGQ4kOwxr0 zMU|o%Mwf_rM`=xfoK@1S*#Oh`ivuUJuD9>7c4FNptAnUr2h~cq;>KjrMm|Ec4GCo7 zT%gfVC|Ge6teT10|8Php_sGM(oG+g=u-m&@m~q~1xyC=O8~1j@#|RgCh+9ffKg@?* zDc{X1A$1iEg|O{RHbx69y!Ep)UPJ0gw3R1*>C3lydpaevJOIW3SPy2*y6zWdmEnB9 zySF446jJ8s!ma?@?9AjH9%{Y3GtuOK__~mYIe5j^?~j$CqU|<5U)dQ>eY}WtPJ!Ai z5>*<%O_T7FMcMet4@srFN0%+_G@F|re}Jw)%$oZTWbMPps#FDXhc_=0pQROt>eAX- zvbU@CD)eM~eI3|`vz>y@M@m8jG{rw23ii1mf-Hc$S>h`hGQFaR7r&GQKC2VwB^cI} zGMm5DCYMvrG(KsN{GFnVkcoV2(NCzX8plMaTpal$ZL{kv!}N9G2sWhCHdwcX^! zQHTc99Eke(`_sR2QndbAfv3J2F6oB%pRBzbbaDO8W<;DNbwEC=djEb+C-9BFe(EJv z@xI9y0iI0Ow_kFChGGzf5m6O4OD#o8Y-{dtk}$c!U8u1Q%_BJX7?Ig`mfO_}{^-`) zP(GW~<0ma36tNshAYYNRfDkbIjH+!5M~)xc5{K9V(??nTUGKO}5@5USQsPM$ zh@!T1GNix##eRFo%S^KYoIHX@#t?@de^X}v6=-W~CNbf>T=UgH#kU`O_#RA@gGP_d zy)~bte)o0}j?l_fd7HST>VM%z3LVeH9eCF^$|bty)4O|VrXCzQkQ18ZTz&@dt!9Z# z3niv6s0!yq3D5QhW2(N4$+s`;U{C&+o;PB#NUW{jk#BQaMMcHV(PZ`Oykc*cwT@3R z^ZgFgsh=0?xZ9!D?OOe~P|5P<08LFQ4rJ(~20P^+wadp{mdjPcH$s5zV+Hcf1-=fk z`nfehCX>$pSO~p!#1#<8ADD{EE(pAw&_r9I(tps)j{zqk708~OfeAiqLxZYf(+j8H8l8i1+mYHGAMDO`eCxQ1-P+ywvXd0oRt`STsA{=7%uo5i*VR$mbrrcgseAr~y}h`nr-VbK_w8de|(G z#S|vmr~0Z#vAHKi12fjDjGiMn--pgYL~)RG&VWz65tzW4+V()|af@mIUK)%>C?e|L zY&eWnYnAnrNtIut>dF4rP|I*a#~)_?AgqI^o?!DYA%W%nU)4c7zba+OYs3|nj+=lc z;Xmd(Cxl5H`lq$%Y?%D^9wDA?<(eTPQdCZ}5-bBgy6QoH^Y@eZdK@D&Ab63>lEKmn znbu3_cS;0z=9NV23l2vKa%Q+#e-$lw=RsP4&yfag0UfGxI@XNwj zDN@3|hOv$0i=t{v#NY<~N~%I!824ivR+%XB*72Pl?UVO26!W<;|+kDDp4S*Ki9kOGlZuW^D`_$l9(jf_dr;-IIVHon*nBkvG(q=B96DFb!9`= zI(D24`auJqBM1S4uPkvC1zfkj^Y;ks!q4iLz#($M`Bqc$;Tkh_l@XBrLG0a%J@Qi~YQv{= z=2$Wb2(Em`{{MkYKEB2OH#++N@DAcv`g`fJi>)vlI`Z!SHm)d2BFMwK&(z|jaXykj zoQI(%l$uX^Kl-o+ciiOCAUNYJ@uU6CkbP0a1N8YDN&C&e26Lzo#{y3qt{4FX7aCZa z^*6=`2jlo|SP!A)>uKn;EI65mm@0Dv1T!zQAx0=>g#ok}?Bps`WtQ-|@x$W3+RFsh z*LSA*F{^&pyvvsW+VIAE_*3cW68+kBde_pekiM!kpQ$lvN9&{)<|(zNzBlmz7~f3< zBL~n%<%s(wQH3u{_JMX$HG&11PafSh(H^b-@|g78GbR`%mJyK!mTWcTcJNMKr7#EY zIP#MWyW%~h-{rEDNPiJ8nt=^msw-jjFG*^3-KO#)P81@}(}&_PvE*9T+Pae}b}ao? zCAz`G>H>fvxPQCqv`$OR&<_Z2@eJ(^|5;1*!+v`2!XqHC&nn_OZ5s)Q2xN_1kAD*X zo^TqFeJW-1O$Jn`NII*ecm|f#FKZi$?&~zUQri;BRHam4KU^}+6VamNm-R3`{t!K|z z|1~%Mj|$uWVr2P$D2@N8J6wMsgnzrO_46t~(B!zd)_k1$eQ&-fncm0||6lc6is&UK z-8dGk5$y02G|t(_r@k_@+Z9N=e4&Ci@XV~Yi z>rzd|Tyt^Nq;8UpSj!d`sp-VBZu&f3227J9kYvty6O ze>ffnAzy1t;&u` z{02&`$>+|6ca*Db5)zr{+@4ENs> z=()=@#-&AKi|IqZ+ebARXdYb~5N6kGQD#krd%wy90A5|7r+2%1{iMT<{&YT+ybFEx zjEHF7DUJ6_1HqCFg=rC4=o-Za`XspwJg%ZG8TS}IE?*3>C(b}qlugb&7_~9 z=8);j<9b|aK|R?UNeUcVX?*%u{0S29Hg1H?IBDn(hVZ^n%R&Z_aeWD^+zT2%~vRse-6J^}SAo!vka^VI&l^C@4DuU?Sl=z9y^fyCuKQ_SdZ=^5uG zH>mBXGM(0%e}4=qPRF2MwlP2Z@Y$gatC}F6Pw!zeW_-8+0B~GEoPJ;4k!E}lY;ZR^ zAc_zppAFEIYhj@m|JQGul=N$7Tg}Z(g1}?t3P%>L~)QtNy#q z|4&)zzxQE_Tq^|zeavG;#~t;pYwfmQpQB4c=qfK6+41{@H@LJ4CaJ%K3v zk|vITjeuxx`nl6e_5}b5ymSVzUF$9B7Eb0`&5l7*yX)6lsi;T;iIuGLfS$ATDH42m zS=Z5-!UX8J2oQuy*G!fL@E+%1z|g64ZFFEvUlsqA4)XE9|6h{+f1lp}@{i2T{SDQm zhli}Ea4C9t=%`WtjZNtmQmJ}mhrCP}Rzx&&Ph&ICXyuFrStyz}pGZ6wpMVH>OzQ+5 z6R}D!J{EC{C(*tQra;gx5!@%EQOlW`ReR40X(dVGVPO7v;(zjy@jFz_wl!7(aJ{sa z)vrDUU=rrUCB&JQQ!O%0th;~`$Aom7HPHZZ(7p~!ZFUP1qh|DBdik&jXqJ8XP3IA~ zv0Z5OrdWiQ&-Uq*<}dHb21(H(#!EiM-IWRS!a5FGyLCCLJd#nY`mT0$9T^2>&sG7N z@Dw7hyFnjwdl(xfY6hLF3{y)RRtEsGZzVB}*PaFR^wBwJI@9~lX%j8SIh+3Ye?uSt zPdSpl$^WYa^usT7c*RebP;B2U`A1?4dLGL?Ue&qHG}h^NR$o_9v%DZdFT^aGj#FqH zKr83!ZCB$K!q3HxIPISMbaAg&i{pyLt^WLUgv0{T@p_g-145Xe0dyM*u~x?ypE}<2 zg8fVqGmPAQ3DV#?HOJ*tL(V=e=Up{U;s)t7ywsS1dmWn9XliURn7i#>j6T}iIPb>= zO}gKo{_2auYn{T5v8kJ>C+G&ob+#pepGzh?R9ZsLfP~T_{bf-ZR%daiJB z`^<;g=)BTvvob#RuG#JP3d!*!Pq7IRAumM6y{NYI>8$Ab7VlBG4@@9GMH?NM;M?H3 z1ad0sHr$<9@%5{ubyL7wO$L|7udgSo54$4X_6rESxi2iJ(`;E5@L?u^@|H#bVqn0x zn`D60lemSRo_JMmb{ z#O|_dqxbsEHSkg6MH2d=Jc>-mip^BAjilWk_RNQFM;z)_^d3cny1(U79dvjxOYp%fa$1M=e zkca}vm9dN3wWTST9N3ELSTcwfcTs z6U~Cucpe1VX4;snfy>FsEf49-j0m_r-(?_A9q85iQ4hX~MI(UQ@a>}k#7-!FM{rd73`!dT?%Yg zW_>59()I&kE%ss0Lnk`X@Tc5mAmj2F?jHmPoR%CCdZnTM^g6LnyRMRB6>vY#y6WZc zp#AAWZhQr{*Izd@h+Fks-y1JlKN&mu{d}WQBe)UXSUwjPIP*2jTb980^2=wGVu}ZH zt6LFtppb$$7M`2;?v$rEZBE_ang1g7XX9@uU37=TuH1`;5=B&1CtSju-7jZ;d~2{?eMaTUN4=Uae>Q zq%Bf=jxKR@F-Ut}l&J_D?&oiKOVz0h9 z@);?$G-@6|qv1#1{~BP|FUV5f6^7Y*THR$yJhq6-AppYSe4_nP%X4Wc0prH^lE<;o_~Cb3||6NU?E)OKznmp7!_( zlr)=C_v5c_(u+%>vY!}I@N_+O7kQgZ-oky)3p+pkq=0sy(^Wv&=!oJrb$53k-xXqi z%K&Z=7hMLv6OqaQo;^z_`v*m%rWW|n_&E7L-U0Khs4k~@nua^t!LU}~G_UkKqDj)DBohr@|Erl{q89D40;Wv*_EN>xBC+Y^}~j#&1s>s=k` zOcEVF3s?W90RTF=2cPw8C547<+ZIF$G(Qr$+tY40hNNgL1URsM*d}Vp9ZIqa!TO$M z?O%PRT}pWIx!Pn|cEhnP>6!VFfX85dM-&U~0kSTPcOM;wXgD>IKQ;I3&_~M@$*bu8 zs?Ij!^R02mkRK4;faJsn5rqD+a-{<>oW{Df{u4d4*z-v$C0y>+_$?K`Ex{lv3Fm2a ze@?)%!H7XGawD;qCZf)x}*PZaN>wbu} zlm3$98d32?uMehbAFiC{24`P8i)Aes-uZF!S{DKG((#y7woF2eMn79A{ z#`hCFIERf=yQ_afV3ggl!`m!GhByal&q2b9jZblT*cIFrUR}HUdba}CwHjg!trZyo#<`{*ZmqEFa4^!lQDQarOA#ZDiQ^@SERWsZSzL>ib(TJUk( z7s2uF!y>@E>+K!!x{!Wn*&+FWkGoo}@=$*M%S&i*7TYv3C~yo$JHmWK8D4k3J<9RT zf%ePO0Y*|jzgt@eA>Q2k`qi~6WZ71q79@=^oHJ#2pE}TN*^l^CC}{BIx102s+D5yY z!1PA}cy-u9jNfsV4d!VbNn7I4?Qn>dgUzg!H_v#zU1&`aFP?y1ZujQhd}@#-p1}Rw zof%EqEaU_uw{D&awL(JbUJo1bq~lUBS!~xg7y0z3AE2? zC7kt~{l#gxkM)ODN)1Op+qu%95hFX-@zE#f69alF(tO4hF)kWE#4$3^BPn$+Y?4+N zyes3hy~8=b?{%}CU3sL&f2xGj(zCXI`jl4Jez~l$m->pJ@A>8VYl{NJ zBRLEAF%RdJW2%CQHeZQq9wu%5%ueoqD@2}Bz=m00e5^@J>|2k_OFOGJW<`46eox?g zO?sXhLZ^zd<9?(@OqQpQvKO`z5v=H2&3|jvMvE_4zssg`3(GaTKf|}g{K6&$%C*K} z4H3V=o;SFl?j+^d51v<8>4`1X^BV2O(U*O%p}-d@@j38de2IMqadf7oxMAJanIrfagZ#5{QDgfaji)`=ZFP+0eg8IEM+TiFSx@3Yl0 zYO&berBK~pz@Y14#~$4qM&Kkc4m&n#g+Ew*&w21uMoBZdVfsqFzVpA1!DaBh6U^s! z;E~px9Z%32^D<4=*A{Qi^2a0-wv(qOQxLbR~R(B4sP-N?scj4eY#l84pGtkarP{) z!XL~f-7evJh0I==@$}iEDcH;nXehr8<5^Rq1LYl~(rb}^hY^1Ihjidblarq7Qxdgh zv8c8D`sCT9a!V`p-+GAL7Q59&@x-D3ZwsUU@R8TU3iD)U|Dlib>aIGK%@P&;|Ee2l~>8%Nu7T-yY8r>h_7ftkd@J6kIujeYhY!VuK z;7v&6%u*e=1-r^&GIVLn-ggRn)4af-`)#i)TtL+)dgk-t=MCEUzjG5Hb0|wPHhtSm zdT!#;C65OI=lARH(3PHz`~tNvY!#<=xB#394(F6;1UFd!u34T=SzHPwaQ`t@oO1r5111fMHfh6L*S&6`G0pfouE#jf=@Nlz2PTLZ;5TxrZVR`xZ4n5ap)5aY#7-CJl*AuR z3P=j@%9Fu=);3is`{%zMMHFdqI+HLj|MtInqzje9{%3w50~-*>v3qM1nLs&MOt>q; zM*`Hao-gz!O!|-e$e{F{DmKxPBKyeE%wk>L0axEjeN(hW?!xWf*b}#aqywNVWd&&i zw|PypcSgcCSFRA2jaiF`(HyuKd3x zYEjPdedlp+7nBfwZ>ew#lYfp$t$)ST2X4Z22m*gnleSoY3J7F9#y2 z;slJpua~BK+AZeioo=hA;5dr3@9(10&Af8FpMFDMp|&qX_ag1~d;34%@YG?a`nwGo zpz140WwznH&qs5JZf3(Wn5n%&+3lrrTWTh5yP1-7IQ2KG(?>;I1S^(0v)8VmEBgdEVMK8ovD=s4zo*=nLEMFB)T6_3Y2Q?LLU2 zvdLT=n|FXj%aDKkcJjQLENf(waalyq7D;bLa!|U)-(BAkSS)-BH4vWNT^$)NClZN{ zq^;W9Xm>4P#G&f+_{J$z*H{MV!#8#B4@-@-5Mfxt$Llcc56I^Qty*+!nT_j8FFt7z zG((UJqIFRzH?PP+l6J_&G^izpX1%*=qp|r0xrzsJZLZ;+pw~e#QKB&EP?bUscL=0j z$!*k+9h62t4C-#^y~7s~UL6tpA_dc3%Jt+z30XjS!cxX!z9c{FSKusGMpHmVdJRk6W-b~yI)?81`a)k}vMdN0%G^Yf*#lqpnpQ;|J^(e>$B-tW zl%%~3m3)l*;op>NW0Yq7&ns&#c78cQqz1Y|e1^PKLy=jmXA`|WJccfL27*${Czl6{ z)ekq`(by<89r68CBM^|-_BFMlJ$*yTzcWD(E3S2PEr2vp`=c+tuo53?1f(SL^DD(w z<129(ZaS?8Eclr%Y2TQ7!zjz3uC9(6Wk5#39&PHNx~PLtlHD{(=ZexYdzU?XaUYKH z(pN}#H;%C#EB}PyjS7P87H+?J?f;_ey`!4wzOYeHlqOw7q$wyMEh1e?M4E~;K@cfX zkSa}(o}zR?Kty_zu5{@&K~O;Hy%TCE5rKpN2_(70`}@AN?w|LrHA`8UIaAJ=*=Ild z?C04YH;7W7Dp97wWRmKQk^lWsYIk@D`F(ZEBewTI2y%mH+jM^bjV zL{1K308{y{1PUdO9%6;!=7}t|`dvaZ2>AG&qru3pL3`%%ev64_ZNU6f@ZMj(nUrKP zN`cXD$nQ0w-WvuF3{8U#hk3C=39`q&gNjth+oNXZ*cp=d_eYDv-h$^EGGuek^*Xf( z^q_0jdHx`))zwwJqu{7i5W4ZvqKQ|_c0bz4z^b;mJ158t1!=8SLO1s1pn54M^T&rH zH@0hB_CIzLjvZd{j8?|>(g~i6*ZX{9`eyhaC87Op9+QsB#uM*A;yep+o_lrj*6O73 zN7Ud)l#veHpZrB18O15+3IBO+PPuz++9`+S&Y6Gv)|mn=hsNurm4)7GpepD|Pp+0> z7gprfS(5rAX)8z(z?b12khC;MpMOGZ-Dw3ZUSL5C{)syEh*W$y3FdFX^S$EH_~xjy zy?m#X>?A$h17C?U^758Ziuc%@*FO%N{cwlcq@-{M8D8yDdLV1{&Ay@6rKa5K@muPd zp8<5uR0DN2JIg8*lS;y%WeF}vQ1zWRiu_E7mWODUc7b|w%v|d+K1pH-pa!>{{*o_t zk_bP!VFKQo=sD4MOBGdO8D^ZEW z1SmPHFMbufvyb--FV2pFs-mbe1&Kd>-x+y7&DRVJ!cND0YxbKbtTSmhxJqY=y~W>s ziG5Xf=}xk1cFqG&_w+{!50eT9;n@#Z+^3n)^=7?!?+ytQl^_>OBb598v)*BneXV0% z?6-GB)W~*ic}OzimCg3!TU%`>7dH7NzFz|Djv6O9YO?)1OS(a{A&8d`FV^ z975_pOkRtOi!DjFOe5JMZCfZw>1sWo-#^Vt38eq_=8gl+E6ZR!6)4~{d6pFP#O+?& zg+0AG{mN*recy@SV0kI=6<(vpDS)SLugflOraPYHs>xc_<%usV>Vz$%HihU+z65Gs(obcb7DcoO~l zZ4tE5#Ngo!*}DGP{j7$%dCIr`l&8s8&fd*E@+XF)>YCY z#NC#1p{T?8k-|MU+rLB~?lmLA+Ro!lh>i(`3AZ*_cLTh9Q+#<|Myq^fzvV^s!=zWk z6DMtN47#x!OPcZAL35j@%4Zq9HuK=#MPDsx-FkH zhHdX9RVi4v-bnJqLdyg6CD0SZXM4$J$Z~w$vh+77{qLMtRzydR__sbyn6se3fBv^l z8clCNj|Z)8uK&@O7FzKykn>)?D)k?ynJo#cO__do*1A+zV{7SwcneOh_D0=CiW5BV zahk7siwocONHX-8J5Z6*YzBV0(eDd3DVN;hwDC$N<+N!0%jvYPppq#U$iMmqY!;f% zjiNJj6kff&0$B|BX%8(|$55vN@J-fiLE{-9!(df=jMTFeUrovvYg|82*CyBhfkRlth~@mh?7J|2n(>O zM%QNb{hHatM;!mXq@*SoPZ5rX{O!*;l=s~x6?6_?!{toia?DcETD{b#FW?5!h~kbD z@-z6_6yE+0OKw6L&Zfmsoy=1{9zI{?*o3fwpYu56U-TmG{FPQdyonnHK?sLJxU50& zUN>)Ep3X^1G`Hkd%BN>4O6x$LY@@T!k|IbBX)h}Dly|ec>jCJ6jKz=mOAppm1CW_G z0X2vrku@7s45c58&xh801?>Gk7utIFUhy?~4Z+Dv=U(q`m`JP#(@WwNj&onCh}nq@ zQ0v2LB3FgM-|7o;*(~o;_)?74qsoz;kRMP2XjCEoSv} ztQkpHwk50J>2ag-|2?Fss?gP}_cukCKZp{lx5Bc5>{j@9X{!GS;!MG40M2idtm8I) zyKMw1rk=|5to%cjfrc0>Q%KGBgH!%|JoE{X#yB-K!cNU9T6t0_QROx(drX1&;s*qy zZgsXP>g4}`XbqaDE5ZXi9=t0}NZQX2(*KtQ`H^W^gZY0{Y;D%lSj7LAW$?VO3;#=| z90T~unUn=O5#0~Q-v4}7yL00I3&gy={$mYP^GsnmMm(g)2nqf0R%>Lso~$`Yh52$T zyvo!|foPoHfdbijF6%&|X^+t|6ae-Ts`ZEXH#@f3m*8u8@6H;Iu1-?^xr}0Neg?An z?(+p7Y-_**hTExv8NTRt!;YNg42%{A-PL{w`ru5sswZ;7o`6eB-GRu)IXNe?W6L<&~le{(7ogG&J2NEYD* z1Ss}L~zB?_|`&ESKZB0gA9_Vm8>0)g7&& z_kzMIjfkv10f<#bz32)l6alQV$E#DiL{fD$~Swj*h9as_UAcg6Krra(;l z$!qnx7{D8Oh~H_&8-81|c{|l>;&RrlaJ0Y=BIH%=M&xdVfq%dg% z*UNXD0{rPCTO%#@13?j~+;;}gr zn7nTq6tH-A2I*6rI2&>D^Y@`?5~O89ell*GtR5Ih?>s%?y-y$bHEN<+X_fpC>^`e4 zpsEa}2DiVZC9$0VYqOHX+_+QPOvuv0*S1Etz!?7@U7+_@Y_{9l4oveL5yCS~pS&dm z$JrQe|M~ML4^Z~n$Pt;~%v(>{y8Br*N4zD*|HT52Hlb2@hN5oL=BJ(Q^Vw(ll@q?7 z)kEwK>bA-EPuh~;f=u0{%wBMs&i=7xUI~v&AQG%VCCLqk`<`Ie_#vy-l%?nyBWjU0 zBJzhfQ zxFEulwlH2u!kz245PePyCniebf6(i_7By5M_)#u$H`&S~A!%o_)B+SQzL2;IBeT>B z{S+(@3a-VK8|f|8ylt*MJ}8RHb4bq064-yOs&839RNHAQJK#6-<1QTjRpO^YFb ziaI*tNF)9=`&O5Uay&WGX<7Llr$BA-*H_E8f$eB0Qbf3khi*@g%lzu<6M~0>_b~MA zYZ=T>zv0gHN*+ICPcbHkSpl6dxE4~65wF&;c6nWsK`GpO z|CE}T;*eg~a}KQ}r^lKb%%O;pXiu9wrn>j6ZX#qM4KVl_t*;cADQ?wg34^mLOdzbB zJXN8`$IkvZH<#Mmd*LyT$hQ1kT)efI;jm9-nB}Rt`6)kQ|d;O5Vk{Ej^rR|dr4K-b8C~qR#>o066j9@v0kbxRK~~0r*OSRO?%y1$7M!! z0jEyb=9Lc=-s4Dry@FHlm{U%vypQeen=}WUL$lhyP{H6#@UcDFFAI%WPq^g~n*T=~ zX9QmoeRzv{{`lLkt-;^he)Iyo@d^+%bM+Qk@`;=a>Y7Wcc?a>_+W?L#NLeK}{tLML zZ;u!$u<<}hW+}yG5`Aorr;d$86Iu1}O6)n=@AQ@9yDACg2cb_Pl9-H;HTtCSWar6; z+s(1{dONOb#~wR4eHQxX$4sdjxZ)%>Sx#qW8MO5q){{qLMMgl^vrq%m%>M+bWDNeQ zdAQQfv8bh5w_Mpq^IP21_+i!`C#y@r`bv^p84=Y!NfW!ZWY5<%_0-wSUUWV=vpjhl z_Tv|temp&hx@D4A+W_TL{xo>p{WI!t!ZYfR84j*~<*0~Wg-GDJaU3GCfa?d5jzF4X ztidTc$DODWdkFRFK;})TxlGzez&pvU$C(=dd*v!r9m0V46h*#IKHG zl+eksY)I=yuUvQrm7ls24}J)EquDiM)P;p0A_nVI@uVJVD+96aI8sD4M%5bcOxNh4 zFbSs9L^Uq&!=dunTp-h@xxOWb&gnk-%Jw8#R&CppS|p-&@T{6V|1;frPBz1PtIkkK6EZ zDF%nhdnE>~zjp7@<1_q0jj(&caWN?q>sh8TfSSbCeM<8n)1QXd!7^KAZM7^Xgw6YK zg`HZl5?_}etv-}=e2>@n3){b<4)hztLW!lA0MyRUH(c;*U5EHOA=$M4Hqghd6dxJL zRMW^Y&(#HgiarAZv7f41|Tz`v*#8>Xk3FFoehPa7|qb9ijFq_Q~cfSFaNSDS#gVBU78?~L*9W}ZK} z_ZC!Ix2&}=+*S5T+o=}e|EmXrv~1^p3gLaPidJfVu-w?N!WWf3e&9iG)YkLyGbj`1 zK+?^M<^Nr2)dlY0i_1TTJZ#}VB-2Ks_6Ck*B23v;KUErmRE&4|<=616p1W}L-falc zPYOj+@if$dWFINDM{10Q>Kd4c&rdu1k2-prM+oll zr}#^T5=zu}TX+pRG(p5?7gYe4Oa()FcR06J_y+(u?w^#fwK(&#sV0kPCcqW?b$-qJzSKy#pICQmJYU|8^S&H;(u|M*{ zq>aB#dj_^gkgN^#!r8las>j_zOBMj&(W=5<@SwSw53GyHWZQQBiUD;I+fUC`pai>k z5%4fWfyKyf)QwXl<6^flluLsA>WUYtTn$&jC4zm9ghO#Mg1=$)%mrNri$;@XMx%OUE>mR(0uK>j-6;7{m_;`I61>Ja5gLfDW28RetMcJ zD{E8ZIM);{MfdyHNeA1dZz@g|CE|#{I)ET@cUxE?-E{a8LgLNR8phZ3MouppOxa`O zOu<&P7@|(xkGyU|;-3?R)>g&)bN1#45Ai;_EwBG_&|EKX)NMbmfEe-e^7^?m(_FtS zQv;}Z9Z*yub3gF;m`&lN%*hQZE8+yDaC|(^F%@hN5tJwEr6WMj(>;(H@UM(7HB$Xf4~k_Fxm&%zuJHtCFGvdplB9sN zh!1cw!Gc^ris{c-m$e0=lB>n9;Qi?egvY(VRsarFYeljS zTY0wW06Ih0;V*9C-iz(88GeY+`-JEh%h~A7y37)Pof<(;%?J70$*X-jF%oRkhQtkf z1vVbx3LpLEye?yBd1tjo!ph^|0`F~Y(jk9}r_VIz*t~G=rnLsvVf>3B5O0C-^@`*2 zxqN6VjdRZ^^bQn75U{52Id9mJR?XmAW4hHcEr;0ZD8>Sr|t@89j~-XInR3eYWc}&))~M&&YSf_Wnuc# zxT@wh-IZ}VN`p#rTO$+hE&IpN{=>kg(dlogLX#ISQVRV~e!dUT(9!;o4_~hD6An3r zL&)7BEw*r*buM(2TlIQ|9;E5yduJpYcG5^~kFJe~$*A>Sdq_Im-+W_{qY=c2#*G^N zyitXqQeMMgdA||PqoP5DFSOdiK!H?P`orrAh>f3h@^CM?wy?^%J65xZCSpd>f+ou` zsxoEwP>Gx(9=8rI_5lrwbViu=CifF?LCa1`3ND|yM>QG|YMPV&JBC0!83)RcwNIu5 zqA8Qkz1yZ)LUES^F(b32iT?y2%z)hAXOtWSr+``s_}}Uq_HjUH5VrNw;ScibV(_OF zgVb9;hI6{DE9fs=UPPh1mhO>*fDWQK0M507K)Al+WQ*$KmW2hBqRffwdwBmLDs4Cc z(>B|0dN5dAjHl=^4Ya1$s#9GffX<}d? z-$_FxTX0yqk|*!M=@h*QiT6Yu{csI>`P9Gdex$|zj)+lP!u1_=XWc4JMc=Q=tCp;v{znsJ}INO#fTV-b7$=P==S>Iquk*_nv3#Xk z{kq}q9#l zoKOtkr~$kDf`xPfkkjgVHy}XSx_7{_7Z~sf-`i5Cv9Ex5Bg@m9ii;HOqa`;R!XQ5z zs5vnvz^#2}t|@=YQ29)Mmq@(Ya;;4Td~f+zv^C==jm_g44KXpX$fUGnSv^FK`Pn=1 zD4HKX2yUbYDdR(E31@#^gr>QXH0Mo?`gbL^L8k$%=wxDXKa@ z)HXTlb&bIP(x%13My%HE+*cE<%+&6R|2>rHP~-P)McJ7TUp8$TUI;vb?d*Gi3H-5ay zXYBqod2KG$9#NQ&UgqBcz~GX&ksqu!Dg=Qy7e3ihCz9+L9mYS)j3LaO$dm(~lkBbF ztdP8Lj&3${BLobI)yL;G;fNJk9+d)-#o^8OY=m!SsiJ@@T0>WG)biA7}`$}s)2{L(U?v=Rjuv%mIsp(9Xpo8PO?Q{%vjZM6Q}`WG{2u~#t7 z3B{>eq}10mgw10@+wH}`yd3MX{PufAjnfkf(=+rneT4Yeiu!VF z@4L8{$k)#;#@1=XB4kfs;Y*!upjxJe9zO4u9okNa__K*lqo2pBo!8o7ASr}Lt46-a zt@=P<$)%NSpzaLbBYWPt*ANkxU;ht>$-pm$^9Y6(=hX9~c3Gi^^Y&$MJm!3vns13Q zN;5RBquQH<&py@h)-6@<=8D7t*Up=QH}Z5epJfvTCw`NGtVE8)aJ#bI&{L zpYiJzzIF|A2YuCmy-+o&zeDw{!#oc&7~zCbXDGfRaY)oE;PBFj=U7+BN#jBfg@IK( z^5?cnw!jl@>Q=g3$k&~QPxcE>fB{(UdhudO; zs$G4R@@HauheKp%cV1=$h+I#9{=tif``v^UnpcWt4P$UAT=(hqnKPAEU+n~CigK+Z zTYQJtMb*@#K1kaK)|e@X_n^*0K&b;CcEP^PJ4g|msTTNHmTa35)XAvH*5B|{2+L+U zQ|!q}h}`tLuSs5L+iIWY5_8)!M)_Cj(nQ|2RDG1=;hrHQm7{i@`h_!oA9TpMZyYs}CAO2!;*aHy(Vs zJ*q=$`x3WHkt{}u7B>*_ppwoth1ejgS$9^*Q)3)Hey;I#Xwovjo3zN{zNcddQ_<0R&p@jnFT56l%wiw1uY+ZL|j^_QhtID}V z9gz>ukVQKm9?CghmWk)JS4c52F<}=@-3xr>zETCSJq$y}bUyadNGr3Bojv76HHpG=N8K2= zG^*6^-UybYn7gM&umw)Uty$jWd51~xlnP{3+^G!Lh=Hshgt<;P;a9h79f|a2UT5TAdH}^7F`tSa&1ZK zMLYId>_MgRTKJ_fEh=FfOJo_43StQloKvIci&ZEJaV|vFk}oyvXT1}J7Ove(9W8kx zX`Z+DWcDPF(deyt^X7`Um_dg8yT$gqr$srgs*9XW9w4}hcYmT$%6a+;xqftVD~v(o zHCN?9l{P*h%RQJ!iuwstIKpvv?3KS`VFd}IQ#<+uA+b?P{l!DtYM3>%u^_Mdt@w`m zUwWtO?d{gf_lc{nnY1n4y!~V}C4`NpL(M2G!;_zJYa~f>x5H=fN49#fJYe(qBCo1R zJTd?{H)c7&{*c|dHK_BrPkj-|93QL2?pWB~F_j*Twa-=#$>= zEqiwRpYmMxmeA7{mS=Z`DhVpE^#KJpfjeWLKY#wIEBMVMKcXdLmq~s}OA`!(cdjvN z=5&r4jddl_Z#yeoTpDrUTikee=E&KM=22!MNGc_y#Msb%n)BPvYdZd$;^MoGz9~O? z=qcad>&v?8(LBi6CtE`J-vM&ZUUU})-*s&?G+sQMye9n(!7iRT;#GB?M6SBaCyCT;BrN6JxO8a=(%gU}a{WV$x^H|A)zrSnJwh`x)nzCCnN>Ov-o0MHh zc?p|h5n^Kh-t=Rnn;@`tLBMrcWr|_IKFhr8DG2s@KLZ`L$-EdP9$;FO{Ct(iau-H> z0r98was?WD{Dz5%wGiW6W*?V1ZS2aRI3fl^Or+fQ|7WdOt!-?~uHV$|T=0hXN0h_E zhY#Nm>v0_c)iqKJd`IBUCks%#K>$#%gnQJl1nlw&N%~Srx&8oLxNlMUUTz;Y(z8D_ z{V*S-^R{sa1hZ1Mt zVqkQ}IAe&os9A~Gdz~aU`Z0PeS@csii*?n3qzkFyZD6d;^K3~cr8x&!L-vG2LtvS>_3L8K$+@I3SY)-`g6_Jn*Cr* z6`Aisd?LRXd?Cv2h0s3!dwkau=HLERGRH!Kq)+;#hlbqkl(e0=BT?3Xw2jJ%`i&if zpApR!6y)=wGf+-`iDb-Mt$Bk8N&tJZy7K1E_`h2q{rmEgbZ(Oe3=1)4cDgC9z1Jam z){vb}bE>01$5!;?K4DypA;jz4cDL6xhLEeL8#v;EvL7jU_}r*@f_@?FiY^dACirqiu8;>zisuOG0}nOywuexmI3I*e$_T}vu`4(I*P z#z*wND{28KB5s2Ex0mQN8_)2bp5-2QklI1ivg3Y|g{|z;s>hsrLd&sZ(sQotzK8skZ9qr1ib%HT^M&%x z0#!PEetB072gKk}F}KmqtwPXUO)L&54`gtv>Bwcs9wr66_mkbom*hNh0LiT%_40ns zK44cL057-7kh5o8`FUT}aavP3pD|@I%Jn%e+irI*nONui?_JG3J@=IZcE60j@u~Xv zj$W`T-K&Y9u2M8L^)z53H!|9qM+6P{HjB4U@0owegoz1GRElb4Zr0eRd45xa*O~Sd zl>r+zA4GrUZ={ejW2n;nbIh!la*{zxoVDY2MXKjF7hSE``~7lCOQ8~Mj=gixm?bQr zAK3jZLe9?4ZnsGP2nh7g1;GmQi-vZ?=`?$m>S+f_<&iGOe@I>uM1HF-&Xn)Adu{j^ z-6A_JtF1Qm}(2?Gq1YCxv(^eTh0(e&aW%6?;9wX3Wn} zB!rA!dmt0z6|7B*pJo1Zt3bcfr_9U?&?dkuDFZ=r4!aqS0A&&8<=W4ABPO?&`}+^` zbYiY*Xe?~9q(U!Vbh+{e7}%xqhJ|XG7H_WNmR5PMlFmc>gGnwkBiJ<pLNj+WacPl)uszkP$SZ6giMXeZqJ^VynmH45I$!fU_15Z4gAZqww0EUUL<$ zxZkRu`+=C-44N#$J%M_*f6(;6@6tEjn*La&cxe7!*By_kwcRmj<Hw$LWJM*u`QtT!|$jXS3t4AU66X~AWnCq)H z)TYoKJhOb|@mCCKZZ$WTi%-L2w@X+1?s2PHhOb}p&9kH7$cL%MrIdq*w~l|5P6Q!F zsgyt50VUoJIs`!MR&LMkhLO4H2Ybz=n15y=ghY?|@0C*dWcWt-0>E+0p~`i4`i@T? z6DIlE&hUi>aOn<#ROE}-Z&z~=*_zv;gZ!v~o_&kvp zFDTE(iQuIK@TaOUp+LBC&;9a|A5n2mVaa)UXwe<1%vXU%q`T9n{Bn1uIA#gC)hzTX zq|h+9FQni7PT5}69O5^}7NK;X!q4ujQoi)-Uwdc|lSer378Mt3wWQh?O+QzJ_Po*O zOGgz~KpHG}j+wY=ywpJkU!Q_S?=U)QIn3|R>Y#)-P~S2r4JbNhg=^7UE$;28KuHeD zp>3@j`FmLPKaT zpi8P?fEL|9o+@{9xXaLozb~E&i2Q$ zq?D4lM-l|i4ZPbVO{wYo^KTLC_6 z_Xgobe!WiCp!9nk92tR|_iuXdr;ZEy#XOb?pu7ByXN1YnDMMcta5C&gY1)q=4+==^ z5arSs_y;8Em0c~2>;!6MJI|mS*9nwHAUlM|koz9_+{}kezVZzw#}p6JTzTHMUpn4d zZaZ#3eXr-#-oS*S2(oBJiRJk7n1?!vVX7ZPZ;zbG8KSB)W!qTCCBXy#uTd(U%*ohA z8x}OZMCJrJRajtD@61pv&i|Z_5{v6=D9tZWJ`-D$`J!t>QMV~@9{@GUt#NuC>T3`5 z-xGg&_bxu?HF#^?)9s>gb@W zdp<037QJ)TzsA8N!P7!yNk^xtaC`1$%&0y;uczKOskpE6e_@S5A~bR6shgjv)eQ2< zjje~v{>F+@5OHdF3${V2A!f06B*_2cRz9s@QNBje7qbZyA)m!p^GEmP$m`S$wilC? zopIF;*DS?B*#nmza#`8JHaTB1<=|f~`ON2f*i6VoNb6}&jR)tWWk|5g{;*mPQff%v z`d+s-gd+}o-vkyfyvP8QKX}ace`iw|>;sg|*(*y2=>&V066=Q>vG6yOMF-S4*xBXj z!w_n!jG~Ge?U>;=c+P&mwA&74Tvr13ydu1nqrF>Z{;^iD>NN)J*}ck{BIRhU(F%R% zbg|iXX-wh;ny}l!{w8V}Ogwnn73BGGi>*Z;0&9y$nXie@?>jMy?j&Z5nhV29&BJf? z>a4|CH9RFZR@fLoI~>X^9;38|oNWjM4a$V3W;8bVA}yrZ?JU2#F^y0x)7$qxxbU^d z#@v4bt8d0%g#rFMun`DEmek9{Y(k#O_RE8s!dyIG_m^PK_D>#b+;V6;fc96G;1!o2 z)p%JRt>iKHwyNq@q2IaX<*n+CgSWI++P=?yOut%Z3)%xB_?*sw;F*UWTBkv|yO#DOLiutt}t?ynG1ZCFlCAb3GDFShk5=wpVm;oWNn_zIiL~XD7O*kx38Lo z{Yr?d@%enR9Le~$-jjBIe!C$Kpt?smps03$ z`E#}+MieLvRUrfJ>*ml&Qz`5d+&nIVn>ZTYta(71IW_vPd&-YsqL+L%cg2Q0w)HjV zpUtWb`}6&8WJfHF&}w5}RMwAC{jT484mpNLrRhDJX)9}EjiFyPZ>B~F8>s$p(6;XO ztop2r8irCc5Ikm)D;}@xA3i|A>m2(1??;`Sji|1vu@sVD!ubBFai?+P=sS7-L=f=6 zwfBB)ziwA5-+58ONxO^sSD%n#fW<5D(x?3AaOUifPl9W41kLOrnX1@FO%I+dbXLe962vlIt2NP${F}^qy9~ChN7%5FECwvOBlXbCEf4L zre@2jdzjsNfEn!A#XM^AmUr(->EpZUr|va%Ie`{HF;^doK0Z6J6rVCFjO%An7FJw} zl4m)`LR|V%h|%p0WgLcDi7d)s-d5V$jPL*Cs&ATcM*bqs+MSJyGH9%2N%b(AGiF%$PzTzWLjK=JFsFO@$JUBrPvIfsf3WHl4i2$jiTHR5fqdvBB zjgS9>hIE?Bkr$MgK5m9~r%#XpJFGW9I{&l3K0oNcW(;}G0HE~xbFcH3`2f)=RAFno z%$6Atq;Y&!`=)TS5+(YoME?|G(&f?tps)DC{BiiWTg&50MQ3DAK!=*{PSp#QyQd=; zay4rCd~C=)<#VG3(OYtUzuy=}+# zD-nRJG%aS`{RU_ovU72Dit6q9{gt$x}Td#YXAO({mxg;m(pz|B>3*e;k&b@FMg*$o?+=xyJy~D6)z~d-%kIaJ6Q1sK-S}e63Y|mhZ*G>HDw7zsMK04;fJWW2)meenc z#eJc|80FT(n9p0gI{>5N{v(kJC<{ENQpgir)bUarE!#qzE>JGY=EkG@y~)AWBb8>~ zI3)woljwhLK88LeiS6 znf)42dgw*&>)cJ_8Xvf<;!(&s=10_ho8Oon%Xy&)Hld15*;79S{(BEyBg*?x>aIOgY)VgYP^xckX#s~w}XWn7Ta!CyvCWT?A2FyW5ELTmfyjB3(Q< zI~=ux1~+O8pq`Oz`F0DbljASoyP-{d5?}x+mg>)O%6rOWg~><$GZnX=yIy-GO_IfgS;^65WQU6CWi%9&C?y zz5+<^CpI;*8sYk`Yvyva`&my~4wOieteI6_FNf)40petj-94s;rEkcE?wwMSoffoy z?xJ#r@>2yEpES?@cR>SX-46YZy;35jKz;pp~-<8z7z))LU0Pf7JrvNzq&)DG#fIANPg z*mMWw0q2TriRM^N1cUct@?R^*i@`nUylfx*e5MyC=sVNkk|-MO8UuJYaL7=@6(bY* zbZO@FxhRQpPkW^A5b*kqL#Z+Hi_Vmx#s1?ZwV$=Bj?YL4$Ii&Un%Z0tKy7RrV?QAV55xsef$IIoX zqxFj9m*AYB5u+wqHi$zOI!>O0y}mfd2e^Qc?L+kDt+3t{kW+$%pba_rII=xun4Qv; zuPCYFyw57+&gu}7?GRynCCQgZm0a%oW*m+CrQf{eQ#<1Svw0_i(R7J;R!=)&TP)S< zLj;f0&jhE<-wotsR=4UOBavCo(qPNuW@K!H+}x0V#2fVg#)CUxKXwqGJACxfX*s7$ zy+4rPu&)7EfjJt=3YR8mpcqHeG-MLtdx6xfE4$$}J2jSF47ZA1>LiA~YcWawdIXeM zYsbH6)hWpdTn(upy)bySQG)iJax)+Z{7rHgiQI6;8;6N>*FL`?Q~I0Z#3jwA{a}6a z?_W2?>8o4zH5F{wnB)FTmC^6AUZ#-ffLS{Oz;Gfa{JCF;u^|3oz~T6eUj?v-SAv94 z{RRPRMO9IfG0n*t!n1lVZXO|TzU(-MagH1cDl8z1&u8kj%H}-vNE5Nq{m*rsW|Z~V_)VUQfbRw6Ir{ue&DXmnZjn=6bZ|*E7=(eOD$lIim-qe!ns@E=gu-n~7({P{6FMCxH0r&=E-no66_Cnj<0qa# z4p%(63(_<+LMU}VLfs>T-Ar$G+_|uXtt1PTW#iA!%{B`CL}~Cmdq0td>$IENnFw;wx zPMXPmHc$geTHHX27K3I4%VYd^^$})U!3VzsL%?yR(uqx~{uZrb}}B+9tfO z8E$g-KBVms)nj6;k%9bWcc#Co>wlobLoqzX@;%v0aCTnBc;rwTh>b!gJsz_x`d6jz znBTg1NmS}(e34N)v3%qc^4<034`PrHZ&k3S{DfiXBNaIGe*e)C=og`jSI?kg1N5x6 z2P5aNAzE~->W?PZl!}I7nQM5$U{i~+8m`PbESiV}deYSedVfNb;sB2pEVC|>hc`C9IAIqSNy+Drorq(w+&CW_ToH@l!M z_th0nIrL@nz%y5h@$xQu`t@`KOXy*`dEa!`mfgSy^r%(_ioFU|X zXXKaadrKaqHB}2P-nGKNPtr>{W(m>qnb2wr!azh=vpi{TxqfT{?}Xl{U_P)fIL<`g z@607$@@x@@zkd$^-8eGAzg2w&xYGuL>-6_c*#Nd)Hn#fpuXeDsZ#qw!#BR$RzE zc7}8>=)PLc5Y#?v3M%5my=tA@)P zv(8Ve5z=c9|o}AW*(_gcBTCUs>D~%SHg7& zGBapHiXwv;5_n`l&5GtjbKsIX#~9!Z6}S0}p9gyzvXF=Nt?h#3Y20 zBw^rxuo)sttU$;v?E8}-Y8mc$uz#K1r4EHvT?Q5yj4N%`GprxOy;C~!y{A$tOX-de z8)!c`@(=>vcLWQ^{KHBF34u3b2-3v)WcuZ)1m&j=r!#IK?Dk@q-Qrg<=hnT=6xR#j zud2z3JEmPU46G&R_!QGey_>-Ym(`vS6`_Mh9X=C0`Y^{n{<&LrP}id0t=kK?T;2E_ zPi8*|4bFHW{~yNQI~vX|>>eh1bRs$tPY_-7HWMTyLJ%#{MomO-K`=%qMT_VJ(L0G= zMhl|%UWVws4r7>^-!0Gce&4&k_5JZ%D@zj0J!j5+?sKkdUwiNC)s#Y#_(F-ZUs3JT zK>*nH@U#eU+z9Q66-O*?yVLJ$An4+MrQY5X##5Nsm|K=!5u+q2uOvpR5Jr+eKP}zj zfAQ5DC&cpdcb?4Kg7WjDMxt-O#eQ^Y?M69m|Jg(RtbIWpQmFfeUO=bCvh!og4)=9@ z-nZ39eX;@WE>8n7yC{o^&PM7ur>W7K(S1j}5IwGbx1(e`@||eB%rtc({h4MckRb=@ z6nqj`MiW3Hg3jo9+j%U|PUCzAhJZ)W=Gll^JLAwJ)NJ2gpDLVTRK#v>K1Y6MqYy4I z2QX`HNN4>xzfo80e6ka~*=4|ZM(}mmkfro=<(^6yF(x8=vy)pnIXR*y^7fO0o_^PsuOFtCDPO7QWuQ|0%i)sCTe9v+ z7fhJbF^xCtUWjDxh3Mj;IDfGTMrvc*KxXqDQ9q9DK1ajBfKTWd6Fl#1k%kWw%bxe3 zu-p0=LoVo%)LzXqnh=;Wahf)p6a3kCGPU7Dx09WcvYhSg<)!tGSM1jX%viF7p^kH9 z$n+WcU`=rz+`F-E*LLo1#}y>^bnUZZvUAWKAc_5`J4z{|^wru#LtjUe^`q$0qC;bW zV^OY%)LESdF_0VrOXp7vklDBEo;KlW>jF>BUDEd2I|R=QZd_mDI)#0|siY9XA9KO; zH=m8^E~oU)f1b{>-AsL*eF8;6*z(DJJ^(-#Ut3)aYMM6@1#rmYgNNo@4@qxQ1&!k4 zYvb{p1q9$(fJ6?cLWr2}cpj2|gwy@|YS4!vP{c+v^`bPh22qUfrPMFyIWy}VY$t8U zO*;DMHX#*`)19#eJtLW_ikoX$FG97MWS7VaX7gB+-Tob)vX|dzKnre}B(FG8qz#K9 zF?}AJER7?dfm2JB8j7NSKCW=nmtOPypM+fD*M?gw7`4egHX%@!dZ0EZb>C&uOfu&# zVZ!$%Ao;%@*D@>0oKS)D>>eB6sGpY|tbE2hkt#&(prv-HjCiEN>HtCW3XWGcf1grv zTRK?L*Yja*jS$yAn7nOY0HgSOjj|~VSX)VOOx?|?M(}olRhW^fc>`W94+`abRx2~_KbNpM3 zMKec>rgzDm_R#0u&YWO06IS7q$HDX=H=EW|FP}E^&u<~a=x^#SXp}2zb7CZKH{ii= zj+17c3;LGA#cEt$k$!Re)y2tu&cBuFd24U$e+2IVwQ$0W2TQrn62pMj2d^}xq!A~K zg15JCGuHc?Tn)ZR=M=j=UaU_qyiSC-x}jt=t6xXYL};H-E~X&88cOGdWTF3Q`NYp} z_ippK3iYD*p8lD?KdL9+L+3F73eYJWr|LG#ZPAA)d#44xK>orTOA@oPrWBf#w{!0r zNMqZatW;4d=Ak72w!5HW4L995A8^h6K|s)IUPsw+i45`4@5pj{Ld1lezoQ!(V~&F0 zKp#^M4`9$I(z?;>#(cMp)J=zXP$Pa`{28P&uG~O5UuQHzENV<~&rZ zs6A1QARV_OU@-$QD|XFa3bwkb)Ao-@g+E_zmoLz?Sr}%{`#i;*-_(ViE}A{~<8u7+ zYD=LLH2wFgkL(tw($VKU}=OZz#Me=thCI)Ga%`$N()+M(#AHj)OzV+s=;+ z4Hz8*(x;-PLr%G=aI`bW@^7VRnB=iI58T6ZUnWzlXXM?0jVEw zZWZSrc;39pvO6cskolHA;PYn+dv+Gb%8N1vCep(C`bjCnnnP%FdZZr@fBSLI zd2;YgRJ^VZY9^spMjo=n2rwPIFb^0Fd!b$CCmN!E{}q@^adAbQhN5DzF^hTLyG0Id zQ{(4?1KExogVfcIxNnyyzxlW~n>cU)ZXhv|dP^WsQxdk3;iq$Q?%z+%%BITu=5)Ud zjg9f|nd&C>_M3mx;8&h?v73#{+hI|7ZC!@Np@Tr12O~V2Ls4%R1 zdwTF4R_?W5T3n9iK5JeCj~YS{Yov7&KTPi{unj`$%*S|t|KJ9YhSG27eu)AN?P&35)*!l8-^z&Jgg%SL#AEn_n7p)AqV`*E}0)D>Z8_*dCI9- zGwq#G=N&pAU1Tsb`=+mEFD2=4vYy=NL*h9xm6o=#u7*bQki+SUR`i%2Y-&G4^G#Wb zNb8Ql&2W-gjA7hRYw3=mChfc8cEsDcelmzzTvyhC9&vB9#`3l&Mq*l5$>O-si?#;QuXFgmiWXrD zqSvV@)2BD@MfZe|NO=a@ArAtre6ba0j`QnWHEHAPA`$b}Sm6@k-2=dKKoR7rhSot; zRgA2eT%B`H>%)S#(cV{EhUL?{1Tdj0kpB_L+viF+*+c?CxidwQHtg+gH(7vx&ET7T zw_Wj+BE{M3sirJ-7HxbR4Gk$JtEwEdHHyv8;c$|{J=0=QHlmD;N-6i5Qe;Z}{32uf zd0i|tJ>C|cZB!MA^Mu}_qvrkb{w=3uWzs>jjOmpxxj=51iKgIs>XzBX2BU#GWqnHK z#r`Gwq4!?gh>M>d%MxG>TKXy0*$Gafpuhy$m82bf2k&2xy(y&fiu0aieVZ~smzb_` zW#+BC_z2ygOeNd#=FB}U_L3_s20(6w}{<-`%BDIn0%+GgDodkF)w)zjPtws{euQysPaX{5}5bCa8y zlbb7cGNAi>I0VA5Ub*^Cy~48dfl9_=bZS{1*x4SqV=lzq>i_)C?Q#J*oTc7iXdYfN<>%FX6~eZ$|_a0%EfgXs9+AqJ-h=IBCa~Z{-2OR*Q}guiu7R z_t1y{<`D(UAmHfvDsjZbjlMzNskR#KWBu;Qv*%X131|~Tjp=5K(Sd^R8EI(_`K4V) z*Vv)&f$krnbCp zEK+wdnSx2CeAP2hYm%CBAP^4vaZk+P(^_{H=rU+BoFT^+~C5~ z&=#%}3<)(1vY#reZ#Eq)HC_j5chJjBvvlpG<1>ND8m~pn{A}56Yyk}2&upvLcxbfi z($10KdH0_935)&Ca5bAT+@%@sdA^K)QIYiTTYZn0xFcgf zGAn-zc0jLFrxp|^Alr$a z$od+IE`7`GkH~Ih!dD&kIDT4|@dZ_k?VUid)Z}~(e`Ywwbz&rZ>bQYQp#@C%&pO|^ znBF@N#q%zC9H8c?9uo^?HQU^pHn(Cu)A`uOep>~-*kZo-!P?+E{(7Gp2o{%n$NYnN zGZS2}^jwvbvf>-s_8~y{-8n}XF7do@0GWQkv(G)?yHTDCn$q8qq}jN`?NV7vg1V2MHr6KH}|m2Wkfq< zKBQ5cN+#c}-h8?dSJ7Bp2`#>@L)A+{qMVtTV$6?MX7)6^q1s;Mr|*7XNtNF3L07Q) z<<-ehs+`9rp1kL-d7Sugnk5eK#}{~wy)w;U-5L?0l2#nAWoGJ3knb5sSY--N!4Ws%Sa-_d2i|xLH6WG)o`*FR=pzu z846IUpx_`tA;5mK74Kbp#~t|=yk7kRys2`N&`}!-7g>y)!}MwK++`Hc_ypW8Neec$ zkxAD51CSI;A#Iyz)#dMBG(FgQth?h`BW<$3kdBuD6V<9d=g>3|(&flu>Ax@f!m5)y z*Yc|b+!F{Cnn+nEgN~$L zN-kegax;Koqqb5VN$#8vQZkJfQeGhre6uXx6XYxqZ@R$*>U{1~&eq!E2^m*~F+<9O zj2XwwTgRHSlx-i&#QAVYIWG{$bMLg(K-KUyF0@~XF6E5|x@d5GiBb9q1e{vCn3=?4djtjUOG<4tMlKxIZs9!_#muI4QNkIYyZX=Xr9QFut5L%Z7j} z^DF+S_>Vi^Ul6X6cU`u}KZ~*Fql{Nk;R1_LySblmJrO-2vbjMNXNK3NWV3ucK>-|I zJQ}H&M407UR^GSLt}Exj*gDB-yYLO&)%f*G@h7&&1INkloAdEeuDKnwvY&k&Ft3YC zC5P?H-gNM2UpkHv8b^dZ40R^NA|$NAAR=eWSDqzL8myMNw7ANM_R;ADZra zrljpc^OcOB#IW2nIN~FhcDXte1snEDO1O$G-rxHbbmt>ChvKm*rPKPVO7DdPpJ~kv zJ&Hm+*AKkQ4d!VXd-EJ&@AgQ~Yn{kQT8s&u&#=^|Z&`^b1>ysn(iB9k(}G)5>s^*7 z*$dd%NE!MP!cE#Lcumzq>l9%f7r-;7I zgdyHV{A4|2Ly^oX4x1gQ{0rRNxuVGsTl&49W97oX#`cwxijaP_1FD&w<>Zc!@%qdS6fq*IJfFCO(Jb)XnvhOZEn@Z9Ly-j?hsadcp+qpo>ol@{;2!BxmA8 z@suG!0T1gMo&Eu|{hEI{Bfz2!5w26X`O%;WgH;QQhYX6wH^h;r;^qk$)Z>HtQ>D2? z%O%*r8N?GE{H+(CJ^1u_NNH``Q34YLzFqIEOu2#&VxyC2wD}MWAC>CdIgh)ikDTkvHac7&^hJ#AYfo`MsuE0wL}9AqX;xxf&rSiO|6Lg zdjE(6r^3Yf7ReD!C%F?`c4H_b{EIale6dO|1(YBSHi7Qu<3;+Pg!1$9jCNwC%zQOn z=^y>iHSbC-Zf$LO?$OfHPQI6nteZZaEHj-eQ@nTYu|9oS2?LHi&`yqXCCPmy|zU+;f&E&F$7^ z_Y9H@UZOi$C`wH4(?_k>x^E1wLrEz^U35ay<6^&2snOAAxvq3ocpaDl@L8Az(3R9- zqe*hvZd+b*$#y#^IG9UNu-_;#IhhQQYd=_9UB#<8qFcsPK(|J7&0yY7AP}H{=#jnr zt)fx-A+Fu$+d<^XpUv9F`+WLEdSN0hY2*NN((QdZUK~`{i60!XLBBO8W{yM1=rsUUHWEetn*r11$noP0T(dzvaH_+I zMEM`S*jZ8AuWlk{#9>H0ClHxQaBk7#f&N;GKdGY4Jvh~qg{(LBjp$x|@^Xc86aIe1 zxk^tF@hRJy`X00DZTn?OHrvt-@08gWw|rPcfMS6p^5UugmSL^M@K2>lAO9d&rI)6y zE@!LD&|7yE zpVf~(&7GA(Lx#eX2p})?Ax+djiC{L_oPteQ*(eAs_w>T|FlQBYe%e6k=&z^6IdC2g z#%{iVeD<@-X}sbUw-_lFG2RI$ea)sRRTP z8ZxU8C+9cx!zg^2Su2Nq$9QShZEr+ND-CBeMJ(#rci-avW6!zg+)L!Q1x3vz7&gRu zSpYER5i6(LG=hfLgn=k{Lc-^hJlghS^*CcHEb3b~q!g=2!|wG+2P*q=_9^T_YU?+z z`saY4b(Z%Yhbk3L%eTEPZ4C|XzKDx@oyzK*Mgtd=T2>$Nv|=?FEWE1yGw1oVCGs)O z8JN&_t#ROQOB)!MMWgV(-wMxIzg>}N$x{bs4zpD;L*kGplOgCY{$tg0J65}E5G1l5 zziYEtz8oyUz@vcN#e4ZD3qI{Px1~l>RCaKRsug0uZjMjY?spis%r)WE;Bq$|`HS+0 zxDg7ak9q|rijBvfiyk}DJs$|0%;vgHDgAO(JLCczbYGIRD=F1Q!}LRpSo!`JF8K18 z1Gxi*OISZ;mb&Fn%w*{0QY5@j+QM>M#mJ2%Np4#0sGeDq?Hln#KC!Xx-LJorLA+0` zpl=Dy1fZ^jW}j2gY2WWIx#jZeQIzAg2wns;AG88BQ)!W**)Sfq#P^L%g-7ds>hv5O zP7&f=#tA8H%N^m8?3Za<-NvV>v7jx1@)o}fw-d?{q!0tydQiq8Za&Zpn_m&97{rSP z1YxO0H4gWyU^b;9_t9!pH&5iY-Jd{Ap&aH%E6z^vT17{Rl34c3Kk^# z@dR2#lVRL6=wC+YA1_1^lb)fitnB61)~%PUc{2TNU7pnyV;Mqv`^RR8 zSNln6B{CwiZuC@cIxc?0$`aH?wxMRqyye0E80njWj1*hZ=!$V&XH`_SE9bOgd-IVw zKLb9(Wc7e0&O-r9qZ=W*mB(o%(fO<394%s0H*8@%W~ZNN6@JU$W3rTEiUmN;_MF}KA?_s~HZX!j5y`A@Gb&f(k>7%{`>(m#a8^&zsdD$L z5oE-RT=mNPiUQ=%(?O2uH3#!OJpIiHtg)R_NYki*6SmdOM-?C7AG0f;lF)HIkQ?1g zcTq!}M#hmgJx8;ZMk9o8lz;bkRVpT}bB@vWV3cI$-wkYsRPD!_Cx1VUb+&n4|5@Zm zwh=`rp(FyYFYo-y-q>{fK?>g0mWk0pHMZRVy)8dHrjCnnS(sQ?dxz}2e+TA_)Aqcy z+i|BaNd#roj+M`=pqzt&ZWAy{>?{^Mw^!awB&wY~l)-l_BsE3KvRgfheZZqQS*9v0 zdRIuYNkE_^06R6Ir*DR^AsBRzX|v71^(RuE^QRIBH|=62GbZK@LZM>XSMwe{ULv`{@9M;7~91qg&c|DVH;} zmv3Ynaa_4GC2{?tOEh$BrbvEO9eQ>vVoQ5$UN}hToVd}a{M2}-7*Um2(TtSi0NeTk z{ysOjG)fTJA9%WlG%L)|Z1R}Rnv`ZNiiH%-!;0zUwEaE=*ZCD@WLYMLXw294a_&oT zdB`&xg`6HdX^*$`+4XR5dR#}v*=Q*Um`xH0o79;*8qWC@XC0VPc@Jrb?!`v8{^4W$ z&}F^D$EMza>>x@%EjDyGYhwwVdWiTZ&UfJYK#O8Q14cuMn)hg_VSHsP9h`EFuYU5m zylm6r)pRcg2T2?CK5mU~!ly6yIdXFCuU~u1`&y-pQVN|=MezDJ5DqZB23%6YT&)JU zMf+imJfFR#BjS(bk24{O{6S=*h?(fV5~#y+3?Q7`5-33Q4n;$}FbQ%y&f5B%-RG~F zR;?Tq7C&7q@2YCH`SraToD$4qyIiiD_9n=irx#!7vh=^8Zm~T1RKS66sDuEHNbXQ> zmqXVA*N+N!nA%twOV@W=^KzxEbZQ$tMIOHU`Rde@R6z~RoUFD~V@t97t4@D%&68w& zijlMB^xg0?uv+NKM#XsIs&yh-RaMn!qxnMs7>gR?C=EZ%BCV%QOgZ@e?dukmu{?IL z*Q)#0T#hfg#rPB%%L@e$;~dbpKal|%_2W1>)uo(0vJR(IL-kgFuS(GLb9Co3hyoSz z%^1w<6|8)jV@K3`%robGj>ur!qza^oQwz?4=d-zkMDz0SD3_Zxzucnmo3$z-h>LO| z|ETrr(Xii81{mQBZXXayc$)d1(1a42PwOHPIGQi|y1P?gZ*#uNXi$E11z)X1 zHW2|r_KQtLv+MX6DQd0Hutcj}@Pw+dh4whFiAwxU3ilsCW$Psq9nnp|n0WOxX;J%2 zw+{~#V4i?`Rd-IUt2toL0g;FJs;Z>NgHbL}8OLnk9Ieae=U!XKOyYg0M;hL) z74=HDM&O&)97+TthIe)I2VLx8q(P#(<2@$V;tTY))p#PS){!n#^=Nm22#eM{32dU9 z?p(*Pf+vy4WpstlkfAMri1vrS44nadhj9lfF>YVnE9jN-023lN#c+M3RPjbw6;_%E0ZclIALt(@LczBV{wba z%!4?AmX}}fc|Y<@w>91LwvQQUb>|ilj-Lfzr$&cB@B_QttIY#S0)R7CsFF?LGKctU z3V^}!5b&*T0-b*YL0PsZOZ(Pe-I@&o>{!e{3Ii)@zavf7y=j(25=j{(d-NI+K}Qu8 z6tq&@*UtUtwr*6mIA1bs-yX1E`<1(S1xRA`-c$Y?>65m%EUyD(YMzo^0;lG>H_UCS+Bb?_c=6@jt2pcCcx( zWBD?iS7tAGZ#vqA>aWiI`iCK5|LM_z^hzS+e<|VrZxYRa6WNfkYktYUcmO5WU$y=9 zm019O%fIRC9f_Q(7p#E0{nw{P(r*UYf?v#CtG@oegpbUd0bgybGatBr!5&}4ZPb;~ z_l#RC^yuU2##w+E@xMRklt8UfBZ{Z_e1P60Dj=F!ylWrt|1Z(AP=BQS6oETEX9JNf z+uVG%+6_KSjbc|Ii8P)k8vQY)BE%3`cg?i_PZxNGwybM=uC8wPLN5b_LRp^lH9iA& z8A!Uk7jfFR?FsTQ1)M_aY^{BF9tn_X=8cS$IIna?S^&Ll57)kn$OFoeXR%KTc+o=& zC!YgPpM`-)a3}~n2(Mo$==u zrSz}PPKKEetQ8T%+TK4edGEc8?7JU4egz*{(5=+J+P9h(}kE?ruAwA>jU(=hD3 zq|1+qm#Gb5WMj*bV$r@HyZ=hruD_NygW3nA2h~(nIXWN6%FYzhs(t_dJ*tSA3|PlG zkv$pmUS(=V!nv8_#fH)G%e1sV_H5y6v(Km{%W$~^;)NaOg2nHcz8zWPR*_;I7S0v` zgdDT2239=!ooLG1S|yYpl6!0I^zmhD_1>&f=St!(f!aE1quBGx+;>-fCpuYTMz7fO zpRZ)ZGRYncT~{@OrzhtKIn(@stEuG=NPUNGtX6@q)30tGuNFe!S-dtBxb_tAh2Ed{ zBOxM^r0uVE;A|`K@l*0#T%Y@?7*U9D}cUpnaBwC$7Q&Gu|3)|Wtjs6yCgZTTqe=ipOc%ogVS;Jl@ed%~tR(DC~IL9R}7Z`r_Q zE$Pc{1Dk&+u*d(r0PHI(uKg%E9Q$kt%!#kuME}*9yi_!VluhBty*=b0WIJoERrlklnhR$g{ADWlqO{~`Ecbz6 z*n)i^v$ojF`~B8w!=rx&2j!syK->}4=qgj*8vyDO4a zaWFbYRm@2ujkguOOdng zXvmG*RWZ zJ8ervu$NOt5cGL@H3&gc4T5#zyPnDm2$0j!(J8QybvBcF2Z>hy_-dZvpXo!GaEejo zbRRs7hAYMSPCr=BcKrppdb{EDe#vcIC6mK>k#tg73qC%KVjh1fbi-NoBy4fI2Ji{`tsDkqI^KVep@j0pO!fYydmr z$j0?#e!^j^Clj%loucy5OOe-CA?MM=#KcC4Qzd2&iPTtY#76Y-#r(WUk`z)i(XDHN zNVCR+RN3sH=WJelY2MEwnNaWszm!E$J~##r*%bLEJr`iOjOreO-RSU>2+;9_jVA^3 z`2L(JKhw9{I#4+0-M!LdcGNmOCqo}nw|2oEQ69IX6@PCz$^bi7H-{|3d~gdRhR3h3 z;h)hdLkLC6fs^TM;B)|xnnon=ajAq$ET2q=2NSbRU2b(d>&@^w)c~T}H|XVXeY40P z%Cs({=TD(mbfSQ%fnmx}B#H@cPJN?JXp7xEowc^HOp_d>dXAEvU+(^II|Ft!z(*r? z^1M3KkOxkg%s3>fDQFcjNdFm)69rn>zb!JZEqnJ5 zg_v8mIUnYqCt9cResuq^x4_Y9N-MmK7ZEc-;dwKHiD)YY!E~utv6T=1-#3FmF|OrJ zc15>n@d?5sgGgq*LQLgx*16o?@(B=_7)e=Pem1`0-rFSgr5gP1)Wev{r&jD#O4l&t zwW*B+B;pHk%qd1IAS z25FOki18V%wgklTtLWc);NM6BMLi!N?J$n_B`z)t;10X&%}S=yeTaw%m>bG_IBZyL zu^+S|>V{fyIsR4nJW4?WJ zvVzk(wdQ7WL6CdYAZIvjqEq`XKQjpnzgm zSP}tS1qq9?Q{a-{x|0~pr zct-t)i}bs<+j_rfW98h=Bqpfq?cb}iUq@5-Xq=idyziz74JB2wc71+J0?3pC)+2dS z_gi3pZEyfJDw(k>kZsda#{7 ze{cfNZ^P5>W-JR}rl1Qj(jQgc?Y14ivYSjiP3L+puQZ04kbYM}FAew)(bxs9TS1g> zq#6I9+c%oYm`LAg`I1Zn8{-_#7b!Nz?%53>b>dE;kPNrh50;&Wzn{G1H~J=O5u~D` z02mQ>o}?isMQ%zUEG!0Q{7^eHF(ZP%X2Z7lTwPT~Syq}B%bAvyS0M!?b2r>G7Zc)B zIC-zbxt)9w66|~wE%>!RiE)3qC}g>3-{r`&46%)?oy(5N&Vr9$#ljD^J%lD zj%++%Bn!enH#^7|n$ti;vk=M3%DNn{J|#_W96s&+ot2V|_jj+*f>2$3P?X`LDWje< zf8+nt*;-|5G%%+;79=E0s6EhDI?mb2@13^u7zlf|q8&A8rJ*)KMZ$RZZqnWfA#0wK7?+s}!WqnU$ zl*?0$GvTIxcr67(Z}kPng0DVc{;UaTzn<)fu@MWJ_se@@-L_l*Q-4l+^qd`oQy3>g zg#vzn0Gm;Do&nm6&+EtHzfRO573l~;er$w`6H~F-7LlyK zlztw3Z*Qb8q4KE%JpKtF!u`prFu&!$S!GSCz&7?x(@6Q>L40aUGfeQb==s@226Gxp zpXCrXh37O}a6u8n8}A2moF`#RSWn?CUpD;fKyxCZKV9B%Ou)Iah66ncJye61K0KKd z5|3j>RDDYhDyDdS!t_BkxKH=tFCE)Qg``!B=*RmI4T`*mR-ku0mCKo+A0d4x?6s>tzxuGuqrLZ}B&{X^9d*_QoQeU-OUoU}%jpX59+c2wT}5x~ z@sY@n(beDHaAZ`2s##lGKRhsNUNW)cX9N4EO(v z?eJJrE)vchO~ubkTt6w7b?|IfDp!sH5-cH1fEP$iAo|cP%INv4+q}?P3YnB9U_b4v zv1m5naRIE>OLm8|2m~(A_Q(&K&%e$7km`<30a^#tBp9)^ETVmaUK@!1n6&wfvSk1C zP;K^1pZi8>E&NtL4j4@Ia`{52w1HWjOWOm(AtSG=ItlT4d5(kG9&-~~@n|8oA9_4^ zK=#v8P!L0pVd^UoAqzdGVaV4E$=Kq3)fJ?+?BdRhOAbSe2?(}$zbdQJ1{=#`7{u0B zw5po$$xv9exA|bJ((gm-6WW?rntf!jnL{<3|K|GgH@ap-67jQzs0yBz zlviSN8qHUyNxj!)m0F@Rag{Y_2A*c}-0tTAoAn(_!b+DP5LFY>*h7w{I={OV(~2g; z9C%vR6vJo8@+MkUPc#Q`@{%qVgH2Ianp1i>6gTT~W+u$)@NONSEduFLvyGObPNr3~ z_~F0M;3CN#yw=2%pQekr0`83Qsn}k2-A*H5#NEur#nm>ryZm6XI30T@zkH1dZz@rx zZ)NHkM5OM++B)MiGhU9+N5XWa@$lPE2D}p1?p|9rivmg>6$b~wR8hL9F8SxV8M#Of z;>hdtv3d+5<7H;CslUTyE}qoJVzw$Acokk;j}Iwz&{6yt`UZ}v5FKSiNlN4n|( z%nc2A(l)N63+|VS6rwrd=dp7m@zRSa1=HB2v46sior3%}nxB?DXA4xNFL}LKEr7P; zegi*Re>NXo-hyp-Wadpvm<3i*gWIA`vkQ4#SK~IWEKfx)c4Z4_UYJ#Has$V!$Y$Sy z%T_5|Z6(0{=TxH?c#IlcAl^=}br}XqIS7kndAKJBB+;OBDS9(@@N5}q&Ecl8)>C@n z!Q7g8nx2}-=->?%{NB>+@$4n!xR*5?hrM)ufFM*VxJeC?D7eJ!rIR;ltf9L(6NPLV zd23DFKd{|Wf8n{sf90O`Wc+@-N7|#uxz9(y6H4J8X*qFvIjOp2g=w=Nk44;iawDgO z=RA8P<0CGHP6quGye7@Wf4+WgdiL!C3O(B}wI5h(oJ49pUhO!lX z&vk&3wki8Dr9bM^7f5?8JvK-9@qrpD1R;-us)Q3sInSuFwaV%l)4shJT@#pC$zTRg z#=cu^6@XUe?+c7gY zj6116N_Qkf509i!YtG$xgw+|t`)4oKX{CE_p>}BGU2M^b@02NHU4uEFoT@4RqK@v! zA>+j1-nq=L!w%{eFMlddpk$t<8o4ue?A(&gE-yV&iHO!se!%=KloPeA^%&Nkof&Xy zG5Qmi$?Ag{IpahiG*`F39(SLV-Gp9WYG8%Ny*Pugi-KLE^`~phayX~I^OYCwoozq| zNe2PP)$tA&(p{b;+7Obyj+W}6hVftO;FHiU@AK*hJHth8i@e}vF(}Xuq+*x5HTmF* z7_&DtxB1m@dpM_O=WWcHckQ8^hwqk1(X#Op&Ee$b3BilN6Mnx|YVg(K#XUclH7!+E z_w6(m)N*)6!6Q%4nz$j77Zjk8xZ>ICU7Q^8nb1Z2DsQdqzW;fwNYpLlAtl}uM^uhD z=8ac*2ldrq{wGcb7a9ht5w>>v_i3yMLK)@c1vW1Z1AW$+&3Q6T^; z_1v~#lEfq#SIbPNbU9K49^TOM&85eTrmN3Tft*;6W9|R~ZNeqI!P1aD7+`sfAL5J` z!1;T++bsNgGI_x_uCG+)BVyX1r|Et#E&uw);suNocF^1aURTD;*2E0F1P|{{b=%V< zyj!#~A(zcm*PT#YIQ3fp_B+8lr1|@=TTl1vR;a8<#~C4hv@JCFcrS?m{l2V>-xMG& zT-Bmp!Nb#@SGw-W@-SApT{{V4H%#&jGzf70gHIR zx$~&M4`6CsH#G#>@!bL);Nd-H>AnnbM_qc(JV-g3OdYQ^bgtIO@MJx5hP~%We{auO z?ckfSblMO4hSqhxgkaBG2<#`za@|v;^NpQb7Ea&^{+IZ8i*0Sj2RL>CKlj7^>B?-e z7C>*=3RIGhWbyI%zQ`EiZ|qYUEdSh@m>Moq1j`kE+@>baXxlm#G1(~u>(@e*%OT5C z&S1P&W2dGgRfeWLJvj1k;IN54{*Wv#@6t#USm7w$v4fXHX^k>p6>}*Dl5rMUhwo7v z9eNEO%=vmc81RCuw1VGR)1)qp-wD?mNI(F%$Vje-Q!razgekbKKFP9)j!9EuIV`RO;C}dx-Xl3|%}q43 zyS&KV`PjT_!foSEGafDCxCtz%e9S^-qWD zZ-;omx_$|4nk&)7A8zG>Cu%Y}Jb`C~-l&{Gz@Xspn+B<&MI+*C()rxc6}!br^}bK+ z=BF+GChib|B{sSyaV^E%;RpFaGKO$jKi;5=5KU&q&JW}lO_wvrtqt*Wg|CXmd*;vT zPEDr3ZcF;x@KmdmTx9$hCp1>^hc z9#@~MJw|E--rA){k98fKW6$SAF2M_!W30d+mTqQdhOGQ$6+IO-huotb*z_Y2tnbI- zW${t6a5J>-`^)+pgMldosIT`c1x5&nDMW9e0tra?q@@#iG?HRWh_3$l^9R5%XLU*E z;GfSs;_%a8va=7;e?Z>P$4+GeG%2ymAjj#7w(2QXe-!3a++-`^aN!IcZVN=Kdc_7p zM(8u$s>VAZyt+iv;Roi2QqQ|S-}+|5)D8${3hBi{v6#zZgYt+u=BJOtsT=0q;y=~f zYY#=7L;Xhu^~uEJH24Cp*Yi|{3$UIQlLT6PQ1h4-GsBL2)BrEraaAJLV*&fp+Qw$Y z_n>*BzSiIpOhbt039tE3mhsjxR+8LMQ=WYNeGC(yFlt8zkj;#D;65+ zQs(E5TK81@B3yr}VA#YgyY(gbhyN=dcFgFBLbDIjuG$3BHMV|7c&t*nPOtfNi*-Bd zqkZGzG&;%0;Si5)YUS@TKksI5MbcyIGTbM6<0J3zFFVgg`K3Hqdv91&-jH!A%SnO0 z7vZy~)xB5Shrq#GwG`v)4#cO}3z-`5hL>rc_w|sL;d~B^(S7eW3PFhZy^!U@y+`Nt zT%!@ZJ>N76!{5u}oTr>2s_c!(??+mSg?Y(9foa$VS^lF5xAV+Qrq za!D)cI6j{=G*dSzj+5P+9d&n(KIUh zNsQA0uCW|e7c=(^R)vEd?c?gY@TVG0T}T~XmUHYav_K-ymi19z>8aj}fSyNr8uGlfs8Zi+rJjq+mz-C_)Pq*^%M7$-|IaB-=**>AG2&R?t7 za-sOUR4`86`@4kfPfe5a#9(m}LMNo?eoY1eZFtLU%T$)Y&|a32B1OYiq9~95#Yww} z(~Q4U^YM;T81%=%!ddFVpN;o3Bu*El^9_i-y;?Wlty;HFkcypJ_Ev7>`vjWb&?xs> zM=!7++|R9wn(DjR<=DGRB^f%>(b5|nZ+*uc!8zo>LrCfXfr_m8&BWD}YG(x%1)Xq) zJ6*)t^xV~VYOHntEk)v3Y@?A=CU|t0tNV(#cB_>2Wqt15&2U5!%NCD;llx96#4F{z zcJ31VC3RzAkz}N1PN3f@IbqGIEHPeQC!U^3+ntmsK`EVex(Wu(aW4n+SY+U2C(98XUkiZMolc<~b zkN>Dw6@1atDLUL+O<9ayXz6#`%m9t`+`+WX+3sa?CLh`c77nF7w8iz=f2;K~eo3?X zzILR8@A6b6$m#N3ExaWXvoeaU^~VnPCDQSZDw`Q6{*T zqWS%sj|G;;p8Xx((m(ybXo1ro^x1@kwp@qe zl2>g98ITs5Xwy^jqr;x0r;v~EC1r)}kBKaH{mud?ECu5)5a+|XTZ(uexE8d9o2>5W z6vm%Utd?(TANGN%6@TN;Z{4f|srLY}%F}k~XxTvrqh_A%71kOVwdy8+w)XDN%qqF+ z@i$q8$DHtBZtW!a^@m-<;i?5AG<1QS@{aSr>&|Jf4m&bt{f!x1s9^t}z@DgM$(3K1 zrvrIN)`Ig_Req-+^NMn|(#K-jue8xjfw_u17S=BY#@o^;W*7KymaYjQ!bv*LetjS= zKH>IlJ!aoS`W6*pq2V16RJSL`3%mlozQhuARVjpJtOQeow8xIlFdSkz#vhFLIW0Wi zEfc)G`;Xh<-(U&BDIS2pOl9Fy!TJF*v;K~a7YPc31Te5i`jso}FFtih8@9&1?%Swx z8|;2G%lD=li?ZD9c110U^1TP+-9cptqiRJYs%)P>kJ7>SBG~U6XiFaH0Ctq<1pdd# z&k{lu*Ih2px}Z5X2cy@JUug#8551qREyba-$`IVdH_aZbQ&|CpjLW|Lt3mG z=zo!4VFCaA;BTbQOPmc14BGuY!1#A$b69VRJI&Y8DTv@-9WHn9$H?pBZ}`u#B@O61 zQ%#y&tn;5U=Nszdn<&?|s#Nwu{|O;)g0r;`K-(9BVDR;uDU8Cvo3(hOg#?yHH>S%E zNm^R`#r@wCh1lX$`*~(J3NhMMZ*@+ohZ>1>Nm$7AELv~{;Nw%1T!3^1EVkTpleV)&#@BLiQ^?a}2 zU%&Im%*UB?&UH5L^Lm}vIqy$`5rI`$6k2A}ek_I>Om7W5mQGmsvG86~c`pdWZc_p9 z@Lu+I)F$o@G4dFkZ+ql8ANf4&tW9%lY9a~i?&bFvn84oewSD9Dy|Vtb527$O1vu|C zmvAPa<^>fBIOALf@2s2ip@&VwVIYux*p@o(!Uz>HUbFPW`^<&9N4RjJb-5dR$HB%q zGeZm%W(`rhj6&4)5dELJ{AtROb%7)#1{nbZ25k!{B*|kV?sJ0T_0Gth*q}T)VT~Jh zRor)u7C@~i9&&*BbPMRh*@rK-@X1U43ytu!DlM>ocDEcrt)A`Qjt63&iS6k~ zF}jF5{dF1ePysR@xc~x~g?S!+*UAs-X1W9K%foj7DgA{6RY8ZaRR@KHfWLr%2XB@D zJo#@27}aKw4FzoyB~VBd{^-@XzpitCg&!!p)z%VA_x$>18p%%-;(rk&yrYw_@p;|n z#eGDJSO=00K`kQZG&~k7t4gm$T*c}#N9y0O_joLnKG_0YV@J79Yy*Z5$lD(V0`Jl5 zaPLn!UE~Cb z?gK{eJoPHiMNr3GT*wiOjglWZP**&a488hIWN-XgndX9K%hYB?be`yzDeSGU>iJ~6XV^o--2PpdD&UZ{j`Yz2UD&)_FgV2+FQ%1mFLvtrtya4aQ#}uor#x)iJkDM zG?k_Pm9)i(F{Py{l{D9pp~N*p^j>e19{lPkZb?A^=m14TD`Wm2o8llE*2V!YjNyEl zaoM)5zoF6h`#Uu%buou^yc1yLlFmRUyp5@14q4#(F2q!f=eP3f!xhNN&##a}NS3oqeTR%F zcnM+Iw$PU*nXL9;AMNK@e53c$%+0s)mmqatch2A(3-p`Gt95z_H&lDV^?>=QYVG9L zn^?A10NdR{1xvV*fWy#>8n1VJNaU7b7teiun^cI*e(yM`^OEk43VOe)J8~>6Gu7{E zt#Rv(Y=l-~b@+kv<$p_``!TE(KW#IhBz(6(5A?^X3a}F=R=`)EEH&&o$c^0j)3|BC z-M}TN<>i%SglYG{4P(hiO|SQjGLk=3HlTP+Tq7X!s4C!$KD_9 zvkla%6@vr`Y0yQ2b|o&|z4W^w++=}tp!@8domUQwsLlkV(PxdVZucGCD?->9g$ms0 za9_BRjkeF^Am8r}l>&Dh3~kt>#Hq>Kr8@n$}-Qfr~0p8&2L1HJFq4?HH!z8JYvu#Wy~gV{kwqdUp?Z`n)Kg-AgU0Aa^W zh#yqnMR=tTyfsRs2_lR?ZjxHappix=MB0#aml)I)4(tKy@dK-0x7Ua^r}8xKU7pSs z|A4#4x92Tv3s#8nhXew#_^M&fBvt&zX>r|iaYjJD!!fc*$P+>@eh;_lVg!Dl+PL}f zdNu-LFO_M_G$}Tec|qyL;_nV|Vh1!2*zXa8w9l5?AXQ7&Epx3Z5HCGr-P%FOE{g@= zeI;9hnQImm4rfAykNT5(Cqr4XQ2#@*{g{fJA#sgrgPVc=c#RqY-Om z_|wvnTPR>(T+UqE>0>zNxO@IZS!_}Fwk@~pW5cFVm^OeYr>bGsLidU;(bO1ciT&VW zjM|Y&=+?~n@&imGxt=yc)79#yZp=yibQ|&H0(heK$}3nZN)TIOoflYJEW|S{sDs(+Irmz{aBf}U z<{4G6U20qMyFRsdj_?52=e-6<9S0LHEzg-7B2%)qvd-f%$TN`uDI`edY@^U7k}SFr zEw1eAX2tjOf#WCMH#sGz$h`Y2h9fl=UUzg|X2)I4Ao2QaPdmq@M-+L&Xvu)2z4vZ4 zS9918I=Mh0#_I&cM_x+qMjR#W;fDAms&sm*o5#%)|NMB-XXV8Hb+dh!DaoE{I8!af zduz<{wN{F92NP7tH4i_<$vrJ8e}^oaTSp_ACm%{h{Q_`PvHeZUqA_Ic11 z;rXxKFd4j-2gnkUnk4?mC=#=dsRXW)eeUl+H|2tAf-0I<+q!C^#D{pg@ykT$Sp=PN zOT(LZyLZCCZ9{JOY~6qr%<0rs$1Q-Z?SvSNfTn(YIcGqr-V#OTGpGE~ zpz1e;ua=`U=V1%D_t`1#+qp+MU-HJ%mfrOz4bAs8)C3G4SL>6rXM_@xSURFXo_C+a z)TNPV#|d<*n3f(1rer*q7;IJ>g|(5xDPsDchQY3XQ2i`TNFyXJ%=zYAd&xLzkK!^G zEb9;s66*E9wKHL##lee{{Z3C9&#tY39~GdbNAh<_n8j(l(K5*ssi~anh7?|jC@yD} z;WC*f60Q{-HyQ2kJZtPi-Mtq0VMWDW`rPFXcVs*0D5o(pQDb*U%X*R)%e#0g_wo04 z4rGLRnIl2PrfKE=Xjk%l*h<+Jz3z_gxY)7M2VcDk_urC`;i+*5=$-(bVv>`q! z@}xy2rKlJEZh4>;gT{E;lZE%afcGU}xR;$+cNoS7cCU=mhsz&*uVDwgSlI^?MoDmW zeECdLYYCVff>GpcJEe;$eM){8oz}`BIOxREUZ@aw8dj%a7vYX*5PfEc)bf~1Ys&B- z?K@ch#EfGev4W6Z7|O~mv9bfUWNOm`{4eV&F>ecE=`%8JXKtU_sd3}=0X0v2n&d0z z4dF<|N--O_b1Ff%`pS*I;fDis*4X5Kgt6Mp*g zfPk5J5VJZ!0x8-c%4SMFZJwL3r`jP347vZXzB^&oIP=6hOJE1^ysJ4n^&C{%I{03_ zAZO8Xp~Jn9e7=b2x7UgRj-VV*lF80bOKVs;@AVn_pwOVt%{vgwbVCk&rj6uWmQmx( zPT6a|ZaS_m!T3?BpX_1sV7$@k(sz~eaH^+m?X!LGudi*VgTym18kWon6T|y=dOlsM z`LJcV__oMs``CoU(=lA#v)mq`9pkK*pW3k z#k-nEtj3l538YXN_la9S0h`T*(AajhlZi<11y6kNdK%4*d2`v9Bk$S@g@mIQ2WtkY zMl^D9Yqm(~WEjd~wO4a7d$1h-jZi!o@JK)lYp4iQz1?M>V?48=`pfzP@D}KwC@}g< z@Aav-;4P5&T?b6c@NT4dGsm=0 zOQS{leUrZoL(SHHWN(jN7s3QtLW5Z2!QOwjn@5<+Is6T9wwn*K=1*G6xwkxmCQPIo zKKUG391Ii296IY}*;nPGUZdshY*zkpbxi|RwtHjth?OS+%0xEV<02LN3BBWISs#2V zq=6n{3M7el5akz*J5aukn%u`&N8^g2BjkB=8W8!}SZ{9QUf+Sj&yu;!5Yv>~tm>jd zhV#v4VwQue&6W%t03haQ8%M3 zIXuZ~ar#JT_OgHKSc8{*@D<3-sp%l;0r^XZxvo@-eB>Hq9&w_HN(~dJd2SJ$xL0;E zyeZ?&>^XYykHyBGku|e2ZJ0grwJ9ZoP3y9G6_| z?is#BwKNwyCN!6Z%?{JBxf8%_4H)Xqc^?>5_#$%TwJ!eYHDGv_VufP0`fZv=?6`;VXS2~m(Fe}I z#L0Vj4Ne?_eMd}{ns(S*6ey@^VjD#KRR}w|Gh~;Xh$+ieUgcV6h-H0whU@`he*}h) zB0dJqB*aL6p*;2FPN<&h7SQeectVV?A_Ow-IPRb(vJAK7Oto(t{`lf5eal}+6dNaz zhbvF@9vGX%HrqR2g9Lpf|P7>?!!_`v@9;#tTW`D<_O61`YMIpjr1{OcyM z)18+@tScPro1XLU4$MrT7;}=E%QeF>iAhfadIIA#yS(<~fze_;WStiAb>NyaU7>u3 z!_#4Ll!{HqtlX#Z%Y~`R2zazOu;N3J0Cv^hy*8M96%bPaA~7(Ii7c+r?l9UQ%#EBC zz6Hjp6UVrF; zMCibJ#t3DDy=yeMy$u1KhK zB4#PQ9+F~p9Tn3^YNN;Y*ob(5#lqr1U%I42wOSG+lIueYvGLJSa13V%A6ALo-;RK= z0dN-vrO<-4EfZhFQqyvYE@mpm1Se*VVAmte7DH zYE!Z&g$h19e=sD#9}}(GdN%QIh%1!eP(FzU)d563(F5hO;@-z8m6Bp~mQYA_5dJT1 zO1s)F>L1-IO7tYlMgk4zM}iO`AaG7jEE_oY`43;8148;X0YH`H2l10j8zR3S<4g~Q zY}tIo%l(i1{=XzMx{t8|vL03@Pc*mTb!`fl0AwH++}ImX>wr147XV9qcG^TRBkE~C zM@#KjUm%V<^?v&@ko$avI{z$!KkbQ3Mkkpz*ZYET>`vr$7U53JeeSMOZLgQ9)6)ed zsq=}CXF35rm|*741MZ%loiFGMjzKi|zER!@WA`v~t=sr?vQdnF$w6hYD4^RCFn|)o z_jfdm3m?w{4h_7FmlAu(iYW)<8hmCBi2>Cqs6dzOtiHm%upD?^IWgmFeyH+59mI}N zmD+zIxnKQewmB*Di?A{uewh`8xv-wwl{}NowZYt$!zwE>!NDiy!TkS);Zb)3GOC**oWhMiYt!kC zwDbLx-1-aW)x-Yo4-0=@jBfe4>cx7yhtZct3jU=k(_N#MAE3kb=g^2ha|p&d8=|YW zpL8iC4wT#nSo;FMzwvIa-#Ip?RPqN%qjJuipUz3>324INlGi@wjEf`chtr+Z(IdN2 zfX>S2K+`rRu#Jf;SjXUCMYX;%2l|CC18)Z=1o$HY$Mna~x(M6)xm|Z{&{zu}(i$l= z_wQh87>X?;NSEqQumE$2BAW$Msq3-1y(4T+3+I>WJMc$fCzu&k*14a|aUu<|RA{Xf zDrbN+6n(tlCl9s*Y5mC)d`C;k`j8ddUT9^*ir_=>WW_q(u(irz4fW6{fjp|_{uO-S z(HU`3{C`M`r9`Pi`@2_gGn--D%XIa`(7LEZ!<2KmkeFP7%~6L(!PwTP>f*4 zG<>dg9s8<>g|-)lX4v6RtKWaFc-tCM_+iLB{1lqq%yDuW7KV{gI_%y+e-0CHFI|)?F5205u}z9I*@-PkGP8zi z_sSGG#(PH|?sJcjL`I^Rv(~zmYv|P+>$c=6g2b6wu4-&S47w!7DZwR{vs)1_%S_Re z@QCFklJLW<0e_v3bQae}f^x2i#e>=krM^P!z9x{sitXi`a%S5zu$={?$f6KM^nIOX z9B*F4|1h#Q{!Enj3dGvfM$sznCru=&Vf;g^h5@YjzV70bW>!=x^5N5zg7xU%`LPTp5M{J?O{5zPPTIf zSecKBobIl1VFdGeCl3~Y*0c~X4$oPMEf8FZgk_4<+aa4IJkE2jmWtF*Amy$J0Zgb> zHc$xn00SsKQzG69%-N!lCIUZw;xs}?dtah}J^3mkA3)?*P2TKT3zY9SDK*OR*`uZS z_Ve>s7|WxWxnwy0F54G}pt~=Qyvj^gdE50dy*87~%a^y_jeft&o5f|yzvD@9)Qr|S z1(~pqf%QvJB9Au`4K+zC5r@eu+){Dt&=(2L$`9SF?&2b>Fk%45xi@%7pQB24p5Ciz4$N2peX_h3TkZ}Ftkb({#tSCgq!cd^9FeLvOS~mZC zZdQFWM;XX;i)Sb!^dW!RS18DYqwPb$q6lx^(=w5so1dokAWH!rL)@b2 z{A^k77JJ=JC~oGb&45(*E^X6g9!C`Z_Lwd+<2!E^g4=;o!Gz=u^I%V>RloW?BUo1$ zoavSovm&Tw${KekieE2#iJa5s3Y~Cfw*;?CdOT!AahaScxQ){#wzf2x3MC?~L63acxSk&3-KQ)qGt{5{4dl&dF@ZkFk0F7H2x zYf^p~K!ep<3d6Z$0C?OF`R9_n!!Nk2P^sz2yGs@nDpi~Pxu%B3YThhMQhy!j1@zoDwLP5XRrdN9% zzhDJdVBIjn-zp_+=RdE9ie?lgrE8V^Iwxt2x=F{Bn+%4 zoKbaGy6i_*kn)+EY~BOmFF@l+1LowCLn2*p8}153lOy8n1iJ{^&)hMNfIk8D^7y+s z8@-TyZMn*KCva`ynxm0A_tDXNN1pW^)IOU1;)U>U0moBFrAR#)#`dO%Rjz)~a0^7C z%e#gpU$&?g`8?$p0+a-0zu%$`dB`|=igW0Tu(Ry$_UE9@CPl${yYBvU)ZPC(9sT+9 zX$*#os8m2sBggu0ZCw-H_vWG$^V$0Y!CKD~r zWITSSCyhUsa%lT+`2!GLw3VB(l9%|90aX=OzUQK#sc%vUfWi4Cf{b1!JDArTDrnSR zbU2)MKoLjpa=pWBM#_8w;K8LV8B7~VIk;ahweI#SDAI?Qm6r6Flmz$a0AMW;(&cXp zv3q`1Zzch4$(iTzRjTmeW74a$1Q$o}(=s zF8QOj`h~%fAEW>D#>y^bKryqc@{qDXD|Q%6;}uFQ15=RRDq@jVS$5v$W$9->N!%>C zkWvbdqs1vSj{+pYQV1uHxz5^zu%P-dXV5~qIPS`=;U*RR5}>d*<%h04-CVK0tY7&s zd%i;0hQOhaNbMWHddXef-=nbNB-JJ?Y3Yzr7$UEy{r|2Rd;e3kVK%7Tl>K1bJ_4}j z_>YA$4SAW>07T6#H*ZE#1Ctf;jtm-Y5cp!nPx3ZsU-LN<27lfmV z&dn}Wt<6BdCDw)*&skvcd0dt*!>bbH4T)-9kKI_fUeUm%2Q)p=R!6HC_~ko}jKMHr zf9kFt>kNYKSG6_q+Wr$pSqf>;3g4=g^Tj-OUe&7C$!xF!=PLQ{{MtD2SKC}T%&Ybd zOWaFxThS*2;`1+)7k&gJx93)v6QFbeC&Svv75}O17m<3YTs!@XmBURJDBcyfO5i@q zuMpyZYWAmdEf%k>c?ua6)vszp>olLnn(f)d@`qc1aM^j&ikp24x}f>=U(xWtkc$7NE&ktRJaGYYKa-sNQ7*r* Nzb~8Wm+RdM{Xat_>B;~A diff --git a/icons/obj/syringe.dmi b/icons/obj/syringe.dmi index d331d2852361619a873e2e256f1424284c3037cb..ab07fb775a0497e549b8c925231384a9880b1524 100644 GIT binary patch literal 11811 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 literal 10698 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 HO@sd%&STpI From 18392b2a6c638ce19db6acaf87240690fcca17ff Mon Sep 17 00:00:00 2001 From: CoreyLee Hassell Date: Tue, 3 Dec 2024 21:07:43 -0500 Subject: [PATCH 316/344] Update auxmos.dll with mark's version to fix windows issues (#3872) ## About The Pull Request Windows hosts were reporting that atmos wasnt working correctly. I compiled and tested a local version of auxmos to test and confirm it fixed it. Mark then checked and discovered the Auxmos dll wasn't compiled with the correct feature flags in the repository. They are now. This DLL is grabbed from https://github.com/shiptest-ss13/auxmos/releases/tag/v2.5.5.3 and its SHA256 checksum is `d6bc779994d83649a9113b26664f548c15616523c1e5a6b10c3ac207186c3590` That can be cross referenced with this one in this PR to verify it is unaltered. If you have 7-zip installed with the shell menu, you can right click the downloaded files and go to 7-zip > CRC SHA > SHA256. Or use the powershell command `get-fileHash -path '.\auxmos.dll'` ## Changelog :cl: MarkSuckerberg & Anticept fix: auxmos updated with correct feature flags, windows atmos hosts will function correctly again. /:cl: --- auxmos.dll | Bin 772096 -> 799744 bytes dependencies.sh | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/auxmos.dll b/auxmos.dll index ae9b9dbf52947e32e84ee0538822194c0a71d0eb..1afe04fc483490bdefab6da509d31eb8dd0f8dd9 100644 GIT binary patch delta 366681 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

      *J00tb;0#Jdz39d+iB?-0;zp5_5cVFmKkG#MzH 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 Kw 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

    8+hO*;3CZgb`S&U-Nh)@fEX`>U6Xv()1sA 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 literal 75374 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 diff --git a/icons/mob/clothing/under/syndicate.dmi b/icons/mob/clothing/under/syndicate.dmi index cc5e484b89c4835f00cc7f217b851327e1817403..eb93d4b3530dd5dcfdb8d79d81055cdec9739ca8 100644 GIT binary patch delta 21753 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

    OrganDmgStatusOrganDmgStatus
    [organ.name][CEILING(organ.damage,1)]
    [organ.name][CEILING(organ.damage,1)][status]