From f9e95a2b1d6ad031d4936739769642bd3ab84857 Mon Sep 17 00:00:00 2001
From: Contrabang <91113370+Contrabang@users.noreply.github.com>
Date: Sat, 7 Jun 2025 06:25:01 -0700
Subject: [PATCH] Adds an icon for non-abstract nodrop items (#29452)
---
code/__DEFINES/misc_defines.dm | 2 ++
code/_onclick/hud/screen_objects.dm | 30 +++++++++++-------
code/datums/outfits/outfit_admin.dm | 2 +-
code/datums/spells/horsemask.dm | 3 +-
.../miniantags/abduction/abduction_gear.dm | 2 +-
.../miniantags/abduction/abduction_outfits.dm | 2 +-
code/game/gamemodes/wizard/spellbook.dm | 3 +-
code/game/objects/effects/mines.dm | 3 +-
code/game/objects/items.dm | 12 +++++++
.../items/devices/radio/electropack.dm | 2 +-
code/game/objects/items/his_grace.dm | 12 +++----
code/game/objects/items/weapons/RCD.dm | 10 +++---
.../items/weapons/grenades/syndieminibomb.dm | 2 +-
.../objects/items/weapons/holy_weapons.dm | 2 +-
.../objects/items/weapons/knuckledusters.dm | 6 ++--
code/game/objects/items/weapons/powerfist.dm | 5 ++-
.../objects/items/weapons/storage/backpack.dm | 4 +--
code/game/objects/items/weapons/twohanded.dm | 8 ++---
.../powers/flayer_weapon_powers.dm | 4 ++-
code/modules/clothing/masks/misc_masks.dm | 6 ++--
.../clothing/spacesuits/alien_suits.dm | 6 ++--
.../modules/clothing/spacesuits/chronosuit.dm | 8 ++---
code/modules/customitems/item_defines.dm | 2 +-
.../mining/lavaland/necropolis_chests.dm | 10 +++---
.../living/carbon/alien/special/facehugger.dm | 4 +--
.../living/carbon/human/human_inventory.dm | 2 ++
code/modules/mob/living/carbon/superheroes.dm | 6 ++--
.../mob/living/silicon/robot/robot_modules.dm | 4 +--
.../simple_animal/hostile/floorcluwne.dm | 2 +-
code/modules/mod/mod_activation.dm | 4 +--
code/modules/ninja/suit/ninja_suit.dm | 20 ++++++------
code/modules/surgery/organs/augments_arms.dm | 2 +-
.../surgery/organs/augments_internal.dm | 8 ++---
.../organs/subtypes/standard_organs.dm | 2 +-
icons/mob/screen_midnight.dmi | Bin 30736 -> 30886 bytes
35 files changed, 114 insertions(+), 86 deletions(-)
diff --git a/code/__DEFINES/misc_defines.dm b/code/__DEFINES/misc_defines.dm
index 1c29b183f14..9b96625c553 100644
--- a/code/__DEFINES/misc_defines.dm
+++ b/code/__DEFINES/misc_defines.dm
@@ -760,3 +760,5 @@ do { \
#define DIRECT_EXPLOSIVE_TRAP_DEFUSE 1
#define DIRECT_EXPLOSIVE_TRAP_IGNORE 2
+
+#define NODROP_TOGGLE "toggle"
diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm
index b681bff4925..ff3ac8eccad 100644
--- a/code/_onclick/hud/screen_objects.dm
+++ b/code/_onclick/hud/screen_objects.dm
@@ -460,22 +460,30 @@
. = ..()
if(!handcuff_overlay)
var/state = (slot_id == ITEM_SLOT_RIGHT_HAND) ? "markus" : "gabrielle"
- handcuff_overlay = image("icon"='icons/mob/screen_gen.dmi', "icon_state"=state)
+ handcuff_overlay = image(icon = 'icons/mob/screen_gen.dmi', icon_state = state)
- if(hud && hud.mymob)
- if(iscarbon(hud.mymob))
- var/mob/living/carbon/C = hud.mymob
- if(C.handcuffed)
- . += handcuff_overlay
+ if(!hud || !hud.mymob)
+ return
- var/obj/item/organ/external/hand = C.get_organ("[slot_id == ITEM_SLOT_LEFT_HAND ? "l" : "r"]_hand")
- if(!isalien(C) && (!hand || !hand.is_usable()))
- . += blocked_overlay
+ if(iscarbon(hud.mymob))
+ var/mob/living/carbon/C = hud.mymob
+ if(C.handcuffed)
+ . += handcuff_overlay
- if(slot_id == ITEM_SLOT_LEFT_HAND && hud.mymob.hand)
+ var/obj/item/organ/external/hand = C.get_organ("[slot_id == ITEM_SLOT_LEFT_HAND ? "l" : "r"]_hand")
+ if(!isalien(C) && (!hand || !hand.is_usable()))
+ . += blocked_overlay
+
+ if(slot_id == ITEM_SLOT_LEFT_HAND)
+ if(hud.mymob.hand)
. += "hand_active"
- else if(slot_id == ITEM_SLOT_RIGHT_HAND && !hud.mymob.hand)
+ if(hud.mymob.l_hand && (hud.mymob.l_hand.flags & NODROP) && !(hud.mymob.l_hand.flags & ABSTRACT))
+ . += "locked_l"
+ else if(slot_id == ITEM_SLOT_RIGHT_HAND)
+ if(!hud.mymob.hand)
. += "hand_active"
+ if(hud.mymob.r_hand && (hud.mymob.r_hand?.flags & NODROP) && !(hud.mymob.r_hand.flags & ABSTRACT))
+ . += "locked"
/atom/movable/screen/inventory/hand/Click()
// At this point in client Click() code we have passed the 1/10 sec check and little else
diff --git a/code/datums/outfits/outfit_admin.dm b/code/datums/outfits/outfit_admin.dm
index c4a1e86f7e6..402c344775a 100644
--- a/code/datums/outfits/outfit_admin.dm
+++ b/code/datums/outfits/outfit_admin.dm
@@ -1414,7 +1414,7 @@
B.desc = "Sometimes, someone's just gotta die."
var/obj/item/radio/headset/R = H.l_ear
if(istype(R))
- R.flags |= NODROP
+ R.set_nodrop(TRUE, H)
/datum/outfit/admin/honksquad
name = "Honksquad"
diff --git a/code/datums/spells/horsemask.dm b/code/datums/spells/horsemask.dm
index 4e5e5e26ca1..495072f25fd 100644
--- a/code/datums/spells/horsemask.dm
+++ b/code/datums/spells/horsemask.dm
@@ -35,7 +35,8 @@
return FALSE
var/obj/item/clothing/mask/horsehead/magichead = new /obj/item/clothing/mask/horsehead
- magichead.flags |= NODROP | DROPDEL //curses!
+ magichead.flags |= DROPDEL //curses!
+ magichead.set_nodrop(TRUE)
magichead.flags_inv = null //so you can still see their face
magichead.voicechange = TRUE //NEEEEIIGHH
target.visible_message( "[target]'s face lights up in fire, and after the event a horse's head takes its place!", \
diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
index 69b2ea4c582..390b06419a7 100644
--- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
+++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
@@ -85,7 +85,7 @@ CONTENTS:
combat_armor = getArmor(arglist(combat_armor))
/obj/item/clothing/suit/armor/abductor/vest/proc/toggle_nodrop()
- flags ^= NODROP
+ set_nodrop(NODROP_TOGGLE, loc)
if(ismob(loc))
to_chat(loc, "Your vest is now [flags & NODROP ? "locked" : "unlocked"].")
diff --git a/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm b/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm
index e4c4a7bed44..3bd60abf240 100644
--- a/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm
+++ b/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm
@@ -23,7 +23,7 @@
var/obj/item/clothing/suit/armor/abductor/vest/V = locate() in H
if(V)
console.vest = V
- V.flags |= NODROP
+ V.set_nodrop(TRUE, H)
var/obj/item/abductor/gizmo/G = locate() in H.get_item_by_slot(ITEM_SLOT_BACK)
if(G)
diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm
index 9851f7f41af..d3de73df9bf 100644
--- a/code/game/gamemodes/wizard/spellbook.dm
+++ b/code/game/gamemodes/wizard/spellbook.dm
@@ -1109,7 +1109,8 @@
if(ishuman(user))
to_chat(user, "HOR-SIE HAS RISEN")
var/obj/item/clothing/mask/horsehead/magichead = new /obj/item/clothing/mask/horsehead
- magichead.flags |= NODROP | DROPDEL //curses!
+ magichead.flags |= DROPDEL //curses!
+ magichead.set_nodrop(TRUE, magichead.loc)
magichead.flags_inv = null //so you can still see their face
magichead.voicechange = TRUE //NEEEEIIGHH
if(!user.drop_item_to_ground(user.wear_mask))
diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm
index 01c71c99980..328f2781ab3 100644
--- a/code/game/objects/effects/mines.dm
+++ b/code/game/objects/effects/mines.dm
@@ -144,7 +144,8 @@
new /obj/effect/hallucination/delusion(get_turf(victim), victim, 'icons/mob/mob.dmi', "daemon")
var/obj/item/chainsaw/doomslayer/chainsaw = new(victim.loc)
- chainsaw.flags |= NODROP | DROPDEL
+ chainsaw.flags |= DROPDEL
+ chainsaw.set_nodrop(TRUE, victim)
victim.drop_l_hand()
victim.drop_r_hand()
victim.put_in_hands(chainsaw)
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 7b420407f2c..3161a02f1ea 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -1068,3 +1068,15 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
/// Changes the speech verb when wearing this item if a value is returned
/obj/item/proc/change_speech_verb()
return
+
+/obj/item/proc/set_nodrop(set_value, user)
+ switch(set_value)
+ if(TRUE)
+ flags |= NODROP
+ if(FALSE)
+ flags &= ~NODROP
+ if(NODROP_TOGGLE)
+ flags ^= NODROP
+ if(iscarbon(user))
+ var/mob/living/carbon/C = user
+ C.update_hands_hud()
diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm
index d8ba0c62e12..201800e75b4 100644
--- a/code/game/objects/items/devices/radio/electropack.dm
+++ b/code/game/objects/items/devices/radio/electropack.dm
@@ -63,7 +63,7 @@
user.put_in_hands(A)
A.add_fingerprint(user)
if(src.flags & NODROP)
- A.flags |= NODROP
+ A.set_nodrop(TRUE)
/obj/item/electropack/proc/handle_shock()
diff --git a/code/game/objects/items/his_grace.dm b/code/game/objects/items/his_grace.dm
index d96bed6ad47..1b6ec5fce8f 100644
--- a/code/game/objects/items/his_grace.dm
+++ b/code/game/objects/items/his_grace.dm
@@ -144,7 +144,7 @@
do_attack_animation(master, used_item = src)
master.emote("scream")
master.remove_status_effect(STATUS_EFFECT_HISGRACE)
- flags &= ~NODROP
+ set_nodrop(FALSE, master)
master.Weaken(6 SECONDS)
master.adjustBruteLoss(1000)
playsound(master, 'sound/effects/splat.ogg', 100, FALSE)
@@ -251,25 +251,25 @@
update_stats()
/obj/item/his_grace/proc/update_stats()
+ var/mob/living/master = get_atom_on_turf(src, /mob/living)
if(ascended) // Ascended is set to a specific bloodthirst anyways
force = initial(force) + force_bonus
- flags |= NODROP
+ set_nodrop(TRUE, master)
return
- flags &= ~NODROP
- var/mob/living/master = get_atom_on_turf(src, /mob/living)
+ set_nodrop(FALSE, master)
switch(bloodthirst)
if(HIS_GRACE_CONSUME_OWNER to HIS_GRACE_FALL_ASLEEP)
if(HIS_GRACE_CONSUME_OWNER > prev_bloodthirst)
master.visible_message("[src] enters a frenzy!")
if(HIS_GRACE_STARVING to HIS_GRACE_CONSUME_OWNER)
- flags |= NODROP
+ set_nodrop(TRUE, master)
if(HIS_GRACE_STARVING > prev_bloodthirst)
master.visible_message("[src] is starving!", "[src]'s bloodlust overcomes you. [src] must be fed, or you will become His meal.\
[force_bonus < 15 ? " And still, His power grows.":""]")
force_bonus = max(force_bonus, 15)
if(HIS_GRACE_FAMISHED to HIS_GRACE_STARVING)
- flags |= NODROP
+ set_nodrop(TRUE, master)
if(HIS_GRACE_FAMISHED > prev_bloodthirst)
master.visible_message("[src] is very hungry!", "Spines sink into your hand. [src] must feed immediately.\
[force_bonus < 10 ? " His power grows.":""]")
diff --git a/code/game/objects/items/weapons/RCD.dm b/code/game/objects/items/weapons/RCD.dm
index ec2cedef256..4d2a3a50c62 100644
--- a/code/game/objects/items/weapons/RCD.dm
+++ b/code/game/objects/items/weapons/RCD.dm
@@ -349,26 +349,26 @@
/obj/item/rcd/suicide_act(mob/living/user)
user.Immobilize(10 SECONDS) // You cannot move.
- flags |= NODROP // You cannot drop. You commit to die.
+ set_nodrop(TRUE, user)
if(mode == MODE_DECON)
user.visible_message("[user] points [src] at [user.p_their()] chest and pulls the trigger. It looks like [user.p_theyre()] trying to commit suicide!")
var/datum/rcd_act/remove_user/act = new()
if(!act.try_act(user, src, user))
- flags &= ~NODROP
+ set_nodrop(FALSE, user)
return SHAME
user.visible_message("[user] deconstructs [user.p_themselves()] with [src]!")
for(var/obj/item/W in user) // Do not delete all their stuff.
user.drop_item_to_ground(W) // Dump everything on the floor instead.
- flags &= ~NODROP // NODROP must be removed so the RCD doesn't get dusted along with them. Having this come after the unequipping puts the RCD on top of the pile of stuff.
+ set_nodrop(FALSE, user)
user.dust() // (held items fall to the floor when dusting).
return OBLITERATION
user.visible_message("[user] puts the barrel of [src] into [user.p_their()] mouth and pulls the trigger. It looks like [user.p_theyre()] trying to commit suicide!")
if(!interact_with_atom(get_turf(src), user, TRUE))
- flags &= ~NODROP
+ set_nodrop(FALSE, user)
return SHAME
user.visible_message("[user] explodes as [src] builds a structure inside [user.p_them()]!")
- flags &= ~NODROP
+ set_nodrop(FALSE, user)
user.gib()
return OBLITERATION
diff --git a/code/game/objects/items/weapons/grenades/syndieminibomb.dm b/code/game/objects/items/weapons/grenades/syndieminibomb.dm
index 642463b50c0..a98842e30ca 100644
--- a/code/game/objects/items/weapons/grenades/syndieminibomb.dm
+++ b/code/game/objects/items/weapons/grenades/syndieminibomb.dm
@@ -23,7 +23,7 @@
/obj/item/grenade/syndieminibomb/fake/attack_self__legacy__attackchain(mob/user)
if(!active)
- flags |= NODROP
+ set_nodrop(TRUE, user)
to_chat(user, "As you activate the bomb, it emits a substance that sticks to your hand! It won't come off!")
to_chat(user, "Uh oh.")
. = ..()
diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm
index a1247748398..f6e550203dc 100644
--- a/code/game/objects/items/weapons/holy_weapons.dm
+++ b/code/game/objects/items/weapons/holy_weapons.dm
@@ -114,7 +114,7 @@
icon_state = "disintegrate"
item_state = "disintegrate"
desc = "This hand of yours glows with an awesome power!"
- flags = ABSTRACT | NODROP| DROPDEL
+ flags = ABSTRACT | NODROP | DROPDEL
w_class = WEIGHT_CLASS_HUGE
hitsound = 'sound/weapons/sear.ogg'
damtype = BURN
diff --git a/code/game/objects/items/weapons/knuckledusters.dm b/code/game/objects/items/weapons/knuckledusters.dm
index 7d2d6d57ed1..c5a0c744662 100644
--- a/code/game/objects/items/weapons/knuckledusters.dm
+++ b/code/game/objects/items/weapons/knuckledusters.dm
@@ -23,18 +23,18 @@
if(!gripped)
gripped = TRUE
to_chat(user, "You tighten your grip on [src], ensuring you won't drop it.")
- flags |= NODROP
+ set_nodrop(TRUE, user)
ADD_TRAIT(src, TRAIT_SKIP_EXAMINE, "knuckledusters")
else
gripped = FALSE
to_chat(user, "You relax your grip on [src].")
- flags &= ~NODROP
+ set_nodrop(FALSE, user)
REMOVE_TRAIT(src, TRAIT_SKIP_EXAMINE, "knuckledusters")
/obj/item/melee/knuckleduster/dropped(mob/user, silent)
. = ..()
gripped = FALSE
- flags &= ~NODROP
+ set_nodrop(FALSE, user)
REMOVE_TRAIT(src, TRAIT_SKIP_EXAMINE, "knuckledusters")
/obj/item/melee/knuckleduster/attack__legacy__attackchain(mob/living/target, mob/living/user)
diff --git a/code/game/objects/items/weapons/powerfist.dm b/code/game/objects/items/weapons/powerfist.dm
index 14367dd26ef..ccded486268 100644
--- a/code/game/objects/items/weapons/powerfist.dm
+++ b/code/game/objects/items/weapons/powerfist.dm
@@ -71,7 +71,7 @@
to_chat(user, "[src] currently has no tank attached to it.")
return
to_chat(user, "As you detach [thetank] from [src], the fist unlocks.")
- flags &= ~NODROP
+ set_nodrop(FALSE, user)
tank.forceMove(get_turf(user))
user.put_in_hands(tank)
tank = null
@@ -84,8 +84,7 @@
to_chat(user, "As you hook [thetank] up to [src], the fist locks into place around your arm.")
tank = thetank
thetank.forceMove(src)
- flags |= NODROP
-
+ set_nodrop(TRUE, user)
/obj/item/melee/powerfist/attack__legacy__attackchain(mob/living/target, mob/living/user)
if(HAS_TRAIT(user, TRAIT_PACIFISM))
diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm
index fbc328822b8..49c04c97b5e 100644
--- a/code/game/objects/items/weapons/storage/backpack.dm
+++ b/code/game/objects/items/weapons/storage/backpack.dm
@@ -430,7 +430,7 @@
if(zip_time)
slowdown = 1
if(antidrop_on_zip)
- flags ^= NODROP
+ set_nodrop(NODROP_TOGGLE, user)
update_icon(UPDATE_ICON_STATE)
return
@@ -439,7 +439,7 @@
for(var/obj/item/storage/container in src)
container.hide_from_all() // Hide everything inside the bag too
if(antidrop_on_zip)
- flags |= NODROP
+ set_nodrop(TRUE, user)
update_icon(UPDATE_ICON_STATE)
/obj/item/storage/backpack/duffel/update_icon_state()
diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm
index 0007f12082c..84041150bca 100644
--- a/code/game/objects/items/weapons/twohanded.dm
+++ b/code/game/objects/items/weapons/twohanded.dm
@@ -571,10 +571,10 @@
return ..()
/obj/item/butcher_chainsaw/proc/wield() //you can't disarm an active chainsaw, you crazy person.
- flags |= NODROP
+ set_nodrop(TRUE, loc)
/obj/item/butcher_chainsaw/proc/unwield()
- flags &= ~NODROP
+ set_nodrop(FALSE, loc)
// SINGULOHAMMER
/obj/item/singularityhammer
@@ -878,7 +878,7 @@
user.visible_message("[user] deploys [W] from [user.p_their()] wrists in a shower of sparks!", "You deploy [W] from your wrists!", "You hear the shower of sparks!")
user.put_in_hands(W)
on_cooldown = TRUE
- flags |= NODROP
+ set_nodrop(TRUE, user)
addtimer(CALLBACK(src, PROC_REF(reboot)), 2 MINUTES)
if(world.time > next_spark_time)
do_sparks(rand(1,6), 1, loc)
@@ -900,7 +900,7 @@
/obj/item/clothing/gloves/color/black/pyro_claws/proc/reboot()
on_cooldown = FALSE
- flags &= ~NODROP
+ set_nodrop(FALSE, loc)
atom_say("Internal plasma canisters recharged. Gloves sufficiently cooled")
/// Max number of atoms a broom can sweep at once
diff --git a/code/modules/antagonists/mind_flayer/powers/flayer_weapon_powers.dm b/code/modules/antagonists/mind_flayer/powers/flayer_weapon_powers.dm
index 30042c25a7b..d209c4d6b9a 100644
--- a/code/modules/antagonists/mind_flayer/powers/flayer_weapon_powers.dm
+++ b/code/modules/antagonists/mind_flayer/powers/flayer_weapon_powers.dm
@@ -36,7 +36,9 @@
if(!weapon_ref)
create_new_weapon()
- weapon_ref.flags |= (ABSTRACT | NODROP) // Just in case the item doesn't start with both of these, or somehow loses them.
+ // Just in case the item doesn't start with both of these, or somehow loses them.
+ weapon_ref.flags |= ABSTRACT
+ weapon_ref.set_nodrop(TRUE, user)
if(HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || (user.get_active_hand() && !user.drop_item()))
flayer.send_swarm_message("We cannot manifest [weapon_ref] into our active hand...")
diff --git a/code/modules/clothing/masks/misc_masks.dm b/code/modules/clothing/masks/misc_masks.dm
index e21e2be4e3d..dfc4024e7ea 100644
--- a/code/modules/clothing/masks/misc_masks.dm
+++ b/code/modules/clothing/masks/misc_masks.dm
@@ -32,7 +32,7 @@
if(security_lock)
security_lock = FALSE
locked = FALSE
- flags &= ~NODROP
+ set_nodrop(FALSE, loc)
desc += " This one appears to be broken."
return TRUE
else
@@ -46,7 +46,7 @@
else if(ACCESS_BRIG in user.get_access())
to_chat(user, "The muzzle unlocks with a click.")
locked = FALSE
- flags &= ~NODROP
+ set_nodrop(FALSE, loc)
return TRUE
to_chat(user, "You must be wearing a security ID card or have one in your inactive hand to remove the muzzle.")
@@ -55,7 +55,7 @@
/obj/item/clothing/mask/muzzle/proc/do_lock(mob/living/carbon/human/user)
if(security_lock)
locked = TRUE
- flags |= NODROP
+ set_nodrop(TRUE, loc)
return TRUE
return FALSE
diff --git a/code/modules/clothing/spacesuits/alien_suits.dm b/code/modules/clothing/spacesuits/alien_suits.dm
index 972b98a5b3a..e8f7eda45e7 100644
--- a/code/modules/clothing/spacesuits/alien_suits.dm
+++ b/code/modules/clothing/spacesuits/alien_suits.dm
@@ -216,7 +216,7 @@
/obj/item/clothing/shoes/magboots/vox/attack_self__legacy__attackchain(mob/user)
if(magpulse)
- flags &= ~NODROP
+ set_nodrop(FALSE, loc)
to_chat(user, "You relax your deathgrip on the flooring.")
else
//make sure these can only be used when equipped.
@@ -226,7 +226,7 @@
if(H.shoes != src)
to_chat(user, "You will have to put on [src] before you can do that.")
return
- flags |= NODROP //kinda hard to take off magclaws when you are gripping them tightly.
+ set_nodrop(TRUE, loc) //kinda hard to take off magclaws when you are gripping them tightly.
to_chat(user, "You dig your claws deeply into the flooring, bracing yourself.")
to_chat(user, "It would be hard to take off [src] without relaxing your grip first.")
return ..()
@@ -238,7 +238,7 @@
user.visible_message("[src] go limp as they are removed from [usr]'s feet.", "[src] go limp as they are removed from your feet.")
magpulse = FALSE
no_slip = FALSE
- flags &= ~NODROP
+ set_nodrop(FALSE, loc)
/obj/item/clothing/shoes/magboots/vox/examine(mob/user)
. = ..()
diff --git a/code/modules/clothing/spacesuits/chronosuit.dm b/code/modules/clothing/spacesuits/chronosuit.dm
index 5cf6a5446c5..4eade0ff155 100644
--- a/code/modules/clothing/spacesuits/chronosuit.dm
+++ b/code/modules/clothing/spacesuits/chronosuit.dm
@@ -138,9 +138,9 @@
if(user.head && istype(user.head, /obj/item/clothing/head/helmet/space/chronos))
to_chat(user, "\[ ok \] Mounting /dev/helmet")
helmet = user.head
- helmet.flags |= NODROP
+ helmet.set_nodrop(TRUE, loc)
helmet.suit = src
- flags |= NODROP
+ set_nodrop(TRUE, loc)
to_chat(user, "\[ ok \] Starting brainwave scanner")
to_chat(user, "\[ ok \] Starting ui display driver")
to_chat(user, "\[ ok \] Initializing chronowalk4-view")
@@ -169,11 +169,11 @@
to_chat(user, "\[ ok \] Stopping ui display driver")
to_chat(user, "\[ ok \] Stopping brainwave scanner")
to_chat(user, "\[ ok \] Unmounting /dev/helmet")
- helmet.flags &= ~NODROP
+ helmet.set_nodrop(FALSE, loc)
helmet.suit = null
helmet = null
to_chat(user, "logout")
- flags &= ~NODROP
+ set_nodrop(FALSE, loc)
cooldown = world.time + cooldowntime * 1.5
activated = FALSE
activating = FALSE
diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm
index 60c558837e2..d0e15704a1f 100644
--- a/code/modules/customitems/item_defines.dm
+++ b/code/modules/customitems/item_defines.dm
@@ -269,7 +269,7 @@
C.name = "Sax"
C.real_name = "Sax"
var/obj/item/clothing/head/det_hat/D = new
- D.flags |= NODROP
+ D.set_nodrop(TRUE, loc)
C.place_on_head(D)
C.visible_message("[C] suddenly winks into existence at [user]'s feet!")
to_chat(user, "[src] crumbles to dust in your hands!")
diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm
index 2539e98ed35..aa7d9b32143 100644
--- a/code/modules/mining/lavaland/necropolis_chests.dm
+++ b/code/modules/mining/lavaland/necropolis_chests.dm
@@ -264,8 +264,8 @@
user.next_move_modifier *= BERSERK_ATTACK_SPEED_MODIFIER
user.add_atom_colour(BERSERK_COLOUR, TEMPORARY_COLOUR_PRIORITY)
ADD_TRAIT(user, TRAIT_CHUNKYFINGERS, BERSERK_TRAIT)
- flags |= NODROP
- suit.flags |= NODROP
+ set_nodrop(TRUE)
+ suit.set_nodrop(TRUE, loc)
berserk_active = TRUE
START_PROCESSING(SSobj, src)
@@ -284,8 +284,8 @@
user.next_move_modifier /= BERSERK_ATTACK_SPEED_MODIFIER
user.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, BERSERK_COLOUR)
REMOVE_TRAIT(user, TRAIT_CHUNKYFINGERS, BERSERK_TRAIT)
- flags &= ~NODROP
- suit.flags &= ~NODROP
+ set_nodrop(FALSE)
+ suit.set_nodrop(FALSE)
STOP_PROCESSING(SSobj, src)
/datum/action/item_action/berserk_mode
@@ -396,7 +396,7 @@
qdel(src) // Oh no! Oh well a new rod will be made from the STATUS_EFFECT_HIPPOCRATIC_OATH
return
- flags |= NODROP // Readd the nodrop
+ set_nodrop(TRUE, loc)
var/mob/living/carbon/human/H = owner
var/limb_regrown = FALSE
diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm
index 886d2cc1c0c..1ceba7a3ee4 100644
--- a/code/modules/mob/living/carbon/alien/special/facehugger.dm
+++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm
@@ -139,7 +139,7 @@
target.equip_to_slot_if_possible(src, ITEM_SLOT_MASK, FALSE, TRUE)
if(!sterile)
M.KnockDown(impregnation_time + 2 SECONDS)
- flags |= NODROP //You can't take it off until it dies... or figures out you're an IPC.
+ set_nodrop(TRUE, loc) //You can't take it off until it dies... or figures out you're an IPC.
GoIdle() //so it doesn't jump the people that tear it off
var/obj/structure/bed/nest/our_nest = M.buckled
@@ -149,7 +149,7 @@
return TRUE
/obj/item/clothing/mask/facehugger/proc/Impregnate(mob/living/target)
- flags &= ~NODROP
+ set_nodrop(FALSE, loc)
if(!target || target.stat == DEAD || loc != target) //was taken off or something
return
diff --git a/code/modules/mob/living/carbon/human/human_inventory.dm b/code/modules/mob/living/carbon/human/human_inventory.dm
index 1825b2b79de..3151948540b 100644
--- a/code/modules/mob/living/carbon/human/human_inventory.dm
+++ b/code/modules/mob/living/carbon/human/human_inventory.dm
@@ -244,9 +244,11 @@
if(ITEM_SLOT_LEFT_HAND)
l_hand = I
update_inv_l_hand()
+ update_hands_hud()
if(ITEM_SLOT_RIGHT_HAND)
r_hand = I
update_inv_r_hand()
+ update_hands_hud()
if(ITEM_SLOT_BELT)
belt = I
update_inv_belt()
diff --git a/code/modules/mob/living/carbon/superheroes.dm b/code/modules/mob/living/carbon/superheroes.dm
index 62488b8113e..a4c5d79aeff 100644
--- a/code/modules/mob/living/carbon/superheroes.dm
+++ b/code/modules/mob/living/carbon/superheroes.dm
@@ -20,7 +20,7 @@
/datum/superheroes/proc/fixflags(mob/living/carbon/human/H)
for(var/obj/item/W in H.get_all_slots())
- W.flags |= NODROP
+ W.set_nodrop(TRUE, H)
/datum/superheroes/proc/assign_mutations(mob/living/carbon/human/H)
var/list/default_mutations = list(GLOB.regenerateblock, GLOB.breathlessblock, GLOB.coldblock)
@@ -51,7 +51,7 @@
W.icon_state = "lifetimeid"
W.SetOwnerInfo(H)
W.UpdateName()
- W.flags |= NODROP
+ W.set_nodrop(TRUE, H)
H.equip_to_slot_or_del(W, ITEM_SLOT_ID)
H.regenerate_icons()
@@ -233,7 +233,7 @@
W.access = list(ACCESS_MAINT_TUNNELS)
W.assignment = "Greyshirt"
W.rank = "Greyshirt"
- W.flags |= NODROP
+ W.set_nodrop(TRUE, W.loc)
W.SetOwnerInfo(target)
W.UpdateName()
target.equip_to_slot_or_del(W, ITEM_SLOT_ID)
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index eccf45bb928..430020ae3b3 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -138,7 +138,7 @@
/obj/item/robot_module/proc/fix_modules()
for(var/item in modules)
var/obj/item/I = item
- I.flags |= NODROP
+ I.set_nodrop(TRUE)
I.mouse_opacity = MOUSE_OPACITY_OPAQUE
/**
@@ -184,7 +184,7 @@
I.forceMove(src)
modules += I
- I.flags |= NODROP
+ I.set_nodrop(TRUE)
I.mouse_opacity = MOUSE_OPACITY_OPAQUE
if(requires_rebuild)
diff --git a/code/modules/mob/living/simple_animal/hostile/floorcluwne.dm b/code/modules/mob/living/simple_animal/hostile/floorcluwne.dm
index 4a98a04f254..b34931c644d 100644
--- a/code/modules/mob/living/simple_animal/hostile/floorcluwne.dm
+++ b/code/modules/mob/living/simple_animal/hostile/floorcluwne.dm
@@ -49,7 +49,7 @@
remove_from_all_data_huds()
var/obj/item/card/id/access_card = new (src)
access_card.access = get_all_accesses()//THERE IS NO ESCAPE
- access_card.flags |= NODROP
+ access_card.set_nodrop(TRUE)
invalid_area_typecache = typecacheof(invalid_area_typecache)
Manifest()
if(!current_victim)
diff --git a/code/modules/mod/mod_activation.dm b/code/modules/mod/mod_activation.dm
index 5a6c859b50e..9c79a976548 100644
--- a/code/modules/mod/mod_activation.dm
+++ b/code/modules/mod/mod_activation.dm
@@ -81,7 +81,7 @@
overslot.forceMove(part)
RegisterSignal(part, COMSIG_ATOM_EXITED, PROC_REF(on_overslot_exit))
if(wearer.equip_to_slot_if_possible(part, part.slot_flags, disable_warning = TRUE))
- part.flags |= NODROP
+ part.set_nodrop(TRUE)
if(mass)
return TRUE
wearer.visible_message("[wearer]'s [part.name] deploy[part.p_s()] with a mechanical hiss.",
@@ -103,7 +103,7 @@
return FALSE
to_chat(user, "You already have retracted there!")
playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE)
- part.flags &= ~NODROP
+ part.set_nodrop(FALSE)
wearer.transfer_item_to(part, src, force = TRUE)
if(overslotting_parts[part])
UnregisterSignal(part, COMSIG_ATOM_EXITED)
diff --git a/code/modules/ninja/suit/ninja_suit.dm b/code/modules/ninja/suit/ninja_suit.dm
index b5ee1aedda7..b9cd1dbdff3 100644
--- a/code/modules/ninja/suit/ninja_suit.dm
+++ b/code/modules/ninja/suit/ninja_suit.dm
@@ -55,12 +55,12 @@ Contents:
suitShoes = user.shoes
suitOccupant = user
- flags |= NODROP
- suitHood.flags |= NODROP
- suitMask.flags |= NODROP
- suitGloves.flags |= NODROP
+ set_nodrop(TRUE)
+ suitHood.set_nodrop(TRUE)
+ suitMask.set_nodrop(TRUE)
+ suitGloves.set_nodrop(TRUE)
suitGloves.pickpocket = 1
- suitShoes.flags |= NODROP
+ suitShoes.set_nodrop(TRUE)
suitShoes.slowdown = -2
icon_state = (user.gender == MALE ? "s-ninjan" : "s-ninjanf")
@@ -70,12 +70,12 @@ Contents:
return 1
else
- flags &= ~NODROP
- suitHood.flags &= ~NODROP
- suitMask.flags &= ~NODROP
- suitGloves.flags &= ~NODROP
+ set_nodrop(FALSE)
+ suitHood.set_nodrop(FALSE)
+ suitMask.set_nodrop(FALSE)
+ suitGloves.set_nodrop(FALSE)
suitGloves.pickpocket = 0
- suitShoes.flags &= ~NODROP
+ suitShoes.set_nodrop(FALSE)
suitShoes.slowdown = -1
icon_state = "s-ninja"
suitGloves.icon_state = "s-ninja"
diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm
index 3f285725ee2..64aa4c7691e 100644
--- a/code/modules/surgery/organs/augments_arms.dm
+++ b/code/modules/surgery/organs/augments_arms.dm
@@ -107,7 +107,7 @@
holder = item
- holder.flags |= NODROP
+ holder.set_nodrop(TRUE, owner)
holder.resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
holder.slot_flags = null
holder.w_class = WEIGHT_CLASS_HUGE
diff --git a/code/modules/surgery/organs/augments_internal.dm b/code/modules/surgery/organs/augments_internal.dm
index 7af4cdbc63b..4b14d50ae79 100644
--- a/code/modules/surgery/organs/augments_internal.dm
+++ b/code/modules/surgery/organs/augments_internal.dm
@@ -62,14 +62,14 @@
if(owner.l_hand.flags & NODROP)
l_hand_ignore = TRUE
else
- owner.l_hand.flags |= NODROP
+ owner.l_hand.set_nodrop(TRUE, owner)
l_hand_ignore = FALSE
if(r_hand_obj)
if(owner.r_hand.flags & NODROP)
r_hand_ignore = TRUE
else
- owner.r_hand.flags |= NODROP
+ owner.r_hand.set_nodrop(TRUE, owner)
r_hand_ignore = FALSE
if(!l_hand_obj && !r_hand_obj)
@@ -116,9 +116,9 @@
/obj/item/organ/internal/cyberimp/brain/anti_drop/proc/release_items()
active = FALSE
if(!l_hand_ignore && l_hand_obj)
- l_hand_obj.flags &= ~NODROP
+ l_hand_obj.set_nodrop(FALSE, owner)
if(!r_hand_ignore && r_hand_obj)
- r_hand_obj.flags &= ~NODROP
+ r_hand_obj.set_nodrop(FALSE, owner)
/obj/item/organ/internal/cyberimp/brain/anti_drop/remove(mob/living/carbon/M, special = 0)
if(active)
diff --git a/code/modules/surgery/organs/subtypes/standard_organs.dm b/code/modules/surgery/organs/subtypes/standard_organs.dm
index 83073b689fc..91a1ae4424c 100644
--- a/code/modules/surgery/organs/subtypes/standard_organs.dm
+++ b/code/modules/surgery/organs/subtypes/standard_organs.dm
@@ -210,7 +210,7 @@
/obj/item/organ/external/hand/proc/update_hand_missing()
// we need to come back to this once the hand is actually removed/dead
- if(!owner) // Rather not have this trigger on already remove limbs
+ if(!owner) // Rather not have this trigger on already removed limbs
return
addtimer(CALLBACK(owner, TYPE_PROC_REF(/mob/living/carbon/human, update_hands_hud), 0))
diff --git a/icons/mob/screen_midnight.dmi b/icons/mob/screen_midnight.dmi
index 1278f0263525f26e862de21b0bb58e19ede335a0..b22e6afe042e0b5fb3f5f22e4b7b36fd1640b9aa 100644
GIT binary patch
literal 30886
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
literal 30736
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
z
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