Notes can be removed from airlocks with wirecutters, even if the airlock maintenance panel is closed (#14902)

* Notes can now be cut from doors with maintenance panel closed.

* Revert harm intent note grabbing.
This commit is contained in:
moxian
2020-11-18 18:08:45 +00:00
committed by GitHub
parent 16d2638c0a
commit f9691ce4ab
+26 -23
View File
@@ -719,7 +719,7 @@ About the new airlock wires panel:
return
if(headbutt_airlock(user))
return//Smack that head against that airlock
return // Smack that head against that airlock
if(remove_airlock_note(user, FALSE))
return
@@ -1004,8 +1004,13 @@ About the new airlock wires panel:
/obj/machinery/door/airlock/wirecutter_act(mob/user, obj/item/I)
if(!headbutt_shock_check(user))
return
if(!panel_open || user.a_intent == INTENT_HARM)
return
if(!panel_open)
if(note)
return remove_airlock_note(user, TRUE)
// Can't do much else with the panel closed.
return FALSE
. = TRUE
if(!I.tool_start_check(src, user, 0))
return
@@ -1020,10 +1025,7 @@ About the new airlock wires panel:
"<span class='notice'>You cut through \the [src]'s outer grille.</span>")
security_level = AIRLOCK_SECURITY_PLASTEEL_O
return
if(note)
remove_airlock_note(user, TRUE)
else
interact_with_panel(user)
interact_with_panel(user)
/obj/machinery/door/airlock/multitool_act(mob/user, obj/item/I)
if(!headbutt_shock_check(user))
@@ -1413,23 +1415,24 @@ About the new airlock wires panel:
//Removes the current note on the door if any. Returns if a note is removed
/obj/machinery/door/airlock/proc/remove_airlock_note(mob/user, wirecutters_used = TRUE)
if(note)
if(!wirecutters_used)
if (ishuman(user) && user.a_intent == INTENT_GRAB)//grab that note
user.visible_message("<span class='notice'>[user] removes [note] from [src].</span>", "<span class='notice'>You remove [note] from [src].</span>")
playsound(src, 'sound/items/poster_ripped.ogg', 50, 1)
else
return FALSE
if(!note)
return FALSE
if(!wirecutters_used)
if (ishuman(user) && (user.a_intent == INTENT_GRAB)) //grab that note
user.visible_message("<span class='notice'>[user] removes [note] from [src].</span>", "<span class='notice'>You remove [note] from [src].</span>")
playsound(src, 'sound/items/poster_ripped.ogg', 50, 1)
else
user.visible_message("<span class='notice'>[user] cuts down [note] from [src].</span>", "<span class='notice'>You remove [note] from [src].</span>")
playsound(src, 'sound/items/wirecutter.ogg', 50, 1)
note.add_fingerprint(user)
user.create_log(MISC_LOG, "removed [note] from", src)
user.put_in_hands(note)
note = null
update_icon()
return TRUE
return FALSE
return FALSE
else
user.visible_message("<span class='notice'>[user] cuts down [note] from [src].</span>", "<span class='notice'>You remove [note] from [src].</span>")
playsound(src, 'sound/items/wirecutter.ogg', 50, 1)
note.add_fingerprint(user)
user.create_log(MISC_LOG, "removed [note] from", src)
user.put_in_hands(note)
note = null
update_icon()
return TRUE
/obj/machinery/door/airlock/narsie_act(weak = FALSE)
var/turf/T = get_turf(src)