", vname = name_override, speaker = speaker, command = 3, no_paygrade = TRUE)
+
+/// Used to fake the other side of our phone connection as a virtual user
+/datum/component/phone/virtual/proc/handle_virtual_speak(mob/speaker, message)
+ SIGNAL_HANDLER
+
+ if(!calling_phone)
+ return
+
+ handle_hear(message, null, speaker, TRUE)
+
+ log_say("TELEPHONE: [key_name(speaker)] on Phone '[phone_id]' to '[calling_phone.phone_id]' said '[message]'")
+
+ for(var/mob/dead/observer/cycled_observer in GLOB.player_list)
+ if((cycled_observer.client) && (cycled_observer.client.prefs) && (cycled_observer.client.prefs.toggles_chat & CHAT_GHOSTRADIO))
+ var/ghost_message = "Game Master on '[phone_id]' to '[calling_phone.phone_id]': \"[message]\""
+ cycled_observer.show_message(ghost_message, SHOW_MESSAGE_AUDIBLE)
+
+ calling_phone.handle_hear(message, null, speaker, TRUE)
+
+ return COMPONENT_OVERRIDE_DEAD_SPEAK
+
+// TGUI section
+
+/datum/component/phone/virtual/ui_status(mob/user, datum/ui_state/state)
+ return UI_INTERACTIVE
+
+/datum/component/phone/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
+ . = ..()
+ if(.)
+ return
+
+ switch(action)
+ if("hang_up")
+ reset_call()
+ return TRUE
+ if("pick_up")
+ if(!calling_phone)
+ return
+ picked_up_call(ui.user)
+ calling_phone.other_phone_picked_up_call()
+ return TRUE
+
+/datum/component/phone/virtual/ui_data(mob/user)
+ . = ..()
+
+ .["virtual_phone"] = TRUE
+ .["being_called"] = calling_phone?.timeout_timer_id ? TRUE : FALSE
+ .["active_call"] = calling_phone ? TRUE : FALSE
+ .["calling_phone_id"] = "[calling_phone?.phone_id]"
diff --git a/code/datums/emergency_calls/emergency_call.dm b/code/datums/emergency_calls/emergency_call.dm
index 6533086d98..79ba9fff97 100644
--- a/code/datums/emergency_calls/emergency_call.dm
+++ b/code/datums/emergency_calls/emergency_call.dm
@@ -168,7 +168,7 @@
return
var/deathtime = world.time - usr.timeofdeath
- if(deathtime < 1 MINUTES) //Nice try, ghosting right after the announcement
+ if(deathtime < 30 SECONDS) //Nice try, ghosting right after the announcement
if(SSmapping.configs[GROUND_MAP].map_name != MAP_WHISKEY_OUTPOST) // people ghost so often on whiskey outpost.
to_chat(src, SPAN_WARNING("You ghosted too recently."))
return
diff --git a/code/datums/keybinding/client.dm b/code/datums/keybinding/client.dm
index a5baf09a13..7522878822 100644
--- a/code/datums/keybinding/client.dm
+++ b/code/datums/keybinding/client.dm
@@ -4,8 +4,8 @@
/datum/keybinding/client/admin_help
- hotkey_keys = list("F1")
- classic_keys = list("F1")
+ hotkey_keys = list("Unbound")
+ classic_keys = list("Unbound")
name = "admin_help"
full_name = "Admin Help"
description = "Ask an admin for help."
diff --git a/code/datums/langchat/langchat.dm b/code/datums/langchat/langchat.dm
index 3f00c26b6d..83b9be0ac0 100644
--- a/code/datums/langchat/langchat.dm
+++ b/code/datums/langchat/langchat.dm
@@ -47,6 +47,13 @@
M.client.images -= langchat_image
langchat_listeners = null
+/atom/proc/langchat_set_x_offset()
+ langchat_image.maptext_x = world.icon_size / 2 - langchat_image.maptext_width / 2
+/atom/movable/langchat_set_x_offset()
+ langchat_image.maptext_x = bound_width / 2 - langchat_image.maptext_width / 2
+/mob/langchat_set_x_offset()
+ langchat_image.maptext_x = icon_size / 2 - langchat_image.maptext_width / 2
+
///Creates the image if one does not exist, resets settings that are modified by speech procs.
/atom/proc/langchat_make_image(override_color = null)
if(!langchat_image)
@@ -56,8 +63,8 @@
langchat_image.appearance_flags = NO_CLIENT_COLOR|KEEP_APART|RESET_COLOR|RESET_TRANSFORM
langchat_image.maptext_y = langchat_height
langchat_image.maptext_height = 64
- langchat_image.maptext_x = - world.icon_size - get_pixel_position_x(src, TRUE)
langchat_image.maptext_y -= LANGCHAT_MESSAGE_POP_Y_SINK
+ langchat_set_x_offset()
langchat_image.pixel_y = 0
langchat_image.alpha = 0
@@ -102,7 +109,7 @@
langchat_image.maptext = text_to_display
langchat_image.maptext_width = LANGCHAT_WIDTH
- langchat_image.maptext_x = - world.icon_size - get_pixel_position_x(src, TRUE)
+ langchat_set_x_offset()
langchat_listeners = listeners
for(var/mob/M in langchat_listeners)
@@ -149,7 +156,7 @@
langchat_image.maptext = text_to_display
langchat_image.maptext_width = LANGCHAT_WIDTH * 2
- langchat_image.maptext_x = - world.icon_size - get_pixel_position_x(src, TRUE) - LANGCHAT_WIDTH / 2
+ langchat_set_x_offset()
langchat_listeners = listeners
for(var/mob/M in langchat_listeners)
diff --git a/code/datums/looping_sounds/item_sounds.dm b/code/datums/looping_sounds/item_sounds.dm
index a2aa2fb5b6..5382ad2f42 100644
--- a/code/datums/looping_sounds/item_sounds.dm
+++ b/code/datums/looping_sounds/item_sounds.dm
@@ -2,3 +2,11 @@
mid_sounds = list('sound/items/taperecorder/taperecorder_hiss_mid.ogg' = 1)
start_sound = list('sound/items/taperecorder/taperecorder_hiss_start.ogg' = 1)
volume = 10
+
+/datum/looping_sound/phone_ringing
+ start_sound = list('sound/machines/telephone/telephone_ring.ogg' = 1)
+ mid_sounds = list('sound/machines/telephone/telephone_ring.ogg' = 1)
+ volume = 25
+ extra_range = 14
+ mid_length = (3 SECONDS)
+ max_loops = 10
diff --git a/code/datums/quadtree.dm b/code/datums/quadtree.dm
index 68f45b855d..f6023f6bfc 100644
--- a/code/datums/quadtree.dm
+++ b/code/datums/quadtree.dm
@@ -139,7 +139,8 @@
if(range.contains(P))
if(flags & QTREE_SCAN_MOBS)
found_players.Add(P.player)
- return
+ continue
if(P.player.client)
found_players.Add(P.player.client)
+ continue
diff --git a/code/datums/statistics/entities/death_stats.dm b/code/datums/statistics/entities/death_stats.dm
index 1753536026..f0055ed871 100644
--- a/code/datums/statistics/entities/death_stats.dm
+++ b/code/datums/statistics/entities/death_stats.dm
@@ -87,6 +87,10 @@
if(!mind || statistic_exempt)
return
+ var/area/area = get_area(death_loc)
+ handle_observer_message(cause_data, cause_mob, death_loc, area)
+
+ // Perform logging above before get_player_from_key to avoid delays
var/datum/entity/statistic/death/new_death = DB_ENTITY(/datum/entity/statistic/death)
var/datum/entity/player/player_entity = get_player_from_key(mind.ckey)
if(player_entity)
@@ -98,11 +102,8 @@
new_death.role_name = get_role_name()
new_death.mob_name = real_name
new_death.faction_name = faction
-
new_death.is_xeno = FALSE
-
- var/area/A = get_area(death_loc)
- new_death.area_name = A.name
+ new_death.area_name = area.name
new_death.cause_name = cause_data?.cause_name
var/datum/entity/player/cause_player = get_player_from_key(cause_data?.ckey)
@@ -132,8 +133,6 @@
new_death.total_damage_taken = life_damage_taken_total
new_death.total_revives_done = life_revives_total
- handle_observer_message(cause_data, cause_mob, death_loc, A)
-
if(round_statistics)
round_statistics.track_death(new_death)
diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm
index 3c4104b6c2..c9092a750f 100644
--- a/code/game/machinery/OpTable.dm
+++ b/code/game/machinery/OpTable.dm
@@ -59,8 +59,6 @@
if(EXPLOSION_THRESHOLD_MEDIUM to INFINITY)
deconstruct(FALSE)
return
- else
- return
/obj/structure/machinery/optable/get_examine_text(mob/user)
. = ..()
diff --git a/code/game/machinery/air_alarm.dm b/code/game/machinery/air_alarm.dm
index 16512a944b..e6fc0c8de7 100644
--- a/code/game/machinery/air_alarm.dm
+++ b/code/game/machinery/air_alarm.dm
@@ -431,8 +431,6 @@
var/wireIndex = AAlarmWireColorToIndex[wireColor] //not used in this function
AAlarmwires |= wireFlag
switch(wireIndex)
- if(AALARM_WIRE_IDSCAN)
-
if(AALARM_WIRE_POWER)
shorted = 0
shock(usr, 50)
diff --git a/code/game/machinery/bots/mulebot.dm b/code/game/machinery/bots/mulebot.dm
index b70829c708..d82591994e 100644
--- a/code/game/machinery/bots/mulebot.dm
+++ b/code/game/machinery/bots/mulebot.dm
@@ -551,7 +551,7 @@
var/speed = ((wires & WIRE_MOTOR1) ? 1:0) + ((wires & WIRE_MOTOR2) ? 2:0)
switch(speed)
if(0)
- // do nothing
+ pass()
if(1)
process_bot()
spawn(2)
diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm
index adce72f7d8..304b24a14f 100644
--- a/code/game/machinery/computer/computer.dm
+++ b/code/game/machinery/computer/computer.dm
@@ -53,8 +53,6 @@
if(EXPLOSION_THRESHOLD_MEDIUM to INFINITY)
deconstruct(FALSE)
return
- else
- return
/obj/structure/machinery/computer/bullet_act(obj/projectile/Proj)
if(exproof)
diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm
index b68ca41d6f..fe85599018 100644
--- a/code/game/machinery/computer/medical.dm
+++ b/code/game/machinery/computer/medical.dm
@@ -123,7 +123,6 @@
else
dat += "
[bdat]"
- else
else
dat += text("{Log In}", src)
show_browser(user, dat, "Medical Records", "med_rec")
@@ -365,8 +364,6 @@
for(var/datum/data/record/E in GLOB.data_core.medical)
if ((E.fields["ref"] == R.fields["ref"] || E.fields["id"] == R.fields["id"]))
M = E
- else
- //Foreach continue //goto(2540)
src.active1 = R
src.active2 = M
src.screen = 4
@@ -417,16 +414,12 @@
for(var/datum/data/record/R as anything in GLOB.data_core.medical)
if ((lowertext(R.fields["name"]) == t1 || t1 == lowertext(R.fields["id"])))
src.active2 = R
- else
- //Foreach continue //goto(3229)
if (!active2)
temp = "Could not locate record [t1]."
else
for(var/datum/data/record/E in GLOB.data_core.general)
if ((E.fields["name"] == src.active2.fields["name"] || E.fields["id"] == src.active2.fields["id"]))
src.active1 = E
- else
- //Foreach continue //goto(3334)
src.screen = 4
if (href_list["print_p"])
diff --git a/code/game/machinery/computer/pod.dm b/code/game/machinery/computer/pod.dm
index 3858230a08..f6adaa8edd 100644
--- a/code/game/machinery/computer/pod.dm
+++ b/code/game/machinery/computer/pod.dm
@@ -20,7 +20,6 @@
for(var/obj/structure/machinery/mass_driver/M in machines)
if(M.id == id)
connected = M
- else
return
return
diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm
index 12f4faedc9..c5a13e2c3e 100644
--- a/code/game/machinery/computer/robot.dm
+++ b/code/game/machinery/computer/robot.dm
@@ -55,8 +55,7 @@
dat += " Locked Down |"
else
dat += " Operating Normally |"
- if (!R.canmove)
- else if(R.cell)
+ if(R.canmove && R.cell)
dat += " Battery Installed ([R.cell.charge]/[R.cell.maxcharge]) |"
else
dat += " No Cell Installed |"
diff --git a/code/game/machinery/computer/sentencing.dm b/code/game/machinery/computer/sentencing.dm
index 52a4159a2a..3aa9b5a032 100644
--- a/code/game/machinery/computer/sentencing.dm
+++ b/code/game/machinery/computer/sentencing.dm
@@ -78,6 +78,7 @@
data["laws"] += list(create_law_data("Major Laws", SSlaw_init.major_law))
data["laws"] += list(create_law_data("Capital Laws", SSlaw_init.capital_law))
data["laws"] += list(create_law_data("Optional Laws", SSlaw_init.optional_law))
+ data["laws"] += list(create_law_data("Precautionary Laws", SSlaw_init.precautionary_law))
return data
diff --git a/code/game/machinery/computer/skills.dm b/code/game/machinery/computer/skills.dm
index f891d46bc3..a20d344b53 100644
--- a/code/game/machinery/computer/skills.dm
+++ b/code/game/machinery/computer/skills.dm
@@ -43,16 +43,16 @@
var/dat
if (temp)
- dat = text("[]
Clear Screen", temp, src)
+ dat = "[temp]
Clear Screen"
else
- dat = text("Confirm Identity: []
", src, (scan ? text("[]", scan.name) : "----------"))
+ dat = "Confirm Identity: [scan ? scan.name : "----------"]
"
if (authenticated)
switch(screen)
if(1.0)
dat += {"
"}
- dat += text("Search Records
", src)
- dat += text("New Record
", src)
+ dat += "Search Records
"
+ dat += "New Record
"
dat += {"
@@ -70,20 +70,19 @@
if(!isnull(GLOB.data_core.general))
for(var/datum/data/record/R in sortRecord(GLOB.data_core.general, sortBy, order))
for(var/datum/data/record/E in GLOB.data_core.security)
- var/background
- dat += text("[] | ", background, src, R, R.fields["name"])
- dat += text("[] | ", R.fields["id"])
- dat += text("[] | ", R.fields["rank"])
+ dat += "
[R.fields["name"]] | "
+ dat += "[R.fields["id"]] | "
+ dat += "[R.fields["rank"]] | "
dat += "
"
- dat += text("Record Maintenance
", src)
- dat += text("{Log Out}",src)
+ dat += "Record Maintenance
"
+ dat += "{Log Out}"
if(2.0)
dat += "Records Maintenance
"
dat += "
Delete All Records
Back"
if(3.0)
dat += "Employment Record
"
if ((istype(active1, /datum/data/record) && GLOB.data_core.general.Find(active1)))
- dat += text(" \
+ dat += "")
+ |
"
else
dat += "General Record Lost!
"
- dat += text("\nDelete Record (ALL)
\nPrint Record
\nBack
", src, src, src)
+ dat += "\nDelete Record (ALL)
\nPrint Record
\nBack
"
if(4.0)
if(!Perp.len)
- dat += text("ERROR. String could not be located.
Back", src)
+ dat += "ERROR. String could not be located.
Back"
else
dat += {"
"}
- dat += text("Search Results for '[]': | ", tempname)
+ dat += "Search Results for '[tempname]': | "
dat += {"
@@ -121,17 +120,14 @@
if(istype(Perp[i+1],/datum/data/record/))
var/datum/data/record/E = Perp[i+1]
crimstat = E.fields["criminal"]
- var/background
- background = "'background-color:#00FF7F;'"
- dat += text("[] | ", background, src, R, R.fields["name"])
- dat += text("[] | ", R.fields["id"])
- dat += text("[] | ", R.fields["rank"])
- dat += text("[] |
", crimstat)
+ dat += "[R.fields["name"]] | "
+ dat += "[R.fields["id"]] | "
+ dat += "[R.fields["rank"]] | "
+ dat += "[crimstat] |
"
dat += "
"
- dat += text("
Return to index.", src)
- else
+ dat += "
Return to index."
else
- dat += text("{Log In}", src)
+ dat += "{Log In}"
show_browser(user, dat, "Employment Records", "secure_rec", "size=600x400")
onclose(user, "secure_rec")
return
@@ -342,7 +338,6 @@ What a mess.*/
if ((R.fields["name"] == active1.fields["name"] || R.fields["id"] == active1.fields["id"]))
GLOB.data_core.medical -= R
qdel(R)
- else
QDEL_NULL(active1)
else
temp = "This function does not appear to be working at the moment. Our apologies."
diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm
index e6df92d258..99996bea89 100644
--- a/code/game/machinery/deployable.dm
+++ b/code/game/machinery/deployable.dm
@@ -54,7 +54,6 @@
src.health -= W.force * 0.75
if("brute")
src.health -= W.force * 0.5
- else
if (src.health <= 0)
src.explode()
..()
diff --git a/code/game/machinery/medical_pod/bodyscanner.dm b/code/game/machinery/medical_pod/bodyscanner.dm
index 4756121e50..fdcd0ceb62 100644
--- a/code/game/machinery/medical_pod/bodyscanner.dm
+++ b/code/game/machinery/medical_pod/bodyscanner.dm
@@ -62,8 +62,6 @@
if(EXPLOSION_THRESHOLD_MEDIUM to INFINITY)
deconstruct(FALSE)
return
- else
- return
#ifdef OBJECTS_PROXY_SPEECH
// Transfers speech to occupant
@@ -124,8 +122,6 @@
if(EXPLOSION_THRESHOLD_MEDIUM to INFINITY)
deconstruct(FALSE)
return
- else
- return
/obj/structure/machinery/body_scanconsole/power_change()
..()
diff --git a/code/game/machinery/medical_pod/sleeper.dm b/code/game/machinery/medical_pod/sleeper.dm
index 805fedb292..35d9a44863 100644
--- a/code/game/machinery/medical_pod/sleeper.dm
+++ b/code/game/machinery/medical_pod/sleeper.dm
@@ -385,7 +385,6 @@
t1 = "Unconscious"
if(2)
t1 = "*dead*"
- else
to_chat(user, "[]\t Health %: [] ([])", (occupant.health > 50 ? SPAN_NOTICE("") : SPAN_DANGER("")), occupant.health, t1)
to_chat(user, "[]\t -Core Temperature: []°C ([]°F)
", (occupant.bodytemperature > 50 ? "" : ""), occupant.bodytemperature-T0C, occupant.bodytemperature*1.8-459.67)
to_chat(user, "[]\t -Brute Damage %: []", (occupant.getBruteLoss() < 60 ? SPAN_NOTICE("") : SPAN_DANGER("")), occupant.getBruteLoss())
diff --git a/code/game/machinery/vending/cm_vending.dm b/code/game/machinery/vending/cm_vending.dm
index bf7c4fffee..861f5b37eb 100644
--- a/code/game/machinery/vending/cm_vending.dm
+++ b/code/game/machinery/vending/cm_vending.dm
@@ -774,8 +774,8 @@ GLOBAL_LIST_EMPTY(vending_products)
desc = "An automated closet hooked up to a colossal storage of standard-issue uniform and armor."
icon_state = "clothing"
use_points = TRUE
+ show_points = TRUE
vendor_theme = VENDOR_THEME_USCM
- show_points = FALSE
vend_flags = VEND_CLUTTER_PROTECTION | VEND_UNIFORM_RANKS | VEND_UNIFORM_AUTOEQUIP | VEND_CATEGORY_CHECK
/obj/structure/machinery/cm_vending/clothing/ui_static_data(mob/user)
diff --git a/code/game/machinery/vending/vending.dm b/code/game/machinery/vending/vending.dm
index a74dd923cb..414ab4a562 100644
--- a/code/game/machinery/vending/vending.dm
+++ b/code/game/machinery/vending/vending.dm
@@ -398,28 +398,25 @@ GLOBAL_LIST_EMPTY_TYPED(total_vending_machines, /obj/structure/machinery/vending
/obj/structure/machinery/vending/proc/GetProductIndex(datum/data/vending_product/product)
var/list/plist
- switch(product.category)
- if(CAT_NORMAL)
- plist=product_records
- if(CAT_HIDDEN)
- plist=hidden_records
- if(CAT_COIN)
- plist=coin_records
- else
- warning("UNKNOWN CATEGORY [product.category] IN TYPE [product.product_path] INSIDE [type]!")
+ if(product.category == CAT_NORMAL)
+ plist = product_records
+ else if(product.category == CAT_HIDDEN)
+ plist = hidden_records
+ else if(product.category == CAT_COIN)
+ plist = coin_records
+ else
+ warning("UNKNOWN CATEGORY [product.category] IN TYPE [product.product_path] INSIDE [type]!")
return plist.Find(product)
/obj/structure/machinery/vending/proc/GetProductByID(pid, category)
- switch(category)
- if(CAT_NORMAL)
- return product_records[pid]
- if(CAT_HIDDEN)
- return hidden_records[pid]
- if(CAT_COIN)
- return coin_records[pid]
- else
- warning("UNKNOWN PRODUCT: PID: [pid], CAT: [category] INSIDE [type]!")
- return null
+ if(category == CAT_NORMAL)
+ return product_records[pid]
+ else if(category == CAT_HIDDEN)
+ return hidden_records[pid]
+ else if(category == CAT_COIN)
+ return coin_records[pid]
+ else
+ warning("UNKNOWN PRODUCT: PID: [pid], CAT: [category] INSIDE [type]!")
/obj/structure/machinery/vending/attack_hand(mob/user)
if(is_tipped_over)
diff --git a/code/game/machinery/vending/vendor_types/crew/commanding_officer.dm b/code/game/machinery/vending/vendor_types/crew/commanding_officer.dm
index 830511ad4b..d7d49a8ae0 100644
--- a/code/game/machinery/vending/vendor_types/crew/commanding_officer.dm
+++ b/code/game/machinery/vending/vendor_types/crew/commanding_officer.dm
@@ -1,9 +1,9 @@
//------------GEAR VENDOR---------------
GLOBAL_LIST_INIT(cm_vending_gear_commanding_officer, list(
- list("COMMANDING OFFICER'S PRIMARY (CHOOSE 1)", 0, null, null, null),
- list("M46C pulse rifle", 0, /obj/effect/essentials_set/co/riflepreset, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY),
- list("M56C Smartgun", 0, /obj/item/storage/box/m56c_system, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY),
+ list("COMMANDER'S PRIMARY (CHOOSE 1)", 0, null, null, null),
+ list("M46C Pulse Rifle", 0, /obj/effect/essentials_set/co/riflepreset, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_MANDATORY),
+ list("M56C Smartgun", 0, /obj/item/storage/box/m56c_system, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_MANDATORY),
list("PRIMARY AMMUNITION", 0, null, null, null),
list("M41A MK1 Magazine", 30, /obj/item/ammo_magazine/rifle/m41aMK1, null, VENDOR_ITEM_RECOMMENDED),
@@ -28,11 +28,19 @@ GLOBAL_LIST_INIT(cm_vending_gear_commanding_officer, list(
list("M41A Rubber Shot Magazine", 10, /obj/item/ammo_magazine/rifle/rubber, null, VENDOR_ITEM_REGULAR),
list("Beanbag Slugs", 10, /obj/item/ammo_magazine/shotgun/beanbag, null, VENDOR_ITEM_REGULAR),
+ list("EXPLOSIVES", 0, null, null, null),
+ list("HEDP Grenade Pack", 15, /obj/item/storage/box/packet/high_explosive, null, VENDOR_ITEM_REGULAR),
+ list("HEFA Grenade Pack", 15, /obj/item/storage/box/packet/hefa, null, VENDOR_ITEM_REGULAR),
+ list("WP Grenade Pack", 15, /obj/item/storage/box/packet/phosphorus, null, VENDOR_ITEM_REGULAR),
+
list("RAIL ATTACHMENTS", 0, null, null, null),
list("Red-Dot Sight", 15, /obj/item/attachable/reddot, null, VENDOR_ITEM_REGULAR),
list("Reflex Sight", 15, /obj/item/attachable/reflex, null, VENDOR_ITEM_REGULAR),
list("S4 2x Telescopic Mini-Scope", 15, /obj/item/attachable/scope/mini, null, VENDOR_ITEM_REGULAR),
+ list("Helmet Visors", 0, null, null, null),
+ list("Welding Visor", 5, /obj/item/device/helmet_visor/welding_visor, null, VENDOR_ITEM_RECOMMENDED),
+
list("UNDERBARREL ATTACHMENTS", 0, null, null, null),
list("Laser Sight", 15, /obj/item/attachable/lasersight, null, VENDOR_ITEM_REGULAR),
list("Angled Grip", 15, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR),
@@ -40,12 +48,13 @@ GLOBAL_LIST_INIT(cm_vending_gear_commanding_officer, list(
list("Underbarrel Shotgun", 15, /obj/item/attachable/attached_gun/shotgun, null, VENDOR_ITEM_REGULAR),
list("Underbarrel Extinguisher", 15, /obj/item/attachable/attached_gun/extinguisher, null, VENDOR_ITEM_REGULAR),
list("Underbarrel Flamethrower", 15, /obj/item/attachable/attached_gun/flamer, null, VENDOR_ITEM_REGULAR),
+ list("Underbarrel Grenade Launcher", 5, /obj/item/attachable/attached_gun/grenade, null, VENDOR_ITEM_REGULAR),
list("BARREL ATTACHMENTS", 0, null, null, null),
- list("Suppressor", 15, /obj/item/attachable/suppressor, null, VENDOR_ITEM_REGULAR),
list("Extended Barrel", 15, /obj/item/attachable/extended_barrel, null, VENDOR_ITEM_REGULAR),
list("Recoil Compensator", 15, /obj/item/attachable/compensator, null, VENDOR_ITEM_REGULAR),
- ))
+ list("Suppressor", 15, /obj/item/attachable/suppressor, null, VENDOR_ITEM_REGULAR),
+ ))
/obj/structure/machinery/cm_vending/gear/commanding_officer
name = "\improper ColMarTech Commanding Officer Weapon Rack"
@@ -63,9 +72,15 @@ GLOBAL_LIST_INIT(cm_vending_gear_commanding_officer, list(
GLOBAL_LIST_INIT(cm_vending_clothing_commanding_officer, list(
list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null),
list("Headset", 0, /obj/item/device/radio/headset/almayer/mcom/cdrcom, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY),
- list("Satchel", 0, /obj/item/storage/backpack/satchel/lockable, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_MANDATORY),
list("MRE", 0, /obj/item/storage/box/MRE, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY),
+ list("COMMANDING OFFICER ESSENTIALS KIT (TAKE ALL)", 0, null, null, null),
+ list("Commanding Officer Essentials Kit", 0, /obj/effect/essentials_set/commanding_officer, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY),
+
+ list("BAGS (CHOOSE 1)", 0, null, null, null),
+ list("Commanding Officer Backpack", 0, /obj/item/storage/backpack/mcommander, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_MANDATORY),
+ list("Secure Satchel", 0, /obj/item/storage/backpack/satchel/lockable, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_MANDATORY),
+
list("COMBAT EQUIPMENT (TAKE ALL)", 0, null, null, null),
list("Commanding Officer's M3 Armor", 0, /obj/item/clothing/suit/storage/marine/MP/CO, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY),
list("Commanding Officer's M10 Helmet", 0, /obj/item/clothing/head/helmet/marine/CO, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_MANDATORY),
@@ -84,8 +99,13 @@ GLOBAL_LIST_INIT(cm_vending_clothing_commanding_officer, list(
list("Medical HUD Glasses", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_RECOMMENDED),
list("Security HUD Glasses", 0, /obj/item/clothing/glasses/sunglasses/sechud, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_REGULAR),
- list("BELTS (TAKE ALL)", 0, null, null, null),
+ list("BELTS (CHOOSE 1)", 0, null, null, null),
list("G8-A General Utility Pouch", 0, /obj/item/storage/backpack/general_belt, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED),
+ list("Military Police Belt", 0, /obj/item/storage/belt/security/MP/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED),
+ list("M276 Medical Storage Rig", 0, /obj/item/storage/belt/medical/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED),
+ list("M276 Ammo Load Rig", 0, /obj/item/storage/belt/marine, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED),
+ list("M276 Holster Toolrig", 0, /obj/item/storage/belt/gun/utility/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED),
+ list("M276 M82F Holster Rig", 0, /obj/item/storage/belt/gun/flaregun, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR),
list("POUCHES (CHOOSE 2)", 0, null, null, null),
list("First-Aid Pouch (Refillable Injectors)", 0, /obj/item/storage/pouch/firstaid/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
@@ -110,6 +130,15 @@ GLOBAL_LIST_INIT(cm_vending_clothing_commanding_officer, list(
/obj/structure/machinery/cm_vending/clothing/commanding_officer/get_listed_products(mob/user)
return GLOB.cm_vending_clothing_commanding_officer
+/obj/effect/essentials_set/commanding_officer
+ spawned_gear_list = list(
+ /obj/item/device/binoculars/range/designator,
+ /obj/item/map/current_map,
+ /obj/item/device/whistle,
+ /obj/item/weapon/gun/energy/taser,
+ /obj/item/device/megaphone,
+ )
+
// This gets around the COs' weapon not spawning without incendiary mag.
/obj/effect/essentials_set/co/riflepreset
spawned_gear_list = list(
diff --git a/code/game/machinery/vending/vendor_types/crew/staff_officer.dm b/code/game/machinery/vending/vendor_types/crew/staff_officer.dm
index 11c9341da0..50b83ccdc5 100644
--- a/code/game/machinery/vending/vendor_types/crew/staff_officer.dm
+++ b/code/game/machinery/vending/vendor_types/crew/staff_officer.dm
@@ -13,13 +13,13 @@ GLOBAL_LIST_INIT(cm_vending_clothing_staff_officer, list(
list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null),
list("Boots", 0, /obj/item/clothing/shoes/marine/knife, MARINE_CAN_BUY_SHOES, VENDOR_ITEM_MANDATORY),
list("Headset", 0, /obj/item/device/radio/headset/almayer/mcom, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY),
- list("Helmet", 0, /obj/item/clothing/head/helmet/marine/MP/SO, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_MANDATORY),
list("MRE", 0, /obj/item/storage/box/MRE, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY),
list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null),
list("Service Uniform", 0, /obj/item/clothing/under/marine/officer/bridge, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_REGULAR),
list("Operations Uniform", 0, /obj/item/clothing/under/marine/officer/boiler, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_RECOMMENDED),
+ list("Gloves", 0, /obj/item/clothing/gloves/marine, MARINE_CAN_BUY_GLOVES, VENDOR_ITEM_REGULAR),
list("JACKET (CHOOSE 1)", 0, null, null, null),
list("Service Jacket", 0, /obj/item/clothing/suit/storage/jacket/marine/service, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_RECOMMENDED),
@@ -33,65 +33,21 @@ GLOBAL_LIST_INIT(cm_vending_clothing_staff_officer, list(
list("PERSONAL SIDEARM (CHOOSE 1)", 0, null, null, null),
- list("M44 Revolver", 0, /obj/item/storage/belt/gun/m44/mp, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED),
- list("M4A3 Pistol", 0, /obj/item/storage/belt/gun/m4a3/commander, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED),
- list("VP78 Pistol", 0, /obj/item/storage/belt/gun/m4a3/vp78, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED),
+ list("M44 Revolver", 0, /obj/item/storage/belt/gun/m44/mp, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_RECOMMENDED),
+ list("M4A3 Pistol", 0, /obj/item/storage/belt/gun/m4a3/commander, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_RECOMMENDED),
+ list("VP78 Pistol", 0, /obj/item/storage/belt/gun/m4a3/vp78, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_RECOMMENDED),
list("BACKPACK (CHOOSE 1)", 0, null, null, null),
list("Backpack", 0, /obj/item/storage/backpack/marine, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR),
list("Satchel", 0, /obj/item/storage/backpack/marine/satchel, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR),
- list("Radio Telephone Pack", 0, /obj/item/storage/backpack/marine/satchel/rto, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_RECOMMENDED),
- list("BELT (CHOOSE 1)", 0, null, null, null),
- list("G8-A General Utility Pouch", 0, /obj/item/storage/backpack/general_belt, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED),
- list("M276 Ammo Load Rig", 0, /obj/item/storage/belt/marine, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED),
- list("M276 Lifesaver Bag (Full)", 0, /obj/item/storage/belt/medical/lifesaver/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR),
- list("M276 Medical Storage Rig (Full)", 0, /obj/item/storage/belt/medical/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR),
- list("M276 M39 Holster Rig", 0, /obj/item/storage/belt/gun/m39, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR),
- list("M276 M82F Holster Rig", 0, /obj/item/storage/belt/gun/flaregun, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR),
- list("M276 Shotgun Shell Loading Rig", 0, /obj/item/storage/belt/shotgun, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR),
- list("M276 M40 Grenade Rig", 0, /obj/item/storage/belt/grenade, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR),
-
- list("POUCHES (CHOOSE 2)", 0, null, null, null),
- list("Autoinjector Pouch", 0, /obj/item/storage/pouch/autoinjector, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
- list("Construction Pouch", 0, /obj/item/storage/pouch/construction, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
- list("Electronics Pouch (Full)", 0, /obj/item/storage/pouch/electronics/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
- list("First-Aid Pouch (Refillable Injectors)", 0, /obj/item/storage/pouch/firstaid/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
- list("First-Aid Pouch (Splints, Gauze, Ointment)", 0, /obj/item/storage/pouch/firstaid/full/alternate, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
- list("First-Aid Pouch (Pill Packets)", 0, /obj/item/storage/pouch/firstaid/full/pills, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
- list("First Responder Pouch", 0, /obj/item/storage/pouch/first_responder, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
- list("Flare Pouch (Full)", 0, /obj/item/storage/pouch/flare/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
- list("Fuel Tank Strap Pouch", 0, /obj/item/storage/pouch/flamertank, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
- list("Large General Pouch", 0, /obj/item/storage/pouch/general/large, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED),
- list("Large Magazine Pouch", 0, /obj/item/storage/pouch/magazine/large, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
- list("Large Shotgun Shell Pouch", 0, /obj/item/storage/pouch/shotgun/large, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
- list("Large Pistol Magazine Pouch", 0, /obj/item/storage/pouch/magazine/pistol/large, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
- list("Medical Pouch", 0, /obj/item/storage/pouch/medical, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
- list("Medical Kit Pouch", 0, /obj/item/storage/pouch/medkit, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
- list("Pistol Pouch", 0, /obj/item/storage/pouch/pistol, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
- list("Sling Pouch", 0, /obj/item/storage/pouch/sling, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
- list("Tools Pouch (Full)", 0, /obj/item/storage/pouch/tools/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
-
- list("ACCESSORIES (CHOOSE 1)", 0, null, null, null),
- list("Black Webbing Vest", 0, /obj/item/clothing/accessory/storage/black_vest, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR),
- list("Brown Webbing Vest", 0, /obj/item/clothing/accessory/storage/black_vest/brown_vest, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_RECOMMENDED),
- list("Drop Pouch", 0, /obj/item/clothing/accessory/storage/droppouch, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR),
- list("Webbing", 0, /obj/item/clothing/accessory/storage/webbing, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR),
- list("Shoulder Holster", 0, /obj/item/clothing/accessory/storage/holster, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR),
-
- list("MASK (CHOOSE 1)", 0, null, null, null),
- list("Gas Mask", 0, /obj/item/clothing/mask/gas, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR),
- list("Heat Absorbent Coif", 0, /obj/item/clothing/mask/rebreather/scarf, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR),
list("OTHER SUPPLIES", 0, null, null, null),
list("Binoculars", 5,/obj/item/device/binoculars, null, VENDOR_ITEM_REGULAR),
list("Rangefinder", 8, /obj/item/device/binoculars/range, null, VENDOR_ITEM_REGULAR),
list("Laser Designator", 12, /obj/item/device/binoculars/range/designator, null, VENDOR_ITEM_RECOMMENDED),
- list("Data Detector", 5, /obj/item/device/motiondetector/intel, null, VENDOR_ITEM_REGULAR),
list("Flashlight", 1, /obj/item/device/flashlight, null, VENDOR_ITEM_RECOMMENDED),
- list("Fulton Recovery Device", 5, /obj/item/stack/fulton, null, VENDOR_ITEM_REGULAR),
- list("Motion Detector", 5, /obj/item/device/motiondetector, null, VENDOR_ITEM_REGULAR),
+ list("Motion Detector", 5, /obj/item/device/motiondetector, null, VENDOR_ITEM_RECOMMENDED),
list("Space Cleaner", 2, /obj/item/reagent_container/spray/cleaner, null, VENDOR_ITEM_REGULAR),
list("Whistle", 5, /obj/item/device/whistle, null, VENDOR_ITEM_REGULAR),
- list("Machete Scabbard (Full)", 2, /obj/item/storage/large_holster/machete/full, null, VENDOR_ITEM_REGULAR)
))
diff --git a/code/game/machinery/vending/vendor_types/crew/staff_officer_armory.dm b/code/game/machinery/vending/vendor_types/crew/staff_officer_armory.dm
new file mode 100644
index 0000000000..e616cff228
--- /dev/null
+++ b/code/game/machinery/vending/vendor_types/crew/staff_officer_armory.dm
@@ -0,0 +1,82 @@
+/obj/structure/machinery/cm_vending/clothing/staff_officer_armory
+ name = "\improper ColMarTech Staff Officer Armory Equipment Rack"
+ desc = "An automated combat equipment vendor for Staff Officers."
+ req_access = list(ACCESS_MARINE_COMMAND)
+ icon_state = "mar_rack"
+ vendor_role = list(JOB_SO)
+
+/obj/structure/machinery/cm_vending/clothing/staff_officer_armory/get_listed_products(mob/user)
+ return GLOB.cm_vending_clothing_staff_officer_armory
+
+//------------GEAR---------------
+
+GLOBAL_LIST_INIT(cm_vending_clothing_staff_officer_armory, list(
+ list("COMBAT EQUIPMENT (TAKE ALL)", 0, null, null, null),
+ list("Officer M3 Armor", 0, /obj/item/clothing/suit/storage/marine/MP/SO, MARINE_CAN_BUY_COMBAT_ARMOR, VENDOR_ITEM_MANDATORY),
+ list("Officer M10 Helmet", 0, /obj/item/clothing/head/helmet/marine/MP/SO, MARINE_CAN_BUY_COMBAT_HELMET, VENDOR_ITEM_MANDATORY),
+ list("Marine Combat Boots", 0, /obj/item/clothing/shoes/marine/knife, MARINE_CAN_BUY_SHOES, VENDOR_ITEM_MANDATORY),
+ list("Marine Combat Gloves", 0, /obj/item/clothing/gloves/marine, MARINE_CAN_BUY_GLOVES, VENDOR_ITEM_MANDATORY),
+ list("MRE", 0, /obj/item/storage/box/MRE, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY),
+ list("Aviator Shades", 0, /obj/item/clothing/glasses/sunglasses/aviator, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_REGULAR),
+
+ list("SPECIALISATION KIT (CHOOSE 1)", 0, null, null, null),
+ list("Essential Engineer Set", 0, /obj/effect/essentials_set/engi, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_RECOMMENDED),
+ list("Essential Medical Set", 0, /obj/effect/essentials_set/medic, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_RECOMMENDED),
+
+ list("BELT (CHOOSE 1)", 0, null, null, null),
+ list("G8-A General Utility Pouch", 0, /obj/item/storage/backpack/general_belt, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED),
+ list("M276 Ammo Load Rig", 0, /obj/item/storage/belt/marine, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED),
+ list("M276 Toolbelt Rig (Full)", 0, /obj/item/storage/belt/utility/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED),
+ list("M276 Lifesaver Bag (Full)", 0, /obj/item/storage/belt/medical/lifesaver/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR),
+ list("M276 Medical Storage Rig (Full)", 0, /obj/item/storage/belt/medical/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR),
+ list("M276 M39 Holster Rig", 0, /obj/item/storage/belt/gun/m39, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR),
+ list("M276 M82F Holster Rig", 0, /obj/item/storage/belt/gun/flaregun, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR),
+ list("M276 Shotgun Shell Loading Rig", 0, /obj/item/storage/belt/shotgun, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR),
+ list("M276 M40 Grenade Rig", 0, /obj/item/storage/belt/grenade, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR),
+
+ list("POUCHES (CHOOSE 2)", 0, null, null, null),
+ list("Autoinjector Pouch", 0, /obj/item/storage/pouch/autoinjector, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
+ list("Construction Pouch", 0, /obj/item/storage/pouch/construction, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
+ list("Electronics Pouch (Full)", 0, /obj/item/storage/pouch/electronics/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
+ list("First-Aid Pouch (Refillable Injectors)", 0, /obj/item/storage/pouch/firstaid/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
+ list("First-Aid Pouch (Splints, Gauze, Ointment)", 0, /obj/item/storage/pouch/firstaid/full/alternate, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
+ list("First-Aid Pouch (Pill Packets)", 0, /obj/item/storage/pouch/firstaid/full/pills, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
+ list("First Responder Pouch", 0, /obj/item/storage/pouch/first_responder, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
+ list("Flare Pouch (Full)", 0, /obj/item/storage/pouch/flare/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
+ list("Fuel Tank Strap Pouch", 0, /obj/item/storage/pouch/flamertank, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
+ list("Large General Pouch", 0, /obj/item/storage/pouch/general/large, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED),
+ list("Large Magazine Pouch", 0, /obj/item/storage/pouch/magazine/large, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
+ list("Large Shotgun Shell Pouch", 0, /obj/item/storage/pouch/shotgun/large, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
+ list("Large Pistol Magazine Pouch", 0, /obj/item/storage/pouch/magazine/pistol/large, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
+ list("Medical Pouch", 0, /obj/item/storage/pouch/medical, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
+ list("Medical Kit Pouch", 0, /obj/item/storage/pouch/medkit, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
+ list("Pistol Pouch", 0, /obj/item/storage/pouch/pistol, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
+ list("Sling Pouch", 0, /obj/item/storage/pouch/sling, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
+ list("Tools Pouch (Full)", 0, /obj/item/storage/pouch/tools/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR),
+
+ list("ACCESSORIES (CHOOSE 1)", 0, null, null, null),
+ list("Black Webbing Vest", 0, /obj/item/clothing/accessory/storage/black_vest, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR),
+ list("Brown Webbing Vest", 0, /obj/item/clothing/accessory/storage/black_vest/brown_vest, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_RECOMMENDED),
+ list("Drop Pouch", 0, /obj/item/clothing/accessory/storage/droppouch, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR),
+ list("Webbing", 0, /obj/item/clothing/accessory/storage/webbing, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR),
+ list("Shoulder Holster", 0, /obj/item/clothing/accessory/storage/holster, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR),
+
+ list("MASK (CHOOSE 1)", 0, null, null, null),
+ list("Gas Mask", 0, /obj/item/clothing/mask/gas, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR),
+ list("Heat Absorbent Coif", 0, /obj/item/clothing/mask/rebreather/scarf, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR),
+
+ list("OTHER SUPPLIES", 0, null, null, null),
+ list("Medical Helmet Optic", 5, /obj/item/device/helmet_visor/medical, null, VENDOR_ITEM_REGULAR),
+ list("Magnetic Harness", 12, /obj/item/attachable/magnetic_harness, null, VENDOR_ITEM_REGULAR),
+ list("Radio Telephone Pack", 15, /obj/item/storage/backpack/marine/satchel/rto, null, VENDOR_ITEM_RECOMMENDED),
+ list("Binoculars", 5,/obj/item/device/binoculars, null, VENDOR_ITEM_REGULAR),
+ list("Rangefinder", 8, /obj/item/device/binoculars/range, null, VENDOR_ITEM_REGULAR),
+ list("Laser Designator", 12, /obj/item/device/binoculars/range/designator, null, VENDOR_ITEM_RECOMMENDED),
+ list("Data Detector", 5, /obj/item/device/motiondetector/intel, null, VENDOR_ITEM_REGULAR),
+ list("Flashlight", 1, /obj/item/device/flashlight, null, VENDOR_ITEM_RECOMMENDED),
+ list("Fulton Recovery Device", 5, /obj/item/stack/fulton, null, VENDOR_ITEM_REGULAR),
+ list("Motion Detector", 5, /obj/item/device/motiondetector, null, VENDOR_ITEM_REGULAR),
+ list("Space Cleaner", 2, /obj/item/reagent_container/spray/cleaner, null, VENDOR_ITEM_REGULAR),
+ list("Whistle", 5, /obj/item/device/whistle, null, VENDOR_ITEM_REGULAR),
+ list("Machete Scabbard (Full)", 5, /obj/item/storage/large_holster/machete/full, null, VENDOR_ITEM_REGULAR)
+ ))
diff --git a/code/game/machinery/vending/vendor_types/crew/synthetic.dm b/code/game/machinery/vending/vendor_types/crew/synthetic.dm
index 8e556318c7..bf96246e92 100644
--- a/code/game/machinery/vending/vendor_types/crew/synthetic.dm
+++ b/code/game/machinery/vending/vendor_types/crew/synthetic.dm
@@ -49,7 +49,6 @@
list("Injector (Bicaridine)", 1, /obj/item/reagent_container/hypospray/autoinjector/bicaridine, null, VENDOR_ITEM_REGULAR),
list("Injector (Dexalin+)", 1, /obj/item/reagent_container/hypospray/autoinjector/dexalinp, null, VENDOR_ITEM_REGULAR),
- list("Injector (Epinephrine)", 2, /obj/item/reagent_container/hypospray/autoinjector/adrenaline, null, VENDOR_ITEM_REGULAR),
list("Injector (Inaprovaline)", 1, /obj/item/reagent_container/hypospray/autoinjector/inaprovaline, null, VENDOR_ITEM_REGULAR),
list("Injector (Kelotane)", 1, /obj/item/reagent_container/hypospray/autoinjector/kelotane, null, VENDOR_ITEM_REGULAR),
list("Injector (Oxycodone)", 2, /obj/item/reagent_container/hypospray/autoinjector/oxycodone, null, VENDOR_ITEM_REGULAR),
@@ -60,7 +59,6 @@
list("Autoinjector (C-M) (EMPTY)", 2, /obj/item/reagent_container/hypospray/autoinjector/empty/medium, null, VENDOR_ITEM_REGULAR),
list("Autoinjector (C-L) (EMPTY)", 4, /obj/item/reagent_container/hypospray/autoinjector/empty/large, null, VENDOR_ITEM_REGULAR),
- list("Emergency Defibrillator", 4, /obj/item/device/defibrillator, null, VENDOR_ITEM_MANDATORY),
list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR),
list("Surgical Line", 4, /obj/item/tool/surgery/surgical_line, null, VENDOR_ITEM_REGULAR),
list("Synth-Graft", 4, /obj/item/tool/surgery/synthgraft, null, VENDOR_ITEM_REGULAR),
@@ -348,7 +346,6 @@ GLOBAL_LIST_INIT(cm_vending_clothing_synth_snowflake, list(
list("Autocompressor", 15, /obj/item/clothing/suit/auto_cpr, null, VENDOR_ITEM_REGULAR),
list("Backpack Firefighting Watertank", 15, /obj/item/reagent_container/glass/watertank/atmos, null, VENDOR_ITEM_REGULAR),
list("Breaching Hammer", 15, /obj/item/weapon/twohanded/breacher/synth, null, VENDOR_ITEM_REGULAR),
- list("Compact Defibrillator", 15, /obj/item/device/defibrillator/compact, null, VENDOR_ITEM_REGULAR),
list("Compact Nailgun kit", 15, /obj/effect/essentials_set/cnailgun, null, VENDOR_ITEM_REGULAR),
list("Crew Monitor", 15, /obj/item/tool/crew_monitor, null, VENDOR_ITEM_REGULAR),
list("Experimental Meson Goggles", 15, /obj/item/clothing/glasses/night/experimental_mesons, null, VENDOR_ITEM_REGULAR),
diff --git a/code/game/machinery/vending/vendor_types/medical.dm b/code/game/machinery/vending/vendor_types/medical.dm
index 9844101cb1..ece0752721 100644
--- a/code/game/machinery/vending/vendor_types/medical.dm
+++ b/code/game/machinery/vending/vendor_types/medical.dm
@@ -141,7 +141,6 @@
list("AUTOINJECTORS", -1, null, null),
list("Autoinjector (Bicaridine)", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/bicaridine, VENDOR_ITEM_REGULAR),
list("Autoinjector (Dexalin+)", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/dexalinp, VENDOR_ITEM_REGULAR),
- list("Autoinjector (Epinephrine)", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/adrenaline, VENDOR_ITEM_REGULAR),
list("Autoinjector (Inaprovaline)", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/inaprovaline, VENDOR_ITEM_REGULAR),
list("Autoinjector (Kelotane)", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/kelotane, VENDOR_ITEM_REGULAR),
list("Autoinjector (Oxycodone)", round(scale * 5), /obj/item/reagent_container/hypospray/autoinjector/oxycodone, VENDOR_ITEM_REGULAR),
@@ -174,7 +173,6 @@
list("Health Analyzer", round(scale * 5), /obj/item/device/healthanalyzer, VENDOR_ITEM_REGULAR),
list("M276 Pattern Medical Storage Rig", round(scale * 2), /obj/item/storage/belt/medical, VENDOR_ITEM_REGULAR),
list("Medical HUD Glasses", round(scale * 3), /obj/item/clothing/glasses/hud/health, VENDOR_ITEM_REGULAR),
- list("Stasis Bag", round(scale * 2), /obj/item/bodybag/cryobag, VENDOR_ITEM_REGULAR),
list("Syringe", round(scale * 7), /obj/item/reagent_container/syringe, VENDOR_ITEM_REGULAR)
)
diff --git a/code/game/machinery/vending/vendor_types/requisitions.dm b/code/game/machinery/vending/vendor_types/requisitions.dm
index 2b46d0bead..9e19ee7a32 100644
--- a/code/game/machinery/vending/vendor_types/requisitions.dm
+++ b/code/game/machinery/vending/vendor_types/requisitions.dm
@@ -191,7 +191,7 @@
turf_to_vent_to = H.loc
return turf_to_vent_to
-/obj/structure/machinery/cm_vending/sorted/cargo_guns/blend
+/obj/structure/machinery/cm_vending/sorted/cargo_guns/cargo/blend
icon_state = "req_guns_wall"
tiles_with = list(
/obj/structure/window/framed/almayer,
@@ -295,7 +295,7 @@
updateUsrDialog()
return //We found our item, no reason to go on.
-/obj/structure/machinery/cm_vending/sorted/cargo_ammo/blend
+/obj/structure/machinery/cm_vending/sorted/cargo_ammo/cargo/blend
icon_state = "req_ammo_wall"
tiles_with = list(
/obj/structure/window/framed/almayer,
diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm
index c965b7c90e..dd3700b3d5 100644
--- a/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm
+++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm
@@ -23,7 +23,6 @@ GLOBAL_LIST_INIT(cm_vending_gear_medic, list(
list("AUTOINJECTORS", 0, null, null, null),
list("Autoinjector (Bicaridine)", 1, /obj/item/reagent_container/hypospray/autoinjector/bicaridine, null, VENDOR_ITEM_REGULAR),
list("Autoinjector (Dexalin+)", 1, /obj/item/reagent_container/hypospray/autoinjector/dexalinp, null, VENDOR_ITEM_REGULAR),
- list("Autoinjector (Epinephrine)", 2, /obj/item/reagent_container/hypospray/autoinjector/adrenaline, null, VENDOR_ITEM_REGULAR),
list("Autoinjector (Inaprovaline)", 1, /obj/item/reagent_container/hypospray/autoinjector/inaprovaline, null, VENDOR_ITEM_REGULAR),
list("Autoinjector (Kelotane)", 1, /obj/item/reagent_container/hypospray/autoinjector/kelotane, null, VENDOR_ITEM_REGULAR),
list("Autoinjector (Oxycodone)", 2, /obj/item/reagent_container/hypospray/autoinjector/oxycodone, null, VENDOR_ITEM_REGULAR),
@@ -42,7 +41,6 @@ GLOBAL_LIST_INIT(cm_vending_gear_medic, list(
list("MEDICAL UTILITIES", 0, null, null, null),
list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR),
list("Roller Bed", 4, /obj/item/roller, null, VENDOR_ITEM_REGULAR),
- list("Stasis Bag", 6, /obj/item/bodybag/cryobag, null, VENDOR_ITEM_REGULAR),
list("Pressurized Reagent Canister Pouch (EMPTY)", 3, /obj/item/storage/pouch/pressurized_reagent_canister, null, VENDOR_ITEM_REGULAR),
list("G8-A General Utility Pouch", 15, /obj/item/storage/backpack/general_belt, null, VENDOR_ITEM_REGULAR),
list("MS-11 Smart Refill Tank", 6, /obj/item/reagent_container/glass/minitank, null, VENDOR_ITEM_REGULAR),
@@ -214,4 +212,6 @@ GLOBAL_LIST_INIT(cm_vending_clothing_medic, list(
/obj/item/storage/surgical_case/regular,
/obj/item/reagent_container/blood/OMinus,
/obj/item/reagent_container/blood/OMinus,
+ /obj/item/reagent_container/hypospray/autoinjector/adrenaline_concentrated,
+ /obj/item/reagent_container/hypospray/autoinjector/adrenaline_concentrated,
)
diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm
index ba9606d27b..4f382a8f34 100644
--- a/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm
+++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm
@@ -288,6 +288,7 @@
list("Machete Scabbard (Full)", round(scale * 5), /obj/item/storage/large_holster/machete/full, VENDOR_ITEM_REGULAR),
list("Binoculars", round(scale * 1), /obj/item/device/binoculars, VENDOR_ITEM_REGULAR),
list("Spare PDT/L Battle Buddy Kit", round(scale * 3), /obj/item/storage/box/pdt_kit, VENDOR_ITEM_REGULAR),
+ list("Rail Flashlight", round(scale * 5), /obj/item/attachable/flashlight, VENDOR_ITEM_REGULAR),
)
//--------------SQUAD ATTACHMENTS VENDOR--------------
diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm
index bebe0ec8b2..56c6ae45cd 100644
--- a/code/game/objects/effects/glowshroom.dm
+++ b/code/game/objects/effects/glowshroom.dm
@@ -95,8 +95,6 @@
if(EXPLOSION_THRESHOLD_MEDIUM to INFINITY)
deconstruct(FALSE)
return
- else
- return
/obj/effect/glowshroom/fire_act(exposed_temperature, exposed_volume)
if(exposed_temperature > 300)
diff --git a/code/game/objects/explosion_recursive.dm b/code/game/objects/explosion_recursive.dm
index 1f52901c21..82566c8030 100644
--- a/code/game/objects/explosion_recursive.dm
+++ b/code/game/objects/explosion_recursive.dm
@@ -149,7 +149,7 @@ explosion resistance exactly as much as their health
switch(angle) //this reduces power when the explosion is going around corners
if (0)
- //no change
+ pass()
if (45)
if(spread_power >= 0)
spread_power *= 0.75
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 2d142789fd..9dbe33e051 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -268,7 +268,6 @@ cases. Override_icon_state should be a list.*/
size = "huge"
if(SIZE_MASSIVE)
size = "massive"
- else
. += "This is a [blood_color ? blood_color != "#030303" ? "bloody " : "oil-stained " : ""][icon2html(src, user)][src.name]. It is a [size] item."
if(desc)
. += desc
diff --git a/code/game/objects/items/devices/motion_detector.dm b/code/game/objects/items/devices/motion_detector.dm
index 9776eae11c..99b11d1ff6 100644
--- a/code/game/objects/items/devices/motion_detector.dm
+++ b/code/game/objects/items/devices/motion_detector.dm
@@ -5,6 +5,9 @@
#define MOTION_DETECTOR_RANGE_LONG 14
#define MOTION_DETECTOR_RANGE_SHORT 7
+#define MOTION_DETECTOR_BASE_COOLDOWN (1 SECONDS)
+#define MOTION_DETECTOR_RANGE_LONG_MULTIPLIER 2.5
+
/obj/effect/detector_blip
icon = 'icons/obj/items/marine-items.dmi'
icon_state = "detector_blip"
@@ -30,7 +33,6 @@
w_class = SIZE_MEDIUM
var/active = 0
var/recycletime = 120
- var/long_range_cooldown = 2
var/blip_type = "detector"
var/iff_signal = FACTION_MARINE
actions_types = list(/datum/action/item_action)
@@ -39,6 +41,9 @@
var/long_range_locked = FALSE //only long-range MD
var/ping_overlay
+ /// Handles our cooldowns regarding pings
+ COOLDOWN_DECLARE(ping_cooldown)
+
/obj/item/device/motiondetector/proc/get_help_text()
. = "Blue bubble-like indicators on your HUD will show pings locations or direction to them. The device screen will show the amount of unidentified movements detected (up to 9). Has two modes: slow long-range [SPAN_HELPFUL("([MOTION_DETECTOR_RANGE_LONG] tiles)")] and fast short-range [SPAN_HELPFUL("([MOTION_DETECTOR_RANGE_SHORT] tiles)")]. Use [SPAN_HELPFUL("Alt + Click")] on the device to switch between modes. Using the device on the adjacent multitile vehicle will start the process of recalibrating and scanning vehicle interior for unidentified movements inside."
@@ -136,7 +141,7 @@
else if(user)
to_chat(user, SPAN_NOTICE("You activate \the [src]."))
playsound(loc, 'sound/items/detector_turn_on.ogg', 30, FALSE, 5, 2)
- START_PROCESSING(SSobj, src)
+ START_PROCESSING(SSfastobj, src)
/obj/item/device/motiondetector/proc/turn_off(mob/user, forced = FALSE)
if(forced)
@@ -146,34 +151,37 @@
scanning = FALSE // safety if MD runtimes in scan and stops scanning
icon_state = "[initial(icon_state)]"
playsound(loc, 'sound/items/detector_turn_off.ogg', 30, FALSE, 5, 2)
- STOP_PROCESSING(SSobj, src)
+ STOP_PROCESSING(SSfastobj, src)
/obj/item/device/motiondetector/Destroy()
- STOP_PROCESSING(SSobj, src)
+ STOP_PROCESSING(SSfastobj, src)
for(var/to_delete in blip_pool)
qdel(blip_pool[to_delete])
blip_pool.Remove(to_delete)
blip_pool = null
return ..()
-/obj/item/device/motiondetector/process()
+/obj/item/device/motiondetector/process(delta_time)
if(isturf(loc))
toggle_active(null, TRUE)
+
if(!active)
- STOP_PROCESSING(SSobj, src)
+ STOP_PROCESSING(SSfastobj, src)
return
+
recycletime--
if(!recycletime)
recycletime = initial(recycletime)
refresh_blip_pool()
- if(!detector_mode)
- long_range_cooldown--
- if(long_range_cooldown) return
- else long_range_cooldown = initial(long_range_cooldown)
+ if(!COOLDOWN_FINISHED(src, ping_cooldown))
+ return
scan()
+ var/next_ping_cooldown = MOTION_DETECTOR_BASE_COOLDOWN * (detector_mode ? 1 : MOTION_DETECTOR_RANGE_LONG_MULTIPLIER)
+ COOLDOWN_START(src, ping_cooldown, next_ping_cooldown)
+
/obj/item/device/motiondetector/proc/refresh_blip_pool()
for(var/X in blip_pool) //we dump and remake the blip pool every few minutes
if(blip_pool[X]) //to clear blips assigned to mobs that are long gone.
diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm
index 4e37424a59..1f7c20a648 100644
--- a/code/game/objects/items/devices/radio/headset.dm
+++ b/code/game/objects/items/devices/radio/headset.dm
@@ -493,6 +493,7 @@
initial_keys = list(/obj/item/device/encryptionkey/mcom)
volume = RADIO_VOLUME_CRITICAL
multibroadcast_cooldown = LOW_MULTIBROADCAST_COOLDOWN
+ frequency = ALPHA_FREQ
/obj/item/device/radio/headset/almayer/mcom/alt
initial_keys = list(/obj/item/device/encryptionkey/mcom/alt)
@@ -569,7 +570,6 @@
name = "marine radio headset"
desc = "A standard marine radio headset. When worn, grants access to Squad Leader tracker. Click tracker with empty hand to open Squad Info window."
frequency = ALPHA_FREQ
- initial_keys = list(/obj/item/device/encryptionkey/public)
//############################## ALPHA ###############################
/obj/item/device/radio/headset/almayer/marine/alpha
diff --git a/code/game/objects/items/handheld_distress_beacon.dm b/code/game/objects/items/handheld_distress_beacon.dm
index c11a7a57c3..19a64c2c37 100644
--- a/code/game/objects/items/handheld_distress_beacon.dm
+++ b/code/game/objects/items/handheld_distress_beacon.dm
@@ -64,3 +64,47 @@
recipient = "Anchorpoint Station"
ert_full_name = list("CMB - Patrol Team - Marshals in Distress (Friendly)", "CMB - Anchorpoint Station Colonial Marine QRF (Friendly)")
ert_short_name = list("SEND CMB", "SEND QRF")
+
+/// Generic beacon for objectives
+/obj/item/handheld_beacon
+ name = "handheld beacon"
+ desc = "A standard handheld beacon. Generally used by teams who may be out of regular communications range but must signal for various reasons. This one is branded with a Weyland Yutani symbol and sold en masse."
+ icon = 'icons/obj/items/handheld_distress_beacon.dmi'
+ icon_state = "beacon_inactive"
+ w_class = SIZE_SMALL
+
+ /// Whether the beacon is active or not
+ var/active = FALSE
+
+/obj/item/handheld_beacon/get_examine_text(mob/user)
+ . = ..()
+
+ if(active)
+ . += "The beacon has been activated!"
+
+/obj/item/handheld_beacon/update_icon()
+ . = ..()
+
+ if(active)
+ icon_state = "beacon_active"
+ return
+ icon_state = initial(icon_state)
+
+/obj/item/handheld_beacon/attack_self(mob/user)
+ . = ..()
+
+ if(.)
+ return
+
+ active = !active
+ update_icon()
+
+ to_chat(user, SPAN_NOTICE("The beacon pings quietly and turns [active ? "on" : "off"]."))
+
+ if(!active)
+ return
+
+ for(var/client/admin_client in GLOB.admins)
+ if((R_ADMIN|R_MOD) & admin_client.admin_holder.rights)
+ playsound_client(admin_client,'sound/effects/sos-morse-code.ogg',10)
+ message_admins("[key_name(user)] has used [name]! [ADMIN_JMP_USER(user)]")
diff --git a/code/game/objects/items/reagent_containers/autoinjectors.dm b/code/game/objects/items/reagent_containers/autoinjectors.dm
index 46463e628c..248bdd7392 100644
--- a/code/game/objects/items/reagent_containers/autoinjectors.dm
+++ b/code/game/objects/items/reagent_containers/autoinjectors.dm
@@ -99,6 +99,15 @@
display_maptext = TRUE
maptext_label = "Ep"
+/obj/item/reagent_container/hypospray/autoinjector/adrenaline_concentrated
+ name = "epinephrine (concentrated) autoinjector"
+ chemname = "adrenaline_concentrated"
+ desc = "An autoinjector loaded with 3 uses of Epinephrine, better known as Adrenaline, a nerve stimulant useful in restarting the heart. In this concentrated form, it will prevent unconciousness but will cause minor suffocation."
+ amount_per_transfer_from_this = LOWM_REAGENTS_OVERDOSE * INJECTOR_PERCENTAGE_OF_OD
+ volume = (LOWM_REAGENTS_OVERDOSE * INJECTOR_PERCENTAGE_OF_OD) * INJECTOR_USES
+ display_maptext = TRUE
+ maptext_label = "Ep"
+
/obj/item/reagent_container/hypospray/autoinjector/dexalinp
name = "dexalin plus autoinjector"
chemname = "dexalinp"
diff --git a/code/game/objects/items/reagent_containers/blood_pack.dm b/code/game/objects/items/reagent_containers/blood_pack.dm
index 0879dcffdc..128c127082 100644
--- a/code/game/objects/items/reagent_containers/blood_pack.dm
+++ b/code/game/objects/items/reagent_containers/blood_pack.dm
@@ -74,14 +74,10 @@
update_beam()
return
- if(!skillcheck(user, SKILL_SURGERY, SKILL_SURGERY_NOVICE))
- to_chat(user, SPAN_WARNING("You don't know how to connect this!"))
- return
-
if(user.action_busy)
return
- if(!do_after(user, (1 SECONDS) * user.get_skill_duration_multiplier(SKILL_SURGERY), INTERRUPT_ALL, BUSY_ICON_FRIENDLY, attacked_mob, INTERRUPT_MOVED, BUSY_ICON_MEDICAL))
+ if(!do_after(user, skillcheck(user, SKILL_SURGERY, SKILL_SURGERY_NOVICE) ? (1 SECONDS) * user.get_skill_duration_multiplier(SKILL_SURGERY) : (8 SECONDS), INTERRUPT_ALL, BUSY_ICON_FRIENDLY, attacked_mob, INTERRUPT_MOVED, BUSY_ICON_MEDICAL))
to_chat(user, SPAN_WARNING("You were interrupted before you could finish!"))
return
diff --git a/code/game/objects/items/reagent_containers/food/snacks.dm b/code/game/objects/items/reagent_containers/food/snacks.dm
index 06a4d785e6..2892eb1113 100644
--- a/code/game/objects/items/reagent_containers/food/snacks.dm
+++ b/code/game/objects/items/reagent_containers/food/snacks.dm
@@ -182,10 +182,9 @@
return 0
var/inaccurate = 0
- if(W.sharp == IS_SHARP_ITEM_ACCURATE)
- else if(W.sharp == IS_SHARP_ITEM_BIG)
+ if(W.sharp == IS_SHARP_ITEM_BIG)
inaccurate = 1
- else
+ else if(W.sharp != IS_SHARP_ITEM_ACCURATE)
return 1
if ( !istype(loc, /obj/structure/surface/table) && \
(!isturf(src.loc) || \
@@ -206,7 +205,7 @@
SPAN_NOTICE("[user] crudely slices \the [src] with [W]!"), \
SPAN_NOTICE("You crudely slice \the [src] with your [W]!") \
)
- slices_lost = rand(1,min(1,round(slices_num/2)))
+ slices_lost = rand(1,max(1,round(slices_num/2)))
var/reagents_per_slice = reagents.total_volume/slices_num
for(var/i=1 to (slices_num-slices_lost))
var/obj/slice = new slice_path (src.loc)
diff --git a/code/game/objects/items/stacks/nanopaste.dm b/code/game/objects/items/stacks/nanopaste.dm
index 32e9a03046..754a36c601 100644
--- a/code/game/objects/items/stacks/nanopaste.dm
+++ b/code/game/objects/items/stacks/nanopaste.dm
@@ -40,7 +40,7 @@
H.pain.recalculate_pain()
H.updatehealth()
use(1)
- var/others_msg = "\The [user] applies some nanite paste at[user != M ? " \the [M]'s" : " \the"] [S.display_name] with \the [src]." // Needs to create vars for these messages because macro doesn't work otherwise
+ var/others_msg = "\The [user] applies some nanite paste at[user != M ? " \the [M]'s" : " the"] [S.display_name] with \the [src]." // Needs to create vars for these messages because macro doesn't work otherwise
var/user_msg = "You apply some nanite paste at [user == M ? "your" : "[M]'s"] [S.display_name]."
user.visible_message(SPAN_NOTICE("[others_msg]"),\
SPAN_NOTICE("[user_msg]"))
diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm
index 3b65811b05..95c5f181cd 100644
--- a/code/game/objects/items/storage/backpack.dm
+++ b/code/game/objects/items/storage/backpack.dm
@@ -487,115 +487,41 @@
desc = "A heavy-duty chestrig used by some USCM technicians."
icon_state = "marinesatch_techi"
-GLOBAL_LIST_EMPTY_TYPED(radio_packs, /obj/item/storage/backpack/marine/satchel/rto)
-
/obj/item/storage/backpack/marine/satchel/rto
name = "\improper USCM Radio Telephone Pack"
desc = "A heavy-duty pack, used for telecommunications between central command. Commonly carried by RTOs."
icon_state = "rto_backpack"
item_state = "rto_backpack"
has_gamemode_skin = FALSE
- actions_types = list(/datum/action/item_action/rto_pack/use_phone)
flags_item = ITEM_OVERRIDE_NORTHFACE
- var/obj/structure/transmitter/internal/internal_transmitter
-
var/phone_category = PHONE_MARINE
var/list/networks_receive = list(FACTION_MARINE)
var/list/networks_transmit = list(FACTION_MARINE)
- var/base_icon
-
-/datum/action/item_action/rto_pack/use_phone/New(mob/living/user, obj/item/holder)
- ..()
- name = "Use Phone"
- button.name = name
- button.overlays.Cut()
- var/image/IMG = image('icons/obj/items/misc.dmi', button, "rpb_phone")
- button.overlays += IMG
-
-/datum/action/item_action/rto_pack/use_phone/action_activate()
- for(var/obj/item/storage/backpack/marine/satchel/rto/radio_backpack in owner)
- radio_backpack.use_phone(owner)
- return
-
-/obj/item/storage/backpack/marine/satchel/rto/post_skin_selection()
- base_icon = icon_state
/obj/item/storage/backpack/marine/satchel/rto/Initialize()
. = ..()
- internal_transmitter = new(src)
- internal_transmitter.relay_obj = src
- internal_transmitter.phone_category = phone_category
- internal_transmitter.enabled = FALSE
- internal_transmitter.networks_receive = networks_receive
- internal_transmitter.networks_transmit = networks_transmit
- RegisterSignal(internal_transmitter, COMSIG_TRANSMITTER_UPDATE_ICON, PROC_REF(check_for_ringing))
- GLOB.radio_packs += src
-
-/obj/item/storage/backpack/marine/satchel/rto/proc/check_for_ringing()
- SIGNAL_HANDLER
- update_icon()
-
-/obj/item/storage/backpack/marine/satchel/rto/update_icon()
- . = ..()
- if(!internal_transmitter)
- return
-
- if(!internal_transmitter.attached_to \
- || internal_transmitter.attached_to.loc != internal_transmitter)
- icon_state = "[base_icon]_ear"
- return
-
- if(internal_transmitter.caller)
- icon_state = "[base_icon]_ring"
- else
- icon_state = base_icon
-
-/obj/item/storage/backpack/marine/satchel/rto/forceMove(atom/dest)
- . = ..()
- if(isturf(dest))
- internal_transmitter.set_tether_holder(src)
- else
- internal_transmitter.set_tether_holder(loc)
-/obj/item/storage/backpack/marine/satchel/rto/Destroy()
- GLOB.radio_packs -= src
- qdel(internal_transmitter)
- return ..()
+ AddComponent(/datum/component/phone, phone_category = phone_category, networks_receive = networks_receive, networks_transmit = networks_transmit)
+ RegisterSignal(src, COMSIG_ATOM_PHONE_PICKED_UP, PROC_REF(phone_picked_up))
+ RegisterSignal(src, COMSIG_ATOM_PHONE_HUNG_UP, PROC_REF(phone_hung_up))
+ RegisterSignal(src, COMSIG_ATOM_PHONE_RINGING, PROC_REF(phone_ringing))
+ RegisterSignal(src, COMSIG_ATOM_PHONE_STOPPED_RINGING, PROC_REF(phone_stopped_ringing))
-/obj/item/storage/backpack/marine/satchel/rto/pickup(mob/user)
- . = ..()
- if(ishuman(user))
- var/mob/living/carbon/human/H = user
- if(H.comm_title)
- internal_transmitter.phone_id = "[H.comm_title] [H]"
- else if(H.job)
- internal_transmitter.phone_id = "[H.job] [H]"
- else
- internal_transmitter.phone_id = "[H]"
+/obj/item/storage/backpack/marine/satchel/rto/proc/phone_picked_up()
+ icon_state = PHONE_OFF_BASE_UNIT_ICON_STATE
- if(H.assigned_squad)
- internal_transmitter.phone_id += " ([H.assigned_squad.name])"
- else
- internal_transmitter.phone_id = "[user]"
-
- internal_transmitter.enabled = TRUE
-
-/obj/item/storage/backpack/marine/satchel/rto/dropped(mob/user)
- . = ..()
- internal_transmitter.phone_id = "[src]"
- internal_transmitter.enabled = FALSE
+/obj/item/storage/backpack/marine/satchel/rto/proc/phone_hung_up()
+ icon_state = PHONE_ON_BASE_UNIT_ICON_STATE
-/obj/item/storage/backpack/marine/satchel/rto/proc/use_phone(mob/user)
- internal_transmitter.attack_hand(user)
+/obj/item/storage/backpack/marine/satchel/rto/proc/phone_ringing()
+ icon_state = PHONE_RINGING_ICON_STATE
-
-/obj/item/storage/backpack/marine/satchel/rto/attackby(obj/item/W, mob/user)
- if(internal_transmitter && internal_transmitter.attached_to == W)
- internal_transmitter.attackby(W, user)
- else
- . = ..()
+/obj/item/storage/backpack/marine/satchel/rto/proc/phone_stopped_ringing()
+ if(icon_state == PHONE_OFF_BASE_UNIT_ICON_STATE)
+ return
+ icon_state = PHONE_ON_BASE_UNIT_ICON_STATE
/obj/item/storage/backpack/marine/satchel/rto/upp_net
name = "\improper UPP Radio Telephone Pack"
@@ -606,7 +532,6 @@ GLOBAL_LIST_EMPTY_TYPED(radio_packs, /obj/item/storage/backpack/marine/satchel/r
name = "\improper USCM Small Radio Telephone Pack"
max_storage_space = 10
-
/obj/item/storage/backpack/marine/satchel/rto/small/upp_net
name = "\improper UPP Radio Telephone Pack"
networks_receive = list(FACTION_UPP)
diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm
index 71edc21e29..d2451ff29a 100644
--- a/code/game/objects/items/storage/belt.dm
+++ b/code/game/objects/items/storage/belt.dm
@@ -245,7 +245,6 @@
new /obj/item/stack/medical/advanced/bruise_pack(src)
new /obj/item/stack/medical/advanced/ointment(src)
new /obj/item/stack/medical/advanced/ointment(src)
- new /obj/item/reagent_container/hypospray/autoinjector/adrenaline(src)
new /obj/item/reagent_container/hypospray/autoinjector/dexalinp(src)
new /obj/item/reagent_container/hypospray/autoinjector/oxycodone(src)
new /obj/item/storage/pill_bottle/bicaridine(src)
diff --git a/code/game/objects/items/storage/large_holster.dm b/code/game/objects/items/storage/large_holster.dm
index ef2bcfb721..b4a6c3a8c1 100644
--- a/code/game/objects/items/storage/large_holster.dm
+++ b/code/game/objects/items/storage/large_holster.dm
@@ -326,7 +326,7 @@
/obj/item/storage/large_holster/fuelpack/get_examine_text(mob/user)
. = ..()
if(contents.len)
- . += "It is storing \a M240-T incinerator unit."
+ . += "It is storing a M240-T incinerator unit."
if (get_dist(user, src) <= 1)
if(fuel)
. += "The [fuel.caliber] currently contains: [round(fuel.get_ammo_percent())]% fuel."
diff --git a/code/game/objects/items/storage/pouch.dm b/code/game/objects/items/storage/pouch.dm
index 6d49db9950..f38f15cfef 100644
--- a/code/game/objects/items/storage/pouch.dm
+++ b/code/game/objects/items/storage/pouch.dm
@@ -168,7 +168,7 @@
name = "synth survival pouch"
desc = "An emergency pouch given to synthetics in the event of an emergency."
icon_state = "tools"
- storage_slots = 7
+ storage_slots = 6
max_w_class = SIZE_MEDIUM
can_hold = list(
/obj/item/device/flashlight,
@@ -181,7 +181,6 @@
)
/obj/item/storage/pouch/survival/synth/full/fill_preset_inventory()
- new /obj/item/device/flashlight(src)
new /obj/item/tool/crowbar/red(src)
new /obj/item/tool/weldingtool(src)
new /obj/item/stack/cable_coil(src)
diff --git a/code/game/objects/structures/barricade/barricade.dm b/code/game/objects/structures/barricade/barricade.dm
index 0ca2ccb1dd..5a72ec33ea 100644
--- a/code/game/objects/structures/barricade/barricade.dm
+++ b/code/game/objects/structures/barricade/barricade.dm
@@ -78,7 +78,7 @@
switch(dir)
if(SOUTH)
layer = ABOVE_MOB_LAYER
- else if(NORTH)
+ if(NORTH)
layer = initial(layer) - 0.01
else
layer = initial(layer)
diff --git a/code/game/objects/structures/barricade/handrail.dm b/code/game/objects/structures/barricade/handrail.dm
index ea10dc7256..ae166dbbf9 100644
--- a/code/game/objects/structures/barricade/handrail.dm
+++ b/code/game/objects/structures/barricade/handrail.dm
@@ -24,7 +24,7 @@
switch(dir)
if(SOUTH)
layer = ABOVE_MOB_LAYER
- else if(NORTH)
+ if(NORTH)
layer = initial(layer) - 0.01
else
layer = initial(layer)
diff --git a/code/game/objects/structures/bookcase.dm b/code/game/objects/structures/bookcase.dm
index c71b2853ea..becb0906e3 100644
--- a/code/game/objects/structures/bookcase.dm
+++ b/code/game/objects/structures/bookcase.dm
@@ -58,8 +58,6 @@
contents_explosion(severity)
deconstruct(FALSE)
return
- else
- return
/obj/structure/bookcase/update_icon()
if(contents.len < 5)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
index d6b4a35b04..b63936ef88 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
@@ -4,15 +4,6 @@
req_access = list(ACCESS_CIVILIAN_PUBLIC)
var/registered_name = null
-/obj/structure/closet/secure_closet/personal/Initialize()
- . = ..()
- if(prob(50))
- new /obj/item/storage/backpack(src)
- else
- new /obj/item/storage/backpack/satchel/norm(src)
- new /obj/item/device/radio/headset( src )
-
-
/obj/structure/closet/secure_closet/personal/patient
name = "patient's closet"
@@ -44,12 +35,6 @@
else
icon_state = icon_opened
-/obj/structure/closet/secure_closet/personal/cabinet/Initialize()
- . = ..()
- contents = list()
- new /obj/item/storage/backpack/satchel( src )
- new /obj/item/device/radio/headset( src )
-
/obj/structure/closet/secure_closet/personal/attackby(obj/item/W as obj, mob/user as mob)
if (src.opened)
return ..()
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 7848aaba48..b000fd5733 100644
--- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
@@ -51,8 +51,6 @@
new /obj/item/clothing/mask/gas(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/storage/firstaid/o2(src)
- if ("nothing")
- // doot
// teehee - Ah, tg coders...
if ("delete")
diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm
index 7c9faaf1a0..9f0417ccb3 100644
--- a/code/game/objects/structures/crates_lockers/crates.dm
+++ b/code/game/objects/structures/crates_lockers/crates.dm
@@ -130,8 +130,6 @@
contents_explosion(severity)
deconstruct(FALSE)
return
- else
- return
/obj/structure/closet/crate/alpha
name = "alpha squad crate"
diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm
index 38201e052c..d2b3d36b59 100644
--- a/code/game/objects/structures/lattice.dm
+++ b/code/game/objects/structures/lattice.dm
@@ -43,8 +43,6 @@
if(EXPLOSION_THRESHOLD_MEDIUM to INFINITY)
deconstruct(FALSE)
return
- else
- return
/obj/structure/lattice/attackby(obj/item/C as obj, mob/user as mob)
diff --git a/code/game/objects/structures/reagent_dispensers.dm b/code/game/objects/structures/reagent_dispensers.dm
index 7dc6d883a2..6471dfa215 100644
--- a/code/game/objects/structures/reagent_dispensers.dm
+++ b/code/game/objects/structures/reagent_dispensers.dm
@@ -119,8 +119,6 @@
if(EXPLOSION_THRESHOLD_MEDIUM to INFINITY)
deconstruct(FALSE)
return
- else
- return
/obj/structure/reagent_dispensers/attack_hand()
if(!reagents || reagents.locked)
diff --git a/code/game/turfs/walls/wall_types.dm b/code/game/turfs/walls/wall_types.dm
index 22979858ce..009eab0b6f 100644
--- a/code/game/turfs/walls/wall_types.dm
+++ b/code/game/turfs/walls/wall_types.dm
@@ -24,8 +24,8 @@
/obj/structure/girder,
/obj/structure/machinery/door,
/obj/structure/machinery/cm_vending/sorted/attachments/blend,
- /obj/structure/machinery/cm_vending/sorted/cargo_ammo/blend,
- /obj/structure/machinery/cm_vending/sorted/cargo_guns/blend,
+ /obj/structure/machinery/cm_vending/sorted/cargo_ammo/cargo/blend,
+ /obj/structure/machinery/cm_vending/sorted/cargo_guns/cargo/blend,
)
/turf/closed/wall/almayer/update_icon()
@@ -1219,7 +1219,7 @@ INITIALIZE_IMMEDIATE(/turf/closed/wall/indestructible/splashscreen)
to_chat(user, SPAN_WARNING("You scrape ineffectively at \the [src]."))
/turf/closed/wall/resin/attackby(obj/item/W, mob/living/user)
- if(SEND_SIGNAL(src, COMSIG_WALL_RESIN_ATTACKBY, W, user) & COMPONENT_CANCEL_ATTACKBY)
+ if(SEND_SIGNAL(src, COMSIG_WALL_RESIN_ATTACKBY, W, user) & COMPONENT_CANCEL_RESIN_ATTACKBY)
return
if(!(W.flags_item & NOBLUDGEON))
diff --git a/code/game/verbs/records.dm b/code/game/verbs/records.dm
index f09de72da2..18ed35ee63 100644
--- a/code/game/verbs/records.dm
+++ b/code/game/verbs/records.dm
@@ -143,7 +143,7 @@
dat += ""
var/color = "#008800"
- var/add_dat = "Add Admin Note
Add Confidential Admin Note
"
+ var/add_dat = "Add Admin Note
Add Confidential Admin Note
"
switch(note_category)
if(NOTE_MERIT)
color = "#9e3dff"
diff --git a/code/game/world.dm b/code/game/world.dm
index fce40ca468..1307ebccbd 100644
--- a/code/game/world.dm
+++ b/code/game/world.dm
@@ -306,14 +306,11 @@ var/world_topic_spam_protect_time = world.timeofday
var/s = ""
if(CONFIG_GET(string/servername))
- s += "[CONFIG_GET(string/servername)]"
-
- if(SSmapping?.configs)
- var/datum/map_config/MG = SSmapping.configs[GROUND_MAP]
- s += "
Map: [MG?.map_name ? "[MG.map_name]" : ""]"
- if(SSticker?.mode)
- s += "
Mode: [SSticker.mode.name]"
+ s += "[CONFIG_GET(string/servername)]"
+ s += "
Hosted by: [CONFIG_GET(string/hostedby)]"
s += "
Round time: [duration2text()]"
+ s += "
An RP server focused on a tight knit platoon fighting xenos!"
+ s += "
Shoot the shit *and* shoot shit."
world.status = s
diff --git a/code/modules/admin/game_master/game_master.dm b/code/modules/admin/game_master/game_master.dm
index be98fdf17f..83acd45660 100644
--- a/code/modules/admin/game_master/game_master.dm
+++ b/code/modules/admin/game_master/game_master.dm
@@ -2,6 +2,9 @@
/// Assoc list that holds our custom game master objectives, formatted as atom = objective_string
GLOBAL_LIST_EMPTY(game_master_objectives)
+/// Percentage of characters end up clear when sent via radio message
+GLOBAL_VAR_INIT(radio_communication_clarity, 100)
+
/proc/open_game_master_panel(client/using_client)
set name = "Game Master Panel"
set category = "Game Master"
@@ -73,23 +76,32 @@ GLOBAL_LIST_EMPTY(game_master_objectives)
/// End Objective Stuff
+ /// Communication stuff
+
+ var/atom/movable/game_master_phone
+
+ /// End Communication stuff
+
/// Holds what type of click intercept we are using
var/current_click_intercept_action
/datum/game_master/New(client/using_client)
. = ..()
- if(using_client.mob)
- tgui_interact(using_client.mob)
+ tgui_interact(using_client.mob)
current_submenus = list()
+ game_master_phone = new(null)
+ game_master_phone.AddComponent(/datum/component/phone/virtual, "Game Master", "white", "Company Command", null, PHONE_DO_NOT_DISTURB_ON, list(FACTION_MARINE, FACTION_COLONIST, FACTION_WY), list(FACTION_MARINE, FACTION_COLONIST, FACTION_WY), null, using_client)
+
using_client.click_intercept = src
/datum/game_master/Destroy(force, ...)
. = ..()
submenu_types = null
current_submenus = null
+ QDEL_NULL(game_master_phone)
/datum/game_master/ui_data(mob/user)
. = ..()
@@ -104,7 +116,10 @@ GLOBAL_LIST_EMPTY(game_master_objectives)
// Objective stuff
data["objective_click_intercept"] = objective_click_intercept
+ data["game_master_objectives"] = length(GLOB.game_master_objectives) ? GLOB.game_master_objectives : ""
+ // Communication stuff
+ data["communication_clarity"] = GLOB.radio_communication_clarity
return data
@@ -150,6 +165,15 @@ GLOBAL_LIST_EMPTY(game_master_objectives)
xeno_spawn_count = clamp(new_number, 1, 10)
return
+ if("delete_all_xenos")
+ if(tgui_alert(ui.user, "Do you want to delete all xenos?", "Confirmation", list("Yes", "No")) != "Yes")
+ return
+
+ for(var/mob/living/carbon/xenomorph/cycled_xeno in GLOB.alive_mob_list)
+ qdel(cycled_xeno)
+
+ return
+
//Objective Section
if("toggle_click_objective")
if(objective_click_intercept)
@@ -161,6 +185,33 @@ GLOBAL_LIST_EMPTY(game_master_objectives)
current_click_intercept_action = OBJECTIVE_CLICK_INTERCEPT_ACTION
return
+ if("jump_to")
+ if(!params["val"])
+ return
+
+ var/list/objective = params["val"]
+
+ var/atom/objective_atom = locate(objective["object_ref"])
+
+ var/turf/objective_turf = get_turf(objective_atom)
+
+ if(!objective_turf)
+ return TRUE
+
+ var/client/jumping_client = ui.user.client
+ jumping_client.jump_to_turf(objective_turf)
+ return TRUE
+
+ //Communication Section
+ if("use_game_master_phone")
+ game_master_phone.attack_hand(ui.user)
+
+ if("set_communication_clarity")
+ var/new_clarity = text2num(params["clarity"])
+ if(!isnum(new_clarity))
+ return
+
+ GLOB.radio_communication_clarity = clamp(new_clarity, 0, 100)
/datum/game_master/ui_close(mob/user)
. = ..()
@@ -190,6 +241,11 @@ GLOBAL_LIST_EMPTY(game_master_objectives)
switch(current_click_intercept_action)
if(SPAWN_CLICK_INTERCEPT_ACTION)
+ if(LAZYACCESS(modifiers, MIDDLE_CLICK))
+ if(isxeno(object))
+ qdel(object)
+ return
+
var/spawning_xeno_type = RoleAuthority.get_caste_by_text(selected_xeno)
if(!spawning_xeno_type)
@@ -204,20 +260,22 @@ GLOBAL_LIST_EMPTY(game_master_objectives)
return TRUE
if(OBJECTIVE_CLICK_INTERCEPT_ACTION)
- if(object in GLOB.game_master_objectives)
+ var/turf/object_turf = get_turf(object)
+
+ if(!object_turf)
+ return TRUE
+
+ if(SSminimaps.has_marker(object))
if(tgui_alert(user, "Do you want to remove [object] as an objective?", "Confirmation", list("Yes", "No")) != "Yes")
return TRUE
SSminimaps.remove_marker(object)
- GLOB.game_master_objectives -= object
+ for(var/list/cycled_objective in GLOB.game_master_objectives)
+ var/atom/objective_object = locate(cycled_objective["object_ref"])
+ if(objective_object == object)
+ GLOB.game_master_objectives.Remove(list(cycled_objective))
return TRUE
- var/turf/object_turf = get_turf(object)
- if(!object_turf)
- return TRUE
-
- var/z_level = object_turf.z
-
if(tgui_alert(user, "Do you want to make [object] an objective?", "Confirmation", list("Yes", "No")) != "Yes")
return TRUE
@@ -239,14 +297,22 @@ GLOBAL_LIST_EMPTY(game_master_objectives)
background.overlays += icon
+ var/z_level = object_turf?.z
+
+ if(!object || !z_level)
+ return
+
SSminimaps.add_marker(object, z_level, MINIMAP_FLAG_USCM, given_image = background)
- /// objective_info needs to be implemented both in the game master menu and overwatch TGUI
- /// GLOB.game_master_objectives should also probably hold a datum with more info including the icon here for TGUI usage
- /// - Morrow
var/objective_info = tgui_input_text(user, "Objective info?", "Objective Info")
- GLOB.game_master_objectives[object] = objective_info || ""
+ var/object_ref = REF(object)
+
+ GLOB.game_master_objectives += list(list(
+ "object_name" = object.name,
+ "objective_info" = (objective_info || ""),
+ "object_ref" = object_ref,
+ ))
return TRUE
else
diff --git a/code/modules/admin/tabs/event_tab.dm b/code/modules/admin/tabs/event_tab.dm
index ca1072a95b..852c8b6b32 100644
--- a/code/modules/admin/tabs/event_tab.dm
+++ b/code/modules/admin/tabs/event_tab.dm
@@ -931,13 +931,8 @@
message_admins("[key_name(usr)] has fired \an [warhead.name] at ([target.x],[target.y],[target.z]).")
warhead.warhead_impact(target)
- if(istype(warhead, /obj/structure/ob_ammo/warhead/cluster))
- // so the user's screen can shake for the duration of the cluster, otherwise we get a runtime.
- QDEL_IN(warhead, OB_CLUSTER_DURATION)
- else
- QDEL_IN(warhead, OB_CRASHING_DOWN)
else
- warhead.loc = target
+ warhead.forceMove(target)
/client/proc/change_taskbar_icon()
set name = "Set Taskbar Icon"
diff --git a/code/modules/admin/topic/topic.dm b/code/modules/admin/topic/topic.dm
index 8bbc999252..27e457be6d 100644
--- a/code/modules/admin/topic/topic.dm
+++ b/code/modules/admin/topic/topic.dm
@@ -336,86 +336,6 @@
/////////////////////////////////////new ban stuff
- else if(href_list["jobban2"])
-// if(!check_rights(R_BAN)) return
- /*
- var/mob/M = locate(href_list["jobban2"])
- if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
- return
-
- if(!M.ckey) //sanity
- to_chat(usr, "This mob has no ckey")
- return
- if(!RoleAuthority)
- to_chat(usr, "The Role Authority is not set up!")
- return
-
- var/datum/entity/player/P = get_player_from_key(M.ckey)
-
- var/dat = ""
- var/body
- var/jobs = ""
-
- /***********************************WARNING!************************************
- The jobban stuff looks mangled and disgusting
- But it looks beautiful in-game
- -Nodrak
- ************************************WARNING!***********************************/
-//Regular jobs
- //Command (Blue)
- jobs += generate_job_ban_list(M, ROLES_CIC, "CIC", "ddddff")
- jobs += "
"
- // SUPPORT
- jobs += generate_job_ban_list(M, ROLES_AUXIL_SUPPORT, "Support", "ccccff")
- jobs += "
"
- // MPs
- jobs += generate_job_ban_list(M, ROLES_POLICE, "Police", "ffdddd")
- jobs += "
"
- //Engineering (Yellow)
- jobs += generate_job_ban_list(M, ROLES_ENGINEERING, "Engineering", "fff5cc")
- jobs += "
"
- //Cargo (Yellow) //Copy paste, yada, yada. Hopefully Snail can rework this in the future.
- jobs += generate_job_ban_list(M, ROLES_REQUISITION, "Requisition", "fff5cc")
- jobs += "
"
- //Medical (White)
- jobs += generate_job_ban_list(M, ROLES_MEDICAL, "Medical", "ffeef0")
- jobs += "
"
- //Marines
- jobs += generate_job_ban_list(M, ROLES_MARINES, "Marines", "ffeeee")
- jobs += "
"
- // MISC
- jobs += generate_job_ban_list(M, ROLES_MISC, "Misc", "aaee55")
- jobs += "
"
- // Xenos (Orange)
- jobs += generate_job_ban_list(M, ROLES_XENO, "Xenos", "a268b1")
- jobs += "
"
- //Extra (Orange)
- var/isbanned_dept = jobban_isbanned(M, "Syndicate", P)
- jobs += ""
- jobs += "Extras |
---|
"
-
- //ERT
- if(jobban_isbanned(M, "Emergency Response Team", P) || isbanned_dept)
- jobs += "Emergency Response Team | "
- else
- jobs += "Emergency Response Team | "
-
- //Survivor
- if(jobban_isbanned(M, "Survivor", P) || isbanned_dept)
- jobs += "Survivor | "
- else
- jobs += "Survivor | "
-
- if(jobban_isbanned(M, "Agent", P) || isbanned_dept)
- jobs += "Agent | "
- else
- jobs += "Agent | "
-
- body = "[jobs]"
- dat = "[body]"
- show_browser(usr, dat, "Job-Ban Panel: [M.name]", "jobban2", "size=800x490")
- return*/ // DEPRECATED
//JOBBAN'S INNARDS
else if(href_list["jobban3"])
if(!check_rights(R_MOD,0) && !check_rights(R_ADMIN)) return
@@ -697,7 +617,6 @@
to_world(SPAN_NOTICE("The mode is now: [GLOB.master_mode]!"))
Game() // updates the main game menu
SSticker.save_mode(GLOB.master_mode)
- .(href, list("c_mode"=1))
else if(href_list["f_secret2"])
diff --git a/code/modules/asset_cache/asset_list_items.dm b/code/modules/asset_cache/asset_list_items.dm
index d5d44a0479..d1e7f83dac 100644
--- a/code/modules/asset_cache/asset_list_items.dm
+++ b/code/modules/asset_cache/asset_list_items.dm
@@ -321,7 +321,7 @@
I = icon(icon_file, icon_state, SOUTH)
var/c = initial(item.color)
if (!isnull(c) && c != "#FFFFFF")
- I.Blend(initial(c), ICON_MULTIPLY)
+ I.Blend(c, ICON_MULTIPLY)
else
if (ispath(k, /obj/effect/essentials_set))
var/obj/effect/essentials_set/es_set = new k()
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index b09589990e..2e1f8f33f2 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -1414,11 +1414,8 @@ var/const/MAX_SAVE_SLOTS = 10
var/all_ok = TRUE
for(var/i=1, i<=length(new_xeno_prefix), i++)
var/ascii_char = text2ascii(new_xeno_prefix,i)
- switch(ascii_char)
- // A .. Z
- if(65 to 90) //Uppercase Letters will work
- else
- all_ok = FALSE //everything else - won't
+ if(ascii_char < 65 || ascii_char > 90)
+ all_ok = FALSE //everything else - won't
if(all_ok)
xeno_prefix = new_xeno_prefix
owner.load_xeno_name()
diff --git a/code/modules/clothing/glasses/night.dm b/code/modules/clothing/glasses/night.dm
index afb711c3ca..2a3780832e 100644
--- a/code/modules/clothing/glasses/night.dm
+++ b/code/modules/clothing/glasses/night.dm
@@ -187,7 +187,7 @@
if(target)
var/obj/item/clothing/glasses/night/m56_goggles/G = target
G.set_far_sight(owner, !G.far_sight)
- to_chat(owner, SPAN_NOTICE("You [G.far_sight ? "enable" : "disable"] \the [src]'s far sight system."))
+ to_chat(owner, SPAN_NOTICE("You [G.far_sight ? "enable" : "disable"] \the [G]'s far sight system."))
/datum/action/item_action/m56_goggles/far_sight/update_button_icon()
if(!target)
diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm
index d969587e32..cc7fee7724 100644
--- a/code/modules/clothing/suits/armor.dm
+++ b/code/modules/clothing/suits/armor.dm
@@ -423,7 +423,7 @@
return
var/obj/item/weapon/gun/W = usr.get_active_hand()
if (W.w_class > SIZE_MEDIUM)
- to_chat(usr, SPAN_DANGER("This gun won't fit in \the belt!"))
+ to_chat(usr, SPAN_DANGER("This gun won't fit in the belt!"))
return
holstered = usr.get_active_hand()
usr.drop_held_item()
diff --git a/code/modules/cm_aliens/XenoStructures.dm b/code/modules/cm_aliens/XenoStructures.dm
index 73ced80994..b1fe57d55d 100644
--- a/code/modules/cm_aliens/XenoStructures.dm
+++ b/code/modules/cm_aliens/XenoStructures.dm
@@ -752,7 +752,7 @@
/obj/effect/alien/resin/resin_pillar/proc/handle_attackby(turf/T, obj/item/I, mob/M)
SIGNAL_HANDLER
attackby(I, M)
- return COMPONENT_CANCEL_ATTACKBY
+ return COMPONENT_CANCEL_RESIN_ATTACKBY
/obj/effect/alien/resin/resin_pillar/proc/handle_hitby(turf/T, atom/movable/AM)
SIGNAL_HANDLER
diff --git a/code/modules/cm_marines/orbital_cannon.dm b/code/modules/cm_marines/orbital_cannon.dm
index 8d80f80860..78bdfc3d77 100644
--- a/code/modules/cm_marines/orbital_cannon.dm
+++ b/code/modules/cm_marines/orbital_cannon.dm
@@ -217,15 +217,16 @@ var/list/ob_type_fuel_requirements
if(user)
tray.warhead.source_mob = user
- tray.warhead.warhead_impact(target)
+ var/obj/structure/ob_ammo/warhead/warhead = tray.warhead
+ tray.warhead = null
+ warhead.moveToNullspace()
+ warhead.warhead_impact(target)
sleep(OB_CRASHING_DOWN)
ob_cannon_busy = FALSE
-
chambered_tray = FALSE
tray.fuel_amt = 0
- QDEL_NULL(tray.warhead)
tray.update_icon()
update_icon()
@@ -357,6 +358,9 @@ var/list/ob_type_fuel_requirements
var/max_shake_factor
var/max_knockdown_time
+ // Note that the warhead should be cleared of location by the firing proc,
+ // then auto-delete at the end of the warhead_impact implementation
+
/obj/structure/ob_ammo/warhead/proc/warhead_impact(turf/target)
// make damn sure everyone hears it
playsound(target, 'sound/weapons/gun_orbital_travel.ogg', 100, 1, 75)
@@ -366,7 +370,7 @@ var/list/ob_type_fuel_requirements
message_admins(FONT_SIZE_XL("CLICK TO CANCEL THIS OB"))
var/relative_dir
- for(var/mob/M in range(30, target))
+ for(var/mob/M in urange(30, target))
if(get_turf(M) == target)
relative_dir = 0
else
@@ -377,7 +381,7 @@ var/list/ob_type_fuel_requirements
)
sleep(OB_TRAVEL_TIMING/3)
- for(var/mob/M in range(25, target))
+ for(var/mob/M in urange(25, target))
if(get_turf(M) == target)
relative_dir = 0
else
@@ -388,7 +392,7 @@ var/list/ob_type_fuel_requirements
)
sleep(OB_TRAVEL_TIMING/3)
- for(var/mob/M in range(15, target))
+ for(var/mob/M in urange(15, target))
M.show_message( \
SPAN_HIGHDANGER("OH GOD THE SKY WILL EXPLODE!!!"), SHOW_MESSAGE_VISIBLE, \
SPAN_HIGHDANGER("YOU SHOULDN'T BE HERE!"), SHOW_MESSAGE_AUDIBLE \
@@ -455,6 +459,7 @@ var/list/ob_type_fuel_requirements
handle_ob_shake(target)
sleep(double_explosion_delay)
cell_explosion(target, standard_power, standard_falloff, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, cause_data)
+ qdel(src)
return
// Checks turf around the target
@@ -464,8 +469,11 @@ var/list/ob_type_fuel_requirements
handle_ob_shake(target)
sleep(double_explosion_delay)
cell_explosion(target, standard_power, standard_falloff, EXPLOSION_FALLOFF_SHAPE_LINEAR, null, cause_data)
+ qdel(src)
return
+ qdel(src)
+
/obj/structure/ob_ammo/warhead/incendiary
name = "\improper Incendiary orbital warhead"
warhead_kind = "incendiary"
@@ -497,6 +505,7 @@ var/list/ob_type_fuel_requirements
sleep(clear_delay)
fire_spread(target, cause_data, distance, fire_level, burn_level, fire_color, fire_type, TURF_PROTECTION_OB)
+ qdel(src)
/obj/structure/ob_ammo/warhead/cluster
name = "\improper Cluster orbital warhead"
@@ -529,12 +538,16 @@ var/list/ob_type_fuel_requirements
for(var/i = 1 to total_amount)
for(var/k = 1 to instant_amount)
- var/turf/U = pick(turf_list)
- if(protected_by_pylon(TURF_PROTECTION_OB, U)) //If the turf somehow gained OB protection while the cluster was firing
+ var/turf/selected_turf = pick(turf_list)
+ if(protected_by_pylon(TURF_PROTECTION_OB, selected_turf))
+ continue
+ var/area/selected_area = get_area(selected_turf)
+ if(CEILING_IS_PROTECTED(selected_area?.ceiling, CEILING_PROTECTION_TIER_4))
continue
- fire_in_a_hole(U)
+ fire_in_a_hole(selected_turf)
sleep(delay_between_clusters)
+ QDEL_IN(src, 5 SECONDS) // Leave time for last handle_ob_shake below
/obj/structure/ob_ammo/warhead/cluster/proc/fire_in_a_hole(turf/loc)
new /obj/effect/overlay/temp/blinking_laser (loc)
diff --git a/code/modules/cm_phone/handset.dm b/code/modules/cm_phone/handset.dm
new file mode 100644
index 0000000000..66ecdeb0d0
--- /dev/null
+++ b/code/modules/cm_phone/handset.dm
@@ -0,0 +1,179 @@
+
+#define HANDSET_RANGE 7
+
+/obj/item/handset
+ name = "telephone"
+ icon = 'icons/obj/items/misc.dmi'
+ icon_state = "rpb_phone"
+
+ w_class = SIZE_LARGE
+
+ flags_atom = FPRINT|USES_HEARING
+
+ var/datum/component/phone/phone_component
+
+ var/atom/holder
+
+ var/datum/effects/tethering/tether_effect
+
+ var/raised = FALSE
+ var/zlevel_transfer = FALSE
+ var/zlevel_transfer_timer = TIMER_ID_NULL
+ var/zlevel_transfer_timeout = 5 SECONDS
+
+/obj/item/handset/Initialize(mapload, phone_component, holder)
+ . = ..()
+
+ src.phone_component = phone_component
+ src.holder = holder
+ attach_to(src.holder)
+
+/obj/item/handset/Destroy()
+ phone_component = null
+ holder = null
+ remove_attached()
+ return ..()
+
+/obj/item/handset/hear_talk(mob/living/talker, message, verb="says", datum/language/message_language, italics = 0)
+ . = ..()
+
+ if(talker == loc)
+ phone_component.handle_speak(message, message_language, talker, direct_talking = TRUE)
+ return
+
+ var/distance = get_dist(src, talker)
+
+ if(distance > 1)
+ return
+
+ message = stars(message, (100 - (distance * 40 + rand(-15, 15))))
+
+ phone_component.handle_speak(message, message_language, talker, direct_talking = FALSE)
+
+/obj/item/handset/proc/attach_to(atom/to_attach)
+ if(!istype(to_attach))
+ return
+
+ remove_attached()
+
+ holder = to_attach
+
+/obj/item/handset/proc/remove_attached()
+ holder = null
+ reset_tether()
+
+/obj/item/handset/proc/reset_tether()
+ SIGNAL_HANDLER
+ if (tether_effect)
+ UnregisterSignal(tether_effect, COMSIG_PARENT_QDELETING)
+ if(!QDESTROYING(tether_effect))
+ qdel(tether_effect)
+ tether_effect = null
+ if(!do_zlevel_check())
+ on_beam_removed()
+
+/obj/item/handset/attack_hand(mob/user)
+ if(holder && get_dist(user, holder) > HANDSET_RANGE)
+ return FALSE
+ return ..()
+
+/obj/item/handset/proc/on_beam_removed()
+ if(!holder)
+ return
+
+ if(!loc)
+ return
+
+ if(get_dist(holder, src) > HANDSET_RANGE)
+ phone_component.recall_handset()
+
+ var/atom/tether_to = get_atom_on_turf(src)
+
+ var/atom/tether_from = get_atom_on_turf(holder)
+
+ if(tether_from == tether_to)
+ return
+
+ var/list/tether_effects = apply_tether(tether_from, tether_to, range = HANDSET_RANGE, icon = "wire", always_face = FALSE)
+ tether_effect = tether_effects["tetherer_tether"]
+ RegisterSignal(tether_effect, COMSIG_PARENT_QDELETING, PROC_REF(reset_tether))
+
+/obj/item/handset/attack_self(mob/user)
+ ..()
+
+ if(raised)
+ set_raised(FALSE, user)
+ to_chat(user, SPAN_NOTICE("You lower [src]."))
+ else
+ set_raised(TRUE, user)
+ to_chat(user, SPAN_NOTICE("You raise [src] to your ear."))
+
+/obj/item/handset/proc/set_raised(to_raise, mob/living/carbon/human/user)
+ if(!istype(user))
+ return
+
+ if(!to_raise)
+ raised = FALSE
+ item_state = "rpb_phone"
+ else
+ raised = TRUE
+ item_state = "rpb_phone_ear"
+
+ user.update_inv_r_hand()
+ user.update_inv_l_hand()
+
+/obj/item/handset/dropped(mob/user)
+ . = ..()
+ set_raised(FALSE, user)
+ reset_tether()
+
+/obj/item/handset/on_enter_storage(obj/item/storage/S)
+ . = ..()
+ if(phone_component)
+ phone_component.recall_handset()
+
+/obj/item/handset/forceMove(atom/dest)
+ . = ..()
+ if(.)
+ reset_tether()
+
+/obj/item/handset/moveToNullspace()
+ . = ..()
+ if(.)
+ reset_tether()
+
+/obj/item/handset/proc/do_zlevel_check()
+ if(!holder || !loc?.z || !holder.z)
+ return FALSE
+
+ if(zlevel_transfer)
+ if(loc.z == holder.z)
+ zlevel_transfer = FALSE
+ if(zlevel_transfer_timer)
+ deltimer(zlevel_transfer_timer)
+ UnregisterSignal(holder, COMSIG_MOVABLE_MOVED)
+ return FALSE
+ return TRUE
+
+ if(holder && loc.z != holder.z)
+ zlevel_transfer = TRUE
+ zlevel_transfer_timer = addtimer(CALLBACK(src, PROC_REF(try_doing_tether)), zlevel_transfer_timeout, TIMER_UNIQUE|TIMER_STOPPABLE)
+ RegisterSignal(holder, COMSIG_MOVABLE_MOVED, PROC_REF(transmitter_move_handler))
+ return TRUE
+ return FALSE
+
+/obj/item/handset/proc/transmitter_move_handler(datum/source)
+ SIGNAL_HANDLER
+ zlevel_transfer = FALSE
+ if(zlevel_transfer_timer)
+ deltimer(zlevel_transfer_timer)
+ UnregisterSignal(holder, COMSIG_MOVABLE_MOVED)
+ reset_tether()
+
+/obj/item/handset/proc/try_doing_tether()
+ zlevel_transfer_timer = TIMER_ID_NULL
+ zlevel_transfer = FALSE
+ UnregisterSignal(holder, COMSIG_MOVABLE_MOVED)
+ reset_tether()
+
+#undef HANDSET_RANGE
diff --git a/code/modules/cm_phone/internal_phone.dm b/code/modules/cm_phone/internal_phone.dm
deleted file mode 100644
index 96530503aa..0000000000
--- a/code/modules/cm_phone/internal_phone.dm
+++ /dev/null
@@ -1,15 +0,0 @@
-/obj/structure/transmitter/internal
- name = "\improper internal telephone receiver"
-
- phone_type = /obj/item/phone
-
- var/atom/relay_obj
-
-/obj/structure/transmitter/internal/ui_host(mob/user, datum/tgui/ui)
- if(!relay_obj)
- return ..()
- return relay_obj
-
-/obj/structure/transmitter/internal/Destroy()
- relay_obj = null
- return ..()
diff --git a/code/modules/cm_phone/phone.dm b/code/modules/cm_phone/phone.dm
deleted file mode 100644
index fd9c8aa02d..0000000000
--- a/code/modules/cm_phone/phone.dm
+++ /dev/null
@@ -1,623 +0,0 @@
-GLOBAL_LIST_EMPTY_TYPED(transmitters, /obj/structure/transmitter)
-
-/obj/structure/transmitter
- name = "telephone receiver"
- icon = 'icons/obj/structures/structures.dmi'
- icon_state = "wall_phone"
- desc = "It is a wall mounted telephone. The fine text reads: To log your details with the mainframe please insert your keycard into the slot below. Unfortunately the slot is jammed. You can still use the phone, however."
-
- var/phone_category = "Uncategorised"
- var/phone_color = "white"
- var/phone_id = "Telephone"
- var/phone_icon
-
- var/obj/item/phone/attached_to
- var/atom/tether_holder
-
- var/obj/structure/transmitter/calling
- var/obj/structure/transmitter/caller
-
- var/next_ring = 0
-
- var/phone_type = /obj/item/phone
-
- var/range = 7
-
- var/enabled = TRUE
- /// Whether or not the phone is receiving calls or not. Varies between on/off or forcibly on/off.
- var/do_not_disturb = PHONE_DND_OFF
-
- var/base_icon_state
-
- var/timeout_timer_id
- var/timeout_duration = 30 SECONDS
-
- var/list/networks_receive = list(FACTION_MARINE)
- var/list/networks_transmit = list(FACTION_MARINE)
-
-/obj/structure/transmitter/hidden
- do_not_disturb = PHONE_DND_FORCED
-
-/obj/structure/transmitter/Initialize(mapload, ...)
- . = ..()
- base_icon_state = icon_state
-
- attached_to = new phone_type(src)
- RegisterSignal(attached_to, COMSIG_PARENT_PREQDELETED, PROC_REF(override_delete))
- update_icon()
-
- if(!get_turf(src))
- return
-
- GLOB.transmitters += src
-
-/obj/structure/transmitter/update_icon()
- . = ..()
- SEND_SIGNAL(src, COMSIG_TRANSMITTER_UPDATE_ICON)
- if(attached_to.loc != src)
- icon_state = "[base_icon_state]_ear"
- return
-
- if(caller)
- icon_state = "[base_icon_state]_ring"
- else
- icon_state = base_icon_state
-
-/obj/structure/transmitter/proc/override_delete()
- SIGNAL_HANDLER
- recall_phone()
- return COMPONENT_ABORT_QDEL
-
-
-#define TRANSMITTER_UNAVAILABLE(T) (\
- T.get_calling_phone() \
- || !T.attached_to \
- || T.attached_to.loc != T \
- || !T.enabled\
-)
-
-/obj/structure/transmitter/proc/get_transmitters()
- var/list/phone_list = list()
-
- for(var/possible_phone in GLOB.transmitters)
- var/obj/structure/transmitter/target_phone = possible_phone
- var/current_dnd = FALSE
- switch(target_phone.do_not_disturb)
- if(PHONE_DND_ON, PHONE_DND_FORCED)
- current_dnd = TRUE
- if(TRANSMITTER_UNAVAILABLE(target_phone) || current_dnd) // Phone not available
- continue
- var/net_link = FALSE
- for(var/network in networks_transmit)
- if(network in target_phone.networks_receive)
- net_link = TRUE
- continue
- if(!net_link)
- continue
-
- var/id = target_phone.phone_id
- var/num_id = 1
- while(id in phone_list)
- id = "[target_phone.phone_id] [num_id]"
- num_id++
-
- target_phone.phone_id = id
- phone_list[id] = target_phone
-
- return phone_list
-
-/obj/structure/transmitter/ui_status(mob/user, datum/ui_state/state)
- . = ..()
- if(TRANSMITTER_UNAVAILABLE(src))
- return UI_CLOSE
-
-/obj/structure/transmitter/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
- . = ..()
- if(.)
- return
-
- if(TRANSMITTER_UNAVAILABLE(src))
- return
-
- if(!ishuman(usr))
- return
-
- var/mob/living/carbon/human/user = usr
-
- switch(action)
- if("call_phone")
- call_phone(user, params["phone_id"])
- . = TRUE
- SStgui.close_uis(src)
- if("toggle_dnd")
- toggle_dnd(user)
-
- update_icon()
-
-/obj/structure/transmitter/ui_data(mob/user)
- var/list/data = list()
-
- data["availability"] = do_not_disturb
-
- return data
-
-/obj/structure/transmitter/ui_static_data(mob/user)
- . = list()
-
- .["available_transmitters"] = get_transmitters() - list(phone_id)
- var/list/transmitters = list()
- for(var/i in GLOB.transmitters)
- var/obj/structure/transmitter/T = i
- transmitters += list(list(
- "phone_category" = T.phone_category,
- "phone_color" = T.phone_color,
- "phone_id" = T.phone_id,
- "phone_icon" = T.phone_icon
- ))
-
- .["transmitters"] = transmitters
-
-/obj/structure/transmitter/proc/call_phone(mob/living/carbon/human/user, calling_phone_id)
- var/list/transmitters = get_transmitters()
- transmitters -= phone_id
-
- if(!length(transmitters) || !(calling_phone_id in transmitters))
- to_chat(user, SPAN_PURPLE("[icon2html(src, user)] No transmitters could be located to call!"))
- return
-
- var/obj/structure/transmitter/T = transmitters[calling_phone_id]
- if(!istype(T) || QDELETED(T))
- transmitters -= T
- CRASH("Qdelled/improper atom inside transmitters list! (istype returned: [istype(T)], QDELETED returned: [QDELETED(T)])")
-
- if(TRANSMITTER_UNAVAILABLE(T))
- return
-
- calling = T
- T.caller = src
- T.update_icon()
-
- to_chat(user, SPAN_PURPLE("[icon2html(src, user)] Dialing [calling_phone_id].."))
- playsound(get_turf(user), "rtb_handset")
- timeout_timer_id = addtimer(CALLBACK(src, PROC_REF(reset_call), TRUE), timeout_duration, TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_STOPPABLE)
-
- START_PROCESSING(SSobj, src)
- START_PROCESSING(SSobj, T)
-
- user.put_in_hands(attached_to)
-
-/obj/structure/transmitter/proc/toggle_dnd(mob/living/carbon/human/user)
- switch(do_not_disturb)
- if(PHONE_DND_ON)
- do_not_disturb = PHONE_DND_OFF
- to_chat(user, SPAN_NOTICE("Do Not Disturb has been disabled. You can now receive calls."))
- if(PHONE_DND_OFF)
- do_not_disturb = PHONE_DND_ON
- to_chat(user, SPAN_WARNING("Do Not Disturb has been enabled. No calls will be received."))
- else
- return FALSE
- return TRUE
-
-/obj/structure/transmitter/attack_hand(mob/user)
- . = ..()
-
- if(!attached_to || attached_to.loc != src)
- return
-
- if(!ishuman(user))
- return
-
- if(!enabled)
- return
-
- if(!get_calling_phone())
- tgui_interact(user)
- return
-
- var/obj/structure/transmitter/T = get_calling_phone()
-
- if(T.attached_to && ismob(T.attached_to.loc))
- var/mob/M = T.attached_to.loc
- to_chat(M, SPAN_PURPLE("[icon2html(src, M)] [phone_id] has picked up."))
- if(T.timeout_timer_id)
- deltimer(T.timeout_timer_id)
- T.timeout_timer_id = null
-
- to_chat(user, SPAN_PURPLE("[icon2html(src, user)] Picked up a call from [T.phone_id]."))
- playsound(get_turf(user), "rtb_handset")
-
- user.put_in_active_hand(attached_to)
- update_icon()
-
-
-#undef TRANSMITTER_UNAVAILABLE
-
-/obj/structure/transmitter/tgui_interact(mob/user, datum/tgui/ui)
- ui = SStgui.try_update_ui(user, src, ui)
- if(!ui)
- ui = new(user, src, "PhoneMenu", phone_id)
- ui.open()
-
-/obj/structure/transmitter/proc/set_tether_holder(atom/A)
- tether_holder = A
-
- if(attached_to)
- attached_to.reset_tether()
-
-/obj/structure/transmitter/proc/reset_call(timeout = FALSE)
- var/obj/structure/transmitter/T = get_calling_phone()
- if(T)
- if(T.attached_to && ismob(T.attached_to.loc))
- var/mob/M = T.attached_to.loc
- to_chat(M, SPAN_PURPLE("[icon2html(src, M)] [phone_id] has hung up on you."))
-
- if(attached_to && ismob(attached_to.loc))
- var/mob/M = attached_to.loc
- if(timeout)
- to_chat(M, SPAN_PURPLE("[icon2html(src, M)] Your call to [T.phone_id] has reached voicemail, you immediately disconnect the line."))
- else
- to_chat(M, SPAN_PURPLE("[icon2html(src, M)] You have hung up on [T.phone_id]."))
-
- if(calling)
- calling.caller = null
- calling = null
-
- if(caller)
- caller.calling = null
- caller = null
-
- if(timeout_timer_id)
- deltimer(timeout_timer_id)
- timeout_timer_id = null
-
- if(T)
- if(T.timeout_timer_id)
- deltimer(T.timeout_timer_id)
- T.timeout_timer_id = null
-
- T.update_icon()
- STOP_PROCESSING(SSobj, T)
-
- STOP_PROCESSING(SSobj, src)
-
-/obj/structure/transmitter/process()
- if(caller)
- if(!attached_to)
- STOP_PROCESSING(SSobj, src)
- return
-
- if(attached_to.loc == src)
- if(next_ring < world.time)
- playsound(loc, 'sound/machines/telephone/telephone_ring.ogg', 75)
- visible_message(SPAN_WARNING("[src] rings vigorously!"))
- next_ring = world.time + 3 SECONDS
-
- else if(calling)
- var/obj/structure/transmitter/T = get_calling_phone()
- if(!T)
- STOP_PROCESSING(SSobj, src)
- return
-
- var/obj/item/phone/P = T.attached_to
-
- if(P && attached_to.loc == src && P.loc == T && next_ring < world.time)
- playsound(get_turf(attached_to), 'sound/machines/telephone/telephone_ring.ogg', 20, FALSE, 14)
- visible_message(SPAN_WARNING("[src] rings vigorously!"))
- next_ring = world.time + 3 SECONDS
-
- else
- STOP_PROCESSING(SSobj, src)
- return
-
-
-/obj/structure/transmitter/proc/recall_phone()
- if(ismob(attached_to.loc))
- var/mob/M = attached_to.loc
- M.drop_held_item(attached_to)
- playsound(get_turf(M), "rtb_handset", 100, FALSE, 7)
-
- attached_to.forceMove(src)
- reset_call()
-
- update_icon()
-
-/obj/structure/transmitter/proc/get_calling_phone()
- if(calling)
- return calling
- else if(caller)
- return caller
-
- return
-
-/obj/structure/transmitter/proc/handle_speak(message, datum/language/L, mob/speaking)
- if(L.flags & SIGNLANG) return
-
- var/obj/structure/transmitter/T = get_calling_phone()
- if(!istype(T))
- return
-
- var/obj/item/phone/P = T.attached_to
-
- if(!P || !attached_to)
- return
-
- P.handle_hear(message, L, speaking)
- attached_to.handle_hear(message, L, speaking)
- log_say("TELEPHONE: [key_name(speaking)] on Phone '[phone_id]' to '[T.phone_id]' said '[message]'")
-
-/obj/structure/transmitter/attackby(obj/item/W, mob/user)
- if(W == attached_to)
- recall_phone()
- else
- . = ..()
-
-/obj/structure/transmitter/Destroy()
- if(attached_to)
- if(attached_to.loc == src)
- UnregisterSignal(attached_to, COMSIG_PARENT_PREQDELETED)
- qdel(attached_to)
- else
- attached_to.attached_to = null
- attached_to = null
-
- GLOB.transmitters -= src
- SStgui.close_uis(src)
-
- reset_call()
- return ..()
-
-/obj/item/phone
- name = "telephone"
- icon = 'icons/obj/items/misc.dmi'
- icon_state = "rpb_phone"
-
- w_class = SIZE_LARGE
-
- var/obj/structure/transmitter/attached_to
- var/datum/effects/tethering/tether_effect
-
- var/raised = FALSE
- var/zlevel_transfer = FALSE
- var/zlevel_transfer_timer = TIMER_ID_NULL
- var/zlevel_transfer_timeout = 5 SECONDS
-
-/obj/item/phone/Initialize(mapload)
- . = ..()
- if(istype(loc, /obj/structure/transmitter))
- attach_to(loc)
-
-/obj/item/phone/Destroy()
- remove_attached()
- return ..()
-
-/obj/item/phone/proc/handle_speak(mob/speaking, message, datum/language/L)
- SIGNAL_HANDLER
-
- if(!attached_to || loc == attached_to)
- UnregisterSignal(speaking, COMSIG_LIVING_SPEAK)
- return
-
- attached_to.handle_speak(message, L, speaking)
-
-/obj/item/phone/proc/handle_hear(message, datum/language/L, mob/speaking)
- if(!attached_to)
- return
-
- var/obj/structure/transmitter/T = attached_to.get_calling_phone()
-
- if(!T)
- return
-
- if(!ismob(loc))
- return
-
- var/loudness = 0
- if(raised)
- loudness = 3
-
- var/mob/M = loc
- var/vname = T.phone_id
-
- if(M == speaking)
- vname = attached_to.phone_id
-
- M.hear_radio(
- message, "says", L, part_a = "",
- part_b = " ", vname = vname,
- speaker = speaking, command = loudness, no_paygrade = TRUE)
-
-/obj/item/phone/proc/attach_to(obj/structure/transmitter/to_attach)
- if(!istype(to_attach))
- return
-
- remove_attached()
-
- attached_to = to_attach
-
-
-/obj/item/phone/proc/remove_attached()
- attached_to = null
- reset_tether()
-
-/obj/item/phone/proc/reset_tether()
- SIGNAL_HANDLER
- if (tether_effect)
- UnregisterSignal(tether_effect, COMSIG_PARENT_QDELETING)
- if(!QDESTROYING(tether_effect))
- qdel(tether_effect)
- tether_effect = null
- if(!do_zlevel_check())
- on_beam_removed()
-
-/obj/item/phone/attack_hand(mob/user)
- if(attached_to && get_dist(user, attached_to) > attached_to.range)
- return FALSE
- return ..()
-
-
-/obj/item/phone/proc/on_beam_removed()
- if(!attached_to)
- return
-
- if(loc == attached_to)
- return
-
- if(get_dist(attached_to, src) > attached_to.range)
- attached_to.recall_phone()
-
- var/atom/tether_to = src
-
- if(loc != get_turf(src))
- tether_to = loc
- if(tether_to.loc != get_turf(tether_to))
- attached_to.recall_phone()
- return
-
- var/atom/tether_from = attached_to
-
- if(attached_to.tether_holder)
- tether_from = attached_to.tether_holder
-
- if(tether_from == tether_to)
- return
-
- var/list/tether_effects = apply_tether(tether_from, tether_to, range = attached_to.range, icon = "wire", always_face = FALSE)
- tether_effect = tether_effects["tetherer_tether"]
- RegisterSignal(tether_effect, COMSIG_PARENT_QDELETING, PROC_REF(reset_tether))
-
-/obj/item/phone/attack_self(mob/user)
- ..()
- if(raised)
- set_raised(FALSE, user)
- to_chat(user, SPAN_NOTICE("You lower [src]."))
- else
- set_raised(TRUE, user)
- to_chat(user, SPAN_NOTICE("You raise [src] to your ear."))
-
-
-/obj/item/phone/proc/set_raised(to_raise, mob/living/carbon/human/H)
- if(!istype(H))
- return
-
- if(!to_raise)
- raised = FALSE
- item_state = "rpb_phone"
-
- var/obj/item/device/radio/R = H.get_type_in_ears(/obj/item/device/radio)
- R?.on = TRUE
- else
- raised = TRUE
- item_state = "rpb_phone_ear"
-
- var/obj/item/device/radio/R = H.get_type_in_ears(/obj/item/device/radio)
- R?.on = FALSE
-
- H.update_inv_r_hand()
- H.update_inv_l_hand()
-
-/obj/item/phone/dropped(mob/user)
- . = ..()
- UnregisterSignal(user, COMSIG_LIVING_SPEAK)
-
- set_raised(FALSE, user)
-
-/obj/item/phone/on_enter_storage(obj/item/storage/S)
- . = ..()
- if(attached_to)
- attached_to.recall_phone()
-
-/obj/item/phone/pickup(mob/user)
- . = ..()
- RegisterSignal(user, COMSIG_LIVING_SPEAK, PROC_REF(handle_speak))
-
-/obj/item/phone/forceMove(atom/dest)
- . = ..()
- if(.)
- reset_tether()
-
-/obj/item/phone/proc/do_zlevel_check()
- if(!attached_to || !loc.z || !attached_to.z)
- return FALSE
-
- if(zlevel_transfer)
- if(loc.z == attached_to.z)
- zlevel_transfer = FALSE
- if(zlevel_transfer_timer)
- deltimer(zlevel_transfer_timer)
- UnregisterSignal(attached_to, COMSIG_MOVABLE_MOVED)
- return FALSE
- return TRUE
-
- if(attached_to && loc.z != attached_to.z)
- zlevel_transfer = TRUE
- zlevel_transfer_timer = addtimer(CALLBACK(src, PROC_REF(try_doing_tether)), zlevel_transfer_timeout, TIMER_UNIQUE|TIMER_STOPPABLE)
- RegisterSignal(attached_to, COMSIG_MOVABLE_MOVED, PROC_REF(transmitter_move_handler))
- return TRUE
- return FALSE
-
-/obj/item/phone/proc/transmitter_move_handler(datum/source)
- SIGNAL_HANDLER
- zlevel_transfer = FALSE
- if(zlevel_transfer_timer)
- deltimer(zlevel_transfer_timer)
- UnregisterSignal(attached_to, COMSIG_MOVABLE_MOVED)
- reset_tether()
-
-/obj/item/phone/proc/try_doing_tether()
- zlevel_transfer_timer = TIMER_ID_NULL
- zlevel_transfer = FALSE
- UnregisterSignal(attached_to, COMSIG_MOVABLE_MOVED)
- reset_tether()
-
-/obj/structure/transmitter/no_dnd
- do_not_disturb = PHONE_DND_FORBIDDEN
-
-//rotary desk phones (need a touch tone handset at some point)
-/obj/structure/transmitter/rotary
- name = "rotary telephone"
- icon_state = "rotary_phone"
- desc = "The finger plate is a little stiff."
-
-/obj/structure/transmitter/rotary/no_dnd
- do_not_disturb = PHONE_DND_FORBIDDEN
-
-/obj/structure/transmitter/touchtone
- name = "touch-tone telephone"
- icon_state = "rotary_phone"//placeholder
- desc = "Ancient aliens, it's all true. I'm an expert just like you!"
-
-/obj/structure/transmitter/colony_net
- networks_receive = list(FACTION_COLONIST)
- networks_transmit = list(FACTION_COLONIST)
-
-/obj/structure/transmitter/colony_net/rotary
- name = "rotary telephone"
- icon_state = "rotary_phone"
- desc = "The finger plate is a little stiff."
-
-/obj/structure/transmitter/upp_net
- networks_receive = list(FACTION_UPP)
- networks_transmit = list(FACTION_UPP)
-
-/obj/structure/transmitter/upp_net/rotary
- name = "rotary telephone"
- icon_state = "rotary_phone"
- desc = "The finger plate is a little stiff."
-
-/obj/structure/transmitter/clf_net
- networks_receive = list(FACTION_CLF)
- networks_transmit = list(FACTION_CLF)
-
-/obj/structure/transmitter/clf_net/rotary
- name = "rotary telephone"
- icon_state = "rotary_phone"
- desc = "The finger plate is a little stiff."
-
-/obj/structure/transmitter/wy_net
- networks_receive = list(FACTION_WY)
- networks_transmit = list(FACTION_WY)
-
-/obj/structure/transmitter/wy_net/rotary
- name = "rotary telephone"
- icon_state = "rotary_phone"
- desc = "The finger plate is a little stiff."
diff --git a/code/modules/cm_phone/phone_base.dm b/code/modules/cm_phone/phone_base.dm
new file mode 100644
index 0000000000..4b74262b9e
--- /dev/null
+++ b/code/modules/cm_phone/phone_base.dm
@@ -0,0 +1,100 @@
+/obj/structure/phone_base
+ name = "telephone receiver"
+ icon = 'icons/obj/structures/structures.dmi'
+ icon_state = "wall_phone"
+ desc = "It is a wall mounted telephone. The fine text reads: To log your details with the mainframe please insert your keycard into the slot below. Unfortunately the slot is jammed. You can still use the phone, however."
+
+ var/phone_category = "Uncategorised"
+ var/phone_color = "white"
+ var/phone_id = "Telephone"
+ var/phone_icon
+
+ /// Whether or not the phone is receiving calls or not. Varies between on/off or forcibly on/off.
+ var/do_not_disturb = PHONE_DO_NOT_DISTURB_OFF
+
+ var/list/networks_receive = list(FACTION_MARINE)
+ var/list/networks_transmit = list(FACTION_MARINE)
+
+/obj/structure/phone_base/Initialize(mapload, ...)
+ . = ..()
+
+ AddComponent(/datum/component/phone, phone_category, phone_color, phone_id, phone_icon, do_not_disturb, networks_receive, networks_transmit)
+ RegisterSignal(src, COMSIG_ATOM_PHONE_PICKED_UP, PROC_REF(phone_picked_up))
+ RegisterSignal(src, COMSIG_ATOM_PHONE_HUNG_UP, PROC_REF(phone_hung_up))
+ RegisterSignal(src, COMSIG_ATOM_PHONE_RINGING, PROC_REF(phone_ringing))
+ RegisterSignal(src, COMSIG_ATOM_PHONE_STOPPED_RINGING, PROC_REF(phone_stopped_ringing))
+
+/obj/structure/phone_base/Destroy()
+ networks_receive = null
+ networks_transmit = null
+ return ..()
+
+/obj/structure/phone_base/proc/phone_picked_up()
+ icon_state = PHONE_OFF_BASE_UNIT_ICON_STATE
+
+/obj/structure/phone_base/proc/phone_hung_up()
+ icon_state = PHONE_ON_BASE_UNIT_ICON_STATE
+
+/obj/structure/phone_base/proc/phone_ringing()
+ icon_state = PHONE_RINGING_ICON_STATE
+
+/obj/structure/phone_base/proc/phone_stopped_ringing()
+ if(icon_state == PHONE_OFF_BASE_UNIT_ICON_STATE)
+ return
+ icon_state = PHONE_ON_BASE_UNIT_ICON_STATE
+
+/obj/structure/phone_base/hidden
+ do_not_disturb = PHONE_DO_NOT_DISTURB_FORCED
+
+/obj/structure/phone_base/no_dnd
+ do_not_disturb = PHONE_DO_NOT_DISTURB_FORBIDDEN
+
+//rotary desk phones (need a touch tone handset at some point)
+/obj/structure/phone_base/rotary
+ name = "rotary telephone"
+ icon_state = "rotary_phone"
+ desc = "The finger plate is a little stiff."
+
+/obj/structure/phone_base/rotary/no_dnd
+ do_not_disturb = PHONE_DO_NOT_DISTURB_FORBIDDEN
+
+/obj/structure/phone_base/touchtone
+ name = "touch-tone telephone"
+ icon_state = "rotary_phone"//placeholder
+ desc = "Ancient aliens, it's all true. I'm an expert just like you!"
+
+/obj/structure/phone_base/colony_net
+ networks_receive = list(FACTION_COLONIST)
+ networks_transmit = list(FACTION_COLONIST)
+
+/obj/structure/phone_base/colony_net/rotary
+ name = "rotary telephone"
+ icon_state = "rotary_phone"
+ desc = "The finger plate is a little stiff."
+
+/obj/structure/phone_base/upp_net
+ networks_receive = list(FACTION_UPP)
+ networks_transmit = list(FACTION_UPP)
+
+/obj/structure/phone_base/upp_net/rotary
+ name = "rotary telephone"
+ icon_state = "rotary_phone"
+ desc = "The finger plate is a little stiff."
+
+/obj/structure/phone_base/clf_net
+ networks_receive = list(FACTION_CLF)
+ networks_transmit = list(FACTION_CLF)
+
+/obj/structure/phone_base/clf_net/rotary
+ name = "rotary telephone"
+ icon_state = "rotary_phone"
+ desc = "The finger plate is a little stiff."
+
+/obj/structure/phone_base/wy_net
+ networks_receive = list(FACTION_WY)
+ networks_transmit = list(FACTION_WY)
+
+/obj/structure/phone_base/wy_net/rotary
+ name = "rotary telephone"
+ icon_state = "rotary_phone"
+ desc = "The finger plate is a little stiff."
diff --git a/code/modules/desert_dam/filtration/consoles.dm b/code/modules/desert_dam/filtration/consoles.dm
index 038b96eb47..8c2814fafd 100644
--- a/code/modules/desert_dam/filtration/consoles.dm
+++ b/code/modules/desert_dam/filtration/consoles.dm
@@ -35,8 +35,6 @@ var/global/river_activated = FALSE
if (prob(10))
get_broken()
return
- else
- return
/obj/structure/machinery/filtration/console/proc/get_broken()
if(damaged)
diff --git a/code/modules/flufftext/Chinese.dm b/code/modules/flufftext/Chinese.dm
index 36da1d307a..6b19dd61fc 100644
--- a/code/modules/flufftext/Chinese.dm
+++ b/code/modules/flufftext/Chinese.dm
@@ -62,12 +62,12 @@
//remove complex/simple -u- glide final_syllables
if(initial.initial_sound_flags & SIMPLE_U_ONLY)
for(var/datum/chinese_sound/final_syllable/final_syllable as anything in possible_final_syllables)
- if(initial(initial(final_syllable.vowel_class)) == VOWEL_CLASS_BACK_CLOSE)
+ if(initial(final_syllable.vowel_class) == VOWEL_CLASS_BACK_CLOSE)
possible_final_syllables -= final_syllable
possible_final_syllables += /datum/chinese_sound/final_syllable/u
else if(initial.initial_sound_flags & HALF_U)
for(var/datum/chinese_sound/final_syllable/final_syllable as anything in possible_final_syllables)
- if(initial(initial(final_syllable.vowel_class)) == VOWEL_CLASS_BACK_CLOSE && initial(final_syllable.final_syllable_sound_flags) & U_GROUP_FULL)
+ if(initial(final_syllable.vowel_class) == VOWEL_CLASS_BACK_CLOSE && initial(final_syllable.final_syllable_sound_flags) & U_GROUP_FULL)
possible_final_syllables -= final_syllable
//check for if the sound is alveolo-palatal or sibilant/retroflex - then remove or keep front close vowels accordingly
diff --git a/code/modules/gear_presets/uscm_ship.dm b/code/modules/gear_presets/uscm_ship.dm
index a00e4f1889..fa947cfa01 100644
--- a/code/modules/gear_presets/uscm_ship.dm
+++ b/code/modules/gear_presets/uscm_ship.dm
@@ -417,7 +417,7 @@
dress_extra = list(/obj/item/storage/large_holster/ceremonial_sword/full)
dress_hat = list(/obj/item/clothing/head/marine/peaked/captain/white, /obj/item/clothing/head/marine/peaked/captain/black, /obj/item/clothing/head/marine/peaked)
dress_shoes = list(/obj/item/clothing/shoes/dress/commander)
- dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/officer/white, /obj/item/clothing/suit/storage/jacket/marine/dress/officer/black, /obj/item/clothing/suit/storage/jacket/marine/dress/officer/suit, /obj/item/clothing/suit/storage/jacket/marine/dress)
+ dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/officer/white, /obj/item/clothing/suit/storage/jacket/marine/dress/officer/black, /obj/item/clothing/suit/storage/jacket/marine/dress/officer/suit, /obj/item/clothing/suit/storage/jacket/marine/dress, /obj/item/clothing/suit/storage/jacket/marine/dress/bridge_coat_grey, )
/datum/equipment_preset/uscm_ship/commander/New()
. = ..()
@@ -458,7 +458,6 @@
new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(new_human), WEAR_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/pistol/command(new_human), WEAR_L_STORE)
- new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range/designator(new_human), WEAR_L_HAND)
if(kit)
new_human.equip_to_slot_or_del(new kit(new_human), WEAR_IN_BACK)
@@ -479,6 +478,8 @@
/obj/item/clothing/suit/storage/jacket/marine/dress/officer/black,
/obj/item/clothing/suit/storage/jacket/marine/dress/officer/suit,
/obj/item/clothing/suit/storage/jacket/marine/dress/officer/falcon,
+ /obj/item/clothing/suit/storage/jacket/marine/dress/bridge_coat_grey,
+ /obj/item/clothing/suit/storage/jacket/marine/dress/bridge_coat,
)
/datum/equipment_preset/uscm_ship/commander/council/load_gear(mob/living/carbon/human/new_human)
@@ -512,7 +513,7 @@
minimap_icon = list("cic" = MINIMAP_ICON_COLOR_HEAD)
minimap_background = MINIMAP_ICON_BACKGROUND_CIC
- dress_extra = list(/obj/item/storage/large_holster/ceremonial_sword/full)
+ dress_extra = list(/obj/item/storage/large_holster/ceremonial_sword/full, /obj/item/clothing/suit/storage/jacket/marine/dress/bridge_coat_grey,)
/datum/equipment_preset/uscm_ship/xo/New()
. = ..()
diff --git a/code/modules/law/law.dm b/code/modules/law/law.dm
index 7d59060470..20245beda3 100644
--- a/code/modules/law/law.dm
+++ b/code/modules/law/law.dm
@@ -13,13 +13,14 @@
var/special_punishment = "" //This is for special punishments
//These are bitflags to indicate the type of crime it is.
-#define OPTIONAL_CRIME 1
-#define MINOR_CRIME 2
-#define MAJOR_CRIME 4
-#define CAPITAL_CRIME 8
+#define OPTIONAL_CRIME (1<<0)
+#define MINOR_CRIME (1<<1)
+#define MAJOR_CRIME (1<<2)
+#define CAPITAL_CRIME (1<<3)
+#define PRECAUTIONARY_CHARGE (1<<4)
//These are bitflags for special punishments
-#define PERMABRIG 1
-#define DOUBLE_TIME 2
-#define SAME_AS_ACCUSED 4
-#define DEMOTION 8
+#define PERMABRIG (1<<0)
+#define DOUBLE_TIME (1<<1)
+#define SAME_AS_ACCUSED (1<<2)
+#define DEMOTION (1<<3)
diff --git a/code/modules/law/laws/capital_crime.dm b/code/modules/law/laws/capital_crime.dm
index 8329374e91..687c483c65 100644
--- a/code/modules/law/laws/capital_crime.dm
+++ b/code/modules/law/laws/capital_crime.dm
@@ -10,10 +10,6 @@
name = "Desertion"
desc = "Refusing to carry out the duties essential to one’s post or abandoning post unauthorized, without intent to return. (Retreating from the planet when the FOB is breached is not Desertion, refusing to return when ordered is)."
-/datum/law/capital_law/insanity
- name = "Insanity"
- desc = "Acting in such a manner which makes the offender not sound clear of mind. The CMO or Synthetic can declare insanity on a Marine if the Marine is believed to not be of sound mind. The Marine once cleared to be of sound mind may be released from this particular charge."
-
/datum/law/capital_law/jailbreak_escape
name = "Jailbreak/Escape"
desc = "To escape, assist in an escape, attempt escape, or be willfully and knowingly broken out."
@@ -30,7 +26,3 @@
/datum/law/capital_law/crimes_against_humanity
name = "Crimes against Humanity"
desc = "To engage in actions that violate human rights or otherwise are heinous acts against humans. Examples are torture, cannibalism and forced infection with Xenomorph larva."
-
-/datum/law/capital_law/prisoner_of_war
- name = "Prisoner of War"
- desc = "Being a member of a currently hostile faction to the USCM."
diff --git a/code/modules/law/laws/precautionary_charge.dm b/code/modules/law/laws/precautionary_charge.dm
new file mode 100644
index 0000000000..c06cd6ca52
--- /dev/null
+++ b/code/modules/law/laws/precautionary_charge.dm
@@ -0,0 +1,18 @@
+/datum/law/precautionary_charge
+ severity = PRECAUTIONARY_CHARGE
+ brig_time = PERMABRIG_SENTENCE
+ special_punishment = "Not inclusive for execution criteria."
+
+/datum/law/precautionary_charge/discretionary_arrest
+ name = "Discretionary Detainment"
+ desc = "A discretionary charge used by Commanding Officers to detain personnel for any reason, for the safety and benefit of the operation or security. The duration of this charge is variable and may be pardoned/lifted at any time by the Commanding Officer."
+ special_punishment = "Not inclusive for execution criteria. May only be appealed to the Acting Commander or Provost/USCM HC."
+
+/datum/law/precautionary_charge/insanity
+ name = "Insanity"
+ desc = "Acting in such a manner which makes the offender not sound clear of mind. The CMO or Synthetic can declare insanity on a Marine if the Marine is believed to not be of sound mind. The Marine once cleared to be of sound mind may be released from this particular charge."
+
+/datum/law/precautionary_charge/prisoner_of_war
+ name = "Prisoner of War"
+ desc = "Being a member of a legitimate and recognised faction currently hostile to the USCM."
+ special_punishment = "Execution is forbidden barring exceptional circumstances."
diff --git a/code/modules/mentor/mentorhelp.dm b/code/modules/mentor/mentorhelp.dm
index 7746e90d96..695ec60463 100644
--- a/code/modules/mentor/mentorhelp.dm
+++ b/code/modules/mentor/mentorhelp.dm
@@ -169,10 +169,7 @@
if(sender == author)
message_title = "MentorHelp"
// If there's a mentor, let them mark it. If not, let them unmark it
- if(mentor)
- message_sender_options = " (Unmark"
- else
- message_sender_options = " (Mark"
+ message_sender_options = " (Mark/Unmark"
message_sender_options += " | Close | AutoResponse)"
var/message_header = SPAN_MENTORHELP("[message_title] from [message_sender_key]: [message_sender_options]
")
@@ -274,9 +271,10 @@
if("autorespond")
autoresponse(C)
if("mark")
- mark(C)
- if("unmark")
- unmark(C)
+ if(!mentor)
+ mark(C)
+ else
+ unmark(C)
if("close")
if(C == author || C == mentor || CLIENT_IS_STAFF(C))
close(C)
@@ -327,7 +325,7 @@
var/msg = SPAN_MENTORSAY("Autoresponse: [choice]")
switch(choice)
if("L: Discord")
- msg += "You can join our Discord server by using this link!"
+ msg += "You can join our Discord server by using this link!"
if("L: Xeno Quickstart Guide")
msg += "Your answer can be found on the Xeno Quickstart Guide on our wiki. Check it out here."
if("L: Marine Quickstart Guide")
diff --git a/code/modules/mob/hear_say.dm b/code/modules/mob/hear_say.dm
index 19f461be75..8a13617fa7 100644
--- a/code/modules/mob/hear_say.dm
+++ b/code/modules/mob/hear_say.dm
@@ -90,6 +90,9 @@
else
message = stars(message)
+ if(GLOB.radio_communication_clarity < 100)
+ message = stars(message, GLOB.radio_communication_clarity)
+
if(language)
style = language.color
diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm
index 4b86c827a0..28e45dcb2f 100644
--- a/code/modules/mob/living/carbon/human/say.dm
+++ b/code/modules/mob/living/carbon/human/say.dm
@@ -132,7 +132,6 @@
for(var/message_mode in parsed["modes"])
var/list/obj/item/used_radios = list()
switch(message_mode)
- if(MESSAGE_MODE_LOCAL)
if(RADIO_MODE_WHISPER)
whisper_say(message, speaking, alt_name)
return
@@ -142,9 +141,10 @@
used_radios += I
break // remove this if we EVER have two different intercomms with DIFFERENT frequencies IN ONE ROOM
else
- var/earpiece = get_type_in_ears(/obj/item/device/radio)
- if(earpiece)
- used_radios += earpiece
+ if(message_mode != MESSAGE_MODE_LOCAL)
+ var/earpiece = get_type_in_ears(/obj/item/device/radio)
+ if(earpiece)
+ used_radios += earpiece
var/sound/speech_sound
var/sound_vol
diff --git a/code/modules/mob/living/carbon/xenomorph/Evolution.dm b/code/modules/mob/living/carbon/xenomorph/Evolution.dm
index bf46934730..467fceb360 100644
--- a/code/modules/mob/living/carbon/xenomorph/Evolution.dm
+++ b/code/modules/mob/living/carbon/xenomorph/Evolution.dm
@@ -202,7 +202,7 @@
to_chat(src, SPAN_WARNING("Nuh-uh."))
return FALSE
- if(SSticker?.mode?.flags_round_type & MODE_NO_XENO_EVOLVE)
+ if(SSticker.mode?.flags_round_type & MODE_NO_XENO_EVOLVE)
to_chat(src, SPAN_WARNING("This mode disallows xeno evolution."))
return FALSE
diff --git a/code/modules/mob/living/carbon/xenomorph/XenoMutatorSets.dm b/code/modules/mob/living/carbon/xenomorph/XenoMutatorSets.dm
index 1af6eebcf9..83c8500a1b 100644
--- a/code/modules/mob/living/carbon/xenomorph/XenoMutatorSets.dm
+++ b/code/modules/mob/living/carbon/xenomorph/XenoMutatorSets.dm
@@ -25,6 +25,10 @@
return FALSE
/datum/mutator_set/proc/list_and_purchase_mutators()
+ if(SSticker.mode?.flags_round_type & MODE_NO_XENO_EVOLVE)
+ to_chat(usr, SPAN_WARNING("This mode disallows xeno mutators."))
+ return FALSE
+
var/list/mutators_for_purchase = available_mutators()
var/mob/living/carbon/xenomorph/Xeno = usr
if(mutators_for_purchase.len == 0)
diff --git a/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm b/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm
index fa9036bd83..3fd8e53024 100644
--- a/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm
+++ b/code/modules/mob/living/carbon/xenomorph/XenoProcs.dm
@@ -357,8 +357,8 @@
/mob/living/carbon/xenomorph/proc/pounced_turf(turf/T)
if(!T.density)
- for(var/mob/M in T)
- pounced_mob(M)
+ for(var/mob/living/mob in T)
+ pounced_mob(mob)
break
else
turf_launch_collision(T)
diff --git a/code/modules/mob/living/carbon/xenomorph/ai/movement/drone.dm b/code/modules/mob/living/carbon/xenomorph/ai/movement/drone.dm
index c612fdbe79..ef91bd32bc 100644
--- a/code/modules/mob/living/carbon/xenomorph/ai/movement/drone.dm
+++ b/code/modules/mob/living/carbon/xenomorph/ai/movement/drone.dm
@@ -15,9 +15,6 @@
if(idle_xeno.throwing)
return
- if(idle_xeno.resting)
- return
-
if(home_turf)
if(get_dist(home_turf, idle_xeno) > max_distance_from_home)
home_turf = null
@@ -38,52 +35,16 @@
if(next_home_search > world.time)
return
- var/turf/current_turf = get_turf(idle_xeno.loc)
+ var/turf/current_turf = get_turf(idle_xeno)
next_home_search = world.time + home_search_delay
- if(!current_turf.weeds && current_turf.is_weedable() >= FULLY_WEEDABLE)
+ if(!current_turf.weeds && check_turf(current_turf))
home_turf = current_turf
else
var/shortest_distance
for(var/turf/potential_home as anything in RANGE_TURFS(home_locate_range, current_turf))
-
- var/area/found_area = get_area(potential_home)
- if(found_area.flags_area & AREA_NOTUNNEL)
- continue
-
- if(found_area.flags_area & AREA_UNWEEDABLE)
- continue
-
- if(!found_area.can_build_special)
- continue
-
- if(potential_home in blacklisted_turfs)
- continue
-
- if(potential_home.weeds)
- continue
-
- if(potential_home.is_weedable() < FULLY_WEEDABLE)
- continue
-
- if(locate(/obj/effect/alien/weeds/node) in range(3, potential_home))
- continue
-
- if(potential_home.density)
+ if(!check_turf(potential_home))
continue
- var/blocked = FALSE
- for(var/atom/potential_blocker as anything in potential_home)
- if(potential_blocker.can_block_movement)
- blocked = TRUE
- break
-
- if(blocked)
- continue
-
- for(var/obj/structure/struct in potential_home)
- if(struct.density && !(struct.flags_atom & ON_BORDER))
- continue
-
if(shortest_distance && get_dist(idle_xeno, potential_home) > shortest_distance)
continue
@@ -103,3 +64,44 @@
/datum/xeno_ai_movement/drone/proc/unblacklist_turf(turf/unblacklisting_turf)
blacklisted_turfs -= unblacklisting_turf
+
+/datum/xeno_ai_movement/drone/proc/check_turf(turf/checked_turf)
+ var/area/found_area = get_area(checked_turf)
+ if(found_area.flags_area & AREA_NOTUNNEL)
+ return FALSE
+
+ if(found_area.flags_area & AREA_UNWEEDABLE)
+ return FALSE
+
+ if(!found_area.can_build_special)
+ return FALSE
+
+ if(checked_turf in blacklisted_turfs)
+ return FALSE
+
+ if(checked_turf.weeds)
+ return FALSE
+
+ if(checked_turf.is_weedable() < FULLY_WEEDABLE)
+ return FALSE
+
+ if(locate(/obj/effect/alien/weeds/node) in range(3, checked_turf))
+ return FALSE
+
+ if(checked_turf.density)
+ return FALSE
+
+ var/blocked = FALSE
+ for(var/atom/potential_blocker as anything in checked_turf)
+ if(potential_blocker.can_block_movement)
+ blocked = TRUE
+ break
+
+ if(blocked)
+ return FALSE
+
+ for(var/obj/structure/struct in checked_turf)
+ if(struct.density && !(struct.flags_atom & ON_BORDER))
+ return FALSE
+
+ return TRUE
diff --git a/code/modules/mob/new_player/sprite_accessories/hair.dm b/code/modules/mob/new_player/sprite_accessories/hair.dm
index 3f624b8d3b..3dfe8bebd5 100644
--- a/code/modules/mob/new_player/sprite_accessories/hair.dm
+++ b/code/modules/mob/new_player/sprite_accessories/hair.dm
@@ -738,3 +738,20 @@
/datum/sprite_accessory/hair/aviator
name = "Aviator"
icon_state = "hair_aviator"
+
+/datum/sprite_accessory/hair/gantleponytail
+ name = "Gentle Ponytail"
+ icon_state = "hair_gantleponytail"
+ gender = FEMALE
+
+/datum/sprite_accessory/hair/edgar
+ name = "Edgar"
+ icon_state = "hair_edgar"
+
+/datum/sprite_accessory/hair/emobun
+ name = "Emo Little Bun"
+ icon_state = "hair_emobun"
+
+/datum/sprite_accessory/hair/taper
+ name = "Taper"
+ icon_state = "hair_taper"
diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm
index 8cd5b148a1..fc62c076c7 100644
--- a/code/modules/mob/say.dm
+++ b/code/modules/mob/say.dm
@@ -65,6 +65,9 @@
if(!src.client) //Somehow
return
+ if(SEND_SIGNAL(src, COMSIG_DEAD_SPEAK, message) & COMPONENT_OVERRIDE_DEAD_SPEAK)
+ return
+
if(!src.client.admin_holder || !(client.admin_holder.rights & R_MOD))
if(!dsay_allowed)
to_chat(src, SPAN_DANGER("Deadchat is globally muted"))
diff --git a/code/modules/movement/movement.dm b/code/modules/movement/movement.dm
index da0c76cba9..4645756e29 100644
--- a/code/modules/movement/movement.dm
+++ b/code/modules/movement/movement.dm
@@ -102,11 +102,14 @@
/atom/movable/proc/forceMove(atom/destination)
. = FALSE
+
if(destination)
. = doMove(destination)
else
CRASH("No valid destination passed into forceMove")
+ if(SEND_SIGNAL(src, COMSIG_MOVABLE_FORCEMOVED, destination))
+ return
/atom/movable/proc/moveToNullspace()
return doMove(null)
diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm
index 71d1090b20..bde60ef3a3 100644
--- a/code/modules/paperwork/paper.dm
+++ b/code/modules/paperwork/paper.dm
@@ -382,9 +382,6 @@
/obj/item/paper/attackby(obj/item/P, mob/user)
..()
- var/clown = 0
- if(user.mind && (user.job == "Clown"))
- clown = 1
if(istype(P, /obj/item/paper) || istype(P, /obj/item/photo))
if (istype(P, /obj/item/paper/carbon))
@@ -424,6 +421,7 @@
return
stamps += (stamps=="" ? "
" : "
") + "This paper has been stamped with the [P.name]."
+ playsound(src, 'sound/effects/alien_footstep_medium3.ogg', 20, TRUE, 6)
var/image/stampoverlay = image('icons/obj/items/paper.dmi')
var/x
@@ -439,11 +437,6 @@
stampoverlay.pixel_x = x
stampoverlay.pixel_y = y
- if(istype(P, /obj/item/tool/stamp/clown))
- if(!clown)
- to_chat(user, SPAN_NOTICE("You are totally unable to use the stamp. HONK!"))
- return
-
if(!ico)
ico = new
ico += "paper_[P.icon_state]"
diff --git a/code/modules/projectiles/guns/flamer/flamer.dm b/code/modules/projectiles/guns/flamer/flamer.dm
index 42a0e2ce03..2c842073d6 100644
--- a/code/modules/projectiles/guns/flamer/flamer.dm
+++ b/code/modules/projectiles/guns/flamer/flamer.dm
@@ -23,7 +23,8 @@
/obj/item/attachable/flashlight,
/obj/item/attachable/magnetic_harness,
/obj/item/attachable/attached_gun/extinguisher,
- /obj/item/attachable/attached_gun/flamer_nozzle
+ /obj/item/attachable/attached_gun/extinguisher/pyro,
+ /obj/item/attachable/attached_gun/flamer_nozzle,
)
flags_gun_features = GUN_UNUSUAL_DESIGN|GUN_WIELDED_FIRING_ONLY|GUN_TRIGGER_SAFETY
gun_category = GUN_CATEGORY_HEAVY
@@ -724,12 +725,12 @@ GLOBAL_LIST_EMPTY(flamer_particles)
var/direction_angle = dir2angle(direction)
var/obj/flamer_fire/foundflame = locate() in target
if(!foundflame)
- var/datum/reagent/R = new()
- R.intensityfire = burn_lvl
- R.durationfire = fire_lvl
- R.burn_sprite = burn_sprite
- R.burncolor = f_color
- new/obj/flamer_fire(target, cause_data, R)
+ var/datum/reagent/fire_reag = new()
+ fire_reag.intensityfire = burn_lvl
+ fire_reag.durationfire = fire_lvl
+ fire_reag.burn_sprite = burn_sprite
+ fire_reag.burncolor = f_color
+ new/obj/flamer_fire(target, cause_data, fire_reag)
if(target.density)
return
@@ -742,8 +743,6 @@ GLOBAL_LIST_EMPTY(flamer_particles)
var/angle = 180 - abs( abs( direction_angle - spread_direction_angle ) - 180 ) // the angle difference between the spread direction and initial direction
switch(angle) //this reduces power when the explosion is going around corners
- if (0)
- //no change
if (45)
spread_power *= 0.75
else //turns out angles greater than 90 degrees almost never happen. This bit also prevents trying to spread backwards
@@ -758,25 +757,29 @@ GLOBAL_LIST_EMPTY(flamer_particles)
if (spread_power < 1)
continue
- var/turf/T = get_step(target, spread_direction)
+ var/turf/picked_turf = get_step(target, spread_direction)
- if(!T) //prevents trying to spread into "null" (edge of the map?)
+ if(!picked_turf) //prevents trying to spread into "null" (edge of the map?)
continue
- if(aerial_flame_level && (T.get_pylon_protection_level() >= aerial_flame_level))
- break
+ if(aerial_flame_level)
+ if(picked_turf.get_pylon_protection_level() >= aerial_flame_level)
+ break
+ var/area/picked_area = get_area(picked_turf)
+ if(CEILING_IS_PROTECTED(picked_area?.ceiling, get_ceiling_protection_level(aerial_flame_level)))
+ break
spawn(0)
- fire_spread_recur(T, cause_data, spread_power, spread_direction, fire_lvl, burn_lvl, f_color, burn_sprite, aerial_flame_level)
+ fire_spread_recur(picked_turf, cause_data, spread_power, spread_direction, fire_lvl, burn_lvl, f_color, burn_sprite, aerial_flame_level)
/proc/fire_spread(turf/target, datum/cause_data/cause_data, range, fire_lvl, burn_lvl, f_color, burn_sprite = "dynamic", aerial_flame_level = TURF_PROTECTION_NONE)
- var/datum/reagent/R = new()
- R.intensityfire = burn_lvl
- R.durationfire = fire_lvl
- R.burn_sprite = burn_sprite
- R.burncolor = f_color
+ var/datum/reagent/fire_reag = new()
+ fire_reag.intensityfire = burn_lvl
+ fire_reag.durationfire = fire_lvl
+ fire_reag.burn_sprite = burn_sprite
+ fire_reag.burncolor = f_color
- new/obj/flamer_fire(target, cause_data, R)
+ new/obj/flamer_fire(target, cause_data, fire_reag)
for(var/direction in alldirs)
var/spread_power = range
switch(direction)
@@ -784,7 +787,11 @@ GLOBAL_LIST_EMPTY(flamer_particles)
spread_power--
else
spread_power -= 1.414 //diagonal spreading
- var/turf/T = get_step(target, direction)
- if(aerial_flame_level && (T.get_pylon_protection_level() >= aerial_flame_level))
- continue
- fire_spread_recur(T, cause_data, spread_power, direction, fire_lvl, burn_lvl, f_color, burn_sprite, aerial_flame_level)
+ var/turf/picked_turf = get_step(target, direction)
+ if(aerial_flame_level)
+ if(picked_turf.get_pylon_protection_level() >= aerial_flame_level)
+ continue
+ var/area/picked_area = get_area(picked_turf)
+ if(CEILING_IS_PROTECTED(picked_area?.ceiling, get_ceiling_protection_level(aerial_flame_level)))
+ continue
+ fire_spread_recur(picked_turf, cause_data, spread_power, direction, fire_lvl, burn_lvl, f_color, burn_sprite, aerial_flame_level)
diff --git a/code/modules/projectiles/guns/smgs.dm b/code/modules/projectiles/guns/smgs.dm
index 89e6594c64..24eddf3159 100644
--- a/code/modules/projectiles/guns/smgs.dm
+++ b/code/modules/projectiles/guns/smgs.dm
@@ -11,7 +11,7 @@
aim_slowdown = SLOWDOWN_ADS_QUICK
wield_delay = WIELD_DELAY_VERY_FAST
attachable_allowed = list(
- /obj/item/attachable/suppressor,
+ /obj/item/attachable/suppressor,
/obj/item/attachable/reddot,
/obj/item/attachable/reflex,
/obj/item/attachable/flashlight,
@@ -50,7 +50,8 @@
/obj/item/attachable/suppressor,
/obj/item/attachable/reddot,
/obj/item/attachable/reflex,
- /obj/item/attachable/angledgrip,
+ /obj/item/attachable/angledgrip,
+ /obj/item/attachable/verticalgrip,
/obj/item/attachable/flashlight/grip,
/obj/item/attachable/stock/smg,
/obj/item/attachable/stock/smg/collapsible,
diff --git a/code/modules/reagents/chemistry_properties/prop_positive.dm b/code/modules/reagents/chemistry_properties/prop_positive.dm
index 7f476cecf2..971051e9bf 100644
--- a/code/modules/reagents/chemistry_properties/prop_positive.dm
+++ b/code/modules/reagents/chemistry_properties/prop_positive.dm
@@ -548,7 +548,7 @@
rarity = PROPERTY_RARE
category = PROPERTY_TYPE_REACTANT
value = 3
- max_level = 1
+ COOLDOWN_DECLARE(ghost_notif)
/datum/chem_property/positive/defibrillating/on_delete(mob/living/M)
..()
@@ -574,19 +574,33 @@
/datum/chem_property/positive/defibrillating/process_dead(mob/living/M, potency = 1, delta_time)
if(!ishuman(M))
return
- var/mob/living/carbon/human/H = M
- H.apply_damage(-H.getOxyLoss(), OXY)
- if(H.check_tod() && H.is_revivable() && H.health > HEALTH_THRESHOLD_DEAD)
- to_chat(H, SPAN_NOTICE("You feel your heart struggling as you suddenly feel a spark, making it desperately try to continue pumping."))
- playsound_client(H.client, 'sound/effects/Heart Beat Short.ogg', 35)
- addtimer(CALLBACK(H, TYPE_PROC_REF(/mob/living/carbon/human, handle_revive)), 50, TIMER_UNIQUE)
- else if (potency > POTENCY_MAX_TIER_1 && H.check_tod() && H.is_revivable() && H.health < HEALTH_THRESHOLD_DEAD) //Will heal if level is 7 or greater
- to_chat(H, SPAN_NOTICE("You feel a faint spark in your chest."))
- H.apply_damage(-potency * POTENCY_MULTIPLIER_LOW, BRUTE)
- H.apply_damage(-potency * POTENCY_MULTIPLIER_LOW, BURN)
- H.apply_damage(-potency * POTENCY_MULTIPLIER_LOW, TOX)
- H.apply_damage(-potency * POTENCY_MULTIPLIER_LOW, CLONE)
- H.apply_damage(-H.getOxyLoss(), OXY)
+ var/mob/living/carbon/human/dead = M
+ var/revivable = dead.check_tod() && dead.is_revivable()
+ if(revivable && (dead.health > HEALTH_THRESHOLD_DEAD))
+ addtimer(CALLBACK(dead, TYPE_PROC_REF(/mob/living/carbon/human, handle_revive)), 5 SECONDS)
+ to_chat(dead, SPAN_NOTICE("You feel your heart struggling as you suddenly feel a spark, making it desperately try to continue pumping."))
+ playsound_client(dead.client, 'sound/effects/heart_beat_short.ogg', 35)
+ else if ((potency >= 1) && revivable && dead.health <= HEALTH_THRESHOLD_DEAD) //heals on all level above 1. This is however, minimal.
+ to_chat(dead, SPAN_NOTICE("You feel a faint spark in your chest."))
+ dead.apply_damage(-potency * POTENCY_MULTIPLIER_VLOW, BRUTE)
+ dead.apply_damage(-potency * POTENCY_MULTIPLIER_VLOW, BURN)
+ dead.apply_damage(-potency * POTENCY_MULTIPLIER_VLOW, TOX)
+ dead.apply_damage(-potency * POTENCY_MULTIPLIER_VLOW, CLONE)
+ dead.apply_damage(-dead.getOxyLoss(), OXY)
+ if(potency > CREATE_MAX_TIER_1) //heal more if higher levels
+ dead.apply_damage(-potency * POTENCY_MULTIPLIER_LOW, BRUTE)
+ dead.apply_damage(-potency * POTENCY_MULTIPLIER_LOW, BURN)
+ dead.apply_damage(-potency * POTENCY_MULTIPLIER_LOW, TOX)
+ dead.apply_damage(-potency * POTENCY_MULTIPLIER_LOW, CLONE)
+ if(dead.health < HEALTH_THRESHOLD_DEAD)
+ return
+ if(!COOLDOWN_FINISHED(src, ghost_notif))
+ return
+ var/mob/dead/observer/ghost = dead.get_ghost()
+ if(ghost?.client)
+ COOLDOWN_START(src, ghost_notif, 30 SECONDS)
+ playsound_client(ghost.client, 'sound/effects/adminhelp_new.ogg')
+ to_chat(ghost, SPAN_BOLDNOTICE("Your heart is struggling to pump! There is a chance you might get up!(Verbs -> Ghost -> Re-enter corpse, or click here!)"))
return TRUE
/datum/chem_property/positive/hyperdensificating
diff --git a/code/modules/reagents/chemistry_properties/prop_special.dm b/code/modules/reagents/chemistry_properties/prop_special.dm
index 640e184263..7baa66fc58 100644
--- a/code/modules/reagents/chemistry_properties/prop_special.dm
+++ b/code/modules/reagents/chemistry_properties/prop_special.dm
@@ -369,3 +369,20 @@
/datum/chem_property/special/firepenetrating/update_reagent()
holder.fire_penetrating = TRUE
..()
+
+/datum/chem_property/special/revitalizing
+ name = PROPERTY_REVITALIZING
+ code = "REV"
+ description = "For a period of time, revitalizes the main systems of the body and prevents unconciousness."
+ rarity = PROPERTY_ADMIN
+ category = PROPERTY_TYPE_STIMULANT
+ value = 666
+
+/datum/chem_property/special/revitalizing/reagent_added(mob/living/M)
+ if(!ishuman(M))
+ return
+ M.status_flags &= ~CANKNOCKOUT
+ M.knocked_out = 0
+
+/datum/chem_property/special/revitalizing/on_delete(mob/living/M)
+ M.status_flags |= CANKNOCKOUT
diff --git a/code/modules/reagents/chemistry_reactions/medical.dm b/code/modules/reagents/chemistry_reactions/medical.dm
index 2e38117134..72a491d779 100644
--- a/code/modules/reagents/chemistry_reactions/medical.dm
+++ b/code/modules/reagents/chemistry_reactions/medical.dm
@@ -14,6 +14,13 @@
required_reagents = list("carbon" = 1, "nitrogen" = 1, "oxygen" = 1)
result_amount = 2
+/datum/chemical_reaction/adrenaline_concentrated
+ name = "Epinephrine (concentrated)"
+ id = "adrenaline_concentrated"
+ result = "adrenaline_concentrated"
+ required_reagents = list("carbon" = 1, "nitrogen" = 1, "oxygen" = 1, "phoron" = 3)
+ result_amount = 1
+
/datum/chemical_reaction/alkysine
name = "Alkysine"
id = "alkysine"
diff --git a/code/modules/reagents/chemistry_reagents/drink.dm b/code/modules/reagents/chemistry_reagents/drink.dm
index 468243a0cc..3bd7336c32 100644
--- a/code/modules/reagents/chemistry_reagents/drink.dm
+++ b/code/modules/reagents/chemistry_reagents/drink.dm
@@ -85,13 +85,13 @@
/datum/reagent/drink/carrotjuice/on_mob_life(mob/living/M)
. = ..()
- if(!.) return
+ if(!.)
+ return
M.ReduceEyeBlur(1)
M.ReduceEyeBlind(1)
- if(!data) data = 1
+ if(!data)
+ data = 1
switch(data)
- if(1 to 20)
- //nothing
if(21 to INFINITY)
if(prob(data-10))
M.disabilities &= ~NEARSIGHTED
diff --git a/code/modules/reagents/chemistry_reagents/medical.dm b/code/modules/reagents/chemistry_reagents/medical.dm
index f69d1b952c..01269a0d85 100644
--- a/code/modules/reagents/chemistry_reagents/medical.dm
+++ b/code/modules/reagents/chemistry_reagents/medical.dm
@@ -275,7 +275,7 @@
id = "adrenaline"
description = "A natural muscle and heart stimulant. Useful for restarting the heart. Overdosing may stress the heart and cause tissue damage."
reagent_state = LIQUID
- color = "FFE703" // Yellow-ish
+ color = "#FFE703" // Yellow-ish
overdose = LOWM_REAGENTS_OVERDOSE
overdose_critical = LOWM_REAGENTS_OVERDOSE_CRITICAL
custom_metabolism = AMOUNT_PER_TIME(1, 5 SECONDS)
@@ -283,6 +283,19 @@
properties = list(PROPERTY_PAINKILLING = 1.5, PROPERTY_ELECTROGENETIC = 4, PROPERTY_INTRAVENOUS = 1)
flags = REAGENT_TYPE_MEDICAL | REAGENT_SCANNABLE
+/datum/reagent/medical/adrenaline_concentrated
+ name = "Epinephrine (concentrated)"
+ id = "adrenaline_concentrated"
+ description = "A natural muscle and heart stimulant that is in a high concerntration. Useful for restarting the heart and preventing unconciousness but in this concentrated form it will cause minor suffocation. Overdosing may stress the heart and cause tissue damage."
+ reagent_state = LIQUID
+ color = "#FFE702" // Yellow-ish
+ overdose = LOWM_REAGENTS_OVERDOSE
+ overdose_critical = LOWM_REAGENTS_OVERDOSE_CRITICAL
+ custom_metabolism = AMOUNT_PER_TIME(1, 10 SECONDS)
+ chemclass = CHEM_CLASS_COMMON
+ properties = list(PROPERTY_PAINKILLING = 1.5, PROPERTY_ELECTROGENETIC = 4, PROPERTY_REVITALIZING = 1, PROPERTY_HYPOXEMIC = 5, PROPERTY_INTRAVENOUS = 1)
+ flags = REAGENT_TYPE_MEDICAL | REAGENT_SCANNABLE
+
/datum/reagent/medical/ultrazine
name = "Ultrazine"
id = "ultrazine"
diff --git a/code/modules/tents/equipment.dm b/code/modules/tents/equipment.dm
index 0d47c7e3ce..bf9a76fc2d 100644
--- a/code/modules/tents/equipment.dm
+++ b/code/modules/tents/equipment.dm
@@ -44,9 +44,10 @@
return ..()
/// Telephone
-/obj/structure/transmitter/tent
+/obj/structure/phone_base/tent
layer = INTERIOR_WALLMOUNT_LAYER
-/obj/structure/transmitter/tent/Initialize(mapload, ...)
+
+/obj/structure/phone_base/tent/Initialize(mapload, ...)
AddComponent(/datum/component/tent_supported_object)
return ..()
diff --git a/code/modules/tgs/core/core.dm b/code/modules/tgs/core/core.dm
index 41a0473394..b9a9f27a28 100644
--- a/code/modules/tgs/core/core.dm
+++ b/code/modules/tgs/core/core.dm
@@ -153,4 +153,9 @@
/world/TgsSecurityLevel()
var/datum/tgs_api/api = TGS_READ_GLOBAL(tgs)
if(api)
- api.SecurityLevel()
+ return api.SecurityLevel()
+
+/world/TgsVisibility()
+ var/datum/tgs_api/api = TGS_READ_GLOBAL(tgs)
+ if(api)
+ return api.Visibility()
diff --git a/code/modules/tgs/core/datum.dm b/code/modules/tgs/core/datum.dm
index 68b0330fe8..93377079aa 100644
--- a/code/modules/tgs/core/datum.dm
+++ b/code/modules/tgs/core/datum.dm
@@ -57,3 +57,6 @@ TGS_PROTECT_DATUM(/datum/tgs_api)
/datum/tgs_api/proc/SecurityLevel()
return TGS_UNIMPLEMENTED
+
+/datum/tgs_api/proc/Visibility()
+ return TGS_UNIMPLEMENTED
diff --git a/code/modules/tgs/v5/__interop_version.dm b/code/modules/tgs/v5/__interop_version.dm
index 5d3d491a73..1b52b31d6a 100644
--- a/code/modules/tgs/v5/__interop_version.dm
+++ b/code/modules/tgs/v5/__interop_version.dm
@@ -1 +1 @@
-"5.6.1"
+"5.6.2"
diff --git a/code/modules/tgs/v5/_defines.dm b/code/modules/tgs/v5/_defines.dm
index f973338daa..bdcd4e4dd5 100644
--- a/code/modules/tgs/v5/_defines.dm
+++ b/code/modules/tgs/v5/_defines.dm
@@ -48,6 +48,7 @@
#define DMAPI5_RUNTIME_INFORMATION_REVISION "revision"
#define DMAPI5_RUNTIME_INFORMATION_TEST_MERGES "testMerges"
#define DMAPI5_RUNTIME_INFORMATION_SECURITY_LEVEL "securityLevel"
+#define DMAPI5_RUNTIME_INFORMATION_VISIBILITY "visibility"
#define DMAPI5_CHAT_UPDATE_CHANNELS "channels"
diff --git a/code/modules/tgs/v5/api.dm b/code/modules/tgs/v5/api.dm
index 34cc43f876..45250efc46 100644
--- a/code/modules/tgs/v5/api.dm
+++ b/code/modules/tgs/v5/api.dm
@@ -4,6 +4,7 @@
var/instance_name
var/security_level
+ var/visibility
var/reboot_mode = TGS_REBOOT_MODE_NORMAL
@@ -54,6 +55,7 @@
version = new /datum/tgs_version(runtime_information[DMAPI5_RUNTIME_INFORMATION_SERVER_VERSION])
security_level = runtime_information[DMAPI5_RUNTIME_INFORMATION_SECURITY_LEVEL]
+ visibility = runtime_information[DMAPI5_RUNTIME_INFORMATION_VISIBILITY]
instance_name = runtime_information[DMAPI5_RUNTIME_INFORMATION_INSTANCE_NAME]
var/list/revisionData = runtime_information[DMAPI5_RUNTIME_INFORMATION_REVISION]
@@ -252,3 +254,7 @@
/datum/tgs_api/v5/SecurityLevel()
RequireInitialBridgeResponse()
return security_level
+
+/datum/tgs_api/v5/Visibility()
+ RequireInitialBridgeResponse()
+ return visibility
diff --git a/code/modules/tgs/v5/undefs.dm b/code/modules/tgs/v5/undefs.dm
index c679737dfc..f163adaaaf 100644
--- a/code/modules/tgs/v5/undefs.dm
+++ b/code/modules/tgs/v5/undefs.dm
@@ -48,6 +48,7 @@
#undef DMAPI5_RUNTIME_INFORMATION_REVISION
#undef DMAPI5_RUNTIME_INFORMATION_TEST_MERGES
#undef DMAPI5_RUNTIME_INFORMATION_SECURITY_LEVEL
+#undef DMAPI5_RUNTIME_INFORMATION_VISIBILITY
#undef DMAPI5_CHAT_UPDATE_CHANNELS
diff --git a/code/modules/vehicles/apc/apc.dm b/code/modules/vehicles/apc/apc.dm
index d71db37074..60d21f7090 100644
--- a/code/modules/vehicles/apc/apc.dm
+++ b/code/modules/vehicles/apc/apc.dm
@@ -108,6 +108,8 @@ GLOBAL_LIST_EMPTY(command_apc_list)
add_verb(M.client, list(
/obj/vehicle/multitile/proc/toggle_door_lock,
/obj/vehicle/multitile/proc/activate_horn,
+ /obj/vehicle/multitile/proc/switch_hardpoint,
+ /obj/vehicle/multitile/proc/cycle_hardpoint,
/obj/vehicle/multitile/proc/name_vehicle
))
else if(seat == VEHICLE_GUNNER)
@@ -135,6 +137,8 @@ GLOBAL_LIST_EMPTY(command_apc_list)
remove_verb(M.client, list(
/obj/vehicle/multitile/proc/toggle_door_lock,
/obj/vehicle/multitile/proc/activate_horn,
+ /obj/vehicle/multitile/proc/switch_hardpoint,
+ /obj/vehicle/multitile/proc/cycle_hardpoint,
/obj/vehicle/multitile/proc/name_vehicle,
))
else if(seat == VEHICLE_GUNNER)
diff --git a/code/modules/vehicles/apc/apc_command.dm b/code/modules/vehicles/apc/apc_command.dm
index c5bd559283..1e9fba7371 100644
--- a/code/modules/vehicles/apc/apc_command.dm
+++ b/code/modules/vehicles/apc/apc_command.dm
@@ -7,7 +7,7 @@
interior_map = /datum/map_template/interior/apc_command
- passengers_slots = 8
+ passengers_slots = 15
var/sensor_radius = 45 //45 tiles radius
@@ -98,6 +98,8 @@
add_verb(M.client, list(
/obj/vehicle/multitile/proc/toggle_door_lock,
/obj/vehicle/multitile/proc/activate_horn,
+ /obj/vehicle/multitile/proc/switch_hardpoint,
+ /obj/vehicle/multitile/proc/cycle_hardpoint,
))
else if(seat == VEHICLE_GUNNER)
add_verb(M.client, list(
@@ -119,6 +121,8 @@
remove_verb(M.client, list(
/obj/vehicle/multitile/proc/toggle_door_lock,
/obj/vehicle/multitile/proc/activate_horn,
+ /obj/vehicle/multitile/proc/switch_hardpoint,
+ /obj/vehicle/multitile/proc/cycle_hardpoint,
))
else if(seat == VEHICLE_GUNNER)
remove_verb(M.client, list(
diff --git a/code/modules/vehicles/apc/apc_medical.dm b/code/modules/vehicles/apc/apc_medical.dm
index f8809bedaa..c3b3a16bd8 100644
--- a/code/modules/vehicles/apc/apc_medical.dm
+++ b/code/modules/vehicles/apc/apc_medical.dm
@@ -8,7 +8,7 @@
interior_map = /datum/map_template/interior/apc_med
- passengers_slots = 8
+ passengers_slots = 15
//MED APC can store additional 6 dead revivable bodies for the triage
//but interior won't allow more revivable dead if passengers_taken_slots >= passengers_slots + revivable_dead_slots
//to prevent infinitely growing the marine force inside of the vehicle
@@ -54,6 +54,8 @@
add_verb(M.client, list(
/obj/vehicle/multitile/proc/toggle_door_lock,
/obj/vehicle/multitile/proc/activate_horn,
+ /obj/vehicle/multitile/proc/switch_hardpoint,
+ /obj/vehicle/multitile/proc/cycle_hardpoint,
))
else if(seat == VEHICLE_GUNNER)
add_verb(M.client, list(
@@ -75,6 +77,8 @@
remove_verb(M.client, list(
/obj/vehicle/multitile/proc/toggle_door_lock,
/obj/vehicle/multitile/proc/activate_horn,
+ /obj/vehicle/multitile/proc/switch_hardpoint,
+ /obj/vehicle/multitile/proc/cycle_hardpoint,
))
else if(seat == VEHICLE_GUNNER)
remove_verb(M.client, list(
diff --git a/code/modules/vehicles/hardpoints/primary/dual_cannon.dm b/code/modules/vehicles/hardpoints/primary/dual_cannon.dm
index 763bfb6984..d33fc1d628 100644
--- a/code/modules/vehicles/hardpoints/primary/dual_cannon.dm
+++ b/code/modules/vehicles/hardpoints/primary/dual_cannon.dm
@@ -19,6 +19,8 @@
origins = list(0, -2)
+ allowed_seat = VEHICLE_DRIVER
+
ammo = new /obj/item/ammo_magazine/hardpoint/boyars_dualcannon
max_clips = 2
diff --git a/code/modules/vehicles/hardpoints/secondary/frontal_cannon.dm b/code/modules/vehicles/hardpoints/secondary/frontal_cannon.dm
index 4d454bed12..c7600059d9 100644
--- a/code/modules/vehicles/hardpoints/secondary/frontal_cannon.dm
+++ b/code/modules/vehicles/hardpoints/secondary/frontal_cannon.dm
@@ -18,6 +18,8 @@
origins = list(0, -2)
+ allowed_seat = VEHICLE_DRIVER
+
ammo = new /obj/item/ammo_magazine/hardpoint/m56_cupola/frontal_cannon
max_clips = 1
diff --git a/code/modules/vehicles/hardpoints/support/flare.dm b/code/modules/vehicles/hardpoints/support/flare.dm
index 00dcd3ac18..2cee40064f 100644
--- a/code/modules/vehicles/hardpoints/support/flare.dm
+++ b/code/modules/vehicles/hardpoints/support/flare.dm
@@ -19,6 +19,8 @@
origins = list(0, -2)
+ allowed_seat = VEHICLE_DRIVER
+
ammo = new /obj/item/ammo_magazine/hardpoint/flare_launcher
max_clips = 3
diff --git a/code/modules/vehicles/interior/interactable/vendors.dm b/code/modules/vehicles/interior/interactable/vendors.dm
index 6d98bc85e4..f5aef4f430 100644
--- a/code/modules/vehicles/interior/interactable/vendors.dm
+++ b/code/modules/vehicles/interior/interactable/vendors.dm
@@ -77,7 +77,6 @@
list("AUTOINJECTORS", -1, null, null),
list("Autoinjector (Bicaridine)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/bicaridine, VENDOR_ITEM_REGULAR),
list("Autoinjector (Dexalin+)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/dexalinp, VENDOR_ITEM_REGULAR),
- list("Autoinjector (Epinephrine)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/adrenaline, VENDOR_ITEM_REGULAR),
list("Autoinjector (Inaprovaline)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/inaprovaline, VENDOR_ITEM_REGULAR),
list("Autoinjector (Kelotane)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/kelotane, VENDOR_ITEM_REGULAR),
list("Autoinjector (Oxycodone)", round(scale * 3), /obj/item/reagent_container/hypospray/autoinjector/oxycodone, VENDOR_ITEM_REGULAR),
diff --git a/code/modules/vehicles/interior/interior_landmarks.dm b/code/modules/vehicles/interior/interior_landmarks.dm
index 90284682d2..eb62e50243 100644
--- a/code/modules/vehicles/interior/interior_landmarks.dm
+++ b/code/modules/vehicles/interior/interior_landmarks.dm
@@ -216,18 +216,18 @@
color = "yellow"
/obj/effect/landmark/interior/spawn/telephone/on_load(datum/interior/I)
- var/obj/structure/transmitter/Phone = new(loc)
-
- Phone.icon = icon
- Phone.icon_state = icon_state
- Phone.layer = layer
- Phone.setDir(dir)
- Phone.alpha = alpha
- Phone.update_icon()
- Phone.pixel_x = pixel_x
- Phone.pixel_y = pixel_y
- Phone.phone_category = "Vehicles"
- Phone.phone_id = I.exterior.name
+ var/obj/structure/phone_base/phone = new(loc)
+
+ phone.icon = icon
+ phone.icon_state = icon_state
+ phone.layer = layer
+ phone.setDir(dir)
+ phone.alpha = alpha
+ phone.update_icon()
+ phone.pixel_x = pixel_x
+ phone.pixel_y = pixel_y
+ phone.phone_category = "Vehicles"
+ phone.phone_id = I.exterior.name
qdel(src)
diff --git a/colonialmarines.dme b/colonialmarines.dme
index ceb12bf95f..c2bc51d894 100644
--- a/colonialmarines.dme
+++ b/colonialmarines.dme
@@ -1,4 +1,4 @@
-s// DM Environment file for colonialmarines.dme.
+// DM Environment file for colonialmarines.dme.
// All manual changes should be made outside the BEGIN_ and END_ blocks.
// New source code should be placed in .dm files: choose File/New --> Code File.
// BEGIN_INTERNALS
@@ -11,6 +11,7 @@ s// DM Environment file for colonialmarines.dme.
#define DEBUG
// END_PREFERENCES
// BEGIN_INCLUDE
+#include "code\__odlint.dm"
#include "code\_byond_version_compat.dm"
#include "code\_compile_options.dm"
#include "code\_experiments.dm"
@@ -388,6 +389,7 @@ s// DM Environment file for colonialmarines.dme.
#include "code\datums\components\label.dm"
#include "code\datums\components\orbiter.dm"
#include "code\datums\components\overlay_lighting.dm"
+#include "code\datums\components\phone.dm"
#include "code\datums\components\rename.dm"
#include "code\datums\components\speed_modifier.dm"
#include "code\datums\components\toxin_buildup.dm"
@@ -942,6 +944,7 @@ s// DM Environment file for colonialmarines.dme.
#include "code\game\machinery\vending\vendor_types\crew\sea.dm"
#include "code\game\machinery\vending\vendor_types\crew\senior_officers.dm"
#include "code\game\machinery\vending\vendor_types\crew\staff_officer.dm"
+#include "code\game\machinery\vending\vendor_types\crew\staff_officer_armory.dm"
#include "code\game\machinery\vending\vendor_types\crew\synthetic.dm"
#include "code\game\machinery\vending\vendor_types\crew\vehicle_crew.dm"
#include "code\game\machinery\vending\vendor_types\squad_prep\squad_engineer.dm"
@@ -1585,8 +1588,8 @@ s// DM Environment file for colonialmarines.dme.
#include "code\modules\cm_marines\equipment\weapons.dm"
#include "code\modules\cm_marines\equipment\mortar\mortar_shells.dm"
#include "code\modules\cm_marines\equipment\mortar\mortars.dm"
-#include "code\modules\cm_phone\internal_phone.dm"
-#include "code\modules\cm_phone\phone.dm"
+#include "code\modules\cm_phone\handset.dm"
+#include "code\modules\cm_phone\phone_base.dm"
#include "code\modules\cm_preds\_yaut_defines.dm"
#include "code\modules\cm_preds\falcon.dm"
#include "code\modules\cm_preds\huntdata.dm"
@@ -1755,6 +1758,7 @@ s// DM Environment file for colonialmarines.dme.
#include "code\modules\law\laws\major_crime.dm"
#include "code\modules\law\laws\minor_crime.dm"
#include "code\modules\law\laws\optional.dm"
+#include "code\modules\law\laws\precautionary_charge.dm"
#include "code\modules\lighting\emissive_blocker.dm"
#include "code\modules\lighting\lighting_area.dm"
#include "code\modules\lighting\lighting_atom.dm"
diff --git a/dependencies.sh b/dependencies.sh
index 2889751d36..f88c2f9b0a 100644
--- a/dependencies.sh
+++ b/dependencies.sh
@@ -19,3 +19,5 @@ export SPACEMAN_DMM_VERSION=suite-1.7.2
# Python version for mapmerge and other tools
export PYTHON_VERSION=3.7.9
+
+export OPENDREAM_VERSION=0.2.0
diff --git a/html/changelogs/AutoChangeLog-pr-4657.yml b/html/changelogs/AutoChangeLog-pr-4657.yml
deleted file mode 100644
index 4641f99bb6..0000000000
--- a/html/changelogs/AutoChangeLog-pr-4657.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "CapCamIII"
-delete-after: True
-changes:
- - balance: "Crawling now only takes 1 second to move and no longer has an overhead icon when doing it."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-4693.yml b/html/changelogs/AutoChangeLog-pr-4693.yml
deleted file mode 100644
index e13e912459..0000000000
--- a/html/changelogs/AutoChangeLog-pr-4693.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-author: "fira"
-delete-after: True
-changes:
- - bugfix: "Fixed Rangefinders/Designators preventing you from lazing if you looked up/down them without moving."
- - bugfix: "Fixed Rangefinders/Designators forcing you to look up/down again if you had moved while using them."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-4703.yml b/html/changelogs/AutoChangeLog-pr-4703.yml
deleted file mode 100644
index c140f3ea46..0000000000
--- a/html/changelogs/AutoChangeLog-pr-4703.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "CapCamIII"
-delete-after: True
-changes:
- - spellcheck: "UPP Synth Survivor on the Trijent Dam nightmare is now called a Support Synthetic instead of a Combat Synthetic, as its not a combat synthetic"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-4713.yml b/html/changelogs/AutoChangeLog-pr-4713.yml
deleted file mode 100644
index 71a3a8cfd0..0000000000
--- a/html/changelogs/AutoChangeLog-pr-4713.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "Steelpoint"
-delete-after: True
-changes:
- - rscadd: "UPP ERT's have a chance to be neutral to the USCM."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-4721.yml b/html/changelogs/AutoChangeLog-pr-4721.yml
deleted file mode 100644
index 5c78dc4499..0000000000
--- a/html/changelogs/AutoChangeLog-pr-4721.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-author: "SpartanBobby"
-delete-after: True
-changes:
- - maptweak: "Fixes incorrect DIR on fireshutters in memorial"
- - maptweak: "Corrects lack of warning stripe tile under door in north brig maint"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-4724.yml b/html/changelogs/AutoChangeLog-pr-4724.yml
deleted file mode 100644
index 326c78aea2..0000000000
--- a/html/changelogs/AutoChangeLog-pr-4724.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-author: "foxtrot1322"
-delete-after: True
-changes:
- - rscadd: "Added splints to the survival pouch"
- - rscadd: "Increased survival pouch storage space by 1"
- - spellcheck: "Updates the survival pouch's description"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-4725.yml b/html/changelogs/AutoChangeLog-pr-4725.yml
deleted file mode 100644
index 4bd068d532..0000000000
--- a/html/changelogs/AutoChangeLog-pr-4725.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "fira"
-delete-after: True
-changes:
- - bugfix: "Xeno and Megaphone abovehead chat speech should now properly be centered horizontally."
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-4727.yml b/html/changelogs/AutoChangeLog-pr-4727.yml
deleted file mode 100644
index e8bed292d8..0000000000
--- a/html/changelogs/AutoChangeLog-pr-4727.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "Birdtalon"
-delete-after: True
-changes:
- - rscadd: "USCM Service Jacket to SEA Vendor"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-4730.yml b/html/changelogs/AutoChangeLog-pr-4730.yml
deleted file mode 100644
index b275429f33..0000000000
--- a/html/changelogs/AutoChangeLog-pr-4730.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "Drathek"
-delete-after: True
-changes:
- - bugfix: "Fixed imaginary friends not initializing correctly and throwing a runtime"
\ No newline at end of file
diff --git a/html/changelogs/AutoChangeLog-pr-4731.yml b/html/changelogs/AutoChangeLog-pr-4731.yml
deleted file mode 100644
index 44d62ec78b..0000000000
--- a/html/changelogs/AutoChangeLog-pr-4731.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "Drathek"
-delete-after: True
-changes:
- - ui: "Tweaked the position of some ghost alerts"
\ No newline at end of file
diff --git a/html/changelogs/archive/2023-10.yml b/html/changelogs/archive/2023-10.yml
index dda0958c93..fb4ed664fd 100644
--- a/html/changelogs/archive/2023-10.yml
+++ b/html/changelogs/archive/2023-10.yml
@@ -286,3 +286,97 @@
VileBeggar:
- rscadd: Dartboards are now functional and can be crafted with cardboard.
- bugfix: Fixed an issue with some deconstructed signs losing their icon.
+2023-10-21:
+ Birdtalon:
+ - rscadd: USCM Service Jacket to SEA Vendor
+ CapCamIII:
+ - balance: Crawling now only takes 1 second to move and no longer has an overhead
+ icon when doing it.
+ - balance: Timer on attempting to join ERT after death is now 30 seconds down from
+ 1 minute
+ - spellcheck: UPP Synth Survivor on the Trijent Dam nightmare is now called a Support
+ Synthetic instead of a Combat Synthetic, as its not a combat synthetic
+ Drathek:
+ - bugfix: Fixed imaginary friends not initializing correctly and throwing a runtime
+ - ui: Tweaked the position of some ghost alerts
+ SpartanBobby:
+ - maptweak: Fixes incorrect DIR on fireshutters in memorial
+ - maptweak: Corrects lack of warning stripe tile under door in north brig maint
+ Steelpoint:
+ - rscadd: UPP ERT's have a chance to be neutral to the USCM.
+ fira:
+ - bugfix: Xeno and Megaphone abovehead chat speech should now properly be centered
+ horizontally.
+ - bugfix: Fixed Rangefinders/Designators preventing you from lazing if you looked
+ up/down them without moving.
+ - bugfix: Fixed Rangefinders/Designators forcing you to look up/down again if you
+ had moved while using them.
+ foxtrot1322:
+ - rscadd: Added splints to the survival pouch
+ - rscadd: Increased survival pouch storage space by 1
+ - spellcheck: Updates the survival pouch's description
+2023-10-22:
+ Drathek:
+ - bugfix: Fix incend and cluster OBs not respecting ceiling OB protections.
+ - bugfix: Disabled code in icon2html that is causing bad icon operations
+ Morrow:
+ - server: the rustg mysql driver is now properly compatible with mariadb
+ Zonespace27:
+ - rscadd: Mentors can now unmark mhelps
+ fira:
+ - bugfix: Removed redundant double binding for F1 to AdminHelp from default keybinds.
+ This does not affect existing users or their settings.
+ - rscadd: Stamping papers now makes a noise.
+ - bugfix: Fixed incorrect Reqs vendors visuals on the Almayer. They now blend in
+ with the walls again.
+ - bugfix: Re-fixed Megaphone above-head-chat drifting to the left.
+ harryob:
+ - admin: no more href token errors when changing the game mode via game panel
+ - bugfix: mentorhelp response no longer gives a dead discord link
+ - admin: view-target-records now allows you to note people properly
+ kiVts:
+ - rscadd: Ghosts get notified when they are being revived by DFB property
+ - balance: DFB property healing threshold lowered, You can create DFB property higher
+ than one.
+ realforest2001:
+ - rscadd: Added Discretionary Arrest to JAS.
+ - rscadd: Added a new category to JAS, Precautionary Charges. Moves Insanity and
+ POW to this category.
+2023-10-23:
+ QuickLode:
+ - balance: Nerfs synth surv pouch by removing 1 storage slot.
+ SpypigDev:
+ - rscadd: CIC Armory SO vendor
+ - balance: Moved most combat-themed gear from SO spawn vendors, to CIC Armory vendor
+ - balance: Made RTO pack a point-buy item in CIC Armory vendor for SOs
+ Steelpoint:
+ - balance: Revolver Heavy ammo no longer stuns targets it strikes, it will instead
+ knock them back and slow them down for a short time.
+ harryob:
+ - server: the server now respects /string/title for late joiners
+ stalkerino:
+ - balance: m39 is able to use vertigrip
+2023-10-24:
+ Segrain:
+ - bugfix: Slicing food once again works as intended.
+2023-10-25:
+ fira:
+ - bugfix: Fixed Ghosts and Queen Eye occasionally "eating" pounces in place of a
+ mob on the same turf.
+ - bugfix: Re-Re-Fixed Xeno Above Head Chat offsets, for real this time
+ - bugfix: Fixed people talking in radios all the time. Finally some quiet.
+ - bugfix: deadchat death messages should now display immediately rather than being
+ delayed a couple seconds.
+2023-10-26:
+ 4hands44:
+ - rscadd: Added more attachments, and belts to the CO arsenal.
+ - rscadd: CO now has an Essentials Kit like other roles, containing his Designator,
+ and other useful tools.
+ - rscadd: Re-Adds Bridgecoat to some Officer Dress vendors. (Limited to CO(+) and
+ XO currently.)
+ - rscdel: Removed Laser Designator from CO spawn Preset.
+ - balance: CO can now vend welding Helmet visors.
+ - balance: Adds grenade packets to CO Vendor.
+ XDinka:
+ - rscadd: 'Added four new haircuts: gentle ponytail, edgar haircut, emo bun, taper
+ haircut.'
diff --git a/icons/mob/humans/human_hair.dmi b/icons/mob/humans/human_hair.dmi
index ca4a20bcaf..9634a2543a 100644
Binary files a/icons/mob/humans/human_hair.dmi and b/icons/mob/humans/human_hair.dmi differ
diff --git a/icons/obj/items/syringe.dmi b/icons/obj/items/syringe.dmi
index d08b2a8c2d..d54123a898 100644
Binary files a/icons/obj/items/syringe.dmi and b/icons/obj/items/syringe.dmi differ
diff --git a/interface/interface.dm b/interface/interface.dm
index abbf4049e5..2ea40d924d 100644
--- a/interface/interface.dm
+++ b/interface/interface.dm
@@ -43,7 +43,7 @@
if(tgui_alert(src, "This will open the discord in your browser. Are you sure?", "Confirm", list("Yes", "No")) != "Yes")
return
- src << link("https://discord.gg/v6P6wns5dN")
+ src << link("[CONFIG_GET(string/discordurl)]")
return
/client/verb/github()
diff --git a/interface/skin.dmf b/interface/skin.dmf
index e9a5a21557..dfd279983e 100644
--- a/interface/skin.dmf
+++ b/interface/skin.dmf
@@ -164,7 +164,6 @@ window "mainwindow"
anchor2 = -1,-1
is-default = true
saved-params = "pos;size;is-minimized;is-maximized"
- title = "CM-SS13 - USS Almayer"
is-maximized = true
statusbar = false
icon = 'icons\\taskbar\\gml_distress.png'
@@ -297,7 +296,7 @@ window "infowindow"
text-align = center
font-weight = bold
saved-params = "is-checked"
- text = "discord.gg/v6P6wns5dN"
+ text = "discord.gg/PVE-CMSS13"
command = "discord"
window "outputwindow"
diff --git a/maps/interiors/tank.dmm b/maps/interiors/tank.dmm
index 75da1e24f7..8dc0bf1419 100644
--- a/maps/interiors/tank.dmm
+++ b/maps/interiors/tank.dmm
@@ -6,7 +6,7 @@
name = "back entrance marker";
tag = "back"
},
-/obj/structure/transmitter{
+/obj/structure/phone_base{
dir = 8;
layer = 3.1;
name = "Tank Telephone";
diff --git a/maps/map_files/BigRed/BigRed.dmm b/maps/map_files/BigRed/BigRed.dmm
index 6439378dba..e9b77c1ca9 100644
--- a/maps/map_files/BigRed/BigRed.dmm
+++ b/maps/map_files/BigRed/BigRed.dmm
@@ -1328,7 +1328,7 @@
/obj/structure/machinery/computer/telecomms/monitor{
req_one_access_txt = "19;200"
},
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
dir = 4;
phone_category = "Solaris Ridge";
phone_color = "yellow";
@@ -2958,7 +2958,7 @@
"aiG" = (
/obj/structure/surface/table,
/obj/item/handcuffs,
-/obj/structure/transmitter/colony_net/rotary{
+/obj/structure/phone_base/colony_net/rotary{
phone_category = "Solaris Ridge";
phone_color = "red";
phone_id = "Marshal Office"
@@ -7964,7 +7964,7 @@
"awB" = (
/obj/structure/surface/table/holotable/wood,
/obj/item/reagent_container/food/drinks/coffee,
-/obj/structure/transmitter/colony_net/rotary{
+/obj/structure/phone_base/colony_net/rotary{
phone_category = "Lambda Labs";
phone_color = "blue";
phone_id = "Administration"
@@ -9835,7 +9835,7 @@
/obj/item/device/healthanalyzer,
/obj/structure/pipes/vents/pump,
/obj/item/reagent_container/spray/cleaner,
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "Solaris Ridge";
phone_color = "green";
phone_id = "Clinic";
@@ -11088,7 +11088,7 @@
"aFl" = (
/obj/structure/surface/table,
/obj/effect/spawner/random/technology_scanner,
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
dir = 4;
phone_category = "Eta Labs";
phone_id = "Observation";
@@ -14186,7 +14186,7 @@
dir = 4;
health = 80
},
-/obj/structure/transmitter/colony_net/rotary{
+/obj/structure/phone_base/colony_net/rotary{
phone_category = "Solaris Ridge";
phone_color = "blue";
phone_id = "Administration"
@@ -14648,7 +14648,7 @@
/area/bigredv2/caves/eta/storage)
"aOQ" = (
/obj/structure/surface/table,
-/obj/structure/transmitter/colony_net/rotary{
+/obj/structure/phone_base/colony_net/rotary{
phone_category = "Eta Labs";
phone_color = "Blue";
phone_id = "Director"
@@ -14778,7 +14778,7 @@
/area/bigredv2/outside/hydroponics)
"aPf" = (
/obj/structure/surface/table,
-/obj/structure/transmitter/colony_net/rotary{
+/obj/structure/phone_base/colony_net/rotary{
phone_category = "Eta Labs";
phone_id = "Workshop"
},
@@ -15068,7 +15068,7 @@
dir = 4;
health = 80
},
-/obj/item/phone,
+/obj/item/handset,
/turf/open/floor{
dir = 4;
icon_state = "warnwhite"
@@ -17370,7 +17370,7 @@
/obj/structure/bed/chair/office/dark{
dir = 4
},
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "Solaris Ridge";
phone_color = "blue";
phone_id = "Operations";
@@ -22512,7 +22512,7 @@
dir = 4
},
/obj/structure/surface/table/reinforced,
-/obj/structure/transmitter/colony_net/rotary{
+/obj/structure/phone_base/colony_net/rotary{
phone_category = "Lambda Labs";
phone_id = "Virology"
},
@@ -22833,7 +22833,7 @@
/area/bigredv2/outside/filtration_plant)
"boY" = (
/obj/structure/machinery/cm_vending/sorted/tech/tool_storage,
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "Solaris Ridge";
phone_color = "yellow";
phone_id = "Filtration";
@@ -23347,7 +23347,7 @@
/obj/structure/surface/table,
/obj/effect/spawner/random/technology_scanner,
/obj/effect/landmark/item_pool_spawner/survivor_ammo/buckshot,
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "Solaris Ridge";
phone_color = "yellow";
phone_id = "Engineering";
@@ -24065,7 +24065,7 @@
"bwr" = (
/obj/structure/machinery/light,
/obj/structure/surface/table,
-/obj/structure/transmitter/colony_net/rotary{
+/obj/structure/phone_base/colony_net/rotary{
phone_category = "Solaris Ridge";
phone_color = "green";
phone_id = "Virology Lab"
@@ -24158,7 +24158,7 @@
"bwQ" = (
/obj/structure/surface/table,
/obj/item/tool/screwdriver,
-/obj/structure/transmitter/colony_net/rotary{
+/obj/structure/phone_base/colony_net/rotary{
phone_category = "Eta Labs";
phone_color = "yellow";
phone_id = "Robotics"
@@ -25169,7 +25169,7 @@
"bzF" = (
/obj/structure/surface/table,
/obj/effect/spawner/random/tech_supply,
-/obj/item/phone,
+/obj/item/handset,
/turf/open/floor{
dir = 1;
icon_state = "darkblue2"
@@ -27603,7 +27603,7 @@
/area/bigredv2/caves_sw)
"daB" = (
/obj/structure/surface/table/reinforced,
-/obj/structure/transmitter/colony_net/rotary{
+/obj/structure/phone_base/colony_net/rotary{
phone_category = "Lambda Labs";
phone_id = "Xenobiology"
},
@@ -28788,7 +28788,7 @@
},
/area/bigredv2/caves/eta/living)
"fyO" = (
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "Solaris Ridge";
phone_color = "green";
phone_id = "Clinic Labs";
@@ -28898,7 +28898,7 @@
/obj/structure/machinery/light{
dir = 4
},
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "Lambda Labs";
phone_id = "Surgery";
pixel_y = 24
@@ -29563,7 +29563,7 @@
},
/area/bigredv2/outside/filtration_plant)
"htp" = (
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
do_not_disturb = 1;
dir = 4;
phone_category = "Lambda Labs";
@@ -31175,7 +31175,7 @@
},
/area/bigredv2/caves/eta/xenobiology)
"kyz" = (
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
dir = 4;
phone_category = "Eta Labs";
phone_id = "Observation";
@@ -32691,7 +32691,7 @@
/area/bigredv2/caves/mining)
"ofJ" = (
/obj/structure/surface/table,
-/obj/structure/transmitter/colony_net/rotary{
+/obj/structure/phone_base/colony_net/rotary{
phone_category = "Eta Labs";
phone_color = "red";
phone_id = "Security"
@@ -36454,7 +36454,7 @@
/area/bigredv2/caves_research)
"vBT" = (
/obj/structure/surface/table/reinforced,
-/obj/structure/transmitter/colony_net/rotary{
+/obj/structure/phone_base/colony_net/rotary{
phone_category = "Solaris Ridge";
phone_id = "Clinic Reception"
},
@@ -36812,7 +36812,7 @@
/area/bigredv2/outside/w)
"wry" = (
/obj/structure/surface/table,
-/obj/structure/transmitter/colony_net/rotary{
+/obj/structure/phone_base/colony_net/rotary{
phone_category = "Solaris Ridge";
phone_color = "blue";
phone_id = "Space Port"
diff --git a/maps/map_files/BigRed/sprinkles/70.se-checkpoint.dmm b/maps/map_files/BigRed/sprinkles/70.se-checkpoint.dmm
index 8907ab630f..ec219d07b9 100644
--- a/maps/map_files/BigRed/sprinkles/70.se-checkpoint.dmm
+++ b/maps/map_files/BigRed/sprinkles/70.se-checkpoint.dmm
@@ -69,7 +69,7 @@
/area/bigredv2/outside/filtration_cave_cas)
"kd" = (
/obj/structure/surface/table/almayer,
-/obj/structure/transmitter/colony_net/rotary{
+/obj/structure/phone_base/colony_net/rotary{
phone_category = "Solaris Ridge";
phone_color = "red";
phone_id = "Filtration Checkpoint"
diff --git a/maps/map_files/BigRed/standalone/medbay-v3.dmm b/maps/map_files/BigRed/standalone/medbay-v3.dmm
index 2e89ccc9f4..ae681377cb 100644
--- a/maps/map_files/BigRed/standalone/medbay-v3.dmm
+++ b/maps/map_files/BigRed/standalone/medbay-v3.dmm
@@ -1729,7 +1729,7 @@
/area/bigredv2/outside/medical)
"eD" = (
/obj/structure/surface/table/reinforced,
-/obj/structure/transmitter/colony_net/rotary{
+/obj/structure/phone_base/colony_net/rotary{
phone_category = "Solaris Ridge";
phone_id = "Clinic Reception"
},
@@ -2055,7 +2055,7 @@
},
/area/bigredv2/outside/medical)
"Xh" = (
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "Solaris Ridge";
phone_color = "green";
phone_id = "Clinic Labs";
diff --git a/maps/map_files/CORSAT/Corsat.dmm b/maps/map_files/CORSAT/Corsat.dmm
index e265184172..c95caf2a9b 100644
--- a/maps/map_files/CORSAT/Corsat.dmm
+++ b/maps/map_files/CORSAT/Corsat.dmm
@@ -16467,7 +16467,7 @@
/turf/open/floor/wood,
/area/corsat/gamma/administration)
"aTJ" = (
-/obj/item/phone,
+/obj/item/handset,
/obj/structure/pipes/standard/simple/hidden/green,
/obj/structure/surface/table/woodentable/fancy,
/turf/open/floor{
@@ -25672,7 +25672,7 @@
/area/corsat/omega/offices)
"bug" = (
/obj/structure/surface/table/almayer,
-/obj/item/phone,
+/obj/item/handset,
/turf/open/floor/corsat{
dir = 8;
icon_state = "bluegrey"
@@ -29328,7 +29328,7 @@
/area/corsat/omega/hangar/security)
"bEt" = (
/obj/structure/surface/table/reinforced,
-/obj/item/phone,
+/obj/item/handset,
/turf/open/floor/corsat{
dir = 8;
icon_state = "red"
@@ -36395,7 +36395,7 @@
/area/corsat/gamma/hangar/cargo)
"csM" = (
/obj/structure/surface/table/almayer,
-/obj/item/phone,
+/obj/item/handset,
/turf/open/floor/corsat{
icon_state = "bluegreycorner"
},
@@ -38369,7 +38369,7 @@
/area/corsat/sigma/biodome/gunrange)
"dYh" = (
/obj/structure/surface/table/woodentable/fancy,
-/obj/item/phone,
+/obj/item/handset,
/turf/open/floor{
dir = 8;
icon_state = "carpet15-15"
@@ -41794,7 +41794,7 @@
/area/corsat/theta/airlock/east/id)
"gwW" = (
/obj/structure/surface/table/reinforced,
-/obj/item/phone,
+/obj/item/handset,
/turf/open/floor/corsat{
dir = 10;
icon_state = "red"
@@ -48246,7 +48246,7 @@
/area/corsat/gamma/biodome/complex)
"lnW" = (
/obj/structure/surface/table/reinforced,
-/obj/item/phone,
+/obj/item/handset,
/turf/open/floor/corsat{
dir = 4;
icon_state = "purplewhite"
@@ -48818,7 +48818,7 @@
/area/corsat/sigma/south/complex)
"lIX" = (
/obj/structure/surface/table/reinforced,
-/obj/item/phone,
+/obj/item/handset,
/turf/open/floor/corsat{
icon_state = "purplewhite"
},
@@ -54498,7 +54498,7 @@
dir = 4;
health = 80
},
-/obj/item/phone,
+/obj/item/handset,
/turf/open/floor/corsat{
icon_state = "blue"
},
@@ -64466,7 +64466,7 @@
/obj/item/ashtray/plastic{
pixel_x = 4
},
-/obj/item/phone{
+/obj/item/handset{
pixel_x = -4;
pixel_y = 4
},
diff --git a/maps/map_files/DesertDam/Desert_Dam.dmm b/maps/map_files/DesertDam/Desert_Dam.dmm
index 17a02d24ce..d7a3cd48f8 100644
--- a/maps/map_files/DesertDam/Desert_Dam.dmm
+++ b/maps/map_files/DesertDam/Desert_Dam.dmm
@@ -8246,7 +8246,7 @@
"ayG" = (
/obj/structure/surface/table,
/obj/effect/spawner/random/tech_supply,
-/obj/item/phone,
+/obj/item/handset,
/turf/open/floor/prison{
dir = 1;
icon_state = "blue"
diff --git a/maps/map_files/FOP_v2_Cellblocks/Prison_Station_FOP.dmm b/maps/map_files/FOP_v2_Cellblocks/Prison_Station_FOP.dmm
index 0fd8b269d3..9cd11760c2 100644
--- a/maps/map_files/FOP_v2_Cellblocks/Prison_Station_FOP.dmm
+++ b/maps/map_files/FOP_v2_Cellblocks/Prison_Station_FOP.dmm
@@ -17167,7 +17167,7 @@
},
/area/prison/security/checkpoint/highsec/n)
"aWF" = (
-/obj/item/phone,
+/obj/item/handset,
/obj/structure/surface/table/reinforced,
/turf/open/floor/prison{
dir = 9;
@@ -18315,7 +18315,7 @@
/turf/open/floor/prison,
/area/prison/kitchen)
"bag" = (
-/obj/item/phone,
+/obj/item/handset,
/obj/structure/surface/table/reinforced,
/turf/open/floor{
icon_state = "hydrofloor"
@@ -20844,7 +20844,7 @@
},
/area/prison/cellblock/vip)
"bhq" = (
-/obj/item/phone,
+/obj/item/handset,
/obj/structure/surface/table/reinforced,
/turf/open/floor/prison{
icon_state = "cell_stripe"
@@ -23437,7 +23437,7 @@
},
/area/prison/cellblock/vip)
"boR" = (
-/obj/item/phone,
+/obj/item/handset,
/obj/structure/surface/table/reinforced,
/turf/open/floor/prison{
dir = 1;
@@ -37320,7 +37320,7 @@
/turf/open/floor/prison,
/area/prison/recreation/medsec)
"cgm" = (
-/obj/item/phone,
+/obj/item/handset,
/obj/structure/surface/table/reinforced,
/turf/open/floor/prison,
/area/prison/recreation/medsec)
diff --git a/maps/map_files/FOP_v3_Sciannex/Fiorina_SciAnnex.dmm b/maps/map_files/FOP_v3_Sciannex/Fiorina_SciAnnex.dmm
index 660c219af5..fd4c360e7e 100644
--- a/maps/map_files/FOP_v3_Sciannex/Fiorina_SciAnnex.dmm
+++ b/maps/map_files/FOP_v3_Sciannex/Fiorina_SciAnnex.dmm
@@ -2035,7 +2035,7 @@
/area/fiorina/station/botany)
"bck" = (
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone{
+/obj/item/handset{
pixel_y = 7
},
/turf/open/floor/prison{
@@ -11656,7 +11656,7 @@
/obj/structure/window/reinforced{
dir = 4
},
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -11946,7 +11946,7 @@
},
/area/fiorina/station/lowsec)
"hob" = (
-/obj/item/phone{
+/obj/item/handset{
pixel_y = 7
},
/turf/open/floor/plating/prison,
@@ -12421,11 +12421,11 @@
/obj/structure/window/reinforced{
dir = 8
},
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 7;
pixel_y = -16
},
-/obj/item/phone{
+/obj/item/handset{
pixel_x = -3;
pixel_y = 16
},
@@ -16569,11 +16569,11 @@
/obj/structure/window/reinforced{
dir = 4
},
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 6;
pixel_y = -15
},
-/obj/item/phone{
+/obj/item/handset{
pixel_y = 7
},
/turf/open/floor/prison{
@@ -17733,7 +17733,7 @@
/area/fiorina/station/transit_hub)
"kLX" = (
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone,
+/obj/item/handset,
/turf/open/floor/prison{
dir = 10;
icon_state = "sterile_white"
@@ -19893,7 +19893,7 @@
/obj/structure/window/reinforced{
dir = 4
},
-/obj/item/phone{
+/obj/item/handset{
pixel_x = -3;
pixel_y = 13
},
@@ -21789,7 +21789,7 @@
/obj/structure/window/reinforced{
dir = 4
},
-/obj/item/phone{
+/obj/item/handset{
pixel_x = -3;
pixel_y = 13
},
@@ -31826,7 +31826,7 @@
/turf/open/floor/plating/prison,
/area/fiorina/station/medbay)
"tER" = (
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 9;
pixel_y = -10
},
@@ -34510,11 +34510,11 @@
/obj/structure/window/reinforced{
dir = 8
},
-/obj/item/phone{
+/obj/item/handset{
pixel_x = -3;
pixel_y = 10
},
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 9;
pixel_y = -10
},
@@ -36440,10 +36440,10 @@
/obj/structure/window/reinforced{
dir = 4
},
-/obj/item/phone{
+/obj/item/handset{
pixel_y = -4
},
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 7;
pixel_y = 10
},
diff --git a/maps/map_files/FOP_v3_Sciannex/sprinkles/20.medicalhold.dmm b/maps/map_files/FOP_v3_Sciannex/sprinkles/20.medicalhold.dmm
index 0043ae9f1c..368d8e5faa 100644
--- a/maps/map_files/FOP_v3_Sciannex/sprinkles/20.medicalhold.dmm
+++ b/maps/map_files/FOP_v3_Sciannex/sprinkles/20.medicalhold.dmm
@@ -494,7 +494,7 @@
/obj/structure/window/reinforced{
dir = 4
},
-/obj/item/phone{
+/obj/item/handset{
pixel_x = -3;
pixel_y = 13
},
diff --git a/maps/map_files/Ice_Colony_v3/Shivas_Snowball.dmm b/maps/map_files/Ice_Colony_v3/Shivas_Snowball.dmm
index d777aaf2e7..0332274d42 100644
--- a/maps/map_files/Ice_Colony_v3/Shivas_Snowball.dmm
+++ b/maps/map_files/Ice_Colony_v3/Shivas_Snowball.dmm
@@ -11183,7 +11183,7 @@
pixel_y = 5
},
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = -12;
pixel_y = 7
},
diff --git a/maps/map_files/Kutjevo/Kutjevo.dmm b/maps/map_files/Kutjevo/Kutjevo.dmm
index fdc0fdea32..f82f8bc42d 100644
--- a/maps/map_files/Kutjevo/Kutjevo.dmm
+++ b/maps/map_files/Kutjevo/Kutjevo.dmm
@@ -3336,7 +3336,7 @@
/turf/open/floor/almayer/research/containment/floor2,
/area/kutjevo/interior/power)
"ewF" = (
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 1;
pixel_y = 4
},
@@ -8059,7 +8059,7 @@
dir = 8
},
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 5;
pixel_y = -4
},
diff --git a/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm b/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm
index e798127468..7559e07353 100644
--- a/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm
+++ b/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm
@@ -1367,7 +1367,7 @@
},
/area/lv522/indoors/a_block/dorms)
"aNn" = (
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "LV522 Chances Claim";
phone_color = "red";
phone_id = "Colony Corporate";
@@ -2377,7 +2377,7 @@
/area/lv522/indoors/c_block/garage)
"bny" = (
/obj/effect/decal/cleanable/dirt,
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "LV522 Chances Claim";
phone_color = "red";
phone_id = "Reactor Garage";
@@ -8838,7 +8838,7 @@
/area/lv522/oob)
"ebR" = (
/obj/structure/surface/table/almayer,
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
dir = 1;
phone_category = "LV522 Chances Claim";
phone_color = "red";
@@ -11205,7 +11205,7 @@
/obj/structure/platform{
dir = 8
},
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "LV522 Chances Claim";
phone_color = "red";
phone_id = "LZ1 Service Tunnel";
@@ -11478,7 +11478,7 @@
/area/lv522/landing_zone_2)
"ffO" = (
/obj/effect/decal/cleanable/dirt,
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
dir = 8;
phone_category = "LV522 Chances Claim";
phone_color = "red";
@@ -17534,7 +17534,7 @@
"huX" = (
/obj/structure/surface/table/almayer,
/obj/effect/decal/cleanable/dirt,
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
dir = 1;
phone_category = "LV522 Chances Claim";
phone_color = "red";
@@ -18627,7 +18627,7 @@
"hPQ" = (
/obj/structure/pipes/standard/simple/hidden/green,
/obj/structure/surface/table/woodentable/fancy,
-/obj/structure/transmitter/colony_net/rotary{
+/obj/structure/phone_base/colony_net/rotary{
phone_category = "LV522 Chances Claim";
phone_id = "Chief Engineer Office";
pixel_x = -2;
@@ -19659,7 +19659,7 @@
/area/lv522/landing_zone_1/tunnel)
"ike" = (
/obj/item/prop/alien/hugger,
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
dir = 4;
phone_category = "LV522 Chances Claim";
phone_color = "red";
@@ -22663,7 +22663,7 @@
dir = 8
},
/obj/effect/decal/cleanable/dirt,
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
dir = 4;
phone_category = "LV522 Chances Claim";
phone_color = "red";
@@ -23515,7 +23515,7 @@
/turf/closed/wall/r_wall/biodome/biodome_unmeltable,
/area/lv522/oob)
"jEF" = (
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "LV522 Chances Claim";
phone_color = "red";
phone_id = "Reactor Meeting Room";
@@ -29654,7 +29654,7 @@
/area/lv522/landing_zone_2)
"lSP" = (
/obj/structure/surface/table/almayer,
-/obj/structure/transmitter/colony_net/rotary{
+/obj/structure/phone_base/colony_net/rotary{
phone_category = "LV522 Chances Claim";
phone_id = "Colony Operations Centre";
pixel_y = 6
@@ -30067,7 +30067,7 @@
"mbw" = (
/obj/effect/decal/cleanable/blood,
/obj/effect/decal/cleanable/dirt,
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "LV522 Chances Claim";
phone_color = "red";
phone_id = "Colony Dining";
@@ -31010,7 +31010,7 @@
/turf/open/floor/grass,
/area/lv522/indoors/a_block/garden)
"mtM" = (
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
dir = 4;
phone_category = "LV522 Chances Claim";
phone_color = "red";
@@ -31032,7 +31032,7 @@
"muO" = (
/obj/structure/surface/table/almayer,
/obj/effect/decal/cleanable/dirt,
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
dir = 1;
phone_category = "LV522 Chances Claim";
phone_color = "red";
@@ -32905,7 +32905,7 @@
/turf/open/floor/plating/plating_catwalk/prison,
/area/lv522/indoors/a_block/security)
"nem" = (
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "LV522 Chances Claim";
phone_color = "red";
phone_id = "Colony Northern Dorms";
@@ -34187,7 +34187,7 @@
/turf/open/floor/prison,
/area/lv522/indoors/c_block/mining)
"nDS" = (
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "LV522 Chances Claim";
phone_color = "red";
phone_id = "Colony Dorms";
@@ -36356,7 +36356,7 @@
},
/area/lv522/outdoors/colony_streets/north_west_street)
"osm" = (
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "LV522 Chances Claim";
phone_color = "red";
phone_id = "Reactor Sewer";
@@ -37068,7 +37068,7 @@
},
/area/lv522/indoors/a_block/admin)
"oHR" = (
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
dir = 4;
phone_category = "LV522 Chances Claim";
phone_color = "red";
@@ -37219,7 +37219,7 @@
},
/area/lv522/atmos/east_reactor/south)
"oKN" = (
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "LV522 Chances Claim";
phone_color = "red";
phone_id = "Reactor Central Office";
@@ -41954,7 +41954,7 @@
},
/area/lv522/indoors/a_block/dorms)
"qyp" = (
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "LV522 Chances Claim";
phone_color = "red";
phone_id = "Reactor Eastern Reactor Control";
@@ -42387,7 +42387,7 @@
/turf/open/asphalt/cement,
/area/lv522/outdoors/colony_streets/central_streets)
"qGh" = (
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "LV522 Chances Claim";
phone_color = "red";
phone_id = "Colony Fitness";
@@ -44203,7 +44203,7 @@
"rjl" = (
/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node,
/obj/effect/decal/cleanable/blood,
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "LV522 Chances Claim";
phone_color = "red";
phone_id = "Reactor Entrance Office";
@@ -47074,7 +47074,7 @@
/area/lv522/landing_zone_2)
"slt" = (
/obj/structure/surface/table/almayer,
-/obj/structure/transmitter/colony_net/rotary{
+/obj/structure/phone_base/colony_net/rotary{
phone_category = "LV522 Chances Claim";
phone_id = "Reactor Control";
pixel_y = 6
@@ -55594,7 +55594,7 @@
/obj/structure/bed/chair{
dir = 8
},
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
dir = 8;
phone_category = "LV522 Chances Claim";
phone_color = "red";
@@ -59282,7 +59282,7 @@
/area/lv522/indoors/a_block/admin)
"wDu" = (
/obj/structure/pipes/standard/simple/hidden/green,
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
dir = 8;
phone_category = "LV522 Chances Claim";
phone_color = "red";
@@ -60553,7 +60553,7 @@
/area/lv522/outdoors/colony_streets/north_street)
"xfS" = (
/obj/structure/surface/table/woodentable/fancy,
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
dir = 1;
phone_category = "LV522 Chances Claim";
phone_color = "red";
diff --git a/maps/map_files/LV624/LV624.dmm b/maps/map_files/LV624/LV624.dmm
index 20757954b5..80da4a7381 100644
--- a/maps/map_files/LV624/LV624.dmm
+++ b/maps/map_files/LV624/LV624.dmm
@@ -4750,7 +4750,7 @@
/obj/structure/machinery/light{
dir = 8
},
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "Lazarus Landing";
phone_id = "Research Dome";
pixel_y = 24
@@ -5744,7 +5744,7 @@
/area/lv624/lazarus/sleep_female)
"aBe" = (
/obj/structure/surface/table,
-/obj/item/phone,
+/obj/item/handset,
/obj/effect/landmark/item_pool_spawner/survivor_ammo/buckshot,
/turf/open/floor{
dir = 9;
@@ -8068,7 +8068,7 @@
},
/area/lv624/lazarus/main_hall)
"aJC" = (
-/obj/item/phone{
+/obj/item/handset{
desc = "A model of an ancient Earth communication device.";
force = 8
},
@@ -8640,7 +8640,7 @@
pixel_x = 6;
pixel_y = 14
},
-/obj/structure/transmitter/colony_net/rotary{
+/obj/structure/phone_base/colony_net/rotary{
phone_category = "Lazarus Landing";
phone_color = "red";
phone_id = "Marshal Office"
@@ -11548,7 +11548,7 @@
"aXt" = (
/obj/structure/surface/rack,
/obj/effect/landmark/item_pool_spawner/survivor_ammo/buckshot,
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "Lazarus Landing";
phone_color = "yellow";
phone_id = "Engineering";
@@ -11861,7 +11861,7 @@
"aYJ" = (
/obj/structure/surface/table/woodentable/fancy,
/obj/item/trash/chips,
-/obj/structure/transmitter/colony_net/rotary{
+/obj/structure/phone_base/colony_net/rotary{
phone_category = "Lazarus Landing";
phone_color = "blue";
phone_id = "Director's Office"
@@ -14986,7 +14986,7 @@
/turf/open/gm/river,
/area/lv624/ground/river/central_river)
"hXt" = (
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "Lazarus Landing";
phone_id = "Lakeside Bar";
pixel_y = 32
@@ -17005,7 +17005,7 @@
},
/area/lv624/ground/barrens/west_barrens)
"nrP" = (
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "Lazarus Landing";
phone_id = "Cargo";
pixel_y = 24
@@ -18086,7 +18086,7 @@
/obj/structure/machinery/light{
dir = 4
},
-/obj/structure/transmitter/colony_net/rotary{
+/obj/structure/phone_base/colony_net/rotary{
phone_category = "Lazarus Landing";
phone_id = "Medbay"
},
@@ -18254,7 +18254,7 @@
pixel_x = 25;
pixel_y = -5
},
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "Lazarus Landing";
phone_color = "blue";
phone_id = "Corporate Office";
@@ -19042,7 +19042,7 @@
/turf/open/gm/dirtgrassborder/south,
/area/lv624/ground/colony/north_tcomms_road)
"rVH" = (
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "Lazarus Landing";
phone_color = "yellow";
phone_id = "Communications";
@@ -20048,7 +20048,7 @@
},
/area/lv624/ground/caves/sand_temple)
"ulp" = (
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "Lazarus Landing";
phone_color = "red";
phone_id = "Secure Storage";
diff --git a/maps/map_files/LV624/armory/10.cheese.dmm b/maps/map_files/LV624/armory/10.cheese.dmm
index af57be0474..b16499db31 100644
--- a/maps/map_files/LV624/armory/10.cheese.dmm
+++ b/maps/map_files/LV624/armory/10.cheese.dmm
@@ -17,7 +17,7 @@
},
/area/lv624/lazarus/main_hall)
"d" = (
-/obj/item/phone{
+/obj/item/handset{
desc = "A model of an ancient Earth communication device.";
force = 8
},
diff --git a/maps/map_files/LV624/armory/10.extra.dmm b/maps/map_files/LV624/armory/10.extra.dmm
index 6ac8be8435..e407d06c85 100644
--- a/maps/map_files/LV624/armory/10.extra.dmm
+++ b/maps/map_files/LV624/armory/10.extra.dmm
@@ -17,7 +17,7 @@
},
/area/lv624/lazarus/main_hall)
"d" = (
-/obj/item/phone{
+/obj/item/handset{
desc = "A model of an ancient Earth communication device.";
force = 8
},
diff --git a/maps/map_files/LV624/armory/10.looted.dmm b/maps/map_files/LV624/armory/10.looted.dmm
index cf9c2d141a..40e2637415 100644
--- a/maps/map_files/LV624/armory/10.looted.dmm
+++ b/maps/map_files/LV624/armory/10.looted.dmm
@@ -18,7 +18,7 @@
},
/area/lv624/lazarus/main_hall)
"d" = (
-/obj/item/phone{
+/obj/item/handset{
desc = "A model of an ancient Earth communication device.";
force = 8
},
diff --git a/maps/map_files/LV624/medbay/10.destroyed.dmm b/maps/map_files/LV624/medbay/10.destroyed.dmm
index bf310be7dd..d0f71603dd 100644
--- a/maps/map_files/LV624/medbay/10.destroyed.dmm
+++ b/maps/map_files/LV624/medbay/10.destroyed.dmm
@@ -129,7 +129,7 @@
/obj/structure/machinery/light{
dir = 4
},
-/obj/structure/transmitter/colony_net/rotary{
+/obj/structure/phone_base/colony_net/rotary{
phone_category = "Lazarus Landing";
phone_id = "Medbay"
},
diff --git a/maps/map_files/LV624/medbay/30.larvasurgery.dmm b/maps/map_files/LV624/medbay/30.larvasurgery.dmm
index 613b76c3e2..7a773c4c6d 100644
--- a/maps/map_files/LV624/medbay/30.larvasurgery.dmm
+++ b/maps/map_files/LV624/medbay/30.larvasurgery.dmm
@@ -515,7 +515,7 @@
/obj/structure/machinery/light{
dir = 4
},
-/obj/structure/transmitter/colony_net/rotary{
+/obj/structure/phone_base/colony_net/rotary{
phone_category = "Lazarus Landing";
phone_id = "Medbay"
},
diff --git a/maps/map_files/LV624/science/10.yautja.dmm b/maps/map_files/LV624/science/10.yautja.dmm
index 7c8df9531d..52130f95fc 100644
--- a/maps/map_files/LV624/science/10.yautja.dmm
+++ b/maps/map_files/LV624/science/10.yautja.dmm
@@ -172,7 +172,7 @@
dir = 8
},
/obj/effect/landmark/crap_item,
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "Lazarus Landing";
phone_id = "Research Dome";
pixel_y = 24
diff --git a/maps/map_files/LV624/science/40.fullylocked.dmm b/maps/map_files/LV624/science/40.fullylocked.dmm
index 1957d6fef0..b6124474f9 100644
--- a/maps/map_files/LV624/science/40.fullylocked.dmm
+++ b/maps/map_files/LV624/science/40.fullylocked.dmm
@@ -409,7 +409,7 @@
},
/area/lv624/lazarus/research)
"oe" = (
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
phone_category = "Lazarus Landing";
phone_id = "Research Dome";
pixel_y = 24
diff --git a/maps/map_files/LV624/standalone/clfship.dmm b/maps/map_files/LV624/standalone/clfship.dmm
index e69c2de5bc..2700593a2a 100644
--- a/maps/map_files/LV624/standalone/clfship.dmm
+++ b/maps/map_files/LV624/standalone/clfship.dmm
@@ -161,7 +161,7 @@
},
/area/lv624/lazarus/crashed_ship)
"fA" = (
-/obj/structure/transmitter/clf_net{
+/obj/structure/phone_base/clf_net{
phone_category = "CR-116";
phone_id = "Armoury";
pixel_y = 32
@@ -664,7 +664,7 @@
"sI" = (
/obj/structure/surface/table/reinforced/prison,
/obj/effect/spawner/random/toolbox,
-/obj/structure/transmitter/clf_net/rotary{
+/obj/structure/phone_base/clf_net/rotary{
phone_category = "CR-116";
phone_color = "yellow";
phone_id = "Engineering"
@@ -1657,7 +1657,7 @@
/area/lv624/lazarus/crashed_ship)
"Qj" = (
/obj/structure/machinery/body_scanconsole,
-/obj/structure/transmitter/clf_net{
+/obj/structure/phone_base/clf_net{
phone_category = "CR-116";
phone_color = "green";
phone_id = "Medical Bay";
@@ -1987,7 +1987,7 @@
},
/area/lv624/lazarus/crashed_ship)
"XM" = (
-/obj/structure/transmitter/clf_net{
+/obj/structure/phone_base/clf_net{
phone_category = "CR-116";
phone_id = "Cargo Bay";
pixel_y = 32
diff --git a/maps/map_files/LV624/standalone/laststand.dmm b/maps/map_files/LV624/standalone/laststand.dmm
index 43201f92cb..ebdb595397 100644
--- a/maps/map_files/LV624/standalone/laststand.dmm
+++ b/maps/map_files/LV624/standalone/laststand.dmm
@@ -404,7 +404,7 @@
/turf/open/floor/wood,
/area/lv624/ground/caves/north_central_caves)
"Yc" = (
-/obj/structure/transmitter/colony_net{
+/obj/structure/phone_base/colony_net{
pixel_y = 32;
phone_category = "Lazarus Landing";
phone_id = "Lakeside Bar"
diff --git a/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm b/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm
index 328e450fba..d34d18de84 100644
--- a/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm
+++ b/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm
@@ -1306,7 +1306,7 @@
/area/strata/ug/interior)
"adR" = (
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -4512,7 +4512,7 @@
/area/strata/ag/interior/research_decks/security)
"anv" = (
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -4540,7 +4540,7 @@
/area/strata/ag/exterior/research_decks)
"anz" = (
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -4819,7 +4819,7 @@
/area/strata/ag/interior/outpost/security)
"aoD" = (
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -6165,7 +6165,7 @@
/area/strata/ag/interior/outpost/security)
"asB" = (
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -6252,7 +6252,7 @@
/area/strata/ag/interior/outpost/canteen/lower_cafeteria)
"asP" = (
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -7055,7 +7055,7 @@
"avj" = (
/obj/structure/surface/table/reinforced/prison,
/obj/item/device/flashlight/lamp,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -7274,7 +7274,7 @@
dir = 8
},
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -8812,7 +8812,7 @@
/area/strata/ag/interior/outpost/security)
"aAC" = (
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -8842,7 +8842,7 @@
"aAG" = (
/obj/structure/surface/table/reinforced/prison,
/obj/item/device/flashlight/lamp,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -12599,7 +12599,7 @@
pixel_x = -10
},
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -14807,7 +14807,7 @@
/area/strata/ag/interior/outpost/admin)
"aTN" = (
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -15826,7 +15826,7 @@
/area/strata/ag/interior/mountain)
"aXH" = (
/obj/structure/surface/table,
-/obj/item/phone,
+/obj/item/handset,
/turf/open/floor/strata,
/area/strata/ag/interior/dorms/south)
"aXI" = (
@@ -17987,7 +17987,7 @@
/area/strata/ag/exterior/paths/adminext)
"bfF" = (
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -20087,7 +20087,7 @@
"bnI" = (
/obj/structure/surface/table/reinforced/prison,
/obj/item/paper_bin,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -21469,7 +21469,7 @@
/area/strata/ag/interior/outpost/admin)
"bsH" = (
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -23500,7 +23500,7 @@
/area/strata/ag/interior/outpost/med)
"bBY" = (
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -23736,7 +23736,7 @@
/obj/item/paper_bin,
/obj/item/tool/pen/blue,
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -24098,7 +24098,7 @@
/area/strata/ag/interior/outpost/med)
"bGx" = (
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -24569,7 +24569,7 @@
/area/strata/ag/interior/outpost/med)
"bJW" = (
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -27900,7 +27900,7 @@
/obj/structure/surface/table/reinforced/prison,
/obj/item/paper_bin,
/obj/item/tool/pen/blue,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -28071,7 +28071,7 @@
/area/strata/ag/interior/outpost/engi/drome/shuttle)
"clr" = (
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -29755,7 +29755,7 @@
dir = 1
},
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -31540,7 +31540,7 @@
/obj/structure/surface/table/reinforced/prison,
/obj/item/paper_bin,
/obj/item/tool/pen/blue,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -31654,7 +31654,7 @@
"gkA" = (
/obj/structure/surface/table/reinforced/prison,
/obj/item/device/flashlight/lamp,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -32113,7 +32113,7 @@
/area/strata/ag/exterior/research_decks)
"haw" = (
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
@@ -37528,7 +37528,7 @@
/area/strata/ag/interior/mountain)
"qzf" = (
/obj/structure/surface/table/reinforced/prison,
-/obj/item/phone{
+/obj/item/handset{
pixel_x = 8;
pixel_y = 6
},
diff --git a/maps/map_files/USS_Almayer/USS_Almayer.dmm b/maps/map_files/USS_Almayer/USS_Almayer.dmm
index 91450070b8..aef7fc155d 100644
--- a/maps/map_files/USS_Almayer/USS_Almayer.dmm
+++ b/maps/map_files/USS_Almayer/USS_Almayer.dmm
@@ -529,19 +529,6 @@
icon_state = "red"
},
/area/almayer/hallways/aft_hallway)
-"abQ" = (
-/obj/structure/surface/rack,
-/obj/item/clothing/suit/storage/marine/light/vest,
-/obj/item/clothing/suit/storage/marine/light/vest,
-/obj/item/device/radio/intercom{
- freerange = 1;
- name = "General Listening Channel";
- pixel_y = 28
- },
-/turf/open/floor/almayer{
- icon_state = "redfull"
- },
-/area/almayer/command/cic)
"abR" = (
/obj/item/tank/phoron,
/turf/open/floor/almayer{
@@ -1574,20 +1561,6 @@
icon_state = "plating"
},
/area/almayer/shipboard/starboard_missiles)
-"afb" = (
-/obj/structure/surface/table/reinforced/almayer_B,
-/obj/structure/transmitter{
- dir = 4;
- name = "Starboard Railgun Control Telephone";
- phone_category = "Command";
- phone_id = "Starboard Railgun Control";
- pixel_x = -26
- },
-/obj/item/device/binoculars,
-/turf/open/floor/almayer{
- icon_state = "redfull"
- },
-/area/almayer/shipboard/starboard_missiles)
"afc" = (
/obj/structure/reagent_dispensers/water_cooler/stacks{
density = 0;
@@ -5557,23 +5530,6 @@
icon_state = "dark_sterile"
},
/area/almayer/living/pilotbunks)
-"asi" = (
-/obj/structure/pipes/standard/manifold/hidden/supply{
- dir = 4
- },
-/obj/structure/transmitter{
- dir = 8;
- name = "OT Telephone";
- phone_category = "Almayer";
- phone_id = "Ordnance Tech";
- pixel_x = 14
- },
-/obj/structure/disposalpipe/segment,
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "orange"
- },
-/area/almayer/engineering/engineering_workshop/hangar)
"asj" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -6963,43 +6919,6 @@
icon_state = "ai_floors"
},
/area/almayer/command/airoom)
-"avL" = (
-/obj/structure/machinery/door_control{
- id = "ARES StairsUpper";
- name = "ARES Core Access";
- pixel_x = -10;
- pixel_y = -24;
- req_one_access_txt = "91;92"
- },
-/obj/structure/machinery/door_control{
- id = "ARES StairsLock";
- name = "ARES Exterior Lockdown";
- pixel_y = -24;
- req_one_access_txt = "91;92"
- },
-/obj/structure/surface/table/reinforced/almayer_B{
- climbable = 0;
- indestructible = 1;
- unacidable = 1;
- unslashable = 1
- },
-/obj/structure/transmitter/rotary{
- name = "AI Reception Telephone";
- phone_category = "ARES";
- phone_color = "blue";
- phone_id = "AI Reception"
- },
-/obj/structure/machinery/door_control{
- id = "ARES Emergency";
- name = "ARES Emergency Lockdown";
- pixel_x = 10;
- pixel_y = -24;
- req_one_access_txt = "91;92"
- },
-/turf/open/floor/almayer/no_build{
- icon_state = "ai_floors"
- },
-/area/almayer/command/airoom)
"avM" = (
/obj/structure/machinery/computer/cameras/almayer/ares{
dir = 8;
@@ -10368,28 +10287,6 @@
/obj/structure/flora/bush/ausbushes/var3/fullgrass,
/turf/open/floor/grass,
/area/almayer/living/starboard_garden)
-"aIC" = (
-/obj/structure/surface/table/almayer,
-/obj/effect/decal/warning_stripes{
- icon_state = "S"
- },
-/obj/structure/transmitter/rotary{
- name = "Researcher Office Telephone";
- phone_category = "Almayer";
- phone_id = "Research";
- pixel_y = 6
- },
-/obj/item/reagent_container/glass/beaker{
- pixel_x = 6;
- pixel_y = -1
- },
-/obj/item/reagent_container/glass/beaker/large{
- pixel_x = -6
- },
-/turf/open/floor/almayer{
- icon_state = "sterile_green_side"
- },
-/area/almayer/medical/medical_science)
"aID" = (
/obj/structure/machinery/light{
dir = 1
@@ -12000,19 +11897,6 @@
"aQv" = (
/turf/closed/wall/almayer,
/area/almayer/hallways/starboard_umbilical)
-"aQy" = (
-/obj/structure/transmitter{
- dir = 8;
- name = "RO Office Telephone";
- phone_category = "Offices";
- phone_id = "RO Office";
- pixel_x = 16
- },
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "green"
- },
-/area/almayer/squads/req)
"aQz" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -12126,6 +12010,16 @@
icon_state = "test_floor4"
},
/area/almayer/medical/medical_science)
+"aRf" = (
+/obj/structure/surface/table/woodentable/fancy,
+/obj/structure/phone_base/rotary{
+ name = "Captain's Office";
+ phone_category = "Offices";
+ phone_id = "Captain's Office";
+ pixel_y = 6
+ },
+/turf/open/floor/carpet,
+/area/almayer/living/commandbunks)
"aRi" = (
/obj/structure/bed/chair/office/dark{
dir = 1
@@ -16332,6 +16226,18 @@
icon_state = "green"
},
/area/almayer/living/offices)
+"bmZ" = (
+/obj/structure/phone_base/no_dnd{
+ name = "Requisition Telephone";
+ phone_category = "Almayer";
+ phone_id = "Requisition";
+ pixel_y = 30
+ },
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
+/area/almayer/squads/req)
"bnc" = (
/obj/structure/machinery/power/fusion_engine{
name = "\improper S-52 fusion reactor 9"
@@ -17514,13 +17420,6 @@
icon_state = "redfull"
},
/area/almayer/squads/alpha)
-"bti" = (
-/obj/structure/surface/table/almayer,
-/turf/open/floor/almayer{
- dir = 10;
- icon_state = "silver"
- },
-/area/almayer/command/computerlab)
"btk" = (
/obj/structure/sign/poster/pinup{
pixel_x = -30
@@ -19154,32 +19053,6 @@
},
/turf/open/floor/grass,
/area/almayer/living/starboard_garden)
-"bBD" = (
-/obj/structure/machinery/firealarm{
- pixel_y = 28
- },
-/obj/structure/sign/safety/maint{
- pixel_x = -17
- },
-/obj/structure/surface/table/almayer,
-/obj/structure/transmitter/rotary{
- name = "Telephone";
- phone_category = "Almayer";
- phone_id = "Auxiliary Support Office Second Line";
- pixel_x = -5;
- pixel_y = 3
- },
-/obj/structure/transmitter/rotary{
- name = "Telephone";
- phone_category = "Almayer";
- phone_id = "Auxiliary Support Office";
- pixel_x = 8;
- pixel_y = 8
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/living/auxiliary_officer_office)
"bBN" = (
/obj/structure/machinery/light,
/turf/open/floor/plating/plating_catwalk,
@@ -22745,14 +22618,6 @@
},
/turf/closed/wall/almayer,
/area/almayer/squads/req)
-"bQS" = (
-/obj/structure/machinery/cm_vending/sorted/cargo_ammo/cargo{
- icon_state = "req_ammo_wall"
- },
-/turf/open/floor/almayer{
- icon_state = "green"
- },
-/area/almayer/squads/req)
"bQU" = (
/obj/structure/pipes/standard/manifold/hidden/supply{
dir = 8
@@ -24362,15 +24227,6 @@
/obj/structure/machinery/light,
/turf/open/floor/almayer,
/area/almayer/hallways/vehiclehangar)
-"bYa" = (
-/obj/structure/machinery/cm_vending/sorted/cargo_guns/cargo{
- icon_state = "req_guns_wall"
- },
-/turf/open/floor/almayer{
- dir = 10;
- icon_state = "green"
- },
-/area/almayer/squads/req)
"bYc" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/plating/plating_catwalk,
@@ -25691,30 +25547,6 @@
/obj/structure/window/framed/almayer,
/turf/open/floor/plating,
/area/almayer/hallways/hangar)
-"cdE" = (
-/obj/structure/surface/table/almayer,
-/obj/item/reagent_container/food/drinks/cans/waterbottle{
- pixel_x = 9;
- pixel_y = 3
- },
-/obj/item/prop/helmetgarb/flair_io{
- pixel_x = -10;
- pixel_y = 6
- },
-/obj/item/prop/magazine/boots/n160{
- pixel_x = -6;
- pixel_y = -5
- },
-/obj/structure/transmitter/rotary{
- name = "Flight Deck Telephone";
- phone_category = "Almayer";
- phone_id = "Flight Deck";
- pixel_y = 8
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/hallways/repair_bay)
"cdF" = (
/obj/structure/bed/chair/office/dark{
dir = 8
@@ -28243,6 +28075,12 @@
},
/turf/open/floor/wood/ship,
/area/almayer/living/commandbunks)
+"cCj" = (
+/obj/structure/machinery/cm_vending/sorted/cargo_ammo/cargo/blend,
+/turf/open/floor/almayer{
+ icon_state = "green"
+ },
+/area/almayer/squads/req)
"cCD" = (
/obj/structure/platform{
dir = 8;
@@ -28313,6 +28151,15 @@
icon_state = "test_floor4"
},
/area/almayer/living/grunt_rnr)
+"cDU" = (
+/obj/structure/phone_base/rotary{
+ name = "CL Office Telephone";
+ phone_category = "Almayer";
+ phone_id = "CL Office"
+ },
+/obj/structure/surface/table/woodentable/fancy,
+/turf/open/floor/carpet,
+/area/almayer/command/corporateliason)
"cDW" = (
/obj/structure/largecrate/supply/supplies/flares,
/turf/open/floor/almayer{
@@ -29285,6 +29132,27 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hull/upper_hull/u_f_s)
+"cYn" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/machinery/computer/emails{
+ pixel_x = 2;
+ pixel_y = 5
+ },
+/obj/structure/sign/safety/terminal{
+ pixel_x = 7;
+ pixel_y = 29
+ },
+/obj/structure/phone_base/rotary{
+ name = "Reporter Telephone";
+ phone_category = "Almayer";
+ phone_id = "Reporter";
+ pixel_x = -17;
+ pixel_y = 2
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/command/combat_correspondent)
"cYu" = (
/obj/structure/pipes/vents/pump{
dir = 1
@@ -30012,14 +29880,6 @@
icon_state = "plate"
},
/area/almayer/hull/upper_hull/u_a_p)
-"dnm" = (
-/obj/structure/machinery/light{
- dir = 8
- },
-/turf/open/floor/almayer{
- icon_state = "silverfull"
- },
-/area/almayer/command/computerlab)
"dnC" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 6
@@ -30119,24 +29979,6 @@
icon_state = "cargo"
},
/area/almayer/squads/req)
-"dpn" = (
-/obj/structure/closet/secure_closet/freezer/fridge/full,
-/obj/structure/machinery/light{
- dir = 1
- },
-/obj/item/reagent_container/food/condiment/enzyme,
-/obj/item/reagent_container/food/condiment/enzyme,
-/obj/structure/transmitter{
- name = "Kitchen Telephone";
- phone_category = "Almayer";
- phone_id = "Kitchen";
- pixel_x = -8;
- pixel_y = 29
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/living/grunt_rnr)
"dpo" = (
/obj/structure/machinery/light{
dir = 1
@@ -30863,6 +30705,16 @@
icon_state = "orange"
},
/area/almayer/engineering/engine_core)
+"dDe" = (
+/obj/structure/machinery/light{
+ dir = 8
+ },
+/obj/structure/surface/table/almayer,
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "silver"
+ },
+/area/almayer/command/computerlab)
"dDp" = (
/obj/effect/decal/warning_stripes{
icon_state = "W";
@@ -34008,16 +33860,6 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/medical_science)
-"eSJ" = (
-/obj/structure/surface/table/woodentable/fancy,
-/obj/structure/transmitter/rotary{
- name = "Captain's Office";
- phone_category = "Offices";
- phone_id = "Captain's Office";
- pixel_y = 6
- },
-/turf/open/floor/carpet,
-/area/almayer/living/commandbunks)
"eSU" = (
/obj/structure/prop/almayer/name_stencil{
icon_state = "almayer1"
@@ -34623,17 +34465,6 @@
icon_state = "plating"
},
/area/almayer/command/airoom)
-"ffV" = (
-/obj/structure/surface/table/almayer,
-/obj/structure/machinery/computer/crew/alt,
-/obj/structure/transmitter/rotary/no_dnd{
- name = "Brig Cells Telephone";
- phone_category = "Almayer";
- phone_id = "Brig Cells";
- pixel_x = 15
- },
-/turf/open/floor/almayer,
-/area/almayer/shipboard/brig/processing)
"fgh" = (
/obj/structure/machinery/light/small{
dir = 8
@@ -34763,6 +34594,27 @@
icon_state = "orange"
},
/area/almayer/engineering/engine_core)
+"fjM" = (
+/obj/structure/surface/table/reinforced/almayer_B,
+/obj/structure/machinery/computer/overwatch/almayer{
+ dir = 8;
+ layer = 3.2;
+ pixel_x = -17;
+ pixel_y = -17
+ },
+/obj/structure/phone_base/rotary/no_dnd{
+ name = "Delta Overwatch Telephone";
+ phone_category = "Command";
+ phone_id = "Delta Overwatch"
+ },
+/obj/structure/sign/safety/terminal{
+ pixel_x = -17;
+ pixel_y = 7
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/command/cic)
"fjO" = (
/obj/item/tool/wet_sign,
/obj/effect/decal/cleanable/blood,
@@ -34931,6 +34783,17 @@
icon_state = "cargo"
},
/area/almayer/hull/upper_hull/u_a_s)
+"fox" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/machinery/computer/crew/alt,
+/obj/structure/phone_base/rotary/no_dnd{
+ name = "Brig Cells Telephone";
+ phone_category = "Almayer";
+ phone_id = "Brig Cells";
+ pixel_x = 15
+ },
+/turf/open/floor/almayer,
+/area/almayer/shipboard/brig/processing)
"foL" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -35368,6 +35231,32 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/port_point_defense)
+"fwb" = (
+/obj/structure/machinery/firealarm{
+ pixel_y = 28
+ },
+/obj/structure/sign/safety/maint{
+ pixel_x = -17
+ },
+/obj/structure/surface/table/almayer,
+/obj/structure/phone_base/rotary{
+ name = "Telephone";
+ phone_category = "Almayer";
+ phone_id = "Auxiliary Support Office Second Line";
+ pixel_x = -5;
+ pixel_y = 3
+ },
+/obj/structure/phone_base/rotary{
+ name = "Telephone";
+ phone_category = "Almayer";
+ phone_id = "Auxiliary Support Office";
+ pixel_x = 8;
+ pixel_y = 8
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/living/auxiliary_officer_office)
"fwD" = (
/obj/item/reagent_container/food/snacks/grown/poppy{
pixel_x = 4;
@@ -35581,6 +35470,24 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/command/lifeboat)
+"fCq" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/machinery/computer/cameras/almayer_network{
+ dir = 1
+ },
+/obj/structure/machinery/light{
+ unacidable = 1;
+ unslashable = 1
+ },
+/obj/structure/phone_base{
+ dir = 1;
+ name = "Brig Warden's Office Telephone";
+ phone_category = "Offices";
+ phone_id = "Brig Warden's Office";
+ pixel_x = -16
+ },
+/turf/open/floor/almayer,
+/area/almayer/shipboard/brig/main_office)
"fCL" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -36284,6 +36191,30 @@
/obj/effect/step_trigger/clone_cleaner,
/turf/closed/wall/almayer,
/area/almayer/hull/upper_hull/u_m_p)
+"fRb" = (
+/obj/structure/surface/table/reinforced/almayer_B,
+/obj/structure/machinery/computer/overwatch/almayer{
+ dir = 8;
+ layer = 3.2;
+ pixel_x = -17;
+ pixel_y = -17
+ },
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/obj/structure/phone_base/rotary/no_dnd{
+ name = "Charlie Overwatch Telephone";
+ phone_category = "Command";
+ phone_id = "Charlie Overwatch"
+ },
+/obj/structure/sign/safety/terminal{
+ pixel_x = -17;
+ pixel_y = 7
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/command/cic)
"fRr" = (
/obj/structure/machinery/light{
dir = 1
@@ -36306,6 +36237,14 @@
},
/turf/open/floor/almayer,
/area/almayer/hull/upper_hull/u_f_s)
+"fSc" = (
+/obj/structure/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/almayer{
+ icon_state = "silverfull"
+ },
+/area/almayer/command/computerlab)
"fSl" = (
/obj/structure/machinery/line_nexter{
id = "line2";
@@ -36486,6 +36425,47 @@
icon_state = "plate"
},
/area/almayer/command/combat_correspondent)
+"fXF" = (
+/obj/structure/surface/table/reinforced/almayer_B,
+/obj/structure/machinery/door_control{
+ id = "CIC Lockdown";
+ name = "CIC Lockdown";
+ pixel_x = -7;
+ pixel_y = 9;
+ req_access_txt = "1"
+ },
+/obj/structure/machinery/door_control{
+ id = "Hangar Lockdown";
+ name = "Hangar Lockdown";
+ pixel_x = -7;
+ pixel_y = 2;
+ req_access_txt = "1"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4;
+ icon_state = "exposed01-supply"
+ },
+/obj/structure/machinery/door_control{
+ id = "bot_armory";
+ name = "Armory Lockdown";
+ pixel_x = -7;
+ pixel_y = -5;
+ req_one_access_txt = "1;4"
+ },
+/obj/structure/phone_base/rotary/no_dnd{
+ name = "Combat Information Center Telephone";
+ phone_category = "Command";
+ phone_id = "Combat Information Center";
+ pixel_x = 5;
+ pixel_y = 4
+ },
+/obj/structure/machinery/door/window/westright{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/command/cic)
"fXN" = (
/obj/effect/landmark/start/marine/delta,
/obj/effect/landmark/late_join/delta,
@@ -36621,24 +36601,6 @@
icon_state = "silver"
},
/area/almayer/command/cichallway)
-"gba" = (
-/obj/structure/surface/table/reinforced/almayer_B,
-/obj/structure/machinery/faxmachine/uscm/command{
- department = "AI Core";
- pixel_y = 8
- },
-/obj/structure/transmitter/rotary{
- name = "AI Core Telephone";
- phone_category = "ARES";
- phone_color = "blue";
- phone_id = "AI Core";
- pixel_x = 8;
- pixel_y = -8
- },
-/turf/open/floor/almayer/no_build{
- icon_state = "ai_floors"
- },
-/area/almayer/command/airoom)
"gbg" = (
/obj/structure/sign/safety/terminal{
pixel_x = 14;
@@ -37477,19 +37439,6 @@
icon_state = "silvercorner"
},
/area/almayer/command/cichallway)
-"gtA" = (
-/obj/structure/surface/table/reinforced/prison,
-/obj/structure/transmitter{
- dir = 8;
- name = "Medical Telephone";
- phone_category = "Almayer";
- phone_id = "Medical Lower";
- pixel_x = 16
- },
-/turf/open/floor/almayer{
- icon_state = "sterile_green"
- },
-/area/almayer/medical/lockerroom)
"guc" = (
/obj/structure/pipes/vents/scrubber{
dir = 1
@@ -38240,6 +38189,18 @@
icon_state = "green"
},
/area/almayer/living/offices)
+"gJW" = (
+/obj/structure/surface/table/almayer,
+/obj/effect/landmark/map_item,
+/obj/item/folder/red,
+/obj/structure/phone_base/rotary{
+ name = "Brig CMP's Office Telephone";
+ phone_category = "Offices";
+ phone_id = "Brig CMP's Office";
+ pixel_x = 15
+ },
+/turf/open/floor/almayer,
+/area/almayer/shipboard/brig/chief_mp_office)
"gKB" = (
/obj/structure/machinery/portable_atmospherics/hydroponics,
/obj/structure/machinery/firealarm{
@@ -38380,6 +38341,11 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/perma)
+"gMr" = (
+/turf/open/floor/almayer{
+ icon_state = "silverfull"
+ },
+/area/almayer/command/securestorage)
"gMx" = (
/obj/structure/closet/firecloset,
/turf/open/floor/plating/plating_catwalk,
@@ -39344,13 +39310,6 @@
},
/turf/open/floor/almayer,
/area/almayer/engineering/engine_core)
-"hgB" = (
-/obj/structure/surface/table/almayer,
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "silvercorner"
- },
-/area/almayer/command/computerlab)
"hgF" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -39936,31 +39895,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/almayer,
/area/almayer/hallways/port_hallway)
-"hvv" = (
-/obj/structure/disposalpipe/segment,
-/obj/structure/pipes/standard/manifold/hidden/supply{
- dir = 8
- },
-/obj/item/clipboard{
- base_pixel_x = 20;
- pixel_x = 5
- },
-/obj/item/paper{
- pixel_x = 5
- },
-/obj/item/tool/pen{
- pixel_x = 5
- },
-/obj/structure/surface/table/reinforced/black,
-/obj/structure/transmitter/rotary{
- name = "CIC Reception Telephone";
- phone_category = "Command";
- phone_id = "CIC Reception";
- pixel_x = -7;
- pixel_y = 4
- },
-/turf/open/floor/almayer,
-/area/almayer/command/cic)
"hvw" = (
/obj/structure/pipes/standard/simple/hidden/supply/no_boom,
/turf/open/floor/plating,
@@ -41306,18 +41240,6 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/lower_medical_medbay)
-"hZU" = (
-/obj/structure/transmitter{
- name = "Brig Offices Telephone";
- phone_category = "Almayer";
- phone_id = "Brig Main Offices";
- pixel_y = 32
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "red"
- },
-/area/almayer/shipboard/brig/main_office)
"iag" = (
/obj/structure/surface/table/almayer,
/obj/item/tool/hand_labeler,
@@ -41368,6 +41290,11 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering/upper_engineering/port)
+"iax" = (
+/turf/open/floor/almayer{
+ icon_state = "silverfull"
+ },
+/area/almayer/command/computerlab)
"iaF" = (
/obj/structure/pipes/standard/manifold/hidden/supply{
dir = 4
@@ -41753,25 +41680,6 @@
icon_state = "plate"
},
/area/almayer/hull/lower_hull/l_f_s)
-"ijQ" = (
-/obj/structure/surface/table/almayer,
-/obj/structure/machinery/door_control{
- id = "SEA Office Shutters";
- name = "SEA Office Shutters";
- pixel_y = 12
- },
-/obj/item/ashtray/plastic{
- pixel_x = 8;
- pixel_y = -4
- },
-/obj/structure/transmitter/rotary{
- name = "Senior Enlisted Advisor Office Telephone";
- phone_category = "Almayer";
- phone_id = "Senior Enlisted Advisor's Office";
- pixel_x = -3
- },
-/turf/open/floor/wood/ship,
-/area/almayer/shipboard/sea_office)
"ijU" = (
/obj/item/tool/wet_sign,
/turf/open/floor/plating/plating_catwalk,
@@ -42922,6 +42830,19 @@
},
/turf/open/floor/almayer,
/area/almayer/command/computerlab)
+"iKp" = (
+/obj/structure/surface/table/reinforced/almayer_B,
+/obj/structure/phone_base{
+ dir = 4;
+ name = "Port Railgun Control Telephone";
+ phone_category = "Command";
+ phone_id = "Port Railgun Control";
+ pixel_x = -26
+ },
+/turf/open/floor/almayer{
+ icon_state = "redfull"
+ },
+/area/almayer/shipboard/port_missiles)
"iKw" = (
/obj/structure/machinery/cryopod/right,
/obj/structure/machinery/light{
@@ -42986,10 +42907,6 @@
},
/turf/open/floor/almayer,
/area/almayer/lifeboat_pumps/south1)
-"iLf" = (
-/obj/structure/surface/table/almayer,
-/turf/open/floor/almayer,
-/area/almayer/command/computerlab)
"iLh" = (
/obj/structure/bed/chair/comfy/bravo{
dir = 4
@@ -43984,18 +43901,6 @@
icon_state = "orange"
},
/area/almayer/engineering/engine_core)
-"jfY" = (
-/obj/structure/surface/table/almayer,
-/obj/effect/landmark/map_item,
-/obj/item/folder/red,
-/obj/structure/transmitter/rotary{
- name = "Brig CMP's Office Telephone";
- phone_category = "Offices";
- phone_id = "Brig CMP's Office";
- pixel_x = 15
- },
-/turf/open/floor/almayer,
-/area/almayer/shipboard/brig/chief_mp_office)
"jfZ" = (
/obj/structure/target{
name = "punching bag"
@@ -44991,6 +44896,23 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/lower_medical_lobby)
+"jDi" = (
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 4
+ },
+/obj/structure/phone_base{
+ dir = 8;
+ name = "OT Telephone";
+ phone_category = "Almayer";
+ phone_id = "Ordnance Tech";
+ pixel_x = 14
+ },
+/obj/structure/disposalpipe/segment,
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "orange"
+ },
+/area/almayer/engineering/engineering_workshop/hangar)
"jDV" = (
/obj/effect/projector{
name = "Almayer_AresDown";
@@ -45981,24 +45903,6 @@
icon_state = "emerald"
},
/area/almayer/squads/charlie)
-"jZL" = (
-/obj/structure/surface/table/almayer,
-/obj/structure/machinery/computer/cameras/almayer_network{
- dir = 1
- },
-/obj/structure/machinery/light{
- unacidable = 1;
- unslashable = 1
- },
-/obj/structure/transmitter{
- dir = 1;
- name = "Brig Warden's Office Telephone";
- phone_category = "Offices";
- phone_id = "Brig Warden's Office";
- pixel_x = -16
- },
-/turf/open/floor/almayer,
-/area/almayer/shipboard/brig/main_office)
"jZO" = (
/obj/structure/largecrate/random/barrel/blue,
/turf/open/floor/almayer{
@@ -46233,6 +46137,24 @@
icon_state = "dark_sterile"
},
/area/almayer/medical/lower_medical_lobby)
+"keM" = (
+/obj/structure/surface/table/reinforced/almayer_B,
+/obj/structure/machinery/faxmachine/uscm/command{
+ department = "AI Core";
+ pixel_y = 8
+ },
+/obj/structure/phone_base/rotary{
+ name = "AI Core Telephone";
+ phone_category = "ARES";
+ phone_color = "blue";
+ phone_id = "AI Core";
+ pixel_x = 8;
+ pixel_y = -8
+ },
+/turf/open/floor/almayer/no_build{
+ icon_state = "ai_floors"
+ },
+/area/almayer/command/airoom)
"keR" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
@@ -46295,25 +46217,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/processing)
-"kgp" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 10
- },
-/obj/structure/transmitter{
- name = "CMO Office Telephone";
- phone_category = "Offices";
- phone_id = "CMO Office";
- pixel_y = 29
- },
-/obj/structure/sign/safety/commline_connection{
- pixel_x = 23;
- pixel_y = 32
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "sterile_green_side"
- },
-/area/almayer/medical/upper_medical)
"kgr" = (
/obj/structure/machinery/camera/autoname/almayer{
name = "ship-grade camera"
@@ -47259,6 +47162,17 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/medical_science)
+"kBt" = (
+/obj/item/device/radio/intercom{
+ freerange = 1;
+ name = "General Listening Channel";
+ pixel_y = 28
+ },
+/obj/structure/machinery/cm_vending/clothing/staff_officer_armory,
+/turf/open/floor/almayer{
+ icon_state = "redfull"
+ },
+/area/almayer/command/cic)
"kBy" = (
/obj/structure/machinery/ares/processor,
/turf/open/floor/almayer/no_build{
@@ -48044,6 +47958,24 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hull/lower_hull/l_m_p)
+"kRH" = (
+/obj/structure/closet/secure_closet/freezer/fridge/full,
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/obj/item/reagent_container/food/condiment/enzyme,
+/obj/item/reagent_container/food/condiment/enzyme,
+/obj/structure/phone_base{
+ name = "Kitchen Telephone";
+ phone_category = "Almayer";
+ phone_id = "Kitchen";
+ pixel_x = -8;
+ pixel_y = 29
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/living/grunt_rnr)
"kRP" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/item/prop/magazine/dirty/torn,
@@ -48100,18 +48032,6 @@
icon_state = "red"
},
/area/almayer/hallways/aft_hallway)
-"kSU" = (
-/obj/structure/transmitter/no_dnd{
- name = "Requisition Telephone";
- phone_category = "Almayer";
- phone_id = "Requisition";
- pixel_y = 30
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
- },
-/area/almayer/squads/req)
"kTc" = (
/obj/structure/closet/secure_closet/guncabinet/red,
/obj/item/ammo_magazine/shotgun,
@@ -48419,6 +48339,31 @@
icon_state = "plate"
},
/area/almayer/living/offices)
+"kZm" = (
+/obj/structure/disposalpipe/segment,
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 8
+ },
+/obj/item/clipboard{
+ base_pixel_x = 20;
+ pixel_x = 5
+ },
+/obj/item/paper{
+ pixel_x = 5
+ },
+/obj/item/tool/pen{
+ pixel_x = 5
+ },
+/obj/structure/surface/table/reinforced/black,
+/obj/structure/phone_base/rotary{
+ name = "CIC Reception Telephone";
+ phone_category = "Command";
+ phone_id = "CIC Reception";
+ pixel_x = -7;
+ pixel_y = 4
+ },
+/turf/open/floor/almayer,
+/area/almayer/command/cic)
"kZA" = (
/turf/open/floor/almayer{
dir = 4;
@@ -50669,27 +50614,6 @@
icon_state = "redfull"
},
/area/almayer/living/briefing)
-"lVX" = (
-/obj/structure/surface/table/reinforced/almayer_B,
-/obj/structure/machinery/computer/overwatch/almayer{
- dir = 8;
- layer = 3.2;
- pixel_x = -17;
- pixel_y = 16
- },
-/obj/structure/transmitter/rotary/no_dnd{
- name = "Alpha Overwatch Telephone";
- phone_category = "Command";
- phone_id = "Alpha Overwatch"
- },
-/obj/structure/sign/safety/terminal{
- pixel_x = -17;
- pixel_y = -8
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/command/cic)
"lWh" = (
/obj/structure/machinery/pipedispenser/orderable,
/turf/open/floor/almayer{
@@ -51938,6 +51862,15 @@
},
/turf/open/floor/plating/almayer,
/area/almayer/shipboard/brig/armory)
+"mAw" = (
+/obj/structure/surface/table/reinforced/almayer_B,
+/obj/structure/machinery/computer/ares_console{
+ pixel_x = 9
+ },
+/turf/open/floor/almayer/no_build{
+ icon_state = "plating"
+ },
+/area/almayer/command/airoom)
"mAT" = (
/obj/structure/machinery/door/poddoor/shutters/almayer{
dir = 8;
@@ -52175,6 +52108,25 @@
icon_state = "plate"
},
/area/almayer/hull/lower_hull/l_f_s)
+"mGP" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/machinery/door_control{
+ id = "SEA Office Shutters";
+ name = "SEA Office Shutters";
+ pixel_y = 12
+ },
+/obj/item/ashtray/plastic{
+ pixel_x = 8;
+ pixel_y = -4
+ },
+/obj/structure/phone_base/rotary{
+ name = "Senior Enlisted Advisor Office Telephone";
+ phone_category = "Almayer";
+ phone_id = "Senior Enlisted Advisor's Office";
+ pixel_x = -3
+ },
+/turf/open/floor/wood/ship,
+/area/almayer/shipboard/sea_office)
"mHm" = (
/obj/structure/sign/safety/distribution_pipes{
pixel_y = -32
@@ -54502,15 +54454,6 @@
icon_state = "redfull"
},
/area/almayer/hull/lower_hull/l_f_s)
-"nDh" = (
-/obj/structure/transmitter/rotary{
- name = "CL Office Telephone";
- phone_category = "Almayer";
- phone_id = "CL Office"
- },
-/obj/structure/surface/table/woodentable/fancy,
-/turf/open/floor/carpet,
-/area/almayer/command/corporateliason)
"nDo" = (
/obj/structure/closet/l3closet/general,
/obj/structure/window/reinforced{
@@ -55446,11 +55389,6 @@
},
/turf/open/floor/wood/ship,
/area/almayer/shipboard/brig/cells)
-"nYf" = (
-/turf/open/floor/almayer{
- icon_state = "silverfull"
- },
-/area/almayer/command/securestorage)
"nYh" = (
/obj/structure/machinery/portable_atmospherics/hydroponics,
/turf/open/floor/almayer{
@@ -55504,6 +55442,19 @@
icon_state = "orange"
},
/area/almayer/hull/upper_hull/u_a_s)
+"nZY" = (
+/obj/structure/surface/table/reinforced/prison,
+/obj/structure/phone_base{
+ dir = 8;
+ name = "Medical Telephone";
+ phone_category = "Almayer";
+ phone_id = "Medical Lower";
+ pixel_x = 16
+ },
+/turf/open/floor/almayer{
+ icon_state = "sterile_green"
+ },
+/area/almayer/medical/lockerroom)
"oap" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer{
@@ -57007,6 +56958,15 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/shipboard/brig/cells)
+"oEG" = (
+/obj/structure/surface/table/reinforced/almayer_B,
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "silverfull"
+ },
+/area/almayer/command/securestorage)
"oER" = (
/obj/structure/machinery/light{
dir = 8
@@ -58289,6 +58249,13 @@
},
/turf/open/floor/almayer,
/area/almayer/engineering/engineering_workshop/hangar)
+"pkl" = (
+/obj/structure/machinery/cm_vending/sorted/cargo_guns/cargo/blend,
+/turf/open/floor/almayer{
+ dir = 10;
+ icon_state = "green"
+ },
+/area/almayer/squads/req)
"pky" = (
/obj/structure/largecrate/random/secure,
/turf/open/floor/almayer{
@@ -58695,31 +58662,6 @@
icon_state = "test_floor4"
},
/area/almayer/squads/charlie)
-"pvK" = (
-/obj/item/device/radio/intercom{
- freerange = 1;
- name = "General Listening Channel";
- pixel_x = -6;
- pixel_y = 28
- },
-/obj/structure/machinery/firealarm{
- pixel_x = 8;
- pixel_y = 28
- },
-/obj/structure/surface/table/reinforced/almayer_B,
-/obj/structure/transmitter/rotary{
- name = "Intelligence Center Telephone";
- phone_category = "Almayer";
- phone_id = "Intelligence Center Telephone"
- },
-/obj/structure/machinery/computer/cameras/almayer/vehicle{
- dir = 4;
- pixel_x = -17
- },
-/turf/open/floor/almayer{
- icon_state = "silverfull"
- },
-/area/almayer/command/securestorage)
"pvP" = (
/turf/open/floor/almayer{
dir = 1;
@@ -61379,15 +61321,6 @@
icon_state = "emeraldfull"
},
/area/almayer/squads/charlie_delta_shared)
-"qyZ" = (
-/obj/structure/surface/table/reinforced/almayer_B,
-/obj/structure/machinery/light{
- dir = 1
- },
-/turf/open/floor/almayer{
- icon_state = "silverfull"
- },
-/area/almayer/command/securestorage)
"qzc" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -61543,6 +61476,13 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/operating_room_four)
+"qDX" = (
+/obj/structure/surface/table/almayer,
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "silvercorner"
+ },
+/area/almayer/command/computerlab)
"qEk" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -61966,13 +61906,6 @@
dir = 4
},
/area/almayer/command/airoom)
-"qLV" = (
-/obj/structure/surface/table/almayer,
-/turf/open/floor/almayer{
- dir = 4;
- icon_state = "silver"
- },
-/area/almayer/command/computerlab)
"qMe" = (
/obj/structure/machinery/portable_atmospherics/hydroponics,
/obj/item/tool/minihoe{
@@ -62381,6 +62314,27 @@
icon_state = "plate"
},
/area/almayer/squads/delta)
+"qWC" = (
+/obj/structure/machinery/firealarm{
+ pixel_x = 6;
+ pixel_y = 28
+ },
+/obj/structure/bed/chair/office/dark{
+ dir = 4;
+ layer = 3.25
+ },
+/obj/structure/phone_base{
+ name = "CE Office Telephone";
+ phone_category = "Offices";
+ phone_id = "CE Office";
+ pixel_x = -8;
+ pixel_y = 29
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "orange"
+ },
+/area/almayer/engineering/ce_room)
"qWI" = (
/obj/structure/machinery/status_display{
pixel_y = -30
@@ -63632,6 +63586,12 @@
icon_state = "plate"
},
/area/almayer/hull/lower_hull/l_f_s)
+"rxq" = (
+/obj/structure/machinery/cm_vending/clothing/staff_officer_armory,
+/turf/open/floor/almayer{
+ icon_state = "redfull"
+ },
+/area/almayer/command/cic)
"rxG" = (
/obj/structure/sign/safety/medical{
pixel_x = 8;
@@ -63662,14 +63622,6 @@
icon_state = "mono"
},
/area/almayer/lifeboat_pumps/north1)
-"ryR" = (
-/obj/structure/machinery/cm_vending/sorted/uniform_supply/squad_prep{
- req_access = list(1)
- },
-/turf/open/floor/almayer{
- icon_state = "redfull"
- },
-/area/almayer/command/cic)
"rzf" = (
/obj/effect/landmark/late_join/working_joe,
/obj/effect/landmark/start/working_joe,
@@ -63888,6 +63840,31 @@
icon_state = "red"
},
/area/almayer/shipboard/brig/processing)
+"rCN" = (
+/obj/item/device/radio/intercom{
+ freerange = 1;
+ name = "General Listening Channel";
+ pixel_x = -6;
+ pixel_y = 28
+ },
+/obj/structure/machinery/firealarm{
+ pixel_x = 8;
+ pixel_y = 28
+ },
+/obj/structure/surface/table/reinforced/almayer_B,
+/obj/structure/phone_base/rotary{
+ name = "Intelligence Center Telephone";
+ phone_category = "Almayer";
+ phone_id = "Intelligence Center Telephone"
+ },
+/obj/structure/machinery/computer/cameras/almayer/vehicle{
+ dir = 4;
+ pixel_x = -17
+ },
+/turf/open/floor/almayer{
+ icon_state = "silverfull"
+ },
+/area/almayer/command/securestorage)
"rCO" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/plating/plating_catwalk,
@@ -64035,11 +64012,6 @@
icon_state = "plate"
},
/area/almayer/squads/delta)
-"rEL" = (
-/turf/open/floor/almayer{
- icon_state = "silverfull"
- },
-/area/almayer/command/computerlab)
"rEY" = (
/obj/structure/surface/table/almayer,
/obj/item/toy/deck,
@@ -64715,6 +64687,13 @@
icon_state = "test_floor4"
},
/area/almayer/hull/lower_hull/l_f_s)
+"rUY" = (
+/obj/structure/surface/table/almayer,
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "silver"
+ },
+/area/almayer/command/computerlab)
"rVo" = (
/obj/structure/machinery/light/small{
dir = 1
@@ -65432,27 +65411,6 @@
icon_state = "cargo"
},
/area/almayer/engineering/upper_engineering/port)
-"snI" = (
-/obj/structure/surface/table/reinforced/almayer_B,
-/obj/structure/machinery/computer/overwatch/almayer{
- dir = 8;
- layer = 3.2;
- pixel_x = -17;
- pixel_y = -17
- },
-/obj/structure/transmitter/rotary/no_dnd{
- name = "Delta Overwatch Telephone";
- phone_category = "Command";
- phone_id = "Delta Overwatch"
- },
-/obj/structure/sign/safety/terminal{
- pixel_x = -17;
- pixel_y = 7
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/command/cic)
"snM" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -65706,6 +65664,20 @@
icon_state = "greencorner"
},
/area/almayer/hallways/port_hallway)
+"ssL" = (
+/obj/structure/surface/table/reinforced/almayer_B,
+/obj/structure/phone_base{
+ dir = 4;
+ name = "Starboard Railgun Control Telephone";
+ phone_category = "Command";
+ phone_id = "Starboard Railgun Control";
+ pixel_x = -26
+ },
+/obj/item/device/binoculars,
+/turf/open/floor/almayer{
+ icon_state = "redfull"
+ },
+/area/almayer/shipboard/starboard_missiles)
"ssU" = (
/obj/structure/machinery/constructable_frame,
/turf/open/floor/almayer{
@@ -65782,6 +65754,13 @@
},
/turf/open/floor/almayer,
/area/almayer/command/computerlab)
+"suM" = (
+/obj/structure/surface/table/almayer,
+/turf/open/floor/almayer{
+ dir = 10;
+ icon_state = "silver"
+ },
+/area/almayer/command/computerlab)
"suT" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -66130,6 +66109,28 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hull/upper_hull/u_f_p)
+"sDB" = (
+/obj/structure/surface/table/reinforced/almayer_B,
+/obj/structure/machinery/computer/overwatch/almayer{
+ dir = 8;
+ layer = 3.2;
+ pixel_x = -17;
+ pixel_y = 15
+ },
+/obj/structure/machinery/light,
+/obj/structure/phone_base/rotary/no_dnd{
+ name = "Bravo Overwatch Telephone";
+ phone_category = "Command";
+ phone_id = "Bravo Overwatch"
+ },
+/obj/structure/sign/safety/terminal{
+ pixel_x = -17;
+ pixel_y = -8
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/command/cic)
"sDC" = (
/obj/structure/sign/safety/analysis_lab{
pixel_y = 26
@@ -66679,6 +66680,25 @@
icon_state = "sterile_green_side"
},
/area/almayer/medical/lower_medical_medbay)
+"sQx" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 10
+ },
+/obj/structure/phone_base{
+ name = "CMO Office Telephone";
+ phone_category = "Offices";
+ phone_id = "CMO Office";
+ pixel_y = 29
+ },
+/obj/structure/sign/safety/commline_connection{
+ pixel_x = 23;
+ pixel_y = 32
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "sterile_green_side"
+ },
+/area/almayer/medical/upper_medical)
"sQF" = (
/turf/open/floor/almayer{
icon_state = "red"
@@ -66781,30 +66801,6 @@
icon_state = "blue"
},
/area/almayer/squads/delta)
-"sSG" = (
-/obj/structure/surface/table/reinforced/almayer_B,
-/obj/structure/machinery/computer/overwatch/almayer{
- dir = 8;
- layer = 3.2;
- pixel_x = -17;
- pixel_y = -17
- },
-/obj/structure/machinery/light{
- dir = 1
- },
-/obj/structure/transmitter/rotary/no_dnd{
- name = "Charlie Overwatch Telephone";
- phone_category = "Command";
- phone_id = "Charlie Overwatch"
- },
-/obj/structure/sign/safety/terminal{
- pixel_x = -17;
- pixel_y = 7
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/command/cic)
"sSR" = (
/obj/effect/decal/warning_stripes{
icon_state = "SW-out";
@@ -67018,6 +67014,18 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
+"sXD" = (
+/obj/structure/phone_base{
+ name = "Brig Offices Telephone";
+ phone_category = "Almayer";
+ phone_id = "Brig Main Offices";
+ pixel_y = 32
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "red"
+ },
+/area/almayer/shipboard/brig/main_office)
"sXE" = (
/obj/structure/machinery/door/airlock/almayer/generic{
name = "\improper Auxiliary Support Officer's Room"
@@ -67578,27 +67586,6 @@
},
/turf/open/floor/almayer,
/area/almayer/squads/alpha)
-"tii" = (
-/obj/structure/machinery/firealarm{
- pixel_x = 6;
- pixel_y = 28
- },
-/obj/structure/bed/chair/office/dark{
- dir = 4;
- layer = 3.25
- },
-/obj/structure/transmitter{
- name = "CE Office Telephone";
- phone_category = "Offices";
- phone_id = "CE Office";
- pixel_x = -8;
- pixel_y = 29
- },
-/turf/open/floor/almayer{
- dir = 1;
- icon_state = "orange"
- },
-/area/almayer/engineering/ce_room)
"tim" = (
/obj/structure/machinery/light/small{
dir = 4
@@ -69478,6 +69465,27 @@
icon_state = "dark_sterile"
},
/area/almayer/medical/lower_medical_lobby)
+"tYr" = (
+/obj/structure/surface/table/reinforced/almayer_B,
+/obj/structure/machinery/computer/overwatch/almayer{
+ dir = 8;
+ layer = 3.2;
+ pixel_x = -17;
+ pixel_y = 16
+ },
+/obj/structure/phone_base/rotary/no_dnd{
+ name = "Alpha Overwatch Telephone";
+ phone_category = "Command";
+ phone_id = "Alpha Overwatch"
+ },
+/obj/structure/sign/safety/terminal{
+ pixel_x = -17;
+ pixel_y = -8
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/command/cic)
"tYw" = (
/obj/effect/decal/medical_decals{
icon_state = "triagedecalbottomleft";
@@ -69687,28 +69695,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/lifeboat_pumps/south2)
-"ucz" = (
-/obj/structure/surface/table/reinforced/almayer_B,
-/obj/structure/machinery/computer/overwatch/almayer{
- dir = 8;
- layer = 3.2;
- pixel_x = -17;
- pixel_y = 15
- },
-/obj/structure/machinery/light,
-/obj/structure/transmitter/rotary/no_dnd{
- name = "Bravo Overwatch Telephone";
- phone_category = "Command";
- phone_id = "Bravo Overwatch"
- },
-/obj/structure/sign/safety/terminal{
- pixel_x = -17;
- pixel_y = -8
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/command/cic)
"udi" = (
/turf/open/floor/almayer{
icon_state = "red"
@@ -70150,6 +70136,19 @@
icon_state = "mono"
},
/area/almayer/medical/upper_medical)
+"umG" = (
+/obj/structure/phone_base{
+ dir = 8;
+ name = "RO Office Telephone";
+ phone_category = "Offices";
+ phone_id = "RO Office";
+ pixel_x = 16
+ },
+/turf/open/floor/almayer{
+ dir = 4;
+ icon_state = "green"
+ },
+/area/almayer/squads/req)
"umR" = (
/obj/structure/machinery/power/apc/almayer/hardened{
cell_type = /obj/item/cell/hyper;
@@ -70801,6 +70800,10 @@
"uys" = (
/turf/closed/wall/almayer/reinforced,
/area/almayer/squads/req)
+"uyu" = (
+/obj/structure/surface/table/almayer,
+/turf/open/floor/almayer,
+/area/almayer/command/computerlab)
"uyC" = (
/obj/structure/window/framed/almayer/hull,
/turf/open/floor/plating,
@@ -72653,6 +72656,43 @@
icon_state = "plating"
},
/area/almayer/shipboard/port_missiles)
+"vjm" = (
+/obj/structure/machinery/door_control{
+ id = "ARES StairsUpper";
+ name = "ARES Core Access";
+ pixel_x = -10;
+ pixel_y = -24;
+ req_one_access_txt = "91;92"
+ },
+/obj/structure/machinery/door_control{
+ id = "ARES StairsLock";
+ name = "ARES Exterior Lockdown";
+ pixel_y = -24;
+ req_one_access_txt = "91;92"
+ },
+/obj/structure/surface/table/reinforced/almayer_B{
+ climbable = 0;
+ indestructible = 1;
+ unacidable = 1;
+ unslashable = 1
+ },
+/obj/structure/phone_base/rotary{
+ name = "AI Reception Telephone";
+ phone_category = "ARES";
+ phone_color = "blue";
+ phone_id = "AI Reception"
+ },
+/obj/structure/machinery/door_control{
+ id = "ARES Emergency";
+ name = "ARES Emergency Lockdown";
+ pixel_x = 10;
+ pixel_y = -24;
+ req_one_access_txt = "91;92"
+ },
+/turf/open/floor/almayer/no_build{
+ icon_state = "ai_floors"
+ },
+/area/almayer/command/airoom)
"vjx" = (
/obj/structure/largecrate/random/barrel/yellow,
/turf/open/floor/almayer{
@@ -73802,15 +73842,6 @@
icon_state = "dark_sterile"
},
/area/almayer/living/numbertwobunks)
-"vHa" = (
-/obj/structure/surface/table/reinforced/almayer_B,
-/obj/structure/machinery/computer/ares_console{
- pixel_x = 9
- },
-/turf/open/floor/almayer/no_build{
- icon_state = "plating"
- },
-/area/almayer/command/airoom)
"vHh" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/item/tool/warning_cone{
@@ -73845,47 +73876,6 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/starboard_hallway)
-"vHt" = (
-/obj/structure/surface/table/reinforced/almayer_B,
-/obj/structure/machinery/door_control{
- id = "CIC Lockdown";
- name = "CIC Lockdown";
- pixel_x = -7;
- pixel_y = 9;
- req_access_txt = "1"
- },
-/obj/structure/machinery/door_control{
- id = "Hangar Lockdown";
- name = "Hangar Lockdown";
- pixel_x = -7;
- pixel_y = 2;
- req_access_txt = "1"
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4;
- icon_state = "exposed01-supply"
- },
-/obj/structure/machinery/door_control{
- id = "bot_armory";
- name = "Armory Lockdown";
- pixel_x = -7;
- pixel_y = -5;
- req_one_access_txt = "1;4"
- },
-/obj/structure/transmitter/rotary/no_dnd{
- name = "Combat Information Center Telephone";
- phone_category = "Command";
- phone_id = "Combat Information Center";
- pixel_x = 5;
- pixel_y = 4
- },
-/obj/structure/machinery/door/window/westright{
- dir = 4
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/command/cic)
"vHO" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -75717,27 +75707,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/stern_hallway)
-"wqr" = (
-/obj/structure/surface/table/almayer,
-/obj/structure/machinery/computer/emails{
- pixel_x = 2;
- pixel_y = 5
- },
-/obj/structure/sign/safety/terminal{
- pixel_x = 7;
- pixel_y = 29
- },
-/obj/structure/transmitter/rotary{
- name = "Reporter Telephone";
- phone_category = "Almayer";
- phone_id = "Reporter";
- pixel_x = -17;
- pixel_y = 2
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/command/combat_correspondent)
"wqu" = (
/obj/structure/window/framed/almayer,
/turf/open/floor/plating,
@@ -77200,6 +77169,28 @@
"wVW" = (
/turf/closed/wall/almayer/reinforced,
/area/almayer/command/cic)
+"wVX" = (
+/obj/structure/surface/table/almayer,
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
+ },
+/obj/structure/phone_base/rotary{
+ name = "Researcher Office Telephone";
+ phone_category = "Almayer";
+ phone_id = "Research";
+ pixel_y = 6
+ },
+/obj/item/reagent_container/glass/beaker{
+ pixel_x = 6;
+ pixel_y = -1
+ },
+/obj/item/reagent_container/glass/beaker/large{
+ pixel_x = -6
+ },
+/turf/open/floor/almayer{
+ icon_state = "sterile_green_side"
+ },
+/area/almayer/medical/medical_science)
"wVY" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -78743,6 +78734,30 @@
icon_state = "test_floor4"
},
/area/almayer/engineering/upper_engineering/port)
+"xBu" = (
+/obj/structure/surface/table/almayer,
+/obj/item/reagent_container/food/drinks/cans/waterbottle{
+ pixel_x = 9;
+ pixel_y = 3
+ },
+/obj/item/prop/helmetgarb/flair_io{
+ pixel_x = -10;
+ pixel_y = 6
+ },
+/obj/item/prop/magazine/boots/n160{
+ pixel_x = -6;
+ pixel_y = -5
+ },
+/obj/structure/phone_base/rotary{
+ name = "Flight Deck Telephone";
+ phone_category = "Almayer";
+ phone_id = "Flight Deck";
+ pixel_y = 8
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/repair_bay)
"xBQ" = (
/obj/structure/disposalpipe/segment{
dir = 4;
@@ -79463,16 +79478,6 @@
icon_state = "emeraldcorner"
},
/area/almayer/squads/charlie)
-"xRk" = (
-/obj/structure/machinery/light{
- dir = 8
- },
-/obj/structure/surface/table/almayer,
-/turf/open/floor/almayer{
- dir = 8;
- icon_state = "silver"
- },
-/area/almayer/command/computerlab)
"xRw" = (
/turf/open/floor/almayer/uscm/directional{
dir = 1
@@ -80025,19 +80030,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hull/lower_hull/l_a_s)
-"ybZ" = (
-/obj/structure/surface/table/reinforced/almayer_B,
-/obj/structure/transmitter{
- dir = 4;
- name = "Port Railgun Control Telephone";
- phone_category = "Command";
- phone_id = "Port Railgun Control";
- pixel_x = -26
- },
-/turf/open/floor/almayer{
- icon_state = "redfull"
- },
-/area/almayer/shipboard/port_missiles)
"ycd" = (
/obj/structure/bed/chair{
dir = 8;
@@ -88075,7 +88067,7 @@ aTg
pdG
vAG
dOL
-jfY
+gJW
hwS
wly
wIC
@@ -90501,7 +90493,7 @@ vBm
vBm
vBm
vBm
-hZU
+sXD
mLJ
fkn
gaJ
@@ -91526,13 +91518,13 @@ gaJ
gaJ
tRA
lMc
-ffV
+fox
cMl
oeB
rkL
ldu
eRL
-jZL
+fCq
vBm
qJZ
ohJ
@@ -93850,7 +93842,7 @@ dqd
uNL
hJp
kcp
-bBD
+fwb
bTS
bTS
lxo
@@ -96374,7 +96366,7 @@ aaa
aaa
aad
aeE
-afb
+ssL
ayq
cfE
cfE
@@ -96422,7 +96414,7 @@ btD
rVN
rVN
vly
-ybZ
+iKp
pun
ajZ
aaa
@@ -99036,9 +99028,9 @@ wVW
wVW
wVW
swH
-ucz
+sDB
wVW
-sSG
+fRb
sEM
wVW
wVW
@@ -99237,13 +99229,13 @@ apo
fHh
wVW
lZs
-lVX
+tYr
sni
ayz
dAX
aQg
vpV
-snI
+fjM
aGp
wVW
aDv
@@ -100848,7 +100840,7 @@ agj
eYC
agc
fNb
-eSJ
+aRf
agc
agc
hvH
@@ -100864,7 +100856,7 @@ wVW
rOC
soX
azX
-vHt
+fXF
aCb
aDv
aEC
@@ -101263,7 +101255,7 @@ sBF
amY
vtT
wVW
-abQ
+kBt
atN
cEl
sOi
@@ -101757,7 +101749,7 @@ nXP
mNf
hJp
uNL
-cdE
+xBu
xSI
uZQ
aoH
@@ -102087,7 +102079,7 @@ alX
aIf
aED
wVW
-ryR
+rxq
jvX
auR
wVW
@@ -102692,7 +102684,7 @@ aCj
ayK
aAd
aAP
-hvv
+kZm
ayu
aCj
bYY
@@ -106453,7 +106445,7 @@ qyD
omo
blZ
bqN
-gtA
+nZY
bqN
bwR
gfW
@@ -107682,7 +107674,7 @@ mWw
apT
apA
arC
-asi
+jDi
cSN
asy
atw
@@ -109392,7 +109384,7 @@ ajl
vtx
ajl
ajl
-kgp
+sQx
fbB
cyU
bho
@@ -111424,7 +111416,7 @@ lMv
dVu
eSo
qmD
-aIC
+wVX
lJv
aCt
kXw
@@ -112355,7 +112347,7 @@ vzP
bJt
hjB
bJt
-dpn
+kRH
bDs
gSk
bDs
@@ -112454,7 +112446,7 @@ bqy
bYj
eUR
bsd
-nDh
+cDU
bYj
xne
cNH
@@ -118530,8 +118522,8 @@ avK
aqU
aCZ
dgg
-xRk
-bti
+dDe
+suM
aHq
sDC
ajt
@@ -119338,7 +119330,7 @@ mLE
tmK
avK
aug
-avL
+vjm
aqU
lyE
rsO
@@ -119940,18 +119932,18 @@ uLu
anC
aiC
ioU
-pvK
+rCN
qPE
xqD
-nYf
-rEL
-dnm
-rEL
-rEL
+gMr
+iax
+fSc
+iax
+iax
aHq
cnE
liJ
-hgB
+qDX
cbn
aHq
uLu
@@ -120143,7 +120135,7 @@ aSz
anG
aiC
ioU
-qyZ
+oEG
wTd
cmK
lFm
@@ -120859,7 +120851,7 @@ rbY
gwD
bOK
bPD
-bYa
+pkl
bPD
jOk
bNB
@@ -120964,7 +120956,7 @@ oeM
eed
oeM
eed
-iLf
+uyu
aRi
aGN
qrv
@@ -121062,7 +121054,7 @@ rbY
bEc
bKA
bCA
-bQS
+cCj
bCA
bKA
bEc
@@ -121167,7 +121159,7 @@ fXx
kXf
huO
iLO
-qLV
+rUY
xNv
iLO
bUa
@@ -121465,7 +121457,7 @@ bdj
bri
bLX
bdl
-kSU
+bmZ
bNP
bmD
bNP
@@ -123409,7 +123401,7 @@ sUF
anG
apd
oIB
-wqr
+cYn
hzb
xUV
oIB
@@ -124912,7 +124904,7 @@ sou
bAX
bdl
wIr
-aQy
+umG
jAB
iYt
bMa
@@ -125935,7 +125927,7 @@ qlz
xYf
skn
bQX
-ijQ
+mGP
cLl
qlz
tez
@@ -128661,7 +128653,7 @@ bNM
iEr
owg
eNi
-tii
+qWC
eJX
sAC
wYY
@@ -138463,7 +138455,7 @@ lmz
daz
cwS
ffE
-vHa
+mAw
wpw
ffE
ffE
@@ -139690,7 +139682,7 @@ wyv
pTt
gAe
rCi
-gba
+keM
mUz
our
rna
diff --git a/maps/map_files/generic/Admin_level.dmm b/maps/map_files/generic/Admin_level.dmm
index 43b3d26ec3..88182faf3b 100644
--- a/maps/map_files/generic/Admin_level.dmm
+++ b/maps/map_files/generic/Admin_level.dmm
@@ -662,7 +662,7 @@
/turf/open/space/transit/east/shuttlespace_ew8,
/area/space)
"qu" = (
-/obj/structure/transmitter/hidden{
+/obj/structure/phone_base/hidden{
dir = 8;
name = "Station Telephone";
phone_id = "Unknown Signal";
diff --git a/maps/map_files/golden_arrow/golden_arrow.dmm b/maps/map_files/golden_arrow/golden_arrow.dmm
index 08b869e59d..5013a4c3fe 100644
--- a/maps/map_files/golden_arrow/golden_arrow.dmm
+++ b/maps/map_files/golden_arrow/golden_arrow.dmm
@@ -21,6 +21,24 @@
icon_state = "test_floor4"
},
/area/almayer/living/briefing)
+"ah" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 2
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/item/tool/warning_cone{
+ pixel_x = -7;
+ pixel_y = 6
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 8
+ },
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
+/area/almayer/engineering)
"al" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -30,11 +48,22 @@
},
/area/almayer/hallways/hangar)
"an" = (
-/obj/structure/machinery/power/terminal{
- dir = 8
+/obj/structure/closet/emcloset,
+/obj/structure/machinery/light,
+/turf/open/floor/almayer{
+ icon_state = "test_floor5"
+ },
+/area/almayer/engineering)
+"aq" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "SW-out";
+ pixel_x = -1
},
/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating/plating_catwalk,
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
/area/almayer/engineering)
"ar" = (
/obj/structure/machinery/landinglight/ds1/delayone{
@@ -44,6 +73,13 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
+"aw" = (
+/obj/structure/sign/safety/storage{
+ pixel_x = 9;
+ pixel_y = 29
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/starboard_hallway)
"ax" = (
/obj/structure/cargo_container/arious/mid,
/turf/open/floor/almayer{
@@ -63,14 +99,15 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"az" = (
-/obj/structure/machinery/power/monitor{
- name = "Core Power Monitoring"
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
+"aA" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/platform/stair_cut,
+/obj/structure/stairs/perspective{
+ dir = 8;
+ icon_state = "p_stair_full"
},
-/area/almayer/engineering)
+/turf/open/floor/almayer,
+/area/almayer/hallways/starboard_hallway)
"aB" = (
/obj/structure/machinery/landinglight/ds1/delaythree{
dir = 4
@@ -79,6 +116,12 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
+"aG" = (
+/obj/structure/largecrate/supply/supplies/tables_racks,
+/turf/open/floor/almayer{
+ icon_state = "cargo"
+ },
+/area/almayer/engineering)
"aI" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -108,14 +151,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/squads/alpha/squad_one)
-"aK" = (
-/obj/structure/closet/secure_closet/engineering_electrical{
- req_one_access = list()
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor5"
- },
-/area/almayer/engineering)
"aN" = (
/turf/open/floor/almayer{
icon_state = "cargo_arrow"
@@ -150,6 +185,23 @@
},
/turf/open/floor/almayer,
/area/almayer/living/platoon_commander_rooms)
+"aX" = (
+/obj/structure/platform_decoration{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ dir = 1;
+ icon_state = "cargo_arrow"
+ },
+/area/almayer/hallways/starboard_hallway)
+"ba" = (
+/obj/item/tool/warning_cone{
+ pixel_x = 4;
+ pixel_y = 16
+ },
+/obj/item/stool,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/living/synthcloset)
"bb" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -165,17 +217,24 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
+"bg" = (
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/obj/structure/closet/crate/construction,
+/obj/item/stack/sandbags_empty/half,
+/obj/item/stack/sandbags_empty/half,
+/obj/item/stack/sandbags_empty/half,
+/obj/item/stack/sandbags_empty/half,
+/turf/open/floor/almayer{
+ icon_state = "cargo"
+ },
+/area/almayer/engineering)
"bh" = (
/obj/effect/landmark/start/marine/leader/alpha,
/obj/effect/landmark/late_join/alpha,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/cryo_cells)
-"bl" = (
-/obj/structure/machinery/portable_atmospherics/powered/scrubber,
-/turf/open/floor/almayer{
- icon_state = "cargo"
- },
-/area/almayer/engineering)
"bo" = (
/obj/structure/window/framed/almayer,
/turf/open/floor/almayer{
@@ -199,6 +258,16 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
+"bu" = (
+/obj/structure/machinery/camera/autoname/almayer,
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/hangar)
"bw" = (
/obj/structure/curtain/red,
/turf/open/floor/almayer{
@@ -213,6 +282,30 @@
icon_state = "cargo"
},
/area/almayer/hallways/hangar)
+"bB" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/warning_stripes{
+ icon_state = "W";
+ pixel_x = -1;
+ pixel_y = 1
+ },
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
+/area/almayer/engineering)
+"bD" = (
+/obj/structure/machinery/door/airlock/almayer/command/reinforced{
+ dir = 1;
+ name = "\improper Platoon Commander's Office";
+ req_access = list();
+ req_one_access_txt = "19;12"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/living/platoon_commander_rooms)
"bG" = (
/obj/structure/window/reinforced{
dir = 4;
@@ -257,32 +350,11 @@
icon_state = "plate"
},
/area/almayer/living/grunt_rnr)
-"bI" = (
-/obj/structure/machinery/conveyor{
- dir = 8
- },
-/obj/structure/barricade/handrail{
- dir = 8
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "SW-out";
- pixel_x = -1
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/hallways/starboard_hallway)
-"bP" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/warning_stripes{
- icon_state = "W";
- pixel_x = -1;
- pixel_y = 1
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
+"bO" = (
+/obj/structure/machinery/cm_vending/sorted/tech/electronics_storage{
+ req_one_access = list()
},
+/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering)
"bQ" = (
/obj/structure/machinery/landinglight/ds1{
@@ -315,9 +387,28 @@
icon_state = "plate"
},
/area/almayer/living/briefing)
+"bZ" = (
+/obj/structure/window/framed/almayer,
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/hallways/starboard_hallway)
"ca" = (
/turf/closed/wall/almayer/outer,
/area/almayer/hallways/hangar)
+"cj" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 2
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 8
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/engineering)
"cl" = (
/obj/structure/machinery/landinglight/ds1/delayone{
dir = 4
@@ -369,14 +460,11 @@
},
/area/almayer/hallways/hangar)
"cw" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "SE-out";
- pixel_x = 1
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "W"
+/obj/structure/machinery/computer/atmos_alert{
+ dir = 4
},
-/obj/effect/decal/cleanable/blood/oil,
+/obj/structure/surface/table/almayer,
+/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer{
dir = 5;
icon_state = "plating"
@@ -428,6 +516,18 @@
},
/turf/open/floor/almayer,
/area/almayer/squads/alpha/squad_one)
+"cG" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "SE-out";
+ pixel_x = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/spawner/random/powercell,
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
+/area/almayer/engineering)
"cH" = (
/obj/structure/surface/table/reinforced/prison,
/obj/structure/machinery/computer/med_data/laptop,
@@ -435,6 +535,12 @@
icon_state = "sterile_green"
},
/area/almayer/medical)
+"cI" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/hangar)
"cJ" = (
/obj/structure/bed/chair/office/light{
dir = 1
@@ -487,15 +593,6 @@
icon_state = "sterile_green"
},
/area/almayer/medical)
-"dc" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/machinery/status_display{
- pixel_x = -32
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/engineering)
"dd" = (
/obj/structure/pipes/vents/pump{
dir = 8
@@ -504,6 +601,20 @@
icon_state = "sterile_green"
},
/area/almayer/medical)
+"de" = (
+/obj/structure/machinery/light{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/starboard_hallway)
+"dg" = (
+/obj/structure/machinery/portable_atmospherics/powered/scrubber,
+/turf/open/floor/almayer{
+ icon_state = "cargo"
+ },
+/area/almayer/engineering)
"di" = (
/obj/structure/machinery/light,
/turf/open/floor/almayer{
@@ -511,9 +622,12 @@
},
/area/almayer/living/cryo_cells)
"dj" = (
+/obj/structure/closet/fireaxecabinet{
+ pixel_y = 30
+ },
/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 2
+ icon_state = "E";
+ pixel_x = 1
},
/turf/open/floor/almayer{
dir = 5;
@@ -555,6 +669,18 @@
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
/area/almayer/squads/alpha/platoon_sergeant)
+"ds" = (
+/obj/structure/machinery/power/terminal{
+ dir = 4
+ },
+/obj/item/tool/wirecutters{
+ pixel_y = -6
+ },
+/obj/item/device/multitool{
+ pixel_x = -10
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/engineering)
"dt" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 10
@@ -632,93 +758,66 @@
icon_state = "cargo"
},
/area/almayer/hallways/hangar)
-"dU" = (
-/obj/structure/largecrate,
-/obj/structure/largecrate{
- pixel_y = 16
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor5"
- },
-/area/almayer/hallways/starboard_hallway)
"dX" = (
/obj/structure/machinery/light{
dir = 4
},
/turf/open/floor/almayer,
/area/almayer/squads/alpha/squad_two)
-"dZ" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 8
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "NE-out";
- pixel_x = 1;
- pixel_y = 2
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 2
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
- },
-/area/almayer/engineering)
"ea" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer{
icon_state = "sterile_green"
},
/area/almayer/medical)
-"ee" = (
-/obj/structure/largecrate/supply/supplies/tables_racks,
+"eo" = (
/turf/open/floor/almayer{
- icon_state = "cargo"
+ icon_state = "cargo_arrow"
},
-/area/almayer/engineering)
-"ei" = (
-/obj/structure/machinery/autolathe,
-/obj/structure/machinery/light{
- dir = 8
+/area/almayer/hallways/port_hallway)
+"eu" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "NW-out";
+ pixel_x = -1;
+ pixel_y = 1
},
/turf/open/floor/almayer{
icon_state = "plate"
},
-/area/almayer/engineering)
-"em" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 2
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "S"
+/area/almayer/hallways/hangar)
+"ey" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
},
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/engineering)
-"en" = (
-/obj/structure/machinery/light{
- dir = 1
+/obj/structure/machinery/door/airlock/almayer/maint/reinforced{
+ access_modified = 1;
+ dir = 8;
+ req_one_access = list(36);
+ name = "\improper Synthetic Preperations"
},
-/turf/open/floor/almayer{
- icon_state = "plate"
+/obj/structure/machinery/door/poddoor/almayer/closed{
+ dir = 4;
+ indestructible = 1
},
-/area/almayer/engineering)
-"eo" = (
/turf/open/floor/almayer{
- icon_state = "cargo_arrow"
+ icon_state = "test_floor4"
},
-/area/almayer/hallways/port_hallway)
-"eu" = (
+/area/almayer/living/synthcloset)
+"eB" = (
+/obj/structure/prop/almayer/computers/sensor_computer1,
/obj/effect/decal/warning_stripes{
- icon_state = "NW-out";
+ icon_state = "W";
pixel_x = -1;
pixel_y = 1
},
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/machinery/light{
+ dir = 1
+ },
/turf/open/floor/almayer{
icon_state = "plate"
},
-/area/almayer/hallways/hangar)
+/area/almayer/hallways/starboard_hallway)
"eH" = (
/obj/structure/window/framed/almayer/hull,
/turf/open/floor/almayer{
@@ -738,13 +837,6 @@
icon_state = "cargo"
},
/area/almayer/living/cryo_cells)
-"eN" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/closet/firecloset/full,
-/turf/open/floor/almayer{
- icon_state = "test_floor5"
- },
-/area/almayer/hallways/starboard_hallway)
"eR" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/warning_stripes{
@@ -755,37 +847,37 @@
icon_state = "dark_sterile"
},
/area/almayer/living/cryo_cells)
+"eT" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "W";
+ pixel_x = -1;
+ pixel_y = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "SE-out";
+ pixel_x = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "NE-out";
+ pixel_x = 1;
+ pixel_y = 2
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 5
+ },
+/turf/open/floor/almayer,
+/area/almayer/living/synthcloset)
"eU" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer{
icon_state = "test_floor4"
},
/area/almayer/hallways/hangar)
-"eV" = (
-/obj/structure/pipes/vents/pump{
- dir = 1
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/almayer,
-/area/almayer/engineering)
"eY" = (
/turf/open/floor/almayer{
icon_state = "test_floor5"
},
/area/almayer/hallways/hangar)
-"eZ" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "S"
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/engineering)
-"fb" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/machinery/suit_storage_unit/carbon_unit,
-/turf/open/floor/almayer{
- icon_state = "test_floor5"
- },
-/area/almayer/engineering)
"fe" = (
/obj/effect/decal/warning_stripes{
icon_state = "NE-out";
@@ -825,16 +917,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/squads/alpha/platoon_sergeant)
-"fi" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 1
- },
-/obj/structure/pipes/vents/scrubber,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/hallways/hangar)
"fl" = (
/obj/structure/machinery/landinglight/ds1/delaytwo{
dir = 4
@@ -843,6 +925,10 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
+"fm" = (
+/obj/structure/foamed_metal,
+/turf/open/floor/plating,
+/area/almayer/engineering)
"fo" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/warning_stripes{
@@ -857,16 +943,37 @@
icon_state = "dark_sterile"
},
/area/almayer/living/cryo_cells)
+"fp" = (
+/obj/structure/closet/secure_closet/engineering_welding{
+ req_one_access = list()
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor5"
+ },
+/area/almayer/engineering)
+"fq" = (
+/obj/structure/machinery/conveyor{
+ dir = 10
+ },
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
+/area/almayer/hallways/starboard_hallway)
"fv" = (
-/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/warning_stripes{
- icon_state = "S"
+ icon_state = "W"
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 2
},
+/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer{
dir = 5;
icon_state = "plating"
},
-/area/almayer/hallways/starboard_hallway)
+/area/almayer/engineering)
"fx" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -893,6 +1000,16 @@
icon_state = "plate"
},
/area/almayer/living/briefing)
+"fF" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
+/area/almayer/engineering)
"fJ" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/prop/invuln/overhead_pipe{
@@ -929,16 +1046,6 @@
icon_state = "test_floor4"
},
/area/almayer/medical)
-"fP" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/obj/structure/machinery/door/airlock/almayer/generic{
- dir = 1;
- name = "\improper Supply Bay"
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/starboard_hallway)
"fX" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/warning_stripes{
@@ -956,20 +1063,17 @@
icon_state = "sterile_green"
},
/area/almayer/medical)
-"ga" = (
-/obj/structure/machinery/door/airlock/almayer/engineering/reinforced{
- req_one_access = list();
- name = "\improper Engineering Airlock"
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/engineering)
"gd" = (
/turf/open/floor/almayer{
icon_state = "plate"
},
/area/almayer/squads/alpha/squad_two)
+"gf" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 6
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/engineering)
"gg" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/warning_stripes{
@@ -992,6 +1096,16 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
+"gn" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/closet/secure_closet/surgical{
+ pixel_x = -30
+ },
+/obj/structure/surface/table/almayer,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/living/synthcloset)
"gp" = (
/obj/structure/surface/rack,
/obj/effect/decal/warning_stripes{
@@ -1009,6 +1123,24 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/port_hallway)
+"gt" = (
+/obj/structure/machinery/power/monitor{
+ name = "Core Power Monitoring"
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/engineering)
+"gx" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/machinery/cm_vending/sorted/tech/tool_storage{
+ req_one_access = list()
+ },
+/obj/structure/machinery/light,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/engineering)
"gz" = (
/obj/structure/ship_ammo/rocket/widowmaker,
/turf/open/floor/almayer{
@@ -1028,16 +1160,6 @@
/obj/structure/machinery/telecomms/relay/preset/tower,
/turf/open/floor/almayer,
/area/almayer/engineering)
-"gC" = (
-/obj/structure/machinery/door/airlock/multi_tile/almayer/engidoor/autoname{
- dir = 1;
- req_one_access = list();
- autoname = 0
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/engineering)
"gD" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 5
@@ -1047,12 +1169,8 @@
},
/area/almayer/hallways/hangar)
"gE" = (
-/obj/structure/surface/rack,
-/obj/effect/spawner/random/technology_scanner,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/engineering)
+/turf/closed/wall/almayer,
+/area/almayer/hallways/starboard_hallway)
"gG" = (
/obj/structure/machinery/light{
dir = 1
@@ -1074,19 +1192,6 @@
icon_state = "plate"
},
/area/almayer/living/cryo_cells)
-"gI" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 8
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 2
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
- },
-/area/almayer/engineering)
"gL" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/machinery/light{
@@ -1103,26 +1208,30 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/platoon_sergeant)
-"gQ" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/supply_drop/echo,
+"gS" = (
/obj/effect/decal/cleanable/dirt,
-/obj/structure/platform{
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ dir = 8;
+ icon_state = "cargo_arrow"
+ },
+/area/almayer/hallways/port_hallway)
+"gT" = (
+/obj/structure/machinery/conveyor{
dir = 8
},
/turf/open/floor/almayer{
- icon_state = "test_floor5"
+ dir = 5;
+ icon_state = "plating"
},
/area/almayer/hallways/starboard_hallway)
"gW" = (
-/obj/structure/ladder{
- height = 2;
- id = "req1"
- },
/turf/open/floor/almayer{
- icon_state = "test_floor5"
+ icon_state = "test_floor4"
},
-/area/almayer/hallways/starboard_hallway)
+/area/almayer/engineering)
"ha" = (
/obj/structure/machinery/light{
dir = 8
@@ -1156,30 +1265,25 @@
icon_state = "test_floor4"
},
/area/almayer/medical)
-"hu" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 9
- },
+"hq" = (
/obj/effect/decal/warning_stripes{
- icon_state = "NW-out";
+ icon_state = "W";
pixel_x = -1;
- pixel_y = 2
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/starboard_hallway)
-"hv" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 8
+ pixel_y = 1
},
+/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 2
+ icon_state = "E";
+ pixel_x = 1
},
+/turf/open/floor/almayer,
+/area/almayer/living/synthcloset)
+"hy" = (
/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 5
},
+/turf/open/floor/almayer,
/area/almayer/engineering)
"hA" = (
/obj/structure/pipes/standard/simple/hidden/supply{
@@ -1218,15 +1322,25 @@
icon_state = "test_floor4"
},
/area/almayer/medical)
-"hJ" = (
-/obj/structure/platform_decoration{
- dir = 4
+"hL" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "NE-out";
+ pixel_x = 1;
+ pixel_y = 1
},
+/obj/structure/sign/safety/electronics{
+ pixel_x = 31;
+ pixel_y = 6
+ },
+/obj/structure/sign/safety/high_voltage{
+ pixel_x = 31;
+ pixel_y = -6
+ },
+/obj/structure/machinery/portable_atmospherics/canister/air,
/turf/open/floor/almayer{
- dir = 1;
- icon_state = "cargo_arrow"
+ icon_state = "plate"
},
-/area/almayer/hallways/starboard_hallway)
+/area/almayer/engineering)
"hN" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/computer/secure_data{
@@ -1256,6 +1370,24 @@
"hS" = (
/turf/closed/wall/almayer,
/area/almayer/living/platoon_commander_rooms)
+"hU" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 2
+ },
+/obj/item/device/flashlight{
+ pixel_x = -4;
+ pixel_y = 7
+ },
+/obj/item/tool/warning_cone,
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 8
+ },
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
+/area/almayer/engineering)
"hW" = (
/obj/structure/surface/table/reinforced/prison,
/obj/structure/machinery/recharger,
@@ -1264,6 +1396,12 @@
icon_state = "sterile_green"
},
/area/almayer/medical)
+"if" = (
+/obj/structure/reagent_dispensers/fueltank/custom,
+/turf/open/floor/almayer{
+ icon_state = "cargo"
+ },
+/area/almayer/engineering)
"ik" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -1280,17 +1418,14 @@
/area/almayer/living/cafeteria_port)
"il" = (
/obj/effect/decal/warning_stripes{
- icon_state = "S"
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
+ icon_state = "N";
+ pixel_y = 2
},
/turf/open/floor/almayer{
dir = 5;
icon_state = "plating"
},
-/area/almayer/hallways/starboard_hallway)
+/area/almayer/engineering)
"ip" = (
/obj/effect/decal/warning_stripes{
icon_state = "NE-out";
@@ -1307,17 +1442,6 @@
icon_state = "test_floor4"
},
/area/almayer/living/cryo_cells)
-"iv" = (
-/obj/structure/closet/secure_closet/engineering_welding{
- req_one_access = list()
- },
-/obj/structure/machinery/light{
- dir = 1
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/engineering)
"iy" = (
/obj/structure/pipes/vents/pump{
dir = 8
@@ -1365,6 +1489,12 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/squads/alpha/squad_one)
+"iF" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 10
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/starboard_hallway)
"iG" = (
/obj/structure/machinery/door/poddoor/almayer/open,
/obj/structure/pipes/standard/simple/hidden/supply,
@@ -1395,18 +1525,34 @@
icon_state = "plate"
},
/area/almayer/hallways/port_hallway)
-"iO" = (
+"iQ" = (
/obj/effect/decal/cleanable/dirt,
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 5
+/obj/structure/machinery/light{
+ dir = 8
},
-/turf/open/floor/almayer,
-/area/almayer/engineering)
+/obj/structure/machinery/photocopier,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/starboard_hallway)
"iR" = (
/turf/open/floor/almayer{
icon_state = "plate"
},
/area/almayer/living/platoon_commander_rooms)
+"iX" = (
+/obj/structure/sign/safety/rewire{
+ pixel_x = 14;
+ pixel_y = 29
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/hangar)
"jb" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -1477,12 +1623,6 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"jp" = (
-/obj/structure/closet/secure_closet/engineering_electrical{
- req_one_access = list()
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/engineering)
"js" = (
/obj/structure/machinery/firealarm{
pixel_y = 28
@@ -1496,6 +1636,24 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/squad_two)
+"jy" = (
+/obj/effect/decal/cleanable/blood/oil,
+/obj/structure/machinery/computer/station_alert{
+ dir = 8;
+ pixel_x = 15;
+ pixel_y = 2
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/living/synthcloset)
+"jD" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 9
+ },
+/turf/open/floor/almayer,
+/area/almayer/engineering)
"jG" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/effect/decal/warning_stripes{
@@ -1515,6 +1673,14 @@
icon_state = "dark_sterile"
},
/area/almayer/medical)
+"jN" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/machinery/cell_charger,
+/obj/structure/machinery/light,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/engineering)
"jO" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -1527,6 +1693,18 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
+"jQ" = (
+/obj/structure/machinery/pipedispenser,
+/turf/open/floor/almayer{
+ icon_state = "cargo"
+ },
+/area/almayer/engineering)
+"jS" = (
+/obj/structure/machinery/power/terminal{
+ dir = 4
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/engineering)
"jU" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -1565,26 +1743,39 @@
icon_state = "test_floor4"
},
/area/almayer/living/briefing)
-"km" = (
-/obj/effect/decal/cleanable/dirt,
+"kh" = (
+/obj/structure/surface/table/almayer,
+/obj/item/storage/belt/utility/full,
/turf/open/floor/almayer{
- icon_state = "test_floor4"
+ icon_state = "plate"
},
-/area/almayer/hallways/hangar)
-"kn" = (
-/obj/structure/surface/table/almayer,
-/obj/structure/machinery/alarm/almayer{
- dir = 1
+/area/almayer/engineering)
+"kk" = (
+/obj/structure/pipes/vents/pump{
+ dir = 8
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 2
},
-/obj/item/storage/toolbox/electrical,
/obj/effect/decal/warning_stripes{
icon_state = "E";
pixel_x = 1
},
+/obj/effect/decal/warning_stripes{
+ icon_state = "SW-out";
+ pixel_x = -1
+ },
/turf/open/floor/almayer{
icon_state = "plate"
},
/area/almayer/engineering)
+"km" = (
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/hallways/hangar)
"kq" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -1604,21 +1795,45 @@
icon_state = "cargo"
},
/area/almayer/living/cryo_cells)
-"kt" = (
-/obj/structure/machinery/light{
- dir = 4
+"kw" = (
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 8
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/starboard_hallway)
+"kB" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 8
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
+/turf/open/floor/almayer,
+/area/almayer/engineering)
+"kF" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/machinery/reagentgrinder/industrial{
+ pixel_y = 9
},
/turf/open/floor/almayer{
icon_state = "plate"
},
-/area/almayer/hallways/starboard_hallway)
-"kA" = (
-/obj/structure/machinery/power/apc/almayer{
- dir = 4
+/area/almayer/engineering)
+"kH" = (
+/obj/structure/machinery/computer/cryopod{
+ dir = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "SE-out";
+ pixel_x = 1
+ },
+/obj/structure/machinery/camera/autoname/almayer{
+ dir = 8;
+ name = "ship-grade camera"
},
-/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer{
- icon_state = "cargo"
+ icon_state = "test_floor5"
},
/area/almayer/engineering)
"kI" = (
@@ -1630,12 +1845,16 @@
},
/turf/open/floor/almayer,
/area/almayer/squads/alpha/platoon_sergeant)
-"kS" = (
-/obj/structure/window/framed/almayer,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
+"kO" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/obj/effect/decal/warning_stripes{
+ icon_state = "W"
},
-/area/almayer/engineering)
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/starboard_hallway)
+"kS" = (
+/turf/closed/wall/almayer/outer,
+/area/almayer/hallways/starboard_hallway)
"kU" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -1717,17 +1936,15 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/port_hallway)
-"lt" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 8
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/engineering)
"ly" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/pipes/standard/manifold/hidden/supply,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/starboard_hallway)
+"lA" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer,
+/area/almayer/hallways/starboard_hallway)
"lB" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -1740,12 +1957,6 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"lC" = (
-/obj/structure/closet/secure_closet/engineering_personal,
-/turf/open/floor/almayer{
- icon_state = "test_floor5"
- },
-/area/almayer/engineering)
"lE" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/pipes/standard/simple/hidden/supply{
@@ -1762,38 +1973,12 @@
},
/area/almayer/living/cafeteria_port)
"lK" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/closet/emcloset,
-/turf/open/floor/almayer{
- icon_state = "test_floor5"
- },
-/area/almayer/hallways/starboard_hallway)
-"lL" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
- },
-/area/almayer/engineering)
-"lM" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "S"
- },
-/obj/item/tool/wet_sign,
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
+/obj/structure/surface/table/almayer,
+/obj/structure/machinery/computer/atmos_alert{
+ dir = 4
},
-/area/almayer/engineering)
-"lO" = (
-/obj/structure/surface/rack,
-/obj/item/storage/briefcase/inflatable,
-/obj/item/storage/briefcase/inflatable,
/turf/open/floor/almayer{
- icon_state = "test_floor5"
+ icon_state = "plate"
},
/area/almayer/engineering)
"lQ" = (
@@ -1814,16 +1999,23 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/platoon_sergeant)
-"lW" = (
+"lV" = (
/obj/effect/decal/cleanable/dirt,
-/obj/structure/machinery/cm_vending/sorted/cargo_guns/squad{
- req_one_access = list();
- req_one_access_txt = "8;12;40"
+/obj/structure/machinery/cm_vending/sorted/uniform_supply/squad_prep{
+ req_access = list();
+ req_one_access_txt = "8;12;39"
},
/turf/open/floor/almayer{
icon_state = "plate"
},
-/area/almayer/squads/alpha/squad_two)
+/area/almayer/squads/alpha/squad_one)
+"mb" = (
+/obj/structure/machinery/door/poddoor/almayer/locked{
+ dir = 4;
+ name = "\improper Hangar Lockdown Blast Door"
+ },
+/turf/closed/wall/almayer/outer,
+/area/almayer/hallways/starboard_hallway)
"mc" = (
/obj/structure/bed{
can_buckle = 0
@@ -1875,17 +2067,11 @@
/turf/open/floor/almayer,
/area/almayer/hallways/hangar)
"mo" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "W"
- },
-/obj/structure/pipes/standard/simple/hidden/supply,
+/obj/structure/surface/rack,
+/obj/item/storage/briefcase/inflatable,
+/obj/item/storage/briefcase/inflatable,
/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
+ icon_state = "test_floor5"
},
/area/almayer/engineering)
"ms" = (
@@ -1895,13 +2081,6 @@
icon_state = "cargo_arrow"
},
/area/almayer/hallways/port_hallway)
-"mw" = (
-/obj/structure/machinery/power/terminal{
- dir = 8
- },
-/obj/effect/decal/cleanable/blood/oil,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/engineering)
"mB" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -1925,22 +2104,6 @@
icon_state = "test_floor4"
},
/area/almayer/squads/alpha/squad_one)
-"mI" = (
-/obj/structure/pipes/vents/pump{
- dir = 4
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "W"
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
- },
-/area/almayer/engineering)
"mR" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
@@ -1966,31 +2129,12 @@
},
/area/almayer/living/cryo_cells)
"mZ" = (
-/obj/structure/surface/table/almayer,
/obj/effect/decal/cleanable/dirt,
-/obj/item/folder/yellow,
-/obj/item/book/manual/engineering_construction,
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
- },
-/area/almayer/engineering)
-"na" = (
-/obj/structure/machinery/computer/cryopod{
- dir = 1
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "SE-out";
- pixel_x = 1
- },
-/obj/structure/machinery/camera/autoname/almayer{
- dir = 8;
- name = "ship-grade camera"
- },
+/obj/structure/closet/firecloset/full,
/turf/open/floor/almayer{
icon_state = "test_floor5"
},
-/area/almayer/engineering)
+/area/almayer/hallways/starboard_hallway)
"nb" = (
/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{
name = "\improper Squad Two Armoury";
@@ -2013,12 +2157,17 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"nf" = (
-/obj/structure/reagent_dispensers/fueltank/custom,
+"ng" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
+/obj/structure/machinery/light,
+/obj/structure/largecrate,
/turf/open/floor/almayer{
- icon_state = "cargo"
+ icon_state = "plate"
},
-/area/almayer/engineering)
+/area/almayer/hallways/starboard_hallway)
"ni" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/bed/chair/comfy/alpha{
@@ -2083,25 +2232,53 @@
/area/almayer/hallways/starboard_hallway)
"ny" = (
/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 5
+ dir = 8
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 2
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/starboard_hallway)
+"nD" = (
+/obj/structure/machinery/conveyor{
+ dir = 8
+ },
+/obj/structure/barricade/handrail{
+ dir = 8
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "SW-out";
+ pixel_x = -1
},
/turf/open/floor/almayer{
icon_state = "plate"
},
/area/almayer/hallways/starboard_hallway)
+"nF" = (
+/obj/structure/pipes/vents/pump{
+ dir = 8
+ },
+/obj/structure/machinery/power/apc/almayer{
+ dir = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "W";
+ pixel_x = -1;
+ pixel_y = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/almayer,
+/area/almayer/living/synthcloset)
"nG" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
/area/almayer/squads/alpha/squad_one)
-"nH" = (
-/obj/structure/machinery/light,
-/obj/effect/decal/warning_stripes{
- icon_state = "S"
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/hallways/hangar)
"nK" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/machinery/power/apc/almayer{
@@ -2203,6 +2380,21 @@
icon_state = "logo_c"
},
/area/almayer/living/briefing)
+"oo" = (
+/obj/structure/closet/secure_closet/engineering_electrical{
+ req_one_access = list()
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor5"
+ },
+/area/almayer/engineering)
+"or" = (
+/obj/structure/machinery/conveyor,
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
+/area/almayer/hallways/starboard_hallway)
"ot" = (
/obj/structure/surface/rack,
/obj/item/weapon/gun/rifle/m41aMK1{
@@ -2240,14 +2432,30 @@
/obj/structure/window/reinforced/tinted/frosted,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/platoon_commander_rooms)
-"oD" = (
+"oB" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 2
+ icon_state = "E";
+ pixel_x = 1
},
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/engineering)
+/obj/structure/machinery/computer/supply_drop_console/limited{
+ icon = 'icons/obj/structures/props/almayer_props.dmi';
+ icon_state = "sensor_comp2";
+ layer = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/starboard_hallway)
+"oC" = (
+/obj/structure/plasticflaps,
+/obj/structure/machinery/conveyor{
+ dir = 8
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/hallways/starboard_hallway)
"oH" = (
/obj/structure/machinery/light{
dir = 4
@@ -2297,6 +2505,13 @@
icon_state = "plate"
},
/area/almayer/living/cafeteria_port)
+"oO" = (
+/obj/structure/machinery/power/terminal{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/engineering)
"oQ" = (
/obj/item/prop/helmetgarb/gunoil{
pixel_x = 7;
@@ -2316,27 +2531,24 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/squad_one)
-"oS" = (
-/obj/item/reagent_container/spray/cleaner{
- pixel_x = 5;
- pixel_y = 10
+"oW" = (
+/obj/structure/machinery/power/apc/almayer{
+ dir = 1
},
-/obj/structure/janitorialcart,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/engineering)
-"oX" = (
-/obj/structure/machinery/conveyor,
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
},
-/area/almayer/hallways/starboard_hallway)
-"pe" = (
-/obj/structure/surface/table/almayer,
-/obj/item/storage/belt/utility/full,
/turf/open/floor/almayer{
icon_state = "plate"
},
+/area/almayer/hallways/hangar)
+"oX" = (
+/obj/structure/largecrate/supply/generator,
+/obj/structure/machinery/light,
+/turf/open/floor/almayer{
+ icon_state = "cargo"
+ },
/area/almayer/engineering)
"pf" = (
/obj/effect/decal/cleanable/dirt,
@@ -2415,28 +2627,14 @@
},
/area/almayer/hallways/hangar)
"pR" = (
-/obj/structure/closet/crate,
-/obj/effect/decal/cleanable/dirt,
-/obj/item/clothing/glasses/meson,
-/obj/item/clothing/gloves/yellow,
-/obj/item/clothing/gloves/yellow,
-/obj/item/clothing/gloves/yellow,
-/obj/item/clothing/gloves/yellow,
-/obj/item/clothing/gloves/yellow,
-/obj/item/tool/shovel/snow,
-/obj/item/tool/shovel/snow,
-/obj/item/tool/shovel/snow,
-/turf/open/floor/almayer{
- icon_state = "cargo"
- },
-/area/almayer/engineering)
+/obj/structure/pipes/standard/manifold/hidden/supply,
+/turf/open/floor/almayer,
+/area/almayer/hallways/hangar)
"pS" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 8
- },
-/obj/structure/machinery/power/smes/buildable,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/machinery/suit_storage_unit/carbon_unit,
/turf/open/floor/almayer{
- icon_state = "test_floor4"
+ icon_state = "test_floor5"
},
/area/almayer/engineering)
"pW" = (
@@ -2458,6 +2656,13 @@
icon_state = "cargo_arrow"
},
/area/almayer/squads/alpha/squad_one)
+"qc" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/hallways/starboard_hallway)
"qf" = (
/obj/structure/machinery/cryopod/right{
pixel_y = 6
@@ -2494,24 +2699,6 @@
icon_state = "test_floor4"
},
/area/almayer/living/cryo_cells)
-"qr" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 2
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/item/tool/warning_cone{
- pixel_x = -7;
- pixel_y = 6
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 8
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
- },
-/area/almayer/engineering)
"qu" = (
/obj/structure/machinery/door/airlock/multi_tile/almayer/generic{
dir = 1;
@@ -2533,6 +2720,25 @@
icon_state = "cargo"
},
/area/almayer/hallways/hangar)
+"qz" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
+/obj/structure/filingcabinet{
+ density = 0;
+ pixel_x = 8;
+ pixel_y = 16
+ },
+/obj/structure/filingcabinet{
+ density = 0;
+ pixel_x = -8;
+ pixel_y = 18
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/starboard_hallway)
"qA" = (
/turf/closed/wall/almayer,
/area/almayer/squads/alpha/platoon_sergeant)
@@ -2554,13 +2760,6 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/squad_two)
-"qE" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/warning_stripes{
- icon_state = "S"
- },
-/turf/open/floor/almayer,
-/area/almayer/engineering)
"qI" = (
/obj/structure/machinery/landinglight/ds1/delayone{
dir = 8
@@ -2581,12 +2780,6 @@
icon_state = "dark_sterile"
},
/area/almayer/living/cafeteria_port)
-"qS" = (
-/obj/structure/largecrate/supply/floodlights,
-/turf/open/floor/almayer{
- icon_state = "cargo"
- },
-/area/almayer/engineering)
"qT" = (
/turf/open/floor/almayer/uscm/directional{
dir = 9
@@ -2598,12 +2791,14 @@
},
/turf/open/floor/almayer,
/area/almayer/living/platoon_commander_rooms)
-"qX" = (
-/obj/effect/decal/cleanable/greenglow,
-/obj/structure/reagent_dispensers/fueltank/custom,
-/obj/structure/sign/safety/storage{
- pixel_x = 7;
- pixel_y = -28
+"qW" = (
+/obj/structure/surface/table/almayer,
+/obj/item/storage/toolbox/mechanical/green{
+ pixel_y = 10
+ },
+/obj/item/storage/toolbox/mechanical/green{
+ pixel_x = -7;
+ pixel_y = -1
},
/turf/open/floor/almayer{
icon_state = "plate"
@@ -2632,13 +2827,6 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"rg" = (
-/obj/structure/sign/safety/storage{
- pixel_x = 9;
- pixel_y = 29
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/starboard_hallway)
"rh" = (
/obj/effect/decal/warning_stripes{
icon_state = "SE-out";
@@ -2659,11 +2847,33 @@
dir = 1
},
/area/almayer/living/briefing)
+"ro" = (
+/obj/structure/largecrate/supply/supplies/water,
+/turf/open/floor/almayer{
+ icon_state = "cargo"
+ },
+/area/almayer/engineering)
+"rq" = (
+/obj/structure/largecrate/supply/floodlights,
+/turf/open/floor/almayer{
+ icon_state = "cargo"
+ },
+/area/almayer/engineering)
"rr" = (
/turf/open/floor/almayer/uscm/directional{
dir = 5
},
/area/almayer/living/briefing)
+"rt" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
+ },
+/obj/item/tool/wet_sign,
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
+/area/almayer/engineering)
"rx" = (
/obj/structure/surface/table/almayer,
/obj/structure/pipes/standard/simple/hidden/supply,
@@ -2681,21 +2891,6 @@
},
/turf/open/floor/almayer,
/area/almayer/living/briefing)
-"rz" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/warning_stripes{
- icon_state = "S"
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "W";
- pixel_x = -1;
- pixel_y = 1
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
- },
-/area/almayer/engineering)
"rA" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/janitorialcart,
@@ -2762,14 +2957,6 @@
icon_state = "plate"
},
/area/almayer/living/grunt_rnr)
-"rY" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 10
- },
-/turf/open/floor/almayer{
- icon_state = "bluefull"
- },
-/area/almayer/living/platoon_commander_rooms)
"rZ" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -2830,17 +3017,6 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/port_hallway)
-"sp" = (
-/obj/structure/machinery/power/monitor{
- name = "Core Power Monitoring"
- },
-/obj/structure/sign/safety/terminal{
- pixel_x = -17
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor5"
- },
-/area/almayer/engineering)
"sv" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -2851,15 +3027,6 @@
icon_state = "plate"
},
/area/almayer/living/briefing)
-"sw" = (
-/obj/structure/surface/table/almayer,
-/obj/structure/machinery/reagentgrinder/industrial{
- pixel_y = 9
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/engineering)
"sy" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -2876,8 +3043,11 @@
"sC" = (
/turf/closed/wall/almayer/outer,
/area/almayer/squads/alpha/platoon_sergeant)
-"sD" = (
-/turf/closed/wall/almayer,
+"sE" = (
+/obj/structure/machinery/power/smes/buildable,
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
/area/almayer/engineering)
"sI" = (
/turf/closed/wall/almayer/outer,
@@ -2889,24 +3059,6 @@
icon_state = "cargo_arrow"
},
/area/almayer/hallways/starboard_hallway)
-"sL" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 2
- },
-/obj/item/device/flashlight{
- pixel_x = -4;
- pixel_y = 7
- },
-/obj/item/tool/warning_cone,
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 8
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
- },
-/area/almayer/engineering)
"sN" = (
/obj/effect/decal/warning_stripes{
icon_state = "SE-out";
@@ -2925,15 +3077,6 @@
icon_state = "dark_sterile"
},
/area/almayer/living/cafeteria_port)
-"sP" = (
-/obj/structure/closet/secure_closet/engineering_personal,
-/obj/structure/machinery/status_display{
- pixel_y = -30
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor5"
- },
-/area/almayer/engineering)
"sR" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/plating/plating_catwalk,
@@ -2963,10 +3106,30 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/squads/alpha/squad_two)
+"sX" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/item/paper_bin/uscm{
+ pixel_x = -8;
+ pixel_y = 5
+ },
+/obj/item/clipboard{
+ pixel_x = 8;
+ pixel_y = 3
+ },
+/obj/item/tool/pen{
+ pixel_x = 12
+ },
+/obj/structure/surface/table/almayer,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/starboard_hallway)
"sY" = (
/obj/structure/closet/secure_closet/personal/cabinet{
req_access = null
},
+/obj/item/clothing/suit/storage/jacket/marine/service,
+/obj/item/clothing/suit/storage/jacket/marine/service/tanker,
/turf/open/floor/almayer{
icon_state = "plate"
},
@@ -3013,10 +3176,32 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/squads/alpha/squad_two)
+"tA" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 8
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/starboard_hallway)
+"tB" = (
+/obj/structure/closet/firecloset/full,
+/turf/open/floor/almayer{
+ icon_state = "test_floor5"
+ },
+/area/almayer/engineering)
"tG" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer,
/area/almayer/hallways/hangar)
+"tS" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/machinery/cm_vending/sorted/uniform_supply/squad_prep{
+ req_access = list();
+ req_one_access_txt = "8;12;40"
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/squads/alpha/squad_two)
"tT" = (
/obj/structure/surface/table/almayer,
/obj/effect/decal/cleanable/dirt,
@@ -3072,6 +3257,16 @@
/obj/structure/machinery/faxmachine/uscm/command/capt,
/turf/open/floor/almayer,
/area/almayer/living/platoon_commander_rooms)
+"uo" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
+ },
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
+/area/almayer/hallways/starboard_hallway)
"up" = (
/obj/structure/bed/chair/comfy{
dir = 1
@@ -3086,6 +3281,13 @@
icon_state = "dark_sterile"
},
/area/almayer/living/cafeteria_port)
+"us" = (
+/obj/structure/pipes/vents/pump{
+ dir = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/almayer,
+/area/almayer/engineering)
"uu" = (
/obj/effect/decal/warning_stripes{
icon_state = "W";
@@ -3109,30 +3311,6 @@
icon_state = "plate"
},
/area/almayer/living/briefing)
-"uB" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/surface/table/almayer,
-/obj/item/tool/hand_labeler{
- pixel_x = 4;
- pixel_y = 11
- },
-/obj/item/reagent_container/food/drinks/coffeecup/uscm{
- pixel_x = -6;
- pixel_y = 1
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/hallways/starboard_hallway)
-"uE" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 9
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/engineering)
"uF" = (
/obj/structure/surface/table/reinforced/prison,
/obj/structure/machinery/computer/crew/alt,
@@ -3180,22 +3358,30 @@
/turf/open/floor/almayer,
/area/almayer/squads/alpha/platoon_sergeant)
"uQ" = (
-/obj/structure/machinery/power/smes/buildable,
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
/turf/open/floor/almayer{
- icon_state = "test_floor4"
+ dir = 5;
+ icon_state = "plating"
},
/area/almayer/engineering)
-"uY" = (
-/obj/structure/machinery/power/terminal{
- dir = 4
- },
-/obj/item/tool/wirecutters{
- pixel_y = -6
+"uS" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "SE-out";
+ pixel_x = 1
},
-/obj/item/device/multitool{
- pixel_x = -10
+/turf/open/floor/almayer,
+/area/almayer/hallways/starboard_hallway)
+"uX" = (
+/obj/structure/closet/secure_closet/engineering_chief,
+/turf/open/floor/almayer{
+ icon_state = "test_floor5"
},
-/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering)
"vb" = (
/obj/structure/surface/table/reinforced/almayer_B{
@@ -3205,19 +3391,24 @@
/turf/closed/wall/almayer,
/area/almayer/living/platoon_commander_rooms)
"vc" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
- },
-/obj/structure/machinery/computer/supply_drop_console/limited{
- icon = 'icons/obj/structures/props/almayer_props.dmi';
- icon_state = "sensor_comp2";
- layer = 4
+/obj/structure/machinery/light{
+ dir = 1
},
+/obj/structure/closet/emcloset,
/turf/open/floor/almayer{
- icon_state = "plate"
+ icon_state = "test_floor5"
},
+/area/almayer/engineering)
+"vg" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 9
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "NW-out";
+ pixel_x = -1;
+ pixel_y = 2
+ },
+/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/starboard_hallway)
"vk" = (
/obj/structure/machinery/light,
@@ -3227,6 +3418,15 @@
icon_state = "cargo_arrow"
},
/area/almayer/living/briefing)
+"vo" = (
+/obj/structure/machinery/cm_vending/sorted/medical/wall_med{
+ pixel_y = 25
+ },
+/obj/structure/machinery/cm_vending/sorted/tech/comp_storage,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/engineering)
"vp" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -3239,9 +3439,6 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/port_hallway)
-"vr" = (
-/turf/closed/wall/almayer/outer,
-/area/almayer/engineering)
"vt" = (
/obj/structure/machinery/power/apc/almayer{
dir = 1
@@ -3267,15 +3464,55 @@
icon_state = "cargo_arrow"
},
/area/almayer/squads/alpha/squad_two)
-"vH" = (
+"vG" = (
+/obj/structure/machinery/power/terminal{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/item/storage/pouch/electronics{
+ pixel_x = 6;
+ pixel_y = -1
+ },
+/obj/item/storage/toolbox/mechanical{
+ pixel_x = -7;
+ pixel_y = -8
+ },
+/obj/item/stack/cable_coil,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/engineering)
+"vJ" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
},
-/obj/structure/pipes/standard/simple/hidden/supply,
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "NW-out";
+ pixel_x = -1;
+ pixel_y = 2
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 9
+ },
/turf/open/floor/almayer{
icon_state = "plate"
},
-/area/almayer/hallways/hangar)
+/area/almayer/engineering)
+"vK" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
+/area/almayer/hallways/starboard_hallway)
"vL" = (
/obj/structure/sign/safety/bulkhead_door{
pixel_x = -19
@@ -3284,15 +3521,6 @@
icon_state = "plate"
},
/area/almayer/hallways/port_hallway)
-"vM" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/hallways/starboard_hallway)
"vN" = (
/obj/effect/decal/warning_stripes{
icon_state = "NW-out";
@@ -3309,6 +3537,15 @@
icon_state = "plate"
},
/area/almayer/living/briefing)
+"vP" = (
+/obj/structure/machinery/light,
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/hangar)
"vS" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -3327,37 +3564,16 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/grunt_rnr)
-"vW" = (
-/obj/structure/closet/toolcloset,
-/obj/structure/machinery/light{
- dir = 1
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/engineering)
-"vY" = (
-/obj/structure/sign/safety/rewire{
- pixel_x = 14;
- pixel_y = 29
- },
+"wa" = (
/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 1
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
+ icon_state = "S"
},
-/area/almayer/hallways/hangar)
-"wa" = (
/obj/effect/decal/cleanable/dirt,
-/obj/structure/platform/stair_cut,
-/obj/structure/stairs/perspective{
- dir = 8;
- icon_state = "p_stair_full"
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
},
-/turf/open/floor/almayer,
-/area/almayer/hallways/starboard_hallway)
+/area/almayer/engineering)
"wc" = (
/obj/structure/machinery/door/airlock/almayer/command/reinforced{
name = "\improper Platoon Commander's Quarters"
@@ -3380,15 +3596,15 @@
},
/area/almayer/hallways/port_hallway)
"wi" = (
-/obj/structure/machinery/power/smes/buildable,
-/obj/structure/machinery/camera/autoname/almayer{
- dir = 8;
- name = "ship-grade camera"
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
},
+/obj/structure/pipes/vents/scrubber,
/turf/open/floor/almayer{
- icon_state = "test_floor4"
+ icon_state = "plate"
},
-/area/almayer/engineering)
+/area/almayer/hallways/hangar)
"wl" = (
/turf/open/floor/almayer,
/area/almayer/living/grunt_rnr)
@@ -3402,10 +3618,6 @@
icon_state = "plate"
},
/area/almayer/hallways/port_hallway)
-"wr" = (
-/obj/structure/pipes/standard/manifold/hidden/supply,
-/turf/open/floor/almayer,
-/area/almayer/hallways/hangar)
"wx" = (
/obj/effect/decal/warning_stripes{
icon_state = "NE-out";
@@ -3422,29 +3634,34 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"wC" = (
+"wH" = (
/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
+ icon_state = "N";
+ pixel_y = 2
},
-/obj/effect/decal/warning_stripes{
- icon_state = "W"
+/obj/item/clothing/ears/earmuffs{
+ pixel_x = -8;
+ pixel_y = 8
},
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/engineering)
-"wI" = (
-/obj/structure/machinery/light{
- dir = 1
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 8
},
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 1
+/obj/item/device/walkman{
+ pixel_y = -6;
+ pixel_x = 4
},
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
+/area/almayer/engineering)
+"wI" = (
+/obj/structure/surface/rack,
+/obj/effect/spawner/random/technology_scanner,
/turf/open/floor/almayer{
icon_state = "plate"
},
-/area/almayer/hallways/hangar)
+/area/almayer/engineering)
"wJ" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/light{
@@ -3468,34 +3685,29 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"wP" = (
-/obj/structure/ladder{
- height = 1;
- id = "req1"
+"wN" = (
+/obj/structure/closet/fireaxecabinet{
+ pixel_x = -32
},
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/warning_stripes{
- icon_state = "S"
+/obj/item/book/manual/robotics_cyborgs{
+ pixel_y = 8
+ },
+/obj/item/tool/wirecutters,
+/obj/item/tool/weldingtool/hugetank,
+/obj/structure/surface/rack,
+/obj/structure/machinery/light/small{
+ dir = 1
},
/turf/open/floor/almayer{
- icon_state = "test_floor5"
+ icon_state = "plate"
},
-/area/almayer/hallways/starboard_hallway)
+/area/almayer/living/synthcloset)
"wS" = (
/obj/structure/machinery/light{
dir = 4
},
/turf/open/floor/almayer,
/area/almayer/living/briefing)
-"wU" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 8
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
- },
-/area/almayer/engineering)
"wV" = (
/obj/structure/machinery/door/airlock/almayer/generic{
dir = 1;
@@ -3507,22 +3719,6 @@
icon_state = "test_floor4"
},
/area/almayer/squads/alpha/platoon_sergeant)
-"wW" = (
-/obj/structure/pipes/standard/manifold/hidden/supply{
- dir = 8
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/starboard_hallway)
-"wY" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 8
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
- },
-/turf/open/floor/almayer,
-/area/almayer/engineering)
"xf" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer,
@@ -3545,17 +3741,6 @@
/obj/structure/pipes/vents/scrubber,
/turf/open/floor/almayer,
/area/almayer/squads/alpha/squad_one)
-"xy" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "W";
- pixel_x = -1;
- pixel_y = 1
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
- },
-/area/almayer/engineering)
"xz" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/effect/decal/warning_stripes{
@@ -3585,12 +3770,17 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/squad_two)
-"xF" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
+"xJ" = (
+/obj/structure/closet/secure_closet/engineering_welding{
+ req_one_access = list()
},
-/turf/open/floor/almayer,
-/area/almayer/hallways/starboard_hallway)
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/engineering)
"xK" = (
/obj/structure/machinery/light{
dir = 8
@@ -3630,16 +3820,33 @@
icon_state = "cargo_arrow"
},
/area/almayer/living/grunt_rnr)
-"xZ" = (
+"yc" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 8
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 2
+ },
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
+/area/almayer/engineering)
+"ye" = (
+/turf/closed/wall/almayer,
+/area/almayer/engineering)
+"yg" = (
/obj/effect/decal/cleanable/dirt,
-/obj/structure/machinery/cm_vending/sorted/uniform_supply/squad_prep{
- req_access = list();
- req_one_access_txt = "8;12;40"
+/obj/structure/supply_drop/echo,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/platform{
+ dir = 8
},
/turf/open/floor/almayer{
- icon_state = "plate"
+ icon_state = "test_floor5"
},
-/area/almayer/squads/alpha/squad_two)
+/area/almayer/hallways/starboard_hallway)
"yj" = (
/obj/structure/machinery/camera/autoname/almayer{
dir = 1;
@@ -3649,16 +3856,13 @@
icon_state = "plate"
},
/area/almayer/living/grunt_rnr)
-"yp" = (
-/obj/structure/machinery/door/airlock/almayer/engineering/reinforced{
- req_one_access = list();
- name = "\improper Engineering Airlock"
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 8
+"yo" = (
+/obj/structure/closet/secure_closet/engineering_personal,
+/obj/structure/machinery/status_display{
+ pixel_y = -30
},
/turf/open/floor/almayer{
- icon_state = "test_floor4"
+ icon_state = "test_floor5"
},
/area/almayer/engineering)
"ys" = (
@@ -3697,6 +3901,12 @@
icon_state = "plate"
},
/area/almayer/living/grunt_rnr)
+"yy" = (
+/obj/structure/closet/emcloset,
+/turf/open/floor/almayer{
+ icon_state = "test_floor5"
+ },
+/area/almayer/engineering)
"yA" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet/secure_closet/squad_sergeant{
@@ -3707,16 +3917,6 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/squad_one)
-"yE" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/warning_stripes{
- icon_state = "S"
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
- },
-/area/almayer/engineering)
"yF" = (
/obj/effect/decal/warning_stripes{
icon_state = "W";
@@ -3728,14 +3928,19 @@
},
/area/almayer/living/cryo_cells)
"yJ" = (
-/obj/structure/machinery/conveyor{
- dir = 10
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
},
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 2
},
-/area/almayer/hallways/starboard_hallway)
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
+ },
+/turf/open/floor/almayer,
+/area/almayer/living/synthcloset)
"yL" = (
/obj/structure/closet/coffin/woodencrate,
/obj/item/storage/box/m94,
@@ -3773,6 +3978,11 @@
icon_state = "cargo_arrow"
},
/area/almayer/hallways/port_hallway)
+"yU" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/almayer,
+/area/almayer/hallways/starboard_hallway)
"yY" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 10
@@ -3798,6 +4008,25 @@
icon_state = "dark_sterile"
},
/area/almayer/living/cryo_cells)
+"zk" = (
+/obj/structure/machinery/cm_vending/sorted/cargo_guns/squad{
+ req_one_access = list();
+ req_one_access_txt = "8;12;39"
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/squads/alpha/squad_one)
+"zl" = (
+/obj/structure/machinery/power/smes/buildable,
+/obj/structure/machinery/camera/autoname/almayer{
+ dir = 8;
+ name = "ship-grade camera"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/engineering)
"zn" = (
/obj/structure/machinery/light{
dir = 4
@@ -3813,10 +4042,6 @@
icon_state = "dark_sterile"
},
/area/almayer/living/cryo_cells)
-"zp" = (
-/obj/structure/closet/emcloset,
-/turf/closed/wall/almayer/outer,
-/area/almayer/engineering)
"zt" = (
/obj/structure/machinery/light{
dir = 8
@@ -3829,18 +4054,11 @@
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
/area/almayer/hallways/hangar)
-"zB" = (
-/obj/structure/surface/table/almayer,
-/obj/structure/machinery/computer/general_air_control/large_tank_control{
- dir = 4;
- name = "Lower Deck Waste Tank Control"
- },
-/obj/structure/sign/safety/terminal{
- pixel_x = -17
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
+"zA" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
},
+/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering)
"zD" = (
/turf/open/floor/almayer{
@@ -3848,6 +4066,29 @@
icon_state = "cargo_arrow"
},
/area/almayer/hallways/hangar)
+"zG" = (
+/obj/structure/machinery/camera/autoname/almayer{
+ dir = 8;
+ name = "ship-grade camera"
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 2
+ },
+/turf/open/floor/almayer,
+/area/almayer/engineering)
+"zI" = (
+/obj/structure/pipes/vents/pump,
+/obj/item/tool/mop{
+ pixel_x = -9;
+ pixel_y = 20
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 2
+ },
+/turf/open/floor/almayer,
+/area/almayer/engineering)
"zJ" = (
/obj/structure/machinery/firealarm{
pixel_y = 28
@@ -3864,6 +4105,21 @@
icon_state = "plate"
},
/area/almayer/hallways/port_hallway)
+"zL" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "W";
+ pixel_x = -1;
+ pixel_y = 1
+ },
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
+/area/almayer/engineering)
"zM" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/pipes/standard/simple/hidden/supply,
@@ -3880,9 +4136,10 @@
},
/area/almayer/squads/alpha/platoon_sergeant)
"zY" = (
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
+/obj/structure/closet/secure_closet/engineering_electrical{
+ req_one_access = list()
},
+/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering)
"zZ" = (
/obj/effect/decal/cleanable/dirt,
@@ -3900,22 +4157,6 @@
icon_state = "test_floor4"
},
/area/almayer/hallways/port_hallway)
-"Af" = (
-/obj/structure/window/framed/almayer,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/starboard_hallway)
-"Ao" = (
-/obj/structure/reagent_dispensers/fueltank,
-/obj/structure/machinery/camera/autoname/almayer{
- dir = 4;
- name = "ship-grade camera"
- },
-/turf/open/floor/almayer{
- icon_state = "cargo"
- },
-/area/almayer/engineering)
"Ap" = (
/obj/structure/surface/table/almayer,
/obj/item/trash/ceramic_plate,
@@ -3927,12 +4168,6 @@
icon_state = "plate"
},
/area/almayer/living/briefing)
-"Av" = (
-/obj/structure/machinery/power/terminal{
- dir = 4
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/engineering)
"Aw" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -3962,6 +4197,19 @@
icon_state = "dark_sterile"
},
/area/almayer/living/cryo_cells)
+"AC" = (
+/obj/structure/machinery/power/terminal{
+ dir = 8
+ },
+/obj/item/stack/catwalk{
+ pixel_x = 12;
+ pixel_y = -9
+ },
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
+/area/almayer/engineering)
"AG" = (
/obj/structure/machinery/landinglight/ds1/delaythree{
dir = 1
@@ -3972,39 +4220,8 @@
},
/area/almayer/hallways/hangar)
"AH" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 10
- },
/turf/open/floor/almayer,
-/area/almayer/hallways/starboard_hallway)
-"AJ" = (
-/obj/structure/surface/table/almayer,
-/obj/item/tool/stamp/denied{
- pixel_x = 2;
- pixel_y = 10
- },
-/obj/item/device/eftpos{
- eftpos_name = "Cargo Bay EFTPOS scanner";
- pixel_x = -10
- },
-/obj/item/tool/stamp/ro{
- pixel_x = -8;
- pixel_y = 10
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/obj/item/storage/fancy/cigar{
- pixel_x = 6
- },
-/obj/item/ashtray/glass{
- pixel_x = 11;
- pixel_y = 9
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/hallways/starboard_hallway)
+/area/almayer/engineering)
"AK" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -4014,12 +4231,27 @@
icon_state = "test_floor4"
},
/area/almayer/hallways/hangar)
+"AL" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/hangar)
+"AO" = (
+/obj/structure/machinery/autolathe,
+/obj/structure/machinery/light{
+ dir = 8
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/engineering)
"AP" = (
/obj/structure/prop/invuln/lifeboat_hatch_placeholder/terminal{
layer = 2.1
},
/obj/structure/sign/safety/manualopenclose{
- layer = 4.3;
+ layer = 2.11;
pixel_x = 12;
pixel_y = 2
},
@@ -4042,16 +4274,14 @@
},
/area/almayer/hallways/port_hallway)
"Bd" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/machinery/power/apc/almayer{
- dir = 1
- },
-/obj/structure/machinery/light{
- dir = 4
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 9
},
-/obj/structure/largecrate,
-/turf/open/floor/almayer,
-/area/almayer/hallways/starboard_hallway)
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/engineering)
"Bf" = (
/obj/effect/decal/cleanable/blood/oil,
/turf/open/floor/almayer{
@@ -4107,29 +4337,33 @@
},
/area/almayer/living/cryo_cells)
"Bt" = (
-/obj/structure/surface/table/almayer,
-/obj/item/storage/firstaid/rad{
- pixel_x = -7;
- pixel_y = 2
- },
-/obj/item/storage/firstaid/toxin{
- pixel_x = 8;
- pixel_y = 2
- },
-/obj/structure/machinery/firealarm{
- dir = 8;
- pixel_x = -24
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
},
/turf/open/floor/almayer{
- icon_state = "plate"
+ dir = 5;
+ icon_state = "plating"
},
/area/almayer/engineering)
"Bu" = (
+/obj/item/ammo_magazine/sentry{
+ layer = 3.01
+ },
/obj/item/defenses/handheld/sentry,
/turf/open/floor/almayer{
icon_state = "plate"
},
/area/almayer/squads/alpha/squad_one)
+"Bv" = (
+/obj/structure/machinery/door/airlock/multi_tile/almayer/engidoor{
+ name = "Damage Control Locker";
+ req_one_access = list()
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/engineering)
"Bw" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/sign/safety/rewire{
@@ -4160,30 +4394,6 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/squad_two)
-"BB" = (
-/obj/structure/machinery/conveyor{
- dir = 9
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
- },
-/area/almayer/hallways/starboard_hallway)
-"BF" = (
-/obj/item/stack/sheet/metal{
- amount = 50
- },
-/obj/item/stack/sheet/plasteel{
- amount = 40;
- pixel_x = 7;
- pixel_y = 6
- },
-/obj/structure/closet/crate/construction,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/almayer{
- icon_state = "test_floor5"
- },
-/area/almayer/engineering)
"BM" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/machinery/light{
@@ -4195,13 +4405,8 @@
},
/area/almayer/living/cryo_cells)
"BN" = (
-/obj/structure/closet/radiation,
-/obj/structure/machinery/status_display{
- pixel_y = 30
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor5"
- },
+/obj/structure/closet/emcloset,
+/turf/closed/wall/almayer/outer,
/area/almayer/engineering)
"BO" = (
/obj/structure/bed/chair{
@@ -4216,20 +4421,6 @@
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
/area/almayer/hallways/hangar)
-"BV" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "W"
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 2
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
- },
-/area/almayer/engineering)
"BW" = (
/obj/structure/sign/safety/hazard{
pixel_x = -19;
@@ -4284,30 +4475,20 @@
icon_state = "plate"
},
/area/almayer/living/grunt_rnr)
-"Cd" = (
-/obj/structure/machinery/cm_vending/sorted/medical/wall_med{
- pixel_y = 25
- },
-/obj/structure/machinery/cm_vending/sorted/tech/comp_storage,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/engineering)
"Ce" = (
-/obj/structure/prop/almayer/computers/sensor_computer1,
-/obj/effect/decal/warning_stripes{
- icon_state = "W";
- pixel_x = -1;
- pixel_y = 1
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/machinery/light{
+/obj/structure/surface/table/almayer,
+/obj/structure/machinery/alarm/almayer{
dir = 1
},
+/obj/item/storage/toolbox/electrical,
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
/turf/open/floor/almayer{
icon_state = "plate"
},
-/area/almayer/hallways/starboard_hallway)
+/area/almayer/engineering)
"Cf" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer{
@@ -4333,20 +4514,11 @@
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 8
},
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/engineering)
-"Cq" = (
-/obj/structure/machinery/camera/autoname/almayer,
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 1
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
+/obj/structure/bed/chair{
+ dir = 8
},
-/area/almayer/hallways/hangar)
+/turf/open/floor/almayer,
+/area/almayer/hallways/starboard_hallway)
"Cr" = (
/turf/open/space/basic,
/area/space)
@@ -4386,6 +4558,21 @@
icon_state = "test_floor4"
},
/area/almayer/medical)
+"Cy" = (
+/obj/structure/machinery/conveyor{
+ dir = 8
+ },
+/obj/structure/barricade/handrail{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/starboard_hallway)
"CC" = (
/obj/structure/surface/rack,
/obj/item/ammo_magazine/flamer_tank,
@@ -4395,6 +4582,9 @@
pixel_y = 4
},
/obj/item/device/motiondetector,
+/obj/item/attachable/attached_gun/extinguisher/pyro{
+ layer = 3.01
+ },
/turf/open/floor/almayer{
icon_state = "plate"
},
@@ -4415,19 +4605,6 @@
icon_state = "dark_sterile"
},
/area/almayer/living/cafeteria_port)
-"CJ" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "S"
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
- },
-/area/almayer/engineering)
"CK" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -4449,17 +4626,18 @@
"CP" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/machinery/light{
- dir = 8
+ dir = 4
},
-/obj/structure/machinery/photocopier,
/turf/open/floor/almayer{
icon_state = "plate"
},
-/area/almayer/hallways/starboard_hallway)
-"CY" = (
-/obj/structure/largecrate/supply/supplies/water,
+/area/almayer/engineering)
+"CX" = (
+/obj/structure/machinery/light{
+ dir = 1
+ },
/turf/open/floor/almayer{
- icon_state = "cargo"
+ icon_state = "plate"
},
/area/almayer/engineering)
"CZ" = (
@@ -4504,18 +4682,6 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/platoon_sergeant)
-"Dj" = (
-/obj/structure/machinery/power/apc/almayer{
- dir = 1
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 1
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/hallways/hangar)
"Dl" = (
/obj/structure/surface/table/almayer,
/obj/item/paper_bin{
@@ -4596,17 +4762,6 @@
icon_state = "plate"
},
/area/almayer/living/cafeteria_port)
-"DH" = (
-/obj/structure/machinery/camera/autoname/almayer{
- dir = 8;
- name = "ship-grade camera"
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 2
- },
-/turf/open/floor/almayer,
-/area/almayer/engineering)
"DM" = (
/obj/structure/machinery/power/apc/almayer,
/obj/effect/decal/cleanable/dirt,
@@ -4618,34 +4773,6 @@
},
/turf/open/floor/almayer,
/area/almayer/squads/alpha/squad_two)
-"DU" = (
-/obj/structure/largecrate/supply/supplies/sandbags,
-/obj/structure/machinery/light{
- dir = 1
- },
-/turf/open/floor/almayer{
- icon_state = "cargo"
- },
-/area/almayer/engineering)
-"DV" = (
-/obj/structure/machinery/door/airlock/almayer/command/reinforced{
- dir = 1;
- name = "\improper Platoon Commander's Office"
- },
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/living/platoon_commander_rooms)
-"DW" = (
-/obj/structure/surface/table/almayer,
-/obj/structure/machinery/computer/atmos_alert{
- dir = 4
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/engineering)
"DX" = (
/obj/structure/toilet{
pixel_y = 16
@@ -4685,6 +4812,25 @@
icon_state = "plate"
},
/area/almayer/living/briefing)
+"Ep" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/warning_stripes{
+ icon_state = "W";
+ pixel_x = -1;
+ pixel_y = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
+/turf/open/floor/almayer,
+/area/almayer/living/synthcloset)
+"Er" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/starboard_hallway)
"Eu" = (
/obj/effect/decal/warning_stripes{
icon_state = "NW-out";
@@ -4700,28 +4846,23 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/starboard_hallway)
-"Ez" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "SW-out";
- pixel_x = -1
+"EA" = (
+/obj/structure/machinery/power/monitor{
+ name = "Core Power Monitoring"
+ },
+/obj/structure/sign/safety/terminal{
+ pixel_x = -17
},
-/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
+ icon_state = "test_floor5"
},
/area/almayer/engineering)
"EB" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
- },
-/obj/structure/machinery/light,
-/obj/structure/largecrate,
+/obj/structure/window/framed/almayer,
/turf/open/floor/almayer{
- icon_state = "plate"
+ icon_state = "test_floor4"
},
-/area/almayer/hallways/starboard_hallway)
+/area/almayer/engineering)
"ED" = (
/turf/open/floor/almayer{
dir = 1;
@@ -4748,6 +4889,17 @@
icon_state = "plate"
},
/area/almayer/living/cryo_cells)
+"EJ" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "W";
+ pixel_x = -1;
+ pixel_y = 1
+ },
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
+/area/almayer/engineering)
"EK" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/machinery/camera/autoname/almayer{
@@ -4791,33 +4943,14 @@
/obj/item/bedsheet/brown{
layer = 3.4
},
-/obj/item/bedsheet/brown{
- pixel_y = 13
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/living/grunt_rnr)
-"ES" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "SE-out";
- pixel_x = 1
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random/powercell,
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
+/obj/item/bedsheet/brown{
+ pixel_y = 13
},
-/area/almayer/engineering)
-"EU" = (
-/obj/structure/closet/firecloset/full,
-/obj/structure/machinery/light,
+/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer{
- icon_state = "test_floor5"
+ icon_state = "plate"
},
-/area/almayer/engineering)
+/area/almayer/living/grunt_rnr)
"EX" = (
/obj/effect/decal/warning_stripes{
icon_state = "W"
@@ -4863,6 +4996,13 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/squad_one)
+"Ff" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
+ },
+/turf/open/floor/almayer,
+/area/almayer/engineering)
"Fg" = (
/turf/open/floor/almayer,
/area/almayer/squads/alpha/squad_two)
@@ -4894,31 +5034,12 @@
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/starboard_hallway)
-"Fn" = (
-/obj/effect/decal/cleanable/dirt,
+"Fu" = (
/obj/structure/pipes/standard/manifold/hidden/supply{
dir = 4
},
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/starboard_hallway)
-"Fu" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer,
-/area/almayer/hallways/starboard_hallway)
-"Fv" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "S"
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 2
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 8
- },
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/engineering)
+/area/almayer/hallways/port_hallway)
"Fw" = (
/obj/effect/decal/warning_stripes{
icon_state = "NE-out";
@@ -4938,69 +5059,21 @@
/turf/open/floor/plating/plating_catwalk,
/area/almayer/squads/alpha/squad_two)
"Fz" = (
-/obj/structure/filingcabinet{
- density = 0;
- pixel_x = 8;
- pixel_y = 16
- },
-/obj/structure/filingcabinet{
- density = 0;
- pixel_x = -8;
- pixel_y = 18
- },
-/obj/structure/filingcabinet{
- density = 0;
- pixel_x = 8;
- pixel_y = 16
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/hallways/starboard_hallway)
+/obj/structure/closet/crate/trashcart,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/engineering)
"FE" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/grunt_rnr)
-"FF" = (
-/obj/structure/pipes/vents/pump{
- dir = 8
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 2
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "SW-out";
- pixel_x = -1
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/engineering)
"FI" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
},
/turf/open/floor/almayer,
/area/almayer/living/grunt_rnr)
-"FJ" = (
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
- },
-/area/almayer/engineering)
-"FL" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/hallways/hangar)
"FN" = (
/obj/structure/machinery/medical_pod/sleeper{
dir = 8;
@@ -5072,12 +5145,6 @@
icon_state = "plate"
},
/area/almayer/living/cryo_cells)
-"Gb" = (
-/obj/structure/closet/firecloset/full,
-/turf/open/floor/almayer{
- icon_state = "test_floor5"
- },
-/area/almayer/engineering)
"Gf" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/computer/cameras/wooden_tv/prop{
@@ -5144,42 +5211,46 @@
icon_state = "dark_sterile"
},
/area/almayer/living/cafeteria_port)
-"Gl" = (
-/obj/structure/machinery/door/airlock/multi_tile/almayer/engidoor/autoname{
- dir = 1;
- req_one_access = list();
- autoname = 0
- },
+"Gq" = (
/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 8
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
+ dir = 5
},
-/area/almayer/engineering)
-"Gn" = (
/turf/open/floor/almayer{
icon_state = "plate"
},
-/area/almayer/engineering)
+/area/almayer/hallways/starboard_hallway)
"Gs" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/hangar)
-"Gv" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
+"Gu" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
/obj/effect/decal/warning_stripes{
icon_state = "W"
},
-/turf/open/floor/almayer,
-/area/almayer/hallways/starboard_hallway)
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/engineering)
+"Gv" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 8
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/engineering)
"Gx" = (
/obj/structure/machinery/light,
/turf/open/floor/almayer{
icon_state = "plate"
},
/area/almayer/hallways/starboard_hallway)
+"Gy" = (
+/obj/structure/machinery/recharge_station,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/engineering)
"Gz" = (
/obj/structure/bed/chair/comfy{
dir = 8
@@ -5189,6 +5260,15 @@
icon_state = "plate"
},
/area/almayer/living/cafeteria_port)
+"GA" = (
+/obj/structure/machinery/power/apc/almayer{
+ dir = 4
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/almayer{
+ icon_state = "cargo"
+ },
+/area/almayer/engineering)
"GG" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -5239,16 +5319,15 @@
icon_state = "test_floor4"
},
/area/almayer/hallways/hangar)
-"GP" = (
+"GO" = (
/obj/effect/decal/cleanable/dirt,
-/obj/structure/machinery/cm_vending/sorted/uniform_supply/squad_prep{
- req_access = list();
- req_one_access_txt = "8;12;39"
+/obj/structure/sign/safety/synth_storage{
+ pixel_x = -20
},
/turf/open/floor/almayer{
icon_state = "plate"
},
-/area/almayer/squads/alpha/squad_one)
+/area/almayer/hallways/port_hallway)
"GQ" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -5258,23 +5337,21 @@
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/hangar)
"GU" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/item/paper_bin/uscm{
- pixel_x = -8;
- pixel_y = 5
- },
-/obj/item/clipboard{
- pixel_x = 8;
- pixel_y = 3
- },
-/obj/item/tool/pen{
- pixel_x = 12
- },
/obj/structure/surface/table/almayer,
+/obj/item/device/radio,
+/obj/item/device/lightreplacer,
/turf/open/floor/almayer{
icon_state = "plate"
},
-/area/almayer/hallways/starboard_hallway)
+/area/almayer/engineering)
+"GV" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 10
+ },
+/turf/open/floor/almayer{
+ icon_state = "bluefull"
+ },
+/area/almayer/living/platoon_commander_rooms)
"GY" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer{
@@ -5282,6 +5359,27 @@
icon_state = "cargo_arrow"
},
/area/almayer/living/briefing)
+"Hc" = (
+/obj/structure/surface/table/almayer,
+/obj/structure/machinery/computer/general_air_control/large_tank_control{
+ dir = 4;
+ name = "Lower Deck Waste Tank Control"
+ },
+/obj/structure/sign/safety/terminal{
+ pixel_x = -17
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/engineering)
+"Hh" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 8
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/engineering)
"Hj" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/prop/almayer/CICmap{
@@ -5292,32 +5390,20 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/platoon_sergeant)
+"Hk" = (
+/obj/structure/closet/coffin/woodencrate,
+/obj/item/clothing/accessory/storage/droppouch,
+/obj/item/clothing/accessory/storage/droppouch,
+/turf/open/floor/almayer{
+ icon_state = "test_floor5"
+ },
+/area/almayer/hallways/starboard_hallway)
"Hm" = (
/obj/structure/bed/chair{
dir = 4
},
/turf/open/floor/almayer,
/area/almayer/squads/alpha/platoon_sergeant)
-"Hq" = (
-/obj/structure/largecrate/supply/generator,
-/turf/open/floor/almayer{
- icon_state = "cargo"
- },
-/area/almayer/engineering)
-"Hr" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 5
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/hangar)
-"Hu" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/almayer,
-/area/almayer/engineering)
"Hv" = (
/obj/item/frame/camera{
desc = "The Staff Officer insisted he needed to monitor everyone at all times.";
@@ -5348,12 +5434,14 @@
icon_state = "test_floor4"
},
/area/almayer/squads/alpha/squad_two)
-"HC" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
+"Hx" = (
+/obj/structure/closet/secure_closet/engineering_personal,
+/obj/structure/machinery/light,
+/obj/item/device/cassette_tape/aesthetic,
+/turf/open/floor/almayer{
+ icon_state = "test_floor5"
},
-/turf/open/floor/almayer,
-/area/almayer/hallways/hangar)
+/area/almayer/engineering)
"HG" = (
/obj/effect/decal/warning_stripes{
icon_state = "NW-out";
@@ -5379,33 +5467,6 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"HI" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 1
- },
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/hallways/hangar)
-"HJ" = (
-/obj/structure/pipes/vents/pump,
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/machinery/light{
- dir = 1
- },
-/obj/structure/surface/table/almayer,
-/obj/structure/machinery/prop/almayer/computer/PC{
- dir = 4
- },
-/obj/structure/sign/safety/terminal{
- pixel_x = -20
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/hallways/starboard_hallway)
"HK" = (
/turf/closed/wall/almayer,
/area/almayer/living/cryo_cells)
@@ -5416,6 +5477,12 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
+"HR" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "bluefull"
+ },
+/area/almayer/hallways/hangar)
"HS" = (
/obj/structure/machinery/landinglight/ds1/delaythree{
dir = 4
@@ -5425,6 +5492,13 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
+"HT" = (
+/obj/structure/machinery/power/terminal{
+ dir = 8
+ },
+/obj/effect/decal/cleanable/blood/oil,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/engineering)
"HV" = (
/obj/structure/machinery/landinglight/ds1/delayone{
dir = 4
@@ -5448,22 +5522,35 @@
icon_state = "dark_sterile"
},
/area/almayer/living/cryo_cells)
-"Ig" = (
-/obj/structure/pipes/vents/pump{
- dir = 1
- },
-/turf/open/floor/almayer,
-/area/almayer/living/platoon_commander_rooms)
"Ii" = (
/obj/structure/machinery/cryopod,
/turf/open/floor/almayer{
icon_state = "cargo"
},
/area/almayer/living/cryo_cells)
+"It" = (
+/obj/structure/machinery/door/airlock/multi_tile/almayer/engidoor/autoname{
+ dir = 1;
+ req_one_access = list();
+ autoname = 0
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 8
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/engineering)
"Iw" = (
/obj/structure/surface/table/almayer,
/turf/open/floor/almayer,
/area/almayer/squads/alpha/platoon_sergeant)
+"Iy" = (
+/obj/structure/computer3frame,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/engineering)
"IC" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -5491,33 +5578,36 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/squads/alpha/squad_two)
-"IN" = (
+"IP" = (
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/engineering)
+"IR" = (
/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
- },
-/obj/structure/filingcabinet{
- density = 0;
- pixel_x = 8;
- pixel_y = 16
+ icon_state = "NE-out";
+ pixel_x = 1;
+ pixel_y = 2
},
-/obj/structure/filingcabinet{
- density = 0;
- pixel_x = -8;
- pixel_y = 18
+/obj/effect/decal/warning_stripes{
+ icon_state = "NW-out";
+ pixel_x = -1;
+ pixel_y = 2
},
+/obj/structure/pipes/standard/manifold/hidden/supply,
/turf/open/floor/almayer{
- icon_state = "plate"
+ dir = 5;
+ icon_state = "plating"
},
-/area/almayer/hallways/starboard_hallway)
-"IP" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
+/area/almayer/engineering)
+"IS" = (
+/obj/structure/reagent_dispensers/fueltank,
+/obj/structure/machinery/camera/autoname/almayer{
+ dir = 4;
+ name = "ship-grade camera"
},
-/turf/open/floor/almayer,
-/area/almayer/hallways/starboard_hallway)
+/turf/open/floor/almayer{
+ icon_state = "cargo"
+ },
+/area/almayer/engineering)
"IT" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -5555,6 +5645,15 @@
icon_state = "plate"
},
/area/almayer/living/briefing)
+"IZ" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/hangar)
"Jb" = (
/obj/structure/machinery/cm_vending/clothing/medic/alpha,
/turf/open/floor/almayer{
@@ -5599,6 +5698,15 @@
},
/turf/open/floor/almayer,
/area/almayer/squads/alpha/platoon_sergeant)
+"Jp" = (
+/obj/structure/machinery/conveyor{
+ dir = 9
+ },
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
+/area/almayer/hallways/starboard_hallway)
"Jq" = (
/obj/structure/machinery/landinglight/ds1/delaytwo{
dir = 8
@@ -5615,13 +5723,6 @@
icon_state = "plate"
},
/area/almayer/living/cafeteria_port)
-"JC" = (
-/obj/structure/closet/emcloset,
-/obj/structure/machinery/light,
-/turf/open/floor/almayer{
- icon_state = "test_floor5"
- },
-/area/almayer/engineering)
"JD" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 9
@@ -5673,18 +5774,6 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"Kc" = (
-/obj/structure/pipes/vents/pump,
-/obj/item/tool/mop{
- pixel_x = -9;
- pixel_y = 20
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 2
- },
-/turf/open/floor/almayer,
-/area/almayer/engineering)
"Kd" = (
/obj/structure/surface/table/almayer,
/obj/effect/decal/cleanable/dirt,
@@ -5730,26 +5819,6 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/platoon_sergeant)
-"Ko" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "S"
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "NW-out";
- pixel_x = -1;
- pixel_y = 2
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 9
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/engineering)
"Kp" = (
/obj/structure/surface/rack,
/obj/item/weapon/gun/rifle/m41aMK1{
@@ -5763,12 +5832,16 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/squad_one)
-"Ks" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
+"Ku" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/machinery/cm_vending/sorted/cargo_guns/squad{
+ req_one_access = list();
+ req_one_access_txt = "8;12;40"
+ },
/turf/open/floor/almayer{
- icon_state = "bluefull"
+ icon_state = "plate"
},
-/area/almayer/hallways/hangar)
+/area/almayer/squads/alpha/squad_two)
"Kv" = (
/turf/open/floor/almayer,
/area/almayer/squads/alpha/platoon_sergeant)
@@ -5782,16 +5855,6 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"KB" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "S"
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
- },
-/area/almayer/engineering)
"KD" = (
/obj/effect/decal/warning_stripes{
icon_state = "SW-out";
@@ -5806,14 +5869,6 @@
/obj/vehicle/powerloader,
/turf/open/floor/almayer,
/area/almayer/hallways/hangar)
-"KJ" = (
-/obj/structure/closet/secure_closet/engineering_welding{
- req_one_access = list()
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor5"
- },
-/area/almayer/engineering)
"KK" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer{
@@ -5844,12 +5899,6 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/platoon_sergeant)
-"KR" = (
-/obj/structure/closet/secure_closet/engineering_chief,
-/turf/open/floor/almayer{
- icon_state = "test_floor5"
- },
-/area/almayer/engineering)
"KU" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer{
@@ -5865,6 +5914,12 @@
icon_state = "plate"
},
/area/almayer/living/briefing)
+"La" = (
+/obj/structure/pipes/standard/manifold/hidden/supply{
+ dir = 1
+ },
+/turf/open/floor/almayer,
+/area/almayer/engineering)
"Ld" = (
/obj/structure/window/reinforced{
dir = 4;
@@ -5915,15 +5970,6 @@
/obj/effect/landmark/observer_start,
/turf/open/floor/plating,
/area/almayer/hallways/hangar)
-"Lh" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 8
- },
-/obj/structure/bed/chair{
- dir = 8
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/starboard_hallway)
"Ll" = (
/obj/structure/ship_ammo/minirocket/incendiary,
/turf/open/floor/almayer{
@@ -5943,23 +5989,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer,
/area/almayer/hallways/hangar)
-"Lq" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "NE-out";
- pixel_x = 1;
- pixel_y = 2
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "NW-out";
- pixel_x = -1;
- pixel_y = 2
- },
-/obj/structure/pipes/standard/manifold/hidden/supply,
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
- },
-/area/almayer/engineering)
"Ls" = (
/obj/structure/machinery/cm_vending/sorted/uniform_supply/squad_prep/alpha{
density = 0
@@ -5971,12 +6000,6 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/platoon_sergeant)
-"Lt" = (
-/obj/structure/closet/emcloset,
-/turf/open/floor/almayer{
- icon_state = "test_floor5"
- },
-/area/almayer/engineering)
"Lx" = (
/obj/structure/machinery/landinglight/ds1{
dir = 8
@@ -5985,6 +6008,13 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
+"LC" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/closet/emcloset,
+/turf/open/floor/almayer{
+ icon_state = "test_floor5"
+ },
+/area/almayer/hallways/starboard_hallway)
"LE" = (
/obj/structure/machinery/camera/autoname/almayer{
dir = 8;
@@ -6028,18 +6058,6 @@
/obj/effect/landmark/start/marine/alpha,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/cryo_cells)
-"LP" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "W";
- pixel_x = -1;
- pixel_y = 1
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
- },
-/area/almayer/engineering)
"LQ" = (
/obj/effect/decal/warning_stripes{
icon_state = "NW-out";
@@ -6064,33 +6082,93 @@
},
/area/almayer/living/cafeteria_port)
"LT" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/obj/effect/decal/warning_stripes{
- icon_state = "W"
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/machinery/status_display{
+ pixel_x = -32
},
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/starboard_hallway)
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/engineering)
"LZ" = (
/obj/structure/machinery/light,
/turf/open/floor/almayer,
/area/almayer/living/platoon_commander_rooms)
+"Mc" = (
+/obj/structure/pipes/vents/pump{
+ dir = 1
+ },
+/turf/open/floor/almayer,
+/area/almayer/living/platoon_commander_rooms)
+"Md" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/obj/effect/decal/warning_stripes{
+ icon_state = "W"
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/starboard_hallway)
"Me" = (
/turf/closed/wall/almayer,
/area/almayer/squads/alpha/squad_two)
+"Mf" = (
+/obj/effect/decal/cleanable/cobweb{
+ dir = 8
+ },
+/obj/item/notepad,
+/obj/item/maintenance_jack,
+/obj/structure/closet,
+/obj/item/tool/pen{
+ pixel_x = -5;
+ pixel_y = 4
+ },
+/obj/item/device/camera,
+/obj/item/device/camera_film,
+/obj/item/storage/photo_album,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/living/synthcloset)
"Mi" = (
/obj/structure/machinery/light{
dir = 4
},
-/turf/open/floor/almayer{
- icon_state = "dark_sterile"
+/turf/open/floor/almayer{
+ icon_state = "dark_sterile"
+ },
+/area/almayer/living/cryo_cells)
+"Mj" = (
+/obj/structure/surface/table/reinforced/prison,
+/turf/open/floor/almayer{
+ icon_state = "sterile_green"
+ },
+/area/almayer/medical)
+"Mk" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/hangar)
+"Ml" = (
+/obj/structure/surface/table/almayer,
+/obj/item/storage/firstaid/rad{
+ pixel_x = -7;
+ pixel_y = 2
+ },
+/obj/item/storage/firstaid/toxin{
+ pixel_x = 8;
+ pixel_y = 2
+ },
+/obj/structure/machinery/firealarm{
+ dir = 8;
+ pixel_x = -24
},
-/area/almayer/living/cryo_cells)
-"Mj" = (
-/obj/structure/surface/table/reinforced/prison,
/turf/open/floor/almayer{
- icon_state = "sterile_green"
+ icon_state = "plate"
},
-/area/almayer/medical)
+/area/almayer/engineering)
"Mn" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer{
@@ -6098,6 +6176,15 @@
icon_state = "cargo_arrow"
},
/area/almayer/living/cryo_cells)
+"Mu" = (
+/obj/structure/machinery/door/airlock/almayer/engineering/reinforced{
+ req_one_access = list();
+ name = "\improper Engineering Airlock"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/engineering)
"MB" = (
/obj/effect/decal/warning_stripes{
icon_state = "SE-out"
@@ -6133,21 +6220,31 @@
"MK" = (
/turf/closed/wall/almayer/outer,
/area/almayer/living/platoon_commander_rooms)
+"ML" = (
+/obj/structure/largecrate,
+/obj/structure/largecrate{
+ pixel_y = 16
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor5"
+ },
+/area/almayer/hallways/starboard_hallway)
"MN" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 5
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/hangar)
-"MS" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 6
+"MW" = (
+/obj/structure/pipes/vents/pump{
+ dir = 4
},
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/engineering)
-"MT" = (
/obj/effect/decal/warning_stripes{
- icon_state = "S"
+ icon_state = "E";
+ pixel_x = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "W"
},
/turf/open/floor/almayer{
dir = 5;
@@ -6189,6 +6286,20 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/hangar)
+"No" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "W";
+ pixel_x = -1;
+ pixel_y = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/machinery/light/small,
+/turf/open/floor/almayer,
+/area/almayer/living/synthcloset)
"Np" = (
/turf/open/floor/almayer,
/area/almayer/living/briefing)
@@ -6196,6 +6307,33 @@
/obj/structure/surface/table/almayer,
/turf/open/floor/almayer,
/area/almayer/squads/alpha/squad_two)
+"Nx" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 8
+ },
+/obj/structure/machinery/power/smes/buildable,
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/engineering)
+"Nz" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 8
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "NE-out";
+ pixel_x = 1;
+ pixel_y = 2
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 2
+ },
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
+/area/almayer/engineering)
"NB" = (
/obj/structure/sign/safety/cryo{
pixel_x = 6;
@@ -6215,6 +6353,9 @@
pixel_x = 14;
pixel_y = 29
},
+/obj/item/ammo_magazine/sentry{
+ layer = 3.01
+ },
/obj/item/defenses/handheld/sentry,
/turf/open/floor/almayer{
icon_state = "plate"
@@ -6238,31 +6379,15 @@
icon_state = "dark_sterile"
},
/area/almayer/living/platoon_commander_rooms)
-"NF" = (
-/obj/structure/closet/radiation,
-/turf/open/floor/almayer{
- icon_state = "test_floor5"
- },
-/area/almayer/engineering)
-"NH" = (
-/obj/structure/machinery/power/terminal{
- dir = 8
- },
-/obj/item/stack/catwalk{
- pixel_x = 12;
- pixel_y = -9
+"NI" = (
+/obj/structure/machinery/cm_vending/clothing/synth/snowflake{
+ pixel_x = -30;
+ density = 0
},
/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
- },
-/area/almayer/engineering)
-"NN" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "S"
+ icon_state = "test_floor5"
},
-/turf/open/floor/almayer,
-/area/almayer/hallways/starboard_hallway)
+/area/almayer/living/synthcloset)
"NO" = (
/obj/structure/bed/chair/comfy,
/turf/open/floor/almayer{
@@ -6281,6 +6406,16 @@
icon_state = "dark_sterile"
},
/area/almayer/living/cafeteria_port)
+"NU" = (
+/obj/structure/machinery/door/airlock/multi_tile/almayer/engidoor/autoname{
+ dir = 1;
+ req_one_access = list();
+ autoname = 0
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/engineering)
"NV" = (
/obj/structure/sign/safety/cryo{
pixel_x = 6;
@@ -6290,6 +6425,12 @@
icon_state = "plate"
},
/area/almayer/living/cryo_cells)
+"NZ" = (
+/obj/structure/closet/secure_closet/engineering_electrical,
+/turf/open/floor/almayer{
+ icon_state = "test_floor5"
+ },
+/area/almayer/engineering)
"Ob" = (
/obj/structure/platform{
dir = 4;
@@ -6304,6 +6445,14 @@
icon_state = "plate"
},
/area/almayer/living/briefing)
+"Oc" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 2
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/engineering)
"Od" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer{
@@ -6317,18 +6466,13 @@
icon_state = "plate"
},
/area/almayer/hallways/port_hallway)
-"Op" = (
-/obj/structure/closet/fireaxecabinet{
- pixel_y = 30
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
+"Ol" = (
+/obj/item/reagent_container/spray/cleaner{
+ pixel_x = 5;
+ pixel_y = 10
},
+/obj/structure/janitorialcart,
+/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering)
"Os" = (
/obj/structure/bed/chair/comfy,
@@ -6336,6 +6480,12 @@
icon_state = "dark_sterile"
},
/area/almayer/living/cafeteria_port)
+"Oz" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 5
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/hangar)
"OA" = (
/turf/open/floor/almayer{
icon_state = "dark_sterile"
@@ -6344,23 +6494,13 @@
"OC" = (
/obj/structure/surface/table/reinforced/almayer_B,
/obj/structure/machinery/light,
+/obj/item/device/cassette_tape/pop3{
+ pixel_y = 3
+ },
/turf/open/floor/almayer{
icon_state = "plate"
},
/area/almayer/living/platoon_commander_rooms)
-"OF" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "E";
- pixel_x = 1
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "W"
- },
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
- },
-/area/almayer/engineering)
"OG" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/machinery/alarm/almayer{
@@ -6410,15 +6550,6 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"OQ" = (
-/obj/structure/surface/table/almayer,
-/obj/structure/machinery/computer/cameras/engineering{
- dir = 1
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/engineering)
"OU" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer{
@@ -6430,6 +6561,26 @@
dir = 4
},
/area/almayer/living/briefing)
+"OY" = (
+/obj/structure/ladder{
+ height = 2;
+ id = "req1"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor5"
+ },
+/area/almayer/hallways/starboard_hallway)
+"OZ" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 6
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 2
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/almayer,
+/area/almayer/hallways/starboard_hallway)
"Pc" = (
/obj/structure/surface/table/almayer,
/obj/effect/decal/cleanable/dirt,
@@ -6529,23 +6680,28 @@
icon_state = "dark_sterile"
},
/area/almayer/medical)
-"Pt" = (
-/obj/effect/decal/cleanable/blood/oil,
+"Ps" = (
+/obj/item/stack/sheet/metal{
+ amount = 50
+ },
+/obj/item/stack/sheet/plasteel{
+ amount = 40;
+ pixel_x = 7;
+ pixel_y = 6
+ },
+/obj/structure/closet/crate/construction,
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer{
- icon_state = "plate"
+ icon_state = "test_floor5"
},
-/area/almayer/hallways/hangar)
-"Pv" = (
+/area/almayer/engineering)
+"Pt" = (
+/obj/effect/decal/cleanable/blood/oil,
/obj/effect/decal/cleanable/dirt,
-/obj/structure/machinery/cm_vending/sorted/tech/tool_storage{
- req_one_access = list()
- },
-/obj/structure/machinery/light,
/turf/open/floor/almayer{
icon_state = "plate"
},
-/area/almayer/engineering)
+/area/almayer/hallways/hangar)
"Py" = (
/obj/structure/machinery/landinglight/ds1{
dir = 4
@@ -6570,15 +6726,6 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/squad_one)
-"PC" = (
-/obj/structure/plasticflaps,
-/obj/structure/machinery/conveyor{
- dir = 8
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor4"
- },
-/area/almayer/hallways/starboard_hallway)
"PF" = (
/obj/structure/machinery/light,
/turf/open/floor/almayer{
@@ -6594,25 +6741,14 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/squad_two)
-"PJ" = (
-/obj/structure/machinery/door/airlock/multi_tile/almayer/engidoor{
- name = "Damage Control Locker";
- req_one_access = list()
- },
-/obj/structure/machinery/door/airlock/multi_tile/almayer/engidoor{
- name = "\improper Damage Control Locker";
- req_one_access = list()
+"PL" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 10
},
/turf/open/floor/almayer{
- icon_state = "test_floor4"
+ icon_state = "plate"
},
/area/almayer/engineering)
-"PL" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 8
- },
-/turf/open/floor/almayer,
-/area/almayer/hallways/starboard_hallway)
"PQ" = (
/obj/structure/pipes/standard/manifold/hidden/supply{
dir = 8
@@ -6621,15 +6757,6 @@
icon_state = "cargo_arrow"
},
/area/almayer/squads/alpha/platoon_sergeant)
-"PR" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "S"
- },
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 9
- },
-/turf/open/floor/almayer,
-/area/almayer/engineering)
"PW" = (
/obj/structure/machinery/door/airlock/almayer/command/reinforced{
name = "\improper Private Briefing Room";
@@ -6671,7 +6798,7 @@
pixel_x = -17;
pixel_y = 16
},
-/obj/structure/transmitter/rotary/no_dnd{
+/obj/structure/phone_base/rotary/no_dnd{
name = "Alpha Overwatch Telephone";
phone_category = "Command";
phone_id = "Alpha Overwatch"
@@ -6716,11 +6843,38 @@
pixel_x = 16;
pixel_y = -15
},
-/obj/structure/largecrate/random/case/double,
+/obj/structure/largecrate/random/case/double,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/port_hallway)
+"Qq" = (
+/obj/structure/machinery/door/airlock/almayer/engineering/reinforced{
+ req_one_access = list();
+ name = "\improper Engineering Airlock"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 8
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/engineering)
+"Qt" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/surface/table/almayer,
+/obj/item/tool/hand_labeler{
+ pixel_x = 4;
+ pixel_y = 11
+ },
+/obj/item/reagent_container/food/drinks/coffeecup/uscm{
+ pixel_x = -6;
+ pixel_y = 1
+ },
/turf/open/floor/almayer{
icon_state = "plate"
},
-/area/almayer/hallways/port_hallway)
+/area/almayer/hallways/starboard_hallway)
"Qu" = (
/obj/structure/machinery/firealarm{
pixel_y = 28
@@ -6750,6 +6904,15 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/cryo_cells)
+"Qz" = (
+/obj/structure/machinery/status_display{
+ pixel_y = 30
+ },
+/obj/structure/closet/firecloset/full,
+/turf/open/floor/almayer{
+ icon_state = "test_floor5"
+ },
+/area/almayer/engineering)
"QD" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -6766,13 +6929,6 @@
icon_state = "sterile_green"
},
/area/almayer/medical)
-"QF" = (
-/obj/structure/closet/secure_closet/engineering_personal,
-/obj/structure/machinery/light,
-/turf/open/floor/almayer{
- icon_state = "test_floor5"
- },
-/area/almayer/engineering)
"QI" = (
/obj/structure/surface/table/almayer,
/obj/effect/decal/cleanable/dirt,
@@ -6789,6 +6945,20 @@
icon_state = "test_floor4"
},
/area/almayer/squads/alpha/squad_one)
+"QL" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "W"
+ },
+/obj/structure/pipes/standard/simple/hidden/supply,
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
+/area/almayer/engineering)
"QM" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -6810,6 +6980,13 @@
/obj/structure/bed/chair/office/dark,
/turf/open/floor/almayer,
/area/almayer/living/platoon_commander_rooms)
+"QP" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/largecrate,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/starboard_hallway)
"QQ" = (
/obj/structure/toilet{
dir = 8
@@ -6836,11 +7013,6 @@
icon_state = "cargo"
},
/area/almayer/living/cryo_cells)
-"QV" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/starboard_hallway)
"QW" = (
/obj/structure/cargo_container/wy/left,
/obj/structure/sign/poster{
@@ -6876,6 +7048,24 @@
icon_state = "dark_sterile"
},
/area/almayer/living/cryo_cells)
+"Rc" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/obj/effect/decal/warning_stripes{
+ icon_state = "SW-out";
+ pixel_x = -1
+ },
+/obj/structure/machinery/door/airlock/almayer/generic{
+ dir = 1;
+ name = "\improper Supply Office"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/hallways/starboard_hallway)
+"Rd" = (
+/obj/structure/foamed_metal,
+/turf/open/floor/plating,
+/area/almayer/hallways/starboard_hallway)
"Rg" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -6892,15 +7082,6 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/platoon_sergeant)
-"Rj" = (
-/obj/structure/machinery/cm_vending/sorted/cargo_guns/squad{
- req_one_access = list();
- req_one_access_txt = "8;12;39"
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/squads/alpha/squad_one)
"Rl" = (
/obj/structure/surface/table/almayer,
/obj/item/tool/kitchen/tray{
@@ -6927,6 +7108,15 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer,
/area/almayer/hallways/starboard_hallway)
+"Rt" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/starboard_hallway)
"Rv" = (
/turf/closed/wall/almayer/outer,
/area/almayer/living/cafeteria_port)
@@ -6967,9 +7157,45 @@
/obj/effect/landmark/start/marine/alpha,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/cryo_cells)
+"RK" = (
+/obj/structure/machinery/light{
+ dir = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/hangar)
"RM" = (
-/obj/structure/foamed_metal,
-/turf/open/floor/plating,
+/obj/structure/closet/firecloset/full,
+/obj/structure/machinery/light,
+/turf/open/floor/almayer{
+ icon_state = "test_floor5"
+ },
+/area/almayer/engineering)
+"RN" = (
+/obj/structure/surface/rack,
+/obj/item/clothing/mask/gas{
+ pixel_x = -5;
+ pixel_y = 10
+ },
+/obj/item/stack/sheet/glass{
+ amount = 50
+ },
+/obj/item/clothing/mask/gas{
+ pixel_x = 5;
+ pixel_y = 10
+ },
+/obj/item/stack/sheet/mineral/phoron/medium_stack{
+ desc = "Phoron is an extremely rare mineral with exotic properties, often used in cutting-edge research. Just getting it into a stable, solid form is already hard enough. Handle with care.";
+ pixel_y = -9
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor5"
+ },
/area/almayer/engineering)
"RO" = (
/obj/effect/decal/cleanable/dirt,
@@ -6981,12 +7207,26 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/squad_two)
+"RP" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/almayer,
+/area/almayer/engineering)
"RT" = (
/obj/structure/machinery/landinglight/ds1/delayone,
/turf/open/floor/almayer{
icon_state = "plate"
},
/area/almayer/hallways/hangar)
+"RW" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/starboard_hallway)
"Sc" = (
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer{
@@ -7038,12 +7278,19 @@
},
/area/almayer/living/cryo_cells)
"Sj" = (
-/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/warning_stripes{
+ icon_state = "SE-out";
+ pixel_x = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "W"
+ },
+/obj/effect/decal/cleanable/blood/oil,
/turf/open/floor/almayer{
- dir = 4;
- icon_state = "cargo_arrow"
+ dir = 5;
+ icon_state = "plating"
},
-/area/almayer/hallways/starboard_hallway)
+/area/almayer/engineering)
"Sl" = (
/obj/structure/surface/table/almayer,
/obj/item/paper_bin{
@@ -7054,6 +7301,15 @@
icon_state = "dark_sterile"
},
/area/almayer/living/cafeteria_port)
+"Sn" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
+ },
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
+/area/almayer/engineering)
"So" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -7121,10 +7377,6 @@
icon_state = "plate"
},
/area/almayer/living/briefing)
-"SD" = (
-/obj/structure/closet/crate/trashcart,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/engineering)
"SL" = (
/obj/structure/machinery/light{
dir = 8
@@ -7137,9 +7389,6 @@
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer,
/area/almayer/hallways/port_hallway)
-"SQ" = (
-/turf/open/floor/almayer,
-/area/almayer/engineering)
"SR" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -7164,6 +7413,18 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/squad_two)
+"SV" = (
+/obj/structure/surface/table/reinforced/almayer_B,
+/obj/item/prop/magazine/book/theartofwar,
+/obj/item/paper_bin/uscm{
+ pixel_x = -8;
+ pixel_y = 5
+ },
+/obj/item/tool/pen{
+ pixel_x = 12
+ },
+/turf/open/floor/almayer,
+/area/almayer/living/platoon_commander_rooms)
"SY" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer{
@@ -7264,15 +7525,6 @@
icon_state = "plate"
},
/area/almayer/living/grunt_rnr)
-"Tl" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 4
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/hallways/hangar)
"To" = (
/obj/effect/decal/warning_stripes{
icon_state = "S"
@@ -7290,14 +7542,6 @@
icon_state = "dark_sterile"
},
/area/almayer/living/cryo_cells)
-"Tt" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 10
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/engineering)
"Tu" = (
/obj/structure/sign/safety/hazard{
pixel_x = -19;
@@ -7319,21 +7563,6 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"Tv" = (
-/obj/structure/pipes/standard/manifold/hidden/supply{
- dir = 1
- },
-/turf/open/floor/almayer,
-/area/almayer/engineering)
-"Tw" = (
-/obj/structure/closet/radiation,
-/obj/structure/machinery/light{
- dir = 1
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor5"
- },
-/area/almayer/engineering)
"Tx" = (
/obj/structure/machinery/landinglight/ds1/delaythree{
dir = 8
@@ -7394,9 +7623,22 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/squad_one)
+"TK" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "W"
+ },
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
+/area/almayer/engineering)
"TN" = (
-/turf/closed/wall/almayer,
-/area/almayer/hallways/starboard_hallway)
+/turf/closed/wall/almayer/reinforced,
+/area/almayer/engineering)
"TO" = (
/obj/structure/pipes/standard/manifold/fourway/hidden/supply,
/turf/open/floor/almayer,
@@ -7414,15 +7656,17 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"TQ" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
-/turf/open/floor/almayer,
-/area/almayer/hallways/starboard_hallway)
"TT" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/pipes/vents/scrubber,
/turf/open/floor/almayer,
/area/almayer/squads/alpha/squad_two)
+"TW" = (
+/obj/structure/machinery/recharge_station,
+/turf/open/floor/almayer{
+ icon_state = "cargo"
+ },
+/area/almayer/living/synthcloset)
"TY" = (
/obj/structure/barricade/handrail{
dir = 1;
@@ -7444,28 +7688,18 @@
icon_state = "plate"
},
/area/almayer/living/cafeteria_port)
-"Ud" = (
-/obj/structure/closet/coffin/woodencrate,
-/obj/item/clothing/accessory/storage/droppouch,
-/obj/item/clothing/accessory/storage/droppouch,
-/turf/open/floor/almayer{
- icon_state = "test_floor5"
- },
-/area/almayer/hallways/starboard_hallway)
-"Ue" = (
-/obj/structure/pipes/standard/simple/hidden/supply,
+"Uf" = (
/obj/effect/decal/warning_stripes{
- icon_state = "SW-out";
- pixel_x = -1
- },
-/obj/structure/machinery/door/airlock/almayer/generic{
- dir = 1;
- name = "\improper Supply Office"
+ icon_state = "W";
+ pixel_x = -1;
+ pixel_y = 1
},
+/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer{
- icon_state = "test_floor4"
+ dir = 5;
+ icon_state = "plating"
},
-/area/almayer/hallways/starboard_hallway)
+/area/almayer/engineering)
"Uh" = (
/turf/open/floor/almayer{
icon_state = "test_floor5"
@@ -7487,25 +7721,16 @@
},
/turf/open/floor/plating/plating_catwalk,
/area/almayer/squads/alpha/squad_one)
-"Ul" = (
-/obj/structure/surface/table/almayer,
-/obj/structure/machinery/cell_charger,
-/obj/structure/machinery/light,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/engineering)
-"Us" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 8
+"Um" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/machinery/cm_vending/clothing/synth{
+ pixel_x = -30;
+ density = 0
},
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 2
+/turf/open/floor/almayer{
+ icon_state = "test_floor5"
},
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/hallways/starboard_hallway)
+/area/almayer/living/synthcloset)
"Uv" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/pipes/standard/simple/hidden/supply,
@@ -7519,15 +7744,6 @@
icon_state = "cargo_arrow"
},
/area/almayer/hallways/hangar)
-"UB" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/machinery/light{
- dir = 4
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/engineering)
"UI" = (
/obj/structure/surface/table/almayer,
/obj/item/device/cassette_tape/nam{
@@ -7545,17 +7761,6 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/platoon_sergeant)
-"UM" = (
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 6
- },
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 2
- },
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/almayer,
-/area/almayer/hallways/starboard_hallway)
"UN" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/machinery/line_nexter{
@@ -7597,10 +7802,6 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"UZ" = (
-/obj/structure/foamed_metal,
-/turf/open/floor/plating,
-/area/almayer/hallways/starboard_hallway)
"Va" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -7640,42 +7841,34 @@
},
/area/almayer/living/cryo_cells)
"Vj" = (
-/obj/structure/surface/table/almayer,
-/obj/item/storage/toolbox/mechanical/green{
- pixel_y = 10
- },
-/obj/item/storage/toolbox/mechanical/green{
- pixel_x = -7;
- pixel_y = -1
- },
/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/engineering)
-"Vm" = (
-/obj/structure/machinery/power/terminal{
- dir = 4
- },
-/obj/effect/decal/cleanable/dirt,
-/obj/item/storage/pouch/electronics{
- pixel_x = 6;
- pixel_y = -1
- },
-/obj/item/storage/toolbox/mechanical{
- pixel_x = -7;
- pixel_y = -8
+ dir = 5;
+ icon_state = "plating"
},
-/obj/item/stack/cable_coil,
-/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering)
"Vp" = (
/turf/closed/wall/almayer,
/area/almayer/living/grunt_rnr)
+"Vq" = (
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/engineering)
"Vr" = (
/turf/open/floor/almayer{
icon_state = "plate"
},
/area/almayer/living/briefing)
+"Vu" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
+/obj/structure/machinery/door/airlock/almayer/generic{
+ dir = 1;
+ name = "\improper Supply Bay"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor4"
+ },
+/area/almayer/hallways/starboard_hallway)
"Vv" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -7689,19 +7882,18 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"VA" = (
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/engineering)
-"VE" = (
-/obj/structure/machinery/recharge_station,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/engineering)
-"VG" = (
+"VJ" = (
+/obj/structure/ladder{
+ height = 1;
+ id = "req1"
+ },
+/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/warning_stripes{
- icon_state = "SE-out";
- pixel_x = 1
+ icon_state = "S"
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor5"
},
-/turf/open/floor/almayer,
/area/almayer/hallways/starboard_hallway)
"VK" = (
/obj/effect/decal/cleanable/dirt,
@@ -7725,6 +7917,34 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/platoon_sergeant)
+"VT" = (
+/obj/structure/surface/table/almayer,
+/obj/item/tool/stamp/denied{
+ pixel_x = 2;
+ pixel_y = 10
+ },
+/obj/item/device/eftpos{
+ eftpos_name = "Cargo Bay EFTPOS scanner";
+ pixel_x = -10
+ },
+/obj/item/tool/stamp/ro{
+ pixel_x = -8;
+ pixel_y = 10
+ },
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 4
+ },
+/obj/item/storage/fancy/cigar{
+ pixel_x = 6
+ },
+/obj/item/ashtray/glass{
+ pixel_x = 11;
+ pixel_y = 9
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/starboard_hallway)
"VX" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -7785,6 +8005,26 @@
},
/turf/open/floor/almayer,
/area/almayer/hallways/port_hallway)
+"Wo" = (
+/obj/structure/filingcabinet{
+ density = 0;
+ pixel_x = 8;
+ pixel_y = 16
+ },
+/obj/structure/filingcabinet{
+ density = 0;
+ pixel_x = -8;
+ pixel_y = 18
+ },
+/obj/structure/filingcabinet{
+ density = 0;
+ pixel_x = 8;
+ pixel_y = 16
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/hallways/starboard_hallway)
"Wp" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 9
@@ -7805,13 +8045,6 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"Wt" = (
-/obj/structure/largecrate/supply/generator,
-/obj/structure/machinery/light,
-/turf/open/floor/almayer{
- icon_state = "cargo"
- },
-/area/almayer/engineering)
"Wu" = (
/obj/structure/largecrate/random/case/double,
/turf/open/floor/almayer{
@@ -7827,37 +8060,24 @@
icon_state = "plate"
},
/area/almayer/hallways/hangar)
-"WB" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "NE-out";
- pixel_x = 1;
- pixel_y = 1
- },
-/obj/structure/sign/safety/electronics{
- pixel_x = 31;
- pixel_y = 6
+"WA" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/machinery/power/apc/almayer{
+ dir = 1
},
-/obj/structure/sign/safety/high_voltage{
- pixel_x = 31;
- pixel_y = -6
+/obj/structure/machinery/light{
+ dir = 4
},
-/obj/structure/machinery/portable_atmospherics/canister/air,
+/obj/structure/largecrate,
+/turf/open/floor/almayer,
+/area/almayer/hallways/starboard_hallway)
+"WG" = (
+/obj/effect/decal/cleanable/dirt,
/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/engineering)
-"WJ" = (
-/obj/structure/surface/table/reinforced/almayer_B,
-/obj/item/prop/magazine/book/theartofwar,
-/obj/item/paper_bin/uscm{
- pixel_x = -8;
- pixel_y = 5
- },
-/obj/item/tool/pen{
- pixel_x = 12
+ dir = 4;
+ icon_state = "cargo_arrow"
},
-/turf/open/floor/almayer,
-/area/almayer/living/platoon_commander_rooms)
+/area/almayer/hallways/starboard_hallway)
"WK" = (
/obj/structure/surface/rack,
/obj/item/weapon/gun/flamer{
@@ -7867,6 +8087,9 @@
/obj/item/ammo_magazine/flamer_tank,
/obj/item/ammo_magazine/flamer_tank,
/obj/item/device/motiondetector,
+/obj/item/attachable/attached_gun/extinguisher/pyro{
+ layer = 3.01
+ },
/turf/open/floor/almayer{
icon_state = "plate"
},
@@ -7879,24 +8102,6 @@
icon_state = "test_floor5"
},
/area/almayer/living/briefing)
-"WR" = (
-/obj/structure/machinery/computer/atmos_alert{
- dir = 4
- },
-/obj/structure/surface/table/almayer,
-/obj/effect/decal/cleanable/dirt,
-/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
- },
-/area/almayer/engineering)
-"WV" = (
-/obj/structure/machinery/door/poddoor/almayer/locked{
- dir = 4;
- name = "\improper Hangar Lockdown Blast Door"
- },
-/turf/closed/wall/almayer/outer,
-/area/almayer/hallways/starboard_hallway)
"WY" = (
/obj/effect/decal/warning_stripes{
icon_state = "NW-out";
@@ -7924,10 +8129,12 @@
/area/almayer/living/cryo_cells)
"Xb" = (
/obj/structure/surface/table/almayer,
-/obj/item/device/radio,
-/obj/item/device/lightreplacer,
+/obj/effect/decal/cleanable/dirt,
+/obj/item/folder/yellow,
+/obj/item/book/manual/engineering_construction,
/turf/open/floor/almayer{
- icon_state = "plate"
+ dir = 5;
+ icon_state = "plating"
},
/area/almayer/engineering)
"Xc" = (
@@ -7941,29 +8148,23 @@
icon_state = "cargo"
},
/area/almayer/hallways/hangar)
-"Xl" = (
-/obj/structure/machinery/pipedispenser,
-/turf/open/floor/almayer{
- icon_state = "cargo"
- },
-/area/almayer/engineering)
-"Xo" = (
-/obj/effect/decal/warning_stripes{
- icon_state = "N";
- pixel_y = 2
+"Xj" = (
+/obj/structure/pipes/vents/pump,
+/obj/effect/decal/cleanable/dirt,
+/obj/structure/machinery/light{
+ dir = 1
},
-/obj/item/clothing/ears/earmuffs{
- pixel_x = -8;
- pixel_y = 8
+/obj/structure/surface/table/almayer,
+/obj/structure/machinery/prop/almayer/computer/PC{
+ dir = 4
},
-/obj/structure/pipes/standard/simple/hidden/supply{
- dir = 8
+/obj/structure/sign/safety/terminal{
+ pixel_x = -20
},
/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
+ icon_state = "plate"
},
-/area/almayer/engineering)
+/area/almayer/hallways/starboard_hallway)
"Xs" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 10
@@ -7992,13 +8193,6 @@
icon_state = "dark_sterile"
},
/area/almayer/living/cafeteria_port)
-"Xx" = (
-/obj/effect/decal/cleanable/dirt,
-/obj/structure/largecrate,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/hallways/starboard_hallway)
"Xy" = (
/obj/effect/decal/warning_stripes{
icon_state = "E";
@@ -8054,6 +8248,22 @@
icon_state = "dark_sterile"
},
/area/almayer/living/cryo_cells)
+"XN" = (
+/obj/structure/closet/secure_closet/engineering_personal,
+/turf/open/floor/almayer{
+ icon_state = "test_floor5"
+ },
+/area/almayer/engineering)
+"XP" = (
+/obj/structure/sign/safety/storage{
+ pixel_x = 7;
+ pixel_y = -28
+ },
+/obj/structure/reagent_dispensers/ammoniatank,
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
+/area/almayer/engineering)
"XQ" = (
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 4
@@ -8079,12 +8289,6 @@
icon_state = "plate"
},
/area/almayer/living/cafeteria_port)
-"XY" = (
-/obj/structure/computer3frame,
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
-/area/almayer/engineering)
"Ya" = (
/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer{
@@ -8114,9 +8318,23 @@
/obj/structure/pipes/standard/simple/hidden/supply{
dir = 5
},
-/obj/item/folder/black_random,
-/turf/open/floor/plating/plating_catwalk,
-/area/almayer/squads/alpha/platoon_sergeant)
+/obj/item/folder/black_random,
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/squads/alpha/platoon_sergeant)
+"Ye" = (
+/obj/structure/pipes/standard/simple/hidden/supply{
+ dir = 8
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 2
+ },
+/obj/effect/decal/cleanable/dirt,
+/turf/open/floor/almayer{
+ dir = 5;
+ icon_state = "plating"
+ },
+/area/almayer/engineering)
"Yh" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -8127,6 +8345,15 @@
"Yj" = (
/turf/closed/wall/almayer,
/area/almayer/hallways/hangar)
+"Yl" = (
+/obj/structure/machinery/cm_vending/gear/synth{
+ pixel_x = -30;
+ density = 0
+ },
+/turf/open/floor/almayer{
+ icon_state = "test_floor5"
+ },
+/area/almayer/living/synthcloset)
"Ym" = (
/obj/structure/largecrate/random/secure,
/turf/open/floor/almayer{
@@ -8158,6 +8385,16 @@
icon_state = "dark_sterile"
},
/area/almayer/living/cafeteria_port)
+"Yv" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 2
+ },
+/obj/effect/decal/warning_stripes{
+ icon_state = "S"
+ },
+/turf/open/floor/plating/plating_catwalk,
+/area/almayer/engineering)
"Yw" = (
/obj/structure/machinery/door/poddoor/almayer/locked{
dir = 4;
@@ -8195,6 +8432,9 @@
icon_state = "cargo_arrow"
},
/area/almayer/living/briefing)
+"YB" = (
+/turf/closed/wall/almayer/outer,
+/area/almayer/engineering)
"YG" = (
/obj/effect/decal/warning_stripes{
icon_state = "N";
@@ -8223,18 +8463,35 @@
icon_state = "plate"
},
/area/almayer/living/cafeteria_port)
+"YO" = (
+/obj/structure/closet/crate,
+/obj/effect/decal/cleanable/dirt,
+/obj/item/clothing/glasses/meson,
+/obj/item/clothing/gloves/yellow,
+/obj/item/clothing/gloves/yellow,
+/obj/item/clothing/gloves/yellow,
+/obj/item/clothing/gloves/yellow,
+/obj/item/clothing/gloves/yellow,
+/obj/item/tool/shovel/snow,
+/obj/item/tool/shovel/snow,
+/obj/item/tool/shovel/snow,
+/turf/open/floor/almayer{
+ icon_state = "cargo"
+ },
+/area/almayer/engineering)
"YP" = (
/turf/closed/wall/almayer/outer,
/area/almayer/living/briefing)
-"YV" = (
-/obj/structure/machinery/conveyor{
- dir = 8
+"YQ" = (
+/obj/effect/decal/warning_stripes{
+ icon_state = "N";
+ pixel_y = 1
},
+/obj/structure/pipes/standard/simple/hidden/supply,
/turf/open/floor/almayer{
- dir = 5;
- icon_state = "plating"
+ icon_state = "plate"
},
-/area/almayer/hallways/starboard_hallway)
+/area/almayer/hallways/hangar)
"YX" = (
/obj/effect/landmark/start/marine/medic/alpha,
/obj/effect/landmark/late_join/alpha,
@@ -8253,6 +8510,14 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/squad_two)
+"Zd" = (
+/obj/effect/decal/cleanable/dirt,
+/obj/effect/decal/warning_stripes{
+ icon_state = "E";
+ pixel_x = 1
+ },
+/turf/open/floor/almayer,
+/area/almayer/hallways/starboard_hallway)
"Zf" = (
/turf/open/floor/almayer{
icon_state = "dark_sterile"
@@ -8273,15 +8538,12 @@
icon_state = "plate"
},
/area/almayer/squads/alpha/squad_two)
-"Zm" = (
-/obj/structure/machinery/cm_vending/sorted/tech/electronics_storage{
- req_one_access = list()
+"Zw" = (
+/obj/structure/largecrate/supply/generator,
+/turf/open/floor/almayer{
+ icon_state = "cargo"
},
-/turf/open/floor/plating/plating_catwalk,
/area/almayer/engineering)
-"Zw" = (
-/turf/closed/wall/almayer/outer,
-/area/almayer/hallways/starboard_hallway)
"ZB" = (
/obj/structure/surface/table/almayer,
/obj/structure/machinery/computer/med_data/laptop{
@@ -8294,32 +8556,14 @@
"ZC" = (
/turf/closed/wall/almayer,
/area/almayer/squads/alpha/squad_one)
-"ZF" = (
-/obj/structure/surface/rack,
-/obj/item/clothing/mask/gas{
- pixel_x = -5;
- pixel_y = 10
- },
-/obj/item/stack/sheet/glass{
- amount = 50
- },
-/obj/item/clothing/mask/gas{
- pixel_x = 5;
- pixel_y = 10
- },
-/obj/item/stack/sheet/mineral/phoron/medium_stack{
- desc = "Phoron is an extremely rare mineral with exotic properties, often used in cutting-edge research. Just getting it into a stable, solid form is already hard enough. Handle with care.";
- pixel_y = -9
- },
-/turf/open/floor/almayer{
- icon_state = "test_floor5"
- },
-/area/almayer/engineering)
"ZI" = (
/obj/effect/landmark/start/marine/smartgunner/alpha,
/obj/effect/landmark/late_join/alpha,
/turf/open/floor/plating/plating_catwalk,
/area/almayer/living/cryo_cells)
+"ZJ" = (
+/turf/closed/wall/almayer/outer,
+/area/almayer/living/synthcloset)
"ZL" = (
/turf/open/floor/almayer{
icon_state = "plate"
@@ -8338,20 +8582,10 @@
icon_state = "sterile_green"
},
/area/almayer/medical)
-"ZT" = (
-/obj/structure/machinery/conveyor{
- dir = 8
- },
-/obj/structure/barricade/handrail{
- dir = 8
- },
+"ZU" = (
+/obj/structure/pipes/standard/simple/hidden/supply,
/obj/effect/decal/cleanable/dirt,
-/obj/structure/machinery/light{
- dir = 1
- },
-/turf/open/floor/almayer{
- icon_state = "plate"
- },
+/turf/open/floor/plating/plating_catwalk,
/area/almayer/hallways/starboard_hallway)
"ZV" = (
/turf/open/floor/almayer{
@@ -8359,7 +8593,13 @@
},
/area/almayer/living/cryo_cells)
"ZX" = (
-/turf/closed/wall/almayer/reinforced,
+/obj/structure/surface/table/almayer,
+/obj/structure/machinery/computer/cameras/engineering{
+ dir = 1
+ },
+/turf/open/floor/almayer{
+ icon_state = "plate"
+ },
/area/almayer/engineering)
(1,1,1) = {"
@@ -15918,7 +16158,7 @@ Yp
Fg
Fg
gd
-xZ
+tS
Qw
Cr
Cr
@@ -16070,7 +16310,7 @@ IE
ty
Fg
Fg
-lW
+Ku
Qw
Cr
Cr
@@ -16199,13 +16439,13 @@ ca
ca
ca
ca
-ca
-ca
-ca
-ca
-ca
-ca
-ca
+ZJ
+ZJ
+ZJ
+ZJ
+ZJ
+ZJ
+ZJ
qA
Ng
fh
@@ -16222,7 +16462,7 @@ hC
mf
Fy
DR
-xZ
+tS
Qw
Cr
Cr
@@ -16351,13 +16591,13 @@ ca
ZL
CN
rk
-ca
-Xz
-Xz
-Xz
-Xz
-Xz
-ca
+ZJ
+wN
+Yl
+Um
+NI
+gn
+ZJ
hN
Kv
Kv
@@ -16503,13 +16743,13 @@ ca
ZL
mm
ax
-ca
-Xz
-Xz
-Xz
-Xz
-Xz
-ca
+ZJ
+nF
+eT
+hq
+Ep
+No
+ZJ
Hj
Kv
Kv
@@ -16655,13 +16895,13 @@ wz
ZL
AQ
xh
-ca
-Xz
-Xz
-Xz
-Xz
-Xz
-ca
+ZJ
+TW
+yJ
+ba
+jy
+Mf
+ZJ
ZB
KQ
UK
@@ -16807,13 +17047,13 @@ pl
pl
yO
wz
-ca
-ca
-ca
-ca
-ca
-ca
-ca
+ZJ
+ZJ
+ey
+ZJ
+ZJ
+ZJ
+ZJ
qA
qA
qA
@@ -16961,8 +17201,8 @@ Dc
wz
oK
wp
-wp
-wp
+gS
+GO
iN
iN
iN
@@ -17113,8 +17353,8 @@ Qk
lm
iG
SO
+Fu
SY
-SO
iK
iK
SO
@@ -18046,7 +18286,7 @@ PZ
Dx
UI
cT
-GP
+lV
Ty
Cr
Cr
@@ -18198,7 +18438,7 @@ cR
Uk
cD
cT
-Rj
+zk
Ty
Cr
Cr
@@ -18350,7 +18590,7 @@ sf
cT
cT
cs
-GP
+lV
Ty
Cr
Cr
@@ -19365,15 +19605,15 @@ ca
ZL
Qk
zy
-HI
-FL
-vH
+YQ
+AL
+IZ
zy
pl
pl
pl
zy
-Hr
+Oz
aN
KO
KO
@@ -19525,7 +19765,7 @@ JZ
SR
SR
pO
-Tl
+Mk
OH
SR
SR
@@ -19826,7 +20066,7 @@ CZ
aT
Qc
Bz
-Ig
+Mc
bo
eu
Dc
@@ -19976,12 +20216,12 @@ ZL
hS
um
QO
-WJ
+SV
Bz
-rY
-DV
-Ks
-wr
+GV
+bD
+HR
+pR
Rg
Nf
uF
@@ -20436,8 +20676,8 @@ hS
hS
hS
hS
-vY
-HC
+iX
+cI
Rg
Nf
ZR
@@ -20588,9 +20828,9 @@ iR
Bz
qU
hS
-wI
-HC
-nH
+RK
+cI
+vP
Nf
Nf
Nf
@@ -20741,22 +20981,22 @@ Bz
OC
hS
pD
-HC
+cI
Rg
-TN
-TN
-TN
-TN
-TN
-TN
-TN
-TN
-TN
-TN
-TN
-TN
-TN
-rg
+gE
+gE
+gE
+gE
+gE
+gE
+gE
+gE
+gE
+gE
+gE
+gE
+gE
+aw
Yb
nx
YP
@@ -20892,25 +21132,25 @@ iR
Bz
Jg
hS
-Cq
+bu
Dc
Rg
-TN
-TN
-HJ
-uB
-TN
-Ud
-UM
-Fu
-Fu
-QV
+gE
+gE
+Xj
+Qt
+gE
+Hk
+OZ
+yU
+yU
+ZU
Fl
-TQ
-fP
-wW
-Fn
-ny
+lA
+Vu
+kw
+qc
+Gq
YP
oa
qv
@@ -21047,22 +21287,22 @@ hS
pD
Dc
Rg
-TN
-CP
-Lh
-AJ
-TN
-dU
-Us
+gE
+iQ
+Cn
+VT
+gE
+ML
+ny
Rr
nx
-kt
+de
sa
-Xx
-Af
-xF
+QP
+bZ
+Er
Rr
-vM
+Rt
YP
qh
Vr
@@ -21196,29 +21436,29 @@ hS
MB
hS
hS
-Dj
+oW
Dc
Rg
+gE
+sX
+tA
+gE
+gE
+ML
+ny
+uS
+ng
TN
-GU
-PL
-TN
-TN
-dU
-Us
-VG
EB
-ZX
-kS
-kS
-sD
-yp
-ZX
-yp
-vr
-vr
-vr
-vr
+EB
+ye
+Qq
+TN
+Qq
+YB
+YB
+YB
+YB
YP
YP
YP
@@ -21351,26 +21591,26 @@ hS
pD
Dc
Rg
+gE
+Wo
+iF
+Rc
+Md
+kO
+vg
+RW
+LC
TN
Fz
AH
-Ue
+AH
Gv
LT
-hu
-NN
+Gv
+Hc
lK
-ZX
-SD
-SQ
-SQ
-lt
-dc
-lt
-zB
-DW
-sw
-vr
+kF
+YB
Cr
Cr
Cr
@@ -21502,27 +21742,27 @@ gp
hS
pD
Dc
-nH
+vP
+gE
+qz
+Zd
+gE
+WA
+DC
+DC
+RW
+mZ
TN
-IN
+CX
IP
-TN
+gf
Bd
-DC
-DC
-NN
-eN
+CP
+PL
+hy
+AH
ZX
-vW
-VA
-MS
-uE
-UB
-Tt
-iO
-SQ
-OQ
-vr
+YB
Cr
Cr
Cr
@@ -21652,29 +21892,29 @@ MK
MK
MK
MK
-fi
+wi
Td
Rg
-TN
+gE
co
-gW
+OY
+gE
+gE
+Cy
+sa
+nD
+gE
TN
TN
-ZT
-sa
-bI
+gW
+It
TN
-ZX
-ZX
-zY
-Gl
-ZX
-ZX
-gE
-lt
-VA
-Ul
-vr
+TN
+wI
+Gv
+IP
+jN
+YB
Cr
Cr
Cr
@@ -21807,26 +22047,26 @@ ca
Yw
Yw
Yw
-Zw
-Zw
-Zw
-Zw
-Zw
-PC
-Zw
-PC
-Zw
-ZX
-oS
-Kc
-PR
-Zm
-ZX
-Cd
-lt
-VA
-XY
-vr
+kS
+kS
+kS
+kS
+kS
+oC
+kS
+oC
+kS
+TN
+Ol
+zI
+jD
+bO
+TN
+vo
+Gv
+IP
+Iy
+YB
Cr
Cr
Cr
@@ -21959,26 +22199,26 @@ Cr
Cr
Cr
Cr
-Zw
-UZ
-UZ
-UZ
-Zw
-YV
-Zw
-YV
-Zw
-ZX
-iv
-oD
-eZ
-Pv
-ZX
-en
-Tv
-eV
-az
-vr
+kS
+Rd
+Rd
+Rd
+kS
+gT
+kS
+gT
+kS
+TN
+xJ
+Oc
+zA
+gx
+TN
+CX
+La
+us
+gt
+YB
Cr
Cr
Cr
@@ -22111,26 +22351,26 @@ Cr
Cr
Cr
Cr
-Zw
-UZ
-UZ
-UZ
-Zw
-YV
-Zw
-YV
-Zw
-ZX
-jp
-DH
-qE
-VE
-ZX
-na
-wY
-Hu
-WB
-vr
+kS
+Rd
+Rd
+Rd
+kS
+gT
+kS
+gT
+kS
+TN
+zY
+zG
+Ff
+Gy
+TN
+kH
+kB
+RP
+hL
+YB
Cr
Cr
Cr
@@ -22263,30 +22503,30 @@ Cr
Cr
Cr
Cr
-Zw
-UZ
-UZ
-UZ
-Zw
-YV
-Zw
-YV
-Zw
-ZX
-ZX
-ZX
-ZX
-ZX
-ZX
-ZX
-Cn
-gC
-vr
-vr
-vr
-vr
-vr
-vr
+kS
+Rd
+Rd
+Rd
+kS
+gT
+kS
+gT
+kS
+TN
+TN
+TN
+TN
+TN
+TN
+TN
+Hh
+NU
+YB
+YB
+YB
+YB
+YB
+YB
Cr
Cr
Cr
@@ -22415,31 +22655,31 @@ Cr
Cr
Cr
Cr
-Zw
-UZ
-UZ
-UZ
-Zw
-YV
-Zw
-YV
-Zw
-ZX
-RM
-RM
-RM
-RM
+kS
+Rd
+Rd
+Rd
+kS
+gT
+kS
+gT
+kS
+TN
+fm
+fm
+fm
+fm
+fm
+TN
+yc
+Sn
+Vq
+YB
+RN
+tB
RM
-ZX
-wU
-MT
-Gn
-vr
-ZF
-Gb
-EU
-vr
-vr
+YB
+YB
Cr
Cr
Cr
@@ -22567,31 +22807,31 @@ Cr
Cr
Cr
Cr
-Zw
-Zw
-Zw
-Zw
-Zw
-YV
-Zw
-YV
-Zw
-ZX
-ZX
-ZX
-ZX
-ZX
-ZX
-ZX
-dZ
-lM
-qX
-vr
-bP
-xy
-rz
-aK
-vr
+kS
+kS
+kS
+kS
+kS
+gT
+kS
+gT
+kS
+TN
+TN
+TN
+TN
+TN
+TN
+TN
+Nz
+rt
+XP
+YB
+bB
+EJ
+zL
+oo
+YB
Cr
Cr
Cr
@@ -22719,31 +22959,31 @@ Cr
Cr
Cr
Cr
-Zw
-Zw
-wP
+kS
+kS
+VJ
co
-Zw
-YV
-Zw
-YV
-Zw
-ZX
-pe
+kS
+gT
+kS
+gT
+kS
+TN
+kh
+qW
+GU
+Ml
+AO
+EA
+yc
+aq
+Uf
+Bv
Vj
Xb
Bt
-ei
-sp
-gI
-Ez
-LP
-PJ
-FJ
-mZ
-yE
-KJ
-vr
+fp
+YB
Cr
Cr
Cr
@@ -22871,31 +23111,31 @@ Cr
Cr
Cr
Cr
-Zw
+kS
+eB
+uo
+WG
+kS
+gT
+kS
+gT
+kS
+TN
Ce
fv
Sj
-Zw
-YV
-Zw
-YV
-Zw
-ZX
-kn
-BV
+TK
+MW
+QL
+IR
+cG
+fF
+gW
+Vj
cw
-OF
-mI
-mo
-Lq
-ES
-lL
-zY
-FJ
-WR
-yE
-BF
-vr
+Bt
+Ps
+YB
Cr
Cr
Cr
@@ -23023,31 +23263,31 @@ Cr
Cr
Cr
Cr
-Zw
+kS
+oB
+vK
+aA
+kS
+gT
+kS
+gT
+kS
+TN
vc
il
wa
-Zw
-YV
-Zw
-YV
-Zw
-ZX
-Tw
+sE
+Nx
+sE
+Ye
+Sn
+uX
+YB
dj
-KB
+fF
uQ
pS
-uQ
-hv
-MT
-KR
-vr
-Op
-lL
-CJ
-fb
-vr
+YB
Cr
Cr
Cr
@@ -23175,31 +23415,31 @@ Cr
Cr
Cr
Cr
-Zw
-Zw
-gQ
-hJ
-Zw
-YV
-Zw
-YV
-Zw
-ZX
+kS
+kS
+yg
+aX
+kS
+gT
+kS
+gT
+kS
+TN
+Qz
+il
+wa
+oO
+AC
+HT
+ah
+wa
+yo
BN
-dj
-KB
+yy
+mo
an
-NH
-mw
-qr
-KB
-sP
-zp
-Lt
-lO
-JC
-vr
-vr
+YB
+YB
Cr
Cr
Cr
@@ -23327,30 +23567,30 @@ Cr
Cr
Cr
Cr
-Zw
-Zw
-WV
-Zw
-Zw
-YV
-Zw
-YV
-Zw
-ZX
-NF
-dj
-MT
-Av
-Vm
-uY
-sL
-KB
-QF
-vr
-vr
-vr
-vr
-vr
+kS
+kS
+mb
+kS
+kS
+gT
+kS
+gT
+kS
+TN
+NZ
+il
+Sn
+jS
+vG
+ds
+hU
+wa
+Hx
+YB
+YB
+YB
+YB
+YB
Cr
Cr
Cr
@@ -23479,26 +23719,26 @@ Cr
Cr
Cr
Cr
-Zw
-UZ
-UZ
-UZ
-Zw
-YV
-Zw
-YV
-Zw
-ZX
-NF
-dj
-MT
-uQ
-wi
-uQ
-Xo
-MT
-lC
-vr
+kS
+Rd
+Rd
+Rd
+kS
+gT
+kS
+gT
+kS
+TN
+NZ
+il
+Sn
+sE
+zl
+sE
+wH
+Sn
+XN
+YB
Cr
Cr
Cr
@@ -23631,26 +23871,26 @@ Cr
Cr
Cr
Cr
-Zw
-UZ
-UZ
-UZ
-Zw
-YV
-Zw
-YV
-Zw
-ZX
-ZX
-ZX
-ga
-ZX
-ZX
-ZX
-yp
-ZX
-vr
-vr
+kS
+Rd
+Rd
+Rd
+kS
+gT
+kS
+gT
+kS
+TN
+TN
+TN
+Mu
+TN
+TN
+TN
+Qq
+TN
+YB
+YB
Cr
Cr
Cr
@@ -23783,25 +24023,25 @@ Cr
Cr
Cr
Cr
-Zw
-UZ
-Zw
-Zw
-Zw
-YV
-Zw
-YV
-Zw
-Zw
-vr
-Gn
-em
-nf
-Ao
-pR
-Fv
-Gn
-vr
+kS
+Rd
+kS
+kS
+kS
+gT
+kS
+gT
+kS
+kS
+YB
+Vq
+Yv
+if
+IS
+YO
+cj
+Vq
+YB
Cr
Cr
Cr
@@ -23935,25 +24175,25 @@ Cr
Cr
Cr
Cr
-Zw
-UZ
-Zw
-oX
-oX
-yJ
-Zw
-BB
-oX
+kS
+Rd
+kS
+or
+or
+fq
+kS
+Jp
+or
+or
+YB
+bg
+kk
+Gu
+Gu
+Gu
+vJ
oX
-vr
-DU
-FF
-wC
-wC
-wC
-Ko
-Wt
-vr
+YB
Cr
Cr
Cr
@@ -24087,25 +24327,25 @@ Cr
Cr
Cr
Cr
+kS
+kS
+kS
+kS
+kS
+kS
+kS
+kS
+kS
+kS
+YB
+ro
+rq
+jQ
+GA
+dg
+aG
Zw
-Zw
-Zw
-Zw
-Zw
-Zw
-Zw
-Zw
-Zw
-Zw
-vr
-CY
-qS
-Xl
-kA
-bl
-ee
-Hq
-vr
+YB
Cr
Cr
Cr
@@ -24249,15 +24489,15 @@ Cr
Cr
Cr
Cr
-vr
-vr
-vr
-vr
-vr
-vr
-vr
-vr
-vr
+YB
+YB
+YB
+YB
+YB
+YB
+YB
+YB
+YB
Cr
Cr
Cr
diff --git a/maps/shuttles/dropship_alamo.dmm b/maps/shuttles/dropship_alamo.dmm
index 7c49edfdd0..ea14641a75 100644
--- a/maps/shuttles/dropship_alamo.dmm
+++ b/maps/shuttles/dropship_alamo.dmm
@@ -382,7 +382,7 @@
/area/shuttle/drop1/sulaco)
"Ho" = (
/obj/structure/machinery/computer/dropship_weapons/dropship1,
-/obj/structure/transmitter/rotary{
+/obj/structure/phone_base/rotary{
name = "Alamo Telephone";
phone_category = "Dropship";
phone_id = "Alamo";
diff --git a/maps/shuttles/dropship_normandy.dmm b/maps/shuttles/dropship_normandy.dmm
index f1595cd97d..55d07883e3 100644
--- a/maps/shuttles/dropship_normandy.dmm
+++ b/maps/shuttles/dropship_normandy.dmm
@@ -156,7 +156,7 @@
/area/shuttle/drop2/sulaco)
"lH" = (
/obj/structure/machinery/computer/dropship_weapons/dropship2,
-/obj/structure/transmitter/rotary{
+/obj/structure/phone_base/rotary{
name = "Normandy Telephone";
phone_category = "Dropship";
phone_id = "Normandy";
diff --git a/maps/templates/clf_ert_station.dmm b/maps/templates/clf_ert_station.dmm
index 7347be914d..aa48ff8d9f 100644
--- a/maps/templates/clf_ert_station.dmm
+++ b/maps/templates/clf_ert_station.dmm
@@ -1654,7 +1654,7 @@
/obj/item/spacecash/c1,
/obj/item/storage/box/matches,
/obj/structure/surface/table/woodentable/fancy,
-/obj/structure/transmitter/rotary{
+/obj/structure/phone_base/rotary{
name = "CLF Outpost";
phone_category = "CLF";
phone_id = "CLF Outpost";
diff --git a/maps/templates/upp_ert_station.dmm b/maps/templates/upp_ert_station.dmm
index ae2a8ad40c..6db27a83e6 100644
--- a/maps/templates/upp_ert_station.dmm
+++ b/maps/templates/upp_ert_station.dmm
@@ -876,7 +876,7 @@
/area/adminlevel/ert_station/upp_station)
"mG" = (
/obj/structure/surface/table/reinforced/black,
-/obj/structure/transmitter/rotary{
+/obj/structure/phone_base/rotary{
name = "UPP Station";
phone_category = "UPP";
phone_id = "UPP Station";
diff --git a/maps/templates/weyland_ert_station.dmm b/maps/templates/weyland_ert_station.dmm
index 1937aa6a61..82fe23c5bc 100644
--- a/maps/templates/weyland_ert_station.dmm
+++ b/maps/templates/weyland_ert_station.dmm
@@ -2794,7 +2794,7 @@
/area/adminlevel/ert_station/weyland_station)
"Js" = (
/obj/structure/surface/table/reinforced/black,
-/obj/structure/transmitter/rotary{
+/obj/structure/phone_base/rotary{
do_not_disturb = 2;
name = "Weyland-Yutani Station CiC";
phone_category = "W-Y";
@@ -3587,7 +3587,7 @@
/area/adminlevel/ert_station/weyland_station)
"SE" = (
/obj/structure/surface/table/woodentable/fancy,
-/obj/structure/transmitter/rotary{
+/obj/structure/phone_base/rotary{
do_not_disturb = 2;
name = "Weyland-Yutani Station Meeting Room";
phone_category = "W-Y";
diff --git a/maps/tents/tent_cmd.dmm b/maps/tents/tent_cmd.dmm
index 0dbd6a6ef3..2349142770 100644
--- a/maps/tents/tent_cmd.dmm
+++ b/maps/tents/tent_cmd.dmm
@@ -21,7 +21,7 @@
dir = 1
},
/obj/structure/surface/table,
-/obj/structure/transmitter/tent{
+/obj/structure/phone_base/tent{
phone_category = "Command";
phone_id = "Ground Command";
pixel_x = -2;
diff --git a/maps/tents/tent_reqs.dmm b/maps/tents/tent_reqs.dmm
index 2dc47531ed..d5dcd1d51a 100644
--- a/maps/tents/tent_reqs.dmm
+++ b/maps/tents/tent_reqs.dmm
@@ -53,7 +53,7 @@
dir = 8
},
/obj/structure/bed/chair,
-/obj/structure/transmitter/tent{
+/obj/structure/phone_base/tent{
pixel_y = 30;
pixel_x = 16;
phone_category = "Command";
diff --git a/sound/effects/Heart Beat Short.ogg b/sound/effects/heart_beat_short.ogg
similarity index 100%
rename from sound/effects/Heart Beat Short.ogg
rename to sound/effects/heart_beat_short.ogg
diff --git a/tgui/packages/tgui/interfaces/GameMaster.js b/tgui/packages/tgui/interfaces/GameMaster.js
index 8e641b1884..e33fc65b1a 100644
--- a/tgui/packages/tgui/interfaces/GameMaster.js
+++ b/tgui/packages/tgui/interfaces/GameMaster.js
@@ -1,5 +1,5 @@
import { useBackend } from '../backend';
-import { Flex, Dropdown, Button, Section } from '../components';
+import { Flex, Dropdown, Button, Section, Slider, Collapsible, Stack, Divider } from '../components';
import { Window } from '../layouts';
export const GameMaster = (props, context) => {
@@ -25,7 +25,7 @@ export const GameMaster = (props, context) => {
}}
/>
-
+
{
+
+
-
-
+
+
+ {data.game_master_objectives && (
+
+
+
+ {data.game_master_objectives.map((val) => {
+ if (val) {
+ return (
+
+
+
+
+
+
+ {val.objective_info}
+
+
+
+ );
+ }
+ })}
+
+
+
+
+ )}
+
+
+
+
+
+
+
+
+ Communication Clarity
+
+ {
+ act('set_communication_clarity', { clarity });
+ }}
+ />
+
diff --git a/tgui/packages/tgui/interfaces/PhoneMenu.js b/tgui/packages/tgui/interfaces/PhoneMenu.js
index 9a2edf9437..979ad8610d 100644
--- a/tgui/packages/tgui/interfaces/PhoneMenu.js
+++ b/tgui/packages/tgui/interfaces/PhoneMenu.js
@@ -15,10 +15,10 @@ export const PhoneMenu = (props, context) => {
const GeneralPanel = (props, context) => {
const { act, data } = useBackend(context);
- const { availability } = data;
- const available_transmitters = Object.keys(data.available_transmitters);
- const transmitters = data.transmitters.filter((val1) =>
- available_transmitters.includes(val1.phone_id)
+ const { do_not_disturb } = data;
+ const available_phones = Object.keys(data.available_phones);
+ const phones = data.phones.filter((val1) =>
+ available_phones.includes(val1.phone_id)
);
const [currentSearch, setSearch] = useLocalState(
@@ -34,8 +34,8 @@ const GeneralPanel = (props, context) => {
);
const categories = [];
- for (let i = 0; i < transmitters.length; i++) {
- let data = transmitters[i];
+ for (let i = 0; i < phones.length; i++) {
+ let data = phones[i];
if (categories.includes(data.phone_category)) continue;
categories.push(data.phone_category);
@@ -50,14 +50,14 @@ const GeneralPanel = (props, context) => {
let dnd_tooltip = 'Do Not Disturb is DISABLED';
let dnd_locked = 'No';
let dnd_icon = 'volume-high';
- if (availability === 1) {
+ if (do_not_disturb === 1) {
dnd_tooltip = 'Do Not Disturb is ENABLED';
dnd_icon = 'volume-xmark';
- } else if (availability >= 2) {
+ } else if (do_not_disturb >= 2) {
dnd_tooltip = 'Do Not Disturb is ENABLED (LOCKED)';
dnd_locked = 'Yes';
dnd_icon = 'volume-xmark';
- } else if (availability < 0) {
+ } else if (do_not_disturb < 0) {
dnd_tooltip = 'Do Not Disturb is DISABLED (LOCKED)';
dnd_locked = 'Yes';
}
@@ -88,7 +88,7 @@ const GeneralPanel = (props, context) => {
node.focus()}>
- {transmitters.map((val) => {
+ {phones.map((val) => {
if (
val.phone_category !== currentCategory ||
!val.phone_id.toLowerCase().match(currentSearch)
@@ -140,9 +140,38 @@ const GeneralPanel = (props, context) => {
icon={dnd_icon}
fluid
textAlign="center"
- onClick={() => act('toggle_dnd')}
+ onClick={() => act('toggle_do_not_disturb')}
/>
+ {data.virtual_phone && (
+
+
+
+
+
+
+
+
+
+
+
+ )}
);
diff --git a/tools/UpdatePaths/Scripts/phone-component-switch.txt b/tools/UpdatePaths/Scripts/phone-component-switch.txt
new file mode 100644
index 0000000000..0697ab15c9
--- /dev/null
+++ b/tools/UpdatePaths/Scripts/phone-component-switch.txt
@@ -0,0 +1,13 @@
+/obj/item/phone: /obj/item/handset{@OLD}
+/obj/structure/transmitter : /obj/structure/phone_base{@OLD}
+/obj/structure/transmitter/rotary : /obj/structure/phone_base/rotary{@OLD}
+/obj/structure/transmitter/rotary/no_dnd : /obj/structure/phone_base/rotary/no_dnd{@OLD}
+/obj/structure/transmitter/touchtone : /obj/structure/phone_base/touchtone{@OLD}
+/obj/structure/transmitter/colony_net : /obj/structure/phone_base/colony_net{@OLD}
+/obj/structure/transmitter/colony_net/rotary : /obj/structure/phone_base/colony_net/rotary{@OLD}
+/obj/structure/transmitter/upp_net : /obj/structure/phone_base/upp_net{@OLD}
+/obj/structure/transmitter/upp_net/rotary : /obj/structure/phone_base/upp_net/rotary{@OLD}
+/obj/structure/transmitter/clf_net : /obj/structure/phone_base/clf_net{@OLD}
+/obj/structure/transmitter/clf_net/rotary : /obj/structure/phone_base/clf_net/rotary{@OLD}
+/obj/structure/transmitter/wy_net : /obj/structure/phone_base/wy_net{@OLD}
+/obj/structure/transmitter/wy_net/rotary : /obj/structure/phone_base/wy_net/rotary{@OLD}
diff --git a/tools/ci/download_od.sh b/tools/ci/download_od.sh
new file mode 100644
index 0000000000..024f93f928
--- /dev/null
+++ b/tools/ci/download_od.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+set -eo pipefail
+
+if [ -z "${OPENDREAM_VERSION+x}" ]; then
+ source dependencies.sh
+fi
+
+git clone https://github.com/OpenDreamProject/OpenDream.git ~/OpenDream
+cd ~/OpenDream
+git checkout tags/v${OPENDREAM_VERSION}
+git submodule update --init --recursive
diff --git a/tools/ci/run_od.sh b/tools/ci/run_od.sh
new file mode 100644
index 0000000000..3eeac59073
--- /dev/null
+++ b/tools/ci/run_od.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+set -eo pipefail
+
+dotnet ~/OpenDream/DMCompiler/bin/Release/net7.0/DMCompiler.dll --suppress-unimplemented colonialmarines.dme
diff --git a/tools/ci/setup_od.sh b/tools/ci/setup_od.sh
new file mode 100644
index 0000000000..6d2ec17068
--- /dev/null
+++ b/tools/ci/setup_od.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+set -eo pipefail
+
+cd ~/OpenDream
+
+dotnet restore
+dotnet build -c Release
diff --git a/tools/ci/validate_dme.py b/tools/ci/validate_dme.py
index 33066f72e7..5566648042 100644
--- a/tools/ci/validate_dme.py
+++ b/tools/ci/validate_dme.py
@@ -17,6 +17,9 @@
# Included by BSQL/includes.dm
r'code/__HELPERS/BSQL/**/*.dm',
+
+ # Included as part of OD lints
+ r'code/__pragmas.dm'
]
lines = []