From c60f36a42bc281c6de0bf926f646617bf9f99051 Mon Sep 17 00:00:00 2001 From: SandPoot Date: Sat, 28 Jan 2023 01:10:49 -0300 Subject: [PATCH 01/13] files --- .../__DEFINES/dcs/signals/signals_painting.dm | 7 + code/_globalvars/lists/maintenance_loot.dm | 2 + code/game/atoms_movable.dm | 10 + code/game/machinery/doors/airlock.dm | 92 +--- code/game/objects/items/airlock_painter.dm | 443 +++++++++++++----- code/modules/asset_cache/asset_list_items.dm | 8 - .../autolathe_designs_tcomms_and_misc.dm | 5 + .../research/techweb/nodes/tools_nodes.dm | 2 +- icons/effects/random_spawners.dmi | Bin 0 -> 81570 bytes icons/mob/clothing/belt.dmi | Bin 33498 -> 35910 bytes icons/mob/inhands/items_lefthand.dmi | Bin 24366 -> 24614 bytes icons/mob/inhands/items_righthand.dmi | Bin 26761 -> 27076 bytes icons/obj/objects.dmi | Bin 110868 -> 110995 bytes icons/turf/decals.dmi | Bin 56569 -> 58484 bytes tgstation.dme | 1 + tgui/packages/tgui/interfaces/DecalPainter.js | 114 ----- .../packages/tgui/interfaces/DecalPainter.tsx | 162 +++++++ 17 files changed, 545 insertions(+), 301 deletions(-) create mode 100644 code/__DEFINES/dcs/signals/signals_painting.dm create mode 100644 icons/effects/random_spawners.dmi delete mode 100644 tgui/packages/tgui/interfaces/DecalPainter.js create mode 100644 tgui/packages/tgui/interfaces/DecalPainter.tsx diff --git a/code/__DEFINES/dcs/signals/signals_painting.dm b/code/__DEFINES/dcs/signals/signals_painting.dm new file mode 100644 index 0000000000..4f9201ec8f --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_painting.dm @@ -0,0 +1,7 @@ +// signals for painting canvases, tools and the /datum/component/palette component + +///from base of /item/proc/set_painting_tool_color(): (chosen_color) +#define COMSIG_PAINTING_TOOL_SET_COLOR "painting_tool_set_color" + +/// from base of /item/canvas/ui_data(): (data) +#define COMSIG_PAINTING_TOOL_GET_ADDITIONAL_DATA "painting_tool_get_data" diff --git a/code/_globalvars/lists/maintenance_loot.dm b/code/_globalvars/lists/maintenance_loot.dm index 53366d23a6..d02ebb659e 100644 --- a/code/_globalvars/lists/maintenance_loot.dm +++ b/code/_globalvars/lists/maintenance_loot.dm @@ -49,6 +49,8 @@ GLOBAL_LIST_INIT(maintenance_loot, list( /obj/item/radio/off = 2, /obj/item/t_scanner = 5, /obj/item/airlock_painter = 1, + /obj/item/airlock_painter/decal = 1, + /obj/item/airlock_painter/decal/tile = 1, /obj/item/stack/cable_coil/random = 4, /obj/item/stack/cable_coil/random/five = 6, /obj/item/mod/construction/broken_core = 5, diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 1e41b726df..6beb8319ec 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -604,6 +604,16 @@ animate(time = 1) animate(alpha = 0, time = 3, easing = CIRCULAR_EASING|EASE_OUT) +/// Common proc used by painting tools like spraycans and palettes that can access the entire 24 bits color space. +/obj/item/proc/pick_painting_tool_color(mob/user, default_color) + var/chosen_color = input(user,"Pick new color", "[src]", default_color) as color|null + if(!chosen_color || QDELETED(src) || IS_DEAD_OR_INCAP(user) || !user.is_holding(src)) + return + set_painting_tool_color(chosen_color) + +/obj/item/proc/set_painting_tool_color(chosen_color) + SEND_SIGNAL(src, COMSIG_PAINTING_TOOL_SET_COLOR, chosen_color) + /atom/movable/vv_get_dropdown() . = ..() . += "" diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 84e7b93e1b..96577dee98 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1201,81 +1201,29 @@ locked = TRUE return - -/obj/machinery/door/airlock/proc/change_paintjob(obj/item/airlock_painter/W, mob/user) - if(!W.can_use(user)) +// gets called when a player uses an airlock painter on this airlock +/obj/machinery/door/airlock/proc/change_paintjob(obj/item/airlock_painter/painter, mob/user) + if((!in_range(src, user) && loc != user) || !painter.can_use(user)) // user should be adjacent to the airlock, and the painter should have a toner cartridge that isn't empty return - var/list/optionlist - if(airlock_material == "glass") - optionlist = list("Standard", "Public", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Science", "Virology", "Mining", "Maintenance", "External", "External Maintenance") - else - optionlist = list("Standard", "Public", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Freezer", "Science", "Virology", "Mining", "Maintenance", "External", "External Maintenance") - - var/paintjob = input(user, "Please select a paintjob for this airlock.") in optionlist - if((!in_range(src, usr) && src.loc != usr) || !W.use_paint(user)) + // reads from the airlock painter's `available paintjob` list. lets the player choose a paint option, or cancel painting + var/current_paintjob = tgui_input_list(user, "Paintjob for this airlock", "Customize", sortList(painter.available_paint_jobs)) + if(isnull(current_paintjob)) // if the user clicked cancel on the popup, return return - switch(paintjob) - if("Standard") - icon = 'icons/obj/doors/airlocks/station/public.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - assemblytype = /obj/structure/door_assembly - if("Public") - icon = 'icons/obj/doors/airlocks/station2/glass.dmi' - overlays_file = 'icons/obj/doors/airlocks/station2/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_public - if("Engineering") - icon = 'icons/obj/doors/airlocks/station/engineering.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_eng - if("Atmospherics") - icon = 'icons/obj/doors/airlocks/station/atmos.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_atmo - if("Security") - icon = 'icons/obj/doors/airlocks/station/security.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_sec - if("Command") - icon = 'icons/obj/doors/airlocks/station/command.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_com - if("Medical") - icon = 'icons/obj/doors/airlocks/station/medical.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_med - if("Research") - icon = 'icons/obj/doors/airlocks/station/research.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_research - if("Freezer") - icon = 'icons/obj/doors/airlocks/station/freezer.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_fre - if("Science") - icon = 'icons/obj/doors/airlocks/station/science.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_science - if("Virology") - icon = 'icons/obj/doors/airlocks/station/virology.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_viro - if("Mining") - icon = 'icons/obj/doors/airlocks/station/mining.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_min - if("Maintenance") - icon = 'icons/obj/doors/airlocks/station/maintenance.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_mai - if("External") - icon = 'icons/obj/doors/airlocks/external/external.dmi' - overlays_file = 'icons/obj/doors/airlocks/external/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_ext - if("External Maintenance") - icon = 'icons/obj/doors/airlocks/station/maintenanceexternal.dmi' - overlays_file = 'icons/obj/doors/airlocks/station/overlays.dmi' - assemblytype = /obj/structure/door_assembly/door_assembly_extmai + + var/airlock_type = painter.available_paint_jobs["[current_paintjob]"] // get the airlock type path associated with the airlock name the user just chose + var/obj/machinery/door/airlock/airlock = airlock_type // we need to create a new instance of the airlock and assembly to read vars from them + var/obj/structure/door_assembly/assembly = initial(airlock.assemblytype) + + if(airlock_material == "glass" && initial(assembly.noglass)) // prevents painting glass airlocks with a paint job that doesn't have a glass version, such as the freezer + to_chat(user, span_warning("This paint job can only be applied to non-glass airlocks.")) + return + + // applies the user-chosen airlock's icon, overlays and assemblytype to the src airlock + painter.use_paint(user) + icon = initial(airlock.icon) + overlays_file = initial(airlock.overlays_file) + assemblytype = initial(airlock.assemblytype) update_icon() /obj/machinery/door/airlock/CanAStarPass(obj/item/card/id/ID, to_dir, atom/movable/caller) diff --git a/code/game/objects/items/airlock_painter.dm b/code/game/objects/items/airlock_painter.dm index 048a62fea6..b239033dca 100644 --- a/code/game/objects/items/airlock_painter.dm +++ b/code/game/objects/items/airlock_painter.dm @@ -1,10 +1,11 @@ /obj/item/airlock_painter name = "airlock painter" desc = "An advanced autopainter preprogrammed with several paintjobs for airlocks. Use it on an airlock during or after construction to change the paintjob." +// desc_controls = "Alt-Click to remove the ink cartridge." icon = 'icons/obj/objects.dmi' - icon_state = "paint sprayer" - item_state = "paint sprayer" - + icon_state = "paint_sprayer" + item_state = "paint_sprayer" // inhand_icon_state = "paint_sprayer" + // worn_icon_state = "painter" w_class = WEIGHT_CLASS_SMALL custom_materials = list(/datum/material/iron=50, /datum/material/glass=50) @@ -14,40 +15,66 @@ slot_flags = ITEM_SLOT_BELT usesound = 'sound/effects/spray2.ogg' + /// The ink cartridge to pull charges from. var/obj/item/toner/ink = null + /// The type path to instantiate for the ink cartridge the device initially comes with, eg. /obj/item/toner + var/initial_ink_type = /obj/item/toner + /// Associate list of all paint jobs the airlock painter can apply. The key is the name of the airlock the user will see. The value is the type path of the airlock + var/list/available_paint_jobs = list( + "Public" = /obj/machinery/door/airlock/public, + "Engineering" = /obj/machinery/door/airlock/engineering, + "Atmospherics" = /obj/machinery/door/airlock/atmos, + "Security" = /obj/machinery/door/airlock/security, + "Command" = /obj/machinery/door/airlock/command, + "Medical" = /obj/machinery/door/airlock/medical, + "Virology" = /obj/machinery/door/airlock/virology, + "Research" = /obj/machinery/door/airlock/research, +// "Hydroponics" = /obj/machinery/door/airlock/hydroponics, + "Freezer" = /obj/machinery/door/airlock/freezer, + "Science" = /obj/machinery/door/airlock/science, + "Mining" = /obj/machinery/door/airlock/mining, + "Maintenance" = /obj/machinery/door/airlock/maintenance, + "External" = /obj/machinery/door/airlock/external, + "External Maintenance"= /obj/machinery/door/airlock/maintenance/external, + "Standard" = /obj/machinery/door/airlock + ) /obj/item/airlock_painter/Initialize(mapload) . = ..() - ink = new /obj/item/toner(src) + ink = new initial_ink_type(src) + +/obj/item/airlock_painter/examine(mob/user) + . = ..() + . += span_notice("Alt-Click to remove the ink cartridge.") //This proc doesn't just check if the painter can be used, but also uses it. //Only call this if you are certain that the painter will be used right after this check! /obj/item/airlock_painter/proc/use_paint(mob/user) if(can_use(user)) ink.charges-- - playsound(src.loc, 'sound/effects/spray2.ogg', 50, 1) - return 1 + playsound(src.loc, 'sound/effects/spray2.ogg', 50, TRUE) + return TRUE else - return 0 + return FALSE //This proc only checks if the painter can be used. //Call this if you don't want the painter to be used right after this check, for example //because you're expecting user input. /obj/item/airlock_painter/proc/can_use(mob/user) if(!ink) - to_chat(user, "There is no toner cartridge installed in [src]!") - return 0 + balloon_alert(user, "no cartridge!") + return FALSE else if(ink.charges < 1) - to_chat(user, "[src] is out of ink!") - return 0 + balloon_alert(user, "out of ink!") + return FALSE else - return 1 + return TRUE -/obj/item/airlock_painter/suicide_act(mob/user) +/obj/item/airlock_painter/suicide_act(mob/living/user) var/obj/item/organ/lungs/L = user.getorganslot(ORGAN_SLOT_LUNGS) if(can_use(user) && L) - user.visible_message("[user] is inhaling toner from [src]! It looks like [user.p_theyre()] trying to commit suicide!") + user.visible_message(span_suicide("[user] is inhaling toner from [src]! It looks like [user.p_theyre()] trying to commit suicide!")) use(user) // Once you've inhaled the toner, you throw up your lungs @@ -64,7 +91,7 @@ if(!L) return OXYLOSS - L.Remove() + L.Remove(user) // make some colorful reagent, and apply it to the lungs L.create_reagents(10, NONE, NO_REAGENTS_VALUE) @@ -73,27 +100,27 @@ // TODO maybe add some colorful vomit? - user.visible_message("[user] vomits out [user.p_their()] [L]!") - playsound(user.loc, 'sound/effects/splat.ogg', 50, 1) + user.visible_message(span_suicide("[user] vomits out [user.p_their()] [L]!")) + playsound(user.loc, 'sound/effects/splat.ogg', 50, TRUE) L.forceMove(T) return (TOXLOSS|OXYLOSS) else if(can_use(user) && !L) - user.visible_message("[user] is spraying toner on [user.p_them()]self from [src]! It looks like [user.p_theyre()] trying to commit suicide.") + user.visible_message(span_suicide("[user] is spraying toner on [user.p_them()]self from [src]! It looks like [user.p_theyre()] trying to commit suicide.")) user.reagents.add_reagent(/datum/reagent/colorful_reagent, 1) user.reagents.reaction(user, TOUCH, 1) return TOXLOSS else - user.visible_message("[user] is trying to inhale toner from [src]! It might be a suicide attempt if [src] had any toner.") + user.visible_message(span_suicide("[user] is trying to inhale toner from [src]! It might be a suicide attempt if [src] had any toner.")) return SHAME /obj/item/airlock_painter/examine(mob/user) . = ..() if(!ink) - . += "It doesn't have a toner cartridge installed." + . += span_notice("It doesn't have a toner cartridge installed.") return var/ink_level = "high" if(ink.charges < 1) @@ -102,88 +129,129 @@ ink_level = "low" else if((ink.charges/ink.max_charges) > 1) //Over 100% (admin var edit) ink_level = "dangerously high" - . += "Its ink levels look [ink_level]." + . += span_notice("Its ink levels look [ink_level].") /obj/item/airlock_painter/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/toner)) if(ink) - to_chat(user, "[src] already contains \a [ink].") + to_chat(user, span_warning("[src] already contains \a [ink]!")) return if(!user.transferItemToLoc(W, src)) return - to_chat(user, "You install [W] into [src].") + to_chat(user, span_notice("You install [W] into [src].")) ink = W - playsound(src.loc, 'sound/machines/click.ogg', 50, 1) + playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE) else return ..() -/obj/item/airlock_painter/attack_self(mob/user) +/obj/item/airlock_painter/AltClick(mob/user) + . = ..() if(ink) - playsound(src.loc, 'sound/machines/click.ogg', 50, 1) + playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE) ink.forceMove(user.drop_location()) user.put_in_hands(ink) - to_chat(user, "You remove [ink] from [src].") + to_chat(user, span_notice("You remove [ink] from [src].")) ink = null - /obj/item/airlock_painter/decal name = "decal painter" - desc = "An airlock painter, reprogramed to use a different style of paint in order to apply decals for floor tiles as well, in addition to repainting doors. Decals break when the floor tiles are removed. Alt-Click to change design." + desc = "An airlock painter, reprogramed to use a different style of paint in order to apply decals for floor tiles as well, in addition to repainting doors. Decals break when the floor tiles are removed." +// desc_controls = "Alt-Click to remove the ink cartridge." icon = 'icons/obj/objects.dmi' icon_state = "decal_sprayer" - item_state = "decalsprayer" - custom_materials = list(/datum/material/iron=2000, /datum/material/glass=500) + item_state = "decal_sprayer" // inhand_icon_state = "decal_sprayer" + custom_materials = list(/datum/material/iron=50, /datum/material/glass=50) + initial_ink_type = /obj/item/toner/large + /// The current direction of the decal being printed var/stored_dir = 2 - var/stored_color = "" + /// The current color of the decal being printed. + var/stored_color = "yellow" + /// The current base icon state of the decal being printed. var/stored_decal = "warningline" + /// The full icon state of the decal being printed. var/stored_decal_total = "warningline" - var/color_list = list("","red","white") - var/dir_list = list(1,2,4,8) - var/decal_list = list(list("Warning Line","warningline"), - list("Warning Line Corner","warninglinecorner"), - list("Caution Label","caution"), - list("Directional Arrows","arrows"), - list("Stand Clear Label","stand_clear"), - list("Box","box"), - list("Box Corner","box_corners"), - list("Delivery Marker","delivery"), - list("Warning Box","warn_full")) - -/obj/item/airlock_painter/decal/afterattack(atom/target, mob/user, proximity) - . = ..() - var/turf/open/floor/F = target - if(!proximity) - to_chat(user, "You need to get closer!") - return - if(use_paint(user) && isturf(F)) - F.AddElement(/datum/element/decal, 'icons/turf/decals.dmi', stored_decal_total, stored_dir, CLEAN_STRONG, color, null, null, alpha) - -/obj/item/airlock_painter/decal/attack_self(mob/user) - if((ink) && (ink.charges >= 1)) - to_chat(user, "[src] beeps to prevent you from removing the toner until out of charges.") - return - . = ..() - -/obj/item/airlock_painter/decal/AltClick(mob/user) - . = ..() - ui_interact(user) + /// The type path of the spritesheet being used for the frontend. + var/spritesheet_type = /datum/asset/spritesheet/decals // spritesheet containing previews + /// Does this printer implementation support custom colors? + var/supports_custom_color = FALSE + /// Current custom color + var/stored_custom_color + /// List of color options as list(user-friendly label, color value to return) + var/color_list = list( + list("Yellow", "yellow"), + list("Red", "red"), + list("White", "white"), + ) + /// List of direction options as list(user-friendly label, dir value to return) + var/dir_list = list( + list("North", NORTH), + list("South", SOUTH), + list("East", EAST), + list("West", WEST), + ) + /// List of decal options as list(user-friendly label, icon state base value to return) + var/decal_list = list( + list("Warning Line", "warningline"), + list("Warning Line Corner", "warninglinecorner"), + list("Caution Label", "caution"), + list("Directional Arrows", "arrows"), + list("Stand Clear Label", "stand_clear"), + list("Bot", "bot"), + list("Box", "box"), + list("Box Corner", "box_corners"), + list("Delivery Marker", "delivery"), + list("Warning Box", "warn_full"), + ) + // These decals only have a south sprite. + var/nondirectional_decals = list( + "bot", + "box", + "delivery", + "warn_full", + ) /obj/item/airlock_painter/decal/Initialize(mapload) . = ..() - ink = new /obj/item/toner/large(src) + stored_custom_color = stored_color + +/obj/item/airlock_painter/decal/afterattack(atom/target, mob/user, proximity) + . = ..() + if(!proximity) + balloon_alert(user, "get closer!") + return + + if(isfloorturf(target) && use_paint(user)) + paint_floor(target) + +/** + * Actually add current decal to the floor. + * + * Responsible for actually adding the element to the turf for maximum flexibility.area + * Can be overriden for different decal behaviors. + * Arguments: + * * target - The turf being painted to +*/ +/obj/item/airlock_painter/decal/proc/paint_floor(turf/open/floor/target) + target.AddElement(/datum/element/decal, 'icons/turf/decals.dmi', stored_decal_total, stored_dir, CLEAN_STRONG, color, null, null, alpha) + +/** + * Return the final icon_state for the given decal options + * + * Arguments: + * * decal - the selected decal base icon state + * * color - the selected color + * * dir - the selected dir + */ +/obj/item/airlock_painter/decal/proc/get_decal_path(decal, color, dir) + // Special case due to icon_state names + if(color == "yellow") + color = "" + + return "[decal][color ? "_" : ""][color]" /obj/item/airlock_painter/decal/proc/update_decal_path() - var/yellow_fix = "" //This will have to do until someone refactor's markings.dm - if (stored_color) - yellow_fix = "_" - stored_decal_total = "[stored_decal][yellow_fix][stored_color]" - return - -/obj/item/airlock_painter/decal/ui_assets(mob/user) - return list( - get_asset_datum(/datum/asset/spritesheet/decals) - ) + stored_decal_total = get_decal_path(stored_decal, stored_color, stored_dir) /obj/item/airlock_painter/decal/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) @@ -191,52 +259,215 @@ ui = new(user, src, "DecalPainter", name) ui.open() +/obj/item/airlock_painter/decal/ui_assets(mob/user) + . = ..() + . += get_asset_datum(spritesheet_type) + +/obj/item/airlock_painter/decal/ui_static_data(mob/user) + . = ..() + var/datum/asset/spritesheet/icon_assets = get_asset_datum(spritesheet_type) + + .["icon_prefix"] = "[icon_assets.name]32x32" + .["supports_custom_color"] = supports_custom_color + .["decal_list"] = list() + .["color_list"] = list() + .["dir_list"] = list() + .["nondirectional_decals"] = nondirectional_decals + + for(var/decal in decal_list) + .["decal_list"] += list(list( + "name" = decal[1], + "decal" = decal[2], + )) + for(var/color in color_list) + .["color_list"] += list(list( + "name" = color[1], + "color" = color[2], + )) + for(var/dir in dir_list) + .["dir_list"] += list(list( + "name" = dir[1], + "dir" = dir[2], + )) + /obj/item/airlock_painter/decal/ui_data(mob/user) - var/list/data = list() - data["decal_direction"] = stored_dir - data["decal_dir_text"] = dir2text(stored_dir) - data["decal_color"] = stored_color - data["decal_style"] = stored_decal - data["decal_list"] = list() - data["color_list"] = list() - data["dir_list"] = list() + . = ..() + .["current_decal"] = stored_decal + .["current_color"] = stored_color + .["current_dir"] = stored_dir + .["current_custom_color"] = stored_custom_color - for(var/i in decal_list) - data["decal_list"] += list(list( - "name" = i[1], - "decal" = i[2] - )) - for(var/j in color_list) - data["color_list"] += list(list( - "colors" = j - )) - for(var/k in dir_list) - data["dir_list"] += list(list( - "dirs" = k - )) - return data - -/obj/item/airlock_painter/decal/ui_act(action,list/params) - if(..()) +/obj/item/airlock_painter/decal/ui_act(action, list/params) + . = ..() + if(.) return + switch(action) //Lists of decals and designs if("select decal") - var/selected_decal = params["decals"] + var/selected_decal = params["decal"] + var/selected_dir = text2num(params["dir"]) stored_decal = selected_decal + stored_dir = selected_dir if("select color") - var/selected_color = params["colors"] + var/selected_color = params["color"] stored_color = selected_color - if("selected direction") - var/selected_direction = text2num(params["dirs"]) - stored_dir = selected_direction + if("pick custom color") + if(supports_custom_color) + pick_painting_tool_color(usr, stored_custom_color) update_decal_path() . = TRUE +/obj/item/airlock_painter/decal/set_painting_tool_color(chosen_color) + . = ..() + stored_custom_color = chosen_color + stored_color = chosen_color + +/datum/asset/spritesheet/decals + name = "floor_decals" +// cross_round_cachable = TRUE + + /// The floor icon used for blend_preview_floor() + var/preview_floor_icon = 'icons/turf/floors.dmi' + /// The floor icon state used for blend_preview_floor() + var/preview_floor_state = "floor" + /// The associated decal painter type to grab decals, colors, etc from. + var/obj/item/airlock_painter/decal/painter_type = /obj/item/airlock_painter/decal + +/** + * Underlay an example floor for preview purposes, and return the new icon. + * + * Arguments: + * * decal - the decal to place over the example floor tile + */ +/datum/asset/spritesheet/decals/proc/blend_preview_floor(icon/decal) + var/icon/final = icon(preview_floor_icon, preview_floor_state) + final.Blend(decal, ICON_OVERLAY) + return final + +/** + * Insert a specific state into the spritesheet. + * + * Arguments: + * * decal - the given decal base state. + * * dir - the given direction. + * * color - the given color. + */ +/datum/asset/spritesheet/decals/proc/insert_state(decal, dir, color) + // Special case due to icon_state names + var/icon_state_color = color == "yellow" ? "" : color + + var/icon/final = blend_preview_floor(icon('icons/turf/decals.dmi', "[decal][icon_state_color ? "_" : ""][icon_state_color]", dir)) + Insert("[decal]_[dir]_[color]", final) + +/datum/asset/spritesheet/decals/register() + // Must actually create because initial(type) doesn't work for /lists for some reason. + var/obj/item/airlock_painter/decal/painter = new painter_type() + + for(var/list/decal in painter.decal_list) + for(var/list/dir in painter.dir_list) + for(var/list/color in painter.color_list) + insert_state(decal[2], dir[2], color[2]) + if(painter.supports_custom_color) + insert_state(decal[2], dir[2], "custom") + + qdel(painter) + . = ..() + /obj/item/airlock_painter/decal/debug name = "extreme decal painter" icon_state = "decal_sprayer_ex" + initial_ink_type = /obj/item/toner/extreme -/obj/item/airlock_painter/decal/debug/Initialize(mapload) - . = ..() - ink = new /obj/item/toner/extreme(src) +/obj/item/airlock_painter/decal/tile + name = "tile sprayer" + desc = "An airlock painter, reprogramed to use a different style of paint in order to spray colors on floor tiles as well, in addition to repainting doors. Decals break when the floor tiles are removed." +// desc_controls = "Alt-Click to remove the ink cartridge." + icon_state = "tile_sprayer" + stored_dir = 2 + stored_color = "#D4D4D432" + stored_decal = "tile_corner" + spritesheet_type = /datum/asset/spritesheet/decals/tiles + supports_custom_color = TRUE + // Colors can have a an alpha component as RGBA, or just be RGB and use default alpha + color_list = list( + list("Neutral", "#D4D4D432"), + list("Dark", "#0e0f0f"), + list("Bar Burgundy", "#79150082"), + list("Sec Red", "#DE3A3A"), + list("Cargo Brown", "#A46106"), + list("Engi Yellow", "#EFB341"), + list("Service Green", "#9FED58"), + list("Med Blue", "#52B4E9"), + list("R&D Purple", "#D381C9"), + ) + decal_list = list( + list("Corner", "tile_corner"), + list("Half", "tile_half_contrasted"), + list("Opposing Corners", "tile_opposing_corners"), + list("3 Corners", "tile_anticorner_contrasted"), + list("4 Corners", "tile_fourcorners"), + list("Trimline Corner", "trimline_corner_fill"), + list("Trimline Fill", "trimline_fill"), + list("Trimline Fill L", "trimline_fill__8"), // This is a hack that lives in the spritesheet builder and paint_floor + list("Trimline End", "trimline_end_fill"), + list("Trimline Box", "trimline_box_fill"), + ) + nondirectional_decals = list( + "tile_fourcorners", + "trimline_box_fill", + ) + + /// Regex to split alpha out. + var/static/regex/rgba_regex = new(@"(#[0-9a-fA-F]{6})([0-9a-fA-F]{2})") + + /// Default alpha for /obj/effect/turf_decal/tile + var/default_alpha = 110 + +/obj/item/airlock_painter/decal/tile/paint_floor(turf/open/floor/target) + // Account for 8-sided decals. + var/source_decal = stored_decal + var/source_dir = stored_dir + if(copytext(stored_decal, -3) == "__8") + source_decal = splicetext(stored_decal, -3, 0, "") + source_dir = turn(stored_dir, 45) + + var/decal_color = stored_color + var/decal_alpha = default_alpha + // Handle the RGBA case. + if(rgba_regex.Find(decal_color)) + decal_color = rgba_regex.group[1] + decal_alpha = text2num(rgba_regex.group[2], 16) + + target.AddElement(/datum/element/decal, 'icons/turf/decals.dmi', source_decal, source_dir, CLEAN_STRONG, decal_color, null, null, decal_alpha) + +/datum/asset/spritesheet/decals/tiles + name = "floor_tile_decals" + painter_type = /obj/item/airlock_painter/decal/tile + +/datum/asset/spritesheet/decals/tiles/insert_state(decal, dir, color) + // Account for 8-sided decals. + var/source_decal = decal + var/source_dir = dir + if(copytext(decal, -3) == "__8") + source_decal = splicetext(decal, -3, 0, "") + source_dir = turn(dir, 45) + + // Handle the RGBA case. + var/obj/item/airlock_painter/decal/tile/tile_type = painter_type + var/render_color = color + var/render_alpha = initial(tile_type.default_alpha) + if(tile_type.rgba_regex.Find(color)) + render_color = tile_type.rgba_regex.group[1] + render_alpha = text2num(tile_type.rgba_regex.group[2], 16) + + var/icon/colored_icon = icon('icons/turf/decals.dmi', source_decal, dir=source_dir) + colored_icon.ChangeOpacity(render_alpha * 0.008) + if(color == "custom") + // Do a fun rainbow pattern to stand out while still being static. + colored_icon.Blend(icon('icons/effects/random_spawners.dmi', "rainbow"), ICON_MULTIPLY) + else + colored_icon.Blend(render_color, ICON_MULTIPLY) + + colored_icon = blend_preview_floor(colored_icon) + Insert("[decal]_[dir]_[replacetext(color, "#", "")]", colored_icon) diff --git a/code/modules/asset_cache/asset_list_items.dm b/code/modules/asset_cache/asset_list_items.dm index 5ad334bb76..631f0c3e4f 100644 --- a/code/modules/asset_cache/asset_list_items.dm +++ b/code/modules/asset_cache/asset_list_items.dm @@ -311,14 +311,6 @@ InsertAll("", each, GLOB.alldirs) ..() -/datum/asset/spritesheet/decals - name = "decals" - -/datum/asset/spritesheet/decals/register() - for(var/each in list('icons/turf/decals.dmi')) - InsertAll("", each, GLOB.alldirs) - ..() - /datum/asset/spritesheet/supplypods name = "supplypods" diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_tcomms_and_misc.dm b/code/modules/research/designs/autolathe_desings/autolathe_designs_tcomms_and_misc.dm index 1b1c710e8c..0ac303a3a0 100644 --- a/code/modules/research/designs/autolathe_desings/autolathe_designs_tcomms_and_misc.dm +++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_tcomms_and_misc.dm @@ -92,6 +92,11 @@ category = list("initial","Tools","Tool Designs") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SERVICE +/datum/design/airlock_painter/decal/tile + name = "Tile Sprayer" + id = "tile_sprayer" + build_path = /obj/item/airlock_painter/decal/tile + /datum/design/cultivator name = "Cultivator" id = "cultivator" diff --git a/code/modules/research/techweb/nodes/tools_nodes.dm b/code/modules/research/techweb/nodes/tools_nodes.dm index 86a48ab8de..004795113b 100644 --- a/code/modules/research/techweb/nodes/tools_nodes.dm +++ b/code/modules/research/techweb/nodes/tools_nodes.dm @@ -5,7 +5,7 @@ display_name = "Basic Tools" description = "Basic mechanical, electronic, surgical and botanical tools." prereq_ids = list("base") - design_ids = list("screwdriver", "wrench", "wirecutters", "crowbar", "multitool", "welding_tool", "tscanner", "analyzer", "cable_coil", "pipe_painter", "airlock_painter", "decal_painter", "scalpel", "circular_saw", "surgicaldrill", "retractor", "cautery", "hemostat", "cultivator", "plant_analyzer", "shovel", "spade", "hatchet", "mop", "broom", "normtrash", "spraycan") + design_ids = list("screwdriver", "wrench", "wirecutters", "crowbar", "multitool", "welding_tool", "tscanner", "analyzer", "cable_coil", "pipe_painter", "airlock_painter", "decal_painter", "tile_sprayer", "scalpel", "circular_saw", "surgicaldrill", "retractor", "cautery", "hemostat", "cultivator", "plant_analyzer", "shovel", "spade", "hatchet", "mop", "broom", "normtrash", "spraycan") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 500) /datum/techweb_node/basic_mining diff --git a/icons/effects/random_spawners.dmi b/icons/effects/random_spawners.dmi new file mode 100644 index 0000000000000000000000000000000000000000..6a22c6706e323d04d52015db5f70763360703248 GIT binary patch literal 81570 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 literal 0 HcmV?d00001 diff --git a/icons/mob/clothing/belt.dmi b/icons/mob/clothing/belt.dmi index 2338fa37a039d192838c57413dc9437a28438459..c13ad4edb187bd900a99f80d070c9491a6b10ebe 100644 GIT binary patch literal 35910 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 J@x7=2{5PA0R$Bl7 literal 33498 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 L_)?kn%?JMjF#sj% diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index d0ebbb450113d516536499026955839e33df775f..b694d0ba35ec2a762500bdac11737160bfb20b7f 100644 GIT binary patch delta 4620 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 U76)#mB*h5O*D=@w2y8r+H diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index 0d87e7871cd649782ff40bb516890e3cb0c7df1f..3836f4c713aa3abf590cb0a10882c7e1b7100623 100644 GIT binary patch delta 6622 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 delta 6305 zcma)AbyQT}_P>OnfP{#IASofz0wM}XNl7T(;h+o*9g-I%zciAHh)9Eg)X*g*B?t^P zAV@PbLk%&!tKaYMt+&=&>$lz?_nve2-L=mCoW0LJ?ZX6r{UC_rVvhIGHFQ^mx!Jhd zIlJ3AIRe1T_c_U}n#>{;q49FOpueZ}iP!p5?ELZ4!B5laX+hRF@|+jQrQKefYZ;GF z(8RmQepeB;{h<5jR|y_gi1Uba%azF*3Ep=RF>$LkU1#9FZEHVT%Bb+^bTHQBw<^?c=|)wAcBQ9@@lP9=}%#xo?_!_GBu(QTnktW)YWuI{>UwbMM{?JOhl6aA0L0LTY z&Td7fwQU4;*Mvekl?fel|#(m!R{jr2c9;bgmn7{dVw2Hh)I#`1|DSeWNE2 zyh5KQE7WscU0wDtsX-Y(vzQ+Dw9Aa*#kPWHkrJ`yTMNFrFvm|Sv}C!SVWRi>cu8qR z-H}M1sTnlTT!tuhNISQEYuE1(F@Ocz#N4>cmNX!5--(~!mG+15<_oR8ap z=!-RT^T+8A!Y@bKYr2d*8*S8N*!WK$BuI>SM#^N7QaohuHAt@>i)Meoh9+K@?oW!{ z&No%6f5S*gR^{zZUHK*Mx=xwXXt!u6kPc6HnQ5j1lVQnQI>z_>h7U;OLAkor(E4_x zqJ?lq3p7Q&?b=!X@>4lgbHVEA*Sl&X$#H;-hC&nzbHodjgpLxbG7}C|rAewjtXIpS zv(7A#)248w)8Uiu!u&2KM>-30CUxJ9yX36Q6-yUaW3DEA~4vnYnd>jkF)D zb5K?oIgc5;sJ>_+W}=Q?ol%rYPv1Ysg@sfI(y1W;fJsjhsH0@D`ZB$AH>TSm|6GQT zW8VPCYwF}=ZIZ<*>996AE!S9$Tq=?PfXj1Ca*4HjlkGFfu6C#wS`203QGw=`<)bXUsJRF=)AqmE>?P)_=6;V zCB+5`Fx0NX^vrAV-1+7&Dj+a;u6R}(r8o1k5JTIxEDX!)H}JPZe{Omx*jOf3xl^Do z-8WAJ3`GJL0U%D)l<3a@63YQVU?Mv}2msj>1k?b)27{Bdkb~28EieTK7ZjC=$ESCs zOEas5^N_VXbNufuo|3w(c>xf zw#1+1CnS0UaTG;P^^aw-rM|GPrkQUZ8Mvs_Sc4f)lR^b>cCI6Ge|NEW{}hMKsjW3y z8psgBorRSg)j)5qmwk)9DPc^+c^Bl|hWL=DnEdvmh515OBt}u3s;`;V?aaepzBG)Ei3vTlC0Yuyd?xXZI1!-5joy^P0gGjE7PE2`C>HXwgzz>yZ8<&B;lX%+s}vj@6MCQMHE>7WWxa9SeCAKkxL`McqXLHu z5Kh$D#dgjPNG?~qaEDo%BUo)_UoHRR zM(^GBPwIj_Mp$UrT|HbfqS8WQ{!gXw3)I}_%~Y?4=J%x-(KGj}ZzD#-g!&RVv*z_r zEGzzTEew|-y~GN@ix>f=+<>F|&S2x4uygkqRvGd2nlt0G-TFz4D)(>XKJPruGkLSj zDp!v36SAB?I(j5HNn=vd`3Kf(HuzzIRV)=-Erz58vVhqR@h+b~u&*UAj$o;_SbG-9 z_glxm*(PjF39kOC9xyhIB`=Z-u=*oinmD9Z02+pB(jz3r=k6)XP1^&%QuHD#CJ*35 zryZwxX=^wGwN-KZ(eUtZ__GrmY(xEgjC5uAw^u}@iuQ<{=^5O2FEyU;4}1>{i-^WY z2FWa^9E_lPCGeeFaKd%hi2|G9*aseIvEY5%4>zl3w`2&;hcofhg=WWE;p1wfDvVY7ywil|0Yrc5ageP{+)IHE8Bo}dO_J!P-xDNQserk z{Afyna`ElMVw%2Jb_!Rk;w9AVSv;=CSv$$>X;07!V`i~E@5FNs6zNDFU)MOx?`qGD zVO5zpeZ=CY+qL)~kdgts}8M8gaVBa*DSYY7{?_o1t{cgNR$5 zFA$}uxMvo<1L0P2Yz)Yl9)RI=yiHhzTG4gna^Tt7+41^BMY)Il>4%p%KXVJOX^(QN zHWGeBwf|`)S!l@#74x>OLl%Wi?!g%;C2xiGyLMsTCpYT$tUyAoM614$(J-aAbi>a= zAI9$vdW>huC^L3yY_wr^BkWGUcW-O;1LHF@rDAWRz&nzXy=69C)^vneT!VS7YYvpy z)XEGg9%N6*1c*0zY-4zlz6dDdd|55Q$1kw=jt=uxc_-dm`MCCzV>K>*^Ju% z%kxq^IA6+|oSB)K+Rq3t@SzRA1m_aNwew~_~?dvKz6n7y9Ifl{9>lql3`X9z-*R`oslMQ2bM6Pg3=>d2v)~o`~ z+GL~ZSM_se%MG~}Sp6AovC$-onmZ8zn+)J;zwXuS;OG~yi@k0^AS+O#O zzP`SV8GDw}(26=bIwo6}F{I6pSub&}d%v9DtoJC6yGG&GxUr$9bwvz3qmJDTYlytA z@%q(vlDNIQ9XWcp$Fgc;$8tm2-t$z>o%3Od{%k5=yAtEB>6GOa$Y*LqXZHcb<8pb_ zvBB1SjMA>vS;xEhgUGN1A`x99=qP;Ypj3ghv-`Iqh^cA!9o4})s(HN0{B3NSadNV} zC9}g!liA_ko+0RqztF`~Qs_vqjP>?!yDXWA1Z9tAiKN_?qS|i)f~GavCACXTBIrse zE@ZH^y=B?++NPy<_6r-;Gsy!W9-GP9oZN%kMqD3%lq8uFo;YL4VeNHtr?CDne>6vo zT2%{EL#tx@=7F8A7wt*45_1y#Rh4U1-_pR3{7r63&?|DBxLJ*!M>C@IS6+3s0ez%W z86AFdauUjO>4zK6_edlNpHI`Zba!_P+e=AGNf{YSk+;1Sd;aX#*O1W|3oU1vxpJoK zId%NcLW7DY?K}iVDMrOhd0x0lPd?w*|3*P?QkCR^_=i~kp&3&W$4H5U=b@?$#SF*5 zh7Yqzh)d@?V^qD6Ici!$APx{6t2c&(DDSVM+=?L2mR+U1S94Ob^YXgj z#U`RW3#~U?%E^u_2h9B;-tf;<`!(W3AA6l`A~&elM7emZWIkO(nRV!l2-NEf=dgcy zqKp2aGjf@vbuY9dYj)IW%_@V>c=vFWOcx!iOP@ufw@iX;9 z%Et3kM<+)LzH5=YL+V0Ch*+tE@9EMu=S)80Gh{JzEi19CiNUx)-$T~BA1{KdIaHAx zr#TZ=9y$Cm3JMAsdh}RPBrT8nudSm&Fe3chE>h?l3sy1(sgyN3Je*|;hWtRFkp%@w zgDm&?M^mR3P?uv$k#pP(O;@z`SqBxeACk4&^ae!fx+W1gE+1+k6C zF8TA8z9$C3e`?k}aVJ8kg2{=}{J(|le=SOXpR_fej$DRLaIj_2I7dklc^0OxQw@{Q zs8?D?PV2FxkR%Nid59iAiQd3>xSS@A`Ye?a0@+``SE+T0jOZfK`m&~|g3o-`vJRah z?RPk0ehqY({;sne9G^xOlLT0@*t8kHI_$UUrTd5@7P-*C9J&!+A8sH zI*{_Fb$QWzgA8hSF1OHhT$^$TVbnI;FBNsr9o@xAf$UEj{nhvo`pYCrA))~#nAG{v zG}^Q))r1Vg^Jz>$9OWqabfabpjq^HRl_G|TRZP-r zz|p)Hh?l>pQAP&_yrxdo)**@E3RjRT?h1}J738tlyi$8GX|L3Nj*^WpKpdpoCp8r* ztRj&TXNx5TE<#tyM3e0=H^zJ$IT|l~+D)u!e*w;Lx*#RJf^!@DGW|2ZvrT{Sy$C?k zW^Q7VcI_?Mt49()m(OTFRa6YauMblP2U!jDfuO1U#|>O;8v~c>_JaM3V!cf5IMcO9 zWfzU2Z-wlP#=b8G-mdj^c6N?zQAWI%_R>_Gb4!S}Tds9mUhpDSYQpcAMurCmoSDMX z%gRJxS(-35Ne|QBu65rYPv3co8~c3>faJO_wBq%T(h{0?8t1zjF25=w(ZYQHuIax5 z4rUsj&cb!CzIxi+pi@A4oZH_#z%E>Xb#iNXPR5+n$`6-u)S0BnmoNx4HZk!KOrb5V z62;=f+Ki*4qYGr2V;&uez23kt3V{V08LqYOgQWtJ=52nv5vw-kNK!WavnKk{gUbj4 zr}4u&ADoE%M%Vjj36=&4(-sA`%xgCFO;#@l#`^nK(jws;^)es(xgW^G#h6?iguRt|b?ne)ut zK0o}*FW94~FO+Y5k-2GKbxWQNE9;f?s%^}^#T2pMuLJ=bMK(A-o~q_k$pxn$9CvM<=3K=`<Rcl;NZLzL`O?w2wLT*=5QbPW$Y?p?uKm8Y@OBA89@h>(h&6@)nCHb}Ntn>+k zAi%%duw0U5R;?rHqZcfpA#xC7=Ml8(`U4BGw;sUN0{_S0M<;ZvAoD$Um5GLHgLx=f zPR%jmNzau*b{N)Jj=l&~eG@ED!?i~cc)oNMP=Z^~t_(#>{#>av7eJQwN9;~E8^g_L zSFT`LDG9@*qr?G=J}Dp~F-#7d*SiK#-H6)$c@)T5lwxdj;Z70wNMC4wH<*Uv)sj}q z7{T$Ka|!TIA})pckMPo5{s%3g{-yjluA`c!OTmb;mB)>mA75b0dMEp20l-actv(RS z#MDk61^_7ui957YtjlleRk#!4p{+YTJ^kIl+O)bqrEEKgMTI2i zHj+T~o2!*;CBL9$^o0}`GUk$PtA5TL=v%0o6j5PRw zsp@YCYWgtrQ%D%q!?`1%LV`$Sn zt1y!C*~`BgsZ_+TB?f7jeqxBg!fu-$UIzd!i&gG8%RvTKR-t0&zrwFZb_`X)k}_y( z8|dKrAHSM=z_Ss#EK6%8*@&j7khK6#{~8i%V5p#y@C9M}>Tur8wEpA^(ZhLKDf$Vw zWS`@mB+}9kJgn@p5lI$a;LU&A$!^o*;HdZ78s+5VEceFR?k^;074Gcp4ADo$#`ZeM zR6{gzXdxgLN*MZw2ilL3++q?6$Q2cPfq@5y??;W*x6ACu1kG?bvwF`}=t=V5tX=+) zc2H~F^}e_5ABk4Z2`WHNt$*p6%T^gYjDKxmoTqugrhutkcF_LO>koJ|}3I z$jHDj2n9$~M11aEQw57cz^5W(R?4L!OdA~s##ZG zZ^MXxP4b^Rtzw9WUfjV7Iy4Ox@IiMUtS1K>2_9>s9k*Kg+V^0VmU3I@YOUXrMnpiM ta2esnYz8Paahm^JH~v@u&%g%5vtBq}7dehOje{Zus48hHmdIPa{ufupIv4-| diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi index 8eb3b619a149f3447536ccc0854dc15707277b62..cc28f4e3462ca1c4cd7f21982bd5df036f642aad 100644 GIT binary patch delta 37170 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%0ARrr~ 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 { - const { act, data } = useBackend(context); - const decal_list = data.decal_list || []; - const color_list = data.color_list || []; - const dir_list = data.dir_list || []; - return ( - - -
- {decal_list.map(decal => ( - - ))} -
-
- {color_list.map(color => { - return ( - - ); - })} -
-
- {dir_list.map(dir => { - return ( - - ); - })} -
-
-
- ); -}; diff --git a/tgui/packages/tgui/interfaces/DecalPainter.tsx b/tgui/packages/tgui/interfaces/DecalPainter.tsx new file mode 100644 index 0000000000..1a211cfba4 --- /dev/null +++ b/tgui/packages/tgui/interfaces/DecalPainter.tsx @@ -0,0 +1,162 @@ +import { useBackend } from '../backend'; +import { Button, ColorBox, Flex, Section } from '../components'; +import { Window } from '../layouts'; + +type DecalInfo = { + name: string; + decal: string; +}; + +type ColorInfo = { + name: string; + color: string; +}; + +type DirInfo = { + name: string; + dir: number; +}; + +type DecalPainterData = { + icon_prefix: string; + decal_list: DecalInfo[]; + color_list: ColorInfo[]; + dir_list: DirInfo[]; + nondirectional_decals: string[]; + supports_custom_color: number; + current_decal: string; + current_color: string; + current_dir: number; + current_custom_color: string; +}; + +const filterBoxColor = (color: string) => { + if (!color.startsWith('#')) { + return color; + } + + // cut alpha + return color.substring(0, 7); +}; + +export const DecalPainter = (props, context) => { + const { act, data } = useBackend(context); + + const custom_color_selected = !data.color_list.some( + (color) => color.color === data.current_color + ); + const supports_custom_color = !!data.supports_custom_color; + + // Handle custom color icon correctly + const preview_color = custom_color_selected ? 'custom' : data.current_color; + + return ( + + +
+ {data.color_list.map((color) => { + return ( + + ); + })} + {supports_custom_color && ( + + )} +
+
+ + {data.decal_list.map((decal) => { + const nondirectional = data.nondirectional_decals.includes( + decal.decal + ); + + return nondirectional ? ( + // Tallll button for nondirectional + + ) : ( + // 4 buttons for directional + + {data.dir_list.map((dir) => { + const selected + = decal.decal === data.current_decal + && dir.dir === data.current_dir; + + return ( + + ); + })} + + ); + })} + +
+
+
+ ); +}; + +type IconButtonParams = { + decal: string; + dir: number; + color: string; + label: string; + selected: boolean; +}; + +const IconButton = (props: IconButtonParams, context) => { + const { act, data } = useBackend(context); + + const generateIconKey = (decal: string, dir: number, color: string) => + `${data.icon_prefix} ${decal}_${dir}_${color.replace('#', '')}`; + + const icon = generateIconKey(props.decal, props.dir, props.color); + + return ( + + ); +}; From a56247f828feb866d4f8e67edeaa8e7789ba35dd Mon Sep 17 00:00:00 2001 From: SandPoot Date: Sat, 28 Jan 2023 01:18:35 -0300 Subject: [PATCH 02/13] oops? --- code/__DEFINES/dcs/signals/signals_medical.dm | 14 -------- code/__DEFINES/dcs/signals/signals_mod.dm | 35 ------------------- code/__DEFINES/dcs/signals/signals_reagent.dm | 2 -- tgstation.dme | 3 -- 4 files changed, 54 deletions(-) delete mode 100644 code/__DEFINES/dcs/signals/signals_medical.dm delete mode 100644 code/__DEFINES/dcs/signals/signals_mod.dm delete mode 100644 code/__DEFINES/dcs/signals/signals_reagent.dm diff --git a/code/__DEFINES/dcs/signals/signals_medical.dm b/code/__DEFINES/dcs/signals/signals_medical.dm deleted file mode 100644 index 801eb6b41b..0000000000 --- a/code/__DEFINES/dcs/signals/signals_medical.dm +++ /dev/null @@ -1,14 +0,0 @@ -/// From /datum/surgery/New(): (datum/surgery/surgery, surgery_location (body zone), obj/item/bodypart/targeted_limb) -#define COMSIG_MOB_SURGERY_STARTED "mob_surgery_started" - -/// From /datum/surgery_step/success(): (datum/surgery_step/step, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results) -#define COMSIG_MOB_SURGERY_STEP_SUCCESS "mob_surgery_step_success" - -/// From /obj/item/shockpaddles/proc/do_success(): (obj/item/shockpaddles/source) -#define COMSIG_DEFIBRILLATOR_SUCCESS "defib_success" - #define COMPONENT_DEFIB_STOP (1<<0) - -/// From /datum/surgery/can_start(): (mob/source, datum/surgery/surgery, mob/living/patient) -#define COMSIG_SURGERY_STARTING "surgery_starting" - #define COMPONENT_CANCEL_SURGERY (1<<0) - #define COMPONENT_FORCE_SURGERY (1<<1) diff --git a/code/__DEFINES/dcs/signals/signals_mod.dm b/code/__DEFINES/dcs/signals/signals_mod.dm deleted file mode 100644 index 2533b69852..0000000000 --- a/code/__DEFINES/dcs/signals/signals_mod.dm +++ /dev/null @@ -1,35 +0,0 @@ -//MODsuit signals -/// Called when a module is selected to be the active one from on_select(obj/item/mod/module/module) -#define COMSIG_MOD_MODULE_SELECTED "mod_module_selected" -/// Called when a MOD deploys one or more of its parts. -#define COMSIG_MOD_DEPLOYED "mod_deployed" -/// Called when a MOD retracts one or more of its parts. -#define COMSIG_MOD_RETRACTED "mod_retracted" -/// Called when a MOD is finished toggling itself. -#define COMSIG_MOD_TOGGLED "mod_toggled" -/// Called when a MOD activation is called from toggle_activate(mob/user) -#define COMSIG_MOD_ACTIVATE "mod_activate" - /// Cancels the suit's activation - #define MOD_CANCEL_ACTIVATE (1 << 0) -/// Called when a MOD finishes having a module removed from it. -#define COMSIG_MOD_MODULE_REMOVED "mod_module_removed" -/// Called when a MOD finishes having a module added to it. -#define COMSIG_MOD_MODULE_ADDED "mod_module_added" -/// Called when a MOD is having modules removed from crowbar_act(mob/user, obj/crowbar) -#define COMSIG_MOD_MODULE_REMOVAL "mod_module_removal" - /// Cancels the removal of modules - #define MOD_CANCEL_REMOVAL (1 << 0) -/// Called when a module attempts to activate, however it does. At the end of checks so you can add some yourself, or work on trigger behavior (mob/user) -#define COMSIG_MODULE_TRIGGERED "mod_module_triggered" - /// Cancels activation, with no message. Include feedback on your cancel. - #define MOD_ABORT_USE (1<<0) -/// Called when a module activates, after all checks have passed and cooldown started. -#define COMSIG_MODULE_ACTIVATED "mod_module_activated" -/// Called when a module deactivates, after all checks have passed. -#define COMSIG_MODULE_DEACTIVATED "mod_module_deactivated" -/// Called when a module is used, after all checks have passed and cooldown started. -#define COMSIG_MODULE_USED "mod_module_used" -/// Called when the MODsuit wearer is set. -#define COMSIG_MOD_WEARER_SET "mod_wearer_set" -/// Called when the MODsuit wearer is unset. -#define COMSIG_MOD_WEARER_UNSET "mod_wearer_unset" diff --git a/code/__DEFINES/dcs/signals/signals_reagent.dm b/code/__DEFINES/dcs/signals/signals_reagent.dm deleted file mode 100644 index 848458f91c..0000000000 --- a/code/__DEFINES/dcs/signals/signals_reagent.dm +++ /dev/null @@ -1,2 +0,0 @@ -///Sent by /datum/reagents/proc/reaction, used for /obj/item/mod/module/springlock -#define COMSIG_ATOM_EXPOSE_REAGENTS "atom_expose_reagents" diff --git a/tgstation.dme b/tgstation.dme index c55603c39d..cea70ef085 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -157,10 +157,7 @@ #include "code\__DEFINES\dcs\flags.dm" #include "code\__DEFINES\dcs\helpers.dm" #include "code\__DEFINES\dcs\signals.dm" -#include "code\__DEFINES\dcs\signals\signals_medical.dm" -#include "code\__DEFINES\dcs\signals\signals_mod.dm" #include "code\__DEFINES\dcs\signals\signals_painting.dm" -#include "code\__DEFINES\dcs\signals\signals_reagent.dm" #include "code\__DEFINES\dcs\signals\signals_subsystem.dm" #include "code\__DEFINES\dcs\signals\signals_atom\signals_atom_movable.dm" #include "code\__DEFINES\dcs\signals\signals_atom\signals_atom_movement.dm" From bf312791097ec0187c469a2d0bcb122bcfc48504 Mon Sep 17 00:00:00 2001 From: SandPoot Date: Sat, 28 Jan 2023 01:28:47 -0300 Subject: [PATCH 03/13] prayer --- icons/mob/clothing/belt.dmi | Bin 35910 -> 33317 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/mob/clothing/belt.dmi b/icons/mob/clothing/belt.dmi index c13ad4edb187bd900a99f80d070c9491a6b10ebe..f7062b9f4ec212b616f036d81a3c66ebaeb0c114 100644 GIT binary patch literal 33317 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Ν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 J@x7=2{5PA0R$Bl7 From d53c0107451ccf62321a13c335f81123a4e0669a Mon Sep 17 00:00:00 2001 From: SandPoot Date: Sat, 28 Jan 2023 15:47:18 -0300 Subject: [PATCH 04/13] gone --- icons/effects/random_spawners.dmi | Bin 81570 -> 340 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/effects/random_spawners.dmi b/icons/effects/random_spawners.dmi index 6a22c6706e323d04d52015db5f70763360703248..144287ced02d885726f7621dc45794b40a8c4374 100644 GIT binary patch literal 340 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv#Q>iW*Z&Nh{~1m%XZY{P@SkDn ze}@0(82-n-0Mf@9{)YgCjMJ3n_5u}WSA|5BxTF>*7iAWdWaj5FFjUM54l5`s{r)Am z;N#aPTHd-^=gyoD-VkbV(fGk5o%24LCmD)*dUseD2N_>B_EMPhXws2MAqv4OH4KgQ zHTTDKb{ng1ULm28bmHjDuqiWUb0unP@A$Q|ftQV;>bun6M&`UOpta?mE{-7@6Jt*~ z3bq&sxLkB|njoOU!s+M~24Xa@Ofb-zndJZZ_qF}=zT|op$DNAW{_Ve)=JTMe+};Q7 z7dWjP)o*aJ9aNBDVL#|uAXL%uKFVdQ&MBb@0Gud(_5c6? literal 81570 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 From ed06e686e10af8902f857bad4daf608cd4d86e1a Mon Sep 17 00:00:00 2001 From: SandPoot Date: Tue, 31 Jan 2023 16:40:17 -0300 Subject: [PATCH 05/13] pushies. --- code/__DEFINES/_flags/_flags.dm | 2 + code/__DEFINES/_flags/obj_flags.dm | 2 + .../dcs/signals/signals_screentips.dm | 23 ++++ code/__DEFINES/screentips.dm | 17 +++ code/_globalvars/bitfields.dm | 2 + code/_onclick/hud/hud.dm | 6 +- code/datums/elements/screentips/README.md | 130 ++++++++++++++++++ .../elements/screentips/atom_context.dm | 25 ++++ .../contextual_screentip_bare_hands.dm | 73 ++++++++++ .../contextual_screentip_item_typechecks.dm | 47 +++++++ .../screentips/contextual_screentip_tools.dm | 48 +++++++ .../elements/screentips/item_context.dm | 29 ++++ code/game/atoms.dm | 49 ++++++- code/game/machinery/doors/airlock.dm | 63 ++++++++- code/game/machinery/doors/door.dm | 8 ++ code/game/machinery/doors/firedoor.dm | 38 +++++ code/game/machinery/firealarm.dm | 6 + code/game/objects/items/devices/scanners.dm | 23 ++++ code/game/objects/items/handcuffs.dm | 15 ++ code/game/objects/items/stunbaton.dm | 44 ++++++ code/game/objects/items/weaponry.dm | 15 ++ code/game/objects/structures/tables_racks.dm | 15 +- code/modules/client/preferences.dm | 11 +- code/modules/client/preferences_savefile.dm | 8 +- code/modules/mob/living/carbon/carbon.dm | 1 + .../mob/living/carbon/carbon_context.dm | 50 +++++++ .../mob/living/carbon/human/human_context.dm | 12 ++ code/modules/surgery/bodyparts/helpers.dm | 2 + tgstation.dme | 9 ++ 29 files changed, 759 insertions(+), 14 deletions(-) create mode 100644 code/__DEFINES/dcs/signals/signals_screentips.dm create mode 100644 code/__DEFINES/screentips.dm create mode 100644 code/datums/elements/screentips/README.md create mode 100644 code/datums/elements/screentips/atom_context.dm create mode 100644 code/datums/elements/screentips/contextual_screentip_bare_hands.dm create mode 100644 code/datums/elements/screentips/contextual_screentip_item_typechecks.dm create mode 100644 code/datums/elements/screentips/contextual_screentip_tools.dm create mode 100644 code/datums/elements/screentips/item_context.dm create mode 100644 code/modules/mob/living/carbon/carbon_context.dm create mode 100644 code/modules/mob/living/carbon/human/human_context.dm diff --git a/code/__DEFINES/_flags/_flags.dm b/code/__DEFINES/_flags/_flags.dm index 895f37a7a9..cd38c9ad5b 100644 --- a/code/__DEFINES/_flags/_flags.dm +++ b/code/__DEFINES/_flags/_flags.dm @@ -64,6 +64,8 @@ GLOBAL_LIST_INIT(bitflags, list( #define NO_RUINS_1 (1<<10) /// Should this tile be cleaned up and reinserted into an excited group? #define EXCITED_CLEANUP_1 (1 << 13) +/// Whether or not this atom has contextual screentips when hovered OVER +#define HAS_CONTEXTUAL_SCREENTIPS_1 (1 << 14) ////////////////Area flags\\\\\\\\\\\\\\ /// If it's a valid territory for cult summoning or the CRAB-17 phone to spawn diff --git a/code/__DEFINES/_flags/obj_flags.dm b/code/__DEFINES/_flags/obj_flags.dm index 5f5ea12aaa..c3c48c7d74 100644 --- a/code/__DEFINES/_flags/obj_flags.dm +++ b/code/__DEFINES/_flags/obj_flags.dm @@ -17,6 +17,8 @@ #define EXAMINE_SKIP (1<<14) /// Makes the Examine proc not read out this item. #define IN_STORAGE (1<<15) //is this item in the storage item, such as backpack? used for tooltips #define HAND_ITEM (1<<16) // If an item is just your hand (circled hand, slapper) and shouldn't block things like riding +/// Has contextual screentips when HOVERING OVER OTHER objects +#define ITEM_HAS_CONTEXTUAL_SCREENTIPS (1 << 17) /// Integrity defines for clothing (not flags but close enough) #define CLOTHING_PRISTINE 0 // We have no damage on the clothing diff --git a/code/__DEFINES/dcs/signals/signals_screentips.dm b/code/__DEFINES/dcs/signals/signals_screentips.dm new file mode 100644 index 0000000000..8f7326ee2e --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_screentips.dm @@ -0,0 +1,23 @@ +/// A "Type-A" contextual screentip interaction. +/// These are used for items that are defined by their behavior. They define their contextual text within *themselves*, +/// not in their targets. +/// Examples include syringes (LMB to inject, RMB to draw) and health analyzers (LMB to scan health/wounds, RMB for chems) +/// Items can override `add_item_context()`, and call `register_item_context()` in order to easily connect to this. +/// Called on /obj/item with a mutable screentip context list, the hovered target, and the mob hovering. +/// A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +/// that map to the action as text. +/// If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET. +#define COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGET "item_requesting_context_for_target" + +/// A "Type-B" contextual screentip interaction. +/// These are atoms that are defined by what happens *to* them. These should define contextual text within themselves, and +/// not in their operating tools. +/// Examples include construction objects (LMB with glass to put in screen for computers). +/// Called on /atom with a mutable screentip context list, the item being used, and the mob hovering. +/// A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +/// that map to the action as text. +/// If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET. +#define COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM "atom_requesting_context_from_item" + +/// Tells the contextual screentips system that the list context was mutated. +#define CONTEXTUAL_SCREENTIP_SET (1 << 0) diff --git a/code/__DEFINES/screentips.dm b/code/__DEFINES/screentips.dm new file mode 100644 index 0000000000..fecbc2a826 --- /dev/null +++ b/code/__DEFINES/screentips.dm @@ -0,0 +1,17 @@ +/// Context applied to LMB actions +#define SCREENTIP_CONTEXT_LMB "LMB" + +/// Context applied to RMB actions +#define SCREENTIP_CONTEXT_RMB "RMB" + +/// Context applied to Ctrl-LMB actions +#define SCREENTIP_CONTEXT_CTRL_LMB "Ctrl-LMB" + +/// Screentips are always disabled +#define SCREENTIP_PREFERENCE_DISABLED "Disabled" + +/// Screentips are always enabled +#define SCREENTIP_PREFERENCE_ENABLED "Enabled" + +/// Screentips are only enabled when they have context +#define SCREENTIP_PREFERENCE_CONTEXT_ONLY "Only with tips" diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index f412f31e9c..8b42b2b070 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -155,6 +155,7 @@ DEFINE_BITFIELD(flags_1, list( "CAN_BE_DIRTY_1" = CAN_BE_DIRTY_1, "CONDUCT_1" = CONDUCT_1, "DEFAULT_RICOCHET_1" = DEFAULT_RICOCHET_1, + "HAS_CONTEXTUAL_SCREENTIPS_1" = HAS_CONTEXTUAL_SCREENTIPS_1, "HEAR_1" = HEAR_1, "HOLOGRAM_1" = HOLOGRAM_1, "INITIALIZED_1" = INITIALIZED_1, @@ -246,6 +247,7 @@ DEFINE_BITFIELD(item_flags, list( "IN_STORAGE" = IN_STORAGE, "ITEM_CAN_BLOCK" = ITEM_CAN_BLOCK, "ITEM_CAN_PARRY" = ITEM_CAN_PARRY, + "ITEM_HAS_CONTEXTUAL_SCREENTIPS" = ITEM_HAS_CONTEXTUAL_SCREENTIPS, "NEEDS_PERMIT" = NEEDS_PERMIT, "NOBLUDGEON" = NOBLUDGEON, "NO_MAT_REDEMPTION" = NO_MAT_REDEMPTION, diff --git a/code/_onclick/hud/hud.dm b/code/_onclick/hud/hud.dm index 1eb13d20f6..9d762332c6 100644 --- a/code/_onclick/hud/hud.dm +++ b/code/_onclick/hud/hud.dm @@ -63,13 +63,15 @@ GLOBAL_LIST_INIT(available_ui_styles, list( /// This is updated by the preference for cheaper reads than would be /// had with a proc call, especially on one of the hottest procs in the /// game (MouseEntered). - var/screentips_enabled = TRUE + // var/screentips_enabled = SCREENTIP_PREFERENCE_ENABLED /// The color to use for the screentips. /// This is updated by the preference for cheaper reads than would be /// had with a proc call, especially on one of the hottest procs in the /// game (MouseEntered). - var/screentip_color + // var/screentip_color + + // We don't actually do proccalls really yet, so let's grab at prefs var/atom/movable/screen/movable/action_button/hide_toggle/hide_actions_toggle var/action_buttons_hidden = FALSE diff --git a/code/datums/elements/screentips/README.md b/code/datums/elements/screentips/README.md new file mode 100644 index 0000000000..b52a5d18d1 --- /dev/null +++ b/code/datums/elements/screentips/README.md @@ -0,0 +1,130 @@ +# Contextual screentips (and when to not use this folder) + +Contextual screentips provide information in the form of text at the top of your screen to inform you of the possibilities of an item. The "contextual" here refers to this being handled entirely through code, what it displays and when is completely up to you. + +## The elements (and this folder) + +This folder provides several useful shortcuts to be able to handle 95% of situations. + +### `/datum/element/contextual_screentip_bare_hands` + +This element is used to display screentips **when the user hovers over the object with nothing in their active hand.** + +It takes parameters in the form of both non-combat mode and, optionally, combat mode. + +Example: + +```dm +/obj/machinery/firealarm/Initialize(mapload) + . = ..() + AddElement( \ + /datum/element/contextual_screentip_bare_hands, \ + lmb_text = "Turn on", \ + rmb_text = "Turn off", \ + ) +``` + +This will display "LMB: Turn on | RMB: Turn off" when the user hovers over a fire alarm with an empty active hand. + +### `/datum/element/contextual_screentip_tools` + +This element takes a map of tool behaviors to [context lists](#context-lists). These will be displayed **when the user hovers over the object with an item that has the tool behavior.** + +Example: + +```dm +/obj/structure/table/Initialize(mapload) + if (!(flags_1 & NODECONSTRUCT_1)) + var/static/list/tool_behaviors = list( + TOOL_SCREWDRIVER = list( + SCREENTIP_CONTEXT_RMB = "Disassemble", + ), + TOOL_WRENCH = list( + SCREENTIP_CONTEXT_RMB = "Deconstruct", + ), + ) + AddElement(/datum/element/contextual_screentip_tools, tool_behaviors) +``` + +This will display "RMB: Deconstruct" when the user hovers over a table with a wrench. + +### `/datum/element/contextual_screentip_item_typechecks` + +This element takes a map of item typepaths to [context lists](#context-lists). These will be displayed **when the user hovers over the object with the selected item.** + +Example: + +```dm +/obj/item/restraints/handcuffs/cable/Initialize(mapload) + . = ..() + var/static/list/hovering_item_typechecks = list( + /obj/item/stack/rods = list( + SCREENTIP_CONTEXT_LMB = "Craft wired rod", + ), + /obj/item/stack/sheet/iron = list( + SCREENTIP_CONTEXT_LMB = "Craft bola", + ), + ) + AddElement(/datum/element/contextual_screentip_item_typechecks, hovering_item_typechecks) +``` + +This will display "LMB: Craft bola" when the user hovers over cable restraints with metal in their hand. + +## The basic system (and when to not use this folder) + +The basic system acknowledges the following two interactions: + +### Self-defining items (Type A) +These are items that are defined by their behavior. These should define their contextual text within themselves, and not in their targets. + +- Stun batons (LMB to stun, RMB to harm) +- Syringes (LMB to inject, RMB to draw) +- Health analyzers (LMB to scan for health/wounds [another piece of context], RMB to scans for chemicals) + +### Receiving action defining objects (Type B) +These are objects (not necessarily items) that are defined by what happens *to* them. These should define their contextual text within themselves, and not in their operating tools. + +- Tables (RMB with wrench to deconstruct) +- Construction objects (LMB with glass to put in screen for computers) +- Carbon copies (RMB to take a copy) + +--- + +Both of these are supported, and can be hooked to through several means. + +Note that you **must return `CONTEXTUAL_SCREENTIP_SET` if you change the contextual screentip at all**, otherwise you may not see it. + +### `COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGET` + +This signal is registered on **items**, and receives **the hovering object**, provided in the form of `obj/item/source, list/context, atom/target, mob/living/user`. + +### `/atom/proc/register_item_context()`, and `/atom/proc/add_item_context()` +`/atom/proc/add_item_context()` is a proc intended to be overridden to easily create Type-B interactions (ones where atoms are hovered over by items). It receives the exact same arguments as `COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGET`: `obj/item/source, list/context, atom/target, mob/living/user`. + +In order for your `add_item_context()` method to be run, you **must** call `register_item_context()`. + +### `COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM` + +This signal is registered on **atoms**, and receives **what the user is hovering with**, provided in the form of `atom/source, list/context, obj/item/held_item, mob/living/user`. + +### `/atom/proc/register_context()`, and `/atom/proc/add_context()` +`/atom/proc/add_context()` is a proc intended to be overridden to easily create Type-B interactions (ones where atoms are hovered over by items). It receives the exact same arguments as `COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM`: `atom/source, list/context, obj/item/held_item, mob/living/user`. + +In order for your `add_context()` method to be run, you **must** call `register_context()`. + +--- + +When using any of these methods, you will receive a mutable context list. + +### Context lists + +Context lists are lists with keys mapping from `SCREENTIP_CONTEXT_*` to a string. You can find these keys in `code/__DEFINES/screentips.dm`. + +The signals and `add_context()` variants mutate the list directly, while shortcut elements will just have you pass them in directly. + +For example: + +```dm +context[SCREENTIP_CONTEXT_LMB] = "Open" +context[SCREENTIP_CONTEXT_RMB] = "Destroy" +``` diff --git a/code/datums/elements/screentips/atom_context.dm b/code/datums/elements/screentips/atom_context.dm new file mode 100644 index 0000000000..ae71d6f929 --- /dev/null +++ b/code/datums/elements/screentips/atom_context.dm @@ -0,0 +1,25 @@ +/// Create a "Type-B" contextual screentip interaction, registering to `add_context()`. +/// This will run `add_context()` when the atom is hovered over by an item for context. +/// `add_context()` will *not* be called unless this is run. +/// This is not necessary for Type-B interactions, as you can just apply the flag and register to the signal yourself. +/atom/proc/register_context() + flags_1 |= HAS_CONTEXTUAL_SCREENTIPS_1 + RegisterSignal(src, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM, .proc/add_context) + +/// Creates a "Type-B" contextual screentip interaction. +/// When a user hovers over this, this proc will be called in order +/// to provide context for contextual screentips. +/// You must call `register_context()` in order for this to be registered. +/// A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +/// that map to the action as text. +/// If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET. +/// `source` can, in all cases, be replaced with `src`, and only exists because this proc directly connects to a signal. +/atom/proc/add_context( + atom/source, + list/context, + obj/item/held_item, + mob/living/user, +) + SIGNAL_HANDLER + + return NONE diff --git a/code/datums/elements/screentips/contextual_screentip_bare_hands.dm b/code/datums/elements/screentips/contextual_screentip_bare_hands.dm new file mode 100644 index 0000000000..843d73e78d --- /dev/null +++ b/code/datums/elements/screentips/contextual_screentip_bare_hands.dm @@ -0,0 +1,73 @@ +/// Apply basic contextual screentips when the user hovers over this item with an empty hand. +/// A "Type B" interaction. +/// This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance. +/datum/element/contextual_screentip_bare_hands + element_flags = ELEMENT_BESPOKE | ELEMENT_DETACH + id_arg_index = 3 + + /// If set, the text to show for LMB + var/lmb_text + + /// If set, the text to show for RMB + var/rmb_text + + /// If set, the text to show for LMB when in combat mode. Otherwise, defaults to lmb_text. + var/lmb_text_combat_mode + + /// If set, the text to show for RMB when in combat mode. Otherwise, defaults to rmb_text. + var/rmb_text_combat_mode + +// If you're curious about `use_named_parameters`, it's because you should use named parameters! +// AddElement(/datum/element/contextual_screentip_bare_hands, lmb_text = "Do the thing") +/datum/element/contextual_screentip_bare_hands/Attach( + datum/target, + use_named_parameters, + lmb_text, + rmb_text, + lmb_text_combat_mode, + rmb_text_combat_mode, +) + . = ..() + if (!isatom(target)) + return ELEMENT_INCOMPATIBLE + + if (!isnull(use_named_parameters)) + CRASH("Use named parameters instead of positional ones.") + + src.lmb_text = lmb_text + src.rmb_text = rmb_text + src.lmb_text_combat_mode = lmb_text_combat_mode || lmb_text + src.rmb_text_combat_mode = rmb_text_combat_mode || rmb_text + + var/atom/atom_target = target + atom_target.flags_1 |= HAS_CONTEXTUAL_SCREENTIPS_1 + RegisterSignal(atom_target, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM, .proc/on_requesting_context_from_item) + +/datum/element/contextual_screentip_bare_hands/Detach(datum/source, ...) + UnregisterSignal(source, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM) + + // We don't remove HAS_CONTEXTUAL_SCREENTIPS_1, since there could be other stuff still hooked to it, + // and being set without signals is not dangerous, just less performant. + // A lot of things don't do this, perhaps make a proc that checks if any signals are still set, and if not, + // remove the flag. + + return ..() + +/datum/element/contextual_screentip_bare_hands/proc/on_requesting_context_from_item( + datum/source, + list/context, + obj/item/held_item, + mob/living/user, +) + SIGNAL_HANDLER + + if (!isnull(held_item)) + return NONE + + if (!isnull(lmb_text)) + context[SCREENTIP_CONTEXT_LMB] = user.a_intent == INTENT_HARM ? lmb_text_combat_mode : lmb_text + + if (!isnull(rmb_text)) + context[SCREENTIP_CONTEXT_RMB] = user.a_intent == INTENT_HARM ? rmb_text_combat_mode : rmb_text + + return CONTEXTUAL_SCREENTIP_SET diff --git a/code/datums/elements/screentips/contextual_screentip_item_typechecks.dm b/code/datums/elements/screentips/contextual_screentip_item_typechecks.dm new file mode 100644 index 0000000000..44ff1f3190 --- /dev/null +++ b/code/datums/elements/screentips/contextual_screentip_item_typechecks.dm @@ -0,0 +1,47 @@ +/// Apply basic contextual screentips when the user hovers over this item with a provided item. +/// A "Type B" interaction. +/// This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance. +/datum/element/contextual_screentip_item_typechecks + element_flags = ELEMENT_BESPOKE | ELEMENT_DETACH + id_arg_index = 2 + + /// Map of item paths to contexts to usages + var/list/item_paths_to_contexts + +/datum/element/contextual_screentip_item_typechecks/Attach(datum/target, item_paths_to_contexts) + . = ..() + if (!isatom(target)) + return ELEMENT_INCOMPATIBLE + + src.item_paths_to_contexts = item_paths_to_contexts + + var/atom/atom_target = target + atom_target.flags_1 |= HAS_CONTEXTUAL_SCREENTIPS_1 + RegisterSignal(atom_target, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM, .proc/on_requesting_context_from_item) + +/datum/element/contextual_screentip_item_typechecks/Detach(datum/source, ...) + UnregisterSignal(source, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM) + + // We don't remove HAS_CONTEXTUAL_SCREENTIPS_1, since there could be other stuff still hooked to it, + // and being set without signals is not dangerous, just less performant. + // A lot of things don't do this, perhaps make a proc that checks if any signals are still set, and if not, + // remove the flag. + + return ..() + +/datum/element/contextual_screentip_item_typechecks/proc/on_requesting_context_from_item( + datum/source, + list/context, + obj/item/held_item, +) + SIGNAL_HANDLER + + if (isnull(held_item)) + return NONE + + for (var/item_path in item_paths_to_contexts) + if (istype(held_item, item_path)) + context += item_paths_to_contexts[item_path] + return CONTEXTUAL_SCREENTIP_SET + + return NONE diff --git a/code/datums/elements/screentips/contextual_screentip_tools.dm b/code/datums/elements/screentips/contextual_screentip_tools.dm new file mode 100644 index 0000000000..a0850f8742 --- /dev/null +++ b/code/datums/elements/screentips/contextual_screentip_tools.dm @@ -0,0 +1,48 @@ +/// Apply basic contextual screentips when the user hovers over this item with an item of the given tool behavior. +/// A "Type B" interaction. +/// This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance. +/datum/element/contextual_screentip_tools + element_flags = ELEMENT_BESPOKE | ELEMENT_DETACH + id_arg_index = 2 + + /// Map of tool behaviors to contexts to usages + var/list/tool_behaviors + +/datum/element/contextual_screentip_tools/Attach(datum/target, tool_behaviors) + . = ..() + if (!isatom(target)) + return ELEMENT_INCOMPATIBLE + + src.tool_behaviors = tool_behaviors + + var/atom/atom_target = target + atom_target.flags_1 |= HAS_CONTEXTUAL_SCREENTIPS_1 + RegisterSignal(atom_target, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM, .proc/on_requesting_context_from_item) + +/datum/element/contextual_screentip_tools/Detach(datum/source, ...) + UnregisterSignal(source, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM) + + // We don't remove HAS_CONTEXTUAL_SCREENTIPS_1, since there could be other stuff still hooked to it, + // and being set without signals is not dangerous, just less performant. + // A lot of things don't do this, perhaps make a proc that checks if any signals are still set, and if not, + // remove the flag. + + return ..() + +/datum/element/contextual_screentip_tools/proc/on_requesting_context_from_item( + datum/source, + list/context, + obj/item/held_item, +) + SIGNAL_HANDLER + + if (isnull(held_item)) + return NONE + + var/tool_behavior = held_item.tool_behaviour + if (!(tool_behavior in tool_behaviors)) + return NONE + + context += tool_behaviors[tool_behavior] + + return CONTEXTUAL_SCREENTIP_SET diff --git a/code/datums/elements/screentips/item_context.dm b/code/datums/elements/screentips/item_context.dm new file mode 100644 index 0000000000..239cd18683 --- /dev/null +++ b/code/datums/elements/screentips/item_context.dm @@ -0,0 +1,29 @@ +/// Create a "Type-A" contextual screentip interaction, registering to `add_item_context()`. +/// This will run `add_item_context()` when the item hovers over another object for context. +/// `add_item_context()` will *not* be called unless this is run. +/// This is not necessary for Type-A interactions, as you can just apply the flag and register to the signal yourself. +/obj/item/proc/register_item_context() + item_flags |= ITEM_HAS_CONTEXTUAL_SCREENTIPS + RegisterSignal( + src, + COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGET, + .proc/add_item_context, + ) + +/// Creates a "Type-A" contextual screentip interaction. +/// When a user hovers over something with this item in hand, this proc will be called in order +/// to provide context for contextual screentips. +/// You must call `register_item_context()` in order for this to be registered. +/// A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +/// that map to the action as text. +/// If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET. +/// `source` can, in all cases, be replaced with `src`, and only exists because this proc directly connects to a signal. +/obj/item/proc/add_item_context( + obj/item/source, + list/context, + atom/target, + mob/living/user, +) + SIGNAL_HANDLER + + return NONE diff --git a/code/game/atoms.dm b/code/game/atoms.dm index e7d9898dd2..120dad3419 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -1450,11 +1450,50 @@ /atom/MouseEntered(location, control, params) . = ..() // Screentips - var/client/client = usr?.client - var/datum/hud/active_hud = client?.mob?.hud_used + var/mob/user = usr + if(isnull(user) && !user.client) + return + + var/datum/hud/active_hud = user.hud_used if(active_hud) - if(!client.prefs.screentip_pref || (flags_1 & NO_SCREENTIPS_1)) + var/screentips_enabled = user.client.prefs.screentip_pref + if(screentips_enabled == SCREENTIP_PREFERENCE_DISABLED || (flags_1 & NO_SCREENTIPS_1)) active_hud.screentip_text.maptext = "" else - //We inline a MAPTEXT() here, because there's no good way to statically add to a string like this - active_hud.screentip_text.maptext = MAPTEXT("[name]") + var/extra_context = "" + + if (isliving(user)) + var/obj/item/held_item = user.get_active_held_item() + + if ((flags_1 & HAS_CONTEXTUAL_SCREENTIPS_1) || (held_item?.item_flags & ITEM_HAS_CONTEXTUAL_SCREENTIPS)) + var/list/context = list() + + var/contextual_screentip_returns = \ + SEND_SIGNAL(src, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM, context, held_item, user) \ + | (held_item && SEND_SIGNAL(held_item, COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGET, context, src, user)) + + if (contextual_screentip_returns & CONTEXTUAL_SCREENTIP_SET) + // LMB and RMB on one line... + var/lmb_text = (SCREENTIP_CONTEXT_LMB in context) ? "[SCREENTIP_CONTEXT_LMB]: [context[SCREENTIP_CONTEXT_LMB]]" : "" + var/rmb_text = (SCREENTIP_CONTEXT_RMB in context) ? "[SCREENTIP_CONTEXT_RMB]: [context[SCREENTIP_CONTEXT_RMB]]" : "" + + if (lmb_text) + extra_context = lmb_text + if (rmb_text) + extra_context += " | [rmb_text]" + else if (rmb_text) + extra_context = rmb_text + + // Ctrl-LMB and (in the future) Alt-LMB on another + if (SCREENTIP_CONTEXT_CTRL_LMB in context) + if (extra_context != "") + extra_context += "
" + extra_context += "[SCREENTIP_CONTEXT_CTRL_LMB]: [context[SCREENTIP_CONTEXT_CTRL_LMB]]" + + extra_context = "
[extra_context]" + + if (screentips_enabled == SCREENTIP_PREFERENCE_CONTEXT_ONLY && extra_context == "") + active_hud.screentip_text.maptext = "" + else + //We inline a MAPTEXT() here, because there's no good way to statically add to a string like this + active_hud.screentip_text.maptext = "[name][extra_context]" diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 84e7b93e1b..969469d8ea 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -697,6 +697,38 @@ . += "Alt-click [src] to [ secondsElectrified ? "un-electrify" : "permanently electrify"] it." . += "Ctrl-Shift-click [src] to [ emergency ? "disable" : "enable"] emergency access." +/obj/machinery/door/airlock/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) + . = ..() + + switch (held_item?.tool_behaviour) + if (TOOL_CROWBAR) + if (panel_open) + if (security_level == AIRLOCK_SECURITY_PLASTEEL_O_S || security_level == AIRLOCK_SECURITY_PLASTEEL_I_S) + context[SCREENTIP_CONTEXT_LMB] = "Remove shielding" + return CONTEXTUAL_SCREENTIP_SET + else if (should_try_removing_electronics()) + context[SCREENTIP_CONTEXT_LMB] = "Remove electronics" + return CONTEXTUAL_SCREENTIP_SET + + // Not always contextually true, but is contextually false in ways that make gameplay interesting. + // For example, trying to pry open an airlock, only for the bolts to be down and the lights off. + context[SCREENTIP_CONTEXT_LMB] = "Pry open" + + return CONTEXTUAL_SCREENTIP_SET + if (TOOL_WELDER) + context[SCREENTIP_CONTEXT_RMB] = "Weld shut" + + if (panel_open) + switch (security_level) + if (AIRLOCK_SECURITY_METAL, AIRLOCK_SECURITY_PLASTEEL_I, AIRLOCK_SECURITY_PLASTEEL_O) + context[SCREENTIP_CONTEXT_LMB] = "Cut shielding" + return CONTEXTUAL_SCREENTIP_SET + + context[SCREENTIP_CONTEXT_LMB] = "Repair" + return CONTEXTUAL_SCREENTIP_SET + + return . + /obj/machinery/door/airlock/attack_ai(mob/user) if(!src.canAIControl(user)) if(src.canAIHack()) @@ -1024,6 +1056,31 @@ return return !operating && density +/// Returns if a crowbar would remove the airlock electronics +/obj/machinery/door/airlock/proc/should_try_removing_electronics() + if (security_level != 0) + return FALSE + + if (!panel_open) + return FALSE + + if (obj_flags & EMAGGED) + return TRUE + + if (!density) + return FALSE + + if (!welded) + return FALSE + + if (hasPower()) + return FALSE + + if (locked) + return FALSE + + return TRUE + /obj/machinery/door/airlock/try_to_crowbar(obj/item/I, mob/living/user) var/beingcrowbarred = null if(I.tool_behaviour == TOOL_CROWBAR) @@ -1042,9 +1099,9 @@ charge.forceMove(get_turf(user)) charge = null return - if(beingcrowbarred && panel_open && ((obj_flags & EMAGGED) || (density && welded && !operating && !hasPower() && !locked))) - user.visible_message("[user] removes the electronics from the airlock assembly.", \ - "You start to remove electronics from the airlock assembly...") + if(beingcrowbarred && should_try_removing_electronics() && !operating) + user.visible_message(span_notice("[user] removes the electronics from the airlock assembly."), \ + span_notice("You start to remove electronics from the airlock assembly...")) if(I.use_tool(src, user, 40, volume=100)) deconstruct(TRUE, user) return diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index ef47a0e7f6..535214252a 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -55,6 +55,13 @@ if(!poddoor) . += "Its maintenance panel is screwed in place." +/obj/machinery/door/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) + . = ..() + + if (isnull(held_item)) + context[SCREENTIP_CONTEXT_LMB] = density ? "Open" : "Close" + return CONTEXTUAL_SCREENTIP_SET + /obj/machinery/door/check_access_list(list/access_list) if(red_alert_access && GLOB.security_level >= SEC_LEVEL_RED) return TRUE @@ -65,6 +72,7 @@ set_init_door_layer() update_freelook_sight() air_update_turf(1) + register_context() GLOB.airlocks += src spark_system = new /datum/effect_system/spark_spread spark_system.set_up(2, 1, src) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index c0866ce165..57b8fddbf8 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -46,6 +46,44 @@ else . += "The bolt locks have been unscrewed, but the bolts themselves are still wrenched to the floor." +/obj/machinery/door/firedoor/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) + . = ..() + + if (isnull(held_item)) + if (density) + // This should be LMB/RMB one day + if (user.a_intent == INTENT_HARM) + context[SCREENTIP_CONTEXT_LMB] = "Knock" + else + context[SCREENTIP_CONTEXT_LMB] = "Bash" + + return CONTEXTUAL_SCREENTIP_SET + else + return . + + switch (held_item.tool_behaviour) + if (TOOL_CROWBAR) + if (density) + context[SCREENTIP_CONTEXT_LMB] = "Close" + else if (!welded) + context[SCREENTIP_CONTEXT_LMB] = "Hold open" + context[SCREENTIP_CONTEXT_RMB] = "Open permanently" + + return CONTEXTUAL_SCREENTIP_SET + if (TOOL_WELDER) + context[SCREENTIP_CONTEXT_LMB] = welded ? "Unweld shut" : "Weld shut" + return CONTEXTUAL_SCREENTIP_SET + if (TOOL_WRENCH) + if (welded && !boltslocked) + context[SCREENTIP_CONTEXT_LMB] = "Unfasten bolts" + return CONTEXTUAL_SCREENTIP_SET + if (TOOL_SCREWDRIVER) + if (welded) + context[SCREENTIP_CONTEXT_LMB] = "Unlock bolts" + return CONTEXTUAL_SCREENTIP_SET + + return . + /obj/machinery/door/firedoor/proc/CalculateAffectingAreas() remove_from_areas() affecting_areas = get_adjacent_open_areas(src) | get_base_area(src) diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index a0da29b2d3..013ede3a51 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -51,6 +51,12 @@ myarea = get_base_area(src) LAZYADD(myarea.firealarms, src) + AddElement( \ + /datum/element/contextual_screentip_bare_hands, \ + lmb_text = "Turn on", \ + rmb_text = "Turn off", \ + ) + /obj/machinery/firealarm/Destroy() myarea.firereset(src) LAZYREMOVE(myarea.firealarms, src) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 69fc53c904..160119c935 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -91,6 +91,11 @@ GENETICS SCANNER var/scanmode = SCANMODE_HEALTH var/advanced = FALSE +/obj/item/healthanalyzer/Initialize(mapload) + . = ..() + + register_item_context() + /obj/item/healthanalyzer/suicide_act(mob/living/carbon/user) user.visible_message("[user] begins to analyze [user.p_them()]self with [src]! The display shows that [user.p_theyre()] dead!") return BRUTELOSS @@ -130,6 +135,24 @@ GENETICS SCANNER add_fingerprint(user) +/obj/item/healthanalyzer/add_item_context( + obj/item/source, + list/context, + atom/target, +) + if (!isliving(target)) + return NONE + + switch (scanmode) + if (SCANMODE_HEALTH) + context[SCREENTIP_CONTEXT_LMB] = "Scan health" + if (SCANMODE_CHEMICAL) + context[SCREENTIP_CONTEXT_LMB] = "Scan chemicals" + if (SCANMODE_WOUND) + context[SCREENTIP_CONTEXT_LMB] = "Scan wounds" + + return CONTEXTUAL_SCREENTIP_SET + // Used by the PDA medical scanner too /proc/healthscan(mob/user, mob/living/M, mode = 1, advanced = FALSE) if(isliving(user) && (user.incapacitated() || user.eye_blind)) diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index 163119800f..0c69e8ef6c 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -122,6 +122,21 @@ breakouttime = 300 //Deciseconds = 30s cuffsound = 'sound/weapons/cablecuff.ogg' +/obj/item/restraints/handcuffs/cable/Initialize(mapload) + . = ..() + + var/static/list/hovering_item_typechecks = list( + /obj/item/stack/rods = list( + SCREENTIP_CONTEXT_LMB = "Craft wired rod", + ), + + /obj/item/stack/sheet/metal = list( + SCREENTIP_CONTEXT_LMB = "Craft bola", + ), + ) + + AddElement(/datum/element/contextual_screentip_item_typechecks, hovering_item_typechecks) + /obj/item/restraints/handcuffs/cable/attack_self(mob/user) to_chat(user, "You start unwinding the cable restraints back into coil") if(!do_after(user, 25, TRUE, user)) diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index efd20fdd9e..e970622905 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -30,6 +30,24 @@ var/status_duration = 3 SECONDS //how long our status effects last for otherwise COOLDOWN_DECLARE(shove_cooldown) + /// The context to show when the baton is active and targetting a living thing + var/context_living_target_active = "Stun" + + /// The context to show when the baton is active and targetting a living thing in combat mode + var/context_living_target_active_combat_mode = "Stun" + + /// The context to show when the baton is inactive and targetting a living thing + var/context_living_target_inactive = "Prod" + + /// The context to show when the baton is inactive and targetting a living thing in combat mode + var/context_living_target_inactive_combat_mode = "Attack" + + /// The RMB context to show when the baton is active and targetting a living thing + var/context_living_rmb_active = "Attack" + + /// The RMB context to show when the baton is inactive and targetting a living thing + var/context_living_rmb_inactive = "Attack" + /obj/item/melee/baton/examine(mob/user) . = ..() . += "Right click attack while in combat mode to knockdown, but only once per [cooldown_duration / 10] seconds." @@ -54,6 +72,8 @@ cell = new preload_cell_type(src) update_icon() + register_item_context() + /obj/item/melee/baton/DoRevenantThrowEffects(atom/target) switch_status() @@ -155,6 +175,30 @@ if(!interrupt) return ..() +/obj/item/melee/baton/add_item_context(datum/source, list/context, atom/target, mob/living/user) + if (isturf(target)) + return NONE + + if (isobj(target)) + context[SCREENTIP_CONTEXT_LMB] = "Attack" + else + if (turned_on) + context[SCREENTIP_CONTEXT_RMB] = context_living_rmb_active + + if (user.a_intent == INTENT_HARM) + context[SCREENTIP_CONTEXT_LMB] = context_living_target_active_combat_mode + else + context[SCREENTIP_CONTEXT_LMB] = context_living_target_active + else + context[SCREENTIP_CONTEXT_RMB] = context_living_rmb_inactive + + if (user.a_intent == INTENT_HARM) + context[SCREENTIP_CONTEXT_LMB] = context_living_target_inactive_combat_mode + else + context[SCREENTIP_CONTEXT_LMB] = context_living_target_inactive + + return CONTEXTUAL_SCREENTIP_SET + /obj/item/melee/baton/alt_pre_attack(atom/A, mob/living/user, params) if(!user.CheckActionCooldown(CLICK_CD_MELEE)) return diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index df4ea68af5..fdcfbd3a47 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -583,6 +583,21 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 attack_verb = list("hit", "bludgeoned", "whacked", "bonked") wound_bonus = -10 +/obj/item/wirerod/Initialize(mapload) + . = ..() + + var/static/list/hovering_item_typechecks = list( + /obj/item/shard = list( + SCREENTIP_CONTEXT_LMB = "Craft spear", + ), + + /obj/item/assembly/igniter = list( + SCREENTIP_CONTEXT_LMB = "Craft stunprod", + ), + ) + + AddElement(/datum/element/contextual_screentip_item_typechecks, hovering_item_typechecks) + /obj/item/wirerod/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/shard)) var/obj/item/spear/S = new /obj/item/spear diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 56bd859cda..444df4d965 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -490,6 +490,19 @@ // the sprites in the editor to see why. icon = smooth_icon + if (!(flags_1 & NODECONSTRUCT_1)) + var/static/list/tool_behaviors = list( + TOOL_SCREWDRIVER = list( + SCREENTIP_CONTEXT_RMB = "Disassemble", + ), + + TOOL_WRENCH = list( + SCREENTIP_CONTEXT_RMB = "Deconstruct", + ), + ) + + AddElement(/datum/element/contextual_screentip_tools, tool_behaviors) + /obj/structure/table/wood/fancy/black icon_state = "fancy_table_black" buildstack = /obj/item/stack/tile/carpet/black @@ -704,7 +717,7 @@ . = !density if(istype(caller)) . = . || (caller.pass_flags & PASSTABLE) - + /obj/structure/rack/MouseDrop_T(obj/O, mob/user) . = ..() if ((!( istype(O, /obj/item) ) || user.get_active_held_item() != O)) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 98ee55bc17..9144f0d708 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -62,7 +62,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/UI_style = null var/outline_enabled = TRUE var/outline_color = COLOR_THEME_MIDNIGHT - var/screentip_pref = TRUE + var/screentip_pref = SCREENTIP_PREFERENCE_ENABLED var/screentip_color = "#ffd391" var/buttons_locked = FALSE var/hotkeys = FALSE @@ -2913,7 +2913,14 @@ GLOBAL_LIST_EMPTY(preferences_datums) if(pickedOutlineColor != pickedOutlineColor) outline_color = pickedOutlineColor // nullable if("screentip_pref") - screentip_pref = !screentip_pref + var/choice = tgalert(user, "Choose your screentip preference", "Screentipping?", "Yes", "Context Only", "No") + switch(choice) + if("Yes") + screentip_pref = SCREENTIP_PREFERENCE_ENABLED + if("Context Only") + screentip_pref = SCREENTIP_PREFERENCE_CONTEXT_ONLY + else + screentip_pref = SCREENTIP_PREFERENCE_DISABLED if("screentip_color") var/pickedScreentipColor = input(user, "Choose your screentip color.", "General Preference", screentip_color) as color|null if(pickedScreentipColor) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 962260c2b5..c0386e8f45 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -5,7 +5,7 @@ // You do not need to raise this if you are adding new values that have sane defaults. // Only raise this value when changing the meaning/format/name/layout of an existing value // where you would want the updater procs below to run -#define SAVEFILE_VERSION_MAX 56 +#define SAVEFILE_VERSION_MAX 57 /* SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Carn @@ -56,6 +56,12 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car be_special -= "NO_ANTAGS" for(var/be_special_type in be_special) be_special[be_special_type] = 1 + if(current_version < 57) + if(screentip_pref) + screentip_pref = SCREENTIP_PREFERENCE_ENABLED + else + // Let's give it a little chance okay, change if you don't like still. + screentip_pref = SCREENTIP_PREFERENCE_CONTEXT_ONLY /datum/preferences/proc/update_character(current_version, savefile/S) if(current_version < 19) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index e12a28d01a..bf68b6767d 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -8,6 +8,7 @@ GLOB.carbon_list += src blood_volume = (BLOOD_VOLUME_NORMAL * blood_ratio) add_movespeed_modifier(/datum/movespeed_modifier/carbon_crawling) + register_context() /mob/living/carbon/Destroy() //This must be done first, so the mob ghosts correctly before DNA etc is nulled diff --git a/code/modules/mob/living/carbon/carbon_context.dm b/code/modules/mob/living/carbon/carbon_context.dm new file mode 100644 index 0000000000..c632c08a2e --- /dev/null +++ b/code/modules/mob/living/carbon/carbon_context.dm @@ -0,0 +1,50 @@ +/mob/living/carbon/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) + . = ..() + + if (!isnull(held_item)) + return . + + if (!ishuman(user)) + return . + + var/combat_mode = SEND_SIGNAL(user, COMSIG_COMBAT_MODE_CHECK, COMBAT_MODE_ACTIVE) + + switch(user.a_intent) + if(INTENT_HELP) + if(user == src) + context[SCREENTIP_CONTEXT_LMB] = "Check injuries" + else if(!lying) + context[SCREENTIP_CONTEXT_LMB] = "Comfort" + else if (health >= 0 && !HAS_TRAIT(src, TRAIT_FAKEDEATH)) + context[SCREENTIP_CONTEXT_LMB] = "Shake" + else + context[SCREENTIP_CONTEXT_LMB] = "CPR" + if(INTENT_DISARM) + context[SCREENTIP_CONTEXT_LMB] = "Disarm" + if(combat_mode) + context[SCREENTIP_CONTEXT_RMB] = "Shove" + if(INTENT_GRAB) + if(src != user) + if (pulledby == user) + switch (user.grab_state) + if (GRAB_PASSIVE) + context[SCREENTIP_CONTEXT_LMB] = "Grip" + if (GRAB_AGGRESSIVE) + context[SCREENTIP_CONTEXT_LMB] = "Choke" + if (GRAB_NECK) + context[SCREENTIP_CONTEXT_LMB] = "Strangle" + else + return . + else + context[SCREENTIP_CONTEXT_LMB] = "Pull" + if(INTENT_HARM) + context[SCREENTIP_CONTEXT_LMB] = "Attack" + + // Did you know we cannot upgrade grabs from ctrl-click, that's cool + if(pulledby != user) + context[SCREENTIP_CONTEXT_CTRL_LMB] = "Pull" + // Happens on any intent i believe + if((user == src) && combat_mode && lying) + context[SCREENTIP_CONTEXT_RMB] = "Force to get up" + + return CONTEXTUAL_SCREENTIP_SET diff --git a/code/modules/mob/living/carbon/human/human_context.dm b/code/modules/mob/living/carbon/human/human_context.dm new file mode 100644 index 0000000000..5ad545985e --- /dev/null +++ b/code/modules/mob/living/carbon/human/human_context.dm @@ -0,0 +1,12 @@ +/* // Nothing unique, yet. +/mob/living/carbon/human/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) + . = ..() + + if (!ishuman(user)) + return . + + if (user == src) + return . + + return CONTEXTUAL_SCREENTIP_SET +*/ diff --git a/code/modules/surgery/bodyparts/helpers.dm b/code/modules/surgery/bodyparts/helpers.dm index 40f599c103..9be468079b 100644 --- a/code/modules/surgery/bodyparts/helpers.dm +++ b/code/modules/surgery/bodyparts/helpers.dm @@ -3,6 +3,8 @@ return /mob/living/carbon/get_bodypart(zone) + RETURN_TYPE(/obj/item/bodypart) + if(!zone) zone = BODY_ZONE_CHEST for(var/X in bodyparts) diff --git a/tgstation.dme b/tgstation.dme index e0b11fb3ad..13ef5694e7 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -108,6 +108,7 @@ #include "code\__DEFINES\rust_g.dm" #include "code\__DEFINES\rust_g_overrides.dm" #include "code\__DEFINES\say.dm" +#include "code\__DEFINES\screentips.dm" #include "code\__DEFINES\security_levels.dm" #include "code\__DEFINES\shuttles.dm" #include "code\__DEFINES\sight.dm" @@ -156,6 +157,7 @@ #include "code\__DEFINES\dcs\flags.dm" #include "code\__DEFINES\dcs\helpers.dm" #include "code\__DEFINES\dcs\signals.dm" +#include "code\__DEFINES\dcs\signals\signals_screentips.dm" #include "code\__DEFINES\dcs\signals\signals_subsystem.dm" #include "code\__DEFINES\dcs\signals\signals_atom\signals_atom_movement.dm" #include "code\__DEFINES\dcs\signals\signals_mob\signals_mob_living.dm" @@ -715,6 +717,11 @@ #include "code\datums\elements\ventcrawling.dm" #include "code\datums\elements\weather_listener.dm" #include "code\datums\elements\wuv.dm" +#include "code\datums\elements\screentips\atom_context.dm" +#include "code\datums\elements\screentips\contextual_screentip_bare_hands.dm" +#include "code\datums\elements\screentips\contextual_screentip_item_typechecks.dm" +#include "code\datums\elements\screentips\contextual_screentip_tools.dm" +#include "code\datums\elements\screentips\item_context.dm" #include "code\datums\helper_datums\events.dm" #include "code\datums\helper_datums\getrev.dm" #include "code\datums\helper_datums\icon_snapshot.dm" @@ -2641,6 +2648,7 @@ #include "code\modules\mob\living\brain\status_procs.dm" #include "code\modules\mob\living\carbon\carbon.dm" #include "code\modules\mob\living\carbon\carbon_active_parry.dm" +#include "code\modules\mob\living\carbon\carbon_context.dm" #include "code\modules\mob\living\carbon\carbon_defense.dm" #include "code\modules\mob\living\carbon\carbon_defines.dm" #include "code\modules\mob\living\carbon\carbon_movement.dm" @@ -2696,6 +2704,7 @@ #include "code\modules\mob\living\carbon\human\examine.dm" #include "code\modules\mob\living\carbon\human\human.dm" #include "code\modules\mob\living\carbon\human\human_block.dm" +#include "code\modules\mob\living\carbon\human\human_context.dm" #include "code\modules\mob\living\carbon\human\human_defense.dm" #include "code\modules\mob\living\carbon\human\human_defines.dm" #include "code\modules\mob\living\carbon\human\human_helpers.dm" From 1b1154260cfd48193bea9772e863dc22208d66ff Mon Sep 17 00:00:00 2001 From: SandPoot Date: Wed, 8 Feb 2023 02:17:57 -0300 Subject: [PATCH 06/13] correct everything and some intention based checks --- code/datums/elements/screentips/README.md | 4 +- .../contextual_screentip_bare_hands.dm | 49 +++++++++++++++---- code/game/machinery/doors/airlock.dm | 4 ++ code/game/machinery/doors/door.dm | 2 +- code/game/machinery/doors/firedoor.dm | 20 ++------ code/game/machinery/firealarm.dm | 11 +++-- code/game/objects/items/devices/scanners.dm | 1 + code/game/objects/items/stunbaton.dm | 30 +++--------- code/game/objects/structures/tables_racks.dm | 14 +++++- .../mob/living/carbon/carbon_context.dm | 4 +- 10 files changed, 79 insertions(+), 60 deletions(-) diff --git a/code/datums/elements/screentips/README.md b/code/datums/elements/screentips/README.md index b52a5d18d1..069b5d6f37 100644 --- a/code/datums/elements/screentips/README.md +++ b/code/datums/elements/screentips/README.md @@ -19,8 +19,8 @@ Example: . = ..() AddElement( \ /datum/element/contextual_screentip_bare_hands, \ - lmb_text = "Turn on", \ - rmb_text = "Turn off", \ + lmb_text = list(INTENT_HELP = "Turn on"), \ + rmb_text = list(INTENT_HELP = "Turn off"), \ ) ``` diff --git a/code/datums/elements/screentips/contextual_screentip_bare_hands.dm b/code/datums/elements/screentips/contextual_screentip_bare_hands.dm index 843d73e78d..136fcf6499 100644 --- a/code/datums/elements/screentips/contextual_screentip_bare_hands.dm +++ b/code/datums/elements/screentips/contextual_screentip_bare_hands.dm @@ -5,20 +5,30 @@ element_flags = ELEMENT_BESPOKE | ELEMENT_DETACH id_arg_index = 3 + /* How to use SandPoot's version of this: + * + * Combat mode will be checked first, then the intents for it, if the + * current intent has not been set it defaults to the first item of the list. + * + * Otherwise if not in combat mode or no messages for it + * will also try to get messages for the current intent + * if failing to, will try to get the first item of the list. + */ + /// If set, the text to show for LMB - var/lmb_text + var/list/lmb_text /// If set, the text to show for RMB - var/rmb_text + var/list/rmb_text /// If set, the text to show for LMB when in combat mode. Otherwise, defaults to lmb_text. - var/lmb_text_combat_mode + var/list/lmb_text_combat_mode /// If set, the text to show for RMB when in combat mode. Otherwise, defaults to rmb_text. - var/rmb_text_combat_mode + var/list/rmb_text_combat_mode // If you're curious about `use_named_parameters`, it's because you should use named parameters! -// AddElement(/datum/element/contextual_screentip_bare_hands, lmb_text = "Do the thing") +// AddElement(/datum/element/contextual_screentip_bare_hands, lmb_text = list(INTENT_HELP = "Do the thing")) /datum/element/contextual_screentip_bare_hands/Attach( datum/target, use_named_parameters, @@ -64,10 +74,31 @@ if (!isnull(held_item)) return NONE - if (!isnull(lmb_text)) - context[SCREENTIP_CONTEXT_LMB] = user.a_intent == INTENT_HARM ? lmb_text_combat_mode : lmb_text + var/combat_mode = SEND_SIGNAL(user, COMSIG_COMBAT_MODE_CHECK, COMBAT_MODE_ACTIVE) - if (!isnull(rmb_text)) - context[SCREENTIP_CONTEXT_RMB] = user.a_intent == INTENT_HARM ? rmb_text_combat_mode : rmb_text + if(combat_mode && length(lmb_text_combat_mode)) + if(lmb_text_combat_mode[user.a_intent]) + context[SCREENTIP_CONTEXT_LMB] = lmb_text_combat_mode[user.a_intent] + else + var/first_item = lmb_text_combat_mode[1] + context[SCREENTIP_CONTEXT_LMB] = lmb_text_combat_mode[first_item] + else if(length(lmb_text)) + if(lmb_text[user.a_intent]) + context[SCREENTIP_CONTEXT_LMB] = lmb_text[user.a_intent] + else + var/first_item = lmb_text[1] + context[SCREENTIP_CONTEXT_LMB] = lmb_text[first_item] + if(combat_mode && length(rmb_text_combat_mode)) + if(rmb_text_combat_mode[user.a_intent]) + context[SCREENTIP_CONTEXT_RMB] = rmb_text_combat_mode[user.a_intent] + else + var/first_item = rmb_text_combat_mode[1] + context[SCREENTIP_CONTEXT_RMB] = rmb_text_combat_mode[first_item] + else if(length(rmb_text)) + if(rmb_text[user.a_intent]) + context[SCREENTIP_CONTEXT_RMB] = rmb_text[user.a_intent] + else + var/first_item = rmb_text[1] + context[SCREENTIP_CONTEXT_RMB] = rmb_text[first_item] return CONTEXTUAL_SCREENTIP_SET diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 969469d8ea..d45d0c3260 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -700,6 +700,10 @@ /obj/machinery/door/airlock/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) . = ..() + if(istype(held_item, /obj/item/stack/sheet/plasteel)) + context[SCREENTIP_CONTEXT_LMB] = "Reinforce" + return CONTEXTUAL_SCREENTIP_SET + switch (held_item?.tool_behaviour) if (TOOL_CROWBAR) if (panel_open) diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 535214252a..b037c8f090 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -58,7 +58,7 @@ /obj/machinery/door/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) . = ..() - if (isnull(held_item)) + if (isnull(held_item) && !istype(src, /obj/machinery/door/firedoor)) // You cannot open/close with your hands context[SCREENTIP_CONTEXT_LMB] = density ? "Open" : "Close" return CONTEXTUAL_SCREENTIP_SET diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 57b8fddbf8..b5ca314115 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -51,25 +51,16 @@ if (isnull(held_item)) if (density) - // This should be LMB/RMB one day - if (user.a_intent == INTENT_HARM) - context[SCREENTIP_CONTEXT_LMB] = "Knock" - else - context[SCREENTIP_CONTEXT_LMB] = "Bash" - + context[SCREENTIP_CONTEXT_LMB] = "Knock" return CONTEXTUAL_SCREENTIP_SET else return . switch (held_item.tool_behaviour) if (TOOL_CROWBAR) - if (density) - context[SCREENTIP_CONTEXT_LMB] = "Close" - else if (!welded) - context[SCREENTIP_CONTEXT_LMB] = "Hold open" - context[SCREENTIP_CONTEXT_RMB] = "Open permanently" - - return CONTEXTUAL_SCREENTIP_SET + if(!welded) + context[SCREENTIP_CONTEXT_LMB] = density ? "Open" : "Close" + return CONTEXTUAL_SCREENTIP_SET if (TOOL_WELDER) context[SCREENTIP_CONTEXT_LMB] = welded ? "Unweld shut" : "Weld shut" return CONTEXTUAL_SCREENTIP_SET @@ -79,9 +70,8 @@ return CONTEXTUAL_SCREENTIP_SET if (TOOL_SCREWDRIVER) if (welded) - context[SCREENTIP_CONTEXT_LMB] = "Unlock bolts" + context[SCREENTIP_CONTEXT_LMB] = boltslocked ? "Unlock bolts" : "Lock bolts" return CONTEXTUAL_SCREENTIP_SET - return . /obj/machinery/door/firedoor/proc/CalculateAffectingAreas() diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 013ede3a51..bd741d536e 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -51,11 +51,12 @@ myarea = get_base_area(src) LAZYADD(myarea.firealarms, src) - AddElement( \ - /datum/element/contextual_screentip_bare_hands, \ - lmb_text = "Turn on", \ - rmb_text = "Turn off", \ - ) +/obj/machinery/firealarm/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) + . = ..() + + if(isnull(held_item)) + context[SCREENTIP_CONTEXT_LMB] = triggered ? "Turn off" : "Turn on" + return CONTEXTUAL_SCREENTIP_SET /obj/machinery/firealarm/Destroy() myarea.firereset(src) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 160119c935..78d3ae58e4 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -572,6 +572,7 @@ GENETICS SCANNER name = "first aid analyzer" icon_state = "adv_spectrometer" desc = "A prototype MeLo-Tech medical scanner used to diagnose injuries and recommend treatment for serious wounds, but offers no further insight into the patient's health. You hope the final version is less annoying to read!" + scanmode = SCANMODE_WOUND // Forces context to give correct tip. var/next_encouragement var/greedy diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index e970622905..ded7c4d656 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -30,24 +30,6 @@ var/status_duration = 3 SECONDS //how long our status effects last for otherwise COOLDOWN_DECLARE(shove_cooldown) - /// The context to show when the baton is active and targetting a living thing - var/context_living_target_active = "Stun" - - /// The context to show when the baton is active and targetting a living thing in combat mode - var/context_living_target_active_combat_mode = "Stun" - - /// The context to show when the baton is inactive and targetting a living thing - var/context_living_target_inactive = "Prod" - - /// The context to show when the baton is inactive and targetting a living thing in combat mode - var/context_living_target_inactive_combat_mode = "Attack" - - /// The RMB context to show when the baton is active and targetting a living thing - var/context_living_rmb_active = "Attack" - - /// The RMB context to show when the baton is inactive and targetting a living thing - var/context_living_rmb_inactive = "Attack" - /obj/item/melee/baton/examine(mob/user) . = ..() . += "Right click attack while in combat mode to knockdown, but only once per [cooldown_duration / 10] seconds." @@ -183,19 +165,19 @@ context[SCREENTIP_CONTEXT_LMB] = "Attack" else if (turned_on) - context[SCREENTIP_CONTEXT_RMB] = context_living_rmb_active + context[SCREENTIP_CONTEXT_RMB] = "Knockdown" if (user.a_intent == INTENT_HARM) - context[SCREENTIP_CONTEXT_LMB] = context_living_target_active_combat_mode + context[SCREENTIP_CONTEXT_LMB] = "Harmful stun" else - context[SCREENTIP_CONTEXT_LMB] = context_living_target_active + context[SCREENTIP_CONTEXT_LMB] = "Stun" else - context[SCREENTIP_CONTEXT_RMB] = context_living_rmb_inactive + context[SCREENTIP_CONTEXT_RMB] = "Knockdown" // DON'T TELL EM, PRANKED. if (user.a_intent == INTENT_HARM) - context[SCREENTIP_CONTEXT_LMB] = context_living_target_inactive_combat_mode + context[SCREENTIP_CONTEXT_LMB] = "Attack" // It's fine i guess...? else - context[SCREENTIP_CONTEXT_LMB] = context_living_target_inactive + context[SCREENTIP_CONTEXT_LMB] = "Stun" // STILL DO NOT DARE TELLING THEM return CONTEXTUAL_SCREENTIP_SET diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 444df4d965..d0344d68fc 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -37,6 +37,16 @@ smooth = SMOOTH_TRUE canSmoothWith = list(/obj/structure/table, /obj/structure/table/reinforced, /obj/structure/table/greyscale) +/obj/structure/table/Initialize(mapload) + . = ..() + + var/static/list/barehanded_interactions = list( + INTENT_HELP = "Slap", + INTENT_HARM = "Slam" + ) + + AddElement(/datum/element/contextual_screentip_bare_hands, rmb_text_combat_mode = barehanded_interactions) + /obj/structure/table/examine(mob/user) . = ..() . += deconstruction_hints(user) @@ -493,11 +503,11 @@ if (!(flags_1 & NODECONSTRUCT_1)) var/static/list/tool_behaviors = list( TOOL_SCREWDRIVER = list( - SCREENTIP_CONTEXT_RMB = "Disassemble", + SCREENTIP_CONTEXT_LMB = "Disassemble", ), TOOL_WRENCH = list( - SCREENTIP_CONTEXT_RMB = "Deconstruct", + SCREENTIP_CONTEXT_LMB = "Deconstruct", ), ) diff --git a/code/modules/mob/living/carbon/carbon_context.dm b/code/modules/mob/living/carbon/carbon_context.dm index c632c08a2e..ae2a8d26e7 100644 --- a/code/modules/mob/living/carbon/carbon_context.dm +++ b/code/modules/mob/living/carbon/carbon_context.dm @@ -21,7 +21,7 @@ context[SCREENTIP_CONTEXT_LMB] = "CPR" if(INTENT_DISARM) context[SCREENTIP_CONTEXT_LMB] = "Disarm" - if(combat_mode) + if(combat_mode && (src != user)) context[SCREENTIP_CONTEXT_RMB] = "Shove" if(INTENT_GRAB) if(src != user) @@ -41,7 +41,7 @@ context[SCREENTIP_CONTEXT_LMB] = "Attack" // Did you know we cannot upgrade grabs from ctrl-click, that's cool - if(pulledby != user) + if((pulledby != user) && (src != user)) context[SCREENTIP_CONTEXT_CTRL_LMB] = "Pull" // Happens on any intent i believe if((user == src) && combat_mode && lying) From 4491abc2d78707ce3d683bbc3c769045ce8d0e04 Mon Sep 17 00:00:00 2001 From: SandPoot Date: Thu, 9 Feb 2023 02:20:02 -0300 Subject: [PATCH 07/13] updates to most recent version and puts intent hints! --- code/__DEFINES/screentips.dm | 18 ++ code/datums/elements/screentips/README.md | 10 +- .../contextual_screentip_bare_hands.dm | 28 +-- .../contextual_screentip_sharpness.dm | 57 ++++++ .../{elements => }/screentips/atom_context.dm | 0 .../{elements => }/screentips/item_context.dm | 0 code/game/atoms.dm | 193 ++++++++++++++++-- code/game/machinery/doors/airlock.dm | 14 +- code/game/machinery/doors/door.dm | 2 +- code/game/machinery/doors/firedoor.dm | 10 +- code/game/machinery/firealarm.dm | 5 +- code/game/objects/items/devices/PDA/PDA.dm | 32 +++ code/game/objects/items/devices/scanners.dm | 6 +- code/game/objects/items/handcuffs.dm | 4 +- code/game/objects/items/stunbaton.dm | 18 +- code/game/objects/items/weaponry.dm | 4 +- code/game/objects/structures/tables_racks.dm | 4 +- code/modules/client/preferences.dm | 2 +- .../mob/living/carbon/carbon_context.dm | 60 +++--- .../mob/living/carbon/human/human_context.dm | 17 +- tgstation.dme | 5 +- 21 files changed, 382 insertions(+), 107 deletions(-) create mode 100644 code/datums/elements/screentips/contextual_screentip_sharpness.dm rename code/datums/{elements => }/screentips/atom_context.dm (100%) rename code/datums/{elements => }/screentips/item_context.dm (100%) diff --git a/code/__DEFINES/screentips.dm b/code/__DEFINES/screentips.dm index fecbc2a826..a3b1018352 100644 --- a/code/__DEFINES/screentips.dm +++ b/code/__DEFINES/screentips.dm @@ -4,9 +4,24 @@ /// Context applied to RMB actions #define SCREENTIP_CONTEXT_RMB "RMB" +/// Context applied to Shift-LMB actions +#define SCREENTIP_CONTEXT_SHIFT_LMB "Shift-LMB" + /// Context applied to Ctrl-LMB actions #define SCREENTIP_CONTEXT_CTRL_LMB "Ctrl-LMB" +/// Context applied to Ctrl-RMB actions +#define SCREENTIP_CONTEXT_CTRL_RMB "Ctrl-RMB" + +/// Context applied to Alt-LMB actions +#define SCREENTIP_CONTEXT_ALT_LMB "Alt-LMB" + +/// Context applied to Alt-RMB actions +#define SCREENTIP_CONTEXT_ALT_RMB "Alt-RMB" + +/// Context applied to Ctrl-Shift-LMB actions +#define SCREENTIP_CONTEXT_CTRL_SHIFT_LMB "Ctrl-Shift-LMB" + /// Screentips are always disabled #define SCREENTIP_PREFERENCE_DISABLED "Disabled" @@ -15,3 +30,6 @@ /// Screentips are only enabled when they have context #define SCREENTIP_PREFERENCE_CONTEXT_ONLY "Only with tips" + +/// Regardless of intent +#define INTENT_ANY "intent_any" diff --git a/code/datums/elements/screentips/README.md b/code/datums/elements/screentips/README.md index 069b5d6f37..95dd54d7f7 100644 --- a/code/datums/elements/screentips/README.md +++ b/code/datums/elements/screentips/README.md @@ -17,6 +17,7 @@ Example: ```dm /obj/machinery/firealarm/Initialize(mapload) . = ..() + AddElement( \ /datum/element/contextual_screentip_bare_hands, \ lmb_text = list(INTENT_HELP = "Turn on"), \ @@ -37,12 +38,14 @@ Example: if (!(flags_1 & NODECONSTRUCT_1)) var/static/list/tool_behaviors = list( TOOL_SCREWDRIVER = list( - SCREENTIP_CONTEXT_RMB = "Disassemble", + SCREENTIP_CONTEXT_LMB = "Disassemble", ), + TOOL_WRENCH = list( - SCREENTIP_CONTEXT_RMB = "Deconstruct", + SCREENTIP_CONTEXT_LMB = "Deconstruct", ), ) + AddElement(/datum/element/contextual_screentip_tools, tool_behaviors) ``` @@ -57,14 +60,17 @@ Example: ```dm /obj/item/restraints/handcuffs/cable/Initialize(mapload) . = ..() + var/static/list/hovering_item_typechecks = list( /obj/item/stack/rods = list( SCREENTIP_CONTEXT_LMB = "Craft wired rod", ), + /obj/item/stack/sheet/iron = list( SCREENTIP_CONTEXT_LMB = "Craft bola", ), ) + AddElement(/datum/element/contextual_screentip_item_typechecks, hovering_item_typechecks) ``` diff --git a/code/datums/elements/screentips/contextual_screentip_bare_hands.dm b/code/datums/elements/screentips/contextual_screentip_bare_hands.dm index 136fcf6499..98ef45af3f 100644 --- a/code/datums/elements/screentips/contextual_screentip_bare_hands.dm +++ b/code/datums/elements/screentips/contextual_screentip_bare_hands.dm @@ -76,29 +76,17 @@ var/combat_mode = SEND_SIGNAL(user, COMSIG_COMBAT_MODE_CHECK, COMBAT_MODE_ACTIVE) + // Combat lmb if(combat_mode && length(lmb_text_combat_mode)) - if(lmb_text_combat_mode[user.a_intent]) - context[SCREENTIP_CONTEXT_LMB] = lmb_text_combat_mode[user.a_intent] - else - var/first_item = lmb_text_combat_mode[1] - context[SCREENTIP_CONTEXT_LMB] = lmb_text_combat_mode[first_item] + context[SCREENTIP_CONTEXT_LMB] = lmb_text_combat_mode + // LMB else if(length(lmb_text)) - if(lmb_text[user.a_intent]) - context[SCREENTIP_CONTEXT_LMB] = lmb_text[user.a_intent] - else - var/first_item = lmb_text[1] - context[SCREENTIP_CONTEXT_LMB] = lmb_text[first_item] + context[SCREENTIP_CONTEXT_LMB] = lmb_text + // Combat rmb if(combat_mode && length(rmb_text_combat_mode)) - if(rmb_text_combat_mode[user.a_intent]) - context[SCREENTIP_CONTEXT_RMB] = rmb_text_combat_mode[user.a_intent] - else - var/first_item = rmb_text_combat_mode[1] - context[SCREENTIP_CONTEXT_RMB] = rmb_text_combat_mode[first_item] + context[SCREENTIP_CONTEXT_RMB] = rmb_text_combat_mode + // RMB else if(length(rmb_text)) - if(rmb_text[user.a_intent]) - context[SCREENTIP_CONTEXT_RMB] = rmb_text[user.a_intent] - else - var/first_item = rmb_text[1] - context[SCREENTIP_CONTEXT_RMB] = rmb_text[first_item] + context[SCREENTIP_CONTEXT_RMB] = rmb_text return CONTEXTUAL_SCREENTIP_SET diff --git a/code/datums/elements/screentips/contextual_screentip_sharpness.dm b/code/datums/elements/screentips/contextual_screentip_sharpness.dm new file mode 100644 index 0000000000..0ee89f2fd7 --- /dev/null +++ b/code/datums/elements/screentips/contextual_screentip_sharpness.dm @@ -0,0 +1,57 @@ +/// Apply basic contextual screentips when the user hovers over this item with an item of the given tool behavior. +/// A "Type B" interaction. +/// This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance. +/datum/element/contextual_screentip_sharpness + element_flags = ELEMENT_BESPOKE | ELEMENT_DETACH + id_arg_index = 2 + + /// If set, the text to show for LMB + var/list/lmb_text + + /// If set, the text to show for RMB + var/list/rmb_text + +/datum/element/contextual_screentip_sharpness/Attach(datum/target, lmb_text, rmb_text) + . = ..() + if (!isatom(target)) + return ELEMENT_INCOMPATIBLE + + src.lmb_text = lmb_text + src.rmb_text = rmb_text + + var/atom/atom_target = target + atom_target.flags_1 |= HAS_CONTEXTUAL_SCREENTIPS_1 + RegisterSignal(atom_target, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM, .proc/on_requesting_context_from_item) + +/datum/element/contextual_screentip_sharpness/Detach(datum/source, ...) + UnregisterSignal(source, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM) + + // We don't remove HAS_CONTEXTUAL_SCREENTIPS_1, since there could be other stuff still hooked to it, + // and being set without signals is not dangerous, just less performant. + // A lot of things don't do this, perhaps make a proc that checks if any signals are still set, and if not, + // remove the flag. + + return ..() + +/datum/element/contextual_screentip_sharpness/proc/on_requesting_context_from_item( + datum/source, + list/context, + obj/item/held_item, +) + SIGNAL_HANDLER + + if (isnull(held_item)) + return NONE + + var/sharpness = held_item.get_sharpness() + if (!sharpness) + return NONE + + if (length(lmb_text)) + context[SCREENTIP_CONTEXT_LMB] = lmb_text + + if (length(rmb_text)) + context[SCREENTIP_CONTEXT_RMB] = rmb_text + + return CONTEXTUAL_SCREENTIP_SET + diff --git a/code/datums/elements/screentips/atom_context.dm b/code/datums/screentips/atom_context.dm similarity index 100% rename from code/datums/elements/screentips/atom_context.dm rename to code/datums/screentips/atom_context.dm diff --git a/code/datums/elements/screentips/item_context.dm b/code/datums/screentips/item_context.dm similarity index 100% rename from code/datums/elements/screentips/item_context.dm rename to code/datums/screentips/item_context.dm diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 120dad3419..deed93676e 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -1460,12 +1460,34 @@ if(screentips_enabled == SCREENTIP_PREFERENCE_DISABLED || (flags_1 & NO_SCREENTIPS_1)) active_hud.screentip_text.maptext = "" else + active_hud.screentip_text.maptext_y = 0 + var/lmb_rmb_line = "" + var/ctrl_lmb_ctrl_rmb_line = "" + var/alt_lmb_alt_rmb_line = "" + var/shift_lmb_ctrl_shift_lmb_line = "" + var/extra_lines = 0 var/extra_context = "" - if (isliving(user)) + // Generate intent icons + var/static/image/intent_help + if(!intent_help) + intent_help = image('icons/emoji.dmi', icon_state = INTENT_HELP) + var/static/image/intent_disarm + if(!intent_disarm) + intent_disarm = image('icons/emoji.dmi', icon_state = INTENT_DISARM) + var/static/image/intent_grab + if(!intent_grab) + intent_grab = image('icons/emoji.dmi', icon_state = INTENT_GRAB) + var/static/image/intent_harm + if(!intent_harm) + intent_harm = image('icons/emoji.dmi', icon_state = INTENT_HARM) + // + + + if (isliving(user) || isovermind(user) || isaicamera(user)) var/obj/item/held_item = user.get_active_held_item() - if ((flags_1 & HAS_CONTEXTUAL_SCREENTIPS_1) || (held_item?.item_flags & ITEM_HAS_CONTEXTUAL_SCREENTIPS)) + if (flags_1 & HAS_CONTEXTUAL_SCREENTIPS_1 || held_item?.item_flags & ITEM_HAS_CONTEXTUAL_SCREENTIPS) var/list/context = list() var/contextual_screentip_returns = \ @@ -1474,23 +1496,168 @@ if (contextual_screentip_returns & CONTEXTUAL_SCREENTIP_SET) // LMB and RMB on one line... - var/lmb_text = (SCREENTIP_CONTEXT_LMB in context) ? "[SCREENTIP_CONTEXT_LMB]: [context[SCREENTIP_CONTEXT_LMB]]" : "" - var/rmb_text = (SCREENTIP_CONTEXT_RMB in context) ? "[SCREENTIP_CONTEXT_RMB]: [context[SCREENTIP_CONTEXT_RMB]]" : "" + var/lmb_text = "" + if((SCREENTIP_CONTEXT_LMB in context) && (length(context[SCREENTIP_CONTEXT_LMB]) > 0)) + var/list/to_add + for(var/intent in context[SCREENTIP_CONTEXT_LMB]) + switch(intent) + if(INTENT_HELP) + LAZYADD(to_add, "\icon[intent_help] [SCREENTIP_CONTEXT_LMB]: [context[SCREENTIP_CONTEXT_LMB][INTENT_HELP]]") + if(INTENT_DISARM) + LAZYADD(to_add, "\icon[intent_disarm] [SCREENTIP_CONTEXT_LMB]: [context[SCREENTIP_CONTEXT_LMB][INTENT_DISARM]]") + if(INTENT_GRAB) + LAZYADD(to_add, "\icon[intent_grab] [SCREENTIP_CONTEXT_LMB]: [context[SCREENTIP_CONTEXT_LMB][INTENT_GRAB]]") + if(INTENT_HARM) + LAZYADD(to_add, "\icon[intent_harm] [SCREENTIP_CONTEXT_LMB]: [context[SCREENTIP_CONTEXT_LMB][INTENT_HARM]]") + else // If you're adding intent-less YOU BETTER ADD IT FIRST IN THE LIST + LAZYADD(to_add, "[SCREENTIP_CONTEXT_LMB]: [context[SCREENTIP_CONTEXT_LMB][intent]]") + lmb_text = english_list(to_add, "", " | ", " | ", " | ") + var/rmb_text = "" + if((SCREENTIP_CONTEXT_RMB in context) && (length(context[SCREENTIP_CONTEXT_RMB]) > 0)) + var/list/to_add + for(var/intent in context[SCREENTIP_CONTEXT_RMB]) + switch(intent) + if(INTENT_HELP) + LAZYADD(to_add, "\icon[intent_help] [SCREENTIP_CONTEXT_RMB]: [context[SCREENTIP_CONTEXT_RMB][INTENT_HELP]]") + if(INTENT_DISARM) + LAZYADD(to_add, "\icon[intent_disarm] [SCREENTIP_CONTEXT_RMB]: [context[SCREENTIP_CONTEXT_RMB][INTENT_DISARM]]") + if(INTENT_GRAB) + LAZYADD(to_add, "\icon[intent_grab] [SCREENTIP_CONTEXT_RMB]: [context[SCREENTIP_CONTEXT_RMB][INTENT_GRAB]]") + if(INTENT_HARM) + LAZYADD(to_add, "\icon[intent_harm] [SCREENTIP_CONTEXT_RMB]: [context[SCREENTIP_CONTEXT_RMB][INTENT_HARM]]") + else // If you're adding intent-less YOU BETTER ADD IT FIRST IN THE LIST + LAZYADD(to_add, "[SCREENTIP_CONTEXT_RMB]: [context[SCREENTIP_CONTEXT_RMB][intent]]") + rmb_text = english_list(to_add, "", " | ", " | ", " | ") if (lmb_text) - extra_context = lmb_text + lmb_rmb_line = lmb_text if (rmb_text) - extra_context += " | [rmb_text]" + lmb_rmb_line += " | [rmb_text]" else if (rmb_text) - extra_context = rmb_text + lmb_rmb_line = rmb_text - // Ctrl-LMB and (in the future) Alt-LMB on another - if (SCREENTIP_CONTEXT_CTRL_LMB in context) - if (extra_context != "") - extra_context += "
" - extra_context += "[SCREENTIP_CONTEXT_CTRL_LMB]: [context[SCREENTIP_CONTEXT_CTRL_LMB]]" + // Ctrl-LMB, Ctrl-RMB on one line... + if (lmb_rmb_line != "") + lmb_rmb_line += "
" + extra_lines++ + if((SCREENTIP_CONTEXT_CTRL_LMB in context) && (length(context[SCREENTIP_CONTEXT_CTRL_LMB]) > 0)) + var/list/to_add + for(var/intent in context[SCREENTIP_CONTEXT_CTRL_LMB]) + switch(intent) + if(INTENT_HELP) + LAZYADD(to_add, "\icon[intent_help] [SCREENTIP_CONTEXT_CTRL_LMB]: [context[SCREENTIP_CONTEXT_CTRL_LMB][INTENT_HELP]]") + if(INTENT_DISARM) + LAZYADD(to_add, "\icon[intent_disarm] [SCREENTIP_CONTEXT_CTRL_LMB]: [context[SCREENTIP_CONTEXT_CTRL_LMB][INTENT_DISARM]]") + if(INTENT_GRAB) + LAZYADD(to_add, "\icon[intent_grab] [SCREENTIP_CONTEXT_CTRL_LMB]: [context[SCREENTIP_CONTEXT_CTRL_LMB][INTENT_GRAB]]") + if(INTENT_HARM) + LAZYADD(to_add, "\icon[intent_harm] [SCREENTIP_CONTEXT_CTRL_LMB]: [context[SCREENTIP_CONTEXT_CTRL_LMB][INTENT_HARM]]") + else // If you're adding intent-less YOU BETTER ADD IT FIRST IN THE LIST + LAZYADD(to_add, "[SCREENTIP_CONTEXT_CTRL_LMB]: [context[SCREENTIP_CONTEXT_CTRL_LMB][intent]]") + ctrl_lmb_ctrl_rmb_line = english_list(to_add, "", " | ", " | ", " | ") - extra_context = "
[extra_context]" + if((SCREENTIP_CONTEXT_CTRL_RMB in context) && (length(context[SCREENTIP_CONTEXT_CTRL_RMB]) > 0)) + if (ctrl_lmb_ctrl_rmb_line != "") + ctrl_lmb_ctrl_rmb_line += " | " + ctrl_lmb_ctrl_rmb_line += "[SCREENTIP_CONTEXT_CTRL_RMB]: [context[SCREENTIP_CONTEXT_CTRL_RMB]]" + var/list/to_add + for(var/intent in context[SCREENTIP_CONTEXT_CTRL_RMB]) + switch(intent) + if(INTENT_HELP) + LAZYADD(to_add, "\icon[intent_help] [SCREENTIP_CONTEXT_CTRL_RMB]: [context[SCREENTIP_CONTEXT_CTRL_RMB][INTENT_HELP]]") + if(INTENT_DISARM) + LAZYADD(to_add, "\icon[intent_disarm] [SCREENTIP_CONTEXT_CTRL_RMB]: [context[SCREENTIP_CONTEXT_CTRL_RMB][INTENT_DISARM]]") + if(INTENT_GRAB) + LAZYADD(to_add, "\icon[intent_grab] [SCREENTIP_CONTEXT_CTRL_RMB]: [context[SCREENTIP_CONTEXT_CTRL_RMB][INTENT_GRAB]]") + if(INTENT_HARM) + LAZYADD(to_add, "\icon[intent_harm] [SCREENTIP_CONTEXT_CTRL_RMB]: [context[SCREENTIP_CONTEXT_CTRL_RMB][INTENT_HARM]]") + else // If you're adding intent-less YOU BETTER ADD IT FIRST IN THE LIST + LAZYADD(to_add, "[SCREENTIP_CONTEXT_CTRL_RMB]: [context[SCREENTIP_CONTEXT_CTRL_RMB][intent]]") + ctrl_lmb_ctrl_rmb_line = english_list(to_add, "", " | ", " | ", " | ") + + // Alt-LMB, Alt-RMB on one line... + if (ctrl_lmb_ctrl_rmb_line != "") + ctrl_lmb_ctrl_rmb_line += "
" + extra_lines++ + if((SCREENTIP_CONTEXT_ALT_LMB in context) && (length(context[SCREENTIP_CONTEXT_ALT_LMB]) > 0)) + var/list/to_add + for(var/intent in context[SCREENTIP_CONTEXT_ALT_LMB]) + switch(intent) + if(INTENT_HELP) + LAZYADD(to_add, "\icon[intent_help] [SCREENTIP_CONTEXT_ALT_LMB]: [context[SCREENTIP_CONTEXT_ALT_LMB][INTENT_HELP]]") + if(INTENT_DISARM) + LAZYADD(to_add, "\icon[intent_disarm] [SCREENTIP_CONTEXT_ALT_LMB]: [context[SCREENTIP_CONTEXT_ALT_LMB][INTENT_DISARM]]") + if(INTENT_GRAB) + LAZYADD(to_add, "\icon[intent_grab] [SCREENTIP_CONTEXT_ALT_LMB]: [context[SCREENTIP_CONTEXT_ALT_LMB][INTENT_GRAB]]") + if(INTENT_HARM) + LAZYADD(to_add, "\icon[intent_harm] [SCREENTIP_CONTEXT_ALT_LMB]: [context[SCREENTIP_CONTEXT_ALT_LMB][INTENT_HARM]]") + else // If you're adding intent-less YOU BETTER ADD IT FIRST IN THE LIST + LAZYADD(to_add, "[SCREENTIP_CONTEXT_ALT_LMB]: [context[SCREENTIP_CONTEXT_ALT_LMB][intent]]") + alt_lmb_alt_rmb_line = english_list(to_add, "", " | ", " | ", " | ") + if((SCREENTIP_CONTEXT_ALT_RMB in context) && (length(context[SCREENTIP_CONTEXT_ALT_RMB]) > 0)) + if (alt_lmb_alt_rmb_line != "") + alt_lmb_alt_rmb_line += " | " + var/list/to_add + for(var/intent in context[SCREENTIP_CONTEXT_ALT_RMB]) + switch(intent) + if(INTENT_HELP) + LAZYADD(to_add, "\icon[intent_help] [SCREENTIP_CONTEXT_ALT_RMB]: [context[SCREENTIP_CONTEXT_ALT_RMB][INTENT_HELP]]") + if(INTENT_DISARM) + LAZYADD(to_add, "\icon[intent_disarm] [SCREENTIP_CONTEXT_ALT_RMB]: [context[SCREENTIP_CONTEXT_ALT_RMB][INTENT_DISARM]]") + if(INTENT_GRAB) + LAZYADD(to_add, "\icon[intent_grab] [SCREENTIP_CONTEXT_ALT_RMB]: [context[SCREENTIP_CONTEXT_ALT_RMB][INTENT_GRAB]]") + if(INTENT_HARM) + LAZYADD(to_add, "\icon[intent_harm] [SCREENTIP_CONTEXT_ALT_RMB]: [context[SCREENTIP_CONTEXT_ALT_RMB][INTENT_HARM]]") + else // If you're adding intent-less YOU BETTER ADD IT FIRST IN THE LIST + LAZYADD(to_add, "[SCREENTIP_CONTEXT_ALT_RMB]: [context[SCREENTIP_CONTEXT_ALT_RMB][intent]]") + alt_lmb_alt_rmb_line = english_list(to_add, "", " | ", " | ", " | ") + + // Shift-LMB, Ctrl-Shift-LMB on one line... + if (alt_lmb_alt_rmb_line != "") + alt_lmb_alt_rmb_line += "
" + extra_lines++ + if((SCREENTIP_CONTEXT_SHIFT_LMB in context) && (length(context[SCREENTIP_CONTEXT_SHIFT_LMB]) > 0)) + var/list/to_add + for(var/intent in context[SCREENTIP_CONTEXT_SHIFT_LMB]) + switch(intent) + if(INTENT_HELP) + LAZYADD(to_add, "\icon[intent_help] [SCREENTIP_CONTEXT_SHIFT_LMB]: [context[SCREENTIP_CONTEXT_SHIFT_LMB][INTENT_HELP]]") + if(INTENT_DISARM) + LAZYADD(to_add, "\icon[intent_disarm] [SCREENTIP_CONTEXT_SHIFT_LMB]: [context[SCREENTIP_CONTEXT_SHIFT_LMB][INTENT_DISARM]]") + if(INTENT_GRAB) + LAZYADD(to_add, "\icon[intent_grab] [SCREENTIP_CONTEXT_SHIFT_LMB]: [context[SCREENTIP_CONTEXT_SHIFT_LMB][INTENT_GRAB]]") + if(INTENT_HARM) + LAZYADD(to_add, "\icon[intent_harm] [SCREENTIP_CONTEXT_SHIFT_LMB]: [context[SCREENTIP_CONTEXT_SHIFT_LMB][INTENT_HARM]]") + else // If you're adding intent-less YOU BETTER ADD IT FIRST IN THE LIST + LAZYADD(to_add, "[SCREENTIP_CONTEXT_SHIFT_LMB]: [context[SCREENTIP_CONTEXT_SHIFT_LMB][intent]]") + shift_lmb_ctrl_shift_lmb_line = english_list(to_add, "", " | ", " | ", " | ") + + if((SCREENTIP_CONTEXT_CTRL_SHIFT_LMB in context) && (length(context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB]) > 0)) + if (shift_lmb_ctrl_shift_lmb_line != "") + shift_lmb_ctrl_shift_lmb_line += " | " + shift_lmb_ctrl_shift_lmb_line += "[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB]: [context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB]]" + var/list/to_add + for(var/intent in context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB]) + switch(intent) + if(INTENT_HELP) + LAZYADD(to_add, "\icon[intent_help] [SCREENTIP_CONTEXT_CTRL_SHIFT_LMB]: [context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB][INTENT_HELP]]") + if(INTENT_DISARM) + LAZYADD(to_add, "\icon[intent_disarm] [SCREENTIP_CONTEXT_CTRL_SHIFT_LMB]: [context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB][INTENT_DISARM]]") + if(INTENT_GRAB) + LAZYADD(to_add, "\icon[intent_grab] [SCREENTIP_CONTEXT_CTRL_SHIFT_LMB]: [context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB][INTENT_GRAB]]") + if(INTENT_HARM) + LAZYADD(to_add, "\icon[intent_harm] [SCREENTIP_CONTEXT_CTRL_SHIFT_LMB]: [context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB][INTENT_HARM]]") + else // If you're adding intent-less YOU BETTER ADD IT FIRST IN THE LIST + LAZYADD(to_add, "[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB]: [context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB][intent]]") + shift_lmb_ctrl_shift_lmb_line = english_list(to_add, "", " | ", " | ", " | ") + + if (shift_lmb_ctrl_shift_lmb_line != "") + extra_lines++ + + if(extra_lines) + extra_context = "
[lmb_rmb_line][ctrl_lmb_ctrl_rmb_line][alt_lmb_alt_rmb_line][shift_lmb_ctrl_shift_lmb_line]" + //first extra line pushes atom name line up 10px, subsequent lines push it up 9px, this offsets that and keeps the first line in the same place + active_hud.screentip_text.maptext_y = -10 + (extra_lines - 1) * -9 if (screentips_enabled == SCREENTIP_PREFERENCE_CONTEXT_ONLY && extra_context == "") active_hud.screentip_text.maptext = "" diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index d45d0c3260..aa888fe67e 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -701,34 +701,34 @@ . = ..() if(istype(held_item, /obj/item/stack/sheet/plasteel)) - context[SCREENTIP_CONTEXT_LMB] = "Reinforce" + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Reinforce") return CONTEXTUAL_SCREENTIP_SET switch (held_item?.tool_behaviour) if (TOOL_CROWBAR) if (panel_open) if (security_level == AIRLOCK_SECURITY_PLASTEEL_O_S || security_level == AIRLOCK_SECURITY_PLASTEEL_I_S) - context[SCREENTIP_CONTEXT_LMB] = "Remove shielding" + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Remove shielding") return CONTEXTUAL_SCREENTIP_SET else if (should_try_removing_electronics()) - context[SCREENTIP_CONTEXT_LMB] = "Remove electronics" + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Remove electronics") return CONTEXTUAL_SCREENTIP_SET // Not always contextually true, but is contextually false in ways that make gameplay interesting. // For example, trying to pry open an airlock, only for the bolts to be down and the lights off. - context[SCREENTIP_CONTEXT_LMB] = "Pry open" + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Pry open") return CONTEXTUAL_SCREENTIP_SET if (TOOL_WELDER) - context[SCREENTIP_CONTEXT_RMB] = "Weld shut" + LAZYSET(context[SCREENTIP_CONTEXT_RMB], INTENT_ANY, "Weld shut") if (panel_open) switch (security_level) if (AIRLOCK_SECURITY_METAL, AIRLOCK_SECURITY_PLASTEEL_I, AIRLOCK_SECURITY_PLASTEEL_O) - context[SCREENTIP_CONTEXT_LMB] = "Cut shielding" + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Cut shielding") return CONTEXTUAL_SCREENTIP_SET - context[SCREENTIP_CONTEXT_LMB] = "Repair" + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Repair") return CONTEXTUAL_SCREENTIP_SET return . diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index b037c8f090..d565984bf0 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -59,7 +59,7 @@ . = ..() if (isnull(held_item) && !istype(src, /obj/machinery/door/firedoor)) // You cannot open/close with your hands - context[SCREENTIP_CONTEXT_LMB] = density ? "Open" : "Close" + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, (density ? "Open" : "Close")) return CONTEXTUAL_SCREENTIP_SET /obj/machinery/door/check_access_list(list/access_list) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index b5ca314115..b094f5c28a 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -51,7 +51,7 @@ if (isnull(held_item)) if (density) - context[SCREENTIP_CONTEXT_LMB] = "Knock" + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Knock") return CONTEXTUAL_SCREENTIP_SET else return . @@ -59,18 +59,18 @@ switch (held_item.tool_behaviour) if (TOOL_CROWBAR) if(!welded) - context[SCREENTIP_CONTEXT_LMB] = density ? "Open" : "Close" + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, (density ? "Open" : "Close")) return CONTEXTUAL_SCREENTIP_SET if (TOOL_WELDER) - context[SCREENTIP_CONTEXT_LMB] = welded ? "Unweld shut" : "Weld shut" + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, (welded ? "Unweld shut" : "Weld shut")) return CONTEXTUAL_SCREENTIP_SET if (TOOL_WRENCH) if (welded && !boltslocked) - context[SCREENTIP_CONTEXT_LMB] = "Unfasten bolts" + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Unfasten bolts") return CONTEXTUAL_SCREENTIP_SET if (TOOL_SCREWDRIVER) if (welded) - context[SCREENTIP_CONTEXT_LMB] = boltslocked ? "Unlock bolts" : "Lock bolts" + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, (boltslocked ? "Unlock bolts" : "Lock bolts")) return CONTEXTUAL_SCREENTIP_SET return . diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index bd741d536e..0a0bed491b 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -51,11 +51,14 @@ myarea = get_base_area(src) LAZYADD(myarea.firealarms, src) + register_context() + /obj/machinery/firealarm/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) . = ..() if(isnull(held_item)) - context[SCREENTIP_CONTEXT_LMB] = triggered ? "Turn off" : "Turn on" + var/area/location = get_area(src) + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, (location.fire ? "Turn off" : "Turn on")) return CONTEXTUAL_SCREENTIP_SET /obj/machinery/firealarm/Destroy() diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index b3eb8ab439..ed6f4e8123 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -116,6 +116,38 @@ GLOBAL_LIST_EMPTY(PDAs) if(inserted_item && (!isturf(loc))) . += "Ctrl-click to remove [inserted_item]." +/obj/item/pda/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) + . = ..() + + if(held_item) + if(istype(held_item, /obj/item/cartridge) && !cartridge) + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Insert Cartridge") + . = CONTEXTUAL_SCREENTIP_SET + else if(istype(held_item, /obj/item/card/id) && !id) + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Insert ID") + . = CONTEXTUAL_SCREENTIP_SET + else if(istype(held_item, /obj/item/paicard) && !pai) + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Insert pAI") + . = CONTEXTUAL_SCREENTIP_SET + else if(is_type_in_list(held_item, contained_item) && !inserted_item) + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Insert [held_item]") + . = CONTEXTUAL_SCREENTIP_SET + else if(istype(held_item, /obj/item/photo)) + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Scan photo") + . = CONTEXTUAL_SCREENTIP_SET + + if(id) // ID gets removed before inserted_item + LAZYSET(context[SCREENTIP_CONTEXT_ALT_LMB], INTENT_ANY, "Remove ID") + . = CONTEXTUAL_SCREENTIP_SET + else if(inserted_item) + LAZYSET(context[SCREENTIP_CONTEXT_ALT_LMB], INTENT_ANY, "Remove [inserted_item]") + . = CONTEXTUAL_SCREENTIP_SET + + if(inserted_item) + LAZYSET(context[SCREENTIP_CONTEXT_CTRL_LMB], INTENT_ANY, "Remove [inserted_item]") + . = CONTEXTUAL_SCREENTIP_SET + return . || NONE + /obj/item/pda/Initialize(mapload) if(GLOB.pda_reskins) unique_reskin = GLOB.pda_reskins diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 78d3ae58e4..7d7e39c41f 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -145,11 +145,11 @@ GENETICS SCANNER switch (scanmode) if (SCANMODE_HEALTH) - context[SCREENTIP_CONTEXT_LMB] = "Scan health" + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Scan health") if (SCANMODE_CHEMICAL) - context[SCREENTIP_CONTEXT_LMB] = "Scan chemicals" + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Scan chemicals") if (SCANMODE_WOUND) - context[SCREENTIP_CONTEXT_LMB] = "Scan wounds" + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Scan wounds") return CONTEXTUAL_SCREENTIP_SET diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index 0c69e8ef6c..f0cd0fc1e7 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -127,11 +127,11 @@ var/static/list/hovering_item_typechecks = list( /obj/item/stack/rods = list( - SCREENTIP_CONTEXT_LMB = "Craft wired rod", + SCREENTIP_CONTEXT_LMB = list(INTENT_ANY = "Craft wired rod"), ), /obj/item/stack/sheet/metal = list( - SCREENTIP_CONTEXT_LMB = "Craft bola", + SCREENTIP_CONTEXT_LMB = list(INTENT_ANY = "Craft bola"), ), ) diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index ded7c4d656..7d84d38624 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -162,22 +162,18 @@ return NONE if (isobj(target)) - context[SCREENTIP_CONTEXT_LMB] = "Attack" + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Attack") else if (turned_on) - context[SCREENTIP_CONTEXT_RMB] = "Knockdown" + LAZYSET(context[SCREENTIP_CONTEXT_RMB], INTENT_ANY, "Knockdown") - if (user.a_intent == INTENT_HARM) - context[SCREENTIP_CONTEXT_LMB] = "Harmful stun" - else - context[SCREENTIP_CONTEXT_LMB] = "Stun" + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Stun") + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_HARM, "Harmful stun") else - context[SCREENTIP_CONTEXT_RMB] = "Knockdown" // DON'T TELL EM, PRANKED. + LAZYSET(context[SCREENTIP_CONTEXT_RMB], INTENT_ANY, "Knockdown") // DON'T TELL EM, PRANKED. - if (user.a_intent == INTENT_HARM) - context[SCREENTIP_CONTEXT_LMB] = "Attack" // It's fine i guess...? - else - context[SCREENTIP_CONTEXT_LMB] = "Stun" // STILL DO NOT DARE TELLING THEM + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, "Stun") // STILL DO NOT DARE TELLING THEM + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_HARM, "Attack") // It's fine i guess...? return CONTEXTUAL_SCREENTIP_SET diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index fdcfbd3a47..fa8a0bd239 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -588,11 +588,11 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 var/static/list/hovering_item_typechecks = list( /obj/item/shard = list( - SCREENTIP_CONTEXT_LMB = "Craft spear", + SCREENTIP_CONTEXT_LMB = list(INTENT_ANY = "Craft spear"), ), /obj/item/assembly/igniter = list( - SCREENTIP_CONTEXT_LMB = "Craft stunprod", + SCREENTIP_CONTEXT_LMB = list(INTENT_ANY = "Craft stunprod"), ), ) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index d0344d68fc..38b9737104 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -503,11 +503,11 @@ if (!(flags_1 & NODECONSTRUCT_1)) var/static/list/tool_behaviors = list( TOOL_SCREWDRIVER = list( - SCREENTIP_CONTEXT_LMB = "Disassemble", + SCREENTIP_CONTEXT_LMB = list(INTENT_ANY = "Disassemble"), ), TOOL_WRENCH = list( - SCREENTIP_CONTEXT_LMB = "Deconstruct", + SCREENTIP_CONTEXT_LMB = list(INTENT_ANY = "Deconstruct"), ), ) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 9144f0d708..1e83285139 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -827,7 +827,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "UI Style:
[UI_style]
" dat += "Outline: [outline_enabled ? "Enabled" : "Disabled"]
" dat += "Outline Color: [outline_color ? "" : "Theme-based (null)"]    Change
" - dat += "Screentip: [screentip_pref ? "Enabled" : "Disabled"]
" + dat += "Screentip: [screentip_pref]
" dat += "Screentip Color:     Change
" dat += "tgui Monitors: [(tgui_lock) ? "Primary" : "All"]
" dat += "tgui Style: [(tgui_fancy) ? "Fancy" : "No Frills"]
" diff --git a/code/modules/mob/living/carbon/carbon_context.dm b/code/modules/mob/living/carbon/carbon_context.dm index ae2a8d26e7..36c7974574 100644 --- a/code/modules/mob/living/carbon/carbon_context.dm +++ b/code/modules/mob/living/carbon/carbon_context.dm @@ -9,42 +9,40 @@ var/combat_mode = SEND_SIGNAL(user, COMSIG_COMBAT_MODE_CHECK, COMBAT_MODE_ACTIVE) - switch(user.a_intent) - if(INTENT_HELP) - if(user == src) - context[SCREENTIP_CONTEXT_LMB] = "Check injuries" - else if(!lying) - context[SCREENTIP_CONTEXT_LMB] = "Comfort" - else if (health >= 0 && !HAS_TRAIT(src, TRAIT_FAKEDEATH)) - context[SCREENTIP_CONTEXT_LMB] = "Shake" - else - context[SCREENTIP_CONTEXT_LMB] = "CPR" - if(INTENT_DISARM) - context[SCREENTIP_CONTEXT_LMB] = "Disarm" - if(combat_mode && (src != user)) - context[SCREENTIP_CONTEXT_RMB] = "Shove" - if(INTENT_GRAB) - if(src != user) - if (pulledby == user) - switch (user.grab_state) - if (GRAB_PASSIVE) - context[SCREENTIP_CONTEXT_LMB] = "Grip" - if (GRAB_AGGRESSIVE) - context[SCREENTIP_CONTEXT_LMB] = "Choke" - if (GRAB_NECK) - context[SCREENTIP_CONTEXT_LMB] = "Strangle" - else - return . + if(user == src) + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_HELP, "Check injuries") + else if(!lying) + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_HELP, "Comfort") + else if (health >= 0 && !HAS_TRAIT(src, TRAIT_FAKEDEATH)) + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_HELP, "Shake") + else + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_HELP, "CPR") + + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_DISARM, "Disarm") + if(combat_mode && (src != user)) + LAZYSET(context[SCREENTIP_CONTEXT_RMB], INTENT_DISARM, "Shove") + + if(src != user) + if (pulledby == user) + switch (user.grab_state) + if (GRAB_PASSIVE) + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_GRAB, "Grip") + if (GRAB_AGGRESSIVE) + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_GRAB, "Choke") + if (GRAB_NECK) + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_GRAB, "Strangle") else - context[SCREENTIP_CONTEXT_LMB] = "Pull" - if(INTENT_HARM) - context[SCREENTIP_CONTEXT_LMB] = "Attack" + return . + else + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_GRAB, "Pull") + + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_HARM, "Attack") // Did you know we cannot upgrade grabs from ctrl-click, that's cool if((pulledby != user) && (src != user)) - context[SCREENTIP_CONTEXT_CTRL_LMB] = "Pull" + LAZYSET(context[SCREENTIP_CONTEXT_CTRL_LMB], INTENT_ANY, "Pull") // Happens on any intent i believe if((user == src) && combat_mode && lying) - context[SCREENTIP_CONTEXT_RMB] = "Force to get up" + LAZYSET(context[SCREENTIP_CONTEXT_RMB], INTENT_ANY, "Force to get up") return CONTEXTUAL_SCREENTIP_SET diff --git a/code/modules/mob/living/carbon/human/human_context.dm b/code/modules/mob/living/carbon/human/human_context.dm index 5ad545985e..fb3087f432 100644 --- a/code/modules/mob/living/carbon/human/human_context.dm +++ b/code/modules/mob/living/carbon/human/human_context.dm @@ -1,12 +1,21 @@ -/* // Nothing unique, yet. /mob/living/carbon/human/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) . = ..() if (!ishuman(user)) return . - if (user == src) - return . + var/aim_for_mouth = user.zone_selected == "mouth" + var/target_on_help = a_intent == INTENT_HELP + var/target_aiming_for_mouth = zone_selected == "mouth" + var/target_restrained = restrained() + var/same_dir = (dir & user.dir) + var/aim_for_groin = user.zone_selected == "groin" + var/target_aiming_for_groin = zone_selected == "groin" + + if(aim_for_mouth && (target_on_help || target_restrained || target_aiming_for_mouth)) + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_DISARM, "Slap face") + + else if(aim_for_groin && (src == user || lying || same_dir) && (target_on_help || target_restrained || target_aiming_for_groin)) + LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_DISARM, "Slap ass") return CONTEXTUAL_SCREENTIP_SET -*/ diff --git a/tgstation.dme b/tgstation.dme index 13ef5694e7..c958a86148 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -717,11 +717,10 @@ #include "code\datums\elements\ventcrawling.dm" #include "code\datums\elements\weather_listener.dm" #include "code\datums\elements\wuv.dm" -#include "code\datums\elements\screentips\atom_context.dm" #include "code\datums\elements\screentips\contextual_screentip_bare_hands.dm" #include "code\datums\elements\screentips\contextual_screentip_item_typechecks.dm" +#include "code\datums\elements\screentips\contextual_screentip_sharpness.dm" #include "code\datums\elements\screentips\contextual_screentip_tools.dm" -#include "code\datums\elements\screentips\item_context.dm" #include "code\datums\helper_datums\events.dm" #include "code\datums\helper_datums\getrev.dm" #include "code\datums\helper_datums\icon_snapshot.dm" @@ -777,6 +776,8 @@ #include "code\datums\ruins\lavaland.dm" #include "code\datums\ruins\space.dm" #include "code\datums\ruins\station.dm" +#include "code\datums\screentips\atom_context.dm" +#include "code\datums\screentips\item_context.dm" #include "code\datums\skills\_check_skills.dm" #include "code\datums\skills\_skill.dm" #include "code\datums\skills\_skill_holder.dm" From d29ce2328c64ba36444ce3a08505d54acd9ef0be Mon Sep 17 00:00:00 2001 From: SandPoot Date: Thu, 9 Feb 2023 02:25:34 -0300 Subject: [PATCH 08/13] some extra touches --- code/datums/elements/screentips/README.md | 10 +++++----- code/modules/mob/living/carbon/carbon_context.dm | 2 +- .../mob/living/carbon/human/human_context.dm | 15 +++++++++++++++ 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/code/datums/elements/screentips/README.md b/code/datums/elements/screentips/README.md index 95dd54d7f7..5b4ee4fd18 100644 --- a/code/datums/elements/screentips/README.md +++ b/code/datums/elements/screentips/README.md @@ -38,18 +38,18 @@ Example: if (!(flags_1 & NODECONSTRUCT_1)) var/static/list/tool_behaviors = list( TOOL_SCREWDRIVER = list( - SCREENTIP_CONTEXT_LMB = "Disassemble", + SCREENTIP_CONTEXT_LMB = list(INTENT_ANY = "Disassemble"), ), TOOL_WRENCH = list( - SCREENTIP_CONTEXT_LMB = "Deconstruct", + SCREENTIP_CONTEXT_LMB = list(INTENT_ANY = "Deconstruct"), ), ) AddElement(/datum/element/contextual_screentip_tools, tool_behaviors) ``` -This will display "RMB: Deconstruct" when the user hovers over a table with a wrench. +This will display "LMB: Deconstruct" when the user hovers over a table with a wrench. ### `/datum/element/contextual_screentip_item_typechecks` @@ -63,11 +63,11 @@ Example: var/static/list/hovering_item_typechecks = list( /obj/item/stack/rods = list( - SCREENTIP_CONTEXT_LMB = "Craft wired rod", + SCREENTIP_CONTEXT_LMB = list(INTENT_ANY = "Craft wired rod"), ), /obj/item/stack/sheet/iron = list( - SCREENTIP_CONTEXT_LMB = "Craft bola", + SCREENTIP_CONTEXT_LMB = list(INTENT_ANY = "Craft bola"), ), ) diff --git a/code/modules/mob/living/carbon/carbon_context.dm b/code/modules/mob/living/carbon/carbon_context.dm index 36c7974574..e7fc4d11bf 100644 --- a/code/modules/mob/living/carbon/carbon_context.dm +++ b/code/modules/mob/living/carbon/carbon_context.dm @@ -38,7 +38,7 @@ LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_HARM, "Attack") - // Did you know we cannot upgrade grabs from ctrl-click, that's cool + // Monkeys cannot be grabbed harder using ctrl-click, don't ask. if((pulledby != user) && (src != user)) LAZYSET(context[SCREENTIP_CONTEXT_CTRL_LMB], INTENT_ANY, "Pull") // Happens on any intent i believe diff --git a/code/modules/mob/living/carbon/human/human_context.dm b/code/modules/mob/living/carbon/human/human_context.dm index fb3087f432..5229fba3ea 100644 --- a/code/modules/mob/living/carbon/human/human_context.dm +++ b/code/modules/mob/living/carbon/human/human_context.dm @@ -18,4 +18,19 @@ else if(aim_for_groin && (src == user || lying || same_dir) && (target_on_help || target_restrained || target_aiming_for_groin)) LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_DISARM, "Slap ass") + // Humans can actually be upgrade grabbed using ctrl-click + if(src != user) + if (pulledby == user) + switch (user.grab_state) + if (GRAB_PASSIVE) + LAZYSET(context[SCREENTIP_CONTEXT_CTRL_LMB], INTENT_ANY, "Grip") + if (GRAB_AGGRESSIVE) + LAZYSET(context[SCREENTIP_CONTEXT_CTRL_LMB], INTENT_ANY, "Choke") + if (GRAB_NECK) + LAZYSET(context[SCREENTIP_CONTEXT_CTRL_LMB], INTENT_ANY, "Strangle") + else + return . + else + LAZYSET(context[SCREENTIP_CONTEXT_CTRL_LMB], INTENT_ANY, "Pull") + return CONTEXTUAL_SCREENTIP_SET From 78c28a40c7765e78982c9df8a7d99cf40b906e74 Mon Sep 17 00:00:00 2001 From: SandPoot Date: Thu, 9 Feb 2023 02:54:31 -0300 Subject: [PATCH 09/13] sneaky hint about reskinning --- code/datums/elements/object_reskinning.dm | 33 ++++++++++++++++------ code/game/objects/items/devices/PDA/PDA.dm | 2 ++ 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/code/datums/elements/object_reskinning.dm b/code/datums/elements/object_reskinning.dm index 8b5d905e72..8b3177e5ee 100644 --- a/code/datums/elements/object_reskinning.dm +++ b/code/datums/elements/object_reskinning.dm @@ -18,21 +18,20 @@ /datum/element/object_reskinning element_flags = ELEMENT_DETACH -/datum/element/object_reskinning/Attach(datum/target) +/datum/element/object_reskinning/Attach(obj/target) . = ..() - var/obj/the_obj = target - if(!istype(the_obj)) + if(!istype(target)) return ELEMENT_INCOMPATIBLE - if(!islist(the_obj.unique_reskin) || !length(the_obj.unique_reskin)) + if(!islist(target.unique_reskin) || !length(target.unique_reskin)) message_admins("[src] was given to an object without any unique reskins, if you really need to, give it a couple skins first.") return ELEMENT_INCOMPATIBLE - RegisterSignal(the_obj, COMSIG_PARENT_EXAMINE, .proc/on_examine) - RegisterSignal(the_obj, the_obj.reskin_binding, .proc/reskin) + RegisterSignal(target, COMSIG_PARENT_EXAMINE, .proc/on_examine) + RegisterSignal(target, target.reskin_binding, .proc/reskin) + RegisterSignal(target, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM, .proc/on_requesting_context_from_item) -/datum/element/object_reskinning/Detach(datum/source, force) - var/obj/being_deleted = source - UnregisterSignal(source, list(COMSIG_PARENT_EXAMINE, being_deleted.reskin_binding)) +/datum/element/object_reskinning/Detach(obj/source, force) + UnregisterSignal(source, list(COMSIG_PARENT_EXAMINE, source.reskin_binding, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM)) return ..() /datum/element/object_reskinning/proc/on_examine(obj/obj, mob/user, list/examine_list) @@ -102,3 +101,19 @@ if(user.incapacitated()) return FALSE return TRUE + +/datum/element/object_reskinning/proc/on_requesting_context_from_item( + obj/source, + list/context, + obj/item/held_item, + mob/living/user, +) + SIGNAL_HANDLER + + if(isnull(held_item)) + switch(obj.reskin_binding) + if(COMSIG_CLICK_CTRL_SHIFT) + LAZYSET(context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB], INTENT_ANY, "Reskin PDA") + else + LAZYSET(context[SCREENTIP_CONTEXT_ALT_LMB], INTENT_ANY, "Reskin [source]") + return CONTEXTUAL_SCREENTIP_SET diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm index ed6f4e8123..30877750f6 100644 --- a/code/game/objects/items/devices/PDA/PDA.dm +++ b/code/game/objects/items/devices/PDA/PDA.dm @@ -165,6 +165,8 @@ GLOBAL_LIST_EMPTY(PDAs) new_overlays = TRUE update_icon() + register_context() + /obj/item/pda/reskin_obj(mob/M) . = ..() new_overlays = TRUE From c1e8039c11593ea5d787019b90e51d802f1d7de3 Mon Sep 17 00:00:00 2001 From: SandPoot Date: Thu, 9 Feb 2023 03:00:56 -0300 Subject: [PATCH 10/13] source --- code/datums/elements/object_reskinning.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/datums/elements/object_reskinning.dm b/code/datums/elements/object_reskinning.dm index 8b3177e5ee..a75a818fc3 100644 --- a/code/datums/elements/object_reskinning.dm +++ b/code/datums/elements/object_reskinning.dm @@ -111,9 +111,9 @@ SIGNAL_HANDLER if(isnull(held_item)) - switch(obj.reskin_binding) + switch(source.reskin_binding) if(COMSIG_CLICK_CTRL_SHIFT) LAZYSET(context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB], INTENT_ANY, "Reskin PDA") else LAZYSET(context[SCREENTIP_CONTEXT_ALT_LMB], INTENT_ANY, "Reskin [source]") - return CONTEXTUAL_SCREENTIP_SET + return CONTEXTUAL_SCREENTIP_SET From 8ea39f9cf4c6a32567647dcde9ad714afae836a0 Mon Sep 17 00:00:00 2001 From: SandPoot Date: Fri, 10 Feb 2023 00:39:04 -0300 Subject: [PATCH 11/13] helpers --- code/__HELPERS/screentips.dm | 31 +++++ code/game/atoms.dm | 136 ++----------------- code/game/objects/structures/tables_racks.dm | 2 +- tgstation.dme | 1 + 4 files changed, 41 insertions(+), 129 deletions(-) create mode 100644 code/__HELPERS/screentips.dm diff --git a/code/__HELPERS/screentips.dm b/code/__HELPERS/screentips.dm new file mode 100644 index 0000000000..967e1c3bb6 --- /dev/null +++ b/code/__HELPERS/screentips.dm @@ -0,0 +1,31 @@ +// Generate intent icons +/// Help intent icon for screentip context +GLOBAL_DATUM_INIT(icon_intent_help, /image, image('icons/emoji.dmi', icon_state = INTENT_HELP)) +/// Disarm intent icon for screentip context +GLOBAL_DATUM_INIT(icon_intent_disarm, /image, image('icons/emoji.dmi', icon_state = INTENT_DISARM)) +/// Grab intent icon for screentip context +GLOBAL_DATUM_INIT(icon_intent_grab, /image, image('icons/emoji.dmi', icon_state = INTENT_GRAB)) +/// Harm intent icon for screentip context +GLOBAL_DATUM_INIT(icon_intent_harm, /image, image('icons/emoji.dmi', icon_state = INTENT_HARM)) + +/* + * # Builds context with each intent for this key + * Args: + * - context = list (REQUIRED) + * - key = string (REQUIRED) +*/ +/proc/build_context(list/context, key) + var/list/to_add + for(var/intent in context[key]) + switch(intent) + if(INTENT_HELP) + LAZYADD(to_add, "\icon[GLOB.icon_intent_help] [key]: [context[key][INTENT_HELP]]") + if(INTENT_DISARM) + LAZYADD(to_add, "\icon[GLOB.icon_intent_disarm] [key]: [context[key][INTENT_DISARM]]") + if(INTENT_GRAB) + LAZYADD(to_add, "\icon[GLOB.icon_intent_grab] [key]: [context[key][INTENT_GRAB]]") + if(INTENT_HARM) + LAZYADD(to_add, "\icon[GLOB.icon_intent_harm] [key]: [context[key][INTENT_HARM]]") + else // If you're adding intent-less YOU BETTER ADD IT FIRST IN THE LIST + LAZYADD(to_add, "[key]: [context[key][intent]]") + return english_list(to_add, "", " ", " ") diff --git a/code/game/atoms.dm b/code/game/atoms.dm index deed93676e..911a91bea3 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -1468,22 +1468,6 @@ var/extra_lines = 0 var/extra_context = "" - // Generate intent icons - var/static/image/intent_help - if(!intent_help) - intent_help = image('icons/emoji.dmi', icon_state = INTENT_HELP) - var/static/image/intent_disarm - if(!intent_disarm) - intent_disarm = image('icons/emoji.dmi', icon_state = INTENT_DISARM) - var/static/image/intent_grab - if(!intent_grab) - intent_grab = image('icons/emoji.dmi', icon_state = INTENT_GRAB) - var/static/image/intent_harm - if(!intent_harm) - intent_harm = image('icons/emoji.dmi', icon_state = INTENT_HARM) - // - - if (isliving(user) || isovermind(user) || isaicamera(user)) var/obj/item/held_item = user.get_active_held_item() @@ -1498,36 +1482,10 @@ // LMB and RMB on one line... var/lmb_text = "" if((SCREENTIP_CONTEXT_LMB in context) && (length(context[SCREENTIP_CONTEXT_LMB]) > 0)) - var/list/to_add - for(var/intent in context[SCREENTIP_CONTEXT_LMB]) - switch(intent) - if(INTENT_HELP) - LAZYADD(to_add, "\icon[intent_help] [SCREENTIP_CONTEXT_LMB]: [context[SCREENTIP_CONTEXT_LMB][INTENT_HELP]]") - if(INTENT_DISARM) - LAZYADD(to_add, "\icon[intent_disarm] [SCREENTIP_CONTEXT_LMB]: [context[SCREENTIP_CONTEXT_LMB][INTENT_DISARM]]") - if(INTENT_GRAB) - LAZYADD(to_add, "\icon[intent_grab] [SCREENTIP_CONTEXT_LMB]: [context[SCREENTIP_CONTEXT_LMB][INTENT_GRAB]]") - if(INTENT_HARM) - LAZYADD(to_add, "\icon[intent_harm] [SCREENTIP_CONTEXT_LMB]: [context[SCREENTIP_CONTEXT_LMB][INTENT_HARM]]") - else // If you're adding intent-less YOU BETTER ADD IT FIRST IN THE LIST - LAZYADD(to_add, "[SCREENTIP_CONTEXT_LMB]: [context[SCREENTIP_CONTEXT_LMB][intent]]") - lmb_text = english_list(to_add, "", " | ", " | ", " | ") + lmb_text = build_context(context, SCREENTIP_CONTEXT_LMB) var/rmb_text = "" if((SCREENTIP_CONTEXT_RMB in context) && (length(context[SCREENTIP_CONTEXT_RMB]) > 0)) - var/list/to_add - for(var/intent in context[SCREENTIP_CONTEXT_RMB]) - switch(intent) - if(INTENT_HELP) - LAZYADD(to_add, "\icon[intent_help] [SCREENTIP_CONTEXT_RMB]: [context[SCREENTIP_CONTEXT_RMB][INTENT_HELP]]") - if(INTENT_DISARM) - LAZYADD(to_add, "\icon[intent_disarm] [SCREENTIP_CONTEXT_RMB]: [context[SCREENTIP_CONTEXT_RMB][INTENT_DISARM]]") - if(INTENT_GRAB) - LAZYADD(to_add, "\icon[intent_grab] [SCREENTIP_CONTEXT_RMB]: [context[SCREENTIP_CONTEXT_RMB][INTENT_GRAB]]") - if(INTENT_HARM) - LAZYADD(to_add, "\icon[intent_harm] [SCREENTIP_CONTEXT_RMB]: [context[SCREENTIP_CONTEXT_RMB][INTENT_HARM]]") - else // If you're adding intent-less YOU BETTER ADD IT FIRST IN THE LIST - LAZYADD(to_add, "[SCREENTIP_CONTEXT_RMB]: [context[SCREENTIP_CONTEXT_RMB][intent]]") - rmb_text = english_list(to_add, "", " | ", " | ", " | ") + rmb_text = build_context(context, SCREENTIP_CONTEXT_RMB) if (lmb_text) lmb_rmb_line = lmb_text @@ -1541,115 +1499,37 @@ lmb_rmb_line += "
" extra_lines++ if((SCREENTIP_CONTEXT_CTRL_LMB in context) && (length(context[SCREENTIP_CONTEXT_CTRL_LMB]) > 0)) - var/list/to_add - for(var/intent in context[SCREENTIP_CONTEXT_CTRL_LMB]) - switch(intent) - if(INTENT_HELP) - LAZYADD(to_add, "\icon[intent_help] [SCREENTIP_CONTEXT_CTRL_LMB]: [context[SCREENTIP_CONTEXT_CTRL_LMB][INTENT_HELP]]") - if(INTENT_DISARM) - LAZYADD(to_add, "\icon[intent_disarm] [SCREENTIP_CONTEXT_CTRL_LMB]: [context[SCREENTIP_CONTEXT_CTRL_LMB][INTENT_DISARM]]") - if(INTENT_GRAB) - LAZYADD(to_add, "\icon[intent_grab] [SCREENTIP_CONTEXT_CTRL_LMB]: [context[SCREENTIP_CONTEXT_CTRL_LMB][INTENT_GRAB]]") - if(INTENT_HARM) - LAZYADD(to_add, "\icon[intent_harm] [SCREENTIP_CONTEXT_CTRL_LMB]: [context[SCREENTIP_CONTEXT_CTRL_LMB][INTENT_HARM]]") - else // If you're adding intent-less YOU BETTER ADD IT FIRST IN THE LIST - LAZYADD(to_add, "[SCREENTIP_CONTEXT_CTRL_LMB]: [context[SCREENTIP_CONTEXT_CTRL_LMB][intent]]") - ctrl_lmb_ctrl_rmb_line = english_list(to_add, "", " | ", " | ", " | ") + ctrl_lmb_ctrl_rmb_line = build_context(context, SCREENTIP_CONTEXT_CTRL_LMB) if((SCREENTIP_CONTEXT_CTRL_RMB in context) && (length(context[SCREENTIP_CONTEXT_CTRL_RMB]) > 0)) if (ctrl_lmb_ctrl_rmb_line != "") ctrl_lmb_ctrl_rmb_line += " | " ctrl_lmb_ctrl_rmb_line += "[SCREENTIP_CONTEXT_CTRL_RMB]: [context[SCREENTIP_CONTEXT_CTRL_RMB]]" - var/list/to_add - for(var/intent in context[SCREENTIP_CONTEXT_CTRL_RMB]) - switch(intent) - if(INTENT_HELP) - LAZYADD(to_add, "\icon[intent_help] [SCREENTIP_CONTEXT_CTRL_RMB]: [context[SCREENTIP_CONTEXT_CTRL_RMB][INTENT_HELP]]") - if(INTENT_DISARM) - LAZYADD(to_add, "\icon[intent_disarm] [SCREENTIP_CONTEXT_CTRL_RMB]: [context[SCREENTIP_CONTEXT_CTRL_RMB][INTENT_DISARM]]") - if(INTENT_GRAB) - LAZYADD(to_add, "\icon[intent_grab] [SCREENTIP_CONTEXT_CTRL_RMB]: [context[SCREENTIP_CONTEXT_CTRL_RMB][INTENT_GRAB]]") - if(INTENT_HARM) - LAZYADD(to_add, "\icon[intent_harm] [SCREENTIP_CONTEXT_CTRL_RMB]: [context[SCREENTIP_CONTEXT_CTRL_RMB][INTENT_HARM]]") - else // If you're adding intent-less YOU BETTER ADD IT FIRST IN THE LIST - LAZYADD(to_add, "[SCREENTIP_CONTEXT_CTRL_RMB]: [context[SCREENTIP_CONTEXT_CTRL_RMB][intent]]") - ctrl_lmb_ctrl_rmb_line = english_list(to_add, "", " | ", " | ", " | ") + ctrl_lmb_ctrl_rmb_line = build_context(context, SCREENTIP_CONTEXT_CTRL_RMB) // Alt-LMB, Alt-RMB on one line... if (ctrl_lmb_ctrl_rmb_line != "") ctrl_lmb_ctrl_rmb_line += "
" extra_lines++ if((SCREENTIP_CONTEXT_ALT_LMB in context) && (length(context[SCREENTIP_CONTEXT_ALT_LMB]) > 0)) - var/list/to_add - for(var/intent in context[SCREENTIP_CONTEXT_ALT_LMB]) - switch(intent) - if(INTENT_HELP) - LAZYADD(to_add, "\icon[intent_help] [SCREENTIP_CONTEXT_ALT_LMB]: [context[SCREENTIP_CONTEXT_ALT_LMB][INTENT_HELP]]") - if(INTENT_DISARM) - LAZYADD(to_add, "\icon[intent_disarm] [SCREENTIP_CONTEXT_ALT_LMB]: [context[SCREENTIP_CONTEXT_ALT_LMB][INTENT_DISARM]]") - if(INTENT_GRAB) - LAZYADD(to_add, "\icon[intent_grab] [SCREENTIP_CONTEXT_ALT_LMB]: [context[SCREENTIP_CONTEXT_ALT_LMB][INTENT_GRAB]]") - if(INTENT_HARM) - LAZYADD(to_add, "\icon[intent_harm] [SCREENTIP_CONTEXT_ALT_LMB]: [context[SCREENTIP_CONTEXT_ALT_LMB][INTENT_HARM]]") - else // If you're adding intent-less YOU BETTER ADD IT FIRST IN THE LIST - LAZYADD(to_add, "[SCREENTIP_CONTEXT_ALT_LMB]: [context[SCREENTIP_CONTEXT_ALT_LMB][intent]]") - alt_lmb_alt_rmb_line = english_list(to_add, "", " | ", " | ", " | ") + alt_lmb_alt_rmb_line = build_context(context, SCREENTIP_CONTEXT_ALT_LMB) if((SCREENTIP_CONTEXT_ALT_RMB in context) && (length(context[SCREENTIP_CONTEXT_ALT_RMB]) > 0)) if (alt_lmb_alt_rmb_line != "") alt_lmb_alt_rmb_line += " | " - var/list/to_add - for(var/intent in context[SCREENTIP_CONTEXT_ALT_RMB]) - switch(intent) - if(INTENT_HELP) - LAZYADD(to_add, "\icon[intent_help] [SCREENTIP_CONTEXT_ALT_RMB]: [context[SCREENTIP_CONTEXT_ALT_RMB][INTENT_HELP]]") - if(INTENT_DISARM) - LAZYADD(to_add, "\icon[intent_disarm] [SCREENTIP_CONTEXT_ALT_RMB]: [context[SCREENTIP_CONTEXT_ALT_RMB][INTENT_DISARM]]") - if(INTENT_GRAB) - LAZYADD(to_add, "\icon[intent_grab] [SCREENTIP_CONTEXT_ALT_RMB]: [context[SCREENTIP_CONTEXT_ALT_RMB][INTENT_GRAB]]") - if(INTENT_HARM) - LAZYADD(to_add, "\icon[intent_harm] [SCREENTIP_CONTEXT_ALT_RMB]: [context[SCREENTIP_CONTEXT_ALT_RMB][INTENT_HARM]]") - else // If you're adding intent-less YOU BETTER ADD IT FIRST IN THE LIST - LAZYADD(to_add, "[SCREENTIP_CONTEXT_ALT_RMB]: [context[SCREENTIP_CONTEXT_ALT_RMB][intent]]") - alt_lmb_alt_rmb_line = english_list(to_add, "", " | ", " | ", " | ") + alt_lmb_alt_rmb_line = build_context(context, SCREENTIP_CONTEXT_ALT_RMB) // Shift-LMB, Ctrl-Shift-LMB on one line... if (alt_lmb_alt_rmb_line != "") alt_lmb_alt_rmb_line += "
" extra_lines++ if((SCREENTIP_CONTEXT_SHIFT_LMB in context) && (length(context[SCREENTIP_CONTEXT_SHIFT_LMB]) > 0)) - var/list/to_add - for(var/intent in context[SCREENTIP_CONTEXT_SHIFT_LMB]) - switch(intent) - if(INTENT_HELP) - LAZYADD(to_add, "\icon[intent_help] [SCREENTIP_CONTEXT_SHIFT_LMB]: [context[SCREENTIP_CONTEXT_SHIFT_LMB][INTENT_HELP]]") - if(INTENT_DISARM) - LAZYADD(to_add, "\icon[intent_disarm] [SCREENTIP_CONTEXT_SHIFT_LMB]: [context[SCREENTIP_CONTEXT_SHIFT_LMB][INTENT_DISARM]]") - if(INTENT_GRAB) - LAZYADD(to_add, "\icon[intent_grab] [SCREENTIP_CONTEXT_SHIFT_LMB]: [context[SCREENTIP_CONTEXT_SHIFT_LMB][INTENT_GRAB]]") - if(INTENT_HARM) - LAZYADD(to_add, "\icon[intent_harm] [SCREENTIP_CONTEXT_SHIFT_LMB]: [context[SCREENTIP_CONTEXT_SHIFT_LMB][INTENT_HARM]]") - else // If you're adding intent-less YOU BETTER ADD IT FIRST IN THE LIST - LAZYADD(to_add, "[SCREENTIP_CONTEXT_SHIFT_LMB]: [context[SCREENTIP_CONTEXT_SHIFT_LMB][intent]]") - shift_lmb_ctrl_shift_lmb_line = english_list(to_add, "", " | ", " | ", " | ") + shift_lmb_ctrl_shift_lmb_line = build_context(context, SCREENTIP_CONTEXT_SHIFT_LMB) if((SCREENTIP_CONTEXT_CTRL_SHIFT_LMB in context) && (length(context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB]) > 0)) if (shift_lmb_ctrl_shift_lmb_line != "") shift_lmb_ctrl_shift_lmb_line += " | " shift_lmb_ctrl_shift_lmb_line += "[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB]: [context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB]]" - var/list/to_add - for(var/intent in context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB]) - switch(intent) - if(INTENT_HELP) - LAZYADD(to_add, "\icon[intent_help] [SCREENTIP_CONTEXT_CTRL_SHIFT_LMB]: [context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB][INTENT_HELP]]") - if(INTENT_DISARM) - LAZYADD(to_add, "\icon[intent_disarm] [SCREENTIP_CONTEXT_CTRL_SHIFT_LMB]: [context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB][INTENT_DISARM]]") - if(INTENT_GRAB) - LAZYADD(to_add, "\icon[intent_grab] [SCREENTIP_CONTEXT_CTRL_SHIFT_LMB]: [context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB][INTENT_GRAB]]") - if(INTENT_HARM) - LAZYADD(to_add, "\icon[intent_harm] [SCREENTIP_CONTEXT_CTRL_SHIFT_LMB]: [context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB][INTENT_HARM]]") - else // If you're adding intent-less YOU BETTER ADD IT FIRST IN THE LIST - LAZYADD(to_add, "[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB]: [context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB][intent]]") - shift_lmb_ctrl_shift_lmb_line = english_list(to_add, "", " | ", " | ", " | ") + shift_lmb_ctrl_shift_lmb_line = build_context(context, SCREENTIP_CONTEXT_CTRL_SHIFT_LMB) if (shift_lmb_ctrl_shift_lmb_line != "") extra_lines++ diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 38b9737104..b7642f4658 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -41,7 +41,7 @@ . = ..() var/static/list/barehanded_interactions = list( - INTENT_HELP = "Slap", + INTENT_ANY = "Slap", INTENT_HARM = "Slam" ) diff --git a/tgstation.dme b/tgstation.dme index c958a86148..6c23e295ee 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -212,6 +212,7 @@ #include "code\__HELPERS\reagents.dm" #include "code\__HELPERS\roundend.dm" #include "code\__HELPERS\sanitize_values.dm" +#include "code\__HELPERS\screentips.dm" #include "code\__HELPERS\shell.dm" #include "code\__HELPERS\stat_tracking.dm" #include "code\__HELPERS\text.dm" From 04eb7226e6960bf5af773ee6bfd1c3e448aa7f71 Mon Sep 17 00:00:00 2001 From: SandPoot Date: Wed, 15 Feb 2023 23:26:59 -0300 Subject: [PATCH 12/13] general better handling of code + interaction screen tip --- .../DEFINES/dcs/signals/signals_mob_main.dm | 1 + code/_onclick/click.dm | 4 +- .../components/interaction_menu_granter.dm | 45 +++++++++---------- modular_sand/code/modules/mob/mob.dm | 10 +++++ tgstation.dme | 1 + 5 files changed, 36 insertions(+), 25 deletions(-) create mode 100644 code/__SANDCODE/DEFINES/dcs/signals/signals_mob_main.dm diff --git a/code/__SANDCODE/DEFINES/dcs/signals/signals_mob_main.dm b/code/__SANDCODE/DEFINES/dcs/signals/signals_mob_main.dm new file mode 100644 index 0000000000..9eaa655bf2 --- /dev/null +++ b/code/__SANDCODE/DEFINES/dcs/signals/signals_mob_main.dm @@ -0,0 +1 @@ +#define COMSIG_MOB_CTRLSHIFTCLICKON "mob_ctrlshiftclickon" diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 6e8d1de955..b3a75c024c 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -397,8 +397,10 @@ Unused except for AI */ /mob/proc/CtrlShiftClickOn(atom/A) + . = SEND_SIGNAL(src, COMSIG_MOB_CTRLSHIFTCLICKON, A) + if(. & COMSIG_MOB_CANCEL_CLICKON) + return A.CtrlShiftClick(src) - return /mob/proc/ShiftMiddleClickOn(atom/A) src.pointed(A) diff --git a/modular_sand/code/datums/components/interaction_menu_granter.dm b/modular_sand/code/datums/components/interaction_menu_granter.dm index aee711a1b1..c34b9bea69 100644 --- a/modular_sand/code/datums/components/interaction_menu_granter.dm +++ b/modular_sand/code/datums/components/interaction_menu_granter.dm @@ -1,18 +1,19 @@ /// Attempts to open the tgui menu -/mob/proc/interact_with() +/mob/verb/interact_with() set name = "Interact With" set desc = "Perform an interaction with someone." set category = "IC" set src in view() - if(!src) - return - // I FUCKING HATE VERBS (NEED TO GRAB COMPONENT FROM USR, NOT SRC) var/datum/component/interaction_menu_granter/menu = usr.GetComponent(/datum/component/interaction_menu_granter) - if(menu) - menu.open_menu(usr, src) - else // you bad - remove_verb(usr, /mob/proc/interact_with) + if(!menu) + to_chat(usr, span_warning("You must have done something really bad to not have an interaction component.")) + return + + if(!src) + to_chat(usr, span_warning("Your interaction target is gone!")) + return + menu.open_menu(usr, src) #define INTERACTION_NORMAL 0 #define INTERACTION_LEWD 1 @@ -28,32 +29,28 @@ var/mob/parent_mob = parent if(!parent_mob.client) return COMPONENT_INCOMPATIBLE - add_verb(parent_mob, /mob/proc/interact_with) - /// > Why don't you attach it to COMSIG_CLICK_CTRL_SHIFT - /// I want to open the ui on myself, not everyone has it and it's just bad practice i guess. - RegisterSignal(parent_mob, COMSIG_MOB_CLICKON, .proc/open_menu) . = ..() +/datum/component/interaction_menu_granter/RegisterWithParent() + . = ..() + RegisterSignal(parent, COMSIG_MOB_CTRLSHIFTCLICKON, .proc/open_menu) + /datum/component/interaction_menu_granter/Destroy(force, ...) - var/mob/parent_mob = parent - remove_verb(parent_mob, /mob/proc/interact_with) target = null - UnregisterSignal(parent_mob, COMSIG_MOB_CLICKON) . = ..() -/datum/component/interaction_menu_granter/proc/open_menu(mob/clicker, mob/clicked, mouse_params) +/datum/component/interaction_menu_granter/UnregisterFromParent() + UnregisterSignal(parent, COMSIG_MOB_CTRLSHIFTCLICKON) + . = ..() + +/// The one interacting is clicker, the interacted is clicked. +/datum/component/interaction_menu_granter/proc/open_menu(mob/clicker, mob/clicked) // Don't cancel admin quick spawn - if(isobserver(clicked) && check_rights(R_SPAWN, FALSE)) + if(isobserver(clicked) && check_rights_for(clicker, R_SPAWN)) return FALSE - // COMSIG_MOB_CLICKON is sent for EVERYTHING your mob character clicks, avoid non-mob + // COMSIG_MOB_CTRLSHIFTCLICKON accepts `atom`s, prevent it if(!istype(clicked)) return FALSE - // Using the verb calls leaves this empty - if(mouse_params) - var/list/params = params2list(mouse_params) - if(!(params[LEFT_CLICK] && params[CTRL_CLICK] && params[SHIFT_CLICK])) - // Continue click normally - return FALSE target = clicked ui_interact(clicker) return COMSIG_MOB_CANCEL_CLICKON diff --git a/modular_sand/code/modules/mob/mob.dm b/modular_sand/code/modules/mob/mob.dm index 3f8a2650d0..7957645e54 100644 --- a/modular_sand/code/modules/mob/mob.dm +++ b/modular_sand/code/modules/mob/mob.dm @@ -7,6 +7,16 @@ qdel(GetComponent(/datum/component/interaction_menu_granter)) . = ..() +/mob/Initialize(mapload) + . = ..() + register_context() + +/mob/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) + . = ..() + if(user.GetComponent(/datum/component/interaction_menu_granter)) + LAZYSET(context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB], INTENT_ANY, "Interact with") + return CONTEXTUAL_SCREENTIP_SET + ///Adjust the thirst of a mob /mob/proc/adjust_thirst(change, max = THIRST_LEVEL_THRESHOLD) thirst = clamp(thirst + change, 0, max) diff --git a/tgstation.dme b/tgstation.dme index 5e824bc0a5..384f7be73e 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -252,6 +252,7 @@ #include "code\__SANDCODE\DEFINES\subsystems.dm" #include "code\__SANDCODE\DEFINES\traits.dm" #include "code\__SANDCODE\DEFINES\wires.dm" +#include "code\__SANDCODE\DEFINES\dcs\signals\signals_mob_main.dm" #include "code\__SANDCODE\DEFINES\dcs\signals\sizecode.dm" #include "code\__SANDCODE\HELPERS\sizecode.dm" #include "code\_globalvars\admin.dm" From 28f0e55962131d9ebc846edc7479d6e18e4b6a47 Mon Sep 17 00:00:00 2001 From: SandPoot Date: Wed, 15 Feb 2023 23:38:42 -0300 Subject: [PATCH 13/13] sure --- code/datums/screentips/atom_context.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/screentips/atom_context.dm b/code/datums/screentips/atom_context.dm index ae71d6f929..ebab6b155a 100644 --- a/code/datums/screentips/atom_context.dm +++ b/code/datums/screentips/atom_context.dm @@ -4,7 +4,7 @@ /// This is not necessary for Type-B interactions, as you can just apply the flag and register to the signal yourself. /atom/proc/register_context() flags_1 |= HAS_CONTEXTUAL_SCREENTIPS_1 - RegisterSignal(src, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM, .proc/add_context) + RegisterSignal(src, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM, .proc/add_context, override = TRUE) /// Creates a "Type-B" contextual screentip interaction. /// When a user hovers over this, this proc will be called in order