Engineering and Atmos Mapping QoL and Tweaks (#14625)

This commit is contained in:
SleepyGemmy
2022-08-21 19:44:31 +02:00
committed by GitHub
parent ddc43fc735
commit d565b72f1d
23 changed files with 4534 additions and 3145 deletions
+2 -2
View File
@@ -45,7 +45,7 @@
#define NETWORK_CIVILIAN_MAIN "Civilian Main"
#define NETWORK_CIVILIAN_SURFACE "Civilian Surface"
#define NETWORK_COMMAND "Command"
#define NETWORK_ENGINE "Engine"
#define NETWORK_REACTOR "Reactor"
#define NETWORK_ENGINEERING "Engineering"
#define NETWORK_ENGINEERING_OUTPOST "Engineering Outpost"
#define NETWORK_ERT "ZeEmergencyResponseTeam"
@@ -144,4 +144,4 @@ var/list/restricted_camera_networks = list(NETWORK_ERT,NETWORK_MERCENARY,"Secret
// Machinery init flag masks
#define INIT_MACHINERY_PROCESS_SELF 0x1
#define INIT_MACHINERY_PROCESS_COMPONENTS 0x2
#define INIT_MACHINERY_PROCESS_ALL 0x3
#define INIT_MACHINERY_PROCESS_ALL 0x3
+4 -4
View File
@@ -5,12 +5,12 @@
#define SIGNAL_HYDROGEN 16
/obj/machinery/air_sensor
name = "gas sensor"
desc = "Measures the gas content of the atmosphere around the sensor."
icon = 'icons/obj/stationobjs.dmi'
icon_state = "gsensor1"
name = "gas Sensor"
desc = "Measures the gas content of the atmosphere around the sensor."
anchored = TRUE
anchored = 1
var/state = 0
var/id_tag
@@ -441,4 +441,4 @@ obj/machinery/computer/general_air_control/Destroy()
#undef SIGNAL_PHORON
#undef SIGNAL_NITROGEN
#undef SIGNAL_CARBON_DIOXIDE
#undef SIGNAL_HYDROGEN
#undef SIGNAL_HYDROGEN
+4 -4
View File
@@ -1,6 +1,6 @@
// PRESETS
var/global/list/engineering_networks = list(
NETWORK_ENGINE,
NETWORK_REACTOR,
NETWORK_ENGINEERING,
NETWORK_ENGINEERING_OUTPOST,
"Atmosphere Alarms",
@@ -32,8 +32,8 @@ var/global/list/engineering_networks = list(
/obj/machinery/camera/network/command
network = list(NETWORK_COMMAND)
/obj/machinery/camera/network/engine
network = list(NETWORK_ENGINE)
/obj/machinery/camera/network/reactor
network = list(NETWORK_REACTOR)
/obj/machinery/camera/network/engineering
network = list(NETWORK_ENGINEERING)
@@ -200,4 +200,4 @@ var/global/list/engineering_networks = list(
mult++
if (isMotion())
mult++
change_power_consumption(mult*initial(active_power_usage), POWER_USE_ACTIVE)
change_power_consumption(mult*initial(active_power_usage), POWER_USE_ACTIVE)
+1 -1
View File
@@ -12,7 +12,7 @@
/obj/machinery/floorlayer/Initialize()
. = ..()
T = new /obj/item/stack/tile/floor/full(src)
T = new /obj/item/stack/tile/floor/full_stack(src)
/obj/machinery/floorlayer/Move(new_turf,M_Dir)
..()
+51 -19
View File
@@ -1,8 +1,9 @@
// Access check is of the type requires one. These have been carefully selected to avoid allowing the janitor to see channels he shouldn't
// Access check is of the type "req_one_access".
// These have been carefully selected to avoid allowing anyone with generic departmental access to see channels they should not.
var/global/list/default_internal_channels = list(
num2text(PUB_FREQ) = list(),
num2text(AI_FREQ) = list(access_synth),
num2text(ENT_FREQ) = list(),
num2text(AI_FREQ) = list(access_synth),
num2text(ERT_FREQ) = list(access_cent_specops),
num2text(COMM_FREQ)= list(access_heads),
num2text(ENG_FREQ) = list(access_engine_equip, access_atmospherics),
@@ -22,6 +23,10 @@ var/global/list/default_medbay_channels = list(
num2text(MED_I_FREQ) = list(access_medical_equip)
)
//
// Radios
//
/obj/item/device/radio
icon = 'icons/obj/radio.dmi'
name = "station bounced radio"
@@ -625,22 +630,9 @@ var/global/list/default_medbay_channels = list(
channels[ch_name] = 0
..()
/obj/item/device/radio/med
icon_state = "walkietalkie-med"
/obj/item/device/radio/sec
icon_state = "walkietalkie-sec"
/obj/item/device/radio/eng
icon_state = "walkietalkie-eng"
/obj/item/device/radio/sci
icon_state = "walkietalkie-sci"
///////////////////////////////
//////////Borg Radios//////////
///////////////////////////////
//Giving borgs their own radio to have some more room to work with -Sieve
//
// Vesselbound Synthetic Radio
//
/obj/item/device/radio/borg
var/mob/living/silicon/robot/myborg = null // Cyborg which owns this radio. Used for power checks
@@ -814,9 +806,47 @@ var/global/list/default_medbay_channels = list(
secure_radio_connections[ch_name] = SSradio.add_object(src, radiochannels[ch_name], RADIO_CHAT)
return
//
// Radio Variants
//
// Radio (Off)
/obj/item/device/radio/off
listening = FALSE
// Medical
/obj/item/device/radio/med
icon_state = "walkietalkie-med"
// Medical (Off)
/obj/item/device/radio/med/off
listening = FALSE
// Security
/obj/item/device/radio/sec
icon_state = "walkietalkie-sec"
// Security (Off)
/obj/item/device/radio/sec/off
listening = FALSE
// Engineering
/obj/item/device/radio/eng
icon_state = "walkietalkie-eng"
// Engineering (Off)
/obj/item/device/radio/eng/off
listening = FALSE
// Science
/obj/item/device/radio/sci
icon_state = "walkietalkie-sci"
// Science (Off)
/obj/item/device/radio/sci/off
listening = FALSE
// Phone
/obj/item/device/radio/phone
broadcasting = FALSE
icon = 'icons/obj/radio.dmi'
@@ -825,6 +855,7 @@ var/global/list/default_medbay_channels = list(
name = "phone"
var/radio_sound = null
// Medical Phone
/obj/item/device/radio/phone/medbay
frequency = MED_I_FREQ
@@ -832,6 +863,7 @@ var/global/list/default_medbay_channels = list(
. = ..()
internal_channels = default_medbay_channels.Copy()
// All-channel Radio
/obj/item/device/radio/all_channels/Initialize()
channels = ALL_RADIO_CHANNELS.Copy()
. = ..()
. = ..()
@@ -202,7 +202,7 @@
throw_range = 10
flags = CONDUCT
/obj/item/stack/tile/floor/full/Initialize(mapload)
/obj/item/stack/tile/floor/full_stack/Initialize(mapload)
. = ..()
amount = max_amount
update_icon()
@@ -1,102 +1,63 @@
//
// Secure Engineering Lockers and Closets
//
// Chief Engineer
/obj/structure/closet/secure_closet/engineering_chief
name = "chief engineer's locker"
req_access = list(access_ce)
icon_state = "ce"
anchored = TRUE
canbemoved = TRUE
req_access = list(access_ce)
/obj/structure/closet/secure_closet/engineering_chief/fill()
if(prob(50))
new /obj/item/storage/backpack/industrial(src)
else
new /obj/item/storage/backpack/satchel/eng(src)
new /obj/item/storage/backpack/satchel/locker_clothing/ce(src)
new /obj/item/storage/backpack/duffel/eng(src)
new /obj/item/clothing/accessory/storage/brown_vest(src)
new /obj/item/blueprints(src)
new /obj/item/clothing/under/rank/chief_engineer(src)
new /obj/item/clothing/head/hardhat/white(src)
new /obj/item/clothing/head/welding(src)
new /obj/item/clothing/gloves/yellow(src)
new /obj/item/clothing/gloves/yellow/specialu(src)
new /obj/item/clothing/gloves/yellow/specialt(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/device/radio/headset/heads/ce(src)
new /obj/item/device/radio/headset/heads/ce/alt(src)
new /obj/item/device/megaphone/engi(src)
new /obj/item/storage/toolbox/mechanical(src)
new /obj/item/clothing/suit/storage/hazardvest/ce(src)
new /obj/item/clothing/mask/gas/alt(src)
new /obj/item/clothing/mask/gas/half(src)
new /obj/item/device/multitool(src)
new /obj/item/device/flash(src)
new /obj/item/taperoll/engineering(src)
new /obj/item/clothing/accessory/storage/overalls/chief(src)
new /obj/item/rfd/piping(src)
new /obj/item/storage/box/fancy/keypouch/eng(src)
new /obj/item/gun/energy/disruptorpistol/miniature(src)
new /obj/item/device/gps/engineering(src)
new /obj/item/pipewrench(src)
new /obj/item/grenade/chem_grenade/large/phoroncleaner(src)
new /obj/item/crowbar/rescue_axe/red(src)
new /obj/item/device/radio/eng/off(src)
/obj/structure/closet/secure_closet/engineering_chief2
name = "chief engineer's attire"
req_access = list(access_ce)
icon_state = "ce"
/obj/structure/closet/secure_closet/engineering_chief2/fill()
new /obj/item/storage/backpack/industrial(src)
new /obj/item/storage/backpack/satchel/eng(src)
new /obj/item/clothing/accessory/storage/brown_vest(src)
new /obj/item/clothing/accessory/storage/webbing(src)
new /obj/item/clothing/under/rank/chief_engineer(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/device/radio/headset/heads/ce(src)
new /obj/item/device/radio/headset/heads/ce/alt(src)
new /obj/item/clothing/accessory/storage/overalls/chief(src)
/obj/structure/closet/secure_closet/engineering_electrical
name = "electrical supplies"
req_access = list(access_engine_equip)
icon_state = "eng"
icon_door = "eng_elec"
/obj/structure/closet/secure_closet/engineering_electrical/fill()
new /obj/item/clothing/gloves/yellow(src)
new /obj/item/clothing/gloves/yellow(src)
new /obj/item/clothing/gloves/yellow/specialu(src)
new /obj/item/clothing/gloves/yellow/specialt(src)
new /obj/item/storage/toolbox/electrical(src)
new /obj/item/storage/toolbox/electrical(src)
new /obj/item/storage/toolbox/electrical(src)
new /obj/item/module/power_control(src)
new /obj/item/module/power_control(src)
new /obj/item/module/power_control(src)
new /obj/item/device/multitool(src)
new /obj/item/device/multitool(src)
new /obj/item/device/multitool(src)
/obj/structure/closet/secure_closet/engineering_welding
name = "welding supplies"
req_access = list(access_construction)
icon_state = "eng"
icon_door = "eng_weld"
/obj/structure/closet/secure_closet/engineering_welding/fill()
new /obj/item/clothing/head/welding(src)
new /obj/item/clothing/head/welding(src)
new /obj/item/clothing/head/welding(src)
new /obj/item/weldingtool/largetank(src)
new /obj/item/weldingtool/largetank(src)
new /obj/item/weldingtool/largetank(src)
new /obj/item/reagent_containers/weldpack(src)
new /obj/item/reagent_containers/weldpack(src)
new /obj/item/reagent_containers/weldpack(src)
// Chief Engineer - Clothing Satchel
// This satchel is used nowhere except in conjunction with the locker above,
// thus the code is placed here rather than in the backpack code file.
/obj/item/storage/backpack/satchel/locker_clothing/ce
name = "chief engineer's clothing satchel"
desc = "A satchel filled with a chief engineer's spare clothing."
starts_with = list(
/obj/item/clothing/accessory/storage/brown_vest = 1,
/obj/item/clothing/under/rank/chief_engineer = 1,
/obj/item/clothing/head/hardhat/white = 1,
/obj/item/clothing/gloves/yellow = 1,
/obj/item/clothing/gloves/yellow/specialu = 1,
/obj/item/clothing/gloves/yellow/specialt = 1,
/obj/item/clothing/shoes/brown = 1,
/obj/item/device/radio/headset/heads/ce = 1,
/obj/item/device/radio/headset/heads/ce/alt = 1,
/obj/item/clothing/suit/storage/hazardvest/ce = 1,
/obj/item/clothing/mask/gas/alt = 1,
/obj/item/clothing/mask/gas/half = 1,
/obj/item/clothing/accessory/storage/overalls/chief = 1,
/obj/item/storage/box/fancy/keypouch/eng = 1
)
// Engineer
/obj/structure/closet/secure_closet/engineering_personal
name = "engineer's locker"
req_access = list(access_engine_equip)
icon_state = "eng_secure"
/obj/structure/closet/secure_closet/engineering_personal/fill()
if(prob(50))
new /obj/item/storage/backpack/industrial(src)
else
new /obj/item/storage/backpack/satchel/eng(src)
new /obj/item/storage/backpack/duffel/eng(src)
new /obj/item/clothing/accessory/storage/brown_vest(src)
new /obj/item/storage/toolbox/mechanical(src)
@@ -107,17 +68,15 @@
new /obj/item/clothing/mask/gas/half(src)
new /obj/item/taperoll/engineering(src)
new /obj/item/clothing/accessory/storage/overalls/engineer(src)
new /obj/item/device/radio/eng/off(src)
// Atmospherics Technician
/obj/structure/closet/secure_closet/atmos_personal
name = "atmospheric technician's locker"
req_access = list(access_atmospherics)
icon_state = "atmos"
/obj/structure/closet/secure_closet/atmos_personal/fill()
if(prob(50))
new /obj/item/storage/backpack/industrial(src)
else
new /obj/item/storage/backpack/satchel/eng(src)
new /obj/item/storage/backpack/duffel/eng(src)
new /obj/item/clothing/accessory/storage/brown_vest(src)
new /obj/item/clothing/suit/fire/atmos(src)
@@ -133,3 +92,57 @@
new /obj/item/clothing/accessory/storage/overalls/engineer(src)
new /obj/item/reagent_containers/extinguisher_refill(src)
new /obj/item/rfd/piping(src)
new /obj/item/device/radio/eng/off(src)
// Electrical Supplies
/obj/structure/closet/secure_closet/engineering_electrical
name = "electrical supplies"
req_access = list(access_engine_equip)
icon_state = "eng"
icon_door = "eng_elec"
/obj/structure/closet/secure_closet/engineering_electrical/fill()
// 4 Insulated Gloves (2 Xeno)
new /obj/item/clothing/gloves/yellow(src)
new /obj/item/clothing/gloves/yellow(src)
new /obj/item/clothing/gloves/yellow/specialu(src)
new /obj/item/clothing/gloves/yellow/specialt(src)
// 3 Electrical Toolboxes
new /obj/item/storage/toolbox/electrical(src)
new /obj/item/storage/toolbox/electrical(src)
new /obj/item/storage/toolbox/electrical(src)
// 3 Power Control Boards
new /obj/item/module/power_control(src)
new /obj/item/module/power_control(src)
new /obj/item/module/power_control(src)
// 3 Multitools
new /obj/item/device/multitool(src)
new /obj/item/device/multitool(src)
new /obj/item/device/multitool(src)
// 2 Debuggers
new /obj/item/device/debugger(src)
new /obj/item/device/debugger(src)
// Welding Supplies
/obj/structure/closet/secure_closet/engineering_welding
name = "welding supplies"
req_access = list(access_construction)
icon_state = "eng"
icon_door = "eng_weld"
/obj/structure/closet/secure_closet/engineering_welding/fill()
// 3 Welding Masks
new /obj/item/clothing/head/welding(src)
new /obj/item/clothing/head/welding(src)
new /obj/item/clothing/head/welding(src)
// 3 Large Capacity Welding Tools
new /obj/item/weldingtool/largetank(src)
new /obj/item/weldingtool/largetank(src)
new /obj/item/weldingtool/largetank(src)
// 3 Backpack Welding Fuel Tanks
new /obj/item/reagent_containers/weldpack(src)
new /obj/item/reagent_containers/weldpack(src)
new /obj/item/reagent_containers/weldpack(src)
// 2 Welding Goggles
new /obj/item/clothing/glasses/welding(src)
new /obj/item/clothing/glasses/welding(src)
+5
View File
@@ -268,6 +268,11 @@
desc = "A danger sign which reads \"DANGER: HIGH VOLTAGE\"."
icon_state = "shock"
/obj/structure/sign/electricshock/tesla
name = "\improper TESLA REACTOR - DANGER: HIGH VOLTAGE sign"
desc = "A danger sign which reads \"TESLA REACTOR - DANGER: HIGH VOLTAGE\" and \"HIGH POWER MAGNETIC FIELDS IN USE\"."
icon_state = "shock"
/obj/structure/sign/fire
name = "\improper DANGER: FIRE sign"
desc = "A danger sign which reads \"DANGER: FIRE\"."
+1 -1
View File
@@ -97,7 +97,7 @@
footstep_sound = /decl/sound_category/tiles_footstep
/decl/flooring/tiling/full
name = "full steel tiles"
name = "full steel tile"
desc = "A full steel floor tile."
icon_base = "steel_full"
build_type = /obj/item/stack/tile/floor/full
@@ -90,6 +90,12 @@
oxygen = 0
nitrogen = ATMOSTANK_NITROGEN
// Reinforced Reactor Flooring
/turf/simulated/floor/reinforced/reactor
name = "reinforced reactor floor"
oxygen = 0
nitrogen = MOLES_CELLSTANDARD // One atmosphere of nitrogen.
/turf/simulated/floor/reinforced/oxygen
oxygen = ATMOSTANK_OXYGEN
nitrogen = 0
@@ -126,7 +126,7 @@
air_contents.volume = ATMOS_DEFAULT_VOLUME_PUMP + 800
/obj/machinery/atmospherics/unary/vent_pump/engine
name = "Engine Core Vent"
name = "Reactor Core Vent"
power_channel = ENVIRON
power_rating = 30000 //15 kW ~ 20 HP
@@ -463,4 +463,4 @@
#undef PRESSURE_CHECKS
#undef PRESSURE_CHECK_EXTERNAL
#undef PRESSURE_CHECK_INTERNAL
#undef PRESSURE_CHECK_INTERNAL
@@ -10,7 +10,7 @@
switch(network)
if(NETWORK_THUNDER)
return FALSE
if(NETWORK_ENGINE,NETWORK_ENGINEERING,NETWORK_ENGINEERING_OUTPOST,NETWORK_ALARM_ATMOS,NETWORK_ALARM_FIRE,NETWORK_ALARM_POWER)
if(NETWORK_REACTOR,NETWORK_ENGINEERING,NETWORK_ENGINEERING_OUTPOST,NETWORK_ALARM_ATMOS,NETWORK_ALARM_FIRE,NETWORK_ALARM_POWER)
return access_engine
if(NETWORK_MEDICAL)
return access_medical
+2 -2
View File
@@ -111,7 +111,7 @@
supports_nightmode = FALSE
/obj/machinery/light/spot/weak
name = "exterior spotlight"
name = "low-intensity spotlight"
brightness_range = 12
brightness_power = 1.2
@@ -623,4 +623,4 @@
else
if(brightness_color != default_color)
brightness_color = default_color
update(0)
update(0)
+2 -2
View File
@@ -33,7 +33,7 @@
#define LIGHT_POWER_CALC (max(power / 50, 1))
/obj/machinery/power/supermatter
name = "Supermatter"
name = "supermatter crystal"
desc = "A strangely translucent and iridescent crystal. <span class='warning'>You get headaches just from looking at it.</span>"
desc_info = "When energized by a laser (or something hitting it), it emits radiation and heat. If the heat reaches above 7000 kelvin, it will send an alert and start taking damage. \
After integrity falls to zero percent, it will delaminate, causing a massive explosion, station-wide radiation spikes, and hallucinations. \
@@ -458,4 +458,4 @@
return
#undef LIGHT_POWER_CALC
#undef SPACED_DAMAGE_FACTOR
#undef SPACED_DAMAGE_FACTOR
+7
View File
@@ -0,0 +1,7 @@
author: SleepyGemmy
delete-after: True
changes:
- maptweak: "Tweaks engineering and atmospherics to add QoL features and to polish the mapping."
- bugfix: "Fixes missing \"open spaces\" on deck 3."
Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 20 KiB

+4 -4
View File
@@ -8744,7 +8744,7 @@
dir = 8;
icon_state = "tube1"
},
/obj/machinery/camera/network/engine{
/obj/machinery/camera/network/reactor{
c_tag = "Engineering - Engine Fore";
dir = 4
},
@@ -11467,7 +11467,7 @@
},
/area/mine/unexplored)
"avs" = (
/obj/machinery/camera/network/engine{
/obj/machinery/camera/network/reactor{
c_tag = "Engine Core West";
dir = 4
},
@@ -12505,7 +12505,7 @@
/obj/structure/cable/orange{
icon_state = "1-2"
},
/obj/machinery/camera/network/engine{
/obj/machinery/camera/network/reactor{
c_tag = "Engineering - Engine Starboard";
dir = 8
},
@@ -16665,7 +16665,7 @@
dir = 8;
icon_state = "tube1"
},
/obj/machinery/camera/network/engine{
/obj/machinery/camera/network/reactor{
c_tag = "Engineering - Engine Aft";
dir = 4
},
+1 -1
View File
@@ -44,7 +44,7 @@
NETWORK_CIVILIAN_MAIN,
NETWORK_CIVILIAN_SURFACE,
NETWORK_COMMAND,
NETWORK_ENGINE,
NETWORK_REACTOR,
NETWORK_ENGINEERING,
NETWORK_ENGINEERING_OUTPOST,
NETWORK_STATION,
+1 -1
View File
@@ -43,7 +43,7 @@
station_networks = list(
NETWORK_COMMAND,
NETWORK_ENGINE,
NETWORK_REACTOR,
NETWORK_ENGINEERING,
NETWORK_MEDICAL,
NETWORK_MINE,
+1 -1
View File
@@ -311,7 +311,7 @@
// Exterior
/area/horizon/exterior
name = "Horizon - Exterior"
name = "Horizon - Exterior (DO NOT ENCROACH ON LANDING PLACES)"
icon_state = "exterior"
base_turf = /turf/space
dynamic_lighting = TRUE
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff