diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index b2c6d96e6e5..17dc84cfd2e 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -7313,7 +7313,7 @@ "cKG" = (/obj/structure/table,/obj/item/clothing/head/welding{pixel_x = 1; pixel_x = -5; pixel_y = 3},/obj/item/stack/sheet/glass{amount = 50},/obj/item/clothing/head/welding{pixel_x = 0; pixel_x = -5; pixel_y = 3},/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor,/area/atmos) "cKH" = (/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/metal{amount = 50; pixel_x = 2; pixel_y = 2},/obj/item/weapon/wrench,/obj/item/device/pipe_painter,/obj/item/device/pipe_painter,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/turf/simulated/floor,/area/atmos) "cKI" = (/obj/structure/table,/obj/item/device/t_scanner,/obj/item/device/multitool{pixel_x = 5},/obj/item/device/radio/headset/headset_eng,/obj/item/weapon/cartridge/atmos,/obj/item/weapon/cartridge/atmos,/obj/item/device/t_scanner,/turf/simulated/floor,/area/atmos) -"cKJ" = (/obj/machinery/atmospherics/trinary/tvalve{dir = 1},/turf/simulated/floor,/area/atmos) +"cKJ" = (/obj/machinery/atmospherics/trinary/tvalve/digital/flipped,/turf/simulated/floor,/area/atmos) "cKK" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Waste to Port"},/turf/simulated/floor,/area/atmos) "cKL" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/floor,/area/atmos) "cKM" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold4w/visible,/turf/simulated/floor,/area/atmos) @@ -7712,14 +7712,14 @@ "cSp" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 1; scrub_Toxins = 1},/obj/structure/closet/firecloset,/turf/simulated/floor,/area/atmos) "cSq" = (/turf/simulated/floor{icon_state = "red"; dir = 10},/area/atmos) "cSr" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "n2_in"; name = "Nitrogen Supply Control"; output_tag = "n2_out"; sensors = list("n2_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/visible/green{level = 2},/turf/simulated/floor{icon_state = "red"},/area/atmos) -"cSs" = (/obj/machinery/atmospherics/binary/valve/digital{name = "Nitrogen Outlet Valve"},/turf/simulated/floor{icon_state = "red"; dir = 6},/area/atmos) +"cSs" = (/obj/machinery/atmospherics/binary/valve/digital/open{name = "Nitrogen Outlet Valve"},/turf/simulated/floor{icon_state = "red"; dir = 6},/area/atmos) "cSt" = (/obj/machinery/light,/obj/machinery/atmospherics/binary/volume_pump/on{name = "Space Loop In"},/turf/simulated/floor,/area/atmos) "cSu" = (/obj/machinery/atmospherics/pipe/simple/visible/green{level = 2},/turf/simulated/floor{icon_state = "blue"; dir = 10},/area/atmos) "cSv" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "o2_in"; name = "Oxygen Supply Control"; output_tag = "o2_out"; sensors = list("o2_sensor" = "Tank")},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/atmos) -"cSw" = (/obj/machinery/atmospherics/binary/valve/digital{name = "Oxygen Outlet Valve"},/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/atmos) +"cSw" = (/obj/machinery/atmospherics/binary/valve/digital/open{name = "Oxygen Outlet Valve"},/turf/simulated/floor{icon_state = "blue"; dir = 6},/area/atmos) "cSx" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{level = 2},/turf/simulated/floor{icon_state = "arrival"; dir = 10},/area/atmos) "cSy" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1443; input_tag = "air_in"; name = "Mixed Air Supply Control"; output_tag = "air_out"; pressure_setting = 2000; sensors = list("air_sensor" = "Tank")},/turf/simulated/floor{icon_state = "arrival"},/area/atmos) -"cSz" = (/obj/machinery/camera{c_tag = "Atmospherics South-East"; dir = 1; network = list("SS13")},/obj/machinery/atmospherics/binary/valve/digital{name = "Mixed Air Outlet Valve"},/turf/simulated/floor{icon_state = "arrival"; dir = 6},/area/atmos) +"cSz" = (/obj/machinery/camera{c_tag = "Atmospherics South-East"; dir = 1; network = list("SS13")},/obj/machinery/atmospherics/binary/valve/digital/open{name = "Mixed Air Outlet Valve"},/turf/simulated/floor{icon_state = "arrival"; dir = 6},/area/atmos) "cSA" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "atmos"; name = "Atmos Blast Door"; opacity = 0},/turf/simulated/floor/plating,/area/atmos) "cSB" = (/turf/simulated/floor/plating/airless,/obj/structure/cable,/obj/machinery/power/tracker,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk1"; icon_state = "catwalk1"},/area/solar/starboard) "cSC" = (/obj/machinery/floodlight,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/storage/secure) @@ -8270,4 +8270,3 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa "} - diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm index 5748857bbf3..3db4914cb35 100644 --- a/code/ATMOSPHERICS/atmospherics.dm +++ b/code/ATMOSPHERICS/atmospherics.dm @@ -145,7 +145,7 @@ Pipelines + Other Objects -> Pipe network /obj/machinery/atmospherics/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) if(can_unwrench && istype(W, /obj/item/weapon/wrench)) var/turf/T = get_turf(src) - if (level==1 && isturf(T) && T.intact) + if (level == 1 && isturf(T) && T.intact) user << "You must remove the plating first." return 1 var/datum/gas_mixture/int_air = return_air() diff --git a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm index 283dbba4955..9fe7885c052 100644 --- a/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm +++ b/code/ATMOSPHERICS/components/binary_devices/passive_gate.dm @@ -3,7 +3,6 @@ // Uses no power but can not transfer gases from a low pressure area to a high pressure area icon = 'icons/atmos/passive_gate.dmi' icon_state = "map" - level = 1 name = "passive gate" desc = "A one-way air valve that does not require power" diff --git a/code/ATMOSPHERICS/components/binary_devices/pump.dm b/code/ATMOSPHERICS/components/binary_devices/pump.dm index 38fe1b6c93d..f091135940b 100644 --- a/code/ATMOSPHERICS/components/binary_devices/pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/pump.dm @@ -15,8 +15,7 @@ Thus, the two variables affect pump operation are set in New(): /obj/machinery/atmospherics/binary/pump icon = 'icons/atmos/pump.dmi' icon_state = "map_off" - level = 1 - + name = "gas pump" desc = "A pump" diff --git a/code/ATMOSPHERICS/components/binary_devices/valve.dm b/code/ATMOSPHERICS/components/binary_devices/valve.dm index 048d52d2a7a..a46382ab085 100644 --- a/code/ATMOSPHERICS/components/binary_devices/valve.dm +++ b/code/ATMOSPHERICS/components/binary_devices/valve.dm @@ -6,8 +6,6 @@ desc = "A pipe valve" can_unwrench = 1 - - level = 1 var/open = 0 diff --git a/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm b/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm index 86736cd7c78..c697251bc44 100644 --- a/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm +++ b/code/ATMOSPHERICS/components/binary_devices/volume_pump.dm @@ -15,7 +15,6 @@ Thus, the two variables affect pump operation are set in New(): /obj/machinery/atmospherics/binary/volume_pump icon = 'icons/atmos/volume_pump.dmi' icon_state = "map_off" - level = 1 name = "volumetric gas pump" desc = "A volumetric pump" diff --git a/code/ATMOSPHERICS/components/omni_devices/omni_base.dm b/code/ATMOSPHERICS/components/omni_devices/omni_base.dm index ad58aff1014..55216a5a5c2 100644 --- a/code/ATMOSPHERICS/components/omni_devices/omni_base.dm +++ b/code/ATMOSPHERICS/components/omni_devices/omni_base.dm @@ -7,7 +7,6 @@ icon_state = "base" use_power = 1 initialize_directions = 0 - level = 1 can_unwrench = 1 diff --git a/code/ATMOSPHERICS/components/trinary_devices/filter.dm b/code/ATMOSPHERICS/components/trinary_devices/filter.dm index d75c479ff10..7ec6d70d119 100755 --- a/code/ATMOSPHERICS/components/trinary_devices/filter.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/filter.dm @@ -1,8 +1,6 @@ /obj/machinery/atmospherics/trinary/filter icon = 'icons/atmos/filter.dmi' icon_state = "map" - density = 0 - level = 1 can_unwrench = 1 @@ -26,7 +24,7 @@ Filter types: var/frequency = 0 var/datum/radio_frequency/radio_connection -/obj/machinery/atmospherics/trinary/mixer/flipped +/obj/machinery/atmospherics/trinary/filter/flipped icon_state = "mmap" flipped = 1 diff --git a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm index 9d88e6d1e8d..cd219cd6f4e 100644 --- a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm @@ -1,8 +1,6 @@ /obj/machinery/atmospherics/trinary/mixer icon = 'icons/atmos/mixer.dmi' icon_state = "map" - density = 0 - level = 1 can_unwrench = 1 diff --git a/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm b/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm index a16f62ab5f9..5850b930725 100644 --- a/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/trinary_base.dm @@ -21,15 +21,28 @@ /obj/machinery/atmospherics/trinary/New() ..() - switch(dir) - if(NORTH) - initialize_directions = EAST|NORTH|SOUTH - if(SOUTH) - initialize_directions = SOUTH|WEST|NORTH - if(EAST) - initialize_directions = EAST|WEST|SOUTH - if(WEST) - initialize_directions = WEST|NORTH|EAST + + if(!flipped) + switch(dir) + if(NORTH) + initialize_directions = EAST|NORTH|SOUTH + if(SOUTH) + initialize_directions = SOUTH|WEST|NORTH + if(EAST) + initialize_directions = EAST|WEST|SOUTH + if(WEST) + initialize_directions = WEST|NORTH|EAST + else + switch(dir) + if(NORTH) + initialize_directions = SOUTH|NORTH|WEST + if(SOUTH) + initialize_directions = NORTH|SOUTH|EAST + if(EAST) + initialize_directions = WEST|EAST|NORTH + if(WEST) + initialize_directions = EAST|WEST|SOUTH + air1 = new air2 = new air3 = new @@ -65,6 +78,10 @@ //Node 2 is filtered output //Node 3 is rest output //If we flip the filter, 1 and 3 shall exchange positions + + if(can_unwrench) // Overridden here to avoid having to snowflake the flipped/icon_state on the construction + qdel(stored) + stored = new(src, make_from = src) var/node1_connect = turn(dir, -180) var/node2_connect = turn(dir, -90) @@ -72,6 +89,7 @@ if(flipped) node1_connect = turn(node1_connect, 180) + node2_connect = turn(node2_connect, 180) node3_connect = turn(node3_connect, 180) for(var/obj/machinery/atmospherics/target in get_step(src,node1_connect)) diff --git a/code/ATMOSPHERICS/components/trinary_devices/tvalve.dm b/code/ATMOSPHERICS/components/trinary_devices/tvalve.dm index 6d3f2843058..7e91c931f16 100644 --- a/code/ATMOSPHERICS/components/trinary_devices/tvalve.dm +++ b/code/ATMOSPHERICS/components/trinary_devices/tvalve.dm @@ -10,19 +10,29 @@ can_unwrench = 1 - level = 1 - var/state = TVALVE_STATE_STRAIGHT /obj/machinery/atmospherics/trinary/tvalve/bypass icon_state = "map_tvalve1" state = TVALVE_STATE_SIDE +/obj/machinery/atmospherics/trinary/tvalve/flipped + icon_state = "map_tvalvem0" + flipped = 1 + +/obj/machinery/atmospherics/trinary/tvalve/flipped/bypass + icon_state = "map_tvalvem1" + flipped = 1 + state = TVALVE_STATE_SIDE + /obj/machinery/atmospherics/trinary/tvalve/update_icon(animation) + var/flipstate = "" + if(flipped) + flipstate = "m" if(animation) - flick("tvalve[src.state][!src.state]",src) + flick("tvalve[flipstate][src.state][!src.state]",src) else - icon_state = "tvalve[state]" + icon_state = "tvalve[flipstate][state]" /obj/machinery/atmospherics/trinary/tvalve/update_underlays() if(..()) @@ -32,7 +42,10 @@ return add_underlay(T, node1, turn(dir, -180)) - add_underlay(T, node2, turn(dir, -90)) + if(flipped) + add_underlay(T, node2, turn(dir, 90)) + else + add_underlay(T, node2, turn(dir, -90)) add_underlay(T, node3, dir) @@ -93,6 +106,15 @@ /obj/machinery/atmospherics/trinary/tvalve/digital/bypass icon_state = "map_tvalve1" state = TVALVE_STATE_SIDE + +/obj/machinery/atmospherics/trinary/tvalve/digital/flipped + icon_state = "map_tvalvem0" + flipped = 1 + +/obj/machinery/atmospherics/trinary/tvalve/digital/flipped/bypass + icon_state = "map_tvalvem1" + flipped = 1 + state = TVALVE_STATE_SIDE /obj/machinery/atmospherics/trinary/tvalve/digital/power_change() var/old_stat = stat diff --git a/code/ATMOSPHERICS/components/unary_devices/heat_source.dm b/code/ATMOSPHERICS/components/unary_devices/heat_source.dm index b18e5648eac..79078b66f6f 100644 --- a/code/ATMOSPHERICS/components/unary_devices/heat_source.dm +++ b/code/ATMOSPHERICS/components/unary_devices/heat_source.dm @@ -1,6 +1,4 @@ /obj/machinery/atmospherics/unary/heat_reservoir -//currently the same code as cold_sink but anticipating process() changes - icon = 'icons/obj/atmospherics/cold_sink.dmi' icon_state = "intact_off" density = 1 diff --git a/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm b/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm index 08e2712f38f..92bdee806bf 100644 --- a/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm +++ b/code/ATMOSPHERICS/components/unary_devices/outlet_injector.dm @@ -22,8 +22,6 @@ var/datum/radio_frequency/radio_connection Mtoollink = 1 settagwhitelist = list("id_tag") - - level = 1 /obj/machinery/atmospherics/unary/outlet_injector/on on = 1 diff --git a/code/ATMOSPHERICS/components/unary_devices/portables_connector.dm b/code/ATMOSPHERICS/components/unary_devices/portables_connector.dm index ef26254c027..b9399f42e6c 100644 --- a/code/ATMOSPHERICS/components/unary_devices/portables_connector.dm +++ b/code/ATMOSPHERICS/components/unary_devices/portables_connector.dm @@ -11,8 +11,6 @@ var/obj/machinery/portable_atmospherics/connected_device var/on = 0 - use_power = 0 - level = 1 /obj/machinery/atmospherics/unary/portables_connector/Destroy() if(connected_device) diff --git a/code/ATMOSPHERICS/components/unary_devices/tank.dm b/code/ATMOSPHERICS/components/unary_devices/tank.dm index 465fc1103d9..88f32eba44a 100644 --- a/code/ATMOSPHERICS/components/unary_devices/tank.dm +++ b/code/ATMOSPHERICS/components/unary_devices/tank.dm @@ -7,7 +7,6 @@ var/volume = 10000 //in liters, 1 meters by 1 meters by 2 meters ~tweaked it a little to simulate a pressure tank without needing to recode them yet - level = 1 density = 1 /obj/machinery/atmospherics/unary/tank/update_underlays() diff --git a/code/ATMOSPHERICS/components/unary_devices/thermal_plate.dm b/code/ATMOSPHERICS/components/unary_devices/thermal_plate.dm index b0be337687a..6cbaa60e6b6 100644 --- a/code/ATMOSPHERICS/components/unary_devices/thermal_plate.dm +++ b/code/ATMOSPHERICS/components/unary_devices/thermal_plate.dm @@ -1,16 +1,13 @@ #define RADIATION_CAPACITY 30000 //Radiation isn't particularly effective (TODO BALANCE) - - /obj/machinery/atmospherics/unary/thermal_plate //Based off Heat Reservoir and Space Heater //Transfers heat between a pipe system and environment, based on which has a greater thermal energy concentration icon = 'icons/obj/atmospherics/cold_sink.dmi' icon_state = "off" - level = 1 can_unwrench = 1 - name = "Thermal Transfer Plate" + name = "thermal tansfer plate" desc = "Transfers heat to and from an area" /obj/machinery/atmospherics/unary/thermal_plate/update_icon() diff --git a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm index c2d49512dd9..3df03bebde7 100644 --- a/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm +++ b/code/ATMOSPHERICS/components/unary_devices/vent_pump.dm @@ -7,14 +7,13 @@ icon = 'icons/atmos/vent_pump.dmi' icon_state = "map_vent" - name = "Air Vent" + name = "air vent" desc = "Has a valve and pump attached to it" use_power = 1 can_unwrench = 1 var/area/initial_loc - level = 1 var/area_uid var/id_tag = null diff --git a/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm index 87a45435196..cc62e860bde 100644 --- a/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary_devices/vent_scrubber.dm @@ -4,14 +4,13 @@ req_one_access_txt = "24;10" - name = "Air Scrubber" + name = "air scrubber" desc = "Has a valve and pump attached to it" use_power = 1 idle_power_usage = 10 active_power_usage = 60 - level = 1 can_unwrench = 1 var/area/initial_loc diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index 6a3783a5cd6..667602686b5 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -16,7 +16,7 @@ #define PIPE_PASSIVE_GATE 15 #define PIPE_VOLUME_PUMP 16 #define PIPE_HEAT_EXCHANGE 17 -#define PIPE_MTVALVE 18 +#define PIPE_TVALVE 18 #define PIPE_MANIFOLD4W 19 #define PIPE_CAP 20 #define PIPE_OMNI_MIXER 21 @@ -117,7 +117,7 @@ else if(istype(make_from, /obj/machinery/atmospherics/trinary/tvalve/digital)) src.pipe_type = PIPE_DTVALVE else if(istype(make_from, /obj/machinery/atmospherics/trinary/tvalve)) - src.pipe_type = PIPE_MTVALVE + src.pipe_type = PIPE_TVALVE else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w/visible/supply) || istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply)) src.pipe_type = PIPE_SUPPLY_MANIFOLD4W connect_types = list(2) @@ -152,7 +152,6 @@ var/obj/machinery/atmospherics/trinary/triP = make_from if(istype(triP) && triP.flipped) src.flipped = 1 - src.dir = turn(src.dir, -45) else src.pipe_type = pipe_type @@ -166,13 +165,13 @@ else if (pipe_type == PIPE_UNIVERSAL) connect_types = list(1,2,3) //src.pipe_dir = get_pipe_dir() - update() + update(make_from) src.pixel_x = rand(-5, 5) src.pixel_y = rand(-5, 5) //update the name and icon of the pipe item depending on the type -/obj/item/pipe/proc/update() +/obj/item/pipe/proc/update(var/obj/machinery/atmospherics/make_from) var/list/nlist = list( \ "pipe", \ "bent pipe", \ @@ -234,7 +233,7 @@ "passivegate", \ "volumepump", \ "heunary", \ - "mtvalve", \ + "tvalve", \ "manifold4w", \ "cap", \ "omni_mixer", \ @@ -257,6 +256,9 @@ "dtvalve", \ ) icon_state = islist[pipe_type + 1] + var/obj/machinery/atmospherics/trinary/triP = make_from + if(istype(triP) && triP.flipped) + icon_state = "m_[icon_state]" //called when a turf is attacked with a pipe item // place the pipe on the turf, setting pipe level to 1 (underfloor) if the turf is not intact @@ -288,11 +290,14 @@ set name = "Flip Pipe" set src in view(1) - if ( usr.stat || usr.restrained() ) + if (usr.stat || usr.restrained()) return - if (pipe_type in list(PIPE_GAS_FILTER, PIPE_GAS_MIXER)) - src.dir = turn(src.dir, flipped ? 45 : -45) + if (pipe_type in list(PIPE_GAS_FILTER, PIPE_GAS_MIXER, PIPE_TVALVE, PIPE_DTVALVE)) + if(flipped) + icon_state = copytext(icon_state,3) + else + icon_state = "m_[icon_state]" flipped = !flipped return @@ -307,8 +312,6 @@ if ((pipe_type in list (PIPE_SIMPLE_BENT, PIPE_SUPPLY_BENT, PIPE_SCRUBBERS_BENT, PIPE_HE_BENT, PIPE_INSULATED_BENT)) \ && (src.dir in cardinal)) src.dir = src.dir|turn(src.dir, 90) - else if ((pipe_type in list(PIPE_GAS_FILTER, PIPE_GAS_MIXER)) && flipped) - src.dir = turn(src.dir, 45+90) else if (pipe_type in list (PIPE_SIMPLE_STRAIGHT, PIPE_SUPPLY_STRAIGHT, PIPE_SCRUBBERS_STRAIGHT, PIPE_UNIVERSAL, PIPE_HE_STRAIGHT, PIPE_INSULATED_STRAIGHT, PIPE_MVALVE, PIPE_DVALVE)) if(dir==2) dir = 1 @@ -354,8 +357,11 @@ return dir|flip|cw|acw if(PIPE_MANIFOLD, PIPE_SUPPLY_MANIFOLD, PIPE_SCRUBBERS_MANIFOLD) return flip|cw|acw - if(PIPE_GAS_FILTER, PIPE_GAS_MIXER, PIPE_MTVALVE, PIPE_DTVALVE) - return dir|flip|cw + if(PIPE_GAS_FILTER, PIPE_GAS_MIXER, PIPE_TVALVE, PIPE_DTVALVE) + if(!flipped) + return dir|flip|cw + else + return flip|cw|acw if(PIPE_CAP, PIPE_SUPPLY_CAP, PIPE_SCRUBBERS_CAP) return dir return 0 @@ -506,28 +512,21 @@ V.name = pipename V.construction(dir, get_pdir(), color) - if(PIPE_MTVALVE) - var/obj/machinery/atmospherics/trinary/tvalve/V = new( src.loc ) - if (pipename) - V.name = pipename - V.construction(dir, pipe_dir, color) - - if(PIPE_DTVALVE) - var/obj/machinery/atmospherics/trinary/tvalve/digital/V = new( src.loc ) - if (pipename) - V.name = pipename - V.construction(dir, pipe_dir, color) - if(PIPE_PUMP) //gas pump var/obj/machinery/atmospherics/binary/pump/P = new(src.loc) P.construction(dir, pipe_dir, color) - if(PIPE_GAS_FILTER, PIPE_GAS_MIXER) + if(PIPE_GAS_FILTER, PIPE_GAS_MIXER, PIPE_TVALVE, PIPE_DTVALVE) var/obj/machinery/atmospherics/trinary/P - if(pipe_type == PIPE_GAS_FILTER) - P = new /obj/machinery/atmospherics/trinary/filter(src.loc) - else if(pipe_type == PIPE_GAS_MIXER) - P = new /obj/machinery/atmospherics/trinary/mixer(src.loc) + switch(pipe_type) + if(PIPE_GAS_FILTER) + P = new /obj/machinery/atmospherics/trinary/filter(src.loc) + if(PIPE_GAS_MIXER) + P = new /obj/machinery/atmospherics/trinary/mixer(src.loc) + if(PIPE_TVALVE) + P = new /obj/machinery/atmospherics/trinary/tvalve(src.loc) + if(PIPE_DTVALVE) + P = new /obj/machinery/atmospherics/trinary/tvalve/digital(src.loc) P.flipped = flipped if (pipename) P.name = pipename @@ -666,7 +665,7 @@ #undef PIPE_PASSIVE_GATE #undef PIPE_VOLUME_PUMP #undef PIPE_HEAT_EXCHANGE -#undef PIPE_MTVALVE +#undef PIPE_TVALVE #undef PIPE_MANIFOLD4W #undef PIPE_CAP #undef PIPE_OMNI_MIXER diff --git a/code/game/objects/items/devices/pipe_painter.dm b/code/game/objects/items/devices/pipe_painter.dm index 678cf8c057a..47e88049b65 100644 --- a/code/game/objects/items/devices/pipe_painter.dm +++ b/code/game/objects/items/devices/pipe_painter.dm @@ -20,13 +20,13 @@ var/turf/T = P.loc if (P.level < 2 && T.level==1 && isturf(T) && T.intact) - user << "\red You must remove the plating first." + user << "You must remove the plating first." return P.change_color(pipe_colors[mode]) /obj/item/device/pipe_painter/attack_self(mob/user as mob) - mode = input("Which colour do you want to use?", "Pipe painter", mode) in modes + mode = input("Which colour do you want to use?", "Pipe Painter", mode) in modes /obj/item/device/pipe_painter/examine(mob/user) ..(user) diff --git a/code/game/objects/items/random_items.dm b/code/game/objects/items/random_items.dm index d9e06c361b0..81d9a7769e5 100644 --- a/code/game/objects/items/random_items.dm +++ b/code/game/objects/items/random_items.dm @@ -89,7 +89,7 @@ icon = 'icons/obj/drinks.dmi' New() ..() - var/list/drinks_only = list("beer2","hot_coco","orangejuice","tomatojuice","limejuice","carrotjuice","berryjuice","poisonberryjuice","watermelonjuice","lemonjuice","banana","nothing","potato","milk","soymilk","cream","coffee","tea","icecoffee","icetea","cola","nuka_cola","spacemountainwind","thirteenloko","dr_gibb","space_up","lemon_lime","beer","whiskey","gin","rum","vodka","holywater","tequilla","vermouth","wine","tonic","kahlua","cognac","hooch","ale","sodawater","ice","bilk","atomicbomb","threemileisland","goldschlager","patron","gintonic","cubalibre","whiskeycola","martini","vodkamartini","whiterussian","screwdrivercocktail","booger","bloodymary","gargleblaster","bravebull","tequillasunrise","toxinsspecial","beepskysmash","salglu_solution","irishcream","manlydorf","longislandicedtea","moonshine","b52","irishcoffee","margarita","blackrussian","manhattan","manhattan_proj","whiskeysoda","antifreeze","barefoot","snowwhite","demonsblood","vodkatonic","ginfizz","bahama_mama","singulo","sbiten","devilskiss","red_mead","mead","iced_beer","grog","aloe","andalusia","alliescocktail","soy_latte","cafe_latte","acidspit","amasec","neurotoxin","hippiesdelight","bananahonk","silencer","changelingsting","irishcarbomb","syndicatebomb","erikasurprise","driestmartini") + var/list/drinks_only = list("beer2","hot_coco","orangejuice","tomatojuice","limejuice","carrotjuice","berryjuice","poisonberryjuice","watermelonjuice","lemonjuice","banana","nothing","potato","milk","soymilk","cream","coffee","tea","icecoffee","icetea","cola","nuka_cola","spacemountainwind","thirteenloko","dr_gibb","space_up","lemon_lime","beer","whiskey","gin","rum","vodka","holywater","tequilla","vermouth","wine","tonic","kahlua","cognac","ale","sodawater","ice","bilk","atomicbomb","threemileisland","goldschlager","patron","gintonic","cubalibre","whiskeycola","martini","vodkamartini","whiterussian","screwdrivercocktail","booger","bloodymary","gargleblaster","bravebull","tequillasunrise","toxinsspecial","beepskysmash","salglu_solution","irishcream","manlydorf","longislandicedtea","moonshine","b52","irishcoffee","margarita","blackrussian","manhattan","manhattan_proj","whiskeysoda","antifreeze","barefoot","snowwhite","demonsblood","vodkatonic","ginfizz","bahama_mama","singulo","sbiten","devilskiss","red_mead","mead","iced_beer","grog","aloe","andalusia","alliescocktail","soy_latte","cafe_latte","acidspit","amasec","neurotoxin","hippiesdelight","bananahonk","silencer","changelingsting","irishcarbomb","syndicatebomb","erikasurprise","driestmartini") if(prob(50)) drinks_only += list("pancuronium","adminordrazine","lsd","omnizine","blood") diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index 60fd31ae47c..26757340fc8 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -456,7 +456,6 @@ var/list/wood_icons = list("wood","wood-broken") levelupdate() /turf/simulated/floor/attackby(obj/item/C as obj, mob/user as mob, params) - if(!C || !user) return 0 @@ -468,18 +467,18 @@ var/list/wood_icons = list("wood","wood-broken") qdel(C) T.state = C //fixing it by bashing it with a light bulb, fun eh? update_icon() - user << "\blue You replace the light bulb." + user << "You replace the light bulb." else - user << "\blue The lightbulb seems fine, no need to replace it." + user << "The light bulb seems fine, no need to replace it." if(istype(C, /obj/item/weapon/crowbar) && (!(is_plating())) && (!is_catwalk())) if(broken || burnt) - user << "\red You remove the broken plating." + user << "You remove the broken plating." else if(is_wood_floor()) - user << "\red You forcefully pry off the planks, destroying them in the process." + user << "You forcefully pry off the planks, destroying them in the process." else - user << "\red You remove the [floor_tile.name]." + user << "You remove the [floor_tile.name]." new floor_tile.type(src) make_plating() @@ -488,20 +487,19 @@ var/list/wood_icons = list("wood","wood-broken") return - if(istype(C, /obj/item/weapon/screwdriver)) if(is_wood_floor()) if(broken || burnt) return else if(is_wood_floor()) - user << "\red You unscrew the planks." + user << "You unscrew the planks." new floor_tile.type(src) make_plating() playsound(src, 'sound/items/Screwdriver.ogg', 80, 1) else if(is_catwalk()) if(broken) return - user << "\red You unscrew the catwalk's rods." + user << "You unscrew the catwalk's rods." new /obj/item/stack/rods(src, 2) ReplaceWithLattice() for(var/direction in cardinal) @@ -516,23 +514,23 @@ var/list/wood_icons = list("wood","wood-broken") var/obj/item/stack/rods/R = C if (is_plating()) if (R.amount >= 2) - user << "\blue Reinforcing the floor..." + user << "Reinforcing the floor..." if(do_after(user, 30, target = src) && R && R.amount >= 2 && is_plating()) ChangeTurf(/turf/simulated/floor/engine) playsound(src, 'sound/items/Deconstruct.ogg', 80, 1) R.use(2) return else - user << "\red You need more rods." + user << "You need more rods." else if (is_catwalk()) - user << "\red The entire thing is 100% rods already, it doesn't need any more." + user << "The entire thing is 100% rods already, it doesn't need any more." else - user << "\red You must remove the plating first." + user << "You must remove the plating first." return if(istype(C, /obj/item/stack/tile)) if (is_catwalk()) - user << "\red The catwalk is too primitive to support tiling." + user << "The catwalk is too primitive to support tiling." if(is_plating()) if(!broken && !burnt) var/obj/item/stack/tile/T = C @@ -558,7 +556,7 @@ var/list/wood_icons = list("wood","wood-broken") levelupdate() playsound(src, 'sound/weapons/Genhit.ogg', 50, 1) else - user << "\blue This section is too damaged to support a tile. Use a welder to fix the damage." + user << "This section is too damaged to support a tile. Use a welder to fix the damage." if(istype(C, /obj/item/stack/cable_coil)) @@ -566,29 +564,29 @@ var/list/wood_icons = list("wood","wood-broken") var/obj/item/stack/cable_coil/coil = C coil.turf_place(src, user) else - user << "\red You must remove the plating first." + user << "You must remove the plating first." if(istype(C, /obj/item/weapon/shovel)) if(is_grass_floor()) new /obj/item/weapon/ore/glass(src) new /obj/item/weapon/ore/glass(src) //Make some sand if you shovel grass - user << "\blue You shovel the grass." + user << "You shovel the grass." make_plating() else - user << "\red You cannot shovel this." + user << "You cannot shovel this." if(istype(C, /obj/item/weapon/weldingtool)) var/obj/item/weapon/weldingtool/welder = C if(welder.isOn() && (is_plating())) if(broken || burnt) if(welder.remove_fuel(0,user)) - user << "\red You fix some dents on the broken plating." + user << "You fix some dents on the broken plating." playsound(src, 'sound/items/Welder.ogg', 80, 1) icon_state = "plating" burnt = 0 broken = 0 else - user << "\blue You need more welding fuel to complete this task." + user << "You need more welding fuel to complete this task." if(istype(C,/obj/item/pipe)) var/obj/item/pipe/V = C @@ -597,7 +595,7 @@ var/list/wood_icons = list("wood","wood-broken") user.visible_message( \ "[user] starts sliding [P] along \the [src].", \ - "\blue You slide [P] along \the [src].", \ + "You slide [P] along \the [src].", \ "You hear the scrape of metal against something.") user.drop_item() if (P.pipe_type in list (1,3,12)) // bent pipe rotation fix see construction.dm diff --git a/icons/obj/pipe-item.dmi b/icons/obj/pipe-item.dmi index 06c53e5a68b..1ef48fbad13 100644 Binary files a/icons/obj/pipe-item.dmi and b/icons/obj/pipe-item.dmi differ