diff --git a/_maps/map_files/stations/boxstation.dmm b/_maps/map_files/stations/boxstation.dmm index 84964d36450..f32f4bf2ca1 100644 --- a/_maps/map_files/stations/boxstation.dmm +++ b/_maps/map_files/stations/boxstation.dmm @@ -32888,13 +32888,6 @@ icon_state = "darkgreen" }, /area/station/medical/medbay3) -"ccL" = ( -/obj/machinery/light{ - dir = 1 - }, -/obj/structure/bookcase/sop, -/turf/simulated/floor/wood, -/area/station/command/office/ntrep) "ccW" = ( /obj/structure/cable{ d1 = 1; @@ -34426,17 +34419,6 @@ }, /turf/simulated/floor/plating, /area/station/maintenance/aft2) -"ciK" = ( -/obj/machinery/status_display{ - layer = 4; - pixel_y = 32 - }, -/obj/machinery/light{ - dir = 1 - }, -/obj/item/kirbyplants, -/turf/simulated/floor/wood, -/area/station/command/office/ntrep) "ciM" = ( /obj/machinery/camera{ c_tag = "Central Primary Hallway South-West"; @@ -34848,10 +34830,6 @@ /turf/simulated/floor/wood, /area/station/command/office/ntrep) "ckw" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" - }, /turf/simulated/floor/carpet/royalblack, /area/station/command/office/ntrep) "ckx" = ( @@ -40705,6 +40683,17 @@ /obj/machinery/atmospherics/portable/canister/air, /turf/simulated/floor/plating, /area/station/public/storage/emergency/port) +"cEK" = ( +/obj/machinery/status_display{ + layer = 4; + pixel_y = 32 + }, +/obj/machinery/light{ + dir = 1 + }, +/obj/item/kirbyplants, +/turf/simulated/floor/wood, +/area/station/command/office/ntrep) "cEL" = ( /obj/machinery/light/small{ dir = 8 @@ -44286,6 +44275,7 @@ icon_state = "0-8" }, /obj/machinery/power/apc/directional/east, +/obj/item/flag/nt, /turf/simulated/floor/wood, /area/station/command/office/blueshield) "cRC" = ( @@ -65209,7 +65199,7 @@ }, /area/station/legal/courtroom) "jNe" = ( -/obj/item/flag/nt, +/obj/machinery/suit_storage_unit/blueshield/secure, /turf/simulated/floor/wood, /area/station/command/office/blueshield) "jNu" = ( @@ -78857,6 +78847,13 @@ icon_state = "dark" }, /area/station/engineering/control) +"qpw" = ( +/obj/machinery/light{ + dir = 1 + }, +/obj/structure/bookcase/sop, +/turf/simulated/floor/wood, +/area/station/command/office/ntrep) "qpx" = ( /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ dir = 10 @@ -122197,7 +122194,7 @@ cdZ rME cdN cgW -ccL +qpw bAb ckw ckv @@ -123225,7 +123222,7 @@ cfv cgh bsr cgW -ciK +cEK ceP cop chH diff --git a/_maps/map_files/stations/cerestation.dmm b/_maps/map_files/stations/cerestation.dmm index d0b88595088..08f224131ff 100644 --- a/_maps/map_files/stations/cerestation.dmm +++ b/_maps/map_files/stations/cerestation.dmm @@ -43643,11 +43643,11 @@ dir = 1 }, /obj/machinery/alarm/directional/west, -/obj/item/flag/nt, /obj/machinery/light_switch{ pixel_y = 24; name = "north bump" }, +/obj/item/flag/nt, /turf/simulated/floor/wood, /area/station/command/office/blueshield) "gYT" = ( @@ -46772,6 +46772,8 @@ dir = 5 }, /obj/machinery/hologram/holopad, +/obj/structure/table/wood, +/obj/item/flashlight/lamp, /turf/simulated/floor/carpet/blue, /area/station/command/office/blueshield) "hYr" = ( @@ -49537,17 +49539,6 @@ icon_state = "dark" }, /area/station/service/library) -"iPq" = ( -/obj/machinery/requests_console{ - announcementConsole = 1; - department = "Blueshield"; - departmentType = 5; - pixel_x = 30 - }, -/obj/structure/table/wood, -/obj/item/flashlight/lamp, -/turf/simulated/floor/wood, -/area/station/command/office/blueshield) "iPU" = ( /obj/structure/table, /obj/item/storage/toolbox/mechanical, @@ -52491,15 +52482,12 @@ /turf/simulated/floor/wood, /area/station/command/office/blueshield) "jHz" = ( -/obj/structure/closet/cabinet, -/obj/item/reagent_containers/drinks/bottle/whiskey, -/obj/item/reagent_containers/drinks/drinkingglass, -/obj/item/reagent_containers/drinks/drinkingglass, /obj/machinery/firealarm{ dir = 4; pixel_x = 24; name = "east bump" }, +/obj/machinery/suit_storage_unit/blueshield/secure, /turf/simulated/floor/wood, /area/station/command/office/blueshield) "jHB" = ( @@ -60275,6 +60263,26 @@ icon_state = "cafeteria" }, /area/station/command/office/rd) +"lZX" = ( +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Blueshield"; + departmentType = 5; + name = "Blueshield Requests Console"; + pixel_x = 30 + }, +/obj/structure/closet/cabinet, +/obj/item/reagent_containers/drinks/drinkingglass, +/obj/item/reagent_containers/drinks/drinkingglass, +/obj/item/reagent_containers/drinks/bottle/whiskey, +/obj/machinery/requests_console{ + announcementConsole = 1; + department = "Blueshield"; + departmentType = 5; + pixel_x = 30 + }, +/turf/simulated/floor/wood, +/area/station/command/office/blueshield) "maa" = ( /obj/machinery/light/small{ dir = 8 @@ -136319,7 +136327,7 @@ pwc fXC hbZ hZq -iPq +lZX jHz gch sdN diff --git a/_maps/map_files/stations/deltastation.dmm b/_maps/map_files/stations/deltastation.dmm index 626b1f68649..9e531be466f 100644 --- a/_maps/map_files/stations/deltastation.dmm +++ b/_maps/map_files/stations/deltastation.dmm @@ -36835,7 +36835,7 @@ /turf/simulated/floor/wood, /area/station/command/office/ntrep) "cai" = ( -/obj/item/flag/nt, +/obj/machinery/suit_storage_unit/blueshield/secure, /turf/simulated/floor/wood, /area/station/command/office/blueshield) "caj" = ( diff --git a/_maps/map_files/stations/metastation.dmm b/_maps/map_files/stations/metastation.dmm index 77a573b63cd..b62324cb543 100644 --- a/_maps/map_files/stations/metastation.dmm +++ b/_maps/map_files/stations/metastation.dmm @@ -29373,10 +29373,10 @@ /turf/simulated/wall, /area/station/service/hydroponics) "bZw" = ( -/obj/item/flag/nt, /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 4 }, +/obj/machinery/suit_storage_unit/blueshield/secure, /turf/simulated/floor/wood, /area/station/command/office/blueshield) "bZx" = ( diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 3e9ffe429bc..4aa512b173f 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -75,6 +75,15 @@ /obj/machinery/suit_storage_unit/captain/secure secure = TRUE +/obj/machinery/suit_storage_unit/blueshield + name = "blueshield's suit storage unit" + mask_type = /obj/item/clothing/mask/gas + suit_type = /obj/item/mod/control/pre_equipped/praetorian + req_access = list(ACCESS_BLUESHIELD) + +/obj/machinery/suit_storage_unit/blueshield/secure + secure = TRUE + /obj/machinery/suit_storage_unit/engine name = "engineering suit storage unit" icon_state = "industrial" diff --git a/code/modules/mod/mod_theme.dm b/code/modules/mod/mod_theme.dm index 84112e42257..d838482bbf3 100644 --- a/code/modules/mod/mod_theme.dm +++ b/code/modules/mod/mod_theme.dm @@ -792,6 +792,65 @@ /obj/item/mod/armor/mod_theme_magnate armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 15, BOMB = 15, RAD = 50, FIRE = INFINITY, ACID = 450) //On one hand this is quite strong, on the other hand energy hole / antagonists need to steal, and thus by extention use this. +/datum/mod_theme/praetorian + name = "praetorian" + desc = "A prototype of the Magnate-class suit issued to station Blueshields, still boasting exceptional protection worthy of an honor guard." + extended_desc = "A prototype of the Magnate-class suit issued for use with the station Blueshields, \ + it boasts most of the exceptional protection of it's successor, while sacrificing some of the module capacity.\ + Most of the protection of the Magnate, with none of the comfort! The visor uses blue-light to obscure \ + the face of it's wearer, adding to it's imposing figure. Compared to the sleek and luxurious design \ + that came after it, this suit does nothing to hide it's purpose, the reinforced plating layered \ + over the insulated inner armor granting it protection against corrosive liquids, explosive blasts, \ + fires, electrical shocks, and contempt from the rest of the crew." + default_skin = "praetorian" + armor_type_1 = /obj/item/mod/armor/praetorian + resistance_flags = FIRE_PROOF | ACID_PROOF + max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT + siemens_coefficient = 0 + complexity_max = DEFAULT_MAX_COMPLEXITY - 3 + slowdown_inactive = 0.75 + slowdown_active = 0.25 + allowed_suit_storage = list( + /obj/item/gun, + /obj/item/reagent_containers/spray/pepper, + /obj/item/ammo_box, + /obj/item/ammo_casing, + /obj/item/melee/baton, + /obj/item/restraints/handcuffs, + /obj/item/flashlight, + /obj/item/melee/classic_baton/telescopic, + /obj/item/kitchen/knife/combat + ) + skins = list( + "praetorian" = list( + HELMET_FLAGS = list( + UNSEALED_LAYER = COLLAR_LAYER, + SEALED_CLOTHING = THICKMATERIAL | STOPSPRESSUREDMAGE | BLOCKHAIR, + UNSEALED_INVISIBILITY = HIDEFACE, + SEALED_INVISIBILITY = HIDEMASK | HIDEEYES | HIDEFACE, + SEALED_COVER = HEADCOVERSMOUTH | HEADCOVERSEYES, + ), + CHESTPLATE_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDMAGE, + SEALED_INVISIBILITY = HIDEJUMPSUIT | HIDETAIL, + ), + GAUNTLETS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDMAGE, + CAN_OVERSLOT = TRUE, + ), + BOOTS_FLAGS = list( + UNSEALED_CLOTHING = THICKMATERIAL, + SEALED_CLOTHING = STOPSPRESSUREDMAGE, + CAN_OVERSLOT = TRUE, + ), + ), + ) + +/obj/item/mod/armor/praetorian + armor = list(MELEE = 25, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 25, RAD = 0, FIRE = 150, ACID = 150) //Equivalent armor to Security MODsuits + /datum/mod_theme/cosmohonk name = "cosmohonk" desc = "A suit by Honk Ltd. Protects against low humor environments. Most of the tech went to lower the power cost." diff --git a/code/modules/mod/mod_types.dm b/code/modules/mod/mod_types.dm index bce20baab94..7806681f01e 100644 --- a/code/modules/mod/mod_types.dm +++ b/code/modules/mod/mod_types.dm @@ -159,6 +159,7 @@ /obj/item/mod/module/flashlight, /obj/item/mod/module/injector, /obj/item/mod/module/defibrillator, + /obj/item/mod/module/monitor, ) default_pins = list( /obj/item/mod/module/defibrillator, @@ -211,6 +212,18 @@ /obj/item/mod/module/jetpack/advanced, ) +/obj/item/mod/control/pre_equipped/praetorian + theme = /datum/mod_theme/praetorian + applied_cell = /obj/item/stock_parts/cell/super + applied_modules = list( + /obj/item/mod/module/storage/large_capacity, + /obj/item/mod/module/jetpack, + /obj/item/mod/module/monitor, + ) + default_pins = list( + /obj/item/mod/module/jetpack, + ) + /obj/item/mod/control/pre_equipped/magnate theme = /datum/mod_theme/magnate applied_cell = /obj/item/stock_parts/cell/hyper diff --git a/code/modules/mod/modules/modules_medical.dm b/code/modules/mod/modules/modules_medical.dm index ff6e72584c6..cd54b9b0550 100644 --- a/code/modules/mod/modules/modules_medical.dm +++ b/code/modules/mod/modules/modules_medical.dm @@ -115,3 +115,19 @@ toolspeed = 2 defib_cooldown = 2.5 SECONDS +///Crew Monitor - Deploys or retracts a built-in handheld crew monitor +/obj/item/mod/module/monitor + name = "MOD crew monitor module" + desc = "A module installed into the wrist of the suit, this presents a display of crew sensor data." + icon_state = "scanner" + module_type = MODULE_ACTIVE + complexity = 1 + active_power_cost = DEFAULT_CHARGE_DRAIN * 0.3 + device = /obj/item/sensor_device/mod + incompatible_modules = list(/obj/item/mod/module/monitor) + cooldown_time = 0.5 SECONDS + +/obj/item/sensor_device/mod + name = "MOD crew monitor" + desc = "A miniature machine built into a modsuit that tracks suit sensors across the station." + flags = NODROP diff --git a/code/modules/research/designs/modsuit_designs.dm b/code/modules/research/designs/modsuit_designs.dm index 957774f5902..cee287f6af2 100644 --- a/code/modules/research/designs/modsuit_designs.dm +++ b/code/modules/research/designs/modsuit_designs.dm @@ -261,6 +261,13 @@ materials = list(MAT_METAL = 2500, MAT_GLASS = 5000) build_path = /obj/item/mod/module/injector +/datum/design/module/mod_monitor + name = "Crew Monitor Module" + id = "mod_monitor" + req_tech = list("biotech" = 3, "materials" = 5, "magnets" = 4) + materials = list(MAT_METAL = 1500, MAT_GLASS = 3000) + build_path = /obj/item/mod/module/monitor + /datum/design/module/defibrillator name = "Defibrillator Module" id = "mod_defib" diff --git a/icons/mob/clothing/modsuit/mod_clothing.dmi b/icons/mob/clothing/modsuit/mod_clothing.dmi index 180a65f5cc9..bdec08ab4bb 100644 Binary files a/icons/mob/clothing/modsuit/mod_clothing.dmi and b/icons/mob/clothing/modsuit/mod_clothing.dmi differ diff --git a/icons/mob/clothing/modsuit/species/grey_helmets.dmi b/icons/mob/clothing/modsuit/species/grey_helmets.dmi index d9e715539eb..1240052685a 100644 Binary files a/icons/mob/clothing/modsuit/species/grey_helmets.dmi and b/icons/mob/clothing/modsuit/species/grey_helmets.dmi differ diff --git a/icons/mob/clothing/modsuit/species/taj_modsuits.dmi b/icons/mob/clothing/modsuit/species/taj_modsuits.dmi index 564f270902e..98ae2c548da 100644 Binary files a/icons/mob/clothing/modsuit/species/taj_modsuits.dmi and b/icons/mob/clothing/modsuit/species/taj_modsuits.dmi differ diff --git a/icons/mob/clothing/modsuit/species/unathi_modsuits.dmi b/icons/mob/clothing/modsuit/species/unathi_modsuits.dmi index 990fa6eabc0..430f9cb3e3f 100644 Binary files a/icons/mob/clothing/modsuit/species/unathi_modsuits.dmi and b/icons/mob/clothing/modsuit/species/unathi_modsuits.dmi differ diff --git a/icons/mob/clothing/modsuit/species/vox_modsuits.dmi b/icons/mob/clothing/modsuit/species/vox_modsuits.dmi index 1a164b1a193..2f0d5dc9424 100644 Binary files a/icons/mob/clothing/modsuit/species/vox_modsuits.dmi and b/icons/mob/clothing/modsuit/species/vox_modsuits.dmi differ diff --git a/icons/mob/clothing/modsuit/species/vulp_modsuits.dmi b/icons/mob/clothing/modsuit/species/vulp_modsuits.dmi index 3ba9e8c04ca..c136320d93b 100644 Binary files a/icons/mob/clothing/modsuit/species/vulp_modsuits.dmi and b/icons/mob/clothing/modsuit/species/vulp_modsuits.dmi differ diff --git a/icons/obj/clothing/modsuit/mod_clothing.dmi b/icons/obj/clothing/modsuit/mod_clothing.dmi index ed85ade5249..a4a03536af2 100644 Binary files a/icons/obj/clothing/modsuit/mod_clothing.dmi and b/icons/obj/clothing/modsuit/mod_clothing.dmi differ diff --git a/icons/obj/clothing/modsuit/mod_modules.dmi b/icons/obj/clothing/modsuit/mod_modules.dmi index ba019b126cc..1de46eb6dcd 100644 Binary files a/icons/obj/clothing/modsuit/mod_modules.dmi and b/icons/obj/clothing/modsuit/mod_modules.dmi differ