diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index 6e04ab96849e..ef9605b378c5 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -152,6 +152,9 @@ /// What was our power state the last time we updated its appearance? /// TRUE for on, FALSE for off, -1 for never checked var/appearance_power_state = -1 + /// If true, show "x looks at the machine" when opening the UI + var/examine_feedback_on_ui = FALSE + armor_type = /datum/armor/obj_machinery /datum/armor/obj_machinery @@ -711,7 +714,11 @@ if(interaction_flags_machine & INTERACT_MACHINE_SET_MACHINE) user.set_machine(src) update_last_used(user) + var/had_ui = examine_feedback_on_ui && !issilicon(user) && SStgui.get_open_ui(user, src) . = ..() + var/has_ui = examine_feedback_on_ui && !issilicon(user) && SStgui.get_open_ui(user, src) + if(!had_ui && has_ui) + user.examine_feedback(src) /obj/machinery/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) add_fingerprint(usr) diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 94fc4c3ed405..a4c4ee7915f5 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -10,6 +10,7 @@ layer = BELOW_OBJ_LAYER processing_flags = NONE interaction_flags_atom = parent_type::interaction_flags_atom | INTERACT_ATOM_MOUSEDROP_IGNORE_CHECKS + examine_feedback_on_ui = TRUE ///Is the autolathe hacked via wiring var/hacked = FALSE diff --git a/code/game/machinery/computer/_computer.dm b/code/game/machinery/computer/_computer.dm index b352984f1d53..1fb0e8a7078d 100644 --- a/code/game/machinery/computer/_computer.dm +++ b/code/game/machinery/computer/_computer.dm @@ -7,6 +7,7 @@ integrity_failure = 0.5 armor_type = /datum/armor/machinery_computer interaction_flags_machine = INTERACT_MACHINE_ALLOW_SILICON|INTERACT_MACHINE_REQUIRES_LITERACY + examine_feedback_on_ui = TRUE /// How bright we are when turned on. var/brightness_on = 1 /// Icon_state of the keyboard overlay. diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm index 45daa1966a63..73c62ffbde32 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -8,6 +8,7 @@ density = TRUE req_access = list(ACCESS_BAR) processing_flags = START_PROCESSING_MANUALLY + examine_feedback_on_ui = TRUE /// Cooldown between "Error" sound effects being played COOLDOWN_DECLARE(jukebox_error_cd) /// Cooldown between being allowed to play another song diff --git a/code/game/machinery/newscaster/newscaster_machine.dm b/code/game/machinery/newscaster/newscaster_machine.dm index 19503b866e67..8205b4781cdc 100644 --- a/code/game/machinery/newscaster/newscaster_machine.dm +++ b/code/game/machinery/newscaster/newscaster_machine.dm @@ -13,6 +13,7 @@ max_integrity = 200 integrity_failure = 0.25 interaction_flags_machine = INTERACT_MACHINE_ALLOW_SILICON|INTERACT_MACHINE_REQUIRES_LITERACY + examine_feedback_on_ui = TRUE ///Reference to the currently logged in user. var/datum/bank_account/current_user ///Name of the logged in user. diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index bacf6bd431a8..7fa0f24d628b 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -918,6 +918,7 @@ DEFINE_BITFIELD(turret_flags, list( req_access = list(ACCESS_AI_UPLOAD) resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF interaction_flags_click = ALLOW_SILICON_REACH + examine_feedback_on_ui = TRUE /// Variable dictating if linked turrets are active and will shoot targets var/enabled = TRUE /// Variable dictating if linked turrets will shoot lethal projectiles diff --git a/code/game/machinery/roulette_machine.dm b/code/game/machinery/roulette_machine.dm index f13b252b2907..f48330c61e04 100644 --- a/code/game/machinery/roulette_machine.dm +++ b/code/game/machinery/roulette_machine.dm @@ -27,6 +27,7 @@ anchored = FALSE max_integrity = 500 armor_type = /datum/armor/machinery_roulette + examine_feedback_on_ui = TRUE var/static/list/numbers = list("0" = "green", "1" = "red", "3" = "red", "5" = "red", "7" = "red", "9" = "red", "12" = "red", "14" = "red", "16" = "red",\ "18" = "red", "19" = "red", "21" = "red", "23" = "red", "25" = "red", "27" = "red", "30" = "red", "32" = "red", "34" = "red", "36" = "red",\ "2" = "black", "4" = "black", "6" = "black", "8" = "black", "10" = "black", "11" = "black", "13" = "black", "15" = "black", "17" = "black", "20" = "black",\ diff --git a/code/game/machinery/sleepers.dm b/code/game/machinery/sleepers.dm index c6415bdd04a9..2a5ef415e91c 100644 --- a/code/game/machinery/sleepers.dm +++ b/code/game/machinery/sleepers.dm @@ -9,6 +9,7 @@ state_open = TRUE interaction_flags_mouse_drop = NEED_DEXTERITY circuit = /obj/item/circuitboard/machine/sleeper + examine_feedback_on_ui = TRUE payment_department = ACCOUNT_MED fair_market_price = 5 diff --git a/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm b/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm index 5c2867378690..40883eecad6e 100644 --- a/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm +++ b/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm @@ -13,6 +13,7 @@ integrity_failure = 0.33 armor_type = /datum/armor/machinery_airalarm resistance_flags = FIRE_PROOF + examine_feedback_on_ui = TRUE /// Current alert level of our air alarm. /// [AIR_ALARM_ALERT_NONE], [AIR_ALARM_ALERT_MINOR], [AIR_ALARM_ALERT_SEVERE] diff --git a/code/modules/food_and_drinks/machinery/coffeemaker.dm b/code/modules/food_and_drinks/machinery/coffeemaker.dm index 622a01d22ccd..1f929a0de841 100644 --- a/code/modules/food_and_drinks/machinery/coffeemaker.dm +++ b/code/modules/food_and_drinks/machinery/coffeemaker.dm @@ -9,6 +9,7 @@ resistance_flags = FIRE_PROOF | ACID_PROOF circuit = /obj/item/circuitboard/machine/coffeemaker anchored_tabletop_offset = 4 + examine_feedback_on_ui = TRUE var/obj/item/reagent_containers/cup/coffeepot/coffeepot = null var/brewing = FALSE var/brew_time = 20 SECONDS diff --git a/code/modules/food_and_drinks/machinery/microwave.dm b/code/modules/food_and_drinks/machinery/microwave.dm index 3794d4427333..a2723ca0b509 100644 --- a/code/modules/food_and_drinks/machinery/microwave.dm +++ b/code/modules/food_and_drinks/machinery/microwave.dm @@ -32,6 +32,7 @@ light_power = 3 anchored_tabletop_offset = 6 interaction_flags_click = ALLOW_SILICON_REACH + examine_feedback_on_ui = TRUE /// Is its function wire cut? var/wire_disabled = FALSE /// Wire cut to run mode backwards diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm index 41d6406749f8..2a211ef4c537 100644 --- a/code/modules/hydroponics/biogenerator.dm +++ b/code/modules/hydroponics/biogenerator.dm @@ -14,6 +14,7 @@ circuit = /obj/item/circuitboard/machine/biogenerator processing_flags = START_PROCESSING_MANUALLY interaction_flags_click = FORBID_TELEKINESIS_REACH + examine_feedback_on_ui = TRUE /// Whether the biogenerator is currently processing biomass or not. var/processing = FALSE /// The reagent container that is currently inside of the biomass generator. Can be null. diff --git a/code/modules/hydroponics/seed_extractor.dm b/code/modules/hydroponics/seed_extractor.dm index 56d8c1a41680..a78c7142e4fc 100644 --- a/code/modules/hydroponics/seed_extractor.dm +++ b/code/modules/hydroponics/seed_extractor.dm @@ -48,6 +48,7 @@ icon_state = "sextractor" density = TRUE circuit = /obj/item/circuitboard/machine/seed_extractor + examine_feedback_on_ui = TRUE /// Associated list of seeds, they are all weak refs. We check the len to see how many refs we have for each // seed var/list/piles = list() diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm index 12b3e5c89f43..6d72477a867d 100644 --- a/code/modules/mining/machine_processing.dm +++ b/code/modules/mining/machine_processing.dm @@ -6,6 +6,7 @@ /obj/machinery/mineral processing_flags = START_PROCESSING_MANUALLY subsystem_type = /datum/controller/subsystem/processing/fastprocess + examine_feedback_on_ui = TRUE /// The current direction of `input_turf`, in relation to the machine. var/input_dir = NORTH /// The current direction, in relation to the machine, that items will be output to. diff --git a/code/modules/mining/machine_silo.dm b/code/modules/mining/machine_silo.dm index 7c720df55e82..ed9d942b034d 100644 --- a/code/modules/mining/machine_silo.dm +++ b/code/modules/mining/machine_silo.dm @@ -7,6 +7,7 @@ circuit = /obj/item/circuitboard/machine/ore_silo interaction_flags_machine = INTERACT_MACHINE_WIRES_IF_OPEN|INTERACT_MACHINE_ALLOW_SILICON|INTERACT_MACHINE_OPEN_SILICON processing_flags = NONE + examine_feedback_on_ui = TRUE /// List of all connected components that are on hold from accessing materials. var/list/holds = list() diff --git a/code/modules/power/apc/apc_main.dm b/code/modules/power/apc/apc_main.dm index 4cabc19779cf..aef48c1d7880 100644 --- a/code/modules/power/apc/apc_main.dm +++ b/code/modules/power/apc/apc_main.dm @@ -28,6 +28,7 @@ interaction_flags_machine = INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN_SILICON interaction_flags_click = ALLOW_SILICON_REACH processing_flags = START_PROCESSING_MANUALLY + examine_feedback_on_ui = TRUE ///Range of the light emitted when on var/light_on_range = 1.5 diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index c8a36fcde353..3b5ab60ff4f8 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -9,6 +9,7 @@ resistance_flags = FIRE_PROOF | ACID_PROOF circuit = /obj/item/circuitboard/machine/chem_dispenser processing_flags = NONE + examine_feedback_on_ui = TRUE /// The cell used to dispense reagents var/obj/item/stock_parts/power_store/cell diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm index 155178e63d86..34c1db5e2ba8 100644 --- a/code/modules/reagents/chemistry/machinery/chem_heater.dm +++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm @@ -8,6 +8,7 @@ idle_power_usage = BASE_MACHINE_IDLE_CONSUMPTION * 0.4 resistance_flags = FIRE_PROOF | ACID_PROOF circuit = /obj/item/circuitboard/machine/chem_heater + examine_feedback_on_ui = TRUE /// The beaker inside this machine var/obj/item/reagent_containers/beaker = null diff --git a/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm b/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm index f6cca63b22ba..a9f8db635d41 100644 --- a/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm +++ b/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm @@ -10,6 +10,7 @@ resistance_flags = FIRE_PROOF | ACID_PROOF processing_flags = START_PROCESSING_MANUALLY circuit = /obj/item/circuitboard/machine/chem_mass_spec + examine_feedback_on_ui = TRUE ///If we're processing reagents or not var/processing_reagents = FALSE diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index 4cda36451c2b..c2c96ca4a288 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -11,6 +11,7 @@ active_power_usage = BASE_MACHINE_ACTIVE_CONSUMPTION * 0.2 resistance_flags = FIRE_PROOF | ACID_PROOF circuit = /obj/item/circuitboard/machine/chem_master + examine_feedback_on_ui = TRUE /// Inserted reagent container var/obj/item/reagent_containers/beaker diff --git a/code/modules/research/ordnance/doppler_array.dm b/code/modules/research/ordnance/doppler_array.dm index 8bbe8a406bf7..90f56055d53c 100644 --- a/code/modules/research/ordnance/doppler_array.dm +++ b/code/modules/research/ordnance/doppler_array.dm @@ -7,6 +7,7 @@ base_icon_state = "tdoppler" density = TRUE verb_say = "states coldly" + examine_feedback_on_ui = TRUE var/cooldown = 10 var/next_announce = 0 var/max_dist = 150 diff --git a/code/modules/research/rdmachines.dm b/code/modules/research/rdmachines.dm index 665dae0e243c..cf79eb25969e 100644 --- a/code/modules/research/rdmachines.dm +++ b/code/modules/research/rdmachines.dm @@ -7,6 +7,7 @@ icon = 'icons/obj/machines/research.dmi' density = TRUE use_power = IDLE_POWER_USE + examine_feedback_on_ui = TRUE ///Are we currently printing a machine var/busy = FALSE diff --git a/code/modules/station_goals/dna_vault.dm b/code/modules/station_goals/dna_vault.dm index 60446fd59fb0..2039fc1d64a5 100644 --- a/code/modules/station_goals/dna_vault.dm +++ b/code/modules/station_goals/dna_vault.dm @@ -73,6 +73,7 @@ light_range = 3 light_power = 1.5 light_color = LIGHT_COLOR_CYAN + examine_feedback_on_ui = TRUE //High defaults so it's not completed automatically if there's no station goal var/animals_max = 100 diff --git a/code/modules/transport/elevator/elev_panel.dm b/code/modules/transport/elevator/elev_panel.dm index bec69e5ba09a..713b33689192 100644 --- a/code/modules/transport/elevator/elev_panel.dm +++ b/code/modules/transport/elevator/elev_panel.dm @@ -23,6 +23,7 @@ power_channel = AREA_USAGE_ENVIRON // Indestructible until someone wants to make these constructible, with all the chaos that implies resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + examine_feedback_on_ui = TRUE /// Were we instantiated at mapload? Used to determine when we should link / throw errors var/maploaded = FALSE diff --git a/code/modules/vehicles/mecha/mech_fabricator.dm b/code/modules/vehicles/mecha/mech_fabricator.dm index c0f653d6f4f7..26f77a7f2c8d 100644 --- a/code/modules/vehicles/mecha/mech_fabricator.dm +++ b/code/modules/vehicles/mecha/mech_fabricator.dm @@ -9,6 +9,7 @@ processing_flags = START_PROCESSING_MANUALLY subsystem_type = /datum/controller/subsystem/processing/fastprocess + examine_feedback_on_ui = TRUE /// Current items in the build queue. var/list/datum/design/queue = list() diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm index b8cec1ef19af..c0db265addcc 100644 --- a/code/modules/vending/_vending.dm +++ b/code/modules/vending/_vending.dm @@ -70,6 +70,7 @@ GLOBAL_LIST_EMPTY(vending_machines_to_restock) light_power = 0.7 light_range = MINIMUM_USEFUL_LIGHT_RANGE voice_filter = "alimiter=0.9,acompressor=threshold=0.2:ratio=20:attack=10:release=50:makeup=2,highpass=f=1000" + examine_feedback_on_ui = TRUE /// Is the machine active (No sales pitches if off)! var/active = 1 diff --git a/maplestation_modules/code/game/machinery/guess_pass.dm b/maplestation_modules/code/game/machinery/guess_pass.dm index 6854679a114e..0c9dd0c9f628 100644 --- a/maplestation_modules/code/game/machinery/guess_pass.dm +++ b/maplestation_modules/code/game/machinery/guess_pass.dm @@ -102,6 +102,7 @@ density = FALSE layer = HIGH_OBJ_LAYER verb_say = "beeps" + examine_feedback_on_ui = TRUE /// Duration of any printed guest passes var/set_time = 10 // minutes diff --git a/maplestation_modules/code/game/objects/structures/pass_id_panel.dm b/maplestation_modules/code/game/objects/structures/pass_id_panel.dm index 8c502cea9a4a..e01246fdd63b 100644 --- a/maplestation_modules/code/game/objects/structures/pass_id_panel.dm +++ b/maplestation_modules/code/game/objects/structures/pass_id_panel.dm @@ -10,6 +10,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/password_id_panel, 28) mouse_over_pointer = MOUSE_HAND_POINTER armor_type = /datum/armor/machinery_button power_channel = AREA_USAGE_ENVIRON + examine_feedback_on_ui = TRUE /// Password to open the door rather than having access from an ID card. var/password = "00000"