This commit is contained in:
Mira
2025-03-10 13:03:40 +00:00
committed by GitHub
parent d9115bb81b
commit f4dc140caa
3 changed files with 24 additions and 17 deletions
+8 -6
View File
@@ -75,7 +75,8 @@
/// Start the equipping process. This is the proc you should yield in.
/// Returns TRUE/FALSE depending on if it is allowed.
/datum/strippable_item/proc/start_equip(atom/source, obj/item/equipping, mob/user)
if(!in_thief_mode(user))
var/thief_mode = in_thief_mode(user)
if(!thief_mode)
source.visible_message(
"<span class='notice'>[user] tries to put [equipping] on [source].</span>",
"<span class='notice'>[user] tries to put [equipping] on you.</span>",
@@ -85,7 +86,7 @@
if(!victim_human.has_vision())
to_chat(victim_human, "<span class='userdanger'>You feel someone trying to put something on you.</span>")
if(!do_mob(user, source, equipping.put_on_delay))
if(!do_mob(user, source, equipping.put_on_delay, hidden = thief_mode))
return FALSE
if(QDELETED(equipping) || !user.Adjacent(source) || (equipping.flags & NODROP))
@@ -127,7 +128,8 @@
add_attack_logs(user, source, "Attempting stripping of [item]")
item.add_fingerprint(user)
if(!in_thief_mode(user))
var/thief_mode = in_thief_mode(user)
if(!thief_mode)
source.visible_message(
"<span class='warning'>[user] tries to remove [source]'s [item.name].</span>",
"<span class='userdanger'>[user] tries to remove your [item.name].</span>",
@@ -138,7 +140,7 @@
if(!victim_human.has_vision())
to_chat(source, "<span class='userdanger'>You feel someone fumble with your belongings.</span>")
return start_unequip_mob(get_item(source), source, user)
return start_unequip_mob(get_item(source), source, user, hidden = thief_mode)
/// The proc that unequips the item from the source. This should not yield.
/datum/strippable_item/proc/finish_unequip(atom/source, mob/user)
@@ -255,10 +257,10 @@
return equipping.put_on_delay
/// A utility function for `/datum/strippable_item`s to start unequipping an item from a mob.
/proc/start_unequip_mob(obj/item/item, mob/source, mob/user, strip_delay)
/proc/start_unequip_mob(obj/item/item, mob/source, mob/user, strip_delay, hidden = FALSE)
if(!strip_delay)
strip_delay = item.strip_delay
if(!do_mob(user, source, strip_delay))
if(!do_mob(user, source, strip_delay, hidden = hidden))
return FALSE
return TRUE