diff --git a/code/__DEFINES/wiremod.dm b/code/__DEFINES/wiremod.dm index b606f938869..8922a522c17 100644 --- a/code/__DEFINES/wiremod.dm +++ b/code/__DEFINES/wiremod.dm @@ -30,6 +30,8 @@ #define PORT_TYPE_TABLE "table" /// Options datatype. Derivative of string. #define PORT_TYPE_OPTION "option" +/// Boolean datatype. Derivative of number. +#define PORT_TYPE_BOOLEAN "boolean" // Composite datatypes #define PORT_COMPOSITE_TYPE_LIST "list" diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 74600bab384..5aa9520df7f 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -670,7 +670,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/firealarm, 26) alarm_trigger = add_input_port("Set", PORT_TYPE_SIGNAL) reset_trigger = add_input_port("Reset", PORT_TYPE_SIGNAL) - is_on = add_output_port("Is On", PORT_TYPE_NUMBER) + is_on = add_output_port("Is On", PORT_TYPE_BOOLEAN) triggered = add_output_port("Triggered", PORT_TYPE_SIGNAL) reset = add_output_port("Reset", PORT_TYPE_SIGNAL) diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index 58e5bdf209e..7d553e47b2d 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -135,8 +135,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light_switch, 26) var/obj/machinery/light_switch/attached_switch /obj/item/circuit_component/light_switch/populate_ports() - on_setting = add_input_port("On", PORT_TYPE_NUMBER) - is_on = add_output_port("Is On", PORT_TYPE_NUMBER) + on_setting = add_input_port("On", PORT_TYPE_BOOLEAN) + is_on = add_output_port("Is On", PORT_TYPE_BOOLEAN) /obj/item/circuit_component/light_switch/register_usb_parent(atom/movable/parent) . = ..() diff --git a/code/modules/atmospherics/machinery/air_alarm/air_alarm_circuit.dm b/code/modules/atmospherics/machinery/air_alarm/air_alarm_circuit.dm index 74f260976d5..a653522b9ca 100644 --- a/code/modules/atmospherics/machinery/air_alarm/air_alarm_circuit.dm +++ b/code/modules/atmospherics/machinery/air_alarm/air_alarm_circuit.dm @@ -311,8 +311,8 @@ disable = add_input_port("Disable", PORT_TYPE_SIGNAL, trigger = PROC_REF(toggle_scrubber)) request_update = add_input_port("Request Data", PORT_TYPE_SIGNAL, trigger = PROC_REF(update_data)) - enabled = add_output_port("Enabled", PORT_TYPE_NUMBER) - is_siphoning = add_output_port("Siphoning", PORT_TYPE_NUMBER) + enabled = add_output_port("Enabled", PORT_TYPE_BOOLEAN) + is_siphoning = add_output_port("Siphoning", PORT_TYPE_BOOLEAN) filtering = add_output_port("Filtered Gases", PORT_TYPE_LIST(PORT_TYPE_STRING)) update_received = add_output_port("Update Received", PORT_TYPE_SIGNAL) @@ -534,10 +534,10 @@ disable = add_input_port("Disable", PORT_TYPE_SIGNAL, trigger = PROC_REF(toggle_vent)) request_update = add_input_port("Request Data", PORT_TYPE_SIGNAL, trigger = PROC_REF(update_data)) - enabled = add_output_port("Enabled", PORT_TYPE_NUMBER) - is_siphoning = add_output_port("Siphoning", PORT_TYPE_NUMBER) - external_on = add_output_port("External On", PORT_TYPE_NUMBER) - internal_on = add_output_port("Internal On", PORT_TYPE_NUMBER) + enabled = add_output_port("Enabled", PORT_TYPE_BOOLEAN) + is_siphoning = add_output_port("Siphoning", PORT_TYPE_BOOLEAN) + external_on = add_output_port("External On", PORT_TYPE_BOOLEAN) + internal_on = add_output_port("Internal On", PORT_TYPE_BOOLEAN) current_external_pressure = add_output_port("External Pressure", PORT_TYPE_NUMBER) current_internal_pressure = add_output_port("Internal Pressure", PORT_TYPE_NUMBER) update_received = add_output_port("Update Received", PORT_TYPE_SIGNAL) diff --git a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm index cf729cef15f..e97bd92f7cc 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/pump.dm @@ -173,7 +173,7 @@ input_temperature = add_output_port("Input Temperature", PORT_TYPE_NUMBER) output_temperature = add_output_port("Output Temperature", PORT_TYPE_NUMBER) - is_active = add_output_port("Active", PORT_TYPE_NUMBER) + is_active = add_output_port("Active", PORT_TYPE_BOOLEAN) turned_on = add_output_port("Turned On", PORT_TYPE_SIGNAL) turned_off = add_output_port("Turned Off", PORT_TYPE_SIGNAL) diff --git a/code/modules/atmospherics/machinery/components/binary_devices/valve.dm b/code/modules/atmospherics/machinery/components/binary_devices/valve.dm index b728805cec6..367d2029e9d 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/valve.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/valve.dm @@ -111,7 +111,7 @@ It's like a regular ol' straight pipe, but you can turn it on and off. open = add_input_port("Open", PORT_TYPE_SIGNAL) close = add_input_port("Close", PORT_TYPE_SIGNAL) - is_open = add_output_port("Is Open", PORT_TYPE_NUMBER) + is_open = add_output_port("Is Open", PORT_TYPE_BOOLEAN) opened = add_output_port("Opened", PORT_TYPE_SIGNAL) closed = add_output_port("Closed", PORT_TYPE_SIGNAL) diff --git a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm index 6ea471f7476..0398ffd76b7 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/volume_pump.dm @@ -234,7 +234,7 @@ input_temperature = add_output_port("Input Temperature", PORT_TYPE_NUMBER) output_temperature = add_output_port("Output Temperature", PORT_TYPE_NUMBER) - is_active = add_output_port("Active", PORT_TYPE_NUMBER) + is_active = add_output_port("Active", PORT_TYPE_BOOLEAN) turned_on = add_output_port("Turned On", PORT_TYPE_SIGNAL) turned_off = add_output_port("Turned Off", PORT_TYPE_SIGNAL) diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index cdb8b6299e6..32cf474c422 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -1215,10 +1215,10 @@ var/datum/port/output/reagents_level /obj/item/circuit_component/hydroponics/populate_ports() - selfsustaining_setting = add_input_port("Auto-Grow Setting", PORT_TYPE_NUMBER) + selfsustaining_setting = add_input_port("Auto-Grow Setting", PORT_TYPE_BOOLEAN) plant_status = add_output_port("Plant Status", PORT_TYPE_NUMBER) - is_self_sustaining = add_output_port("Auto-Grow Status", PORT_TYPE_NUMBER) + is_self_sustaining = add_output_port("Auto-Grow Status", PORT_TYPE_BOOLEAN) plant_harvested = add_output_port("Plant Harvested", PORT_TYPE_SIGNAL) last_harvest = add_output_port("Last Harvest Amount", PORT_TYPE_NUMBER) plant_died = add_output_port("Plant Died", PORT_TYPE_SIGNAL) diff --git a/code/modules/instruments/piano_synth.dm b/code/modules/instruments/piano_synth.dm index f0357eb789c..939b302fc59 100644 --- a/code/modules/instruments/piano_synth.dm +++ b/code/modules/instruments/piano_synth.dm @@ -119,7 +119,7 @@ sustain_value = add_input_port("Note Sustain Value", PORT_TYPE_NUMBER, trigger = PROC_REF(set_sustain_value)) note_decay = add_input_port("Held Note Decay", PORT_TYPE_NUMBER, trigger = PROC_REF(set_sustain_decay)) - is_playing = add_output_port("Currently Playing", PORT_TYPE_NUMBER) + is_playing = add_output_port("Currently Playing", PORT_TYPE_BOOLEAN) started_playing = add_output_port("Started Playing", PORT_TYPE_SIGNAL) stopped_playing = add_output_port("Stopped Playing", PORT_TYPE_SIGNAL) diff --git a/code/modules/modular_computers/file_system/program_circuit.dm b/code/modules/modular_computers/file_system/program_circuit.dm index 85cd7b38818..481e46af04c 100644 --- a/code/modules/modular_computers/file_system/program_circuit.dm +++ b/code/modules/modular_computers/file_system/program_circuit.dm @@ -57,7 +57,7 @@ . = ..() start = add_input_port("Start", PORT_TYPE_SIGNAL, trigger = PROC_REF(start_prog)) kill = add_input_port("Kill", PORT_TYPE_SIGNAL, trigger = PROC_REF(kill_prog)) - running = add_output_port("Running", PORT_TYPE_NUMBER) + running = add_output_port("Running", PORT_TYPE_BOOLEAN) ///For most programs, triggers only work if they're open (either active or idle). /obj/item/circuit_component/mod_program/should_receive_input(datum/port/input/port) diff --git a/code/modules/vehicles/cars/vim.dm b/code/modules/vehicles/cars/vim.dm index 9bfa5c323ab..a3b8b85adff 100644 --- a/code/modules/vehicles/cars/vim.dm +++ b/code/modules/vehicles/cars/vim.dm @@ -129,7 +129,7 @@ var/datum/port/output/are_headlights_on /obj/item/circuit_component/vim/populate_ports() - are_headlights_on = add_output_port("Are Headlights On", PORT_TYPE_NUMBER) + are_headlights_on = add_output_port("Are Headlights On", PORT_TYPE_BOOLEAN) chime = add_output_port("On Chime Used", PORT_TYPE_SIGNAL) buzz = add_output_port("On Buzz Used", PORT_TYPE_SIGNAL) diff --git a/code/modules/wiremod/components/abstract/compare.dm b/code/modules/wiremod/components/abstract/compare.dm index f17dd225c7a..48b53dea162 100644 --- a/code/modules/wiremod/components/abstract/compare.dm +++ b/code/modules/wiremod/components/abstract/compare.dm @@ -22,7 +22,7 @@ true = add_output_port("True", PORT_TYPE_SIGNAL) false = add_output_port("False", PORT_TYPE_SIGNAL) - result = add_output_port("Result", PORT_TYPE_NUMBER) + result = add_output_port("Result", PORT_TYPE_BOOLEAN) /** * Used by derivatives to load their own ports in for custom use. diff --git a/code/modules/wiremod/components/action/light.dm b/code/modules/wiremod/components/action/light.dm index 46fd2993a9d..5057927831e 100644 --- a/code/modules/wiremod/components/action/light.dm +++ b/code/modules/wiremod/components/action/light.dm @@ -33,7 +33,7 @@ blue = add_input_port("Blue", PORT_TYPE_NUMBER) brightness = add_input_port("Brightness", PORT_TYPE_NUMBER) - on = add_input_port("On", PORT_TYPE_NUMBER) + on = add_input_port("On", PORT_TYPE_BOOLEAN) /obj/item/circuit_component/light/register_shell(atom/movable/shell) . = ..() diff --git a/code/modules/wiremod/components/action/soundemitter.dm b/code/modules/wiremod/components/action/soundemitter.dm index 144a56295dd..f6c03d8b75b 100644 --- a/code/modules/wiremod/components/action/soundemitter.dm +++ b/code/modules/wiremod/components/action/soundemitter.dm @@ -51,7 +51,7 @@ /obj/item/circuit_component/soundemitter/populate_ports() volume = add_input_port("Volume", PORT_TYPE_NUMBER, default = 35) frequency = add_input_port("Frequency", PORT_TYPE_NUMBER, default = 0) - backwards = add_input_port("Play Backwards", PORT_TYPE_NUMBER, default = 0) + backwards = add_input_port("Play Backwards", PORT_TYPE_BOOLEAN, default = FALSE) /obj/item/circuit_component/soundemitter/populate_options() var/static/component_options = list( diff --git a/code/modules/wiremod/components/action/speech.dm b/code/modules/wiremod/components/action/speech.dm index f149cba9122..49c2e75d08c 100644 --- a/code/modules/wiremod/components/action/speech.dm +++ b/code/modules/wiremod/components/action/speech.dm @@ -23,7 +23,7 @@ /obj/item/circuit_component/speech/populate_ports() message = add_input_port("Message", PORT_TYPE_STRING, trigger = null) - quietmode = add_input_port("Quiet Mode", PORT_TYPE_NUMBER, default = 0) + quietmode = add_input_port("Quiet Mode", PORT_TYPE_BOOLEAN, default = FALSE) /obj/item/circuit_component/speech/input_received(datum/port/input/port) if(!parent.shell) diff --git a/code/modules/wiremod/components/admin/animate.dm b/code/modules/wiremod/components/admin/animate.dm index c3b26464b1b..0271f7d1b27 100644 --- a/code/modules/wiremod/components/admin/animate.dm +++ b/code/modules/wiremod/components/admin/animate.dm @@ -33,7 +33,7 @@ /obj/item/circuit_component/begin_animation/populate_ports() target = add_input_port("Target", PORT_TYPE_ATOM) - parallel = add_input_port("Parallel", PORT_TYPE_NUMBER, default = 1) + parallel = add_input_port("Parallel", PORT_TYPE_BOOLEAN, default = TRUE) animation_loops = add_input_port("Loops", PORT_TYPE_NUMBER) stop_all_animations = add_input_port("Stop All Animations", PORT_TYPE_SIGNAL, trigger = PROC_REF(stop_animations)) animate_event = add_output_port("Perform Animation", PORT_TYPE_INSTANT_SIGNAL) diff --git a/code/modules/wiremod/components/admin/signal_handler/signal_handler.dm b/code/modules/wiremod/components/admin/signal_handler/signal_handler.dm index a80ba26794c..430ede0683f 100644 --- a/code/modules/wiremod/components/admin/signal_handler/signal_handler.dm +++ b/code/modules/wiremod/components/admin/signal_handler/signal_handler.dm @@ -63,7 +63,7 @@ signal_map = GLOB.integrated_circuit_signal_ids /obj/item/circuit_component/signal_handler/populate_ports() - instant = add_input_port("Instant", PORT_TYPE_NUMBER, order = 0.5, trigger = null, default = 1) + instant = add_input_port("Instant", PORT_TYPE_BOOLEAN, order = 0.5, trigger = null, default = TRUE) register = add_input_port("Register", PORT_TYPE_SIGNAL, order = 2, trigger = PROC_REF(register_signals)) unregister = add_input_port("Unregister", PORT_TYPE_SIGNAL, order = 2, trigger = PROC_REF(unregister_signals)) unregister_all = add_input_port("Unregister All", PORT_TYPE_SIGNAL, order = 2, trigger = PROC_REF(unregister_signals_all)) diff --git a/code/modules/wiremod/components/atom/hear.dm b/code/modules/wiremod/components/atom/hear.dm index b3a41154dc6..f8dda23e0e8 100644 --- a/code/modules/wiremod/components/atom/hear.dm +++ b/code/modules/wiremod/components/atom/hear.dm @@ -23,7 +23,7 @@ var/datum/port/output/trigger_port /obj/item/circuit_component/hear/populate_ports() - on = add_input_port("On", PORT_TYPE_NUMBER, default = 1) + on = add_input_port("On", PORT_TYPE_BOOLEAN, default = TRUE) message_port = add_output_port("Message", PORT_TYPE_STRING) language_port = add_output_port("Language", PORT_TYPE_STRING) speaker_port = add_output_port("Speaker", PORT_TYPE_ATOM) diff --git a/code/modules/wiremod/components/atom/remotecam.dm b/code/modules/wiremod/components/atom/remotecam.dm index 3a1bbd3be47..12c7cc1d91c 100644 --- a/code/modules/wiremod/components/atom/remotecam.dm +++ b/code/modules/wiremod/components/atom/remotecam.dm @@ -65,7 +65,7 @@ start = add_input_port("Start", PORT_TYPE_SIGNAL) stop = add_input_port("Stop", PORT_TYPE_SIGNAL) if(camera_range_settable) - camera_range = add_input_port("Camera Range", PORT_TYPE_NUMBER, default = 0) + camera_range = add_input_port("Far Range", PORT_TYPE_BOOLEAN, default = FALSE) network = add_input_port("Network", PORT_TYPE_STRING, default = "ss13") if(camera_range_settable) diff --git a/code/modules/wiremod/components/bci/install_detector.dm b/code/modules/wiremod/components/bci/install_detector.dm index 39972134b84..390d0da281a 100644 --- a/code/modules/wiremod/components/bci/install_detector.dm +++ b/code/modules/wiremod/components/bci/install_detector.dm @@ -18,7 +18,7 @@ /obj/item/circuit_component/install_detector/populate_ports() . = ..() - current_state = add_output_port("Current State", PORT_TYPE_NUMBER) + current_state = add_output_port("Current State", PORT_TYPE_BOOLEAN) implanted = add_output_port("Implanted", PORT_TYPE_SIGNAL) removed = add_output_port("Removed", PORT_TYPE_SIGNAL) diff --git a/code/modules/wiremod/components/id/access_checker.dm b/code/modules/wiremod/components/id/access_checker.dm index d694834c06a..c95c054bc28 100644 --- a/code/modules/wiremod/components/id/access_checker.dm +++ b/code/modules/wiremod/components/id/access_checker.dm @@ -24,7 +24,7 @@ /obj/item/circuit_component/compare/access/populate_custom_ports() subject_accesses = add_input_port("Access To Check", PORT_TYPE_LIST(PORT_TYPE_STRING)) required_accesses = add_input_port("Required Access", PORT_TYPE_LIST(PORT_TYPE_STRING)) - check_any = add_input_port("Check Any", PORT_TYPE_NUMBER) + check_any = add_input_port("Check Any", PORT_TYPE_BOOLEAN) /obj/item/circuit_component/compare/access/save_data_to_list(list/component_data) . = ..() diff --git a/code/modules/wiremod/components/id/getter.dm b/code/modules/wiremod/components/id/getter.dm index 7143e5689d8..beb77671f82 100644 --- a/code/modules/wiremod/components/id/getter.dm +++ b/code/modules/wiremod/components/id/getter.dm @@ -22,7 +22,7 @@ /obj/item/circuit_component/id_getter/populate_ports() target = add_input_port("Target", PORT_TYPE_ATOM) - prioritize_hands = add_input_port("Prioritize Hands", PORT_TYPE_NUMBER) + prioritize_hands = add_input_port("Prioritize Hands", PORT_TYPE_BOOLEAN) id_port = add_output_port("ID", PORT_TYPE_ATOM) /obj/item/circuit_component/id_getter/input_received(datum/port/input/port) diff --git a/code/modules/wiremod/components/math/binary_conversion.dm b/code/modules/wiremod/components/math/binary_conversion.dm index 8ef4067b955..5302eb6bd18 100644 --- a/code/modules/wiremod/components/math/binary_conversion.dm +++ b/code/modules/wiremod/components/math/binary_conversion.dm @@ -26,7 +26,7 @@ add_action = "add", \ remove_action = "remove", \ is_output = TRUE, \ - port_type = PORT_TYPE_NUMBER, \ + port_type = PORT_TYPE_BOOLEAN, \ prefix = "Bit", \ minimum_amount = 1, \ maximum_amount = MAX_BITFIELD_SIZE \ @@ -46,6 +46,6 @@ for(var/iteration in 1 to len) var/datum/port/output/bit = bit_array[iteration] if(iteration == 1 && is_negative) - bit.set_output(1) + bit.set_output(TRUE) continue bit.set_output(!!(to_convert & (1<< (len - iteration)))) diff --git a/code/modules/wiremod/components/math/not.dm b/code/modules/wiremod/components/math/not.dm index f530c9edefc..171870b1e9b 100644 --- a/code/modules/wiremod/components/math/not.dm +++ b/code/modules/wiremod/components/math/not.dm @@ -18,7 +18,7 @@ /obj/item/circuit_component/not/populate_ports() input_port = add_input_port("Input", PORT_TYPE_ANY) - result = add_output_port("Result", PORT_TYPE_NUMBER) + result = add_output_port("Result", PORT_TYPE_BOOLEAN) /obj/item/circuit_component/not/input_received(datum/port/input/port) diff --git a/code/modules/wiremod/components/math/toggle.dm b/code/modules/wiremod/components/math/toggle.dm index 9f51c974cb3..39e43ac50a9 100644 --- a/code/modules/wiremod/components/math/toggle.dm +++ b/code/modules/wiremod/components/math/toggle.dm @@ -16,7 +16,7 @@ var/toggle_state = FALSE /obj/item/circuit_component/compare/toggle/populate_custom_ports() - toggle_set = add_input_port("Set Toggle State", PORT_TYPE_NUMBER) + toggle_set = add_input_port("Set Toggle State", PORT_TYPE_BOOLEAN) toggle_and_compare = add_input_port("Toggle And Compare", PORT_TYPE_SIGNAL) toggle_state = FALSE diff --git a/code/modules/wiremod/components/utility/clock.dm b/code/modules/wiremod/components/utility/clock.dm index 07cd95ebb39..f35041cff34 100644 --- a/code/modules/wiremod/components/utility/clock.dm +++ b/code/modules/wiremod/components/utility/clock.dm @@ -19,7 +19,7 @@ . += create_ui_notice("Clock Interval: [DisplayTimeText(COMP_CLOCK_DELAY)]", "orange", "clock") /obj/item/circuit_component/clock/populate_ports() - on = add_input_port("On", PORT_TYPE_NUMBER) + on = add_input_port("On", PORT_TYPE_BOOLEAN) signal = add_output_port("Signal", PORT_TYPE_SIGNAL) diff --git a/code/modules/wiremod/datatypes/boolean.dm b/code/modules/wiremod/datatypes/boolean.dm new file mode 100644 index 00000000000..da446b532de --- /dev/null +++ b/code/modules/wiremod/datatypes/boolean.dm @@ -0,0 +1,10 @@ +/datum/circuit_datatype/boolean + datatype = PORT_TYPE_BOOLEAN + color = "bad" // This should be close enough to dark red. + datatype_flags = DATATYPE_FLAG_ALLOW_MANUAL_INPUT + +/datum/circuit_datatype/boolean/can_receive_from_datatype(datatype_to_check) + return TRUE + +/datum/circuit_datatype/boolean/convert_value(datum/port/port, value_to_convert, force) + return !!value_to_convert diff --git a/code/modules/wiremod/datatypes/number.dm b/code/modules/wiremod/datatypes/number.dm index fe964817d07..69f11b8ae29 100644 --- a/code/modules/wiremod/datatypes/number.dm +++ b/code/modules/wiremod/datatypes/number.dm @@ -2,6 +2,7 @@ datatype = PORT_TYPE_NUMBER color = "green" datatype_flags = DATATYPE_FLAG_ALLOW_MANUAL_INPUT + can_receive_from = list(PORT_TYPE_BOOLEAN) /datum/circuit_datatype/number/handle_manual_input(datum/port/input/port, mob/user, user_input) return text2num(user_input) diff --git a/code/modules/wiremod/datatypes/signal.dm b/code/modules/wiremod/datatypes/signal.dm index 6a416e789e3..4f62f6bba61 100644 --- a/code/modules/wiremod/datatypes/signal.dm +++ b/code/modules/wiremod/datatypes/signal.dm @@ -7,6 +7,7 @@ PORT_TYPE_INSTANT_SIGNAL, PORT_TYPE_RESPONSE_SIGNAL, PORT_TYPE_SIGNAL, + PORT_TYPE_BOOLEAN, ) /datum/circuit_datatype/signal/handle_manual_input(datum/port/input/port, mob/user, user_input) diff --git a/code/modules/wiremod/shell/airlock.dm b/code/modules/wiremod/shell/airlock.dm index f77e3175d80..b90508443a3 100644 --- a/code/modules/wiremod/shell/airlock.dm +++ b/code/modules/wiremod/shell/airlock.dm @@ -76,8 +76,8 @@ open = add_input_port("Open", PORT_TYPE_SIGNAL) close = add_input_port("Close", PORT_TYPE_SIGNAL) // States - is_open = add_output_port("Is Open", PORT_TYPE_NUMBER) - is_bolted = add_output_port("Is Bolted", PORT_TYPE_NUMBER) + is_open = add_output_port("Is Open", PORT_TYPE_BOOLEAN) + is_bolted = add_output_port("Is Bolted", PORT_TYPE_BOOLEAN) // Output Signals opened = add_output_port("Opened", PORT_TYPE_SIGNAL) closed = add_output_port("Closed", PORT_TYPE_SIGNAL) diff --git a/code/modules/wiremod/shell/brain_computer_interface.dm b/code/modules/wiremod/shell/brain_computer_interface.dm index d3d5fc858fe..30f4910ec23 100644 --- a/code/modules/wiremod/shell/brain_computer_interface.dm +++ b/code/modules/wiremod/shell/brain_computer_interface.dm @@ -74,7 +74,7 @@ message = add_input_port("Message", PORT_TYPE_STRING, trigger = null) send_message_signal = add_input_port("Send Message", PORT_TYPE_SIGNAL) - show_charge_meter = add_input_port("Show Charge Meter", PORT_TYPE_NUMBER, trigger = PROC_REF(update_charge_action)) + show_charge_meter = add_input_port("Show Charge Meter", PORT_TYPE_BOOLEAN, trigger = PROC_REF(update_charge_action)) user_port = add_output_port("User", PORT_TYPE_USER) diff --git a/code/modules/wiremod/shell/implant.dm b/code/modules/wiremod/shell/implant.dm index 3dab241a113..2c719d6017e 100644 --- a/code/modules/wiremod/shell/implant.dm +++ b/code/modules/wiremod/shell/implant.dm @@ -62,7 +62,7 @@ message = add_input_port("Message", PORT_TYPE_STRING, trigger = null) send_message_signal = add_input_port("Send Message", PORT_TYPE_SIGNAL) - show_charge_meter = add_input_port("Show Charge Meter", PORT_TYPE_NUMBER, trigger = PROC_REF(update_charge_action)) + show_charge_meter = add_input_port("Show Charge Meter", PORT_TYPE_BOOLEAN, trigger = PROC_REF(update_charge_action)) user_port = add_output_port("User", PORT_TYPE_USER) diff --git a/code/modules/wiremod/shell/module.dm b/code/modules/wiremod/shell/module.dm index 57139cdfc1b..a19a02f7fd9 100644 --- a/code/modules/wiremod/shell/module.dm +++ b/code/modules/wiremod/shell/module.dm @@ -188,8 +188,8 @@ select_module = add_input_port("Select Module", PORT_TYPE_SIGNAL) // States wearer = add_output_port("Wearer", PORT_TYPE_USER) - deployed = add_output_port("Deployed", PORT_TYPE_NUMBER) - activated = add_output_port("Activated", PORT_TYPE_NUMBER) + deployed = add_output_port("Deployed", PORT_TYPE_BOOLEAN) + activated = add_output_port("Activated", PORT_TYPE_BOOLEAN) selected_module = add_output_port("Selected Module", PORT_TYPE_STRING) deployed_parts = add_output_port("Deployed Parts", PORT_TYPE_LIST(PORT_TYPE_STRING)) // Output Signals diff --git a/tgstation.dme b/tgstation.dme index a815bb3c542..29b7679729a 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -6821,6 +6821,7 @@ #include "code\modules\wiremod\core\variable.dm" #include "code\modules\wiremod\datatypes\any.dm" #include "code\modules\wiremod\datatypes\basic.dm" +#include "code\modules\wiremod\datatypes\boolean.dm" #include "code\modules\wiremod\datatypes\datum.dm" #include "code\modules\wiremod\datatypes\entity.dm" #include "code\modules\wiremod\datatypes\number.dm" diff --git a/tgui/packages/tgui/interfaces/IntegratedCircuit/FundamentalTypes.jsx b/tgui/packages/tgui/interfaces/IntegratedCircuit/FundamentalTypes.jsx index 5fe91ad383e..0595b965058 100644 --- a/tgui/packages/tgui/interfaces/IntegratedCircuit/FundamentalTypes.jsx +++ b/tgui/packages/tgui/interfaces/IntegratedCircuit/FundamentalTypes.jsx @@ -129,6 +129,17 @@ export const FUNDAMENTAL_DATA_TYPES = { ); }, + boolean: (props) => { + const { name, value, setValue, color } = props; + return ( + + {name} + + setValue(!value)} /> + + + ); + }, }; export const DATATYPE_DISPLAY_HANDLERS = {