correct everything and some intention based checks

This commit is contained in:
SandPoot
2023-02-08 02:17:57 -03:00
parent ed06e686e1
commit 1b1154260c
10 changed files with 79 additions and 60 deletions
+4
View File
@@ -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)
+1 -1
View File
@@ -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
+5 -15
View File
@@ -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()
+6 -5
View File
@@ -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)