From a9f45105f48cbae5e4db2e107256c8a5938192cb Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Thu, 25 Aug 2022 00:09:00 +0200 Subject: [PATCH] [MIRROR] Adds contextual screentips to posters. [MDB IGNORE] (#15785) * Adds contextual screentips to posters. (#69358) * Adds contextual screentips to posters. Co-authored-by: Jacquerel --- code/game/objects/effects/contraband.dm | 26 +++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/code/game/objects/effects/contraband.dm b/code/game/objects/effects/contraband.dm index 67edae169c1..2b67d5fa84a 100644 --- a/code/game/objects/effects/contraband.dm +++ b/code/game/objects/effects/contraband.dm @@ -14,6 +14,14 @@ /obj/item/poster/Initialize(mapload, obj/structure/sign/poster/new_poster_structure) . = ..() + + var/static/list/hovering_item_typechecks = list( + /obj/item/shard = list( + SCREENTIP_CONTEXT_LMB = "Booby trap poster", + ), + ) + AddElement(/datum/element/contextual_screentip_item_typechecks, hovering_item_typechecks) + poster_structure = new_poster_structure if(!new_poster_structure && poster_type) poster_structure = new poster_type(src) @@ -87,6 +95,7 @@ /obj/structure/sign/poster/Initialize(mapload) . = ..() + register_context() if(random_basetype) randomise(random_basetype) if(!ruined) @@ -96,6 +105,23 @@ AddElement(/datum/element/beauty, 300) +/// Adds contextual screentips +/obj/structure/sign/poster/add_context(atom/source, list/context, obj/item/held_item, mob/user) + . = ..() + if (!held_item) + if (ruined) + return . + context[SCREENTIP_CONTEXT_LMB] = "Rip up poster" + return CONTEXTUAL_SCREENTIP_SET + + if (held_item.tool_behaviour == TOOL_WIRECUTTER) + if (ruined) + context[SCREENTIP_CONTEXT_LMB] = "Clean up remnants" + return CONTEXTUAL_SCREENTIP_SET + context[SCREENTIP_CONTEXT_LMB] = "Take down poster" + return CONTEXTUAL_SCREENTIP_SET + return . + /obj/structure/sign/poster/proc/randomise(base_type) var/list/poster_types = subtypesof(base_type) var/list/approved_types = list()